FbxAnimCurveKey_Impl Class Reference
#include <fbxanimcurve.h>
This is the interface for implementation of animation key objects.
Definition at line 134 of file fbxanimcurve.h.
|
virtual | ~FbxAnimCurveKey_Impl () |
| Destructor. More...
|
|
virtual FbxAnimCurveKey_Impl & | operator= (const FbxAnimCurveKey_Impl &pFKey)=0 |
| Assignment operator. More...
|
|
virtual void | Set (FbxTime pTime, float pValue)=0 |
| Set time and value of key. More...
|
|
virtual void | SetTCB (FbxTime pTime, float pValue, float pData0=0.0f, float pData1=0.0f, float pData2=0.0f)=0 |
| Set a key with cubic interpolation, TCB tangent mode. More...
|
|
virtual float | GetValue () const =0 |
| Get the key value. More...
|
|
virtual void | SetValue (float pValue)=0 |
| Set the key value. More...
|
|
virtual FbxAnimCurveDef::EInterpolationType | GetInterpolation () const =0 |
| Get key's interpolation type. More...
|
|
virtual void | SetInterpolation (FbxAnimCurveDef::EInterpolationType pInterpolation)=0 |
| Set key's interpolation type. More...
|
|
virtual FbxAnimCurveDef::ETangentMode | GetTangentMode (bool pIncludeOverrides=false) const =0 |
| Get key's tangent mode. More...
|
|
virtual void | SetTangentMode (FbxAnimCurveDef::ETangentMode pTangentMode)=0 |
| Set tangent mode. More...
|
|
virtual FbxAnimCurveDef::EWeightedMode | GetTangentWeightMode () const =0 |
| Get key's tangent weight mode. More...
|
|
virtual void | SetTangentWeightMode (FbxAnimCurveDef::EWeightedMode pTangentWeightMode, FbxAnimCurveDef::EWeightedMode pMask=FbxAnimCurveDef::eWeightedAll)=0 |
| Set key's tangent weight mode as double value (cubic interpolation, non TCB tangent mode). More...
|
|
virtual void | SetTangentWeightAndAdjustTangent (FbxAnimCurveDef::EDataIndex pIndex, double pWeight)=0 |
| Adjust the actual tangent of the key so that the tangent control point (tangent extremity) stays closer to where it should be. More...
|
|
virtual FbxAnimCurveDef::EVelocityMode | GetTangentVelocityMode () const =0 |
| Get key's tangent velocity mode. More...
|
|
virtual void | SetTangentVelocityMode (FbxAnimCurveDef::EVelocityMode pTangentVelocityMode, FbxAnimCurveDef::EVelocityMode pMask=FbxAnimCurveDef::eVelocityAll)=0 |
| Set key's tangent velocity mode as double value (cubic interpolation, non TCB tangent mode). More...
|
|
virtual FbxAnimCurveDef::EConstantMode | GetConstantMode () const =0 |
| Get key constant mode. More...
|
|
virtual void | SetConstantMode (FbxAnimCurveDef::EConstantMode pMode)=0 |
| Set key's constant mode. More...
|
|
virtual float | GetDataFloat (FbxAnimCurveDef::EDataIndex pIndex) const =0 |
| Get the value of specified data of the key. More...
|
|
virtual void | SetDataFloat (FbxAnimCurveDef::EDataIndex pIndex, float pValue)=0 |
| Set the value of specified data of the key. More...
|
|
virtual void | SetTangentVisibility (FbxAnimCurveDef::ETangentVisibility pVisibility)=0 |
| Set tangent visibility mode. More...
|
|
virtual FbxAnimCurveDef::ETangentVisibility | GetTangentVisibility () const =0 |
| Return tangent visibility mode. More...
|
|
virtual void | SetBreak (bool pVal)=0 |
| Turn on or turn off the tangent break. More...
|
|
virtual bool | GetBreak () const =0 |
| Get if the tangent has a break. More...
|
|
virtual void Set |
( |
FbxTime |
pTime, |
|
|
float |
pValue |
|
) |
| |
|
pure virtual |
Set time and value of key.
- Parameters
-
pTime | New time of this key. |
pValue | New value of this key. |
virtual void SetTCB |
( |
FbxTime |
pTime, |
|
|
float |
pValue, |
|
|
float |
pData0 = 0.0f , |
|
|
float |
pData1 = 0.0f , |
|
|
float |
pData2 = 0.0f |
|
) |
| |
|
pure virtual |
Set a key with cubic interpolation, TCB tangent mode.
The key is modified according to the other parameters. The TCB mode controls the tension, continuity, and bias of the curve.
- Parameters
-
pTime | Key time. |
pValue | Key value. |
pData0 | Tension. Controls the amount of curvature in the animation curve. The higher the tension is, the more linear the curve looks. When the tension is low, the curve looks rounder or wider. |
pData1 | Continuity. Controls the smoothness or singularity of the curve on the key. |
pData2 | Bias. Controls if the effect of tension and continuity affect the curve before or after the key. |
virtual float GetValue |
( |
| ) |
const |
|
pure virtual |
Get the key value.
- Returns
- The value of the key.
virtual void SetValue |
( |
float |
pValue | ) |
|
|
pure virtual |
Set the key value.
- Parameters
-
Get key's interpolation type.
- Returns
- Interpolation type of the queried key.
Set key's interpolation type.
- Parameters
-
pInterpolation | Interpolation type of the key. |
Get key's tangent mode.
- Parameters
-
pIncludeOverrides | Include override flags: Break, Clamp, Time-Independent. |
- Returns
- Tangent mode of the key.
Set tangent mode.
- Parameters
-
pTangentMode | Tangent mode to set. |
Get key's tangent weight mode.
- Returns
- Tangent weight mode of the key.
Set key's tangent weight mode as double value (cubic interpolation, non TCB tangent mode).
- Parameters
-
pTangentWeightMode | Weight mode. |
pMask | Used to select the affected tangents. |
Sample01:
pMask is eWeightedRight, it will first be used to cancel out the current tangent weight mode eWeightedNextLeft, since they are not the same, it fails to cancel it out. Then the mask eWeightedRight will be used to define which tangent should be affected, since it is the same as pTangentWeightMode (eWeightedRight), so the eWeightedRight should be affected. In total, after above calls, both eWeightedNextLeft and eWeightedRight of this key are affected, so lAnimCurveKey->GetTangentWeightMode() will be FbxAnimCurveDef::eWeightedAll.
Sample02:
pMask is eWeightedNextLeft, it will first be used to cancel out the current tangent weight mode eWeightedAll, it will cancel out affect on eWeightedNextLeft, but leave affect on eWeightedRight. Then the mask eWeightedNextLeft will be used to define which tangent should be affected, since it is not the same as pTangentWeightMode (eWeightedRight), so the pMask won't affect anything in this step. In total, after above calls, only eWeightedRight of this key is still affected, so lAnimCurveKey->GetTangentWeightMode() will be FbxAnimCurveDef::eWeightedRight.
Adjust the actual tangent of the key so that the tangent control point (tangent extremity) stays closer to where it should be.
This is required because the weight value gets imprecise when it is small (it is stored as a fixed point value). This method must be called when setting the weight coming from a source where the precision is the same. It must be called after the tangent value has been set.
- Parameters
-
Get key's tangent velocity mode.
- Returns
- Tangent velocity mode of the key.
Set key's tangent velocity mode as double value (cubic interpolation, non TCB tangent mode).
- Parameters
-
pTangentVelocityMode | Velocity mode. |
pMask | Used to select the affected tangents |
- See also
- The documentation of SetTangentWeightMode for more details and samples about how the pMask works.
Get key constant mode.
- Returns
- Key constant mode.
Set key's constant mode.
- Parameters
-
pMode | Constant mode to set. |
Get the value of specified data of the key.
- Parameters
-
pIndex | Data index to specify which data to get value, the index is dependent on the key tangent mode. |
- Returns
- The value of the specified data.
Set the value of specified data of the key.
- Parameters
-
pIndex | Data index to specify which data to get value, the index is dependent on the key tangent mode. |
pValue | The data value to set. |
Set tangent visibility mode.
This would indicate what part of the tangent is visible in a graphical interface.
- Parameters
-
pVisibility | Tangent visibility mode. |
Return tangent visibility mode.
- Returns
- Tangent visibility mode.
virtual void SetBreak |
( |
bool |
pVal | ) |
|
|
pure virtual |
Turn on or turn off the tangent break.
When this flag is on (FbxAnimCurveDef::eTANGEAT_BREAK will be set), the key's left and right slopes are independent. When this flag is off, the key's left and right slope are equal.
- Parameters
-
pVal | Break flag (true or false ). |
virtual bool GetBreak |
( |
| ) |
const |
|
pure virtual |
Get if the tangent has a break.
When this flag is set (FbxAnimCurveDef::eTANGEAT_BREAK), the key's left and right slopes are independent. When this flag is off, the key's left and right slope are equal.
- Returns
- Break flag (
true
or false
).
The documentation for this class was generated from the following file: