Open Reality Reference Guide
fbdata.h File Reference

Animation data types. More...

#include <kaydaradef.h>
#include <fbsdk/fbcomponent.h>
#include <fbxsdk/fbxsdk_nsbegin.h>
#include <fbxsdk/fbxsdk_nsend.h>

Go to the source code of this file.

Classes

class  FBFCurveKey
 KeyFrame for an FCurve. More...
 
class  FBPropertyListFCurveKey
 List of FCurveKey. More...
 
class  FBFCurve
 FCurve class. More...
 
class  FBFCurveCustomTangent
 This class represents a custom tangents object in the system. More...
 
class  FBPropertyListCustomTangent
 List: Custom Tangent More...
 
class  FBPropertyListAnimationNode
 List of animation nodes. More...
 
class  FBEventAnimationNode
 The transform manipulator has begun doing modifications This event occurs every time a manipulator: More...
 
class  FBCurveEvaluationEvent
 This class is used when an evaluation must be done on your custom tangents. It contains the necessary information to do the evaluation. More...
 
class  FBCurveCustomKeyAddEvent
 This class is used when adding a key with a custom tangent to a curve. It contains the necessary information for the user to specify the properties of the key. More...
 
class  FBCurveCustomKeyChangeEvent
 This class is used when changing the interpolation type/custom tangent index of a key with a custom tangent. It contains the necessary information for the user to identify the key. More...
 
class  FBPropertyEventAnimationNode
 PropertyEvent: UI idle event. More...
 
class  FBPropertyEventAnimationNodeEvaluate
 PropertyEvent: Event when a custom tangent that needs to be evaluated. More...
 
class  FBPropertyEventAnimationNodeKeyAdd
 PropertyEvent: Event when a key that doesn't have a custom tangent is added. More...
 
class  FBPropertyEventAnimationNodeCustomKeyAdd
 PropertyEvent: Event when a key with a custom tangent that needs some of its parameters to be specified is added. More...
 
class  FBPropertyEventAnimationNodeCustomKeyChange
 PropertyEvent: Event when a key tangent is changed to a custom tangent/changed to another type from a custom tangent or the custom tangent index is changed. More...
 
class  FBAnimationNode
 
class  FBAnimationStack
 Used to access animation stack. More...
 
class  FBFCurveCustomTangentManager
 Custom Tangent Manager Interface to the Custom Tangent Manager. More...
 
class  FBPropertyStateEvent
 This class is used when the state of a property tracked by the FBFCurveEventManager is changed. More...
 
class  FBFCurveEvent
 This class is used when a modification is made on a FCurve. It contains the necessary information to identify the owner of the curve and what modification was made. More...
 
class  FBPropertyChanged
 PropertyEvent: Event when a property is modified, to be used with the FBFCurveEventManager. More...
 
class  FBFCurveChanged
 PropertyEvent: Event when a fcurve is changed. More...
 
class  FBFCurveEventManager
 FCurve Event Manager Interface to the FBFCurveEventManager. More...
 
class  FBAnimationLayer
 Used to access animation layer properties and modify them. More...
 
class  FBPropertyListTake
 List: Take More...
 
class  FBTake
 A take is a container for animation in a scene. More...
 
class  FBTimeWarpManager
 Time Warp Manager Interface to the Time Warp Manager. More...
 

Macros

#define FBSDK_DLL   K_DLLIMPORT
 Be sure that FBSDK_DLL is defined only once... More...
 
#define ANIMATIONNODE_TYPE_NUMBER   "Number"
 Animation node data types. More...
 
#define ANIMATIONNODE_TYPE_TIME   "Time"
 
#define ANIMATIONNODE_TYPE_TIMECODE   "TimeCode"
 
#define ANIMATIONNODE_TYPE_VECTOR   "Vector"
 
#define ANIMATIONNODE_TYPE_VECTOR_4   "Vector4"
 
#define ANIMATIONNODE_TYPE_OBJECT   "Object"
 
