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