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_IMPLEMENTATION_H_ 00014 #define _FBXSDK_SCENE_SHADING_IMPLEMENTATION_H_ 00015 00016 #include <fbxsdk/fbxsdk_def.h> 00017 00018 #include <fbxsdk/core/fbxmanager.h> 00019 #include <fbxsdk/core/fbxobject.h> 00020 #include <fbxsdk/core/base/fbxdynamicarray.h> 00021 #include <fbxsdk/core/base/fbxpair.h> 00022 00023 #include <fbxsdk/fbxsdk_nsbegin.h> 00024 00025 class FbxBindingOperator; 00026 class FbxBindingTable; 00027 00053 class FBXSDK_DLL FbxImplementation : public FbxObject 00054 { 00055 FBXSDK_OBJECT_DECLARE(FbxImplementation, FbxObject); 00056 00057 public: 00062 FbxString RenderName; 00064 00069 00073 FbxPropertyT<FbxString> Language; 00074 00076 FbxPropertyT<FbxString> LanguageVersion; 00077 00081 FbxPropertyT<FbxString> RenderAPI; 00082 00084 FbxPropertyT<FbxString> RenderAPIVersion; 00086 00087 00092 00094 FbxPropertyT<FbxString> RootBindingName; 00095 00097 FbxProperty GetConstants() const; 00098 00104 FbxBindingTable* AddNewTable( char const* pTargetName, char const* pTargetType ); 00105 00109 FbxBindingTable const* GetRootTable() const; 00110 00114 FbxBindingTable* GetRootTable(); 00115 00119 int GetTableCount() const; 00120 00125 FbxBindingTable const* GetTable( int pIndex ) const; 00130 FbxBindingTable* GetTable( int pIndex ); 00131 00136 FbxBindingTable const* GetTableByTargetName( char const* pName ) const; 00137 00142 FbxBindingTable* GetTableByTargetName( char const* pName ); 00143 00148 FbxBindingTable const* GetTableByTargetType( char const* pTargetName ) const; 00149 00154 FbxBindingTable* GetTableByTargetType( char const* pTargetName ); 00155 00156 00162 FbxBindingOperator* AddNewBindingOperator( char const* pTargetName, char const* pFunctionName ); 00163 00167 int GetBindingOperatorCount() const; 00168 00173 FbxBindingOperator const* GetOperatorByTargetName( char const* pTargetName ) const; 00175 00176 00181 00182 // property names 00183 00187 static const char* sLanguage; 00188 00192 static const char* sLanguageVersion; 00193 00197 static const char* sRenderAPI; 00198 00202 static const char* sRenderAPIVersion; 00203 00207 static const char* sRootBindingName; 00208 00212 static const char* sConstants; 00213 00215 static const char* sDefaultType; 00216 00218 static const char* sDefaultLanguage; 00219 00221 static const char* sDefaultLanguageVersion; 00222 00224 static const char* sDefaultRenderAPI; 00225 00227 static const char* sDefaultRenderAPIVersion; 00228 00230 static const char* sDefaultRootBindingName; 00232 00234 // 00235 // WARNING! 00236 // 00237 // Anything beyond these lines may not be documented accurately and is 00238 // subject to change without notice. 00239 // 00241 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00242 protected: 00243 // Constructor / Destructor 00244 FbxImplementation(FbxManager& pManager, char const* pName); 00245 virtual bool ConstructProperties(bool pForceSet); 00246 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS 00247 }; 00248 00249 #include <fbxsdk/fbxsdk_nsend.h> 00250 00251 #endif /* _FBXSDK_SCENE_SHADING_IMPLEMENTATION_H_ */