CrossFramework Library
|
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