FBX C++ API Reference
FbxAnimCurveDef Class Reference

#include <fbxanimcurve.h>

Class Description

Definitions used for the FBX animation curves and keys.

Definition at line 26 of file fbxanimcurve.h.

Public Types

enum  ETangentMode {
  eTangentAuto = 0x00000100, eTangentTCB = 0x00000200, eTangentUser = 0x00000400, eTangentGenericBreak = 0x00000800,
  eTangentBreak = eTangentGenericBreak|eTangentUser, eTangentAutoBreak = eTangentGenericBreak|eTangentAuto, eTangentGenericClamp = 0x00001000, eTangentGenericTimeIndependent = 0x00002000,
  eTangentGenericClampProgressive = 0x00004000|eTangentGenericTimeIndependent
}
 Key tangent mode for cubic interpolation. More...
 
enum  EInterpolationType { eInterpolationConstant = 0x00000002, eInterpolationLinear = 0x00000004, eInterpolationCubic = 0x00000008 }
 Key interpolation type. More...
 
enum  EWeightedMode { eWeightedNone = 0x00000000, eWeightedRight = 0x01000000, eWeightedNextLeft = 0x02000000, eWeightedAll = eWeightedRight|eWeightedNextLeft }
 Weighted mode. More...
 
enum  EConstantMode { eConstantStandard = 0x00000000, eConstantNext = 0x00000100 }
 Key constant mode. More...
 
enum  EVelocityMode { eVelocityNone = 0x00000000, eVelocityRight = 0x10000000, eVelocityNextLeft = 0x20000000, eVelocityAll = eVelocityRight|eVelocityNextLeft }
 Velocity mode. Velocity settings speed up or slow down animation on either side of a key without changing the trajectory of the animation. Unlike Auto and Weight settings, Velocity changes the animation in time, but not in space. More...
 
enum  ETangentVisibility { eTangentShowNone = 0x00000000, eTangentShowLeft = 0x00100000, eTangentShowRight = 0x00200000, eTangentShowBoth = eTangentShowLeft|eTangentShowRight }
 Tangent visibility. More...
 
enum  EDataIndex {
  eRightSlope = 0, eNextLeftSlope = 1, eWeights = 2, eRightWeight = 2,
  eNextLeftWeight = 3, eVelocity = 4, eRightVelocity = 4, eNextLeftVelocity = 5,
  eTCBTension = 0, eTCBContinuity = 1, eTCBBias = 2
}
 FbxAnimCurveKey data indices for cubic interpolation tangent information. More...
 

Static Public Attributes

static const float sDEFAULT_WEIGHT
 
static const float sMIN_WEIGHT
 
static const float sMAX_WEIGHT
 
static const float sDEFAULT_VELOCITY
 

Member Enumeration Documentation

◆ ETangentMode

Key tangent mode for cubic interpolation.

Enumerator
eTangentAuto 

Auto key (spline cardinal).

eTangentTCB 

Spline TCB (Tension, Continuity, Bias)

eTangentUser 

Next slope at the left equal to slope at the right.

eTangentGenericBreak 

Independent left and right slopes.

eTangentBreak 

Independent left and right slopes, with next slope at the left equal to slope at the right.

eTangentAutoBreak 

Independent left and right slopes, with auto key.

eTangentGenericClamp 

Clamp: key should be flat if next or previous key has the same value (overrides tangent mode).

eTangentGenericTimeIndependent 

Time independent tangent (overrides tangent mode).

eTangentGenericClampProgressive 

Clamp progressive: key should be flat if tangent control point is outside [next-previous key] range (overrides tangent mode).

Definition at line 35 of file fbxanimcurve.h.

