CMathRemap: Difference between revisions

From SigMod
Jump to navigation Jump to search
No edit summary
No edit summary
Line 4: Line 4:
For example, here are values used to scale an input:
For example, here are values used to scale an input:


* Input min (m_flInMin) - 0
* Input min (m_flInMin)    - 0
* Input max (m_flInMax)   - 10
* Input max (m_flInMax)   - 10
* Output min (m_flOut1)  - 0
* Output min (m_flOut1)  - 0

Revision as of 18:15, 10 July 2022

Overview

Accepts an input value which is remapped from it's relationship with the internal min and max input values, to a correlating relationship with the internal min and max output values.

For example, here are values used to scale an input:

  • Input min (m_flInMin)    - 0
  • Input max (m_flInMax)   - 10
  • Output min (m_flOut1)  - 0
  • Output max (m_flOut2) - 100

Sending an InValue of 5 will result in an OutValue of 50, an InValue of 10 will produce an OutValue of 100, etc.

float flRemappedValue = m_flOut1 + (((flValue - m_flInMin) * (m_flOut2 - m_flOut1)) / (m_flInMax - m_flInMin));


Source location : /game/server/logicentities.cpp

Linked Entity : math_remap

Class Structure

Entity DataMaps

CMathRemap
Name Type Description
InputDisable
InputEnable
InputValue
m_OutValue
m_bEnabled
m_flInMax
m_flInMin
m_flOut1
m_flOut2