#include <kfcurve.h>
Definition at line 313 of file kfcurve.h.
Public Member Functions | |
| KFCurveKey () | |
| void | Set (KTime pTime, kFCurveDouble pValue, kFCurveInterpolation pInterpolation=KFCURVE_INTERPOLATION_CUBIC, kFCurveTangeantMode pTangentMode=KFCURVE_TANGEANT_AUTO, kFCurveDouble pData0=0.0, kFCurveDouble pData1=0.0, kFCurveTangeantWeightMode pTangentWeightMode=KFCURVE_WEIGHTED_NONE, kFCurveDouble pWeight0=KFCURVE_DEFAULT_WEIGHT, kFCurveDouble pWeight1=KFCURVE_DEFAULT_WEIGHT, kFCurveDouble pVelocity0=KFCURVE_DEFAULT_VELOCITY, kFCurveDouble pVelocity1=KFCURVE_DEFAULT_VELOCITY) |
| Set a key. | |
| void | SetTCB (KTime pTime, kFCurveDouble pValue, float pData0=0.0f, float pData1=0.0f, float pData2=0.0f) |
| Set a key with cubic interpolation, TCB tangent mode. | |
| void | Set (KFCurveKey &pSource) |
| Key assignment. | |
| kFCurveInterpolation | GetInterpolation () |
| Get key interpolation type. | |
| void | SetInterpolation (kFCurveInterpolation pInterpolation) |
| Set key interpolation type. | |
| kFCurveConstantMode | GetConstantMode () |
| Get key constant mode. | |
| kFCurveTangeantMode | GetTangeantMode (bool pIncludeOverrides=false) |
| Get key tangent mode. | |
| kFCurveTangeantWeightMode | GetTangeantWeightMode () |
| Get key tangent weight mode. | |
| kFCurveTangeantVelocityMode | GetTangeantVelocityMode () |
| Get key tangent velocity mode. | |
| void | SetConstantMode (kFCurveConstantMode pMode) |
| Set key constant mode. | |
| void | SetTangeantMode (kFCurveTangeantMode pTangent) |
| Set key tangent mode. | |
| void | SetTangeantWeightMode (kFCurveTangeantWeightMode pTangentWeightMode, kFCurveTangeantWeightMode pMask=KFCURVE_WEIGHTED_ALL) |
| Set key tangent weight mode as double value (cubic interpolation, non TCB tangent mode). | |
| void | SetTangeantVelocityMode (kFCurveTangeantVelocityMode pTangentVelocityMode, kFCurveTangeantVelocityMode pMask=KFCURVE_VELOCITY_ALL) |
| Set key tangent velocity mode as double value (cubic interpolation, non TCB tangent mode). | |
| kFCurveDouble | GetDataDouble (EKFCurveDataIndex pIndex) |
| Get key data as double value (cubic interpolation, non TCB tangent mode). | |
| void | SetDataDouble (EKFCurveDataIndex pIndex, kFCurveDouble pValue) |
| Set data as double value (cubic interpolation, non TCB tangent mode). | |
| float | GetDataFloat (EKFCurveDataIndex pIndex) |
| Get key data as float value (cubic interpolation, TCB tangent mode). | |
| void | SetDataFloat (EKFCurveDataIndex pIndex, float pValue) |
| Set data as float value (cubic interpolation, TCB tangent mode). | |
| float * | GetDataPtr () |
| Get key data as a pointer Warning: not supported in 'double' mode. | |
| kFCurveDouble | GetValue () |
| Get key value. | |
| void | SetValue (kFCurveDouble pValue) |
| Set key value. | |
| void | IncValue (kFCurveDouble pValue) |
| Increment key value. | |
| void | MultValue (kFCurveDouble pValue) |
| Multiply key value. | |
| void | MultTangeant (kFCurveDouble pValue) |
| Multiply key tangents. | |
| KTime | GetTime () |
| Get key time. | |
| void | SetTime (KTime pTime) |
| Set key time. | |
| void | IncTime (KTime pTime) |
| Increment key time. | |
| void | SetSelected (bool pSelected) |
| Set if key is currently selected. | |
| bool | GetSelected () |
| Return if key is currently selected. | |
| void | SetMarkedForManipulation (bool pMark) |
| Set if key is currently marked for manipulation. | |
| bool | GetMarkedForManipulation () |
| Return if key is currently marked for manipulation. | |
| void | SetTangeantVisibility (kFCurveTangeantVisibility pVisibility) |
| Set tangent visibility mode. | |
| kFCurveTangeantVisibility | GetTangeantVisibility () |
| Return tangent visibility mode. | |
| void | SetBreak (bool pVal) |
| Set/Unset Break tangent Only valid for User and Auto keys. | |
| bool | GetBreak () |
| Get if tangent is break Only valid for User and Auto keys. | |
| void Set | ( | KTime | pTime, | |
| kFCurveDouble | pValue, | |||
| kFCurveInterpolation | pInterpolation = KFCURVE_INTERPOLATION_CUBIC, |
|||
| kFCurveTangeantMode | pTangentMode = KFCURVE_TANGEANT_AUTO, |
|||
| kFCurveDouble | pData0 = 0.0, |
|||
| kFCurveDouble | pData1 = 0.0, |
|||
| kFCurveTangeantWeightMode | pTangentWeightMode = KFCURVE_WEIGHTED_NONE, |
|||
| kFCurveDouble | pWeight0 = KFCURVE_DEFAULT_WEIGHT, |
|||
| kFCurveDouble | pWeight1 = KFCURVE_DEFAULT_WEIGHT, |
|||
| kFCurveDouble | pVelocity0 = KFCURVE_DEFAULT_VELOCITY, |
|||
| kFCurveDouble | pVelocity1 = KFCURVE_DEFAULT_VELOCITY | |||
| ) | [inline] |
Set a key.
Use SetTCB() to set a key with cubic interpolation and TCB tangent type.
| pTime | Key time. | |
| pValue | Key value. | |
| pInterpolation | Key interpolation type. Interpolation types are: KFCURVE_INTERPOLATION_CONSTANT, KFCURVE_INTERPOLATION_LINEAR, KFCURVE_INTERPOLATION_CUBIC | |
| pTangentMode | Key tangent mode (meaningful for cubic interpolation only). Tangent modes are: KFCURVE_TANGEANT_AUTO, KFCURVE_TANGEANT_USER, KFCURVE_TANGEANT_BREAK | |
| pData0 | Right slope. | |
| pData1 | Next left slope. | |
| pTangentWeightMode | Weight mode if used KFCURVE_WEIGHTED_NONE KFCURVE_WEIGHTED_RIGHT KFCURVE_WEIGHTED_NEXT_LEFT KFCURVE_WEIGHTED_ALL | |
| pWeight0 | Right slope weight. | |
| pWeight1 | Next left slope weight. | |
| pVelocity0 | Right velocity. | |
| pVelocity1 | Next left velocity. |
| void SetTCB | ( | KTime | pTime, | |
| kFCurveDouble | pValue, | |||
| float | pData0 = 0.0f, |
|||
| float | pData1 = 0.0f, |
|||
| float | pData2 = 0.0f | |||
| ) | [inline] |
Set a key with cubic interpolation, TCB tangent mode.
| pTime | Key time. | |
| pValue | Key value. | |
| pData0 | Tension. | |
| pData1 | Continuity. | |
| pData2 | Bias. |
| void Set | ( | KFCurveKey & | pSource | ) | [inline] |
Key assignment.
| pSource | Source key to be copied. |
| kFCurveInterpolation GetInterpolation | ( | ) | [inline] |
Get key interpolation type.
Interpolation types are: KFCURVE_INTERPOLATION_CONSTANT, KFCURVE_INTERPOLATION_LINEAR, KFCURVE_INTERPOLATION_CUBIC
| void SetInterpolation | ( | kFCurveInterpolation | pInterpolation | ) | [inline] |
Set key interpolation type.
| pInterpolation | Key interpolation type. Interpolation types are: KFCURVE_INTERPOLATION_CONSTANT, KFCURVE_INTERPOLATION_LINEAR, KFCURVE_INTERPOLATION_CUBIC |
| kFCurveConstantMode GetConstantMode | ( | ) | [inline] |
Get key constant mode.
Warning: This method is meaningful for constant interpolation only. Using this method for non constant interpolated key will return unpredicted value. Constant modes are: KFCURVE_CONSTANT_STANDARD KFCURVE_CONSTANT_NEXT
| kFCurveTangeantMode GetTangeantMode | ( | bool | pIncludeOverrides = false |
) | [inline] |
Get key tangent mode.
Warning: This method is meaningful for cubic interpolation only. Using this method for non cubic interpolated key will return unpredicted value. Tangent modes are: KFCURVE_TANGEANT_AUTO, KFCURVE_TANGEANT_AUTO_BREAK KFCURVE_TANGEANT_TCB, KFCURVE_TANGEANT_USER, KFCURVE_TANGEANT_BREAK
| kFCurveTangeantWeightMode GetTangeantWeightMode | ( | ) | [inline] |
Get key tangent weight mode.
Warning: This method is meaningful for cubic interpolation only. Tangent weight modes are: KFCURVE_WEIGHTED_NONE, KFCURVE_WEIGHTED_RIGHT, KFCURVE_WEIGHTED_NEXT_LEFT, KFCURVE_WEIGHTED_ALL
| kFCurveTangeantVelocityMode GetTangeantVelocityMode | ( | ) | [inline] |
Get key tangent velocity mode.
Warning: This method is meaningful for cubic interpolation only. Tangent weight modes are: KFCURVE_VELOCITY_NONE, KFCURVE_VELOCITY_RIGHT, KFCURVE_VELOCITY_NEXT_LEFT, KFCURVE_VELOCITY_ALL
| void SetConstantMode | ( | kFCurveConstantMode | pMode | ) | [inline] |
Set key constant mode.
Warning: This method is meaningful for constant interpolation only.
| pMode | Key consant mode. Constant modes are: KFCURVE_CONSTANT_STANDARD KFCURVE_CONSTANT_NEXT |
| void SetTangeantMode | ( | kFCurveTangeantMode | pTangent | ) | [inline] |
Set key tangent mode.
Warning: This method is meaningful for cubic interpolation only.
| pTangent | Key tangent mode. Tangent modes are: KFCURVE_TANGEANT_AUTO, KFCURVE_TANGEANT_AUTO_BREAK KFCURVE_TANGEANT_TCB, KFCURVE_TANGEANT_USER, KFCURVE_TANGEANT_BREAK |
| void SetTangeantWeightMode | ( | kFCurveTangeantWeightMode | pTangentWeightMode, | |
| kFCurveTangeantWeightMode | pMask = KFCURVE_WEIGHTED_ALL | |||
| ) | [inline] |
Set key tangent weight mode as double value (cubic interpolation, non TCB tangent mode).
Warning: This method is meaningful for cubic interpolation only.
| pTangentWeightMode | Weight mode KFCURVE_WEIGHTED_NONE KFCURVE_WEIGHTED_RIGHT KFCURVE_WEIGHTED_NEXT_LEFT KFCURVE_WEIGHTED_ALL | |
| pMask | Used to select the affected tangents KFCURVE_WEIGHTED_RIGHT KFCURVE_WEIGHTED_NEXT_LEFT KFCURVE_WEIGHTED_ALL |
| void SetTangeantVelocityMode | ( | kFCurveTangeantVelocityMode | pTangentVelocityMode, | |
| kFCurveTangeantVelocityMode | pMask = KFCURVE_VELOCITY_ALL | |||
| ) | [inline] |
Set key tangent velocity mode as double value (cubic interpolation, non TCB tangent mode).
Warning: This method is meaningful for cubic interpolation only.
| pTangentVelocityMode | Weight mode KFCURVE_VELOCITY_NONE KFCURVE_VELOCITY_RIGHT KFCURVE_VELOCITY_NEXT_LEFT KFCURVE_VELOCITY_ALL | |
| pMask | Used to select the affected tangents KFCURVE_VELOCITY_RIGHT KFCURVE_VELOCITY_NEXT_LEFT KFCURVE_VELOCITY_ALL |
| kFCurveDouble GetDataDouble | ( | EKFCurveDataIndex | pIndex | ) | [inline] |
Get key data as double value (cubic interpolation, non TCB tangent mode).
Warning: Using this method for other than cubic interpolated key (linear, constant) will return unpredicted values. Warning: Slope data is inconsistent for automatic tangent mode. Use KFCurve::EvaluateLeftDerivative() and KFCurve::EvaluateRightDerivative() to find slope values. Warning: Using this method for TCB tangent mode key will return unpredicted values. Use KFCurve::GetDataFloat() instead.
| pIndex | Data index, either KFCURVEKEY_RIGHT_SLOPE, KFCURVEKEY_NEXT_LEFT_SLOPE. KFCURVEKEY_NEXT_RIGHT_WEIGHT. KFCURVEKEY_NEXT_LEFT_WEIGHT |
| void SetDataDouble | ( | EKFCurveDataIndex | pIndex, | |
| kFCurveDouble | pValue | |||
| ) | [inline] |
Set data as double value (cubic interpolation, non TCB tangent mode).
Warning: Using this method for other than cubic interpolated key (linear, constant) is irrelevant. Warning: Slope data is inconsistent for automatic tangent mode. Therefore, it is irrelevant to use this method on automatic tangent mode keys. Warning: Using this method for a TCB tangent mode key will result in unpredictable curve behavior for this key. Use KFCurve::SetDataFloat() instead.
| pIndex | Data index, either KFCURVEKEY_RIGHT_SLOPE, KFCURVEKEY_NEXT_LEFT_SLOPE. KFCURVEKEY_NEXT_RIGHT_WEIGHT. KFCURVEKEY_NEXT_LEFT_WEIGHT | |
| pValue | The data value to set (a slope or a weight). |
| float GetDataFloat | ( | EKFCurveDataIndex | pIndex | ) | [inline] |
Get key data as float value (cubic interpolation, TCB tangent mode).
Warning: Using this method for any key but a cubic interpolated, in TCB tangent mode, will return unpredicted values.
| pIndex | Data index, either KFCURVEKEY_TCB_TENSION, KFCURVEKEY_TCB_CONTINUITY or KFCURVEKEY_TCB_BIAS. |
| void SetDataFloat | ( | EKFCurveDataIndex | pIndex, | |
| float | pValue | |||
| ) | [inline] |
Set data as float value (cubic interpolation, TCB tangent mode).
Warning: Using this method for any key but a cubic interpolated, in TCB tangent mode, will return unpredicted values.
| pIndex | Data index, either KFCURVEKEY_TCB_TENSION, KFCURVEKEY_TCB_CONTINUITY or KFCURVEKEY_TCB_BIAS. | |
| pValue | The data value to set. |
| float* GetDataPtr | ( | ) | [inline] |
Get key data as a pointer Warning: not supported in 'double' mode.
| kFCurveDouble GetValue | ( | ) | [inline] |
Get key value.
| void SetValue | ( | kFCurveDouble | pValue | ) | [inline] |
Set key value.
| void IncValue | ( | kFCurveDouble | pValue | ) | [inline] |
Increment key value.
| pValue | Value by which key value is incremented. |
| void MultValue | ( | kFCurveDouble | pValue | ) | [inline] |
Multiply key value.
| pValue | Value by which the key value is multiplied. |
| void MultTangeant | ( | kFCurveDouble | pValue | ) | [inline] |
Multiply key tangents.
Note: When multiplying a key value, tangents must be multiplied to conserve the same topology.
| pValue | Value by which key tangents are multiplied. |
| KTime GetTime | ( | ) | [inline] |
Get key time.
| void SetTime | ( | KTime | pTime | ) | [inline] |
Set key time.
| pTime | Key time (time at which this key is occurring). |
| void IncTime | ( | KTime | pTime | ) | [inline] |
Increment key time.
| pTime | Time value by which the key time is incremented. |
| void SetSelected | ( | bool | pSelected | ) | [inline] |
Set if key is currently selected.
| pSelected | Selection flag. |
| bool GetSelected | ( | ) | [inline] |
Return if key is currently selected.
| void SetMarkedForManipulation | ( | bool | pMark | ) | [inline] |
Set if key is currently marked for manipulation.
| pMark | Mark flag. |
| bool GetMarkedForManipulation | ( | ) | [inline] |
Return if key is currently marked for manipulation.
| void SetTangeantVisibility | ( | kFCurveTangeantVisibility | pVisibility | ) | [inline] |
Set tangent visibility mode.
Warning: This method is meaningful for cubic interpolation only.
| pVisibility | Tangent visibility mode. Tangent visibility modes are: KFCURVE_TANGEANT_SHOW_NONE KFCURVE_TANGEANT_SHOW_LEFT KFCURVE_TANGEANT_SHOW_RIGHT |
| kFCurveTangeantVisibility GetTangeantVisibility | ( | ) | [inline] |
Return tangent visibility mode.
Warning: This method is meaningful for cubic interpolation only.
| void SetBreak | ( | bool | pVal | ) | [inline] |
Set/Unset Break tangent Only valid for User and Auto keys.
| bool GetBreak | ( | ) | [inline] |
Get if tangent is break Only valid for User and Auto keys.