#define ANIMATIONNODE_TYPE_REFERENCE   "Reference"
 
#define ANIMATIONNODE_TYPE_EVENT   "Event"
 
#define ANIMATIONNODE_TYPE_STRING   "String"
 
#define ANIMATIONNODE_TYPE_ACTION   "Action"
 
#define ANIMATIONNODE_TYPE_BOOL   "Bool"
 
#define ANIMATIONNODE_TYPE_ENUM   "Enum"
 
#define ANIMATIONNODE_TYPE_INTEGER   "Integer"
 
#define ANIMATIONNODE_TYPE_OCCLUSION   "Occlusion"
 
#define ANIMATIONNODE_TYPE_FIELDOFVIEWX   "FieldOfViewX"
 
#define ANIMATIONNODE_TYPE_FIELDOFVIEWY   "FieldOfViewY"
 
#define ANIMATIONNODE_TYPE_OPTICALCENTERX   "OpticalCenterX"
 
#define ANIMATIONNODE_TYPE_OPTICALCENTERY   "OpticalCenterY"
 
#define ANIMATIONNODE_TYPE_IKREACHTRANSLATION   "IK Reach Translation"
 
#define ANIMATIONNODE_TYPE_IKREACHROTATION   "IK Reach Rotation"
 
#define ANIMATIONNODE_TYPE_COLOR   "Color"
 
#define ANIMATIONNODE_TYPE_LOCAL_TRANSLATION   "Lcl Translation"
 
#define ANIMATIONNODE_TYPE_LOCAL_ROTATION   "Lcl Rotation"
 
#define ANIMATIONNODE_TYPE_LOCAL_SCALING   "Lcl Scaling"
 
#define ANIMATIONNODE_TYPE_TRANSLATION   "Translation"
 
#define ANIMATIONNODE_TYPE_ROTATION   "Rotation"
 
#define ANIMATIONNODE_TYPE_SCALING   "Scaling"
 
#define ANIMATIONNODE_TYPE_COLOR_RGBA   "ColorAndAlpha"
 

Typedefs

typedef bool(* kFBDataHandler) (void *pBuffer, FBEvaluateInfo *pEvaluateInfo, FBAnimationNode *pAnimationNode, void *p1, void *p2)
 kFBDataHandler More...
 

Enumerations

enum  FBInterpolation {
  kFBInterpolationInvalid = -1,
  kFBInterpolationConstant = 0,
  kFBInterpolationLinear,
  kFBInterpolationCubic,
  kFBInterpolationCustom,
  kFBInterpolationCount
}
 Types of interpolation for an FCurve. More...
 
enum  FBInterpolatorCurveType {
  kFBInterpolatorCurveLinearIn,
  kFBInterpolatorCurveLinearOut,
  kFBInterpolatorCurveSmoothIn,
  kFBInterpolatorCurveSmoothOut,
  kFBInterpolatorCurveSlowIn,
  kFBInterpolatorCurveSlowOut,
  kFBInterpolatorCurveFastIn,
  kFBInterpolatorCurveFastOut,
  kFBInterpolatorCurveLast
}
 Types of interpolator for an FCurve. More...
 
enum  FBTangentMode {
  kFBTangentModeAuto,
  kFBTangentModeTCB,
  kFBTangentModeUser,
  kFBTangentModeBreak,
  kFBTangentModeTimeIndependent,
  kFBTangentModeClampProgressive
}
 Methods of tangent calculation. More...
 
enum  FBTangentClampMode {
  kFBTangentClampModeNone,
  kFBTangentClampModeClamped
}
 Different clamping modes for the tangents. More...
 
enum  FBTangentConstantMode {
  kFBTangentConstantModeNormal,
  kFBTangentConstantModeNext
}
 Different constant modes for the tangents. More...
 
enum  FBExtrapolationMode {
  kFCurveExtrapolationConst = 1,
  kFCurveExtrapolationRepetition = 2,
  kFCurveExtrapolationMirrorRepetition = 3,
  kFCurveExtrapolationKeepSlope = 4,
  kFCurveExtrapolationRelativeRepetition = 5
}
 Modes for pre / post extrapolation. More...
 
