CrossFramework Library

XG3D/ResMdlNode.hpp

00001 /*
00002  * @file
00003  * @brief ResMdlNode型を記述する。
00004  * @author akino
00005  */
00006 #if defined(XG3D_INCLUDED_RESMDLNODE_HPP)
00007 #else
00008 #define XG3D_INCLUDED_RESMDLNODE_HPP
00009 
00010 //------------------------------------------------------------
00011 #include <XBase/Matrix34.hpp>
00012 #include <XBase/Pointer.hpp>
00013 #include <XBase/Vector3.hpp>
00014 #include <XG3D/BuiltInTypes.hpp>
00015 
00016 //------------------------------------------------------------
00017 namespace XG3D {
00018     class ResMdlNodeImpl;
00019 }
00020 
00021 //------------------------------------------------------------
00022 namespace XG3D {
00024 
00025 
00030     class ResMdlNode
00031     {
00032     public:
00034 
00035 
00036         ResMdlNode();
00037 
00039         ResMdlNode( const ResMdlNodeImpl& aImpl );
00041         
00043 
00044         bool isValid()const; 
00045         bool equals( const ResMdlNode& aRHS )const; 
00046         bool operator==( const ResMdlNode& aRHS )const; 
00047 
00048 
00050 
00051         uint index()const;                  
00052         const char* name()const;            
00053         uint parentNodeIndex()const;        
00054         uint firstChildNodeIndex()const;    
00055         uint nextSiblingNodeIndex()const;   
00056         ::XBase::Mtx34 rtMtx()const;        
00057         ::XBase::Vec3  scale()const;        
00058         const ::XBase::Mtx34* bindPoseMtxPtr()const; 
00059 
00060 
00061     private:
00062         ::XBase::Pointer< const ResMdlNodeImpl > mPtr;
00063         //------------------------------------------------------------
00064         bool checkInvalid()const;
00065     };
00067 }
00068 //------------------------------------------------------------
00069 #endif
00070 // EOF
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 マクロ定義