Open Reality Reference Guide
 
Loading...
Searching...
No Matches
fbdata.h
Go to the documentation of this file.
1#ifndef __FBDATA_H__
2#define __FBDATA_H__
3/**************************************************************************
4Copyright (c) 1994 - 2009 Autodesk, Inc. and/or its licensors.
5All Rights Reserved.
6
7The coded instructions, statements, computer programs, and/or related
8material (collectively the "Data") in these files contain unpublished
9information proprietary to Autodesk, Inc. and/or its licensors, which is
10protected by Canada and United States of America federal copyright law
11and by international treaties.
12
13The Data may not be disclosed or distributed to third parties, in whole
14or in part, without the prior written consent of Autodesk, Inc.
15("Autodesk").
16
17THE DATA IS PROVIDED "AS IS" AND WITHOUT WARRANTY.
18ALL WARRANTIES ARE EXPRESSLY EXCLUDED AND DISCLAIMED. AUTODESK MAKES NO
19WARRANTY OF ANY KIND WITH RESPECT TO THE DATA, EXPRESS, IMPLIED OR
20ARISING BY CUSTOM OR TRADE USAGE, AND DISCLAIMS ANY IMPLIED WARRANTIES
21OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
22PURPOSE OR USE. WITHOUT LIMITING THE FOREGOING, AUTODESK DOES NOT
23WARRANT THAT THE OPERATION OF THE DATA WILL BE UNINTERRUPTED OR ERROR
24FREE.
25
26IN NO EVENT SHALL AUTODESK, ITS AFFILIATES, PARENT COMPANIES, LICENSORS
27OR SUPPLIERS ("AUTODESK GROUP") BE LIABLE FOR ANY LOSSES, DAMAGES OR
28EXPENSES OF ANY KIND (INCLUDING WITHOUT LIMITATION PUNITIVE OR MULTIPLE
29DAMAGES OR OTHER SPECIAL, DIRECT, INDIRECT, EXEMPLARY, INCIDENTAL, LOSS
30OF PROFITS, REVENUE OR DATA, COST OF COVER OR CONSEQUENTIAL LOSSES OR
31DAMAGES OF ANY KIND), HOWEVER CAUSED, AND REGARDLESS OF THE THEORY OF
32LIABILITY, WHETHER DERIVED FROM CONTRACT, TORT (INCLUDING, BUT NOT
33LIMITED TO, NEGLIGENCE), OR OTHERWISE, ARISING OUT OF OR RELATING TO THE
34DATA OR ITS USE OR ANY OTHER PERFORMANCE, WHETHER OR NOT AUTODESK HAS
35BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS OR DAMAGE.
36
37**************************************************************************/
38
45#include <kaydaradef.h>
46#ifndef FBSDK_DLL
50 #define FBSDK_DLL K_DLLIMPORT
51#endif
52
53#include <fbsdk/fbcomponent.h>
54
55#include <fbxsdk/fbxsdk_nsbegin.h>
56 class FbxAnimCurveNode;
57 class FbxScene;
58 class FbxAnimStack;
59 class FbxProperty;
60 class FbxObject;
61#include <fbxsdk/fbxsdk_nsend.h>
62
64
65// Basic types
66#define ANIMATIONNODE_TYPE_NUMBER "Number"
67#define ANIMATIONNODE_TYPE_TIME "Time"
68#define ANIMATIONNODE_TYPE_TIMECODE "TimeCode"
69#define ANIMATIONNODE_TYPE_VECTOR "Vector"
70#define ANIMATIONNODE_TYPE_VECTOR_4 "Vector4"
71#define ANIMATIONNODE_TYPE_OBJECT "Object"
72#define ANIMATIONNODE_TYPE_REFERENCE "Reference"
73#define ANIMATIONNODE_TYPE_EVENT "Event"
74#define ANIMATIONNODE_TYPE_STRING "String"
75
76// Types which are numbers
77#define ANIMATIONNODE_TYPE_ACTION "Action"
78#define ANIMATIONNODE_TYPE_BOOL "Bool"
79#define ANIMATIONNODE_TYPE_ENUM "Enum"
80#define ANIMATIONNODE_TYPE_INTEGER "Integer"
81#define ANIMATIONNODE_TYPE_OCCLUSION "Occlusion"
82#define ANIMATIONNODE_TYPE_FIELDOFVIEWX "FieldOfViewX"
83#define ANIMATIONNODE_TYPE_FIELDOFVIEWY "FieldOfViewY"
84#define ANIMATIONNODE_TYPE_OPTICALCENTERX "OpticalCenterX"
85#define ANIMATIONNODE_TYPE_OPTICALCENTERY "OpticalCenterY"
86#define ANIMATIONNODE_TYPE_IKREACHTRANSLATION "IK Reach Translation"
87#define ANIMATIONNODE_TYPE_IKREACHROTATION "IK Reach Rotation"
88
89// Types which are vectors (3 members)
90#define ANIMATIONNODE_TYPE_COLOR "Color"
91#define ANIMATIONNODE_TYPE_LOCAL_TRANSLATION "Lcl Translation"
92#define ANIMATIONNODE_TYPE_LOCAL_ROTATION "Lcl Rotation"
93#define ANIMATIONNODE_TYPE_LOCAL_SCALING "Lcl Scaling"
94#define ANIMATIONNODE_TYPE_TRANSLATION "Translation"
95#define ANIMATIONNODE_TYPE_ROTATION "Rotation"
96#define ANIMATIONNODE_TYPE_SCALING "Scaling"
97
98// Types which are vectors (4 members)
99#define ANIMATIONNODE_TYPE_COLOR_RGBA "ColorAndAlpha"
100
102
103class KFCurve;
104
105#include <fbxsdk/fbxsdk_nsbegin.h>
106 class FbxAnimCurve;
107#include <fbxsdk/fbxsdk_nsend.h>
108
109#ifdef FBSDKUseNamespace
110namespace FBSDKNamespace {
111#endif
112
115
124 };
125 FB_DEFINE_ENUM( FBSDK_DLL, Interpolation );
126
129 kFBInterpolatorCurveLinearIn,
130 kFBInterpolatorCurveLinearOut,
131 kFBInterpolatorCurveSmoothIn,
132 kFBInterpolatorCurveSmoothOut,
133 kFBInterpolatorCurveSlowIn,
134 kFBInterpolatorCurveSlowOut,
135 kFBInterpolatorCurveFastIn,
136 kFBInterpolatorCurveFastOut,
137 kFBInterpolatorCurveLast
138 };
139
150 };
151 FB_DEFINE_ENUM( FBSDK_DLL, TangentMode );
152
159 //Add other clamping methods here...
160 };
161 FB_DEFINE_ENUM( FBSDK_DLL, TangentClampMode );
162
169 };
170 FB_DEFINE_ENUM( FBSDK_DLL, TangentConstantMode );
171
176 kFCurveExtrapolationConst = 1,
177 kFCurveExtrapolationRepetition = 2,
178 kFCurveExtrapolationMirrorRepetition = 3,
179 kFCurveExtrapolationKeepSlope = 4,
180 kFCurveExtrapolationRelativeRepetition = 5
181 };
182 FB_DEFINE_ENUM( FBSDK_DLL, ExtrapolationMode );
183
192 };
193 FB_DEFINE_ENUM( FBSDK_DLL, AnimationNodeConnectorType );
194
202 };
203 FB_DEFINE_ENUM( FBSDK_DLL, TangentCustomIndex );
204
213 };
214 FB_DEFINE_ENUM( FBSDK_DLL, TangentWeightMode );
215
217 // FBFCurveKey
222
225 {
226 private:
227 DataFBFCurveKey* mLocalPtr;
228 void FBFCurveKeyInitProperties();
230 void PropertyAdd( FBProperty* ) {};
231 public:
236 FBFCurveKey( ::KFCurve* pFCurve=NULL, int pKeyIndex=1 );
237
241 FBFCurveKey( const FBFCurveKey &pFCurveKey );
242
246
252 bool operator==(const FBFCurveKey &pValue) const;
253
254 // To convert the derivative values to degrees (as shown in Exact mode):
255 // degrees( atan( RightDerivative ))
256 // -1 * degrees( atan( LeftDerivative ))
257 //
258 // To convert from the exact degree in Exact mode in the GUI to the corresponding
259 // derivative:
260 // tan( radians( RightDerivative ))
261 // tan( radians( -1 * LeftDerivative ))
269
270 // TCB
274
276 FBPropertyInterpolation Interpolation;
277 FBPropertyTangentMode TangentMode;
278 FBPropertyTangentClampMode TangentClampMode;
280 FBPropertyTangentConstantMode TangentConstantMode;
281 FBPropertyTangentWeightMode TangentWeightMode;
282 FBPropertyExtrapolationMode ExtrapolationMode;
283 FBPropertyTangentCustomIndex TangentCustomIndex;
284
287
288 friend class FBFCurve;
289 friend class FBPropertyListFCurveKey;
290 };
291
293 // FBPropertyListFCurveKey
296
299 {
300 private:
306 virtual int Add ( FBFCurveKey pItem );
307
313 virtual int Remove ( FBFCurveKey pItem );
314
315 public:
316
320 virtual void RemoveAt( int pIndex );
321
326 virtual FBFCurveKey operator[](int pIndex);
327
331 virtual int GetCount();
332 };
333
335 // FBFCurve
338
342 public:
346 FBFCurve(HIObject pObject=NULL);
347
350 virtual void FBDelete() override;
351
356 float Evaluate(FBTime &pTime);
357
361 void EditBegin(int pKeyCount=-1);
362
366 void EditEnd(int pKeyCount=-1);
367
369 void EditClear();
370
378 int KeyAdd( FBTime &pTime, double pValue, FBInterpolation pInterpolation=kFBInterpolationCubic, FBTangentMode pTangentMode=kFBTangentModeAuto );
379
393 bool KeysAdd( const FBArrayTemplate<FBTime>& pTimes,
394 const FBArrayDouble& pValues,
397
411 bool KeysSetValues( const FBArrayUInt& pIndices,
412 const FBArrayDouble& pValues,
415
420 bool KeyRemove( int pIndex );
421
428 bool KeyDelete( int pStartIndex, int pStopIndex );
429
437 bool KeyDelete( FBTime pStart = FBTime::MinusInfinity, FBTime pStop = FBTime::Infinity, bool pInclusive = false );
438
445
453 void KeyReplaceBy( FBFCurve& pSource, FBTime pStart = FBTime::MinusInfinity, FBTime pStop = FBTime::Infinity, bool pUseExactGivenSpan = false, bool pKeyStartEndOnNoKey = true );
454
463 FBTime& pOffsetTime,
464 int pStartIndex,
465 int pStopIndex );
466
476 FBTime& pOffsetTime,
477 FBTime pStartTime = FBTime::MinusInfinity,
478 FBTime pStopTime = FBTime::Infinity,
479 bool pInclusive = true );
480
485
489
493
497
501
505
509
513
516 void SetPreExtrapolationCount(int pCount);
517
518 FBPropertyListFCurveKey GetKeys(){ return Keys; };
519 void SetKeys(FBPropertyListFCurveKey pKeys){ Keys = pKeys; };
521
526 float KeyGetValue(int pIndex);
527
532 void KeySetValue(int pIndex, float pValue);
533
538 float KeyGetLeftDerivative(int pIndex);
539
544 void KeySetLeftDerivative(int pIndex, float pValue);
545
550 float KeyGetRightDerivative(int pIndex);
551
556 void KeySetRightDerivative(int pIndex, float pValue);
557
562 float KeyGetLeftTangentWeight(int pIndex);
563
568 void KeySetLeftTangentWeight(int pIndex, float pValue);
569
574 float KeyGetRightTangentWeight(int pIndex);
575
580 void KeySetRightTangentWeight(int pIndex, float pValue);
581
586 float KeyGetLeftBezierTangent(int pIndex);
587
592 void KeySetLeftBezierTangent(int pIndex, float pValue);
593
598 float KeyGetRightBezierTangent(int pIndex);
599
604 void KeySetRightBezierTangent(int pIndex, float pValue);
605
610 float KeyGetTCBTension(int pIndex);
611
616 void KeySetTCBTension(int pIndex, float pValue);
617
622 float KeyGetTCBContinuity(int pIndex);
623
628 void KeySetTCBContinuity(int pIndex, float pValue);
629
634 float KeyGetTCBBias(int pIndex);
635
640 void KeySetTCBBias(int pIndex, float pValue);
641
646 FBTime KeyGetTime(int pIndex);
647
652 void KeySetTime(int pIndex, FBTime pValue);
653
659
664 void KeySetInterpolation(int pIndex, FBInterpolation pValue);
665
671
676 void KeySetTangentMode(int pIndex, FBTangentMode pValue);
677
683
689
694 bool KeyGetTangentBreak(int pIndex);
695
700 void KeySetTangentBreak(int pIndex, bool pValue);
701
707
713
719
725
731
737
742 bool KeyGetSelected(int pIndex);
743
749 bool KeySetSelected(int pIndex, bool pValue);
750
756
762 bool KeySetMarkedForManipulation(int pIndex, bool pValue);
763 };
764
766
768 // FBFCurveCustomTangent
771
775 public:
779 FBFCurveCustomTangent(HIObject pObject=NULL);
780
783 virtual void FBDelete() override;
784
788 };
789
791
795 {
796 public:
799
805 };
806
808 // FBPropertyListAnimationNode
812 FB_DEFINE_LIST( FBSDK_DLL, AnimationNode );
813
816 {
817 public:
822 virtual int Add ( FBAnimationNode* pItem );
827 virtual int Remove ( FBAnimationNode* pItem );
831 virtual void RemoveAt( int pIndex );
836 virtual FBAnimationNode* operator[](int pIndex);
840 virtual int GetCount();
846 FBAnimationNode* Find( FBBox *pOriginalOwner, const char* pDataType );
851 FBAnimationNode* Find( const char* pNodeName );
856 FBAnimationNode* FindByLabel( const char* pNodeLabel );
857 };
858
860 // FBEventAnimationNode
863
866 kFBEventAnimationNodeDataChange,
867 kFBEventAnimationNodeConstraintChange,
868 kFBEventAnimationNodeNone
869 };
870
871 FB_DEFINE_ENUM( FBSDK_DLL, EventAnimationNodeType );
872
874
882 {
883 public:
887 FBEventAnimationNode( HKEventBase pEvent );
888
889 FBPropertyEventAnimationNodeType Type;
890 };
891
893 // FBCurveEvaluationEvent
896
899 {
900 public:
905 FBCurveEvaluationEvent( HKEventBase pEvent );
906
910 FBXSDK_NAMESPACE::FbxAnimCurve* GetFBXCurve();
911
914 FBPropertyFCurve Curve;
916
919 };
920
922 // FBCurveCustomKeyAddEvent
925
928 {
929 public:
933 FBCurveCustomKeyAddEvent( HKEventBase pEvent );
934
939
944
947 FBPropertyFCurve Curve;
948 };
949
951 // FBCurveCustomKeyChangeEvent
954
957 {
961 };
962 FB_DEFINE_ENUM( FBSDK_DLL, CustomKeyChangeType );
963
966 {
967 public:
971 FBCurveCustomKeyChangeEvent( HKEventBase pEvent );
972
977
982
984 FBPropertyCustomKeyChangeType ChangeType;
985
988 FBPropertyFCurve Curve;
989 };
990
992 // FBPropertyEventAnimationNode
996 {
997 public:
1002 virtual void Add ( HICallback pOwner, kICallbackHandler pHandler );
1003 virtual void Remove ( HICallback pOwner, kICallbackHandler pHandler );
1004 };
1012 typedef bool (* kFBDataHandler )(void* pBuffer,FBEvaluateInfo* pEvaluateInfo,FBAnimationNode* pAnimationNode,void* p1,void* p2);
1013
1015 // FBPropertyEventAnimationNodeEvaluate
1019 {
1020 public:
1025 virtual void Add ( HICallback pOwner, kICallbackHandler pHandler );
1026 virtual void Remove ( HICallback pOwner, kICallbackHandler pHandler );
1027 };
1028
1030 // FBPropertyEventAnimationNodeKeyAdd
1034 {
1035 public:
1040 virtual void Add ( HICallback pOwner, kICallbackHandler pHandler );
1041 virtual void Remove ( HICallback pOwner, kICallbackHandler pHandler );
1042 };
1043
1045 // FBPropertyEventAnimationNodeCustomKeyAdd
1049 {
1050 public:
1055 virtual void Add ( HICallback pOwner, kICallbackHandler pHandler );
1056 virtual void Remove ( HICallback pOwner, kICallbackHandler pHandler );
1057 };
1058
1060 // FBPropertyEventAnimationNodeCustomKeyChange
1064 {
1065 public:
1070 virtual void Add ( HICallback pOwner, kICallbackHandler pHandler );
1071 virtual void Remove ( HICallback pOwner, kICallbackHandler pHandler );
1072 };
1073
1075 // FBAnimationNode
1079
1081 {
1083 public:
1088 FBAnimationNode(const char *pName = NULL, HIObject pObject=NULL);
1089
1096 void KeyAdd( const FBTime &pTime, double *pData, FBInterpolation pInterpolation=kFBInterpolationCubic, FBTangentMode pTangentMode=kFBTangentModeAuto );
1097
1103 void KeyAdd( double *pData, FBInterpolation pInterpolation=kFBInterpolationCubic, FBTangentMode pTangentMode=kFBTangentModeAuto );
1104
1109 bool SetCandidate( double* Data, bool pCheckLocked = false );
1110
1114 void SetBufferType( bool pGlobal );
1115
1120
1124
1129
1135 bool WriteData( double* Data,FBEvaluateInfo* pEvaluateInfo );
1136
1142 bool WriteGlobalData( double* Data,FBEvaluateInfo* pEvaluateInfo );
1143
1150 bool ReadData( double* Data,FBEvaluateInfo* pEvaluateInfo, bool pConvertGlobalToLocal = false );
1151
1163 bool ReadData( double *Data, FBTime pTime, bool pConvertGlobalToLocal = false );
1164
1172 bool ReadData( double* Data );
1173
1180 bool Evaluate( double* Data, FBTime pTime, bool pEvaluateCandidate = true );
1181
1184
1192 void DisableIfNotWritten( FBEvaluateInfo* pEvaluateInfo );
1193
1197 bool IsKey();
1198
1202
1206 void KeyRemoveAt( FBTime pTime );
1207
1212
1217
1222
1227
1232 FBPropertyFCurve FCurve;
1235 FBPropertyAnimationNode Parent;
1236 FBPropertyInterpolation DefaultInterpolation;
1237 FBPropertyAnimationNodeConnectorType ConnectorType;
1238
1240
1242
1243 friend class FBBox;
1244 };
1245
1247 // FBAnimationStack
1249
1251
1257 {
1258 //--- Open Reality declaration.
1260 public:
1261
1266 FBAnimationStack(const char *pName, HIObject pObject=NULL);
1267
1270 virtual void FBDelete() override;
1271
1272 };
1273
1275 // FBFCurveCustomTangentManager
1278
1283 {
1285
1288
1289 public:
1290
1297 int AddCustomTangentType(const char* pTangentName, const char* pTangentFBXName);
1298
1304 bool RemoveCustomTangentType(const char* pTangentName);
1305
1310
1315 const char* GetCustomTangentTypeName(int pIndex);
1316
1318
1321
1323
1328 };
1329
1331 // FBPropertyStateEvent
1333
1343 };
1344 FB_DEFINE_ENUM( FBSDK_DLL, PropertyStateEventType );
1345
1347
1350 {
1351 public:
1355 FBPropertyStateEvent( HKEventBase pEvent );
1356
1361
1366
1367 FBPropertyPropertyStateEventType EventType;
1368 };
1369
1371 // FBFCurveEvent
1373
1397 };
1398 FB_DEFINE_ENUM( FBSDK_DLL, FCurveEventType );
1399
1401
1404 {
1405 public:
1409 FBFCurveEvent( HKEventBase pEvent );
1410
1415
1420
1425
1426 FBPropertyFCurveEventType EventType;
1429 FBPropertyFCurve Curve;
1432 };
1433
1435 // FBPropertyChanged
1439 {
1440 public:
1445 virtual void Add ( HICallback pOwner, kICallbackHandler pHandler );
1446 virtual void Remove ( HICallback pOwner, kICallbackHandler pHandler );
1447 };
1448
1450 // FBFCurveChanged
1454 {
1455 public:
1460 virtual void Add ( HICallback pOwner, kICallbackHandler pHandler );
1461 virtual void Remove ( HICallback pOwner, kICallbackHandler pHandler );
1462 };
1463
1465 // FBFCurveEventManager
1468
1473 {
1475
1478
1479 public:
1480
1487
1494
1497
1502 };
1503
1505 // FBAnimationLayer
1507
1517 FB_DEFINE_ENUM( FBSDK_DLL, LayerMode );
1518
1527 FB_DEFINE_ENUM( FBSDK_DLL, LayerRotationMode );
1528
1529
1531
1540 {
1541 //--- Open Reality declaration.
1543 public:
1544
1550 FBAnimationLayer(const char *pName, int pLayerID, HIObject pObject=NULL);
1551
1554 virtual void FBDelete() override;
1555
1561 FBPropertyLayerMode LayerMode;
1562 FBPropertyLayerRotationMode LayerRotationMode;
1563
1567 void AddChildLayer( FBAnimationLayer* pAnimationLayer );
1568
1574
1579
1587
1592
1597
1602
1607 void SelectLayer(bool pValue, bool pExclusiveSelect);
1608
1613 };
1614
1615
1618 // FBPropertyListTake
1620
1624 {
1625 public:
1631 FBTake* operator[](int pIndex);
1632
1637 virtual int Add( FBComponent* pItem ) override;
1638
1642 virtual void RemoveAt( int pIndex ) override;
1643 };
1644
1653 };
1654
1660 };
1661
1664{
1668};
1669
1681
1683 // FBTake
1685
1729 public:
1734 FBTake(const char* pName, HIObject pObject=NULL);
1735
1740 virtual void FBDelete() override;
1741
1750 FBTake* CopyTake( const char *pNewTakeName );
1751
1755
1759 void RemoveLayer(int pLayerIndex);
1760
1765 FBAnimationLayer* GetLayer(int pLayerIndex);
1766
1771 FBAnimationLayer* GetLayerByName(const char* pName);
1772
1776 void SetCurrentLayer(int pLayerIndex);
1777
1782
1787
1792
1797
1801
1808 void MergeLayers(FBAnimationLayerMergeOptions pMergeOptions, bool pDeleteMergedLayers, FBMergeLayerMode pMergeMode, bool pMergeLockedProperties = false);
1809
1810// COMMENT MERGE PREIVEW
1811#ifdef MERGE_PREVIEW
1819 bool CanDoMergePreview();
1820
1824 bool IsInMergePreviewMode();
1825
1829 bool DoMergePreview();
1830
1833 void QuitMergePreview();
1834#endif
1835
1841
1847
1852 void PlotTakeOnSelected(FBTime pPlotPeriod);
1853
1859
1865
1871
1876 void ClearAllProperties(bool pOnSelectedObjectsOnly, bool pOnLockedProperties = false);
1877
1881
1885
1893 void PlotTakeOnObjects( FBPlotOptions* pPlotOptions, FBArrayTemplate<FBBox *> *pObjectsToPlot );
1894
1902 void PlotTakeOnObjects( FBTime pPlotPeriod, FBArrayTemplate<FBBox *> *pObjectsToPlot );
1903
1911 void PlotAllTakesOnObjects( FBTime pPlotPeriod, FBArrayTemplate<FBBox *> *pObjectsToPlot );
1912
1918 void PlotTakeOnProperties( FBPlotOptions* pPlotOptions, FBArrayTemplate<FBProperty *> *pPropertiesToPlot );
1919
1925 void PlotTakeOnProperties( FBTime pPlotPeriod, FBArrayTemplate<FBProperty *> *pPropertiesToPlot );
1926
1932 void PlotAllTakesOnProperties( FBTime pPlotPeriod, FBArrayTemplate<FBProperty *> *pPropertiesToPlot );
1933
1934
1941 int AddTimeMark( FBTime pTime, const char* pName = NULL );
1942
1948 bool DeleteTimeMark( int pIndex );
1949
1953
1958
1964
1971 int SetTimeMarkTime( int pIndex, FBTime pTime );
1972
1977 const char* GetTimeMarkName( int pIndex );
1978
1984 bool SetTimeMarkName( int pIndex, const char* pName );
1985
1991
1997 bool SetTimeMarkAction( int pIndex, FBTimeMarkAction pAction );
1998
2004
2010 bool SetTimeMarkColor( int pIndex, FBColor pColor );
2011
2016 bool GetTimeMarkLock( int pIndex );
2017
2023 bool SetTimeMarkLock( int pIndex, bool pLock );
2024
2029 bool SetAllTimeMarkLock( bool pLock );
2030
2038 void SetLayerRealSelection(bool pValue);
2039
2045
2050
2055
2067 FBTime& pOffsetTime,
2068 FBTime pStartTime = FBTime::MinusInfinity,
2069 FBTime pStopTime = FBTime::Infinity,
2070 bool pInclusive = true,
2071 int pLayerID = -1,
2072 bool pOnLockedProperties = false );
2073
2086 FBArrayTemplate<FBBox*>* pObjects,
2087 FBTime& pOffsetTime,
2088 FBTime pStartTime = FBTime::MinusInfinity,
2089 FBTime pStopTime = FBTime::Infinity,
2090 bool pInclusive = true,
2091 int pLayerID = -1,
2092 bool pOnLockedProperties = false );
2093
2107 FBArrayTemplate<FBProperty*>* pProperties,
2108 FBTime& pOffsetTime,
2109 FBTime pStartTime = FBTime::MinusInfinity,
2110 FBTime pStopTime = FBTime::Infinity,
2111 bool pInclusive = true,
2112 int pLayerID = -1,
2113 bool pOnLockedProperties = false,
2114 FBPropertyComponents pPropertyComponents = kFBPropertyComponentAll );
2115
2125 FBTime pStartTime = FBTime::MinusInfinity,
2126 FBTime pStopTime = FBTime::Infinity,
2127 bool pInclusive = true,
2128 int pLayerID = -1,
2129 bool pOnLockedProperties = false );
2130
2141 FBArrayTemplate<FBBox*>* pObjects,
2142 FBTime pStartTime = FBTime::MinusInfinity,
2143 FBTime pStopTime = FBTime::Infinity,
2144 bool pInclusive = true,
2145 int pLayerID = -1,
2146 bool pOnLockedProperties = false );
2147
2159 FBArrayTemplate<FBProperty*>* pProperties,
2160 FBTime pStartTime = FBTime::MinusInfinity,
2161 FBTime pStopTime = FBTime::Infinity,
2162 bool pInclusive = true,
2163 int pLayerID = -1,
2164 bool pOnLockedProperties = false,
2165 FBPropertyComponents pPropertyComponents = kFBPropertyComponentAll );
2166 };
2167
2169
2171 // FBTimeWarpManager
2174
2179 {
2181
2182 public:
2183 typedef void (*TimeWarpChangeCallback)(void* pObject);
2184
2189
2190
2194
2199
2204
2209 void TimeWarpCopyTake(FBTake* pDstTake, FBTake* pSrcTake );
2210
2211
2217 void TimeWarpAddToTake(FBTake* pTake, FBAnimationNode* pTimeWarp, int pNickNumber=0);
2218
2225 K_DEPRECATED_2023 void DestroyTimeWarpFromTake(FBTake* pTake, FBAnimationNode* pTimeWarp);
2226
2232 K_DEPRECATED_2023 void RemoveTimeWarpFromScene(FBAnimationNode* pTimeWarp);
2233
2240
2246
2253
2254
2261
2268 bool SetTimeWarpNickNumber(FBTake* pTake, FBAnimationNode* pTimeWarp, int pNumber);
2269
2275 int GetTimeWarpNickNumberAtIndex(FBTake* pTake, kLong pIndex);
2276
2283
2289
2290
2297 bool ApplyTimeWarp(FBTake* pTake, FBProperty* pEvalProp, FBAnimationNode* pTimeWarp);
2298
2303 void RemoveTimeWarp(FBTake* pTake, FBProperty* pEvalProp );
2304
2305
2310 void TimeWarpRegisterChangeEvent(TimeWarpChangeCallback pCallback, void* pObject);
2311
2316 void TimeWarpUnregisterChangeEvent(TimeWarpChangeCallback pCallback, void* pObject);
2317
2318
2323 FBAnimationNode* TimeWarpCreateNew( const char* pName );
2324
2325
2331 void TimeWarpRename( FBTake* pTake, FBAnimationNode* pTimeWarp, const char* pNewName );
2332
2339 void TimeWarpMergeCurveNode( FBTake* pTake,FBProperty* pEvalProp, FBAnimationNode* pNode, FBAnimationNode* pTimeWarpNode );
2340
2345 };
2346
2356FBSDK_DLL FBXSDK_NAMESPACE::FbxProperty FBtoFBXProperty(FBProperty* pSourceProperty, FBTake* pSourceTake, FBXSDK_NAMESPACE::FbxObject* pDestinationObject, FBXSDK_NAMESPACE::FbxScene* pDestinationScene, FBXSDK_NAMESPACE::FbxAnimStack* pDestinationStack, bool pCopyAnimation=true);
2357
2368FBSDK_DLL 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);
2369
2370#ifdef FBSDKUseNamespace
2371}
2372#endif
2373
2374#endif
2375
Used to access animation layer properties and modify them.
Definition fbdata.h:1540
void AddChildLayer(FBAnimationLayer *pAnimationLayer)
Add a child to the layer.
FBPropertyBool Lock
Read Write Property: If true, the layer is locked. You cannot modify keyframes on a locked layer.
Definition fbdata.h:1559
void SelectLayer(bool pValue, bool pExclusiveSelect)
Select the layer.
virtual void FBDelete() override
Virtual FBDelete function.
int GetChildCount()
Get the child layer count of this layer.
FBPropertyBool Solo
Read Write Property: If true, the layer is soloed. When you solo a layer, you mute other layers that ...
Definition fbdata.h:1557
FBPropertyLayerRotationMode LayerRotationMode
Read Only Property: Layer rotation mode. Cannot be applied to the BaseAnimation Layer.
Definition fbdata.h:1562
bool IsSelected()
Verify if the layer is selected.
FBAnimationLayer(const char *pName, int pLayerID, HIObject pObject=NULL)
Constructor.
int GetLayerIndex()
Get the layer index.
void GetCompleteChildHierarchy(FBArrayTemplate< FBAnimationLayer * > *pChildArray)
Get the all the children hierarchy of the layer, including children not directly connected to this la...
FBPropertyLayerMode LayerMode
Read Write Property: Layer mode. By default, the layer is in kFBLayerModeAdditive mode....
Definition fbdata.h:1561
FBPropertyBool Mute
Read Write Property: If true, the layer is muted. A muted layer is not included in the result animati...
Definition fbdata.h:1558
void SetParentLayer(FBAnimationLayer *pParentLayer)
Set the parent layer.
FBPropertyColor Color
Read Write Property: The animation layer color.
Definition fbdata.h:1556
FBPropertyAnimatableDouble Weight
Read Write Property: The weight value of a layer determines how much it is present in the result anim...
Definition fbdata.h:1560
FBAnimationLayer * GetParentLayer()
Get the parent layer.
FBAnimationLayer * GetChildLayer(int pIndex)
Get the nth child layer of this layer.
void KeyCandidate(FBTime pTime=FBTime::Infinity)
Keys the current candidate values if no time is specified, at current time.
bool ReadData(double *Data)
Read the last data evaluated for this animation node ... this call doesn't generate a pull on the con...
bool IsEvaluationRecursive(FBEvaluateInfo *pEvaluateInfo)
Return true if the animation node had valid data for pEvaluateInfo and read from this connector cause...
FBPropertyBool Live
Read Write Property: Is animation live?
Definition fbdata.h:1233
FBPropertyInt KeyCount
Read Only Property: Number of keys.
Definition fbdata.h:1231
bool Evaluate(double *Data, FBTime pTime, bool pEvaluateCandidate=true)
Evaluate the animation node data for a given time.
FBAnimationNode * GetAnimationToPlay()
Get animation node to play from.
FBTime ConvertNodeToGlobalTime(FBTime &pKeyTime)
Convert node time to global time.
bool ReadData(double *Data, FBEvaluateInfo *pEvaluateInfo, bool pConvertGlobalToLocal=false)
Read data from animation node.
FBPropertykReference Reference
Read Write Property: User-defined reference.
Definition fbdata.h:1230
FBPropertyBool RecordMode
Read Write Property: Is the node in recording mode (device connectors)?
Definition fbdata.h:1234
FBPropertyString UserName
Read Only Property: Name of animation node.
Definition fbdata.h:1229
void KeyRemove()
Remove key at current time.
FBPropertyAnimationNode Parent
Read Only Property: Parent animation node.
Definition fbdata.h:1235
FBPropertyListAnimationNode Nodes
List: List of animation nodes.
Definition fbdata.h:1239
bool SetCandidate(double *Data, bool pCheckLocked=false)
Set the current candidate values for current time.
FBPropertyString Label
Read Write Property: Label (UI Name).
Definition fbdata.h:1228
void KeyAdd(const FBTime &pTime, double *pData, FBInterpolation pInterpolation=kFBInterpolationCubic, FBTangentMode pTangentMode=kFBTangentModeAuto)
Add a key to the animation node.
bool ReadData(double *Data, FBTime pTime, bool pConvertGlobalToLocal=false)
Read data from animation node.
FBAnimationNode * GetAnimationToRecord()
Get animation node to record to.
bool WriteData(double *Data, FBEvaluateInfo *pEvaluateInfo)
Write data to animation node.
int GetSizeOfData()
Get sizeof void Data Ptr.
bool WriteGlobalData(double *Data, FBEvaluateInfo *pEvaluateInfo)
Write global data to animation node.
FBPropertyInterpolation DefaultInterpolation
Read Write Property: Default type of interpolation.
Definition fbdata.h:1236
FBPropertyEventAnimationNode OnChange
Event: Called when the value of this property is modified
Definition fbdata.h:1241
bool IsKey()
Verifies if there is a key at the current.
FBTime ConvertGlobalToNodeTime(FBTime &pKeyTime)
Convert global time to node time.
FBPropertyFCurve FCurve
Read Write Property: FCurve for animation.
Definition fbdata.h:1232
void KeyRemoveAt(FBTime pTime)
Remove key at the specified time.
FBPropertyAnimationNodeConnectorType ConnectorType
Read Only Property: Animation node connector type.
Definition fbdata.h:1237
void SetBufferType(bool pGlobal)
Set buffer type for ANIMATIONNODE_TYPE_LOCAL_TRANSLATION, ANIMATIONNODE_TYPE_LOCAL_ROTATION and ANIMA...
FBAnimationNode(const char *pName=NULL, HIObject pObject=NULL)
Constructor.
void KeyAdd(double *pData, FBInterpolation pInterpolation=kFBInterpolationCubic, FBTangentMode pTangentMode=kFBTangentModeAuto)
Add a key to the animation node at current time.
void DisableIfNotWritten(FBEvaluateInfo *pEvaluateInfo)
AnimationNodeNotify is called on FBBox for every animation node that data was pulled by system.
int GetDataDoubleArrayCount()
If the DataPtr is of numeric value type ... get the size of the array ex: Light Intensity:1,...
Used to access animation stack.
Definition fbdata.h:1257
virtual void FBDelete() override
Virtual FBDelete function.
FBAnimationStack(const char *pName, HIObject pObject=NULL)
Constructor.
Template class to contain an array of items.
Definition fbarray.h:78
A box is a fundamental building block in the application architecture.
Definition fbcore.h:218
Color vector.
Definition fbtypes.h:448
MotionBuilder SDK base class.
This class is used when adding a key with a custom tangent to a curve. It contains the necessary info...
Definition fbdata.h:928
FBAnimationNode * GetParentAnimationNode()
Return the parent FBAnimationNode of the curve if possible.
FBPropertyFCurve Curve
Read Only Property: Curve that will receive the new key.
Definition fbdata.h:947
FBComponent * GetParentComponent()
Return the parent object holding the FBAnimationNode of the curve if possible.
FBPropertyTime Time
Read Only Property: Time where the key will be added.
Definition fbdata.h:946
FBPropertyInt KeyIndex
Read Only Property: Index of the new key that will be added
Definition fbdata.h:945
FBCurveCustomKeyAddEvent(HKEventBase pEvent)
Constructor.
This class is used when changing the interpolation type/custom tangent index of a key with a custom t...
Definition fbdata.h:966
FBPropertyBool IsPreCall
Read Only Property: True before the value is actually changed (allowing you to cache the current stat...
Definition fbdata.h:983
FBCurveCustomKeyChangeEvent(HKEventBase pEvent)
Constructor.
FBAnimationNode * GetParentAnimationNode()
Return the parent FBAnimationNode of the curve if possible.
FBPropertyFCurve Curve
Read Only Property: Curve with the key set to the custom tangent type.
Definition fbdata.h:988
FBPropertyCustomKeyChangeType ChangeType
Read Write Property: Indicate which setting of the key was/will be changed.
Definition fbdata.h:984
FBComponent * GetParentComponent()
Return the parent object holding the FBAnimationNode of the curve if possible.
FBPropertyTime Time
Read Only Property: Time of the key.
Definition fbdata.h:987
FBPropertyInt KeyIndex
Read Only Property: Index of the key with the custom tangent type.
Definition fbdata.h:986
This class is used when an evaluation must be done on your custom tangents. It contains the necessary...
Definition fbdata.h:899
FBPropertyInt RightCustomTangentTypeIndex
Read Only Property: FbxAnimCurveOnly - Type of the right key custom tangent type, -1 if not a custom ...
Definition fbdata.h:918
FBPropertyFCurve Curve
Read Only Property: Curve to evaluate.
Definition fbdata.h:914
FBPropertyInt LeftCustomTangentTypeIndex
Read Only Property: FbxAnimCurveOnly - Type of the left key custom tangent type, -1 if not a custom t...
Definition fbdata.h:917
FBPropertyDouble KeyIndex
Read Only Property: Index of the key to evaluate, a decimal value indicates an evaluation between two...
Definition fbdata.h:912
FBPropertyTime Time
Read Only Property: Time to evaluate.
Definition fbdata.h:913
FBPropertyDouble Result
Read Write Property: Write the resulting value in that prorperty.
Definition fbdata.h:915
FBCurveEvaluationEvent(HKEventBase pEvent)
Constructor.
FBXSDK_NAMESPACE::FbxAnimCurve * GetFBXCurve()
Get the FbxAnimCurve to evaluate, used in story tool for read-only clip.
AnimationNodeNotify evaluation information.
The transform manipulator has begun doing modifications This event occurs every time a manipulator:
Definition fbdata.h:882
FBEventAnimationNode(HKEventBase pEvent)
Constructor.
FBPropertyEventAnimationNodeType Type
Read Only Property: Type of selection event.
Definition fbdata.h:889
Base Event class.
PropertyEvent: Event when a fcurve is changed.
Definition fbdata.h:1454
virtual void Add(HICallback pOwner, kICallbackHandler pHandler)
Add/Remove a callback.
This class represents a custom tangents object in the system.
Definition fbdata.h:773
FBPropertyInt CustomTangentIndex
Read Only Property: Index of the custom tangent in the system. When you will evaluate a key with your...
Definition fbdata.h:787
virtual void FBDelete() override
Virtual FBDelete function.
FBPropertyString CustomTangentFBXName
Read Only Property: Name of custom tangent, will be used in the FBX file to identify custom key type.
Definition fbdata.h:786
FBFCurveCustomTangent(HIObject pObject=NULL)
Constructor.
FBPropertyString CustomTangentName
Read Only Property: Name of custom tangent, will be displayed in the interface.
Definition fbdata.h:785
Custom Tangent Manager Interface to the Custom Tangent Manager.
Definition fbdata.h:1283
static FBFCurveCustomTangentManager & TheOne()
Get the global object for this class.
FBPropertyEventAnimationNodeCustomKeyAdd OnCustomKeyAdd
Event: Called when adding a key with a custom tangent, you must specify some of its parameters.
Definition fbdata.h:1320
bool RemoveCustomTangentType(const char *pTangentName)
Remove a custom tangent from the system.
int GetCustomTangentTypeCount()
Return the number of tangent currently registered in the system.
FBPropertyEventAnimationNodeKeyAdd OnKeyAdd
Event: Called when adding a key that doesn't have a custom tangent, you can specify some of its param...
Definition fbdata.h:1319
FBPropertyEventAnimationNodeCustomKeyChange OnCustomKeyChange
Event: Called when the interpolation/tangent of a key is changed to/from a custom tangent or custom t...
Definition fbdata.h:1322
int AddCustomTangentType(const char *pTangentName, const char *pTangentFBXName)
Register a new custom tangent in the system.
const char * GetCustomTangentTypeName(int pIndex)
Return the UI name of the custom tangent at the specified index.
FBPropertyEventAnimationNodeEvaluate OnEvaluate
Event: Called when evaluating the node, you must evaluate your curve and return the computed value.
Definition fbdata.h:1317
This class is used when a modification is made on a FCurve. It contains the necessary information to ...
Definition fbdata.h:1404
FBPropertyInt KeyIndexStart
Read Only Property: Index of the first key which is involved in the event.
Definition fbdata.h:1427
FBAnimationNode * GetParentAnimationNode()
Return the parent FBAnimationNode of the curve if possible.
FBPropertyFCurve Curve
Read Only Property: Curve that will receive the new key.
Definition fbdata.h:1429
FBFCurveEvent(HKEventBase pEvent)
Constructor.
FBPropertyString CurveName
Read Only Property: Name of curve.
Definition fbdata.h:1430
FBPropertyFCurveEventType EventType
Read Only Property: Type of fcurve event.
Definition fbdata.h:1426
FBPropertyInt KeyIndexStop
Read Only Property: Index of the last key which is involved in the event.
Definition fbdata.h:1428
FBComponent * GetParentComponent()
Return the parent object holding the FBAnimationNode of the curve if possible.
FBProperty * GetParentProperty()
Return the parent FBProperty of the curve if possible.
FBPropertyInt CurveIndex
Read Only Property: Index of curve.
Definition fbdata.h:1431
FCurve Event Manager Interface to the FBFCurveEventManager.
Definition fbdata.h:1473
FBFCurveChanged OnFCurveEvent
Event: Called when a registered FCurve is modified.
Definition fbdata.h:1495
bool RegisterProperty(FBPropertyAnimatable *pProperty)
Register a property to the FCurve Event Manager.
bool UnregisterProperty(FBPropertyAnimatable *pProperty)
Unregister a property from the FCurve Event Manager.
FBPropertyChanged OnPropertyEvent
Event: Called when a registered property state is modified (detached, destroyed......
Definition fbdata.h:1496
static FBFCurveEventManager & TheOne()
Get the global object for this class.
FCurve class.
Definition fbdata.h:340
int GetPostExtrapolationCount()
Get count for post extrapolation.
bool KeyGetTangentBreak(int pIndex)
Get the key tangent's break status at the specified index.
void KeySetTangentConstantMode(int pIndex, FBTangentConstantMode pValue)
Set the key tangent's constant mode at the specified index.
bool KeysAdd(const FBArrayTemplate< FBTime > &pTimes, const FBArrayDouble &pValues, const FBArrayTemplate< FBInterpolation > &pInterpolations=FBArrayTemplate< FBInterpolation >(), const FBArrayTemplate< FBTangentMode > &pTangentModes=FBArrayTemplate< FBTangentMode >())
Add at once multiple keys at different specified times.
FBTangentMode KeyGetTangentMode(int pIndex)
Get the key tangent mode at the specified index.
int GetPreExtrapolationCount()
Get count for pre extrapolation.
float KeyGetValue(int pIndex)
Get the key value at the specified index.
void KeySetLeftTangentWeight(int pIndex, float pValue)
Set the key left tangent weight at the specified index.
float KeyGetTCBContinuity(int pIndex)
Get the key continuity value at the specified index (TCB key).
float KeyGetRightTangentWeight(int pIndex)
Get the key right tangent weight at the specified index.
bool KeyOffset(FBTime &pOffsetTime, FBTime pStartTime=FBTime::MinusInfinity, FBTime pStopTime=FBTime::Infinity, bool pInclusive=true)
Offset keys within a time range by a given offset time.
void KeySetValue(int pIndex, float pValue)
Set the key value at the specified index.
bool KeyDelete(int pStartIndex, int pStopIndex)
Delete keys within an index range.
void KeySetLeftDerivative(int pIndex, float pValue)
Set the key left derivative value at the specified index.
void EditClear()
Empty FCurve of all keys.
virtual void FBDelete() override
Virtual FBDelete function.
void SetPreExtrapolationMode(FBExtrapolationMode pExtrapolationMode)
Set modes for pre extrapolation.
void KeySetTangentMode(int pIndex, FBTangentMode pValue)
Set the key tangent mode at the specified index.
void EditEnd(int pKeyCount=-1)
End key adding sequence.
FBExtrapolationMode GetPreExtrapolationMode()
Get modes for pre extrapolation.
void KeySetTangentWeightMode(int pIndex, FBTangentWeightMode pValue)
Change the tangent weight for a key.
float KeyGetTCBTension(int pIndex)
Get the key tension value at the specified index (TCB key).
FBFCurve(HIObject pObject=NULL)
Constructor.
bool KeysSetValues(const FBArrayUInt &pIndices, const FBArrayDouble &pValues, const FBArrayTemplate< FBInterpolation > &pInterpolations=FBArrayTemplate< FBInterpolation >(), const FBArrayTemplate< FBTangentMode > &pTangentModes=FBArrayTemplate< FBTangentMode >())
Set at once multiple existing keys values.
void KeyReplaceBy(FBFCurve &pSource, FBTime pStart=FBTime::MinusInfinity, FBTime pStop=FBTime::Infinity, bool pUseExactGivenSpan=false, bool pKeyStartEndOnNoKey=true)
Replace keys within a range in current function curve with keys found in a source function curve.
void KeySetRightBezierTangent(int pIndex, float pValue)
Set the key right bezier tangent value at the specified index.
float Evaluate(FBTime &pTime)
Evaluate FCurve at pTime.
void KeySetTangentCustomIndex(int pIndex, FBTangentCustomIndex pValue)
Set the key tangent's custom index at the specified index.
FBPropertyListFCurveKey Keys
List: Keys.
Definition fbdata.h:520
bool KeySetSelected(int pIndex, bool pValue)
Set the key selected state.
void KeyInsert(FBTime &pTime, FBInterpolation pInterpolation=kFBInterpolationCubic, FBTangentMode pTangentMode=kFBTangentModeAuto)
Insert a key without affecting the curve shape.
bool KeySetMarkedForManipulation(int pIndex, bool pValue)
Set the key manipulation state.
void SetPostExtrapolationMode(FBExtrapolationMode pExtrapolationMode)
Set modes for post extrapolation.
float KeyGetLeftDerivative(int pIndex)
Get the key left derivative value at the specified index.
float KeyGetLeftTangentWeight(int pIndex)
Get the key left tangent weight at the specified index.
bool KeyDelete(FBTime pStart=FBTime::MinusInfinity, FBTime pStop=FBTime::Infinity, bool pInclusive=false)
Delete keys within a time range.
FBExtrapolationMode GetPostExtrapolationMode()
Get modes for post extrapolation.
void KeySetTangentBreak(int pIndex, bool pValue)
Set the key tangent's break status at the specified index.
float KeyGetLeftBezierTangent(int pIndex)
Get the key left bezier tangent value at the specified index.
void KeySetRightTangentWeight(int pIndex, float pValue)
Set the key right tangent weight at the specified index.
void KeySetTangentClampMode(int pIndex, FBTangentClampMode pValue)
Set the key tangent's clamp method at the specified index.
void KeySetTCBBias(int pIndex, float pValue)
Set the key bias value at the specified index (TCB key).
static FBFCurve * CreateInterpolatorCurve(FBInterpolatorCurveType pCurveType)
Create and interpolator curve.
bool KeyOffset(FBTime &pOffsetTime, int pStartIndex, int pStopIndex)
Offset keys within an index range by a given offset time.
FBTime KeyGetTime(int pIndex)
Get the key time value at the specified index.
void KeySetLeftBezierTangent(int pIndex, float pValue)
Set the key left bezier tangent value at the specified index.
int KeyAdd(FBTime &pTime, double pValue, FBInterpolation pInterpolation=kFBInterpolationCubic, FBTangentMode pTangentMode=kFBTangentModeAuto)
Add a key at the specified time.
FBTangentConstantMode KeyGetTangentConstantMode(int pIndex)
Get the key tangent's constant mode at the specified index.
void KeySetRightDerivative(int pIndex, float pValue)
Set the key right derivative value at the specified index.
FBInterpolation KeyGetInterpolation(int pIndex)
Get the key interpolation type at the specified index.
void SetPreExtrapolationCount(int pCount)
Set count for pre extrapolation.
float KeyGetRightBezierTangent(int pIndex)
Get the key right bezier tangent value at the specified index.
FBTangentWeightMode KeyGetTangentWeightMode(int pIndex)
Get the tangent weight mode for a key.
void EditBegin(int pKeyCount=-1)
Setup function to begin adding keys.
void SetPostExtrapolationCount(int pCount)
Set count for post extrapolation.
bool KeyGetSelected(int pIndex)
Get the key selected state.
bool KeyRemove(int pIndex)
Remove key at index.
bool KeyGetMarkedForManipulation(int pIndex)
Get the key manipulation state.
void KeySetTCBTension(int pIndex, float pValue)
Set the key tension value at the specified index (TCB key).
void KeySetTime(int pIndex, FBTime pValue)
Set the key time value at the specified index.
float KeyGetRightDerivative(int pIndex)
Get the key right derivative value at the specified index.
FBTangentClampMode KeyGetTangentClampMode(int pIndex)
Get the key tangent's clamp method at the specified index.
float KeyGetTCBBias(int pIndex)
Get the key bias value at the specified index (TCB key).
void KeySetTCBContinuity(int pIndex, float pValue)
Set the key continuity value at the specified index (TCB key).
FBTangentCustomIndex KeyGetTangentCustomIndex(int pIndex)
Get the key tangent's custom index at the specified index.
void KeySetInterpolation(int pIndex, FBInterpolation pValue)
Set the key interpolation type at the specified index.
KeyFrame for an FCurve.
Definition fbdata.h:225
FBPropertyFloat Value
Read Write Property: Value of Key
Definition fbdata.h:262
FBFCurveKey(const FBFCurveKey &pFCurveKey)
Constructor.
FBPropertyBool MarkedForManipulation
Read Write Property: Is the key marked for manipulation.
Definition fbdata.h:286
FBPropertyFloat Continuity
Read Write Property: Continuity (TCB).
Definition fbdata.h:272
FBPropertyFloat Bias
Read Write Property: Bias (TCB).
Definition fbdata.h:273
FBPropertyFloat LeftDerivative
Read Write Property: Left derivative, in units/seconds.
Definition fbdata.h:263
FBPropertyTangentWeightMode TangentWeightMode
Read Write Property: Tangent's weight mode. Setting the value for LeftTangentWeight/RightTangentWeigh...
Definition fbdata.h:281
FBPropertyInterpolation Interpolation
Read Write Property: Type of interpolation.
Definition fbdata.h:276
FBPropertyTangentCustomIndex TangentCustomIndex
Read Write Property: Tangent's custom index
Definition fbdata.h:283
FBPropertyTangentConstantMode TangentConstantMode
Read Write Property: Tangent's constant mode
Definition fbdata.h:280
FBPropertyFloat LeftBezierTangent
Read Write Property: Left bezier tangent
Definition fbdata.h:267
FBPropertyFloat RightTangentWeight
Read Write Property: Right tangent weight
Definition fbdata.h:266
FBFCurveKey(::KFCurve *pFCurve=NULL, int pKeyIndex=1)
Constructor.
FBPropertyFloat Tension
Read Write Property: Tension (TCB).
Definition fbdata.h:271
FBPropertyFloat RightBezierTangent
Read Write Property: Right bezier tangent
Definition fbdata.h:268
FBPropertyBool Selected
Read Write Property: Is the key selected.
Definition fbdata.h:285
FBPropertyTime Time
Read Write Property: Time of key.
Definition fbdata.h:275
bool operator==(const FBFCurveKey &pValue) const
Overloaded == operator.
FBPropertyBool TangentBreak
Read Write Property: Tangent's break status
Definition fbdata.h:279
~FBFCurveKey()
Destructor.
FBPropertyTangentClampMode TangentClampMode
Read Write Property: Tangent's clamp method.
Definition fbdata.h:278
FBPropertyFloat RightDerivative
Read Write Property: Right derivative, in units/seconds.
Definition fbdata.h:264
FBPropertyTangentMode TangentMode
Read Write Property: Tangent calculation method.
Definition fbdata.h:277
FBPropertyExtrapolationMode ExtrapolationMode
Read Write Property: Extrapolation mode
Definition fbdata.h:282
FBPropertyFloat LeftTangentWeight
Read Write Property: Left tangent weight
Definition fbdata.h:265
Option parameters for plotting.
Animatable property base class.
PropertyEvent: Event when a property is modified, to be used with the FBFCurveEventManager.
Definition fbdata.h:1439
virtual void Add(HICallback pOwner, kICallbackHandler pHandler)
Add/Remove a callback.
PropertyEvent: Event when a key with a custom tangent that needs some of its parameters to be specifi...
Definition fbdata.h:1049
virtual void Add(HICallback pOwner, kICallbackHandler pHandler)
Add/Remove a callback.
PropertyEvent: Event when a key tangent is changed to a custom tangent/changed to another type from a...
Definition fbdata.h:1064
virtual void Add(HICallback pOwner, kICallbackHandler pHandler)
Add/Remove a callback.
PropertyEvent: Event when a custom tangent that needs to be evaluated.
Definition fbdata.h:1019
virtual void Add(HICallback pOwner, kICallbackHandler pHandler)
Add/Remove a callback.
PropertyEvent: UI idle event.
Definition fbdata.h:996
virtual void Add(HICallback pOwner, kICallbackHandler pHandler)
Add/Remove a callback.
PropertyEvent: Event when a key that doesn't have a custom tangent is added.
Definition fbdata.h:1034
virtual void Add(HICallback pOwner, kICallbackHandler pHandler)
Add/Remove a callback.
PropertyEvent: Base event class.
Property: Base property class.
List of animation nodes.
Definition fbdata.h:816
FBAnimationNode * Find(FBBox *pOriginalOwner, const char *pDataType)
Find an animation node.
virtual void RemoveAt(int pIndex)
Remove an animation node from pIndex.
FBAnimationNode * Find(const char *pNodeName)
Find an animation node.
virtual FBAnimationNode * operator[](int pIndex)
Overloaded [] operator.
virtual int Add(FBAnimationNode *pItem)
Add an animation node to the list.
virtual int Remove(FBAnimationNode *pItem)
Remove an animation node from the list.
virtual int GetCount()
Get a count of the number of animation nodes in list.
FBAnimationNode * FindByLabel(const char *pNodeLabel)
Find an animation node by label name.
PropertyList: Concrete class for PropertyList of component
List: Custom Tangent
Definition fbdata.h:795
FBPropertyListCustomTangent()
Constructor.
FBFCurveCustomTangent * operator[](int pIndex)
Get the custom tangent at pIndex.
List of FCurveKey.
Definition fbdata.h:299
virtual void RemoveAt(int pIndex)
Remove an FCurveKey.
virtual FBFCurveKey operator[](int pIndex)
Overloaded [] operator.
virtual int GetCount()
Get a count of the number of keys in list.
List: Take
Definition fbdata.h:1624
virtual int Add(FBComponent *pItem) override
Add a component to the list.
virtual void RemoveAt(int pIndex) override
Remove the component at pIndex from list.
FBTake * operator[](int pIndex)
Get the take at pIndex.
This class is used when the state of a property tracked by the FBFCurveEventManager is changed.
Definition fbdata.h:1350
FBPropertyPropertyStateEventType EventType
Read Only Property: Event type, please see the FBPropertyStateEventType for the possible types.
Definition fbdata.h:1367
FBComponent * GetParentComponent()
Return the parent object holding the property if possible.
FBPropertyStateEvent(HKEventBase pEvent)
Constructor.
FBProperty * GetProperty()
Return the FBProperty related to the event.
Property class: const char * (String).
A take is a container for animation in a scene.
Definition fbdata.h:1727
void PlotTakeOnSelected(FBTime pPlotPeriod)
Plot the animation on selected models.
FBAnimationLayer * GetLayerByName(const char *pName)
Get the layer object that have the specified name.
bool SetTimeMarkLock(int pIndex, bool pLock)
Sets a new lock status for an existing time mark.
int GetPreviousTimeMarkIndex()
Returns the previous time mark index, based on the current local time.
bool SetAllTimeMarkLock(bool pLock)
Sets the new lock status for all existing time marks.
bool GetTimeMarkLock(int pIndex)
Returns the lock status associated with a time mark.
void PlotTakeOnObjects(FBTime pPlotPeriod, FBArrayTemplate< FBBox * > *pObjectsToPlot)
Plot the animation on given objects.
bool OffsetAnimation(FBTime &pOffsetTime, FBTime pStartTime=FBTime::MinusInfinity, FBTime pStopTime=FBTime::Infinity, bool pInclusive=true, int pLayerID=-1, bool pOnLockedProperties=false)
Offset the animation (FCurve keys) of this take object within a time range by a given offset time.
bool DeleteAnimationOnObjects(FBArrayTemplate< FBBox * > *pObjects, FBTime pStartTime=FBTime::MinusInfinity, FBTime pStopTime=FBTime::Infinity, bool pInclusive=true, int pLayerID=-1, bool pOnLockedProperties=false)
Delete animation (FCurve keys) of this take object on given objects within a time range.
virtual void FBDelete() override
Deletion method.
void DuplicateSelectedLayers()
Duplicate the selected layers.
int GetLayerCount()
Get the layer count.
bool SetTimeMarkColor(int pIndex, FBColor pColor)
Sets a new color for an existing time mark.
void PlotTakeOnProperties(FBTime pPlotPeriod, FBArrayTemplate< FBProperty * > *pPropertiesToPlot)
Plot the animation on given properties.
FBTimeMarkAction GetTimeMarkAction(int pIndex)
Returns the action associated with a time mark.
void SetLayerRealSelection(bool pValue)
Set real selection for layer.
FBAnimationLayer * GetLayer(int pLayerIndex)
Get the layer object that have the specified ID.
bool SetTimeMarkName(int pIndex, const char *pName)
Sets a new name for an existing time mark.
void MergeLayers(FBAnimationLayerMergeOptions pMergeOptions, bool pDeleteMergedLayers, FBMergeLayerMode pMergeMode, bool pMergeLockedProperties=false)
Merge the selected layers.
void PlotTakeOnObjects(FBPlotOptions *pPlotOptions, FBArrayTemplate< FBBox * > *pObjectsToPlot)
Plot the animation on given objects.
void PlotTakeOnProperties(FBPlotOptions *pPlotOptions, FBArrayTemplate< FBProperty * > *pPropertiesToPlot)
Plot the animation on given properties.
FBPropertyTimeSpan ReferenceTimeSpan
Read Write Property: Reference time span.
Definition fbdata.h:1882
FBColor GetTimeMarkColor(int pIndex)
Returns the color associated with a time mark.
void PlotAllTakesOnSelectedProperties(FBTime pPlotPeriod)
Plot the animation on selected properties for all takes.
void SetCurrentLayer(int pLayerIndex)
Set the current layer for the take.
void DeleteAllTimeMarks()
Delete all time marks from the take.
bool OffsetAnimationOnObjects(FBArrayTemplate< FBBox * > *pObjects, FBTime &pOffsetTime, FBTime pStartTime=FBTime::MinusInfinity, FBTime pStopTime=FBTime::Infinity, bool pInclusive=true, int pLayerID=-1, bool pOnLockedProperties=false)
Offset the animation (FCurve keys) of this take object on given objects within a time range by a give...
void PlotTakeOnSelectedProperties(FBTime pPlotPeriod)
Plot the animation on selected properties.
bool MoveCurrentLayerUp()
Move the current layer up, similar to using the button to move the layer in the Animation Layer tool.
void PlotTakeOnSelected(FBPlotOptions *pPlotOptions)
Plot the animation on selected models.
FBTime GetTimeMarkTime(int pIndex)
Returns the time associated with a time mark.
bool DeleteAnimationOnProperties(FBArrayTemplate< FBProperty * > *pProperties, FBTime pStartTime=FBTime::MinusInfinity, FBTime pStopTime=FBTime::Infinity, bool pInclusive=true, int pLayerID=-1, bool pOnLockedProperties=false, FBPropertyComponents pPropertyComponents=kFBPropertyComponentAll)
Delete animation (FCurve keys) of this take object on given properties within a time range.
void PlotAllTakesOnSelected(FBTime pPlotPeriod)
Plot the animation on selected models for all takes.
FBPropertyString Comments
Read Write Property: Take comments.
Definition fbdata.h:1884
int GetCurrentLayer()
Get the current layer for the take.
FBPropertyTimeSpan LocalTimeSpan
Read Write Property: Local time span.
Definition fbdata.h:1883
bool DeleteTimeMark(int pIndex)
Delete a time mark from the take.
bool MoveCurrentLayerDown()
Move the current layer down, similar to using the button to move the layer in the Animation Layer too...
bool OffsetAnimationOnProperties(FBArrayTemplate< FBProperty * > *pProperties, FBTime &pOffsetTime, FBTime pStartTime=FBTime::MinusInfinity, FBTime pStopTime=FBTime::Infinity, bool pInclusive=true, int pLayerID=-1, bool pOnLockedProperties=false, FBPropertyComponents pPropertyComponents=kFBPropertyComponentAll)
Offset the animation (FCurve keys) of this take object on given properties within a time range by a g...
FBTake * CopyTake(const char *pNewTakeName)
Copy the take.
void ClearAllProperties(bool pOnSelectedObjectsOnly, bool pOnLockedProperties=false)
Clear the animation on all the properties.
FBTake(const char *pName, HIObject pObject=NULL)
Constructor.
bool SetTimeMarkAction(int pIndex, FBTimeMarkAction pAction)
Sets a new action for an existing time mark.
int SetTimeMarkTime(int pIndex, FBTime pTime)
Sets a new time for an existing time mark.
void PlotTakeOnSelectedProperties(FBPlotOptions *pPlotOptions)
Plot the animation on selected properties.
void ClearAllPropertiesOnCurrentLayer()
Clear all the animation on the current layer.
bool DeleteAnimation(FBTime pStartTime=FBTime::MinusInfinity, FBTime pStopTime=FBTime::Infinity, bool pInclusive=true, int pLayerID=-1, bool pOnLockedProperties=false)
Delete animation (FCurve keys) of this take object within a time range.
int GetTimeMarkCount()
Returns the number of time marks on the take.
void RemoveLayer(int pLayerIndex)
Remove a layer.
void PlotAllTakesOnProperties(FBTime pPlotPeriod, FBArrayTemplate< FBProperty * > *pPropertiesToPlot)
Plot the animation on given properties for all takes.
void CreateNewLayer()
Create a new layer.
const char * GetTimeMarkName(int pIndex)
Returns the name associated with a time mark.
int AddTimeMark(FBTime pTime, const char *pName=NULL)
Add a time mark to the take.
bool GetLayerRealSelection()
Real selection for layer.
int GetNextTimeMarkIndex()
Returns the next time mark index, based on the current local time.
void PlotAllTakesOnObjects(FBTime pPlotPeriod, FBArrayTemplate< FBBox * > *pObjectsToPlot)
Plot the animation on given objects for all takes.
Time data structure.
Definition fbtime.h:88
static const FBTime Infinity
Time constant: Infinity, the largest time value.
Definition fbtime.h:283
static const FBTime MinusInfinity
Time constant: Minus Infinity, the lowest negative time value.
Definition fbtime.h:286
Time Warp Manager Interface to the Time Warp Manager.
Definition fbdata.h:2179
int FindTimeWarpNickNumberGlobal(FBAnimationNode *pTimeWarp)
bool ApplyTimeWarp(FBTake *pTake, FBProperty *pEvalProp, FBAnimationNode *pTimeWarp)
Apply the TimeWarp in a Take to an evaluation property, just connect the storing property for the Tim...
FBAnimationNode * TimeWarpCreateNew(const char *pName)
kLong GetTimeWarpCount(FBTake *pTake)
Get the count of TimeWarp in a Take.
void TimeWarpCopyTake(FBTake *pDstTake, FBTake *pSrcTake)
Copy all the TimeWarp in one Take, add to another Take.
void TimeWarpInitTake(FBTake *pTake)
Allocate container for the TimeWarp in one Take.
void TimeWarpRegisterChangeEvent(TimeWarpChangeCallback pCallback, void *pObject)
Register a callback Called when some changes related to TimeWarp happen.
void TimeWarpRename(FBTake *pTake, FBAnimationNode *pTimeWarp, const char *pNewName)
FBAnimationNode * GetTimeWarpFromNickNumber(FBTake *pTake, int pNumber)
Get the timeWarp of specific Nick Number in a Take.
void TimeWarpUnregisterChangeEvent(TimeWarpChangeCallback pCallback, void *pObject)
Unregister a call registered.
int GetTimeWarpNickNumber(FBTake *pTake, FBAnimationNode *pTimeWarp)
Get the Nick Number of one TimeWarp in a Take.
void TimeWarpTakeChange()
Call registered callbacks when changes related to TimeWarp happen.
void RemoveTimeWarp(FBTake *pTake, FBProperty *pEvalProp)
Undo apply a timeWarp in a Take to an evaluation property, just disconnect the evaluation property fr...
void TimeWarpClearTake(FBTake *pTake)
Clear all TimeWarp in a Take, and removed from the DataSet.
static FBTimeWarpManager & TheOne()
Get the global object for this class.
K_DEPRECATED_2023 void DestroyTimeWarpFromTake(FBTake *pTake, FBAnimationNode *pTimeWarp)
Destroy the TimeWarp in a Take, and removed from the DataSet.
void RemoveTimeWarpFromScene(FBTake *pTake, FBAnimationNode *pTimeWarp)
Remove the given TimeWarp from scene and delete it from the given Take.
void TimeWarpAddToTake(FBTake *pTake, FBAnimationNode *pTimeWarp, int pNickNumber=0)
Add one TimeWarp to a Take.
FBTimeWarpManager()
Constructor.
int GetTimeWarpNickNumberAtIndex(FBTake *pTake, kLong pIndex)
Get the Nick Number of one TimeWarp At specific index in a Take.
K_DEPRECATED_2023 void RemoveTimeWarpFromScene(FBAnimationNode *pTimeWarp)
Remove a TimeWarp from Scene.
void TimeWarpMergeCurveNode(FBTake *pTake, FBProperty *pEvalProp, FBAnimationNode *pNode, FBAnimationNode *pTimeWarpNode)
FBAnimationNode * GetTimeWarpAtIndex(FBTake *pTake, kLong pIndex)
Get the TimeWarp in a Take At specific Index.
bool SetTimeWarpNickNumber(FBTake *pTake, FBAnimationNode *pTimeWarp, int pNumber)
Set the Nick Number of one TimeWarp in a Take.
Basic class definitions.
#define __FBClassDeclare(Name, Parent)
For internal use only.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
FBAnimationNodeConnectorType
Different types for the animation node connectors.
Definition fbdata.h:187
@ kFBAnimationNodeConnectorTypeConnectedIn
The animation node input connector is connected to an animation node output connector (valid for inpu...
Definition fbdata.h:189
@ kFBAnimationNodeConnectorTypeNone
The animation node connector is not connected and doesn't have a constant value set to it.
Definition fbdata.h:188
@ kFBAnimationNodeConnectorTypeConstantIn
The animation node input connector has a constant value set to it (valid for input connector only).
Definition fbdata.h:191
@ kFBAnimationNodeConnectorTypeConnectedOut
The animation node output connector is connected to at least one animation node input connector (vali...
Definition fbdata.h:190
FBMergeLayerMode
Merge layer mode for animation layers. This will specify the mode of the resulting merged layer,...
Definition fbdata.h:1656
@ kFBMergeLayerModeOverride
The resulting layer will be in override mode, if possible.
Definition fbdata.h:1659
@ kFBMergeLayerModeAdditive
The resulting layer will be in additive mode, if possible.
Definition fbdata.h:1658
@ kFBMergeLayerModeAutomatic
The resulting layer will be in override mode if one of the source layer is in override,...
Definition fbdata.h:1657
FBLayerMode
Layer mode.
Definition fbdata.h:1511
@ kFBLayerModeInvalidIndex
Invalid value.
Definition fbdata.h:1512
@ kFBLayerModeAdditive
Layer value will be added to the other layers to computed the final value.
Definition fbdata.h:1513
@ kFBLayerModeOverridePassthrough
If the layer has a weight of 75%, the precedent layers will have a combined effect of 25% on the fina...
Definition fbdata.h:1515
@ kFBLayerModeOverride
Layer value will override the value of the other precedent layers.
Definition fbdata.h:1514
FBTangentWeightMode
Active tangent weight, no/one/both side are active on a key.
Definition fbdata.h:208
@ kFBTangentWeightModeBoth
Right tangent and next key left tangent weight are active.
Definition fbdata.h:212
@ kFBTangentWeightModeNone
Tangent weight disabled.
Definition fbdata.h:209
@ kFBTangentWeightModeNextLeft
Next key left tangent weight active.
Definition fbdata.h:211
@ kFBTangentWeightModeRight
Right tangent weight active.
Definition fbdata.h:210
FBCustomKeyChangeType
Indicate if the interpolation or the custom index of the key will be/was modified.
Definition fbdata.h:957
@ kFBInterpolationChange
The interpolation of the key was/will be modified (FBInterpolation).
Definition fbdata.h:959
@ kFBNoChange
No change to the key.
Definition fbdata.h:958
@ kFBCustomTangentChange
The custom tangent value was/will be modified (FBTangentCustomIndex).
Definition fbdata.h:960
FBLayerRotationMode
Rotation mode for layer.
Definition fbdata.h:1522
@ kFBLayerRotationModeQuaternionRotation
The rotation will be computed using quaternion.
Definition fbdata.h:1525
@ kFBLayerRotationModeInvalidIndex
Invalid value.
Definition fbdata.h:1523
@ kFBLayerRotationModeEulerRotation
The rotation will be computed component by component.
Definition fbdata.h:1524
FBEventAnimationNodeType
Event based on animation node.
Definition fbdata.h:865
FBTimeMarkAction
Time (Global & Take) Mark assigned action.
Definition fbdata.h:1664
@ kFBTimeMarkAction_Loop
When reaching the mark, the playback loops to previous global mark (or start frame if any).
Definition fbdata.h:1667
@ kFBTimeMarkAction_Stop
When reaching the mark, the playback stops.
Definition fbdata.h:1666
@ kFBTimeMarkAction_None
No action. The mark is just visual hint.
Definition fbdata.h:1665
FBInterpolation
Types of interpolation for an FCurve.
Definition fbdata.h:117
@ kFBInterpolationInvalid
Invalid interpolation.
Definition fbdata.h:118
@ kFBInterpolationCubic
Cubic interpolation.
Definition fbdata.h:121
@ kFBInterpolationCustom
Custom interpolation.
Definition fbdata.h:122
@ kFBInterpolationConstant
Constant interpolation.
Definition fbdata.h:119
@ kFBInterpolationCount
Number of interpolation types.
Definition fbdata.h:123
@ kFBInterpolationLinear
Linear interpolation.
Definition fbdata.h:120
FBPropertyComponents
Property Components Bit Field (XYZ, RGB, RGBA, UV, XYZW, etc.).
Definition fbdata.h:1671
@ kFBPropertyComponent1
Second component (e.g.: Y, Green, etc.).
Definition fbdata.h:1673
@ kFBPropertyComponent2
Third component (e.g.: Z, Blue, etc.).
Definition fbdata.h:1674
@ kFBPropertyComponent0
First component (e.g.: X, Red, etc.).
Definition fbdata.h:1672
@ kFBPropertyComponent3
Fourth component (e.g.: W, Alpha, etc.).
Definition fbdata.h:1675
@ kFBPropertyComponentAll
All components.
Definition fbdata.h:1676
FBTangentMode
Methods of tangent calculation.
Definition fbdata.h:143
@ kFBTangentModeTimeIndependent
Time independent, is calculated based upon the slope between the previous and next key values....
Definition fbdata.h:148
@ kFBTangentModeClampProgressive
Time independent, will flatten the tangent handles when the key value goes over or under the previous...
Definition fbdata.h:149
@ kFBTangentModeBreak
Like USER but left slope may differ from right.
Definition fbdata.h:147
@ kFBTangentModeUser
Used to represent all splines with no lost data (HERMITE, BEZIER, CATMUL, etc.)
Definition fbdata.h:146
@ kFBTangentModeTCB
TCB spline (3 parameters: TENSION, CONTINUITY, BIAS)
Definition fbdata.h:145
@ kFBTangentModeAuto
This is the equivalent to a cardinal spline with no parametrization. In the UI, it is identified as S...
Definition fbdata.h:144
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 MotionB...
FBTangentClampMode
Different clamping modes for the tangents.
Definition fbdata.h:156
@ kFBTangentClampModeClamped
The tangent will be flattened when the key is placed at the same value as an adjacent key.
Definition fbdata.h:158
@ kFBTangentClampModeNone
The tangent will act normally.
Definition fbdata.h:157
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.
FBTangentConstantMode
Different constant modes for the tangents.
Definition fbdata.h:166
@ kFBTangentConstantModeNext
The tangent will contain the value of the next keyframe.
Definition fbdata.h:168
@ kFBTangentConstantModeNormal
The tangent will contain the value of the current keyframe until the next keyframe.
Definition fbdata.h:167
FBFCurveEventType
This enum indicates what modification was made to a tracked FCurve.
Definition fbdata.h:1377
@ kFBFCurveEventTypeKeyTangentConstantChanged
A key constant mode was changed.
Definition fbdata.h:1388
@ kFBFCurveEventTypeKeyWeightChanged
A key left/right weight was changed, please note that this event can affect the key specified in the ...
Definition fbdata.h:1390
@ kFBFCurveEventTypeKeyMassOperation
An operation affecting multiple keys was made.
Definition fbdata.h:1396
@ kFBFCurveEventTypeKeyTangentChanged
A key tangent was changed.
Definition fbdata.h:1385
@ kFBFCurveEventTypeUnknownOperation
Invalid event.
Definition fbdata.h:1378
@ kFBFCurveEventTypeKeyAdded
A new key was added.
Definition fbdata.h:1379
@ kFBFCurveEventTypeKeyTimeChanged
A key time was changed.
Definition fbdata.h:1381
@ kFBFCurveEventTypeKeyBiasChanged
A key bias was changed (only valid on TCB key)
Definition fbdata.h:1393
@ kFBFCurveEventTypeKeyRemoved
A key was removed.
Definition fbdata.h:1380
@ kFBFCurveEventTypeKeyValueChanged
A key value was changed.
Definition fbdata.h:1382
@ kFBFCurveEventTypeKeyPostExtrapolationChanged
A curve post-extrapolation value was changed.
Definition fbdata.h:1395
@ kFBFCurveEventTypeKeyInterpolationChanged
A key interpolation mode was changed.
Definition fbdata.h:1384
@ kFBFCurveEventTypeDerivativedChanged
A key left/right/both derivative was changed, please note that this event can affect the key specifie...
Definition fbdata.h:1383
@ kFBFCurveEventTypeKeyTangentClampModeChanged
A key clamping mode was changed.
Definition fbdata.h:1387
@ kFBFCurveEventTypeKeyContinuityChanged
A key continuity was changed (only valid on TCB key)
Definition fbdata.h:1392
@ kFBFCurveEventTypeKeyTensionChanged
A key tension was changed (only valid on TCB key)
Definition fbdata.h:1391
@ kFBFCurveEventTypeKeyTangentBreakChanged
A key break mode was changed.
Definition fbdata.h:1386
@ kFBFCurveEventTypeKeyPreExtrapolationChanged
A curve pre-extrapolation value was changed.
Definition fbdata.h:1394
@ kFBFCurveEventTypeKeyVelocityChanged
A key velocity was changed.
Definition fbdata.h:1389
FBExtrapolationMode
Modes for pre / post extrapolation.
Definition fbdata.h:175
bool(* kFBDataHandler)(void *pBuffer, FBEvaluateInfo *pEvaluateInfo, FBAnimationNode *pAnimationNode, void *p1, void *p2)
kFBDataHandler
Definition fbdata.h:1012
FBInterpolatorCurveType
Types of interpolator for an FCurve.
Definition fbdata.h:128
FBPropertyStateEventType
This enum indicates what modification was made to the animation of a tracked property.
Definition fbdata.h:1337
@ kFBPropertyStateEventTypeUnknownOperation
Invalid event.
Definition fbdata.h:1338
@ kFBPropertyStateEventTypeMassOperation
Property was heavily modified (switching to story tool, story clip deleted...)
Definition fbdata.h:1342
@ kFBPropertyStateEventTypeDestroyed
Property connector was destroyed (property animation was deleted)
Definition fbdata.h:1341
@ kFBPropertyStateEventTypeAttached
Property connector was added (can happen when undoing a delete operation, which set back the property...
Definition fbdata.h:1339
@ kFBPropertyStateEventTypeDetached
Property connector was detached (property animation was delete from the scene, but it still keep in c...
Definition fbdata.h:1340
FBAnimationLayerMergeOptions
Merge option for animation layers.
Definition fbdata.h:1646
@ kFBAnimLayerMerge_AllLayers_SelectedProperties
Merge the animation of the selected properties of the selected models from all the layers to the Base...
Definition fbdata.h:1648
@ kFBAnimLayerMerge_SelectedLayers_AllProperties
Merge the animation of all properties of the selected models from the selected layers to the selected...
Definition fbdata.h:1649
@ kFBAnimLayerMerge_SelectedLayers_CompleteScene
Merge the animation of all properties from the selected layers to the selected layer with the lowest ...
Definition fbdata.h:1651
@ kFBAnimLayerMerge_SelectedLayers_SelectedProperties
Merge the animation of the selected properties of the selected models from the selected layers to the...
Definition fbdata.h:1647
@ kFBAnimLayerMerge_AllLayers_CompleteScene
Merge the animation of all properties from all the layers to the BaseAnimation layer.
Definition fbdata.h:1652
@ kFBAnimLayerMerge_AllLayers_AllProperties
Merge the animation of all properties of the selected models from all the layers to the BaseAnimation...
Definition fbdata.h:1650
FBTangentCustomIndex
Custom tangent index for the tangents.
Definition fbdata.h:198
@ kFBTangentCustomIndex2
Third custom tangent type registered in the system.
Definition fbdata.h:201
@ kFBTangentCustomIndex1
Second custom tangent type registered in the system.
Definition fbdata.h:200
@ kFBTangentCustomIndex0
First custom tangent type registered in the system.
Definition fbdata.h:199
class K_DLLIMPORT FBPropertyBase< kReference, kFBPT_kReference > FBPropertykReference
Property: kReference
class K_DLLIMPORT FBPropertyBase< int, kFBPT_int > FBPropertyInt
Property: int
class K_DLLIMPORT FBPropertyBaseAnimatable< double, kFBPT_double > FBPropertyAnimatableDouble
FBPropertyBaseAnimatableDouble type definition.
class K_DLLIMPORT FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool
#define FB_DEFINE_LIST(DllTag, Type)
Define a component list.
class K_DLLIMPORT FBPropertyBase< float, kFBPT_float > FBPropertyFloat
Property: float
class K_DLLIMPORT FBPropertyBase< FBTime, kFBPT_Time > FBPropertyTime
Property: FBTime
#define FB_DEFINE_COMPONENT(DllTag, Type)
Define a component and give it the ability to be a property.
class K_DLLIMPORT FBPropertyBase< FBTimeSpan, kFBPT_TimeSpan > FBPropertyTimeSpan
Property: FBTimeSpan
#define FB_DEFINE_ENUM(DllTag, Type)
Define an enum and give it the ability to be a property.
class K_DLLIMPORT FBPropertyBase< FBColor, kFBPT_ColorRGB > FBPropertyColor
FBPropertyColor type definition.
class K_DLLIMPORT FBPropertyBase< double, kFBPT_double > FBPropertyDouble
Property: double
#define FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
Definition fbtypes.h:62
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
Definition fbtypes.h:68