kfbxkfcurvefilters.h

Go to the documentation of this file.
00001 
00004 #ifndef FBXFILESDK_KFBXPLUGINS_KFBXKFCURVEFILTERS_H
00005 #define FBXFILESDK_KFBXPLUGINS_KFBXKFCURVEFILTERS_H
00006 
00007 /**************************************************************************************
00008 
00009  Copyright (C) 2001 - 2010 Autodesk, Inc. and/or its licensors.
00010  All Rights Reserved.
00011 
00012  The coded instructions, statements, computer programs, and/or related material 
00013  (collectively the "Data") in these files contain unpublished information 
00014  proprietary to Autodesk, Inc. and/or its licensors, which is protected by 
00015  Canada and United States of America federal copyright law and by international 
00016  treaties. 
00017  
00018  The Data may not be disclosed or distributed to third parties, in whole or in
00019  part, without the prior written consent of Autodesk, Inc. ("Autodesk").
00020 
00021  THE DATA IS PROVIDED "AS IS" AND WITHOUT WARRANTY.
00022  ALL WARRANTIES ARE EXPRESSLY EXCLUDED AND DISCLAIMED. AUTODESK MAKES NO
00023  WARRANTY OF ANY KIND WITH RESPECT TO THE DATA, EXPRESS, IMPLIED OR ARISING
00024  BY CUSTOM OR TRADE USAGE, AND DISCLAIMS ANY IMPLIED WARRANTIES OF TITLE, 
00025  NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR USE. 
00026  WITHOUT LIMITING THE FOREGOING, AUTODESK DOES NOT WARRANT THAT THE OPERATION
00027  OF THE DATA WILL BE UNINTERRUPTED OR ERROR FREE. 
00028  
00029  IN NO EVENT SHALL AUTODESK, ITS AFFILIATES, PARENT COMPANIES, LICENSORS
00030  OR SUPPLIERS ("AUTODESK GROUP") BE LIABLE FOR ANY LOSSES, DAMAGES OR EXPENSES
00031  OF ANY KIND (INCLUDING WITHOUT LIMITATION PUNITIVE OR MULTIPLE DAMAGES OR OTHER
00032  SPECIAL, DIRECT, INDIRECT, EXEMPLARY, INCIDENTAL, LOSS OF PROFITS, REVENUE
00033  OR DATA, COST OF COVER OR CONSEQUENTIAL LOSSES OR DAMAGES OF ANY KIND),
00034  HOWEVER CAUSED, AND REGARDLESS OF THE THEORY OF LIABILITY, WHETHER DERIVED
00035  FROM CONTRACT, TORT (INCLUDING, BUT NOT LIMITED TO, NEGLIGENCE), OR OTHERWISE,
00036  ARISING OUT OF OR RELATING TO THE DATA OR ITS USE OR ANY OTHER PERFORMANCE,
00037  WHETHER OR NOT AUTODESK HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS
00038  OR DAMAGE. 
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 
00091 class KFBX_DLL KFbxKFCurveFilter : public KFbxObject
00092 {
00093     KFBXOBJECT_DECLARE(KFbxKFCurveFilter,KFbxObject);
00094 
00095 public:
00103     virtual const char* GetName() const {return NULL;}
00104 
00109     virtual KTime& GetStartTime() {return mTime;}
00110 
00115     virtual void SetStartTime(KTime& pTime){return;}
00116 
00121     virtual KTime& GetStopTime(){return mTime;}
00122 
00127     virtual void SetStopTime(KTime& pTime){return ;}
00128 
00134     virtual int GetStartKey(KFbxAnimCurve& pCurve) const {return 0;}
00135 
00141     virtual int GetStopKey(KFbxAnimCurve& pCurve) const {return 0;}
00142 
00147     virtual bool NeedApply(KFbxAnimStack* pAnimStack);
00148 
00154     virtual bool NeedApply(KFbxObject* pObj, KFbxAnimStack* pAnimStack);
00155 
00160     virtual bool NeedApply(KFbxAnimCurveNode& pCurveNode) {return false;}
00161 
00167     virtual bool NeedApply(KFbxAnimCurve** pCurve, int pCount){return false;}
00168 
00173     virtual bool NeedApply(KFbxAnimCurve& pCurve){return false;}
00174 
00179     virtual bool Apply(KFbxAnimStack* pAnimStack);
00180 
00186     virtual bool Apply(KFbxObject* pObj, KFbxAnimStack* pAnimStack);
00187 
00192     virtual bool Apply(KFbxAnimCurveNode& pCurveNode){return false;}
00193 
00199     virtual bool Apply(KFbxAnimCurve** pCurve, int pCount){return false;}
00200 
00205     virtual bool Apply(KFbxAnimCurve& pCurve){return false;}
00206 
00209     virtual void Reset(){return ;}
00210 
00214     virtual KError* GetError() {return NULL;}
00215 
00219     virtual int GetLastErrorID(){return -1;}
00220 
00224     virtual char* GetLastErrorString(){return NULL;}
00226 
00230 
00234     virtual int GetStartKey(KFCurve& pCurve) const {return 0;}
00235 
00239     virtual int GetStopKey(KFCurve& pCurve) const {return 0;}
00240 
00245     virtual bool NeedApply(KFCurveNode& pCurveNode, bool pRecursive = true){return false;}
00246 
00251     virtual bool NeedApply(KFCurve** pCurve, int pCount){return false;}
00252 
00256     virtual bool NeedApply(KFCurve& pCurve){return false;}
00257 
00262     virtual bool Apply(KFCurveNode& pCurveNode, bool pRecursive = true){return false;}
00263 
00268     virtual bool Apply(KFCurve** pCurve, int pCount){return false;}
00269 
00273     virtual bool Apply(KFCurve& pCurve){return false;}
00275 
00276 //
00277 //  WARNING!
00278 //
00279 //  Anything beyond these lines may not be documented accurately and is
00280 //  subject to change without notice.
00281 //
00283 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00284 
00285 protected:
00286     KFbxKFCurveFilter(KFbxSdkManager& pManager, char const* pName);
00287     void GetKFCurvesFromAnimCurve(KFbxAnimCurve** pSrc, int pSrcCount, KFCurve** pDst, int& pDstCount);
00288 
00289     KTime mTime;
00290 #endif
00291 };
00292 
00293 
00301 class KFBX_DLL KFbxKFCurveFilterKeyReducer : public KFbxKFCurveFilter
00302 {
00303     KFBXOBJECT_DECLARE(KFbxKFCurveFilterKeyReducer,KFbxKFCurveFilter);
00304 
00305 public:
00306 
00310     K_DEPRECATED virtual const char* GetName() const;
00311 
00316     K_DEPRECATED virtual KTime& GetStartTime();
00321     K_DEPRECATED virtual void SetStartTime(KTime& pTime);
00326     K_DEPRECATED virtual KTime& GetStopTime();
00327 
00332     K_DEPRECATED virtual void SetStopTime(KTime& pTime);
00333 
00339     K_DEPRECATED virtual int GetStartKey(KFbxAnimCurve& pCurve) const;
00340 
00346     K_DEPRECATED virtual int GetStopKey(KFbxAnimCurve& pCurve) const;
00347 
00352     K_DEPRECATED virtual bool NeedApply(KFbxAnimStack* pAnimStack) { return ParentClass::NeedApply(pAnimStack); }
00353 
00358     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurveNode& pCurveNode);
00359 
00365     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurve** pCurve, int pCount);
00366 
00371     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurve& pCurve);
00372 
00376     K_DEPRECATED virtual KError* GetError();
00380     K_DEPRECATED virtual int GetLastErrorID() const;
00384     K_DEPRECATED virtual const char* GetLastErrorString() const;
00385 
00390     K_DEPRECATED virtual bool Apply(KFbxAnimStack* pAnimStack) { return ParentClass::Apply(pAnimStack); }
00391 
00396     K_DEPRECATED virtual bool Apply(KFbxAnimCurveNode& pCurveNode);
00397 
00403     K_DEPRECATED virtual bool Apply(KFbxAnimCurve** pCurve, int pCount);
00404 
00409     K_DEPRECATED virtual bool Apply(KFbxAnimCurve& pCurve);
00410 
00413     K_DEPRECATED virtual void Reset();
00414 
00416     K_DEPRECATED double GetPrecision() const;
00417 
00421     K_DEPRECATED void SetPrecision(double pPrecision);
00422 
00424     K_DEPRECATED bool GetKeySync() const;
00425 
00429     K_DEPRECATED void SetKeySync(bool pKeySync);
00430 
00432 //
00433 //  WARNING!
00434 //
00435 //  Anything beyond these lines may not be documented accurately and is
00436 //  subject to change without notice.
00437 //
00439 
00440 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00441 protected:
00443     KFbxKFCurveFilterKeyReducer(KFbxSdkManager& pManager, char const* pName);
00444     KFCurveFilterKeyReducer *mDataCurveFilter;
00445     virtual void Destruct(bool pRecursive, bool pDependents);
00446 
00447 #endif
00448 };
00449 
00450 
00451 
00459 class KFBX_DLL KFbxKFCurveFilterConstantKeyReducer : public KFbxKFCurveFilter
00460 {
00461     KFBXOBJECT_DECLARE(KFbxKFCurveFilterConstantKeyReducer,KFbxKFCurveFilter);
00462 
00463 public:
00464 
00468     K_DEPRECATED virtual const char* GetName() const;
00469 
00474     K_DEPRECATED virtual KTime& GetStartTime();
00479     K_DEPRECATED virtual void SetStartTime(KTime& pTime);
00484     K_DEPRECATED virtual KTime& GetStopTime();
00485 
00490     K_DEPRECATED virtual void SetStopTime(KTime& pTime);
00491 
00497     K_DEPRECATED virtual int GetStartKey(KFbxAnimCurve& pCurve) const;
00498 
00504     K_DEPRECATED virtual int GetStopKey(KFbxAnimCurve& pCurve) const;
00505 
00510     K_DEPRECATED virtual bool NeedApply(KFbxAnimStack* pAnimStack) { return ParentClass::NeedApply(pAnimStack); }
00511 
00516     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurveNode& pCurveNode);
00517 
00523     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurve** pCurve, int pCount);
00524 
00529     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurve& pCurve);
00530 
00534     K_DEPRECATED virtual KError* GetError();
00538     K_DEPRECATED virtual int GetLastErrorID() const;
00542     K_DEPRECATED virtual const char* GetLastErrorString() const;
00543 
00548     K_DEPRECATED virtual bool Apply(KFbxAnimStack* pAnimStack) { return ParentClass::Apply(pAnimStack); }
00549 
00554     K_DEPRECATED virtual bool Apply(KFbxAnimCurveNode& pCurveNode);
00555 
00561     K_DEPRECATED virtual bool Apply(KFbxAnimCurve** pCurve, int pCount);
00562 
00567     K_DEPRECATED virtual bool Apply(KFbxAnimCurve& pCurve);
00568 
00571     K_DEPRECATED virtual void Reset();
00572 
00576     K_DEPRECATED double GetDerivativeTolerance() const;
00577 
00581     K_DEPRECATED void SetDerivativeTolerance(double pValue);
00582 
00586     K_DEPRECATED double GetValueTolerance() const;
00587 
00591     K_DEPRECATED void SetValueTolerance(double pValue);
00592 
00596     K_DEPRECATED bool GetKeepFirstAndLastKeys() const;
00597 
00601     K_DEPRECATED void SetKeepFirstAndLastKeys( bool pKeepFirstAndLastKeys );
00602 
00606     K_DEPRECATED bool GetKeepOneKey() const;
00607 
00611     K_DEPRECATED void SetKeepOneKey( bool pKeepOneKey );
00612 
00616     K_DEPRECATED void SetKeepNotPureAutoKeys(bool pKeep);
00617 
00619 //
00620 //  WARNING!
00621 //
00622 //  Anything beyond these lines may not be documented accurately and is
00623 //  subject to change without notice.
00624 //
00626 
00627 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00628     //
00629     //  If ValueTolerance is default, we use the thresholds here, otherwise
00630     //  it is the ValueTolerance that is used. (Mainly for backward compatibility)
00631     //
00632     K_DEPRECATED void SetTranslationThreshold    ( double pTranslationThreshold );
00633     K_DEPRECATED void SetRotationThreshold       ( double pRotationThreshold );
00634     K_DEPRECATED void SetScalingThreshold        ( double pScalingThreshold );
00635     K_DEPRECATED void SetDefaultThreshold        ( double pDefaultThreshold );
00636 protected:
00638     KFbxKFCurveFilterConstantKeyReducer(KFbxSdkManager& pManager, char const* pName);
00639     KFCurveFilterConstantKeyReducer *mDataCurveFilter;
00640     virtual void Destruct(bool pRecursive, bool pDependents);
00641 
00642 #endif
00643 };
00644 
00645 
00646 
00647 
00653 class KFBX_DLL KFbxKFCurveFilterMatrixConverter : public KFbxKFCurveFilter
00654 {
00655     KFBXOBJECT_DECLARE(KFbxKFCurveFilterMatrixConverter,KFbxKFCurveFilter);
00656 
00657 public:
00658 
00662     K_DEPRECATED virtual const char* GetName() const;
00663 
00668     K_DEPRECATED virtual KTime& GetStartTime();
00673     K_DEPRECATED virtual void SetStartTime(KTime& pTime);
00678     K_DEPRECATED virtual KTime& GetStopTime();
00679 
00684     K_DEPRECATED virtual void SetStopTime(KTime& pTime);
00685 
00691     K_DEPRECATED virtual int GetStartKey(KFbxAnimCurve& pCurve) const;
00692 
00698     K_DEPRECATED virtual int GetStopKey(KFbxAnimCurve& pCurve) const;
00699 
00705     K_DEPRECATED virtual bool NeedApply(KFbxAnimStack* pAnimStack) { return false; }
00706 
00711     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurveNode* pCurveNode[3]);
00712 
00718     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurve** pCurve, int pCount);
00719 
00723     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurve& pCurve);
00724 
00728     K_DEPRECATED virtual KError* GetError();
00732     K_DEPRECATED virtual int GetLastErrorID() const;
00736     K_DEPRECATED virtual const char* GetLastErrorString() const;
00737 
00743     K_DEPRECATED virtual bool Apply(KFbxAnimStack* pAnimStack) { return false; }
00744 
00749     K_DEPRECATED virtual bool Apply(KFbxAnimCurveNode* pCurveNode[3]);
00750 
00756     K_DEPRECATED virtual bool Apply(KFbxAnimCurve** pCurve, int pCount);
00757 
00761     K_DEPRECATED virtual bool Apply(KFbxAnimCurve& pCurve);
00762 
00765     K_DEPRECATED virtual void Reset();
00766 
00781     enum EMatrixID
00782     {
00783         ePreGlobal,
00784         ePreTranslate,
00785         ePostTranslate,
00786         ePreRotate,
00787         ePostRotate,
00788         ePreScale,
00789         ePostScale,
00790         ePostGlobal,
00791         eScaleOffset,
00792         eInactivePre,
00793         eInactivePost,
00794         eRotationPivot,
00795         eScalingPivot,
00796         eMatrixCount
00797     };
00798 
00803     K_DEPRECATED void GetSourceMatrix(EMatrixID pIndex, KFbxXMatrix& pMatrix) const;
00804 
00809     K_DEPRECATED void SetSourceMatrix(EMatrixID pIndex, KFbxXMatrix& pMatrix);
00810 
00815     K_DEPRECATED void GetDestMatrix(EMatrixID pIndex, KFbxXMatrix& pMatrix) const;
00816 
00821     K_DEPRECATED void SetDestMatrix(EMatrixID pIndex, KFbxXMatrix& pMatrix);
00822 
00826     K_DEPRECATED KTime GetResamplingPeriod () const;
00827 
00831     K_DEPRECATED void SetResamplingPeriod (KTime& pResamplingPeriod);
00832 
00836     K_DEPRECATED bool GetGenerateLastKeyExactlyAtEndTime() const;
00837 
00841     K_DEPRECATED void SetGenerateLastKeyExactlyAtEndTime(bool pFlag);
00842 
00846     K_DEPRECATED bool GetResamplingOnFrameRateMultiple() const;
00847 
00856     K_DEPRECATED void SetResamplingOnFrameRateMultiple(bool pFlag);
00857 
00861     K_DEPRECATED bool GetApplyUnroll() const;
00862 
00866     K_DEPRECATED void SetApplyUnroll(bool pFlag);
00867 
00871     K_DEPRECATED bool GetApplyConstantKeyReducer() const;
00872 
00876     K_DEPRECATED void SetApplyConstantKeyReducer(bool pFlag);
00877 
00883     K_DEPRECATED bool GetResampleTranslation() const;
00884 
00890     K_DEPRECATED void SetResampleTranslation(bool pFlag);
00891 
00895     K_DEPRECATED void SetSrcRotateOrder(int pOrder);
00896 
00900     K_DEPRECATED void SetDestRotateOrder(int pOrder);
00901 
00905     K_DEPRECATED void SetForceApply(bool pVal);
00906 
00910     K_DEPRECATED bool GetForceApply() const;
00912 //
00913 //  WARNING!
00914 //
00915 //  Anything beyond these lines may not be documented accurately and is
00916 //  subject to change without notice.
00917 //
00919 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00920 protected:
00922     KFbxKFCurveFilterMatrixConverter(KFbxSdkManager& pManager, char const* pName);
00923     KFCurveFilterMatrixConverter *mDataCurveFilter;
00924     virtual void Destruct(bool pRecursive, bool pDependents);
00925 #endif
00926 };
00927 
00928 
00929 
00930 
00935 class KFBX_DLL KFbxKFCurveFilterResample : public KFbxKFCurveFilter
00936 {
00937     KFBXOBJECT_DECLARE(KFbxKFCurveFilterResample,KFbxKFCurveFilter);
00938 
00939 public:
00943     K_DEPRECATED virtual const char* GetName() const;
00944 
00949     K_DEPRECATED virtual KTime& GetStartTime();
00954     K_DEPRECATED virtual void SetStartTime(KTime& pTime);
00959     K_DEPRECATED virtual KTime& GetStopTime();
00960 
00965     K_DEPRECATED virtual void SetStopTime(KTime& pTime);
00966 
00972     K_DEPRECATED virtual int GetStartKey(KFbxAnimCurve& pCurve) const;
00973 
00979     K_DEPRECATED virtual int GetStopKey(KFbxAnimCurve& pCurve) const;
00980 
00985     K_DEPRECATED virtual bool NeedApply(KFbxAnimStack* pAnimStack) { return ParentClass::NeedApply(pAnimStack); }
00986 
00991     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurveNode& pCurveNode);
00992 
00998     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurve** pCurve, int pCount);
00999 
01004     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurve& pCurve);
01005     
01009     K_DEPRECATED virtual KError* GetError();
01013     K_DEPRECATED virtual int GetLastErrorID() const;
01017     K_DEPRECATED virtual const char* GetLastErrorString() const;
01018 
01023     K_DEPRECATED virtual bool Apply(KFbxAnimCurveNode& pCurveNode);
01024 
01029     K_DEPRECATED virtual bool Apply(KFbxAnimStack* pAnimStack) { return ParentClass::Apply(pAnimStack); }
01030 
01036     K_DEPRECATED virtual bool Apply(KFbxAnimCurve** pCurve, int pCount);
01037 
01042     K_DEPRECATED virtual bool Apply(KFbxAnimCurve& pCurve);
01043 
01046     K_DEPRECATED virtual void Reset();
01047 
01051     K_DEPRECATED void SetKeysOnFrame(bool pKeysOnFrame);
01052 
01056     K_DEPRECATED bool GetKeysOnFrame() const;
01057 
01061     K_DEPRECATED KTime GetPeriodTime() const;
01062 
01066     K_DEPRECATED void SetPeriodTime(KTime &pPeriod);
01067 
01068 
01072     K_DEPRECATED bool  GetIntelligentMode() const;
01073 
01077     K_DEPRECATED void  SetIntelligentMode( bool pIntelligent );
01078 
01080 //
01081 //  WARNING!
01082 //
01083 //  Anything beyond these lines may not be documented accurately and is
01084 //  subject to change without notice.
01085 //
01087 #ifndef DOXYGEN_SHOULD_SKIP_THIS
01088 protected:
01090     KFbxKFCurveFilterResample(KFbxSdkManager& pManager, char const* pName);
01091     KFCurveFilterResample *mDataCurveFilter;
01092     virtual void Destruct(bool pRecursive, bool pDependents);
01093 #endif
01094 
01095 };
01096 
01102 class KFBX_DLL KFbxKFCurveFilterUnroll : public KFbxKFCurveFilter
01103 {
01104     KFBXOBJECT_DECLARE(KFbxKFCurveFilterUnroll,KFbxKFCurveFilter);
01105 
01106 public:
01107 
01111     K_DEPRECATED virtual const char* GetName() const;
01112 
01117     K_DEPRECATED virtual KTime& GetStartTime();
01122     K_DEPRECATED void SetStartTime(KTime& pTime);
01127     K_DEPRECATED virtual KTime& GetStopTime();
01128 
01133     K_DEPRECATED virtual void SetStopTime(KTime& pTime);
01134 
01140     K_DEPRECATED virtual int GetStartKey(KFbxAnimCurve& pCurve) const;
01141     
01147     K_DEPRECATED virtual int GetStopKey(KFbxAnimCurve& pCurve) const;
01148     
01154     K_DEPRECATED virtual bool NeedApply(KFbxAnimStack* pAnimStack) { return false; };
01155 
01160     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurveNode& pCurveNode);
01161 
01167     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurve** pCurve, int pCount);
01168 
01172     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurve& pCurve);
01173 
01177     K_DEPRECATED virtual KError* GetError();
01181     K_DEPRECATED virtual int GetLastErrorID() const;
01185     K_DEPRECATED virtual const char* GetLastErrorString() const;
01186 
01192     K_DEPRECATED virtual bool Apply(KFbxAnimStack* pAnimStack) { return false; };
01193 
01198     K_DEPRECATED virtual bool Apply(KFbxAnimCurveNode& pCurveNode);
01199 
01205     K_DEPRECATED virtual bool Apply(KFbxAnimCurve** pCurve, int pCount);
01206 
01210     K_DEPRECATED virtual bool Apply(KFbxAnimCurve& pCurve);
01211 
01214     K_DEPRECATED virtual void Reset();
01215 
01219     K_DEPRECATED double GetQualityTolerance() const;
01220 
01224     K_DEPRECATED void SetQualityTolerance(double pQualityTolerance);
01225 
01229     K_DEPRECATED bool GetTestForPath() const;
01230 
01234     K_DEPRECATED void SetTestForPath(bool pTestForPath);
01235 
01237 //
01238 //  WARNING!
01239 //
01240 //  Anything beyond these lines may not be documented accurately and is
01241 //  subject to change without notice.
01242 //
01244     void SetRotationOrder(int pOrder);
01245 
01246 #ifndef DOXYGEN_SHOULD_SKIP_THIS
01247 protected:
01249     KFbxKFCurveFilterUnroll(KFbxSdkManager& pManager, char const* pName);
01250     KFCurveFilterUnroll *mDataCurveFilter;
01251     virtual void Destruct(bool pRecursive, bool pDependents);
01252 #endif
01253 };
01254 
01255 
01260 class KFBX_DLL KFbxKFCurveFilterGimbleKiller : public KFbxKFCurveFilter
01261 {
01262     KFBXOBJECT_DECLARE(KFbxKFCurveFilterGimbleKiller,KFbxKFCurveFilter);
01263 
01264 public:
01265 
01269     K_DEPRECATED virtual const char* GetName() const;
01270 
01275     K_DEPRECATED virtual KTime& GetStartTime();
01280     K_DEPRECATED virtual void SetStartTime(KTime& pTime);
01285     K_DEPRECATED virtual KTime& GetStopTime();
01286 
01291     K_DEPRECATED virtual void SetStopTime(KTime& pTime);
01292 
01298     K_DEPRECATED virtual int GetStartKey(KFbxAnimCurve& pCurve) const;
01299 
01305     K_DEPRECATED virtual int GetStopKey(KFbxAnimCurve& pCurve) const;
01306 
01312     K_DEPRECATED virtual bool NeedApply(KFbxAnimStack* pAnimStack) { return false; }
01313 
01318     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurveNode& pCurveNode);
01319 
01325     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurve** pCurve, int pCount);
01326 
01330     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurve& pCurve);
01331     
01335     K_DEPRECATED virtual KError* GetError();
01339     K_DEPRECATED virtual int GetLastErrorID() const;
01343     K_DEPRECATED virtual const char* GetLastErrorString() const;
01344 
01350     K_DEPRECATED virtual bool Apply(KFbxAnimStack* pAnimStack) { return false; }
01351 
01356     K_DEPRECATED virtual bool Apply(KFbxAnimCurveNode& pCurveNode);
01357 
01363     K_DEPRECATED virtual bool Apply(KFbxAnimCurve** pCurve, int pCount);
01364 
01368     K_DEPRECATED virtual bool Apply(KFbxAnimCurve& pCurve);
01369 
01372     K_DEPRECATED virtual void Reset();
01373 
01375     K_DEPRECATED bool GetApplyKeySyncFilter() const;
01376 
01380     K_DEPRECATED void SetApplyKeySyncFilter(bool pFlag);
01381 
01383 //
01384 //  WARNING!
01385 //
01386 //  Anything beyond these lines may not be documented accurately and is
01387 //  subject to change without notice.
01388 //
01390 
01391 #ifndef DOXYGEN_SHOULD_SKIP_THIS
01392 protected:
01394     KFbxKFCurveFilterGimbleKiller(KFbxSdkManager& pManager, char const* pName);
01395     KFCurveFilterGimbleKiller *mDataCurveFilter;
01396     virtual void Destruct(bool pRecursive, bool pDependents);
01397 #endif
01398 };
01399 
01400 
01405 class KFBX_DLL KFbxKFCurveFilterTSS : public KFbxKFCurveFilter
01406 {
01407     KFBXOBJECT_DECLARE(KFbxKFCurveFilterTSS,KFbxKFCurveFilter);
01408 
01409 public:
01410 
01414     K_DEPRECATED virtual const char* GetName() const;
01415 
01420     K_DEPRECATED virtual KTime& GetStartTime();
01425     K_DEPRECATED virtual void SetStartTime(KTime& pTime);
01430     K_DEPRECATED virtual KTime& GetStopTime();
01431 
01435     K_DEPRECATED virtual void SetStopTime(KTime& pTime);
01436 
01442     K_DEPRECATED virtual int GetStartKey(KFbxAnimCurve& pCurve) const;
01443 
01449     K_DEPRECATED virtual int GetStopKey(KFbxAnimCurve& pCurve) const;
01450 
01455     K_DEPRECATED virtual bool NeedApply(KFbxAnimStack* pAnimStack) { return ParentClass::NeedApply(pAnimStack); }
01456 
01461     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurveNode& pCurveNode);
01462 
01468     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurve** pCurve, int pCount);
01469 
01474     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurve& pCurve);
01475 
01479     K_DEPRECATED virtual KError* GetError();
01483     K_DEPRECATED virtual int GetLastErrorID() const;
01487     K_DEPRECATED virtual const char* GetLastErrorString() const;
01488 
01493     K_DEPRECATED virtual bool Apply(KFbxAnimStack* pAnimStack) { return ParentClass::Apply(pAnimStack); }
01494 
01499     K_DEPRECATED virtual bool Apply(KFbxAnimCurveNode& pCurveNode);
01500 
01506     K_DEPRECATED virtual bool Apply(KFbxAnimCurve** pCurve, int pCount);
01507 
01512     K_DEPRECATED virtual bool Apply(KFbxAnimCurve& pCurve);
01513 
01516     K_DEPRECATED virtual void Reset();
01517 
01521     K_DEPRECATED KTime& GetShift() const;
01522 
01526     K_DEPRECATED void SetShift(KTime& pShift);
01527 
01531     K_DEPRECATED double GetScale() const;
01532 
01536     K_DEPRECATED void SetScale(double pScale);
01537 
01539 //
01540 //  WARNING!
01541 //
01542 //  Anything beyond these lines may not be documented accurately and is
01543 //  subject to change without notice.
01544 //
01546 #ifndef DOXYGEN_SHOULD_SKIP_THIS
01547 protected:
01549     KFbxKFCurveFilterTSS(KFbxSdkManager& pManager, char const* pName);
01550     KFCurveFilterTimeShiftAndScale *mDataCurveFilter;
01551     virtual void Destruct(bool pRecursive, bool pDependents);
01552 #endif
01553 };
01554 
01560 class KFBX_DLL KFbxKFCurveFilterKeySync : public KFbxKFCurveFilter
01561 {
01562     KFBXOBJECT_DECLARE(KFbxKFCurveFilterKeySync,KFbxKFCurveFilter);
01563 
01564 public:
01568     K_DEPRECATED virtual const char* GetName() const;
01569 
01574     K_DEPRECATED virtual KTime& GetStartTime();
01579     K_DEPRECATED virtual void SetStartTime(KTime& pTime);
01584     K_DEPRECATED virtual KTime& GetStopTime();
01585 
01590     K_DEPRECATED virtual void SetStopTime(KTime& pTime);
01591 
01597     K_DEPRECATED virtual int GetStartKey(KFbxAnimCurve& pCurve) const;
01598 
01604     K_DEPRECATED virtual int GetStopKey(KFbxAnimCurve& pCurve) const;
01605 
01610     K_DEPRECATED virtual bool NeedApply(KFbxAnimStack* pAnimStack) { return ParentClass::NeedApply(pAnimStack); }
01611 
01618     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurveNode& pCurveNode);
01619 
01625     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurve** pCurve, int pCount);
01626 
01631     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurve& pCurve);
01632 
01636     K_DEPRECATED virtual KError* GetError();
01640     K_DEPRECATED virtual int GetLastErrorID() const;
01644     K_DEPRECATED virtual const char* GetLastErrorString() const;
01645 
01650     K_DEPRECATED virtual bool Apply(KFbxAnimStack* pAnimStack) { return ParentClass::Apply(pAnimStack); }
01651 
01658     K_DEPRECATED virtual bool Apply(KFbxAnimCurveNode& pCurveNode);
01659 
01665     K_DEPRECATED virtual bool Apply(KFbxAnimCurve** pCurve, int pCount);
01666 
01671     K_DEPRECATED virtual bool Apply(KFbxAnimCurve& pCurve);
01672 
01675     K_DEPRECATED virtual void Reset();
01676 
01678 //
01679 //  WARNING!
01680 //
01681 //  Anything beyond these lines may not be documented accurately and is
01682 //  subject to change without notice.
01683 //
01685 
01686 #ifndef DOXYGEN_SHOULD_SKIP_THIS
01687 protected:
01689     KFbxKFCurveFilterKeySync(KFbxSdkManager& pManager, char const* pName);
01690     KFCurveFilterKeySync *mDataCurveFilter;
01691     virtual void Destruct(bool pRecursive, bool pDependents);
01692 
01693 #endif
01694 };
01695 
01701 class KFBX_DLL KFbxKFCurveFilterScale : public KFbxKFCurveFilter
01702 {
01703     KFBXOBJECT_DECLARE(KFbxKFCurveFilterScale,KFbxKFCurveFilter);
01704 
01705 public:
01709     K_DEPRECATED virtual const char* GetName() const;
01710 
01715     K_DEPRECATED virtual KTime& GetStartTime();
01720     K_DEPRECATED virtual void SetStartTime(KTime& pTime);
01725     K_DEPRECATED virtual KTime& GetStopTime();
01726 
01731     K_DEPRECATED virtual void SetStopTime(KTime& pTime);
01732 
01738     K_DEPRECATED virtual int GetStartKey(KFbxAnimCurve& pCurve) const;
01739 
01745     K_DEPRECATED virtual int GetStopKey(KFbxAnimCurve& pCurve) const;
01746 
01751     K_DEPRECATED virtual bool NeedApply(KFbxAnimStack* pAnimStack) { return ParentClass::NeedApply(pAnimStack); }
01752 
01757     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurveNode& pCurveNode);
01758 
01764     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurve** pCurve, int pCount);
01765 
01770     K_DEPRECATED virtual bool NeedApply(KFbxAnimCurve& pCurve);
01771 
01775     K_DEPRECATED virtual KError* GetError();
01779     K_DEPRECATED virtual int GetLastErrorID() const;
01783     K_DEPRECATED virtual const char* GetLastErrorString() const;
01784 
01789     K_DEPRECATED virtual bool Apply(KFbxAnimStack* pAnimStack) { return ParentClass::Apply(pAnimStack); }
01790 
01795     K_DEPRECATED virtual bool Apply(KFbxAnimCurveNode& pCurveNode);
01796 
01802     K_DEPRECATED virtual bool Apply(KFbxAnimCurve** pCurve, int pCount);
01803 
01808     K_DEPRECATED virtual bool Apply(KFbxAnimCurve& pCurve);
01809 
01812     K_DEPRECATED virtual void Reset();
01813 
01817     K_DEPRECATED float GetScale() const;
01818 
01823     K_DEPRECATED void SetScale(float pScale);
01824 
01826 //
01827 //  WARNING!
01828 //
01829 //  Anything beyond these lines may not be documented accurately and is
01830 //  subject to change without notice.
01831 //
01833 
01834 #ifndef DOXYGEN_SHOULD_SKIP_THIS
01835 protected:
01837     KFbxKFCurveFilterScale(KFbxSdkManager& pManager, char const* pName);
01838     KFCurveFilterScale *mDataCurveFilter;
01839     virtual void Destruct(bool pRecursive, bool pDependents);
01840 
01841 #endif
01842 };
01843 
01844 #include <fbxfilesdk/fbxfilesdk_nsend.h>
01845 
01846 #endif // FBXFILESDK_KFBXPLUGINS_KFBXKFCURVEFILTERS_H
01847 
01848 
01849