00001
00004 #ifndef FBXFILESDK_KFBXPLUGINS_KFBXIMPLEMENTATION_H
00005 #define FBXFILESDK_KFBXPLUGINS_KFBXIMPLEMENTATION_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
00042 #include <fbxfilesdk/components/kbaselib/kaydaradef_h.h>
00043 #include <fbxfilesdk/components/kbaselib/kaydara.h>
00044 #include <fbxfilesdk/kfbxplugins/kfbxsdkmanager.h>
00045 #include <fbxfilesdk/kfbxplugins/kfbxobject.h>
00046
00047 #include <fbxfilesdk/components/kbaselib/klib/kdynamicarray.h>
00048 #include <fbxfilesdk/components/kbaselib/klib/kpair.h>
00049
00050 #include <fbxfilesdk/fbxfilesdk_nsbegin.h>
00051
00052 class KFbxBindingOperator;
00053 class KFbxBindingTable;
00054
00055 class KFBX_DLL KFbxImplementation : public KFbxObject
00056 {
00057 KFBXOBJECT_DECLARE(KFbxImplementation,KFbxObject);
00058
00059 public:
00060
00061 static const char* sHLSL;
00062 static const char* sGLSL;
00063 static const char* sCGFX;
00064 static const char* sMentalRaySL;
00065
00066
00067 static const char* sDirectX;
00068 static const char* sOpenGL;
00069 static const char* sMentalRay;
00070 static const char* sPreview;
00071
00073
00075
00076
00077 KFbxTypedProperty<fbxString> Language;
00078
00079
00080 KFbxTypedProperty<fbxString> LanguageVersion;
00081
00082
00083 KFbxTypedProperty<fbxString> RenderAPI;
00084
00085
00086 KFbxTypedProperty<fbxString> RenderAPIVersion;
00087
00089
00091
00092
00093 KFbxTypedProperty<fbxString> RootBindingName;
00094
00095
00096 KFbxProperty GetConstants() const;
00097
00103 KFbxBindingTable* AddNewTable( char const* pTargetName, char const* pTargetType );
00104
00108 KFbxBindingTable const* GetRootTable() const;
00109 KFbxBindingTable* GetRootTable();
00110
00114 int GetTableCount() const;
00115
00120 KFbxBindingTable const* GetTable( int pIndex ) const;
00121 KFbxBindingTable* GetTable( int pIndex );
00122
00127 KFbxBindingTable const* GetTableByTargetName( char const* pName ) const;
00128 KFbxBindingTable* GetTableByTargetName( char const* pName );
00129
00134 KFbxBindingTable const* GetTableByTargetType( char const* pTargetName ) const;
00135 KFbxBindingTable* GetTableByTargetType( char const* pTargetName );
00136
00137
00143 KFbxBindingOperator* AddNewBindingOperator( char const* pTargetName, char const* pFunctionName );
00144
00148 int GetBindingOperatorCount() const;
00149
00154 KFbxBindingOperator const* GetOperatorByTargetName( char const* pTargetName ) const;
00155
00157
00159
00160
00161 static const char* sLanguage;
00162 static const char* sLanguageVersion;
00163 static const char* sRenderAPI;
00164 static const char* sRenderAPIVersion;
00165 static const char* sRootBindingName;
00166 static const char* sConstants;
00167
00168
00169 static const char* sDefaultType;
00170 static const char* sDefaultLanguage;
00171 static const char* sDefaultLanguageVersion;
00172 static const char* sDefaultRenderAPI;
00173 static const char* sDefaultRenderAPIVersion;
00174 static const char* sDefaultRootBindingName;
00175
00177
00178
00179
00180
00181
00182
00184 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00185
00186 public:
00187
00188 virtual KFbxObject* Clone(KFbxObject* pContainer, KFbxObject::ECloneType pCloneType) const;
00189
00190 protected:
00191
00192
00193 KFbxImplementation(KFbxSdkManager& pManager, char const* pName);
00194 virtual ~KFbxImplementation();
00195 virtual bool ConstructProperties(bool pForceSet);
00196 virtual void Destruct (bool pRecursive, bool pDependents);
00197
00198 virtual KFbxImplementation& operator= (KFbxImplementation const& pImplementation);
00199
00200 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
00201 };
00202
00203
00204 #include <fbxfilesdk/fbxfilesdk_nsend.h>
00205
00206 #endif // FBXFILESDK_KFBXPLUGINS_KFBXIMPLEMENTATION_H
00207