"L. Spiro Engine"

F:/My Projects/LSEngine/Modules/LSModelLib/Src/Models/LSDDrawableSharedModel.h

00001 
00016 #ifndef __LSD_DRAWABLESHAREDMODEL_H__
00017 #define __LSD_DRAWABLESHAREDMODEL_H__
00018 
00019 #include "../LSDModelLib.h"
00020 #include "LSDIntermediateDrawableMeshInstance.h"
00021 #include "LSDSharedModel.h"
00022 #include "Map/LSTLMap.h"
00023 #include "Texture/LSGStandardTexture.h"
00024 #include "Texture/LSGTextureManager.h"
00025 
00026 namespace lsd {
00027 
00034         class CDrawableSharedModel : public CSharedModel {
00035         public :
00036                 // == Various constructors.
00037                 LSE_CALLCTOR                                                    CDrawableSharedModel();
00038                 virtual LSE_CALLCTOR                                    ~CDrawableSharedModel();
00039 
00040 
00041                 // == Functions.
00048                 virtual LSSTD_ERRORS LSE_CALL                   LoadFromStream( const lsstd::IStream &_sStream );
00049 
00053                 virtual LSVOID LSE_CALL                                 Reset();
00054 
00058                 LSVOID LSE_CALL                                                 RenderDebug();
00059 
00065                 const CVector<CIntermediateDrawableMeshInstance, LSUINT32> & LSE_CALL
00066                                                                                                 GetDrawableRenderParts() const;
00067 
00073                 CVector<CIntermediateDrawableMeshInstance, LSUINT32> & LSE_CALL
00074                                                                                                 GetDrawableRenderParts();
00075 
00076 
00077                 // == Members.
00081                 static CTextureManager                                  m_tmTexMan;
00082 
00083         protected :
00084                 // == Members.
00088                 CVector<CIntermediateDrawableMeshInstance, LSUINT32>
00089                                                                                                 m_vDrawableMeshes;
00090 
00094                 CMap<CString, CSharedStdTexPtr>                 m_mStandardTextures;
00095 
00096 
00097                 // == Functions.
00103                 LSBOOL LSE_CALL                                                 MakeTextures();
00104         private :
00105                 typedef CSharedModel                                    Parent;
00106         };
00107 
00108 
00109         // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
00110         // DEFINITIONS
00111         // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
00112         
00113 
00114 }       // namespace lsd
00115 
00116 #endif  // __LSD_DRAWABLESHAREDMODEL_H__
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator