147 return a.Distance < b.Distance;
188 return value < point.Distance;
203 t = std::clamp(
t, 0.0f, 1.0f);
EType
Definition Curves.h:39
Definition AcousticMaterial.h:36
AttenuationModel
Definition DistanceAttenuation.h:33
@ None
Definition DistanceAttenuation.h:34
@ Linear
Definition DistanceAttenuation.h:36
@ Inverse
Definition DistanceAttenuation.h:35
@ _Count
Definition DistanceAttenuation.h:39
@ Exponential
Definition DistanceAttenuation.h:37
std::pmr::memory_resource * GetDefaultMemoryResource() noexcept
Definition Memory.h:42
JPL_INLINE simd min(const simd &a, const simd &b) noexcept
Element-wise min.
Definition SIMD.h:1813
Definition DistanceAttenuation.h:59
float Rolloff
Definition DistanceAttenuation.h:62
float MaxDistance
Definition DistanceAttenuation.h:61
float MinDistance
Definition DistanceAttenuation.h:60
Definition DistanceAttenuation.h:56
JPL_INLINE float Evaluate(float distance) const final
Definition DistanceAttenuation.h:65
AttenuationModel Model
Definition DistanceAttenuation.h:57
struct JPL::AttenuationBaseModel::DistanceAttenuationParameters Parameters
Definition DistanceAttenuation.h:124
float Distance
Definition DistanceAttenuation.h:130
float Value
Definition DistanceAttenuation.h:131
Curve::Point XY
Definition DistanceAttenuation.h:127
Curve::EType FunctionType
The function type to use from this point onward.
Definition DistanceAttenuation.h:136
Definition DistanceAttenuation.h:122
JPL_INLINE float Evaluate(float distance) const final
Evaluate curve at distance
Definition DistanceAttenuation.h:164
std::pmr::vector< Point > Points
Curve points that should sorted by distance.
Definition DistanceAttenuation.h:140
JPL_INLINE void SortPoints()
Sort curve points by distance. This should be called after changing Points.
Definition DistanceAttenuation.h:143
Definition DistanceAttenuation.h:43
virtual ~AttenuationFunction()=default
virtual float Evaluate(float distance) const =0