36  {
37  eTangentAuto = 0x00000100,
38  eTangentTCB = 0x00000200,
39  eTangentUser = 0x00000400,
40  eTangentGenericBreak = 0x00000800,
43  eTangentGenericClamp = 0x00001000,
44  eTangentGenericTimeIndependent = 0x00002000,
46  };
Next slope at the left equal to slope at the right.
Definition: fbxanimcurve.h:39
Independent left and right slopes.
Definition: fbxanimcurve.h:40
Auto key (spline cardinal).
Definition: fbxanimcurve.h:37
Spline TCB (Tension, Continuity, Bias)
Definition: fbxanimcurve.h:38
Independent left and right slopes, with auto key.
Definition: fbxanimcurve.h:42
Time independent tangent (overrides tangent mode).
Definition: fbxanimcurve.h:44
Clamp: key should be flat if next or previous key has the same value (overrides tangent mode)...
Definition: fbxanimcurve.h:43
Independent left and right slopes, with next slope at the left equal to slope at the right...
Definition: fbxanimcurve.h:41
Clamp progressive: key should be flat if tangent control point is outside [next-previous key] range (...
Definition: fbxanimcurve.h:45

◆ EInterpolationType

Key interpolation type.

Enumerator
eInterpolationConstant 

Constant value until next key.

eInterpolationLinear 

Linear progression to next key.

eInterpolationCubic 

Cubic progression to next key.

Definition at line 49 of file fbxanimcurve.h.

50  {
51  eInterpolationConstant = 0x00000002,
52  eInterpolationLinear = 0x00000004,
53  eInterpolationCubic = 0x00000008
54  };
Cubic progression to next key.
Definition: fbxanimcurve.h:53
Linear progression to next key.
Definition: fbxanimcurve.h:52
Constant value until next key.
Definition: fbxanimcurve.h:51

◆ EWeightedMode

Weighted mode.

Enumerator
eWeightedNone 

Tangent has default weights of 0.333; we define this state as not weighted.

eWeightedRight 

Right tangent is weighted.

eWeightedNextLeft 

Left tangent is weighted.

eWeightedAll 

Both left and right tangents are weighted.

Definition at line 57 of file fbxanimcurve.h.

58  {
59  eWeightedNone = 0x00000000,
60  eWeightedRight = 0x01000000,
61  eWeightedNextLeft = 0x02000000,
63  };
Both left and right tangents are weighted.
Definition: fbxanimcurve.h:62
Left tangent is weighted.
Definition: fbxanimcurve.h:61
Tangent has default weights of 0.333; we define this state as not weighted.
Definition: fbxanimcurve.h:59
Right tangent is weighted.
Definition: fbxanimcurve.h:60

◆ EConstantMode

Key constant mode.

Enumerator
eConstantStandard 

Curve value is constant between this key and the next.

eConstantNext 

Curve value is constant, with next key's value.

Definition at line 66 of file fbxanimcurve.h.

67  {
68  eConstantStandard = 0x00000000,
69  eConstantNext = 0x00000100
70  };
Curve value is constant, with next key&#39;s value.
Definition: fbxanimcurve.h:69
Curve value is constant between this key and the next.
Definition: fbxanimcurve.h:68

◆ EVelocityMode

Velocity mode. Velocity settings speed up or slow down animation on either side of a key without changing the trajectory of the animation. Unlike Auto and Weight settings, Velocity changes the animation in time, but not in space.

Enumerator
eVelocityNone 

No velocity (default).

eVelocityRight 

Right tangent has velocity.

eVelocityNextLeft 

Left tangent has velocity.

eVelocityAll 

Both left and right tangents have velocity.

Definition at line 73 of file fbxanimcurve.h.

74  {
75  eVelocityNone = 0x00000000,
76  eVelocityRight = 0x10000000,
77  eVelocityNextLeft = 0x20000000,
79  };
Both left and right tangents have velocity.
Definition: fbxanimcurve.h:78
Right tangent has velocity.
Definition: fbxanimcurve.h:76
No velocity (default).
Definition: fbxanimcurve.h:75
Left tangent has velocity.
Definition: fbxanimcurve.h:77

◆ ETangentVisibility

Tangent visibility.

Enumerator
eTangentShowNone 

No tangent is visible.

eTangentShowLeft 

Left tangent is visible.

eTangentShowRight 

Right tangent is visible.

eTangentShowBoth 

Both left and right tangents are visible.

Definition at line 82 of file fbxanimcurve.h.

83  {
84  eTangentShowNone = 0x00000000,
85  eTangentShowLeft = 0x00100000,
86  eTangentShowRight = 0x00200000,
88  };
Both left and right tangents are visible.
Definition: fbxanimcurve.h:87
No tangent is visible.
Definition: fbxanimcurve.h:84
Right tangent is visible.
Definition: fbxanimcurve.h:86
Left tangent is visible.
Definition: fbxanimcurve.h:85

◆ EDataIndex

enum EDataIndex

FbxAnimCurveKey data indices for cubic interpolation tangent information.

Enumerator
eRightSlope 

Index of the right derivative, User and Break tangent mode (data are float).

eNextLeftSlope 

Index of the left derivative for the next key, User and Break tangent mode.

eWeights 

Start index of weight values, User and Break tangent break mode (data are FbxInt16 tokens from weight and converted to float).

eRightWeight 

Index of weight on right tangent, User and Break tangent break mode.

eNextLeftWeight 

Index of weight on next key's left tangent, User and Break tangent break mode.

eVelocity 

Start index of velocity values, Velocity mode.

eRightVelocity 

Index of velocity on right tangent, Velocity mode.

eNextLeftVelocity 

Index of velocity on next key's left tangent, Velocity mode.

eTCBTension 

Index of Tension, TCB tangent mode (data are floats).

eTCBContinuity 

Index of Continuity, TCB tangent mode.

eTCBBias 

Index of Bias, TCB tangent mode.

Definition at line 91 of file fbxanimcurve.h.

92  {
93  eRightSlope = 0,
94  eNextLeftSlope = 1,
95  eWeights = 2,
96  eRightWeight = 2,
97  eNextLeftWeight = 3,
98  eVelocity = 4,
99  eRightVelocity = 4,
100  eNextLeftVelocity = 5,
101  eTCBTension = 0,
102  eTCBContinuity = 1,
103  eTCBBias = 2
104  };
Start index of velocity values, Velocity mode.
Definition: fbxanimcurve.h:98
Start index of weight values, User and Break tangent break mode (data are FbxInt16 tokens from weight...
Definition: fbxanimcurve.h:95
Index of velocity on next key&#39;s left tangent, Velocity mode.
Definition: fbxanimcurve.h:100
Index of Tension, TCB tangent mode (data are floats).
Definition: fbxanimcurve.h:101
Index of velocity on right tangent, Velocity mode.
Definition: fbxanimcurve.h:99
Index of weight on right tangent, User and Break tangent break mode.
Definition: fbxanimcurve.h:96
Index of Bias, TCB tangent mode.
Definition: fbxanimcurve.h:103
Index of the left derivative for the next key, User and Break tangent mode.
Definition: fbxanimcurve.h:94
Index of Continuity, TCB tangent mode.
Definition: fbxanimcurve.h:102
Index of the right derivative, User and Break tangent mode (data are float).
Definition: fbxanimcurve.h:93
Index of weight on next key&#39;s left tangent, User and Break tangent break mode.
Definition: fbxanimcurve.h:97

Member Data Documentation

◆ sDEFAULT_WEIGHT

const float sDEFAULT_WEIGHT
static

Definition at line 29 of file fbxanimcurve.h.

◆ sMIN_WEIGHT

const float sMIN_WEIGHT
static

Definition at line 30 of file fbxanimcurve.h.

◆ sMAX_WEIGHT

const float sMAX_WEIGHT
static

Definition at line 31 of file fbxanimcurve.h.

◆ sDEFAULT_VELOCITY

const float sDEFAULT_VELOCITY
static

Definition at line 32 of file fbxanimcurve.h.


The documentation for this class was generated from the following file: