#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.