CrossFramework Library

XG3D/StateMdlTransform.hpp

説明を見る。
00001 
00006 #if defined(XG3D_INCLUDED_STATEMDLTRANSFORM_HPP)
00007 #else
00008 #define XG3D_INCLUDED_STATEMDLTRANSFORM_HPP
00009 
00010 //------------------------------------------------------------
00011 #include <XBase/Matrix34.hpp>
00012 #include <XBase/NonCopyable.hpp>
00013 #include <XBase/RuntimeArray.hpp>
00014 #include <XG3D/ResMdl.hpp>
00015 
00016 //------------------------------------------------------------
00017 namespace XG3D {
00018     struct MdlLocalMtx;
00019 }
00020 
00021 //------------------------------------------------------------
00022 namespace XG3D {
00024 
00025 
00030     class StateMdlTransform : public ::XBase::NonCopyable
00031     {
00032     public:
00034 
00035 
00040         StateMdlTransform(
00041             const ResMdl& aResMdl
00042             , ::XBase::IAllocator& aAllocator = ::XBase::IAllocator::Default()
00043             );
00044 
00046         ~StateMdlTransform();
00048 
00050 
00051         void updateWorldMtx( const ::XBase::Mtx34& aMdlMtx = ::XBase::Mtx34::Identity() ); 
00052 
00053 
00055 
00056         const ::XBase::Mtx34 worldMtx( uint aNodeIndex )const; 
00057 
00058 
00059     private:
00060         ResMdl mResMdl;
00061         ::XBase::RuntimeArray< MdlLocalMtx > mLocalMtxs;
00062         ::XBase::RuntimeArray< ::XBase::Matrix34 > mWorldMtxs;
00063         //============================================================
00064         void resetLocalMtx();
00065     };
00067 }
00068 //------------------------------------------------------------
00069 #endif
00070 // EOF
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 マクロ定義