fbsdk/fbdata.h Source File

fbdata.h
Go to the documentation of this file.
1 #ifndef __FBDATA_H__
2 #define __FBDATA_H__
3 /**************************************************************************
4 Copyright (c) 1994 - 2009 Autodesk, Inc. and/or its licensors.
5 All Rights Reserved.
6 
7 The coded instructions, statements, computer programs, and/or related
8 material (collectively the "Data") in these files contain unpublished
9 information proprietary to Autodesk, Inc. and/or its licensors, which is
10 protected by Canada and United States of America federal copyright law
11 and by international treaties.
12 
13 The Data may not be disclosed or distributed to third parties, in whole
14 or in part, without the prior written consent of Autodesk, Inc.
15 ("Autodesk").
16 
17 THE DATA IS PROVIDED "AS IS" AND WITHOUT WARRANTY.
18 ALL WARRANTIES ARE EXPRESSLY EXCLUDED AND DISCLAIMED. AUTODESK MAKES NO
19 WARRANTY OF ANY KIND WITH RESPECT TO THE DATA, EXPRESS, IMPLIED OR
20 ARISING BY CUSTOM OR TRADE USAGE, AND DISCLAIMS ANY IMPLIED WARRANTIES
21 OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
22 PURPOSE OR USE. WITHOUT LIMITING THE FOREGOING, AUTODESK DOES NOT
23 WARRANT THAT THE OPERATION OF THE DATA WILL BE UNINTERRUPTED OR ERROR
24 FREE.
25 
26 IN NO EVENT SHALL AUTODESK, ITS AFFILIATES, PARENT COMPANIES, LICENSORS
27 OR SUPPLIERS ("AUTODESK GROUP") BE LIABLE FOR ANY LOSSES, DAMAGES OR
28 EXPENSES OF ANY KIND (INCLUDING WITHOUT LIMITATION PUNITIVE OR MULTIPLE
29 DAMAGES OR OTHER SPECIAL, DIRECT, INDIRECT, EXEMPLARY, INCIDENTAL, LOSS
30 OF PROFITS, REVENUE OR DATA, COST OF COVER OR CONSEQUENTIAL LOSSES OR
31 DAMAGES OF ANY KIND), HOWEVER CAUSED, AND REGARDLESS OF THE THEORY OF
32 LIABILITY, WHETHER DERIVED FROM CONTRACT, TORT (INCLUDING, BUT NOT
33 LIMITED TO, NEGLIGENCE), OR OTHERWISE, ARISING OUT OF OR RELATING TO THE
34 DATA OR ITS USE OR ANY OTHER PERFORMANCE, WHETHER OR NOT AUTODESK HAS
35 BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS OR DAMAGE.
36 
37 **************************************************************************/
38 
45 #include <kaydaradef.h>
46 #ifndef FBSDK_DLL
47 
50  #define FBSDK_DLL K_DLLIMPORT
51 #endif
52 
53 #include <fbsdk/fbcomponent.h>
54 
56 // Basic types
58 #define ANIMATIONNODE_TYPE_NUMBER "Number"
59 #define ANIMATIONNODE_TYPE_TIME "Time"
60 #define ANIMATIONNODE_TYPE_TIMECODE "TimeCode"
61 #define ANIMATIONNODE_TYPE_VECTOR "Vector"
62 #define ANIMATIONNODE_TYPE_VECTOR_4 "Vector4"
63 #define ANIMATIONNODE_TYPE_OBJECT "Object"
64 #define ANIMATIONNODE_TYPE_REFERENCE "Reference"
65 #define ANIMATIONNODE_TYPE_EVENT "Event"
66 #define ANIMATIONNODE_TYPE_STRING "String"
67 
68 // Types which are numbers
69 #define ANIMATIONNODE_TYPE_ACTION "Action"
70 #define ANIMATIONNODE_TYPE_BOOL "Bool"
71 #define ANIMATIONNODE_TYPE_ENUM "Enum"
72 #define ANIMATIONNODE_TYPE_INTEGER "Integer"
73 #define ANIMATIONNODE_TYPE_OCCLUSION "Occlusion"
74 #define ANIMATIONNODE_TYPE_FIELDOFVIEWX "FieldOfViewX"
75 #define ANIMATIONNODE_TYPE_FIELDOFVIEWY "FieldOfViewY"
76 #define ANIMATIONNODE_TYPE_OPTICALCENTERX "OpticalCenterX"
77 #define ANIMATIONNODE_TYPE_OPTICALCENTERY "OpticalCenterY"
78 #define ANIMATIONNODE_TYPE_IKREACHTRANSLATION "IK Reach Translation"
79 #define ANIMATIONNODE_TYPE_IKREACHROTATION "IK Reach Rotation"
80 
81 // Types which are vectors (3 members)
82 #define ANIMATIONNODE_TYPE_COLOR "Color"
83 #define ANIMATIONNODE_TYPE_LOCAL_TRANSLATION "Lcl Translation"
84 #define ANIMATIONNODE_TYPE_LOCAL_ROTATION "Lcl Rotation"
85 #define ANIMATIONNODE_TYPE_LOCAL_SCALING "Lcl Scaling"
86 #define ANIMATIONNODE_TYPE_TRANSLATION "Translation"
87 #define ANIMATIONNODE_TYPE_ROTATION "Rotation"
88 #define ANIMATIONNODE_TYPE_SCALING "Scaling"
89 
90 // Types which are vectors (4 members)
91 #define ANIMATIONNODE_TYPE_COLOR_RGBA "ColorAndAlpha"
92 
94 
95 class KFCurve;
96 
97 #ifdef FBSDKUseNamespace
98 namespace FBSDKNamespace {
99 #endif
100 
101  FB_FORWARD( FBEvaluateInfo );
102  FB_FORWARD( FBPlotOptions );
103 
111  };
112  FB_DEFINE_ENUM( FBSDK_DLL, Interpolation );
113 
125  };
126 
137  };
138  FB_DEFINE_ENUM( FBSDK_DLL, TangentMode );
139 
146  //Add other clamping methods here...
147  };
148  FB_DEFINE_ENUM( FBSDK_DLL, TangentClampMode );
149 
156  };
157  FB_DEFINE_ENUM( FBSDK_DLL, TangentConstantMode );
158 
168  };
169  FB_DEFINE_ENUM( FBSDK_DLL, ExtrapolationMode );
170 
179  };
180  FB_DEFINE_ENUM( FBSDK_DLL, AnimationNodeConnectorType );
181 
183  // FBFCurveKey
185  FB_FORWARD( FBFCurve );
188 
191  {
192  private:
193  DataFBFCurveKey* mLocalPtr;
194  void FBFCurveKeyInitProperties();
196  void PropertyAdd( FBProperty* ) {};
197  public:
202  FBFCurveKey( ::KFCurve* pFCurve=NULL, int pKeyIndex=1 );
203 
207  FBFCurveKey( const FBFCurveKey &pFCurveKey );
208 
211  ~FBFCurveKey();
212 
218  bool operator==(const FBFCurveKey &pValue) const;
219 
220  // To convert the derivative values to degrees (as shown in Exact mode):
221  // degrees( atan( RightDerivative ))
222  // -1 * degrees( atan( LeftDerivative ))
223  //
224  // To convert from the exact degree in Exact mode in the GUI to the corresponding
225  // derivative:
226  // tan( radians( RightDerivative ))
227  // tan( radians( -1 * LeftDerivative ))
235 
236  // TCB
240 
248 
251 
252  friend class FBFCurve;
254  };
255 
257  // FBPropertyListFCurveKey
260 
263  {
264  private:
270  virtual int Add ( FBFCurveKey pItem );
271 
277  virtual int Remove ( FBFCurveKey pItem );
278 
279  public:
280 
284  virtual void RemoveAt( int pIndex );
285 
290  virtual FBFCurveKey operator[](int pIndex);
291 
295  virtual int GetCount();
296  };
297 
299  // FBFCurve
302 
304  class FBSDK_DLL FBFCurve : public FBComponent {
306  public:
310  FBFCurve(HIObject pObject=NULL);
311 
314  virtual void FBDelete() override;
315 
320  float Evaluate(FBTime &pTime);
321 
325  void EditBegin(int pKeyCount=-1);
326 
330  void EditEnd(int pKeyCount=-1);
331 
333  void EditClear();
334 
344  int KeyAdd( FBTime &pTime, double pValue, FBInterpolation pInterpolation=kFBInterpolationCubic, FBTangentMode pTangentMode=kFBTangentModeAuto );
345 
350  bool KeyRemove( int pIndex );
351 
361  bool KeyDelete(int pStartIndex , int pStopIndex);
362 
370  bool KeyDelete(FBTime pStart = FBTime::MinusInfinity, FBTime pStop = FBTime::Infinity, bool pInclusive = false);
371 
377  void KeyInsert( FBTime &pTime, FBInterpolation pInterpolation = kFBInterpolationCubic, FBTangentMode pTangentMode = kFBTangentModeAuto );
378 
386  void KeyReplaceBy( FBFCurve& pSource, FBTime pStart = FBTime::MinusInfinity, FBTime pStop = FBTime::Infinity, bool pUseExactGivenSpan = false, bool pKeyStartEndOnNoKey = true );
387 
396  K_DEPRECATED_2014 void Replace( FBFCurve& pSource, FBTime pStart = FBTime::MinusInfinity, FBTime pStop = FBTime::Infinity, bool pUseExactGivenSpan = false, bool pKeyStartEndOnNoKey = true );
397 
401  static FBFCurve* CreateInterpolatorCurve( FBInterpolatorCurveType pCurveType );
402 
405  FBExtrapolationMode GetPostExtrapolationMode();
406 
409  void SetPostExtrapolationMode(FBExtrapolationMode pExtrapolationMode);
410 
413  long GetPostExtrapolationCount();
414 
417  void SetPostExtrapolationCount(int pCount);
418 
421  FBExtrapolationMode GetPreExtrapolationMode();
422 
425  void SetPreExtrapolationMode(FBExtrapolationMode pExtrapolationMode);
426 
429  long GetPreExtrapolationCount();
430 
433  void SetPreExtrapolationCount(int pCount);
434 
435  FBPropertyListFCurveKey GetKeys(){ return Keys; };
436  void SetKeys(FBPropertyListFCurveKey pKeys){ Keys = pKeys; };
438  };
439 
441 
443  // FBPropertyListAnimationNode
447  FB_DEFINE_LIST( FBSDK_DLL, AnimationNode );
448 
450  class FBSDK_DLL FBPropertyListAnimationNode : public FBPropertyBaseList< FBAnimationNode* >
451  {
452  public:
457  virtual int Add ( FBAnimationNode* pItem );
462  virtual int Remove ( FBAnimationNode* pItem );
466  virtual void RemoveAt( int pIndex );
471  virtual FBAnimationNode* operator[](int pIndex);
475  virtual int GetCount();
481  FBAnimationNode* Find( FBBox *pOriginalOwner, const char* pDataType );
486  FBAnimationNode* Find( const char* pNodeName );
491  FBAnimationNode* FindByLabel( const char* pNodeLabel );
492  };
493 
495  // FBEventAnimationNode
498 
504  };
505 
506  FB_DEFINE_ENUM( FBSDK_DLL, EventAnimationNodeType );
507 
509 
517  {
518  public:
523 
525  };
526 
528  // FBPropertyEventAnimationNode
532  {
533  public:
538  virtual void Add ( HICallback pOwner, kICallbackHandler pHandler );
539  virtual void Remove ( HICallback pOwner, kICallbackHandler pHandler );
540  };
548  typedef bool (* kFBDataHandler )(void* pBuffer,FBEvaluateInfo* pEvaluateInfo,FBAnimationNode* pAnimationNode,void* p1,void* p2);
549 
551  // FBAnimationNode
554  FB_DEFINE_COMPONENT( FBSDK_DLL, AnimationNode );
555 
557  {
559  public:
564  FBAnimationNode(const char *pName = NULL, HIObject pObject=NULL);
565 
572  void KeyAdd( const FBTime &pTime, double *pData, FBInterpolation pInterpolation=kFBInterpolationCubic, FBTangentMode pTangentMode=kFBTangentModeAuto );
573 
579  void KeyAdd( double *pData, FBInterpolation pInterpolation=kFBInterpolationCubic, FBTangentMode pTangentMode=kFBTangentModeAuto );
580 
585  bool SetCandidate( double* Data, bool pCheckLocked = false );
586 
590  void SetBufferType( bool pGlobal );
591 
595  void KeyCandidate( FBTime pTime = FBTime::Infinity );
596 
599  int GetSizeOfData();
600 
604  int GetDataDoubleArrayCount();
605 
611  bool WriteData( double* Data,FBEvaluateInfo* pEvaluateInfo );
612 
618  bool WriteGlobalData( double* Data,FBEvaluateInfo* pEvaluateInfo );
619 
626  bool ReadData( double* Data,FBEvaluateInfo* pEvaluateInfo, bool pConvertGlobalToLocal = false );
627 
639  bool ReadData( double *Data, FBTime pTime, bool pConvertGlobalToLocal = false );
640 
648  bool ReadData( double* Data );
649 
656  bool Evaluate( double* Data, FBTime pTime, bool pEvaluateCandidate = true );
657 
659  bool IsEvaluationRecursive( FBEvaluateInfo* pEvaluateInfo );
660 
668  void DisableIfNotWritten( FBEvaluateInfo* pEvaluateInfo );
669 
673  bool IsKey();
674 
677  void KeyRemove();
678 
682  void KeyRemoveAt( FBTime pTime );
683 
687  FBAnimationNode* GetAnimationToRecord();
688 
692  FBAnimationNode* GetAnimationToPlay();
693 
697  FBTime ConvertGlobalToNodeTime(FBTime& pKeyTime);
698 
702  FBTime ConvertNodeToGlobalTime(FBTime& pKeyTime);
703 
714 
716 
718 
719  friend class FBBox;
720  };
721 
723  // FBAnimationLayer
725 
729  enum FBLayerMode {
734  };
735  FB_DEFINE_ENUM( FBSDK_DLL, LayerMode );
736 
744  };
745  FB_DEFINE_ENUM( FBSDK_DLL, LayerRotationMode );
746 
747 
749 
758  {
759  //--- Open Reality declaration.
761  public:
762 
768  FBAnimationLayer(const char *pName, int pLayerID, HIObject pObject=NULL);
769 
772  virtual void FBDelete();
773 
780 
784  void AddChildLayer( FBAnimationLayer* pAnimationLayer );
785 
790  FBAnimationLayer* GetChildLayer( int pIndex );
791 
795  int GetChildCount();
796 
803  void GetCompleteChildHierarchy(FBArrayTemplate<FBAnimationLayer*>* pChildArray);
804 
808  void SetParentLayer(FBAnimationLayer* pParentLayer);
809 
813  FBAnimationLayer* GetParentLayer();
814 
818  int GetLayerIndex();
819 
824  void SelectLayer(bool pValue, bool pExclusiveSelect);
825 
829  bool IsSelected();
830  };
831 
832 
835  // FBPropertyListTake
837 
841  {
842  public:
848  FBTake* operator[](int pIndex);
849 
854  virtual int Add( FBComponent* pItem ) override;
855 
859  virtual void RemoveAt( int pIndex ) override;
860  };
861 
870  };
871 
874 
880  };
881 
884 {
888 };
889 
891  // FBTake
893 
935  class FBSDK_DLL FBTake : public FBComponent {
937  public:
942  FBTake(const char* pName, HIObject pObject=NULL);
943 
948  virtual void FBDelete();
949 
958  FBTake* CopyTake( const char *pNewTakeName );
959 
962  void CreateNewLayer();
963 
967  void RemoveLayer(int pLayerIndex);
968 
973  FBAnimationLayer* GetLayer(int pLayerIndex);
974 
979  FBAnimationLayer* GetLayerByName(const char* pName);
980 
984  void SetCurrentLayer(int pLayerIndex);
985 
989  int GetCurrentLayer();
990 
994  int GetLayerCount();
995 
999  bool MoveCurrentLayerUp();
1000 
1004  bool MoveCurrentLayerDown();
1005 
1008  void DuplicateSelectedLayers();
1009 
1016  void MergeLayers(FBAnimationLayerMergeOptions pMergeOptions, bool pDeleteMergedLayers, FBMergeLayerMode pMergeMode, bool pMergeLockedProperties = false);
1017 
1018 // COMMENT MERGE PREIVEW
1019 #ifdef MERGE_PREVIEW
1020 
1027  bool CanDoMergePreview();
1028 
1032  bool IsInMergePreviewMode();
1033 
1037  bool DoMergePreview();
1038 
1041  void QuitMergePreview();
1042 #endif
1043 
1048  void PlotTakeOnSelected(FBPlotOptions* pPlotOptions);
1049 
1054  void PlotTakeOnSelectedProperties(FBPlotOptions* pPlotOptions);
1055 
1060  void PlotTakeOnSelected(FBTime pPlotPeriod);
1061 
1066  void PlotAllTakesOnSelected(FBTime pPlotPeriod);
1067 
1072  void PlotTakeOnSelectedProperties(FBTime pPlotPeriod);
1073 
1078  void PlotAllTakesOnSelectedProperties(FBTime pPlotPeriod);
1079 
1084  void ClearAllProperties(bool pOnSelectedObjectsOnly, bool pOnLockedProperties = false);
1085 
1088  void ClearAllPropertiesOnCurrentLayer();
1089 
1093 
1101  void PlotTakeOnObjects( FBPlotOptions* pPlotOptions, FBArrayTemplate<FBBox *> *pObjectsToPlot );
1102 
1110  void PlotTakeOnObjects( FBTime pPlotPeriod, FBArrayTemplate<FBBox *> *pObjectsToPlot );
1111 
1119  void PlotAllTakesOnObjects( FBTime pPlotPeriod, FBArrayTemplate<FBBox *> *pObjectsToPlot );
1120 
1126  void PlotTakeOnProperties( FBTime pPlotPeriod, FBArrayTemplate<FBProperty *> *pPropertiesToPlot );
1127 
1133  void PlotAllTakesOnProperties( FBTime pPlotPeriod, FBArrayTemplate<FBProperty *> *pPropertiesToPlot );
1134 
1135 
1142  int AddTimeMark( FBTime pTime, const char* pName = NULL );
1143 
1149  bool DeleteTimeMark( int pIndex );
1150 
1153  void DeleteAllTimeMarks();
1154 
1158  int GetTimeMarkCount();
1159 
1164  FBTime GetTimeMarkTime( int pIndex );
1165 
1172  int SetTimeMarkTime( int pIndex, FBTime pTime );
1173 
1178  const char* GetTimeMarkName( int pIndex );
1179 
1185  bool SetTimeMarkName( int pIndex, const char* pName );
1186 
1191  FBTimeMarkAction GetTimeMarkAction( int pIndex );
1192 
1198  bool SetTimeMarkAction( int pIndex, FBTimeMarkAction pAction );
1199 
1204  FBColor GetTimeMarkColor( int pIndex );
1205 
1211  bool SetTimeMarkColor( int pIndex, FBColor pColor );
1212 
1220  void SetLayerRealSelection(bool pValue);
1221 
1226  bool GetLayerRealSelection();
1227 
1231  int GetNextTimeMarkIndex();
1232 
1236  int GetPreviousTimeMarkIndex();
1237  };
1238 
1240 
1242  // FBTimeWarpManager
1245 
1250  {
1252 
1253  public:
1254  typedef void (*TimeWarpChangeCallback)(void* pObject);
1255 
1260 
1261 
1264  void TimeWarpTakeChange();
1265 
1269  void TimeWarpClearTake(FBTake* pTake);
1270 
1274  void TimeWarpInitTake(FBTake* pTake);
1275 
1280  void TimeWarpCopyTake(FBTake* pDstTake, FBTake* pSrcTake );
1281 
1282 
1288  void TimeWarpAddToTake(FBTake* pTake, FBAnimationNode* pTimeWarp, int pNickNumber=0);
1289 
1294  void DestroyTimeWarpFromTake(FBTake* pTake, FBAnimationNode* pTimeWarp);
1295 
1299  void RemoveTimeWarpFromScene(FBAnimationNode* pTimeWarp);
1300 
1301 
1306  kLong GetTimeWarpCount(FBTake* pTake);
1307 
1313  FBAnimationNode* GetTimeWarpAtIndex(FBTake* pTake, kLong pIndex);
1314 
1315 
1321  int GetTimeWarpNickNumber(FBTake* pTake, FBAnimationNode* pTimeWarp);
1322 
1329  bool SetTimeWarpNickNumber(FBTake* pTake, FBAnimationNode* pTimeWarp, int pNumber);
1330 
1336  int GetTimeWarpNickNumberAtIndex(FBTake* pTake, kLong pIndex);
1337 
1343  FBAnimationNode* GetTimeWarpFromNickNumber(FBTake* pTake, int pNumber);
1344 
1349  int FindTimeWarpNickNumberGlobal(FBAnimationNode* pTimeWarp);
1350 
1351 
1358  bool ApplyTimeWarp(FBTake* pTake, FBProperty* pEvalProp, FBAnimationNode* pTimeWarp);
1359 
1364  void RemoveTimeWarp(FBTake* pTake, FBProperty* pEvalProp );
1365 
1366 
1371  void TimeWarpRegisterChangeEvent(TimeWarpChangeCallback pCallback, void* pObject);
1372 
1377  void TimeWarpUnregisterChangeEvent(TimeWarpChangeCallback pCallback, void* pObject);
1378 
1379 
1384  FBAnimationNode* TimeWarpCreateNew( const char* pName );
1385 
1386 
1392  void TimeWarpRename( FBTake* pTake, FBAnimationNode* pTimeWarp, const char* pNewName );
1393 
1400  void TimeWarpMergeCurveNode( FBTake* pTake,FBProperty* pEvalProp, FBAnimationNode* pNode, FBAnimationNode* pTimeWarpNode );
1401 
1405  static FBTimeWarpManager& TheOne();
1406  };
1407 
1408 #ifdef FBSDKUseNamespace
1409 }
1410 #endif
1411 
1412 #endif
1413 
Time independent, will flatten the tangent handles when the key value goes over or under the previous...
Definition: fbdata.h:136
FBPropertyBool Selected
Read Write Property: Is the key selected.
Definition: fbdata.h:249
This is the equivalent to a cardinal spline with no parametrization.
Definition: fbdata.h:131
FBLayerRotationMode
Rotation mode for layer.
Definition: fbdata.h:740
#define __FBClassDeclare(Name, Parent)
For internal use only.
Definition: fbcomponent.h:132
FBPropertyTime Time
Read Write Property: Time of key.
Definition: fbdata.h:241
KeyFrame for an FCurve.
Definition: fbdata.h:190
class FBPropertyBase< FBTimeSpan, kFBPT_TimeSpan > FBPropertyTimeSpan
Property: FBTimeSpan
#define FB_DEFINE_COMPONENT(DllTag, Type)
Define a component and give it the ability to be a property.
Definition: fbproperties.h:139
#define FB_DEFINE_LIST(DllTag, Type)
Define a component list.
Definition: fbproperties.h:161
TCB spline (3 parameters: TENSION, CONTINUITY, BIAS)
Definition: fbdata.h:132
FBExtrapolationMode
Modes for pre / post extrapolation.
Definition: fbdata.h:162
class FBPropertyBaseComponent< FBAnimationNode * > FBPropertyAnimationNode
Definition: fbdata.h:554
FBPropertyEventAnimationNode OnChange
Event: Called when the value of this property is modified
Definition: fbdata.h:717
The tangent will be flattened when the key is placed at the same value as an adjacent key...
Definition: fbdata.h:145
FBPropertyFloat RightBezierTangent
Read Write Property: Right bezier tangent
Definition: fbdata.h:234
bool
Definition: asdl.h:9
class FBPropertyBaseAnimatable< double, kFBPT_double > FBPropertyAnimatableDouble
FBPropertyBaseAnimatableDouble type definition.
class FBPropertyBase< FBTime, kFBPT_Time > FBPropertyTime
Property: FBTime
The resulting layer will be in override mode if one of the source layer is in override, otherwise, it will be in additive mode.
Definition: fbdata.h:877
FBPropertyFloat Continuity
Read Write Property: Continuity (TCB).
Definition: fbdata.h:238
The tangent will contain the value of the current keyframe until the next keyframe.
Definition: fbdata.h:154
FBPropertyTimeSpan ReferenceTimeSpan
Read Write Property: Reference time span.
Definition: fbdata.h:1090
FBPropertyAnimationNode Parent
Read Only Property: Parent animation node.
Definition: fbdata.h:711
class FBPropertyBaseEnum< enum FBLayerRotationMode > FBPropertyLayerRotationMode
Definition: fbdata.h:745
The resulting layer will be in override mode, if possible.
Definition: fbdata.h:879
The animation node connector is not connected and doesn't have a constant value set to it...
Definition: fbdata.h:175
#define NULL
Definition: kaydara.h:169
FBTangentConstantMode
Different constant modes for the tangents.
Definition: fbdata.h:153
FBPropertyFloat Bias
Read Write Property: Bias (TCB).
Definition: fbdata.h:239
FBMergeLayerMode
Merge layer mode for animation layers. This will specify the mode of the resulting merged layer...
Definition: fbdata.h:876
class FBPropertyBaseEnum< enum FBInterpolation > FBPropertyInterpolation
Definition: fbdata.h:112
Time Warp Manager Interface to the Time Warp Manager.
Definition: fbdata.h:1249
class FBPropertyBaseEnum< enum FBTangentConstantMode > FBPropertyTangentConstantMode
Definition: fbdata.h:157
AnimationNodeNotify evaluation information.
static const FBAnimationLayerMergeOptions kFBAnimLayerMerge_SelectedLayer_CompleteScene
Definition: fbdata.h:873
FBEventAnimationNodeType
Event based on animation node.
Definition: fbdata.h:500
Merge the animation of all properties from all the layers to the BaseAnimation layer.
Definition: fbdata.h:869
class FBPropertyBase< float, kFBPT_float > FBPropertyFloat
Property: float
Property class: const char * (String).
Color vector.
Definition: fbtypes.h:447
FBInterpolatorCurveType
Types of interpolator for an FCurve.
Definition: fbdata.h:115
Base Event class.
Definition: fbcomponent.h:959
FBPropertyLayerRotationMode LayerRotationMode
Read Only Property: Layer rotation mode.
Definition: fbdata.h:779
Merge the animation of the selected properties of the selected models from the selected layers to the...
Definition: fbdata.h:864
The animation node input connector is connected to an animation node output connector (valid for inpu...
Definition: fbdata.h:176
When reaching the mark, the playback loops to previous global mark (or start frame if any)...
Definition: fbdata.h:887
class FBPropertyBaseEnum< enum FBEventAnimationNodeType > FBPropertyEventAnimationNodeType
Definition: fbdata.h:506
#define FB_DEFINE_ENUM(DllTag, Type)
Define an enum and give it the ability to be a property.
Definition: fbproperties.h:148
MotionBuilder SDK base class.
Definition: fbcomponent.h:668
FBPropertyAnimatableDouble Weight
Read Write Property: The weight value of a layer determines how much it is present in the result anim...
Definition: fbdata.h:777
Used to access animation layer properties and modify them.
Definition: fbdata.h:757
The tangent will act normally.
Definition: fbdata.h:144
class FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool
FBPropertyBool Lock
Read Write Property: If true, the layer is locked.
Definition: fbdata.h:776
class FBPropertyBase< kReference, kFBPT_kReference > FBPropertykReference
Property: kReference
FBInterpolation
Types of interpolation for an FCurve.
Definition: fbdata.h:105
FBPropertyFloat RightTangentWeight
Read Write Property: Right tangent weight
Definition: fbdata.h:232
The rotation will be computed component by component.
Definition: fbdata.h:742
When reaching the mark, the playback stops.
Definition: fbdata.h:886
The resulting layer will be in additive mode, if possible.
Definition: fbdata.h:878
class FBPropertyBaseEnum< enum FBTangentMode > FBPropertyTangentMode
Definition: fbdata.h:138
bool(* kFBDataHandler)(void *pBuffer, FBEvaluateInfo *pEvaluateInfo, FBAnimationNode *pAnimationNode, void *p1, void *p2)
kFBDataHandler
Definition: fbdata.h:548
Number of interpolation types.
Definition: fbdata.h:110
Time independent, is calculated based upon the slope between the previous and next key values...
Definition: fbdata.h:135
The animation node output connector is connected to at least one animation node input connector (vali...
Definition: fbdata.h:177
FBTimeMarkAction
Time (Global & Take) Mark assigned action.
Definition: fbdata.h:883
FBPropertyBool TangentBreak
Read Write Property: Tangent's break status
Definition: fbdata.h:245
FBPropertyString Comments
Read Write Property: Take comments.
Definition: fbdata.h:1092
If the layer has a weigth of 75%, the precedent layers will have a combined effect of 25% on the fina...
Definition: fbdata.h:733
Option parameters for plotting.
Definition: Python-ast.h:18
The rotation will be computed using quaternion.
Definition: fbdata.h:743
PropertyList: Concrete class for PropertyList of component
Definition: fbcomponent.h:553
Layer value will be added to the other layers to computed the final value.
Definition: fbdata.h:731
FBPropertyString Label
Read Write Property: Label (UI Name).
Definition: fbdata.h:704
A take is a container for animation in a scene.
Definition: fbdata.h:935
void SetKeys(FBPropertyListFCurveKey pKeys)
Definition: fbdata.h:436
FBPropertyFloat LeftDerivative
Read Write Property: Left derivative, in units/seconds.
Definition: fbdata.h:229
Merge the animation of all properties of the selected models from all the layers to the BaseAnimation...
Definition: fbdata.h:867
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
Definition: fbtypes.h:68
FBPropertyInterpolation DefaultInterpolation
Read Write Property: Default type of interpolation.
Definition: fbdata.h:712
FBPropertyBool MarkedForManipulation
Read Write Property: Is the key marked for manipulation.
Definition: fbdata.h:250
FCurve class.
Definition: fbdata.h:304
Property: Base property class.
Definition: fbproperties.h:192
Template class to contain an array of items.
Definition: fbarray.h:77
Linear interpolation.
Definition: fbdata.h:108
PropertyEvent: UI idle event.
Definition: fbdata.h:531
FBPropertyTangentConstantMode TangentConstantMode
Read Write Property: Tangent's constant mode
Definition: fbdata.h:246
Cubic interpolation.
Definition: fbdata.h:109
Like USER but left slope may differ from right.
Definition: fbdata.h:134
The transform manipulator has begun doing modifications This event occurs every time a manipulator: ...
Definition: fbdata.h:516
FBPropertyLayerMode LayerMode
Read Write Property: Layer mode.
Definition: fbdata.h:778
#define FBSDKNamespace
FBSDKNamespace define.
Definition: fbversion.h:64
Used to represent all splines with no lost data (HERMITE, BEZIER, CATMUL, etc.)
Definition: fbdata.h:133
FBPropertyAnimationNodeConnectorType ConnectorType
Read Only Property: Animation node connector type.
Definition: fbdata.h:713
List of FCurveKey.
Definition: fbdata.h:262
Basic class definitions.
Time data structure.
Definition: fbtime.h:86
FBPropertyFloat RightDerivative
Read Write Property: Right derivative, in units/seconds.
Definition: fbdata.h:230
FBTangentMode
Methods of tangent calculation.
Definition: fbdata.h:130
PropertyEvent: Base event class.
Definition: fbproperties.h:507
FBPropertyTimeSpan LocalTimeSpan
Read Write Property: Local time span.
Definition: fbdata.h:1091
Constant interpolation.
Definition: fbdata.h:107
KEventBase * HKEventBase
Definition: fbcomponent.h:75
FBPropertyFloat Value
Read Write Property: Value of Key
Definition: fbdata.h:228
FBPropertyListFCurveKey GetKeys()
Definition: fbdata.h:435
FBPropertyListAnimationNode Nodes
List: List of animation nodes.
Definition: fbdata.h:715
FBPropertyFloat Tension
Read Write Property: Tension (TCB).
Definition: fbdata.h:237
Merge the animation of all properties of the selected models from the selected layers to the selected...
Definition: fbdata.h:866
class FBPropertyBaseEnum< enum FBTangentClampMode > FBPropertyTangentClampMode
Definition: fbdata.h:148
FBTangentClampMode
Different clamping modes for the tangents.
Definition: fbdata.h:143
A box is a fundamental building block in the application architecture.
Definition: fbcore.h:218
class FBPropertyBaseEnum< enum FBLayerMode > FBPropertyLayerMode
Definition: fbdata.h:735
#define K_DEPRECATED_2014
Definition: kaydara.h:412
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
Definition: fbdata.h:50
FBPropertyTangentClampMode TangentClampMode
Read Write Property: Tangent's clamp method.
Definition: fbdata.h:244
#define FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
Definition: fbtypes.h:62
class FBPropertyBaseEnum< enum FBExtrapolationMode > FBPropertyExtrapolationMode
Definition: fbdata.h:169
bool operator==(const FBPickInfos &pLhs, const FBPickInfos &pRhs)
class FBPropertyBaseComponent< FBFCurve * > FBPropertyFCurve
Definition: fbdata.h:440
FBPropertyExtrapolationMode ExtrapolationMode
Read Write Property: Extrapolation mode
Definition: fbdata.h:247
FBAnimationNodeConnectorType
Different types for the animation node connectors.
Definition: fbdata.h:174
FBPropertyFCurve FCurve
Read Write Property: FCurve for animation.
Definition: fbdata.h:708
FBPropertyBool Live
Read Write Property: Is animation live?
Definition: fbdata.h:709
Merge the animation of the selected properties of the selected models from all the layers to the Base...
Definition: fbdata.h:865
FBAnimationLayerMergeOptions
Merge option for animation layers.
Definition: fbdata.h:863
class FBPropertyBase< int, kFBPT_int > FBPropertyInt
Property: int
Merge the animation of all properties from the selected layers to the selected layer with the lowest ...
Definition: fbdata.h:868
FBPropertyBool Mute
Read Write Property: If true, the layer is muted.
Definition: fbdata.h:775
FBPropertyInterpolation Interpolation
Read Write Property: Type of interpolation.
Definition: fbdata.h:242
FBLayerMode
Layer mode.
Definition: fbdata.h:729
FBPropertyBool RecordMode
Read Write Property: Is the node in recording mode (device connectors)?
Definition: fbdata.h:710
FBPropertyInt KeyCount
Read Only Property: Number of keys.
Definition: fbdata.h:707
FBPropertyString UserName
Read Only Property: Name of animation node.
Definition: fbdata.h:705
FBPropertyEventAnimationNodeType Type
Read Only Property: Type of selection event.
Definition: fbdata.h:524
Layer value will override the value of the other precedent layers.
Definition: fbdata.h:732
Invalid interpolation.
Definition: fbdata.h:106
FBPropertyTangentMode TangentMode
Read Write Property: Tangent calculation method.
Definition: fbdata.h:243
The tangent will contain the value of the next keyframe.
Definition: fbdata.h:155
FBPropertyFloat LeftTangentWeight
Read Write Property: Left tangent weight
Definition: fbdata.h:231
FBPropertykReference Reference
Read Write Property: User-defined reference.
Definition: fbdata.h:706
List of animation nodes.
Definition: fbdata.h:450
class FBPropertyBaseEnum< enum FBAnimationNodeConnectorType > FBPropertyAnimationNodeConnectorType
Definition: fbdata.h:180
FBPropertyBool Solo
Read Write Property: If true, the layer is soloed.
Definition: fbdata.h:774
The animation node input connector has a constant value set to it (valid for input connector only)...
Definition: fbdata.h:178
void(ICallback::* kICallbackHandler)(HIRegister pCaller, HKEventBase pEvent)
Definition: icallback.h:50
FBPropertyFloat LeftBezierTangent
Read Write Property: Left bezier tangent
Definition: fbdata.h:233