CrossFramework Library
|
00001 00006 #if defined(XG3D_INCLUDED_STATEMDLMATERIAL_HPP) 00007 #else 00008 #define XG3D_INCLUDED_STATEMDLMATERIAL_HPP 00009 00010 //------------------------------------------------------------ 00011 #include <XBase/NonCopyable.hpp> 00012 #include <XBase/RuntimeAutoArray.hpp> 00013 #include <XG3D/ResMatSet.hpp> 00014 #include <XG3D/ResMdl.hpp> 00015 00016 //------------------------------------------------------------ 00017 namespace XG3D { 00018 class StateMaterial; 00019 } 00020 00021 //------------------------------------------------------------ 00022 namespace XG3D { 00024 00025 00030 class StateMdlMaterial : public ::XBase::NonCopyable 00031 { 00032 public: 00034 00035 00041 StateMdlMaterial( 00042 const ResMdl& aResMdl 00043 , const ResMatSet& aResMatSet 00044 , ::XBase::IAllocator& aAllocator = ::XBase::IAllocator::Default() 00045 ); 00046 00048 ~StateMdlMaterial(); 00050 00052 00053 StateMaterial& material( uint aMatIndex ); 00054 const StateMaterial& material( uint aMatIndex )const; 00056 00057 private: 00058 ResMdl mResMdl; 00059 ::XBase::RuntimeAutoArray< StateMaterial > mMaterials; 00060 }; 00062 } 00063 //------------------------------------------------------------ 00064 #endif 00065 // EOF