enum  FBAnimationNodeConnectorType {
  kFBAnimationNodeConnectorTypeNone,
  kFBAnimationNodeConnectorTypeConnectedIn,
  kFBAnimationNodeConnectorTypeConnectedOut,
  kFBAnimationNodeConnectorTypeConstantIn
}
 Different types for the animation node connectors. More...
 
enum  FBTangentCustomIndex {
  kFBTangentCustomIndex0,
  kFBTangentCustomIndex1,
  kFBTangentCustomIndex2
}
 Custom tangent index for the tangents. More...
 
enum  FBTangentWeightMode {
  kFBTangentWeightModeNone,
  kFBTangentWeightModeRight,
  kFBTangentWeightModeNextLeft,
  kFBTangentWeightModeBoth
}
 Active tangent weight, no/one/both side are active on a key. More...
 
enum  FBEventAnimationNodeType {
  kFBEventAnimationNodeDataChange,
  kFBEventAnimationNodeConstraintChange,
  kFBEventAnimationNodeNone
}
 Event based on animation node. More...
 
enum  FBCustomKeyChangeType {
  kFBNoChange,
  kFBInterpolationChange,
  kFBCustomTangentChange
}
 Indicate if the interpolation or the custom index of the key will be/was modified. More...
 
enum  FBPropertyStateEventType {
  kFBPropertyStateEventTypeUnknownOperation = 0,
  kFBPropertyStateEventTypeAttached = 1 << 0,
  kFBPropertyStateEventTypeDetached = 1 << 1,
  kFBPropertyStateEventTypeDestroyed = 1 << 2,
  kFBPropertyStateEventTypeMassOperation = 1 << 3
}
 This enum indicates what modification was made to the animation of a tracked property. More...
 
enum  FBFCurveEventType {
  kFBFCurveEventTypeUnknownOperation = 0,
  kFBFCurveEventTypeKeyAdded = 1 << 0,
  kFBFCurveEventTypeKeyRemoved = 1 << 1,
  kFBFCurveEventTypeKeyTimeChanged = 1 << 2,
  kFBFCurveEventTypeKeyValueChanged = 1 << 3,
  kFBFCurveEventTypeDerivativedChanged = 1 << 4,
  kFBFCurveEventTypeKeyInterpolationChanged = 1 << 5,
  kFBFCurveEventTypeKeyTangentChanged = 1 << 6,
  kFBFCurveEventTypeKeyTangentBreakChanged = 1 << 7,
  kFBFCurveEventTypeKeyTangentClampModeChanged = 1 << 8,
  kFBFCurveEventTypeKeyTangentConstantChanged = 1 << 9,
  kFBFCurveEventTypeKeyVelocityChanged = 1 << 10,
  kFBFCurveEventTypeKeyWeightChanged = 1 << 11,
  kFBFCurveEventTypeKeyTensionChanged = 1 << 12,
  kFBFCurveEventTypeKeyContinuityChanged = 1 << 13,
  kFBFCurveEventTypeKeyBiasChanged = 1 << 14,
  kFBFCurveEventTypeKeyPreExtrapolationChanged = 1 << 15,
  kFBFCurveEventTypeKeyPostExtrapolationChanged = 1 << 16,
  kFBFCurveEventTypeKeyMassOperation = 1 << 17
}
 This enum indicates what modification was made to a tracked FCurve. More...
 
enum  FBLayerMode {
  kFBLayerModeInvalidIndex = -1,
  kFBLayerModeAdditive = 0,
  kFBLayerModeOverride,
  kFBLayerModeOverridePassthrough
}
 Layer mode. More...
 
enum  FBLayerRotationMode {
  kFBLayerRotationModeInvalidIndex = -1,
  kFBLayerRotationModeEulerRotation = 0,
  kFBLayerRotationModeQuaternionRotation
}
 Rotation mode for layer. More...
 
enum  FBAnimationLayerMergeOptions {
  kFBAnimLayerMerge_SelectedLayers_SelectedProperties,
  kFBAnimLayerMerge_AllLayers_SelectedProperties,
  kFBAnimLayerMerge_SelectedLayers_AllProperties,
  kFBAnimLayerMerge_AllLayers_AllProperties,
  kFBAnimLayerMerge_SelectedLayers_CompleteScene,
  kFBAnimLayerMerge_AllLayers_CompleteScene
}
 Merge option for animation layers. More...
 
enum  FBMergeLayerMode {
  kFBMergeLayerModeAutomatic,
  kFBMergeLayerModeAdditive,
  kFBMergeLayerModeOverride
}
 Merge layer mode for animation layers. This will specify the mode of the resulting merged layer, if applicable (To BaseAnimation layer mode cannot be modified). More...
 
enum  FBTimeMarkAction {
  kFBTimeMarkAction_None,
  kFBTimeMarkAction_Stop,
  kFBTimeMarkAction_Loop
}
 Time (Global & Take) Mark assigned action. More...
 
enum  FBPropertyComponents {
  kFBPropertyComponent0 = 1 << 0,
  kFBPropertyComponent1 = 1 << 1,
  kFBPropertyComponent2 = 1 << 2,
  kFBPropertyComponent3 = 1 << 3,
  kFBPropertyComponentAll
}
 Property Components Bit Field (XYZ, RGB, RGBA, UV, XYZW, etc.). More...
 

Functions

 FB_FORWARD (FBEvaluateInfo)
 
 FB_FORWARD (FBPlotOptions)
 
 FB_DEFINE_ENUM (K_DLLIMPORT, Interpolation)
 
 FB_DEFINE_ENUM (K_DLLIMPORT, TangentMode)
 
 FB_DEFINE_ENUM (K_DLLIMPORT, TangentClampMode)
 
 FB_DEFINE_ENUM (K_DLLIMPORT, TangentConstantMode)
 
 FB_DEFINE_ENUM (K_DLLIMPORT, ExtrapolationMode)
 
 FB_DEFINE_ENUM (K_DLLIMPORT, AnimationNodeConnectorType)
 
 FB_DEFINE_ENUM (K_DLLIMPORT, TangentCustomIndex)
 
 FB_DEFINE_ENUM (K_DLLIMPORT, TangentWeightMode)
 
 FB_FORWARD (FBFCurve)
 
 __FB_FORWARD (FBFCurveKey)
 
 FB_FORWARD (FBPropertyListFCurveKey)
 
 FB_FORWARD (FBFCurveKey)
 
 __FB_FORWARD (FBFCurve)
 
 FB_DEFINE_COMPONENT (K_DLLIMPORT, FCurve)
 
 __FB_FORWARD (FBFCurveCustomTangent)
 
 FB_DEFINE_COMPONENT (K_DLLIMPORT, FBFCurveCustomTangent)
 
 __FB_FORWARD (FBAnimationNode)
 
 __FB_FORWARD (FBPropertyListAnimationNode)
 
 FB_DEFINE_LIST (K_DLLIMPORT, AnimationNode)
 
 FB_DEFINE_ENUM (K_DLLIMPORT, EventAnimationNodeType)
 
 __FB_FORWARD (FBEventAnimationNode)
 
 __FB_FORWARD (FBCurveEvaluationEvent)
 
 __FB_FORWARD (FBCurveCustomKeyAddEvent)
 
 __FB_FORWARD (FBCurveCustomKeyChangeEvent)
 
 FB_DEFINE_ENUM (K_DLLIMPORT, CustomKeyChangeType)
 
 FB_DEFINE_COMPONENT (K_DLLIMPORT, AnimationNode)
 Animation node class. More...
 
 __FB_FORWARD (FBAnimationStack)
 
 __FB_FORWARD (FBFCurveCustomTangentManager)
 
 FB_DEFINE_ENUM (K_DLLIMPORT, PropertyStateEventType)
 
 __FB_FORWARD (FBPropertyStateEvent)
 
 FB_DEFINE_ENUM (K_DLLIMPORT, FCurveEventType)
 
 __FB_FORWARD (FBFCurveEvent)
 
 __FB_FORWARD (FBFCurveEventManager)
 
 FB_DEFINE_ENUM (K_DLLIMPORT, LayerMode)
 
 FB_DEFINE_ENUM (K_DLLIMPORT, LayerRotationMode)
 
 __FB_FORWARD (FBAnimationLayer)
 
 __FB_FORWARD (FBTake)
 
 FB_DEFINE_COMPONENT (K_DLLIMPORT, Take)
 
 __FB_FORWARD (FBTimeWarpManager)
 
