- Main Page
- Classes
- Files
- Directories
- Examples

- File List
- File Members

# fbxbindingoperator.h

Go to the documentation of this file.

    00001 /****************************************************************************************
    00002
    00003    Copyright (C) 2012 Autodesk, Inc.
    00004    All rights reserved.
    00005
    00006    Use of this software is subject to the terms of the Autodesk license agreement
    00007    provided at the time of installation or download, or which otherwise accompanies
    00008    this software in either electronic or hard copy form.
    00009
    00010 ****************************************************************************************/
    00011
    00013 #ifndef _FBXSDK_SCENE_SHADING_BINDING_OPERATOR_H_
    00014 #define _FBXSDK_SCENE_SHADING_BINDING_OPERATOR_H_
    00015
    00016 #include <fbxsdk/fbxsdk_def.h>
    00017
    00018 #include <fbxsdk/scene/shading/fbxbindingtablebase.h>
    00019
    00020 #include <fbxsdk/core/base/fbxmap.h>
    00021 #include <fbxsdk/core/base/fbxstring.h>
    00022
    00023 #include <fbxsdk/fbxsdk_nsbegin.h>
    00024
    00052 class FBXSDK_DLL FbxBindingOperator : public FbxBindingTableBase
    00053 {
    00054     FBXSDK_OBJECT_DECLARE(FbxBindingOperator,FbxBindingTableBase);
    00055
    00056 public:
    00062     template <class FBXTYPE>
    00063     bool Evaluate(FbxObject const* pObject, FBXTYPE* pResult) const
    00064     {
    00065         EFbxType lResultType;
    00066         void* lResult = NULL;
    00067
    00068         bool lSuccess = Evaluate(pObject, &lResultType, &lResult);
    00069
    00070         if (lSuccess)
    00071         {
    00072             FbxTypeCopy(*pResult, lResult, lResultType);
    00073         }
    00074
    00075         FreeEvaluationResult(lResultType, lResult);
    00076
    00077         return lSuccess;
    00078     }
    00079
    00088     template <class FBXTYPE>
    00089     bool ReverseEvaluation(FbxObject const* pObject, FBXTYPE * pInOut,
    00090                             bool setObj=false, int index=0) const
    00091     {
    00092
    00093         void const* lIn = pInOut;
    00094         void* lOut = NULL;
    00095         EFbxType lOutType;
    00096
    00097         bool lSuccess = ReverseEvaluate(pObject, lIn, &lOut, &lOutType, setObj, index);
    00098
    00099         if (lSuccess)
    00100         {
    00101             FbxTypeCopy(*pInOut, lOut, lOutType);
    00102         }
    00103
    00104         FreeEvaluationResult(lOutType, lOut);
    00105
    00106         return lSuccess;
    00107     }
    00108
    00122     template <class FBXTYPE>
    00123     bool EvaluateEntry(FbxObject const* pObject, char const* pEntryDestinationName, FBXTYPE* pResult) const
    00124     {
    00125         EFbxType lResultType;
    00126         void* lResult = NULL;
    00127
    00128         bool lSuccess = EvaluateEntry(pObject, pEntryDestinationName, &lResultType, &lResult);
    00129
    00130         if (lSuccess)
    00131         {
    00132             FbxTypeCopy(*pResult, lResult, lResultType);
    00133         }
    00134
    00135         FreeEvaluationResult(lResultType, lResult);
    00136
    00137         return lSuccess;
    00138     }
    00139
    00144     FbxPropertyT<FbxString> FunctionName;
    00145
    00150     FbxPropertyT<FbxString> TargetName;
    00151
    00153     // Static values
    00155
    00157     static const char* sFunctionName;
    00159     static const char* sTargetName;
    00160
    00162     static const char* sDefaultFunctionName;
    00164     static const char* sDefaultTargetName;
    00165
    00166
    00168     // Functions
    00170
    00174     static void RegisterFunctions();
    00175
    00179     static void UnregisterFunctions();
    00180
    00181
    00186     class FBXSDK_DLL Function
    00187     {
    00188     public:
    00190         virtual ~Function() {}
    00191
    00199         virtual bool Evaluate(FbxBindingOperator const* pOperator, FbxObject const* pObject, EFbxType* pResultType, void** pResult) const = 0;
    00200
    00212         virtual bool ReverseEvaluate(FbxBindingOperator const* pOperator, FbxObject const* pTarget, void const* pIn, void** pOut, EFbxType* pOutType, bool setObj, int index) const = 0;
    00213     };
    00214
    00218     class FBXSDK_DLL FunctionCreatorBase
    00219     {
    00220     public:
    00222         virtual ~FunctionCreatorBase() {}
    00223
    00227         virtual char const* GetFunctionName() const = 0;
    00228
    00231         virtual Function* CreateFunction() const = 0;
    00232     };
    00233
    00237     template <class FUNCTION>
    00238     class FunctionCreator : public FunctionCreatorBase
    00239     {
    00240     public:
    00241
    00245         virtual char const* GetFunctionName() const
    00246         {
    00247             return FUNCTION::FunctionName;
    00248         }
    00249
    00252         virtual Function* CreateFunction() const
    00253         {
    00254             return FbxNew< FUNCTION >();
    00255         }
    00256     };
    00257
    00261     class FBXSDK_DLL FunctionRegistry
    00262     {
    00263     public:
    00267         static void RegisterFunctionCreator(FunctionCreatorBase const& pCreator)
    00268         {
    00269             sRegistry.Insert(pCreator.GetFunctionName(), &pCreator);
    00270         }
    00271
    00275         static void UnregisterFunctionCreator(FunctionCreatorBase const& pCreator)
    00276         {
    00277             sRegistry.Remove(pCreator.GetFunctionName());
    00278         }
    00279
    00283         static FunctionCreatorBase const* FindCreator(char const* pName)
    00284         {
    00285             RegistryType::RecordType* lRecord = sRegistry.Find(pName);
    00286
    00287             if (lRecord)
    00288             {
    00289                 return lRecord->GetValue();
    00290             }
    00291             else
    00292             {
    00293                 return NULL;
    00294             }
    00295         }
    00296
    00297     private:
    00298         typedef FbxMap<char const*, FunctionCreatorBase const*, FbxCharCompare> RegistryType;
    00299         static RegistryType sRegistry;
    00300     };
    00301
    00302
    00304     //
    00305     //  WARNING!
    00306     //
    00307     //  Anything beyond these lines may not be documented accurately and is
    00308     //  subject to change without notice.
    00309     //
    00311 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00312     bool EvaluateEntry(FbxObject const* pObject, char const* pEntryDestinationName, EFbxType* pResultType, void** pResult) const;
    00313
    00314     //[mt]Get property from operator entry
    00315     bool GetEntryProperty(FbxObject const* pObject, char const* pEntryDestinationName, FbxProperty & pProp) const;
    00316
    00317 protected:
    00318     // construction must be done through Create()
    00319     FbxBindingOperator(FbxManager& pManager, char const* pName);
    00320     virtual void Destruct(bool pRecursive, bool pDependents);
    00321
    00322     virtual bool ConstructProperties(bool pForceSet);
    00323
    00324     void InstantiateFunction();
    00325
    00333     bool Evaluate(FbxObject const* pObject, EFbxType* pResultType, void** pResult) const;
    00334
    00337     //bool ReverseEvaluate(FbxObject const* pTarget, void const *pResult) const;
    00338     bool ReverseEvaluate(FbxObject const* pTarget, void const* pIn, void** pOut, EFbxType* pOutType, bool setObj, int index) const;
    00339
    00344     void FreeEvaluationResult(EFbxType pResultType, void* pResult) const;
    00345
    00346     Function* mFunction;
    00347
    00348 #endif //DOXYGEN_SHOULD_SKIP_THIS
    00349 };
    00350
    00351
    00355 class FbxNodePositionBOF : public FbxBindingOperator::Function
    00356 {
    00357 public:
    00359     static char const* FunctionName;
    00360
    00370     virtual bool Evaluate(FbxBindingOperator const* pOperator, FbxObject const* pObject, EFbxType* pResultType, void** pResult) const;
    00371
    00373     virtual bool ReverseEvaluate(FbxBindingOperator const* pOperator, FbxObject const* pTarget, void const* pIn, void** pOut, EFbxType* pOutType, bool setObj, int index) const;
    00374
    00376     //
    00377     //  WARNING!
    00378     //
    00379     //  Anything beyond these lines may not be documented accurately and is
    00380     //  subject to change without notice.
    00381     //
    00383 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00384     FbxNodePositionBOF();
    00385     virtual ~FbxNodePositionBOF();
    00386
    00387 #endif //#ifndef DOXYGEN_SHOULD_SKIP_THIS
    00388 };
    00389
    00390
    00394 class FbxNodeDirectionBOF : public FbxBindingOperator::Function
    00395 {
    00396 public:
    00398     static char const* FunctionName;
    00399
    00409     virtual bool Evaluate(FbxBindingOperator const* pOperator, FbxObject const* pObject, EFbxType* pResultType, void** pResult) const;
    00410
    00412     virtual bool ReverseEvaluate(FbxBindingOperator const* pOperator, FbxObject const* pTarget, void const* pIn, void** pOut, EFbxType* pOutType, bool setObj, int index) const;
    00413
    00415     //
    00416     //  WARNING!
    00417     //
    00418     //  Anything beyond these lines may not be documented accurately and is
    00419     //  subject to change without notice.
    00420     //
    00422 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00423     FbxNodeDirectionBOF();
    00424     virtual ~FbxNodeDirectionBOF();
    00425
    00426 #endif //#ifndef DOXYGEN_SHOULD_SKIP_THIS
    00427 };
    00428
    00429 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00430
    00432 class FbxAssignBOF : public FbxBindingOperator::Function
    00433 {
    00434 public:
    00436     static char const* FunctionName;
    00437
    00444     virtual bool Evaluate(FbxBindingOperator const* pOperator, FbxObject const* pObject, EFbxType* pResultType, void** pResult) const;
    00445
    00447     virtual bool ReverseEvaluate(FbxBindingOperator const* pOperator, FbxObject const* pTarget, void const* pIn, void** pOut, EFbxType* pOutType, bool setObj, int index) const;
    00448
    00450     //
    00451     //  WARNING!
    00452     //
    00453     //  Anything beyond these lines may not be documented accurately and is
    00454     //  subject to change without notice.
    00455     //
    00457 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00458     FbxAssignBOF();
    00459     virtual ~FbxAssignBOF();
    00460
    00461
    00462 #endif //#ifndef DOXYGEN_SHOULD_SKIP_THIS
    00463 };
    00464
    00465
    00469 class FbxConditionalBOF : public FbxBindingOperator::Function
    00470 {
    00471 public:
    00473     static char const* FunctionName;
    00474
    00488     virtual bool Evaluate(FbxBindingOperator const* pOperator, FbxObject const* pObject, EFbxType* pResultType, void** pResult) const;
    00489     virtual bool ReverseEvaluate(FbxBindingOperator const* pOperator, FbxObject const* pTarget, void const* pIn, void** pOut, EFbxType* pOutType, bool setObj, int index) const;
    00490
    00492     //
    00493     //  WARNING!
    00494     //
    00495     //  Anything beyond these lines may not be documented accurately and is
    00496     //  subject to change without notice.
    00497     //
    00499 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00500     FbxConditionalBOF();
    00501     virtual ~FbxConditionalBOF();
    00502
    00503
    00504 #endif //#ifndef DOXYGEN_SHOULD_SKIP_THIS
    00505 };
    00506
    00507
    00511 class FbxSwitchBOF : public FbxBindingOperator::Function
    00512 {
    00513 public:
    00515     static char const* FunctionName;
    00516
    00530     virtual bool Evaluate(FbxBindingOperator const* pOperator, FbxObject const* pObject, EFbxType* pResultType, void** pResult) const;
    00531     virtual bool ReverseEvaluate(FbxBindingOperator const* pOperator, FbxObject const* pTarget, void const* pIn, void** pOut, EFbxType* pOutType, bool setObj, int index) const;
    00532
    00534     //
    00535     //  WARNING!
    00536     //
    00537     //  Anything beyond these lines may not be documented accurately and is
    00538     //  subject to change without notice.
    00539     //
    00541 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00542     FbxSwitchBOF();
    00543     virtual ~FbxSwitchBOF();
    00544
    00545
    00546 #endif //#ifndef DOXYGEN_SHOULD_SKIP_THIS
    00547 };
    00548
    00549
    00550 class FbxTRSToMatrixBOF : public FbxBindingOperator::Function
    00551 {
    00552 public:
    00554     static char const* FunctionName;
    00555
    00565     virtual bool Evaluate(FbxBindingOperator const* pOperator, FbxObject const* pObject, EFbxType* pResultType, void** pResult) const;
    00566     virtual bool ReverseEvaluate(FbxBindingOperator const* pOperator, FbxObject const* pTarget, void const* pIn, void** pOut, EFbxType* pOutType, bool setObj, int index) const;
    00567
    00569     //
    00570     //  WARNING!
    00571     //
    00572     //  Anything beyond these lines may not be documented accurately and is
    00573     //  subject to change without notice.
    00574     //
    00576 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00577     FbxTRSToMatrixBOF();
    00578     virtual ~FbxTRSToMatrixBOF();
    00579
    00580
    00581 #endif //#ifndef DOXYGEN_SHOULD_SKIP_THIS
    00582 };
    00583
    00584
    00585 class FbxAddBOF : public FbxBindingOperator::Function
    00586 {
    00587 public:
    00589     static char const* FunctionName;
    00590
    00600     virtual bool Evaluate(FbxBindingOperator const* pOperator, FbxObject const* pObject, EFbxType* pResultType, void** pResult) const;
    00601     virtual bool ReverseEvaluate(FbxBindingOperator const* pOperator, FbxObject const* pTarget, void const* pIn, void** pOut, EFbxType* pOutType, bool setObj, int index) const;
    00602
    00604     //
    00605     //  WARNING!
    00606     //
    00607     //  Anything beyond these lines may not be documented accurately and is
    00608     //  subject to change without notice.
    00609     //
    00611 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00612     FbxAddBOF();
    00613     virtual ~FbxAddBOF();
    00614
    00615
    00616 #endif //#ifndef DOXYGEN_SHOULD_SKIP_THIS
    00617 };
    00618
    00619
    00620 class FbxSubstractBOF : public FbxBindingOperator::Function
    00621 {
    00622 public:
    00624     static char const* FunctionName;
    00625
    00635     virtual bool Evaluate(FbxBindingOperator const* pOperator, FbxObject const* pObject, EFbxType* pResultType, void** pResult) const;
    00636     virtual bool ReverseEvaluate(FbxBindingOperator const* pOperator, FbxObject const* pTarget, void const* pIn, void** pOut, EFbxType* pOutType, bool setObj, int index) const;
    00637
    00639     //
    00640     //  WARNING!
    00641     //
    00642     //  Anything beyond these lines may not be documented accurately and is
    00643     //  subject to change without notice.
    00644     //
    00646 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00647     FbxSubstractBOF();
    00648     virtual ~FbxSubstractBOF();
    00649
    00650
    00651 #endif //#ifndef DOXYGEN_SHOULD_SKIP_THIS
    00652 };
    00653
    00654
    00655 class FbxMultiplyBOF : public FbxBindingOperator::Function
    00656 {
    00657 public:
    00659     static char const* FunctionName;
    00660
    00670     virtual bool Evaluate(FbxBindingOperator const* pOperator, FbxObject const* pObject, EFbxType* pResultType, void** pResult) const;
    00671     //Set index to 1 to get realWorldScale.
    00672     virtual bool ReverseEvaluate(FbxBindingOperator const* pOperator, FbxObject const* pTarget, void const* pIn, void** pOut, EFbxType* pOutType, bool setObj, int index) const;
    00673
    00675     //
    00676     //  WARNING!
    00677     //
    00678     //  Anything beyond these lines may not be documented accurately and is
    00679     //  subject to change without notice.
    00680     //
    00682 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00683     FbxMultiplyBOF();
    00684     virtual ~FbxMultiplyBOF();
    00685
    00686
    00687 #endif //#ifndef DOXYGEN_SHOULD_SKIP_THIS
    00688 };
    00689
    00690
    00691 class FbxMultiplyDistBOF : public FbxBindingOperator::Function
    00692 {
    00693 public:
    00695     static char const* FunctionName;
    00696
    00706     virtual bool Evaluate(FbxBindingOperator const* pOperator, FbxObject const* pObject, EFbxType* pResultType, void** pResult) const;
    00707     virtual bool ReverseEvaluate(FbxBindingOperator const* pOperator, FbxObject const* pTarget, void const* pIn, void** pOut, EFbxType* pOutType, bool setObj, int index) const;
    00708
    00710     //
    00711     //  WARNING!
    00712     //
    00713     //  Anything beyond these lines may not be documented accurately and is
    00714     //  subject to change without notice.
    00715     //
    00717 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00718     FbxMultiplyDistBOF();
    00719     virtual ~FbxMultiplyDistBOF();
    00720
    00721
    00722 #endif //#ifndef DOXYGEN_SHOULD_SKIP_THIS
    00723 };
    00724
    00725 class FbxOneOverXBOF : public FbxBindingOperator::Function
    00726 {
    00727 public:
    00729     static char const* FunctionName;
    00730
    00740     virtual bool Evaluate(FbxBindingOperator const* pOperator, FbxObject const* pObject, EFbxType* pResultType, void** pResult) const;
    00741     virtual bool ReverseEvaluate(FbxBindingOperator const* pOperator, FbxObject const* pTarget, void const* pIn, void** pOut, EFbxType* pOutType, bool setObj, int index) const;
    00742
    00744     //
    00745     //  WARNING!
    00746     //
    00747     //  Anything beyond these lines may not be documented accurately and is
    00748     //  subject to change without notice.
    00749     //
    00751 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00752     FbxOneOverXBOF();
    00753     virtual ~FbxOneOverXBOF();
    00754
    00755
    00756 #endif //#ifndef DOXYGEN_SHOULD_SKIP_THIS
    00757 };
    00758
    00759 class FbxPowerBOF : public FbxBindingOperator::Function
    00760 {
    00761 public:
    00763     static char const* FunctionName;
    00764
    00774     virtual bool Evaluate(FbxBindingOperator const* pOperator, FbxObject const* pObject, EFbxType* pResultType, void** pResult) const;
    00775     virtual bool ReverseEvaluate(FbxBindingOperator const* pOperator, FbxObject const* pTarget, void const* pIn, void** pOut, EFbxType* pOutType, bool setObj, int index) const;
    00776
    00778     //
    00779     //  WARNING!
    00780     //
    00781     //  Anything beyond these lines may not be documented accurately and is
    00782     //  subject to change without notice.
    00783     //
    00785 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00786     FbxPowerBOF();
    00787     virtual ~FbxPowerBOF();
    00788
    00789
    00790 #endif //#ifndef DOXYGEN_SHOULD_SKIP_THIS
    00791 };
    00792
    00793 class FbxDegreeToRadianBOF : public FbxBindingOperator::Function
    00794 {
    00795 public:
    00797     static char const* FunctionName;
    00798
    00808     virtual bool Evaluate(FbxBindingOperator const* pOperator, FbxObject const* pObject, EFbxType* pResultType, void** pResult) const;
    00809     virtual bool ReverseEvaluate(FbxBindingOperator const* pOperator, FbxObject const* pTarget, void const* pIn, void** pOut, EFbxType* pOutType, bool setObj, int index) const;
    00810
    00812     //
    00813     //  WARNING!
    00814     //
    00815     //  Anything beyond these lines may not be documented accurately and is
    00816     //  subject to change without notice.
    00817     //
    00819 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00820     FbxDegreeToRadianBOF();
    00821     virtual ~FbxDegreeToRadianBOF();
    00822
    00823
    00824 #endif //#ifndef DOXYGEN_SHOULD_SKIP_THIS
    00825 };
    00826
    00827
    00828 class FbxVectorDegreeToVectorRadianBOF : public FbxBindingOperator::Function
    00829 {
    00830 public:
    00832     static char const* FunctionName;
    00833
    00843     virtual bool Evaluate(FbxBindingOperator const* pOperator, FbxObject const* pObject, EFbxType* pResultType, void** pResult) const;
    00844     virtual bool ReverseEvaluate(FbxBindingOperator const* pOperator, FbxObject const* pTarget, void const* pIn, void** pOut, EFbxType* pOutType, bool setObj, int index) const;
    00845
    00847     //
    00848     //  WARNING!
    00849     //
    00850     //  Anything beyond these lines may not be documented accurately and is
    00851     //  subject to change without notice.
    00852     //
    00854 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00855     FbxVectorDegreeToVectorRadianBOF();
    00856     virtual ~FbxVectorDegreeToVectorRadianBOF();
    00857
    00858
    00859 #endif //#ifndef DOXYGEN_SHOULD_SKIP_THIS
    00860 };
    00861
    00862
    00863
    00864 class FbxSphericalToCartesianBOF : public FbxBindingOperator::Function
    00865 {
    00866 public:
    00868     static char const* FunctionName;
    00869
    00879     virtual bool Evaluate(FbxBindingOperator const* pOperator, FbxObject const* pObject, EFbxType* pResultType, void** pResult) const;
    00880     virtual bool ReverseEvaluate(FbxBindingOperator const* pOperator, FbxObject const* pTarget, void const* pIn, void** pOut, EFbxType* pOutType, bool setObj, int index) const;
    00881
    00883     //
    00884     //  WARNING!
    00885     //
    00886     //  Anything beyond these lines may not be documented accurately and is
    00887     //  subject to change without notice.
    00888     //
    00890 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00891     FbxSphericalToCartesianBOF();
    00892     virtual ~FbxSphericalToCartesianBOF();
    00893
    00894
    00895 #endif //#ifndef DOXYGEN_SHOULD_SKIP_THIS
    00896 };
    00897
    00898
    00899
    00900 class FbxIsYupBOF : public FbxBindingOperator::Function
    00901 {
    00902 public:
    00904     static char const* FunctionName;
    00905
    00915     virtual bool Evaluate(FbxBindingOperator const* pOperator, FbxObject const* pObject, EFbxType* pResultType, void** pResult) const;
    00916     virtual bool ReverseEvaluate(FbxBindingOperator const* pOperator, FbxObject const* pTarget, void const* pIn, void** pOut, EFbxType* pOutType, bool setObj, int index) const;
    00917
    00919     //
    00920     //  WARNING!
    00921     //
    00922     //  Anything beyond these lines may not be documented accurately and is
    00923     //  subject to change without notice.
    00924     //
    00926 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00927     FbxIsYupBOF();
    00928     virtual ~FbxIsYupBOF();
    00929
    00930
    00931 #endif //#ifndef DOXYGEN_SHOULD_SKIP_THIS
    00932 };
    00933
    00934
    00935
    00939 class FbxSymbolIDBOF : public FbxBindingOperator::Function
    00940 {
    00941 public:
    00943     static char const* FunctionName;
    00944
    00953     virtual bool Evaluate(FbxBindingOperator const* pOperator, FbxObject const* pObject, EFbxType* pResultType, void** pResult) const;
    00954     virtual bool ReverseEvaluate(FbxBindingOperator const* pOperator, FbxObject const* pTarget, void const* pIn, void** pOut, EFbxType* pOutType, bool setObj, int index) const;
    00955
    00957     //
    00958     //  WARNING!
    00959     //
    00960     //  Anything beyond these lines may not be documented accurately and is
    00961     //  subject to change without notice.
    00962     //
    00964 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00965     FbxSymbolIDBOF();
    00966     virtual ~FbxSymbolIDBOF();
    00967
    00968
    00969 #endif //#ifndef DOXYGEN_SHOULD_SKIP_THIS
    00970 };
    00971
    00972
    00976 class FbxSpotDistributionChooserBOF : public FbxBindingOperator::Function
    00977 {
    00978 public:
    00980     static char const* FunctionName;
    00981
    00991     virtual bool Evaluate(FbxBindingOperator const* pOperator, FbxObject const* pObject, EFbxType* pResultType, void** pResult) const;
    00992
    00994     virtual bool ReverseEvaluate(FbxBindingOperator const* pOperator, FbxObject const* pTarget, void const* pIn, void** pOut, EFbxType* pOutType, bool setObj, int index) const;
    00995
    00997     //
    00998     //  WARNING!
    00999     //
    01000     //  Anything beyond these lines may not be documented accurately and is
    01001     //  subject to change without notice.
    01002     //
    01004 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    01005     FbxSpotDistributionChooserBOF();
    01006     virtual ~FbxSpotDistributionChooserBOF();
    01007
    01008
    01009 #endif //#ifndef DOXYGEN_SHOULD_SKIP_THIS
    01010 };
    01011
    01012 #endif //#ifndef DOXYGEN_SHOULD_SKIP_THIS
    01013
    01014 #include <fbxsdk/fbxsdk_nsend.h>
    01015
    01016 #endif /* _FBXSDK_SCENE_SHADING_BINDING_OPERATOR_H_ */