00001 /**************************************************************************************** 00002 00003 Copyright (C) 2013 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 const FbxBindingTableEntry* GetEntryForSource(const char* pSrcName) const; 00063 00069 const FbxBindingTableEntry* GetEntryForDestination(const char* pDestName) const; 00070 00071 /***************************************************************************************************************************** 00072 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! ** 00073 *****************************************************************************************************************************/ 00074 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00075 // Remark: This method copies the mEntries table AND clears the UserData on the resulting copy to prevent shared memory 00076 // data between clones/copies. 00077 virtual FbxObject& Copy(const FbxObject& pObject); 00078 00079 private: 00080 FbxDynamicArray<FbxBindingTableEntry> mEntries; 00081 #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/ 00082 }; 00083 00084 #include <fbxsdk/fbxsdk_nsend.h> 00085 00086 #endif /* _FBXSDK_SCENE_SHADING_BINDING_TABLE_BASE_H_ */