13 #ifndef _FBXSDK_SCENE_ANIMATION_UTILITIES_H_
14 #define _FBXSDK_SCENE_ANIMATION_UTILITIES_H_
52 static bool IsChannelAnimated(
FbxObject* pObj,
const char* pPropertyName,
const char* pChannelName =
NULL);
91 FbxHandle GetHandle();
93 char* GetTimeWarpName()
const;
99 void* GetHandle(
unsigned int pId);
100 void* GetCurveHandle(
int pId = -1);
101 void SetCurveHandle(
void* pCurveHandle,
int pId = -1);
113 return (mImp == lRhs.mImp);
130 void SetValue(
float pVal);
133 void* GetCurveHandle();
134 void SetCurveHandle(
void* pData);
136 int GetPreExtrapolation();
137 int GetPreExtrapolationCount();
138 int GetPostExtrapolation();
139 int GetPostExtrapolationCount();
146 mIsAnimCurveImp = lRhs.mIsAnimCurveImp;
152 return (mImp == lRhs.mImp);
159 bool mIsAnimCurveImp;
static void ConnectTimeWarp(FbxAnimCurveNode *pCurveNode, CurveNodeIntfce &pData, FbxMultiMap &pTimeWarpsKFCurveNodes)
static void ShareAnimCurves(FbxProperty &pDstProperty, FbxProperty &pSrcProperty, FbxScene *pScene)
The animation layer is a collection of animation curve nodes.
static void ReleaseCurveNode(FbxAnimCurveNode *pCurveNode)
FBX SDK environment definition.
static void SetTimeWarpSet(FbxMultiMap *pTWset)
The Animation stack is a collection of animation layers.
This class is an composite of animation curves and is called as animation curve node.
bool operator==(CurveNodeIntfce &lRhs)
CurveIntfce & operator=(CurveIntfce &lRhs)
Utility class to manipulate strings.
EInterpolationType
Key interpolation type.
static void Resample(FbxAnimCurve &pSourceCurve, FbxAnimCurve &pTargetCurve, FbxTime &pStart, FbxTime &pStop, FbxTime &pPeriod, FbxAnimCurveDef::EInterpolationType pInterpolation, FbxAnimCurveDef::ETangentMode pTangentMode, bool pAddStopKey=false)
static void CopyFrom(FbxAnimCurve *pAC, CurveIntfce &pFC)
ETangentMode
Key tangent mode for cubic interpolation.
#define FBXSDK_TIME_INFINITE
bool operator==(CurveIntfce &lRhs)
Class to encapsulate time units.
The base class of most FBX objects.
CurveNodeIntfce & operator=(CurveNodeIntfce &lRhs)
This class contains the description of a 3D scene.
static void DestroyCurveNode(CurveNodeIntfce &pData)
static CurveNodeIntfce CreateTimeWarpNode(FbxAnimCurve *pAnimCurve, const char *pFalloffName)
Class to hold user properties.
static int SplitAnimationIntoMultipleStacks(FbxScene *pScene, const FbxArray< FbxAnimSplitDef * > &pAnimSplitDefinitions, const FbxAnimStack *pSrcAnimStack, FbxArray< FbxAnimStack * > &pDstStacks)
FbxAnimSplitDef(const FbxString &pName, FbxTime &pStart, FbxTime &pEnd)
FbxIO represents an FBX file.
An animation curve, defined by a collection of keys (FbxAnimCurveKey), and indicating how a value cha...
static void DestroyCurve(CurveIntfce &pData)
static void MergeLayerAndTimeWarp(FbxObject *pObj, FbxAnimLayer *pAnimLayer)
static bool CompareCurves(FbxAnimCurve *pAC1, FbxAnimCurve *pAC2)
#define FBXSDK_TIME_MINUS_INFINITE
static CurveNodeIntfce GrabCurveNode(FbxAnimCurveNode *pCN)
static void StoreCurveNode(CurveNodeIntfce &pData, FbxIO *mFileObject)
static void RestrieveCurveNode(CurveNodeIntfce &pData, FbxIO *mFileObject)
Class to manipulate a map that can contain multiple times the same key.
static CurveNodeIntfce CreateCurveNode(const char *pName)
Class for array of basic elements such as pointers and basic types.