K_DLLIMPORT FBXSDK_NAMESPACE::FbxProperty FBtoFBXProperty (FBProperty *pSourceProperty, FBTake *pSourceTake, FBXSDK_NAMESPACE::FbxObject *pDestinationObject, FBXSDK_NAMESPACE::FbxScene *pDestinationScene, FBXSDK_NAMESPACE::FbxAnimStack *pDestinationStack, bool pCopyAnimation=true)
 Convert a FBProperty to a FbxProperty, useful to extract some properties to a FBX file. More...
 
K_DLLIMPORT FBPropertyFBXtoFBProperty (FBXSDK_NAMESPACE::FbxProperty *pSourceProperty, FBXSDK_NAMESPACE::FbxAnimStack *pSourceStack, FBComponent *pDestinationObject, FBTake *pDestinationTake, bool pCopyAnimation=true, FBTime pLimitStart=FBTime::MinusInfinity, FBTime pLimitEnd=FBTime::Infinity)
 Convert a FbxProperty to a FBProperty, useful to extract some properties from a FBX file to a MotionBuilder scene. More...
 

Detailed Description

Animation data types.

This file contains the definitions for various animation data types in the Open Reality SDK.

Definition in file fbdata.h.

Macro Definition Documentation

◆ ANIMATIONNODE_TYPE_NUMBER

#define ANIMATIONNODE_TYPE_NUMBER   "Number"

Animation node data types.

Definition at line 66 of file fbdata.h.

◆ FBSDK_DLL

#define FBSDK_DLL   K_DLLIMPORT

Be sure that FBSDK_DLL is defined only once...

Definition at line 50 of file fbdata.h.

Typedef Documentation

◆ kFBDataHandler

typedef bool(* kFBDataHandler) (void *pBuffer, FBEvaluateInfo *pEvaluateInfo, FBAnimationNode *pAnimationNode, void *p1, void *p2)

kFBDataHandler

Parameters
pBuffer
pEvaluateInfo
pAnimationNode
p1
p2

Definition at line 978 of file fbdata.h.

Enumeration Type Documentation

◆ FBAnimationLayerMergeOptions

Merge option for animation layers.

Enumerator
kFBAnimLayerMerge_SelectedLayers_SelectedProperties 

Merge the animation of the selected properties of the selected models from the selected layers to the selected layer with the lowest index.

kFBAnimLayerMerge_AllLayers_SelectedProperties 

Merge the animation of the selected properties of the selected models from all the layers to the BaseAnimation layer.

kFBAnimLayerMerge_SelectedLayers_AllProperties 

Merge the animation of all properties of the selected models from the selected layers to the selected layer with the lowest index.

kFBAnimLayerMerge_AllLayers_AllProperties 

Merge the animation of all properties of the selected models from all the layers to the BaseAnimation layer.

kFBAnimLayerMerge_SelectedLayers_CompleteScene 

Merge the animation of all properties from the selected layers to the selected layer with the lowest index.

kFBAnimLayerMerge_AllLayers_CompleteScene 

Merge the animation of all properties from all the layers to the BaseAnimation layer.

Definition at line 1611 of file fbdata.h.

◆ FBAnimationNodeConnectorType

Different types for the animation node connectors.

Enumerator
kFBAnimationNodeConnectorTypeNone 

The animation node connector is not connected and doesn't have a constant value set to it.

kFBAnimationNodeConnectorTypeConnectedIn 

The animation node input connector is connected to an animation node output connector (valid for input connector only).

kFBAnimationNodeConnectorTypeConnectedOut 

The animation node output connector is connected to at least one animation node input connector (valid for output connector only).

kFBAnimationNodeConnectorTypeConstantIn 

The animation node input connector has a constant value set to it (valid for input connector only).

Definition at line 187 of file fbdata.h.

◆ FBCustomKeyChangeType

Indicate if the interpolation or the custom index of the key will be/was modified.

Enumerator
kFBNoChange 

No change to the key.

kFBInterpolationChange 

The interpolation of the key was/will be modified (FBInterpolation).

kFBCustomTangentChange 

The custom tangent value was/will be modified (FBTangentCustomIndex).

Definition at line 922 of file fbdata.h.

◆ FBEventAnimationNodeType

Event based on animation node.

Types of transformation.

Definition at line 831 of file fbdata.h.

◆ FBExtrapolationMode

Modes for pre / post extrapolation.

Definition at line 175 of file fbdata.h.

◆ FBFCurveEventType

This enum indicates what modification was made to a tracked FCurve.

Enumerator
kFBFCurveEventTypeUnknownOperation 

Invalid event.

kFBFCurveEventTypeKeyAdded 

A new key was added.

kFBFCurveEventTypeKeyRemoved 

A key was removed.

kFBFCurveEventTypeKeyTimeChanged 

A key time was changed.

kFBFCurveEventTypeKeyValueChanged 

A key value was changed.

kFBFCurveEventTypeDerivativedChanged 

A key left/right/both derivative was changed, please note that this event can affect the key specified in the event index and the following key.

kFBFCurveEventTypeKeyInterpolationChanged 

A key interpolation mode was changed.

kFBFCurveEventTypeKeyTangentChanged 

A key tangent was changed.

kFBFCurveEventTypeKeyTangentBreakChanged 

A key break mode was changed.

kFBFCurveEventTypeKeyTangentClampModeChanged 

A key clamping mode was changed.

kFBFCurveEventTypeKeyTangentConstantChanged 

A key constant mode was changed.

kFBFCurveEventTypeKeyVelocityChanged 

A key velocity was changed.

kFBFCurveEventTypeKeyWeightChanged 

A key left/right weight was changed, please note that this event can affect the key specified in the event index and the following key.

kFBFCurveEventTypeKeyTensionChanged 

A key tension was changed (only valid on TCB key)

kFBFCurveEventTypeKeyContinuityChanged 

A key continuity was changed (only valid on TCB key)

kFBFCurveEventTypeKeyBiasChanged 

A key bias was changed (only valid on TCB key)

kFBFCurveEventTypeKeyPreExtrapolationChanged 

A curve pre-extrapolation value was changed.

kFBFCurveEventTypeKeyPostExtrapolationChanged 

A curve post-extrapolation value was changed.

kFBFCurveEventTypeKeyMassOperation 

An operation affecting multiple keys was made.

Definition at line 1343 of file fbdata.h.

◆ FBInterpolation

Types of interpolation for an FCurve.

Enumerator
kFBInterpolationInvalid 

Invalid interpolation.

kFBInterpolationConstant 

Constant interpolation.

kFBInterpolationLinear 

Linear interpolation.

kFBInterpolationCubic 

Cubic interpolation.

kFBInterpolationCustom 

Custom interpolation.

kFBInterpolationCount 

Number of interpolation types.

Definition at line 117 of file fbdata.h.

◆ FBInterpolatorCurveType

Types of interpolator for an FCurve.

Definition at line 128 of file fbdata.h.

◆ FBLayerMode

Layer mode.

Enumerator
kFBLayerModeInvalidIndex 

Invalid value.

kFBLayerModeAdditive 

Layer value will be added to the other layers to computed the final value.

