CrossFramework Library

XG3D/ResMdl.hpp

00001 /*
00002  * @file
00003  * @brief ResMdl型を記述する。
00004  * @author akino
00005  */
00006 #if defined(XG3D_INCLUDED_RESMDL_HPP)
00007 #else
00008 #define XG3D_INCLUDED_RESMDL_HPP
00009 
00010 //------------------------------------------------------------
00011 #include <XBase/Pointer.hpp>
00012 #include <XG3D/BuiltInTypes.hpp>
00013 #include <XG3D/ResMdlMatRefer.hpp>
00014 #include <XG3D/ResMdlMesh.hpp>
00015 #include <XG3D/ResMdlNode.hpp>
00016 #include <XG3D/ResMdlShape.hpp>
00017 
00018 //------------------------------------------------------------
00019 namespace XG3D {
00020     class ResMdlImpl;
00021 }
00022 
00023 //------------------------------------------------------------
00024 namespace XG3D {
00026 
00027 
00032     class ResMdl
00033     {
00034     public:
00036 
00037 
00038         ResMdl();
00039 
00041         ResMdl( const ResMdlImpl& aImpl );
00043         
00045 
00046         bool isValid()const; 
00047         bool equals( const ResMdl& aRHS )const; 
00048         bool operator==( const ResMdl& aRHS )const; 
00049 
00050 
00052 
00053         uint            index()const;                   
00054         const char*     name()const;                    
00055         uint            matReferCount()const;           
00056         ResMdlMatRefer  matRefer( uint aIndex )const;   
00057         uint            meshCount()const;               
00058         ResMdlMesh      mesh( uint aIndex )const;       
00059         ResMdlMesh      mesh( const char* aName )const; 
00060         uint            nodeCount()const;               
00061         ResMdlNode      node( uint aIndex )const;       
00062         ResMdlNode      node( const char* aName )const; 
00063         uint            shapeCount()const;              
00064         ResMdlShape     shape( uint aIndex )const;      
00065         ResMdlShape     shape( const char* aName )const;
00066 
00067 
00068     private:
00069         ::XBase::Pointer< const ResMdlImpl > mPtr;
00070         //------------------------------------------------------------
00071         bool checkInvalid()const;
00072     };
00074 }
00075 //------------------------------------------------------------
00076 #endif
00077 // EOF
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 マクロ定義