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_TABLE_BASE_H_ 00014 #define _FBXSDK_SCENE_SHADING_BINDING_TABLE_BASE_H_ 00015 00016 #include <fbxsdk/fbxsdk_def.h> 00017 00018 #include <fbxsdk/core/fbxobject.h> 00019 #include <fbxsdk/scene/shading/fbxbindingtableentry.h> 00020 #include <fbxsdk/core/base/fbxdynamicarray.h> 00021 00022 #include <fbxsdk/fbxsdk_nsbegin.h> 00023 00030 class FBXSDK_DLL FbxBindingTableBase : public FbxObject 00031 { 00032 FBXSDK_ABSTRACT_OBJECT_DECLARE(FbxBindingTableBase,FbxObject); 00033 00034 public: 00038 FbxBindingTableEntry& AddNewEntry(); 00039 00043 size_t GetEntryCount() const; 00044 00049 FbxBindingTableEntry const& GetEntry( size_t pIndex ) const; 00050 00055 FbxBindingTableEntry& GetEntry( size_t pIndex ); 00056 00062 FbxBindingTableEntry const* GetEntryForSource(char const* pSrcName) const; 00063 00069 FbxBindingTableEntry const* GetEntryForDestination(char const* pDestName) const; 00070 00072 // 00073 // WARNING! 00074 // 00075 // Anything beyond these lines may not be documented accurately and is 00076 // subject to change without notice. 00077 // 00079 00080 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00081 virtual FbxObject& Copy(const FbxObject& pObject); 00082 00083 protected: 00084 FbxBindingTableBase(FbxManager& pManager, char const* pName); 00085 virtual ~FbxBindingTableBase() = 0; // make this class abstract 00086 00087 private: 00088 FbxDynamicArray<FbxBindingTableEntry> mEntries; 00089 00090 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS 00091 00092 }; 00093 00094 #include <fbxsdk/fbxsdk_nsend.h> 00095 00096 #endif /* _FBXSDK_SCENE_SHADING_BINDING_TABLE_BASE_H_ */