kFBLayerModeOverride 

Layer value will override the value of the other precedent layers.

kFBLayerModeOverridePassthrough 

If the layer has a weight of 75%, the precedent layers will have a combined effect of 25% on the final value. Setting the weight to 100% is similar to setting the layer in override.

Definition at line 1477 of file fbdata.h.

◆ FBLayerRotationMode

Rotation mode for layer.

Enumerator
kFBLayerRotationModeInvalidIndex 

Invalid value.

kFBLayerRotationModeEulerRotation 

The rotation will be computed component by component.

kFBLayerRotationModeQuaternionRotation 

The rotation will be computed using quaternion.

Definition at line 1488 of file fbdata.h.

◆ FBMergeLayerMode

Merge layer mode for animation layers. This will specify the mode of the resulting merged layer, if applicable (To BaseAnimation layer mode cannot be modified).

Enumerator
kFBMergeLayerModeAutomatic 

The resulting layer will be in override mode if one of the source layer is in override, otherwise, it will be in additive mode.

kFBMergeLayerModeAdditive 

The resulting layer will be in additive mode, if possible.

kFBMergeLayerModeOverride 

The resulting layer will be in override mode, if possible.

Definition at line 1621 of file fbdata.h.

◆ FBPropertyComponents

Property Components Bit Field (XYZ, RGB, RGBA, UV, XYZW, etc.).

Enumerator
kFBPropertyComponent0 

First component (e.g.: X, Red, etc.).

kFBPropertyComponent1 

Second component (e.g.: Y, Green, etc.).

kFBPropertyComponent2 

Third component (e.g.: Z, Blue, etc.).

kFBPropertyComponent3 

Fourth component (e.g.: W, Alpha, etc.).

kFBPropertyComponentAll 

All components.

Definition at line 1636 of file fbdata.h.

◆ FBPropertyStateEventType

This enum indicates what modification was made to the animation of a tracked property.

Enumerator
kFBPropertyStateEventTypeUnknownOperation 

Invalid event.

kFBPropertyStateEventTypeAttached 

Property connector was added (can happen when undoing a delete operation, which set back the property active in the scene)

kFBPropertyStateEventTypeDetached 

Property connector was detached (property animation was delete from the scene, but it still keep in case an undo operation is done)

kFBPropertyStateEventTypeDestroyed 

Property connector was destroyed (property animation was deleted)

kFBPropertyStateEventTypeMassOperation 

Property was heavily modified (switching to story tool, story clip deleted...)

Definition at line 1303 of file fbdata.h.

◆ FBTangentClampMode

Different clamping modes for the tangents.

Enumerator
kFBTangentClampModeNone 

The tangent will act normally.

kFBTangentClampModeClamped 

The tangent will be flattened when the key is placed at the same value as an adjacent key.

Definition at line 156 of file fbdata.h.

◆ FBTangentConstantMode

Different constant modes for the tangents.

Enumerator
kFBTangentConstantModeNormal 

The tangent will contain the value of the current keyframe until the next keyframe.

kFBTangentConstantModeNext 

The tangent will contain the value of the next keyframe.

Definition at line 166 of file fbdata.h.

◆ FBTangentCustomIndex

Custom tangent index for the tangents.

Enumerator
kFBTangentCustomIndex0 

First custom tangent type registered in the system.

kFBTangentCustomIndex1 

Second custom tangent type registered in the system.

kFBTangentCustomIndex2 

Third custom tangent type registered in the system.

Definition at line 198 of file fbdata.h.

◆ FBTangentMode

Methods of tangent calculation.

This is only relevant when interpolation is CUBIC.

Enumerator
kFBTangentModeAuto 

This is the equivalent to a cardinal spline with no parametrization. In the UI, it is identified as Smooth.

kFBTangentModeTCB 

TCB spline (3 parameters: TENSION, CONTINUITY, BIAS)

kFBTangentModeUser 

Used to represent all splines with no lost data (HERMITE, BEZIER, CATMUL, etc.)

