"L. Spiro Engine"

F:/My Projects/LSEngine/Modules/LSModelLib/Src/ModelTextures/LSDModelTexture.h

00001 
00016 #ifndef __LSD_MODELTEXTURE_H__
00017 #define __LSD_MODELTEXTURE_H__
00018 
00019 #include "../LSDModelLib.h"
00020 #include "String/LSTLString.h"
00021 #include "Texture/LSGTextureBase.h"
00022 #include "Texture/LSGTextureManager.h"
00023 
00024 namespace lsd {
00025 
00032         class CModelTexture {
00033         public :
00034                 // == Various constructors.
00035                 LSE_CALLCTOR                                                    CModelTexture();
00036                 LSE_CALLCTOR                                                    ~CModelTexture();
00037 
00038 
00039                 // == Operators.
00046                 CModelTexture & LSE_CALL                                operator = ( const CModelTexture &_mtOther );
00047 
00048 
00049                 // == Functions.
00053                 LSVOID LSE_CALL                                                 Trash();
00054 
00060                 LSVOID LSE_CALL                                                 SetAllocator( CAllocator * _paAllocator );
00061 
00067                 LSE_INLINE CString & LSE_CALL                   Name();
00068 
00074                 LSE_INLINE const CString & LSE_CALL             Name() const;
00075 
00081                 LSE_INLINE CString & LSE_CALL                   FileName();
00082 
00088                 LSE_INLINE const CString & LSE_CALL             FileName() const;
00089 
00095                 LSE_INLINE LSG_WRAP_MODE & LSE_CALL             WrappingMode();
00096 
00102                 LSE_INLINE LSG_WRAP_MODE LSE_CALL               WrappingMode() const;
00103 
00109                 LSE_INLINE LSG_MAPPING_TYPE & LSE_CALL  MappingType();
00110 
00116                 LSE_INLINE LSG_MAPPING_TYPE LSE_CALL    MappingType() const;
00117 
00123                 LSE_INLINE LSG_TEXTURE_USAGE_FORMAT & LSE_CALL
00124                                                                                                 UsageFormat();
00125 
00131                 LSE_INLINE LSG_TEXTURE_USAGE_FORMAT LSE_CALL
00132                                                                                                 UsageFormat() const;
00133 
00139                 LSE_INLINE LSG_TEXTURE_BLENDING_MODES & LSE_CALL
00140                                                                                                 BlendingMode();
00141 
00147                 LSE_INLINE LSG_TEXTURE_BLENDING_MODES LSE_CALL
00148                                                                                                 BlendingMode() const;
00149 
00155                 LSE_INLINE CSharedStdTexPtr & LSE_CALL  Texture();
00156 
00162                 CSharedStdTexPtr LSE_CALL                               Texture() const;
00163 
00164         protected :
00165                 // == Members.
00169                 CString                                                                 m_sName;
00170 
00174                 CString                                                                 m_sFileName;
00175 
00179                 LSG_WRAP_MODE                                                   m_wmWrapMode;
00180 
00184                 LSG_MAPPING_TYPE                                                m_mtMappingType;
00185 
00189                 LSG_TEXTURE_USAGE_FORMAT                                m_tufUsageFormat;
00190 
00194                 LSG_TEXTURE_BLENDING_MODES                              m_tbmBlendingMode;
00195 
00199                 CSharedStdTexPtr                                                m_sstpTexture;
00200         };
00201 
00202 
00203         // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
00204         // DEFINITIONS
00205         // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
00206         // == Functions.
00212         LSE_INLINE CString & LSE_CALL CModelTexture::Name() {
00213                 return m_sName;
00214         }
00215 
00221         LSE_INLINE const CString & LSE_CALL CModelTexture::Name() const {
00222                 return m_sName;
00223         }
00224 
00230         LSE_INLINE CString & LSE_CALL CModelTexture::FileName() {
00231                 return m_sFileName;
00232         }
00233 
00239         LSE_INLINE const CString & LSE_CALL CModelTexture::FileName() const {
00240                 return m_sFileName;
00241         }
00242 
00248         LSE_INLINE LSG_WRAP_MODE & LSE_CALL CModelTexture::WrappingMode() {
00249                 return m_wmWrapMode;
00250         }
00251 
00257         LSE_INLINE LSG_WRAP_MODE LSE_CALL CModelTexture::WrappingMode() const {
00258                 return m_wmWrapMode;
00259         }
00260 
00266         LSE_INLINE LSG_MAPPING_TYPE & LSE_CALL CModelTexture::MappingType() {
00267                 return m_mtMappingType;
00268         }
00269 
00275         LSE_INLINE LSG_MAPPING_TYPE LSE_CALL CModelTexture::MappingType() const {
00276                 return m_mtMappingType;
00277         }
00278 
00284         LSE_INLINE LSG_TEXTURE_USAGE_FORMAT & LSE_CALL CModelTexture::UsageFormat() {
00285                 return m_tufUsageFormat;
00286         }
00287 
00293         LSE_INLINE LSG_TEXTURE_USAGE_FORMAT LSE_CALL CModelTexture::UsageFormat() const {
00294                 return m_tufUsageFormat;
00295         }
00296 
00302         LSE_INLINE LSG_TEXTURE_BLENDING_MODES & LSE_CALL CModelTexture::BlendingMode() {
00303                 return m_tbmBlendingMode;
00304         }
00305 
00311         LSE_INLINE LSG_TEXTURE_BLENDING_MODES LSE_CALL CModelTexture::BlendingMode() const {
00312                 return m_tbmBlendingMode;
00313         }
00314 
00320         LSE_INLINE CSharedStdTexPtr & LSE_CALL CModelTexture::Texture() {
00321                 return m_sstpTexture;
00322         }
00323 
00324 }       // namespace lsd
00325 
00326 #endif  // __LSD_MODELTEXTURE_H__
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator