fbximplementation.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_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_ */