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