I find the documentation for FMath::GetMappedRangeValueClamped() confusing, as it mentions the following:
/** For the given Value clamped to the [Input:Range] inclusive, returns the corresponding percentage in [Output:Range] Inclusive. */
static FORCEINLINE float GetMappedRangeValueClamped(const FVector2D& InputRange, const FVector2D& OutputRange, const float Value)
{
const float ClampedPct = Clamp<float>(GetRangePct(InputRange, Value), 0.f, 1.f);
return GetRangeValue(OutputRange, ClampedPct);
}
However, the function’s body shows that it returns the value of the percentage from OutputRange, which is calculated from the Value within InputRange.
Or am I just misunderstanding the comment?
I consider FMath::GetMappedRangeValueUnclamped()'s documentation to be superior, even though it’s poorly capitalized:
/** Transform the given Value relative to the input range to the Output Range. */