00001
00004 #ifndef FBXFILESDK_KFBXPLUGINS_KFBXKFCURVEFILTERS_H
00005 #define FBXFILESDK_KFBXPLUGINS_KFBXKFCURVEFILTERS_H
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041 #include <fbxfilesdk/fbxfilesdk_def.h>
00042
00043 #include <fbxfilesdk/kfbxplugins/kfbxobject.h>
00044 #include <fbxfilesdk/components/kbaselib/klib/ktime.h>
00045 #include <fbxfilesdk/components/kbaselib/klib/kerror.h>
00046 #include <fbxfilesdk/kfbxmath/kfbxxmatrix.h>
00047
00048 #include <fbxfilesdk/fbxfilesdk_nsbegin.h>
00049
00050 class KFbxAnimStack;
00051 class KFbxAnimCurve;
00052 class KFbxAnimCurveNode;
00053 class KFCurve;
00054 class KFCurveNode;
00055 class KFCurveFilterKeyReducer;
00056 class KFCurveFilterConstantKeyReducer;
00057 class KFCurveFilterMatrixConverter;
00058 class KFCurveFilterResample;
00059 class KFCurveFilterUnroll;
00060 class KFCurveFilterGimbleKiller;
00061 class KFCurveFilterTimeShiftAndScale;
00062 class KFCurveFilterKeySync;
00063 class KFCurveFilterScale;
00064
00065
00072 class KFBX_DLL KFbxKFCurveFilter : public KFbxObject
00073 {
00074 KFBXOBJECT_DECLARE(KFbxKFCurveFilter,KFbxObject);
00075
00076 public:
00080 virtual const char* GetName() const {return NULL;}
00081
00085 virtual KTime& GetStartTime() {return mTime;}
00086
00090 virtual void SetStartTime(KTime& pTime){return;}
00091
00095 virtual KTime& GetStopTime(){return mTime;}
00096
00100 virtual void SetStopTime(KTime& pTime){return ;}
00101
00106 virtual int GetStartKey(KFbxAnimCurve& pCurve) const {return 0;}
00107
00111 virtual int GetStartKey(KFCurve& pCurve) const {return 0;}
00112
00117 virtual int GetStopKey(KFbxAnimCurve& pCurve) const {return 0;}
00118
00122 virtual int GetStopKey(KFCurve& pCurve) const {return 0;}
00123
00128 virtual bool NeedApply(KFbxAnimStack* pAnimStack);
00129
00135 virtual bool NeedApply(KFbxObject* pObj, KFbxAnimStack* pAnimStack);
00136
00141 virtual bool NeedApply(KFbxAnimCurveNode& pCurveNode) {return false;}
00142
00147 virtual bool NeedApply(KFCurveNode& pCurveNode, bool pRecursive = true){return false;}
00148
00154 virtual bool NeedApply(KFbxAnimCurve** pCurve, int pCount){return false;}
00155
00160 virtual bool NeedApply(KFCurve** pCurve, int pCount){return false;}
00161
00166 virtual bool NeedApply(KFbxAnimCurve& pCurve){return false;}
00167
00172 virtual bool Apply(KFbxAnimStack* pAnimStack);
00173
00179 virtual bool Apply(KFbxObject* pObj, KFbxAnimStack* pAnimStack);
00180
00184 virtual bool NeedApply(KFCurve& pCurve){return false;}
00185
00190 virtual bool Apply(KFbxAnimCurveNode& pCurveNode){return false;}
00191
00196 virtual bool Apply(KFCurveNode& pCurveNode, bool pRecursive = true){return false;}
00197
00203 virtual bool Apply(KFbxAnimCurve** pCurve, int pCount){return false;}
00204
00209 virtual bool Apply(KFCurve** pCurve, int pCount){return false;}
00210
00215 virtual bool Apply(KFbxAnimCurve& pCurve){return false;}
00216
00220 virtual bool Apply(KFCurve& pCurve){return false;}
00221
00224 virtual void Reset(){return ;}
00225
00229 virtual KError* GetError() {return NULL;}
00230
00234 virtual int GetLastErrorID(){return -1;}
00235
00239 virtual char* GetLastErrorString(){return NULL;}
00241
00242
00243
00244
00245
00246
00248 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00249
00250 protected:
00251 KFbxKFCurveFilter(KFbxSdkManager& pManager, char const* pName);
00252 void GetKFCurvesFromAnimCurve(KFbxAnimCurve** pSrc, int pSrcCount, KFCurve** pDst, int& pDstCount);
00253
00254 KTime mTime;
00255 #endif
00256 };
00257
00258
00265 class KFBX_DLL KFbxKFCurveFilterKeyReducer : public KFbxKFCurveFilter
00266 {
00267 KFBXOBJECT_DECLARE(KFbxKFCurveFilterKeyReducer,KFbxKFCurveFilter);
00268
00269 public:
00270
00274 virtual const char* GetName() const;
00275
00279 virtual KTime& GetStartTime();
00283 virtual void SetStartTime(KTime& pTime);
00287 virtual KTime& GetStopTime();
00288
00292 virtual void SetStopTime(KTime& pTime);
00293
00298 virtual int GetStartKey(KFbxAnimCurve& pCurve) const;
00302 K_DEPRECATED virtual int GetStartKey(KFCurve& pCurve) const;
00303
00308 virtual int GetStopKey(KFbxAnimCurve& pCurve) const;
00312 K_DEPRECATED virtual int GetStopKey(KFCurve& pCurve) const;
00313
00318 virtual bool NeedApply(KFbxAnimStack* pAnimStack) { return ParentClass::NeedApply(pAnimStack); }
00319
00324 virtual bool NeedApply(KFbxAnimCurveNode& pCurveNode);
00329 K_DEPRECATED virtual bool NeedApply(KFCurveNode& pCurveNode, bool pRecursive = true);
00330
00336 virtual bool NeedApply(KFbxAnimCurve** pCurve, int pCount);
00341 K_DEPRECATED virtual bool NeedApply(KFCurve** pCurve, int pCount);
00342
00347 virtual bool NeedApply(KFbxAnimCurve& pCurve);
00351 K_DEPRECATED virtual bool NeedApply(KFCurve& pCurve);
00352
00356 virtual KError* GetError();
00360 virtual int GetLastErrorID() const;
00364 virtual const char* GetLastErrorString() const;
00365
00370 virtual bool Apply(KFbxAnimStack* pAnimStack) { return ParentClass::Apply(pAnimStack); }
00371
00376 virtual bool Apply(KFbxAnimCurveNode& pCurveNode);
00381 K_DEPRECATED virtual bool Apply(KFCurveNode& pCurveNode, bool pRecursive = true);
00382
00388 virtual bool Apply(KFbxAnimCurve** pCurve, int pCount);
00393 K_DEPRECATED virtual bool Apply(KFCurve** pCurve, int pCount);
00394
00399 virtual bool Apply(KFbxAnimCurve& pCurve);
00400
00404 K_DEPRECATED virtual bool Apply(KFCurve& pCurve);
00405
00408 virtual void Reset();
00409
00411 double GetPrecision() const;
00412
00416 void SetPrecision(double pPrecision);
00417
00419 bool GetKeySync() const;
00420
00424 void SetKeySync(bool pKeySync);
00425
00427
00428
00429
00430
00431
00432
00434
00435 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00436 protected:
00438 KFbxKFCurveFilterKeyReducer(KFbxSdkManager& pManager, char const* pName);
00439 KFCurveFilterKeyReducer *mDataCurveFilter;
00440 virtual void Destruct(bool pRecursive, bool pDependents);
00441
00442 #endif
00443 };
00444
00445
00446
00453 class KFBX_DLL KFbxKFCurveFilterConstantKeyReducer : public KFbxKFCurveFilter
00454 {
00455 KFBXOBJECT_DECLARE(KFbxKFCurveFilterConstantKeyReducer,KFbxKFCurveFilter);
00456
00457 public:
00458
00462 virtual const char* GetName() const;
00463
00467 virtual KTime& GetStartTime();
00471 virtual void SetStartTime(KTime& pTime);
00475 virtual KTime& GetStopTime();
00476
00480 virtual void SetStopTime(KTime& pTime);
00481
00486 virtual int GetStartKey(KFbxAnimCurve& pCurve) const;
00490 K_DEPRECATED virtual int GetStartKey(KFCurve& pCurve) const;
00491
00496 virtual int GetStopKey(KFbxAnimCurve& pCurve) const;
00500 K_DEPRECATED virtual int GetStopKey(KFCurve& pCurve) const;
00501
00506 virtual bool NeedApply(KFbxAnimStack* pAnimStack) { return ParentClass::NeedApply(pAnimStack); }
00507
00512 virtual bool NeedApply(KFbxAnimCurveNode& pCurveNode);
00517 K_DEPRECATED virtual bool NeedApply(KFCurveNode& pCurveNode, bool pRecursive = true);
00518
00524 virtual bool NeedApply(KFbxAnimCurve** pCurve, int pCount);
00529 K_DEPRECATED virtual bool NeedApply(KFCurve** pCurve, int pCount);
00530
00535 virtual bool NeedApply(KFbxAnimCurve& pCurve);
00539 K_DEPRECATED virtual bool NeedApply(KFCurve& pCurve);
00540
00544 virtual KError* GetError();
00548 virtual int GetLastErrorID() const;
00552 virtual const char* GetLastErrorString() const;
00553
00558 virtual bool Apply(KFbxAnimStack* pAnimStack) { return ParentClass::Apply(pAnimStack); }
00559
00564 virtual bool Apply(KFbxAnimCurveNode& pCurveNode);
00569 K_DEPRECATED virtual bool Apply(KFCurveNode& pCurveNode, bool pRecursive = true);
00570
00576 virtual bool Apply(KFbxAnimCurve** pCurve, int pCount);
00581 K_DEPRECATED virtual bool Apply(KFCurve** pCurve, int pCount);
00582
00587 virtual bool Apply(KFbxAnimCurve& pCurve);
00588
00592 K_DEPRECATED virtual bool Apply(KFCurve& pCurve);
00593
00596 virtual void Reset();
00597
00601 double GetDerivativeTolerance() const;
00602
00606 void SetDerivativeTolerance(double pValue);
00607
00611 double GetValueTolerance() const;
00612
00616 void SetValueTolerance(double pValue);
00617
00621 bool GetKeepFirstAndLastKeys() const;
00622
00626 void SetKeepFirstAndLastKeys( bool pKeepFirstAndLastKeys );
00627
00631 bool GetKeepOneKey() const;
00632
00636 void SetKeepOneKey( bool pKeepOneKey );
00637
00641 void SetKeepNotPureAutoKeys(bool pKeep);
00642
00644
00645
00646
00647
00648
00649
00651
00652 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00653
00654
00655
00656
00657 void SetTranslationThreshold ( double pTranslationThreshold );
00658 void SetRotationThreshold ( double pRotationThreshold );
00659 void SetScalingThreshold ( double pScalingThreshold );
00660 void SetDefaultThreshold ( double pDefaultThreshold );
00661 protected:
00663 KFbxKFCurveFilterConstantKeyReducer(KFbxSdkManager& pManager, char const* pName);
00664 KFCurveFilterConstantKeyReducer *mDataCurveFilter;
00665 virtual void Destruct(bool pRecursive, bool pDependents);
00666
00667 #endif
00668 };
00669
00670
00671
00672
00677 class KFBX_DLL KFbxKFCurveFilterMatrixConverter : public KFbxKFCurveFilter
00678 {
00679 KFBXOBJECT_DECLARE(KFbxKFCurveFilterMatrixConverter,KFbxKFCurveFilter);
00680
00681 public:
00682
00686 virtual const char* GetName() const;
00687
00691 virtual KTime& GetStartTime();
00695 virtual void SetStartTime(KTime& pTime);
00699 virtual KTime& GetStopTime();
00700
00704 virtual void SetStopTime(KTime& pTime);
00705
00710 virtual int GetStartKey(KFbxAnimCurve& pCurve) const;
00714 K_DEPRECATED virtual int GetStartKey(KFCurve& pCurve) const;
00715
00720 virtual int GetStopKey(KFbxAnimCurve& pCurve) const;
00724 K_DEPRECATED virtual int GetStopKey(KFCurve& pCurve) const;
00725
00731 virtual bool NeedApply(KFbxAnimStack* pAnimStack) { return false; }
00732
00737 virtual bool NeedApply(KFbxAnimCurveNode* pCurveNode[3]);
00742 K_DEPRECATED virtual bool NeedApply(KFCurveNode& pCurveNode, bool pRecursive = true);
00743
00749 virtual bool NeedApply(KFbxAnimCurve** pCurve, int pCount);
00754 K_DEPRECATED virtual bool NeedApply(KFCurve** pCurve, int pCount);
00755
00759 virtual bool NeedApply(KFbxAnimCurve& pCurve);
00763 K_DEPRECATED virtual bool NeedApply(KFCurve& pCurve);
00764
00768 virtual KError* GetError();
00772 virtual int GetLastErrorID() const;
00776 virtual const char* GetLastErrorString() const;
00777
00783 virtual bool Apply(KFbxAnimStack* pAnimStack) { return false; }
00784
00789 virtual bool Apply(KFbxAnimCurveNode* pCurveNode[3]);
00794 K_DEPRECATED virtual bool Apply(KFCurveNode& pCurveNode, bool pRecursive = true);
00795
00801 virtual bool Apply(KFbxAnimCurve** pCurve, int pCount);
00806 K_DEPRECATED virtual bool Apply(KFCurve** pCurve, int pCount);
00807
00811 virtual bool Apply(KFbxAnimCurve& pCurve);
00812
00816 K_DEPRECATED virtual bool Apply(KFCurve& pCurve);
00817
00820 virtual void Reset();
00821
00836 enum EMatrixID
00837 {
00838 ePreGlobal,
00839 ePreTranslate,
00840 ePostTranslate,
00841 ePreRotate,
00842 ePostRotate,
00843 ePreScale,
00844 ePostScale,
00845 ePostGlobal,
00846 eScaleOffset,
00847 eInactivePre,
00848 eInactivePost,
00849 eRotationPivot,
00850 eScalingPivot,
00851 eMatrixCount
00852 };
00853
00858 void GetSourceMatrix(EMatrixID pIndex, KFbxXMatrix& pMatrix) const;
00859
00864 void SetSourceMatrix(EMatrixID pIndex, KFbxXMatrix& pMatrix);
00865
00870 void GetDestMatrix(EMatrixID pIndex, KFbxXMatrix& pMatrix) const;
00871
00876 void SetDestMatrix(EMatrixID pIndex, KFbxXMatrix& pMatrix);
00877
00881 KTime GetResamplingPeriod () const;
00882
00886 void SetResamplingPeriod (KTime& pResamplingPeriod);
00887
00891 bool GetGenerateLastKeyExactlyAtEndTime() const;
00892
00896 void SetGenerateLastKeyExactlyAtEndTime(bool pFlag);
00897
00901 bool GetResamplingOnFrameRateMultiple() const;
00902
00911 void SetResamplingOnFrameRateMultiple(bool pFlag);
00912
00916 bool GetApplyUnroll() const;
00917
00921 void SetApplyUnroll(bool pFlag);
00922
00926 bool GetApplyConstantKeyReducer() const;
00927
00931 void SetApplyConstantKeyReducer(bool pFlag);
00932
00938 bool GetResampleTranslation() const;
00939
00945 void SetResampleTranslation(bool pFlag);
00946
00950 void SetSrcRotateOrder(int pOrder);
00951
00955 void SetDestRotateOrder(int pOrder);
00956
00960 void SetForceApply(bool pVal);
00961
00965 bool GetForceApply() const;
00967
00968
00969
00970
00971
00972
00974 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00975 protected:
00977 KFbxKFCurveFilterMatrixConverter(KFbxSdkManager& pManager, char const* pName);
00978 KFCurveFilterMatrixConverter *mDataCurveFilter;
00979 virtual void Destruct(bool pRecursive, bool pDependents);
00980 #endif
00981 };
00982
00983
00984
00985
00989 class KFBX_DLL KFbxKFCurveFilterResample : public KFbxKFCurveFilter
00990 {
00991 KFBXOBJECT_DECLARE(KFbxKFCurveFilterResample,KFbxKFCurveFilter);
00992
00993 public:
00997 virtual const char* GetName() const;
00998
01002 virtual KTime& GetStartTime();
01006 virtual void SetStartTime(KTime& pTime);
01010 virtual KTime& GetStopTime();
01011
01015 virtual void SetStopTime(KTime& pTime);
01016
01021 virtual int GetStartKey(KFbxAnimCurve& pCurve) const;
01025 K_DEPRECATED virtual int GetStartKey(KFCurve& pCurve) const;
01026
01031 virtual int GetStopKey(KFbxAnimCurve& pCurve) const;
01035 K_DEPRECATED virtual int GetStopKey(KFCurve& pCurve) const;
01036
01041 virtual bool NeedApply(KFbxAnimStack* pAnimStack) { return ParentClass::NeedApply(pAnimStack); }
01042
01047 virtual bool NeedApply(KFbxAnimCurveNode& pCurveNode);
01052 K_DEPRECATED virtual bool NeedApply(KFCurveNode& pCurveNode, bool pRecursive = true);
01053
01059 virtual bool NeedApply(KFbxAnimCurve** pCurve, int pCount);
01064 K_DEPRECATED virtual bool NeedApply(KFCurve** pCurve, int pCount);
01065
01070 virtual bool NeedApply(KFbxAnimCurve& pCurve);
01074 K_DEPRECATED virtual bool NeedApply(KFCurve& pCurve);
01075
01079 virtual KError* GetError();
01083 virtual int GetLastErrorID() const;
01087 virtual const char* GetLastErrorString() const;
01088
01093 virtual bool Apply(KFbxAnimCurveNode& pCurveNode);
01098 K_DEPRECATED virtual bool Apply(KFCurveNode& pCurveNode, bool pRecursive = true);
01099
01104 virtual bool Apply(KFbxAnimStack* pAnimStack) { return ParentClass::Apply(pAnimStack); }
01105
01111 virtual bool Apply(KFbxAnimCurve** pCurve, int pCount);
01116 K_DEPRECATED virtual bool Apply(KFCurve** pCurve, int pCount);
01117
01122 virtual bool Apply(KFbxAnimCurve& pCurve);
01123
01127 K_DEPRECATED virtual bool Apply(KFCurve& pCurve);
01128
01131 virtual void Reset();
01132
01136 void SetKeysOnFrame(bool pKeysOnFrame);
01137
01141 bool GetKeysOnFrame() const;
01142
01146 KTime GetPeriodTime() const;
01147
01151 void SetPeriodTime(KTime &pPeriod);
01152
01153
01157 bool GetIntelligentMode() const;
01158
01162 void SetIntelligentMode( bool pIntelligent );
01163
01165
01166
01167
01168
01169
01170
01172 #ifndef DOXYGEN_SHOULD_SKIP_THIS
01173 protected:
01175 KFbxKFCurveFilterResample(KFbxSdkManager& pManager, char const* pName);
01176 KFCurveFilterResample *mDataCurveFilter;
01177 virtual void Destruct(bool pRecursive, bool pDependents);
01178 #endif
01179
01180 };
01181
01186 class KFBX_DLL KFbxKFCurveFilterUnroll : public KFbxKFCurveFilter
01187 {
01188 KFBXOBJECT_DECLARE(KFbxKFCurveFilterUnroll,KFbxKFCurveFilter);
01189
01190 public:
01191
01195 virtual const char* GetName() const;
01196
01200 virtual KTime& GetStartTime();
01204 void SetStartTime(KTime& pTime);
01208 virtual KTime& GetStopTime();
01209
01213 virtual void SetStopTime(KTime& pTime);
01214
01219 virtual int GetStartKey(KFbxAnimCurve& pCurve) const;
01223 K_DEPRECATED virtual int GetStartKey(KFCurve& pCurve) const;
01224
01229 virtual int GetStopKey(KFbxAnimCurve& pCurve) const;
01233 K_DEPRECATED virtual int GetStopKey(KFCurve& pCurve) const;
01234
01240 virtual bool NeedApply(KFbxAnimStack* pAnimStack) { return false; };
01241
01246 virtual bool NeedApply(KFbxAnimCurveNode& pCurveNode);
01251 K_DEPRECATED virtual bool NeedApply(KFCurveNode& pCurveNode, bool pRecursive = true);
01252
01258 virtual bool NeedApply(KFbxAnimCurve** pCurve, int pCount);
01263 K_DEPRECATED virtual bool NeedApply(KFCurve** pCurve, int pCount);
01264
01268 virtual bool NeedApply(KFbxAnimCurve& pCurve);
01272 K_DEPRECATED virtual bool NeedApply(KFCurve& pCurve);
01273
01277 virtual KError* GetError();
01281 virtual int GetLastErrorID() const;
01285 virtual const char* GetLastErrorString() const;
01286
01292 virtual bool Apply(KFbxAnimStack* pAnimStack) { return false; };
01293
01298 virtual bool Apply(KFbxAnimCurveNode& pCurveNode);
01303 K_DEPRECATED virtual bool Apply(KFCurveNode& pCurveNode, bool pRecursive = true);
01304
01310 virtual bool Apply(KFbxAnimCurve** pCurve, int pCount);
01315 K_DEPRECATED virtual bool Apply(KFCurve** pCurve, int pCount);
01316
01320 virtual bool Apply(KFbxAnimCurve& pCurve);
01324 K_DEPRECATED virtual bool Apply(KFCurve& pCurve);
01325
01328 virtual void Reset();
01329
01333 double GetQualityTolerance() const;
01334
01338 void SetQualityTolerance(double pQualityTolerance);
01339
01343 bool GetTestForPath() const;
01344
01348 void SetTestForPath(bool pTestForPath);
01349
01351
01352
01353
01354
01355
01356
01358 void SetRotationOrder(int pOrder);
01359
01360 #ifndef DOXYGEN_SHOULD_SKIP_THIS
01361 protected:
01363 KFbxKFCurveFilterUnroll(KFbxSdkManager& pManager, char const* pName);
01364 KFCurveFilterUnroll *mDataCurveFilter;
01365 virtual void Destruct(bool pRecursive, bool pDependents);
01366 #endif
01367 };
01368
01369
01373 class KFBX_DLL KFbxKFCurveFilterGimbleKiller : public KFbxKFCurveFilter
01374 {
01375 KFBXOBJECT_DECLARE(KFbxKFCurveFilterGimbleKiller,KFbxKFCurveFilter);
01376
01377 public:
01378
01382 virtual const char* GetName() const;
01383
01387 virtual KTime& GetStartTime();
01391 virtual void SetStartTime(KTime& pTime);
01395 virtual KTime& GetStopTime();
01396
01400 virtual void SetStopTime(KTime& pTime);
01401
01406 virtual int GetStartKey(KFbxAnimCurve& pCurve) const;
01410 K_DEPRECATED virtual int GetStartKey(KFCurve& pCurve) const;
01411
01416 virtual int GetStopKey(KFbxAnimCurve& pCurve) const;
01420 K_DEPRECATED virtual int GetStopKey(KFCurve& pCurve) const;
01421
01427 virtual bool NeedApply(KFbxAnimStack* pAnimStack) { return false; }
01428
01433 virtual bool NeedApply(KFbxAnimCurveNode& pCurveNode);
01438 K_DEPRECATED virtual bool NeedApply(KFCurveNode& pCurveNode, bool pRecursive = true);
01439
01445 virtual bool NeedApply(KFbxAnimCurve** pCurve, int pCount);
01450 K_DEPRECATED virtual bool NeedApply(KFCurve** pCurve, int pCount);
01451
01455 virtual bool NeedApply(KFbxAnimCurve& pCurve);
01459 K_DEPRECATED virtual bool NeedApply(KFCurve& pCurve);
01460
01464 virtual KError* GetError();
01468 virtual int GetLastErrorID() const;
01472 virtual const char* GetLastErrorString() const;
01473
01479 virtual bool Apply(KFbxAnimStack* pAnimStack) { return false; }
01480
01485 virtual bool Apply(KFbxAnimCurveNode& pCurveNode);
01490 K_DEPRECATED virtual bool Apply(KFCurveNode& pCurveNode, bool pRecursive = true);
01491
01497 virtual bool Apply(KFbxAnimCurve** pCurve, int pCount);
01502 K_DEPRECATED virtual bool Apply(KFCurve** pCurve, int pCount);
01503
01507 virtual bool Apply(KFbxAnimCurve& pCurve);
01511 K_DEPRECATED virtual bool Apply(KFCurve& pCurve);
01512
01515 virtual void Reset();
01516
01518 bool GetApplyKeySyncFilter() const;
01519
01523 void SetApplyKeySyncFilter(bool pFlag);
01524
01526
01527
01528
01529
01530
01531
01533
01534 #ifndef DOXYGEN_SHOULD_SKIP_THIS
01535 protected:
01537 KFbxKFCurveFilterGimbleKiller(KFbxSdkManager& pManager, char const* pName);
01538 KFCurveFilterGimbleKiller *mDataCurveFilter;
01539 virtual void Destruct(bool pRecursive, bool pDependents);
01540 #endif
01541 };
01542
01543
01547 class KFBX_DLL KFbxKFCurveFilterTSS : public KFbxKFCurveFilter
01548 {
01549 KFBXOBJECT_DECLARE(KFbxKFCurveFilterTSS,KFbxKFCurveFilter);
01550
01551 public:
01552
01556 virtual const char* GetName() const;
01557
01561 virtual KTime& GetStartTime();
01565 virtual void SetStartTime(KTime& pTime);
01569 virtual KTime& GetStopTime();
01570
01574 virtual void SetStopTime(KTime& pTime);
01575
01580 virtual int GetStartKey(KFbxAnimCurve& pCurve) const;
01584 K_DEPRECATED virtual int GetStartKey(KFCurve& pCurve) const;
01585
01590 virtual int GetStopKey(KFbxAnimCurve& pCurve) const;
01594 K_DEPRECATED virtual int GetStopKey(KFCurve& pCurve) const;
01595
01600 virtual bool NeedApply(KFbxAnimStack* pAnimStack) { return ParentClass::NeedApply(pAnimStack); }
01601
01606 virtual bool NeedApply(KFbxAnimCurveNode& pCurveNode);
01611 K_DEPRECATED virtual bool NeedApply(KFCurveNode& pCurveNode, bool pRecursive = true);
01612
01618 virtual bool NeedApply(KFbxAnimCurve** pCurve, int pCount);
01623 K_DEPRECATED virtual bool NeedApply(KFCurve** pCurve, int pCount);
01624
01629 virtual bool NeedApply(KFbxAnimCurve& pCurve);
01633 K_DEPRECATED virtual bool NeedApply(KFCurve& pCurve);
01634
01638 virtual KError* GetError();
01642 virtual int GetLastErrorID() const;
01646 virtual const char* GetLastErrorString() const;
01647
01652 virtual bool Apply(KFbxAnimStack* pAnimStack) { return ParentClass::Apply(pAnimStack); }
01653
01658 virtual bool Apply(KFbxAnimCurveNode& pCurveNode);
01663 K_DEPRECATED virtual bool Apply(KFCurveNode& pCurveNode, bool pRecursive = true);
01664
01670 virtual bool Apply(KFbxAnimCurve** pCurve, int pCount);
01675 K_DEPRECATED virtual bool Apply(KFCurve** pCurve, int pCount);
01676
01681 virtual bool Apply(KFbxAnimCurve& pCurve);
01685 K_DEPRECATED virtual bool Apply(KFCurve& pCurve);
01686
01689 virtual void Reset();
01690
01694 KTime& GetShift() const;
01695
01699 void SetShift(KTime& pShift);
01700
01704 double GetScale() const;
01705
01709 void SetScale(double pScale);
01710
01712
01713
01714
01715
01716
01717
01719 #ifndef DOXYGEN_SHOULD_SKIP_THIS
01720 protected:
01722 KFbxKFCurveFilterTSS(KFbxSdkManager& pManager, char const* pName);
01723 KFCurveFilterTimeShiftAndScale *mDataCurveFilter;
01724 virtual void Destruct(bool pRecursive, bool pDependents);
01725 #endif
01726 };
01727
01732 class KFBX_DLL KFbxKFCurveFilterKeySync : public KFbxKFCurveFilter
01733 {
01734 KFBXOBJECT_DECLARE(KFbxKFCurveFilterKeySync,KFbxKFCurveFilter);
01735
01736 public:
01740 virtual const char* GetName() const;
01741
01745 virtual KTime& GetStartTime();
01749 virtual void SetStartTime(KTime& pTime);
01753 virtual KTime& GetStopTime();
01754
01758 virtual void SetStopTime(KTime& pTime);
01759
01764 virtual int GetStartKey(KFbxAnimCurve& pCurve) const;
01768 K_DEPRECATED virtual int GetStartKey(KFCurve& pCurve) const;
01769
01774 virtual int GetStopKey(KFbxAnimCurve& pCurve) const;
01778 K_DEPRECATED virtual int GetStopKey(KFCurve& pCurve) const;
01779
01784 virtual bool NeedApply(KFbxAnimStack* pAnimStack) { return ParentClass::NeedApply(pAnimStack); }
01785
01792 virtual bool NeedApply(KFbxAnimCurveNode& pCurveNode);
01797 K_DEPRECATED virtual bool NeedApply(KFCurveNode& pCurveNode, bool pRecursive = true);
01798
01804 virtual bool NeedApply(KFbxAnimCurve** pCurve, int pCount);
01809 K_DEPRECATED virtual bool NeedApply(KFCurve** pCurve, int pCount);
01810
01815 virtual bool NeedApply(KFbxAnimCurve& pCurve);
01819 K_DEPRECATED virtual bool NeedApply(KFCurve& pCurve);
01820
01824 virtual KError* GetError();
01828 virtual int GetLastErrorID() const;
01832 virtual const char* GetLastErrorString() const;
01833
01838 virtual bool Apply(KFbxAnimStack* pAnimStack) { return ParentClass::Apply(pAnimStack); }
01839
01846 virtual bool Apply(KFbxAnimCurveNode& pCurveNode);
01851 K_DEPRECATED virtual bool Apply(KFCurveNode& pCurveNode, bool pRecursive = true);
01852
01858 virtual bool Apply(KFbxAnimCurve** pCurve, int pCount);
01863 K_DEPRECATED virtual bool Apply(KFCurve** pCurve, int pCount);
01864
01869 virtual bool Apply(KFbxAnimCurve& pCurve);
01873 K_DEPRECATED virtual bool Apply(KFCurve& pCurve);
01874
01877 virtual void Reset();
01878
01880
01881
01882
01883
01884
01885
01887
01888 #ifndef DOXYGEN_SHOULD_SKIP_THIS
01889 protected:
01891 KFbxKFCurveFilterKeySync(KFbxSdkManager& pManager, char const* pName);
01892 KFCurveFilterKeySync *mDataCurveFilter;
01893 virtual void Destruct(bool pRecursive, bool pDependents);
01894
01895 #endif
01896 };
01897
01902 class KFBX_DLL KFbxKFCurveFilterScale : public KFbxKFCurveFilter
01903 {
01904 KFBXOBJECT_DECLARE(KFbxKFCurveFilterScale,KFbxKFCurveFilter);
01905
01906 public:
01910 virtual const char* GetName() const;
01911
01915 virtual KTime& GetStartTime();
01919 virtual void SetStartTime(KTime& pTime);
01923 virtual KTime& GetStopTime();
01924
01928 virtual void SetStopTime(KTime& pTime);
01929
01934 virtual int GetStartKey(KFbxAnimCurve& pCurve) const;
01938 K_DEPRECATED virtual int GetStartKey(KFCurve& pCurve) const;
01939
01944 virtual int GetStopKey(KFbxAnimCurve& pCurve) const;
01948 K_DEPRECATED virtual int GetStopKey(KFCurve& pCurve) const;
01949
01954 virtual bool NeedApply(KFbxAnimStack* pAnimStack) { return ParentClass::NeedApply(pAnimStack); }
01955
01960 virtual bool NeedApply(KFbxAnimCurveNode& pCurveNode);
01965 K_DEPRECATED virtual bool NeedApply(KFCurveNode& pCurveNode, bool pRecursive = true);
01966
01972 virtual bool NeedApply(KFbxAnimCurve** pCurve, int pCount);
01977 K_DEPRECATED virtual bool NeedApply(KFCurve** pCurve, int pCount);
01978
01983 virtual bool NeedApply(KFbxAnimCurve& pCurve);
01987 K_DEPRECATED virtual bool NeedApply(KFCurve& pCurve);
01988
01992 virtual KError* GetError();
01996 virtual int GetLastErrorID() const;
02000 virtual const char* GetLastErrorString() const;
02001
02006 virtual bool Apply(KFbxAnimStack* pAnimStack) { return ParentClass::Apply(pAnimStack); }
02007
02012 virtual bool Apply(KFbxAnimCurveNode& pCurveNode);
02017 K_DEPRECATED virtual bool Apply(KFCurveNode& pCurveNode, bool pRecursive = true);
02018
02024 virtual bool Apply(KFbxAnimCurve** pCurve, int pCount);
02029 K_DEPRECATED virtual bool Apply(KFCurve** pCurve, int pCount);
02030
02035 virtual bool Apply(KFbxAnimCurve& pCurve);
02036
02040 K_DEPRECATED virtual bool Apply(KFCurve& pCurve);
02041
02044 virtual void Reset();
02045
02049 float GetScale() const;
02050
02055 void SetScale(float pScale);
02056
02058
02059
02060
02061
02062
02063
02065
02066 #ifndef DOXYGEN_SHOULD_SKIP_THIS
02067 protected:
02069 KFbxKFCurveFilterScale(KFbxSdkManager& pManager, char const* pName);
02070 KFCurveFilterScale *mDataCurveFilter;
02071 virtual void Destruct(bool pRecursive, bool pDependents);
02072
02073 #endif
02074 };
02075
02076 #include <fbxfilesdk/fbxfilesdk_nsend.h>
02077
02078 #endif // FBXFILESDK_KFBXPLUGINS_KFBXKFCURVEFILTERS_H
02079
02080
02081