CrossFramework Library

XG3D/ResBin.hpp

説明を見る。
00001 
00006 #if defined(XG3D_INCLUDED_RESFILE_HPP)
00007 #else
00008 #define XG3D_INCLUDED_RESFILE_HPP
00009 
00010 //------------------------------------------------------------
00011 #include <XBase/FunctionAttribute.hpp>
00012 #include <XBase/IAllocator.hpp>
00013 #include <XBase/NonCopyable.hpp>
00014 #include <XBase/Placement.hpp>
00015 #include <XBase/RuntimeAutoArray.hpp>
00016 #include <XBase/ScopedPtr.hpp>
00017 #include <XG3D/BuiltInTypes.hpp>
00018 #include <XG3D/ResMatSet.hpp>
00019 #include <XG3D/ResMdl.hpp>
00020 #include <XG3D/ResTex.hpp>
00021 #include <XData/XData.hpp>
00022 
00023 //------------------------------------------------------------
00024 namespace XG3D {
00025     class ResMatSetImpl;
00026     class ResMdlImpl;
00027     class ResTexImpl;
00028     struct BinResBin;
00029 }
00030 
00031 //------------------------------------------------------------
00032 namespace XG3D {
00034 
00035 
00036 
00037 
00038     class ResBin : public ::XBase::NonCopyable
00039     {
00040     public:
00042 
00043 
00048         ResBin( const_ptr_t aBin , ::XBase::IAllocator& aAllocator = ::XBase::IAllocator::Default()  );
00049 
00051         ~ResBin();
00053 
00055 
00056 
00057         bool isValid()const;
00059 
00061 
00062         void setup();   
00063         void release(); 
00064 
00065 
00067 
00068         uint        matSetCount()const;                 
00069         ResMatSet   matSet( uint aIndex )const;         
00070         ResMatSet   matSet( const char* aName )const;   
00071         uint        mdlCount()const;                    
00072         ResMdl      mdl( uint aIndex )const;            
00073         ResMdl      mdl( const char* aName )const;      
00074         uint        texCount()const;                    
00075         ResTex      tex( uint aIndex )const;            
00076         ResTex      tex( const char* aName )const;      
00077 
00078 
00079     private:
00080         typedef ::XBase::RuntimeAutoArray< ResMatSetImpl >  MatSetArray;
00081         typedef ::XBase::RuntimeAutoArray< ResMdlImpl >     MdlArray;
00082         typedef ::XBase::RuntimeAutoArray< ResTexImpl >     TexArray;
00083         //------------------------------------------------------------
00084         ::XData::XData mXData;
00085         ::XBase::Placement< MatSetArray >   mResMatSetImpls;
00086         ::XBase::Placement< MdlArray >      mResMdlImpls;
00087         ::XBase::Placement< TexArray >      mResTexImpls;
00088         //------------------------------------------------------------
00089         bool checkInvalid()const;
00090         const_ptr_t ref( ::XData::Reference val )const;
00091     };
00093 }
00094 //------------------------------------------------------------
00095 #endif
00096 // EOF
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 マクロ定義