kFBTangentModeBreak 

Like USER but left slope may differ from right.

kFBTangentModeTimeIndependent 

Time independent, is calculated based upon the slope between the previous and next key values. In the UI, it is identified as Spline.

kFBTangentModeClampProgressive 

Time independent, will flatten the tangent handles when the key value goes over or under the previous and next key values. In the UI, it is identified as Auto.

Definition at line 143 of file fbdata.h.

◆ FBTangentWeightMode

Active tangent weight, no/one/both side are active on a key.

Please note, the left value is for the next key, as the current key contains the tangent weight information for the next key. To disable the weight on the left side of a key at index "i", you need to disable "kFBTangentWeightModeNextLeft" the "i-1" key.

Enumerator
kFBTangentWeightModeNone 

Tangent weight disabled.

kFBTangentWeightModeRight 

Right tangent weight active.

kFBTangentWeightModeNextLeft 

Next key left tangent weight active.

kFBTangentWeightModeBoth 

Right tangent and next key left tangent weight are active.

Definition at line 208 of file fbdata.h.

◆ FBTimeMarkAction

Time (Global & Take) Mark assigned action.

Enumerator
kFBTimeMarkAction_None 

No action. The mark is just visual hint.

kFBTimeMarkAction_Stop 

When reaching the mark, the playback stops.

kFBTimeMarkAction_Loop 

When reaching the mark, the playback loops to previous global mark (or start frame if any).

Definition at line 1628 of file fbdata.h.

Function Documentation

◆ FB_DEFINE_COMPONENT()

FB_DEFINE_COMPONENT ( K_DLLIMPORT  ,
AnimationNode   
)

Animation node class.

◆ FBtoFBXProperty()

K_DLLIMPORT FBXSDK_NAMESPACE::FbxProperty FBtoFBXProperty ( FBProperty pSourceProperty,
FBTake pSourceTake,
FBXSDK_NAMESPACE::FbxObject *  pDestinationObject,
FBXSDK_NAMESPACE::FbxScene *  pDestinationScene,
FBXSDK_NAMESPACE::FbxAnimStack *  pDestinationStack,
bool  pCopyAnimation = true 
)

Convert a FBProperty to a FbxProperty, useful to extract some properties to a FBX file.

Parameters
pSourcePropertyProperty that will be exported.
pSourceTakeExported animation data will be taken from this take.
pDestinationObjectThe FbxObject object that will hold the FbxProperty.
pDestinationSceneThe FbxScene object containing the FbxObject object.
pDestinationStackThe FbxAnimStack object that will contain the animation data.
pCopyAnimationIf set to true, the animation will be copied (default is true).
Returns
The newly created FbxProperty if the property didn't exist on the pDestinationObject, or the existing property that was used to receive the data.

◆ FBXtoFBProperty()

K_DLLIMPORT FBProperty* FBXtoFBProperty ( FBXSDK_NAMESPACE::FbxProperty *  pSourceProperty,
FBXSDK_NAMESPACE::FbxAnimStack *  pSourceStack,
FBComponent pDestinationObject,
FBTake pDestinationTake,
bool  pCopyAnimation = true,
FBTime  pLimitStart = FBTime::MinusInfinity,
FBTime  pLimitEnd = FBTime::Infinity 
)

Convert a FbxProperty to a FBProperty, useful to extract some properties from a FBX file to a MotionBuilder scene.

Parameters
pSourcePropertyProperty that will be imported.
pSourceStackFbxAnimStack source object where the animation data will be taken.
pDestinationObjectThe FBComponent object that will hold the FBProperty.
pDestinationTakeThe FBTake object that will contain the animation data.
pCopyAnimationIf set to true, the animation will be copied (default is true).
pLimitStartIf set to a specific time, will remove the keys before that time (default is MinusInfinity).
pLimitEndIf set to a specific time, will remove the keys after that time (default is Infinity).
Returns
The newly created FBProperty if the property didn't exist on the pDestinationObject, or the existing property that was used to receive the data