CFx SDK Documentation  2020SP3
GiMaterialItem.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2017, Open Design Alliance (the "Alliance").
3 // All rights reserved.
4 //
5 // This software and its documentation and related materials are owned by
6 // the Alliance. The software may only be incorporated into application
7 // programs owned by members of the Alliance, subject to a signed
8 // Membership Agreement and Supplemental Software License Agreement with the
9 // Alliance. The structure and organization of this software are the valuable
10 // trade secrets of the Alliance and its suppliers. The software is also
11 // protected by copyright law and international treaty provisions. Application
12 // programs incorporating this software must include the following statement
13 // with their copyright notices:
14 //
15 // This application incorporates Teigha(R) software pursuant to a license
16 // agreement with Open Design Alliance.
17 // Teigha(R) Copyright (C) 2002-2017 by Open Design Alliance.
18 // All rights reserved.
19 //
20 // By use of this software, its documentation or related materials, you
21 // acknowledge and accept the above terms.
23 
24 // Material data entry for Gs material cache and textures processing.
25 
26 #ifndef __ODGIMATERIALITEM_H__
27 #define __ODGIMATERIALITEM_H__
28 
29 #include "GiExport.h"
30 #include "GiImage.h"
31 #include "GiMaterial.h"
32 #include "GiCommonDraw.h"
33 
34 #include "RxObject.h"
35 
36 #include "TD_PackPush.h"
37 
38 class OdDbStub;
39 
49 {
50  public:
51  // Simple variant type for external device information
52 
57  {
59  {
60  DevDataVariantType_Void = 0,
62  DevDataVariantType_RxObject
63  };
64 
65  DevDataVariant() : m_ddvType(DevDataVariantType_Void), m_pVoid(NULL)
66  {
67  }
68  DevDataVariant(void *ptr) : m_ddvType(DevDataVariantType_Ptr), m_pVoid(ptr)
69  {
70  if (m_pVoid == NULL)
71  m_ddvType = DevDataVariantType_Void;
72  }
73  DevDataVariant(OdRxObjectPtr ptr) : m_ddvType(DevDataVariantType_RxObject), m_pVoid(NULL)
74  {
75  m_pRxObject = ptr;
76  }
77 
79  {
80  return m_ddvType;
81  }
82  void *getPtr() const
83  {
84  return m_pVoid;
85  }
87  {
88  return m_pRxObject;
89  }
90 
91  DevDataVariant &operator =(void *ptr)
92  {
93  return setPtr(ptr);
94  }
95  DevDataVariant &operator =(OdRxObjectPtr ptr)
96  {
97  return setRxObject(ptr);
98  }
99 
100  DevDataVariant &setPtr(void *ptr)
101  {
102  clear();
103  if (ptr != NULL)
104  {
105  m_ddvType = DevDataVariantType_Ptr;
106  m_pVoid = ptr;
107  }
108  return *this;
109  }
111  {
112  clear();
113  m_ddvType = DevDataVariantType_RxObject;
114  m_pRxObject = ptr;
115  return *this;
116  }
117 
118  void clear()
119  {
120  m_ddvType = DevDataVariantType_Void;
121  m_pVoid = NULL;
122  if (m_pRxObject.isNull())
123  m_pRxObject.release();
124  }
125 
126  protected:
128  void *m_pVoid;
130  };
131 
132  public:
134  friend class OdGiModuleObject;
135 
141  virtual void setTextureData(OdGiMaterialTextureData::DevDataVariant pDeviceInfo, const OdGiImageBGRA32 &image) = 0;
149 
153  virtual bool haveData() const = 0;
154 
163 
164  private:
166  static void rxInitDefaultTextureDataImplementation();
168  static void rxUninitDefaultTextureDataImplementation();
169 };
170 
177 
186 {
187  public:
189 
191 
196  virtual void startTextureLoading(OdString &fileName, OdDbBaseDatabase* pDb) = 0;
197 
201  virtual void textureLoaded(const OdString &fileName, OdDbBaseDatabase* pDb) = 0;
205  virtual void textureLoadingFailed(const OdString &fileName, OdDbBaseDatabase* pDb) = 0;
206 };
207 
214 
216 
226 {
227  public:
229 
234  virtual bool allowTextureLoading(OdGiMaterialTexturePtr pTexture) = 0;
235 
245 };
246 
253 
263 {
264  public:
266 
271  {
272  kFileTexturesOnly = 0, // @def
273  kFileAndProceduralTextures, // not efficient for search
274  kDisable // only loading from LoaderExt will be active
275  };
276 
281  virtual void setManageType(ManageType type) = 0;
285  virtual ManageType manageType() const = 0;
286 
296 
311  virtual OdGiMaterialTextureDataPtr searchTexture(const OdString &fileName) = 0;
312 
339  virtual OdGiMaterialTextureDataPtr tryToLoad(OdGiMaterialTextureData::DevDataVariant pDeviceInfo, OdRxClass *pTexDataImpl, const OdGiContext &giCtx, OdGiMaterialTextureEntry *pEntry, const OdString &fileName) = 0;
340 
346  virtual void linkTexture(const OdGiMaterialMap &matMap, OdGiMaterialTextureDataPtr pData) = 0;
358  virtual void linkTexture(const OdString &fileName, OdGiMaterialTextureDataPtr pData) = 0;
359 
364  virtual bool isAvailable(const OdGiMaterialTextureData *pData) const = 0;
365 
370  virtual void unlinkTexture(OdGiMaterialTextureData *pData) = 0;
371 
375  virtual void clear() = 0;
376 
380  virtual OdUInt32 numTextureEntries() const = 0;
381 
387 
393 };
394 
401 
411 {
412  public:
414 
422  virtual bool isTextureInitialized() const = 0;
423 
427  virtual OdUInt32 proceduralTextureWidth() const = 0;
435  virtual OdUInt32 proceduralTextureHeight() const = 0;
444 
448  virtual double proceduralTextureQuality() const = 0;
452  virtual void setProceduralTextureQuality(double coef) = 0;
453 
462  virtual bool setGiMaterialTexture(OdGiMaterialTextureData::DevDataVariant pDeviceInfo, OdRxClass *pTexDataImpl, const OdGiContext &giCtx, const OdGiMaterialMap &matMap, OdGiMaterialTextureManager *pManager = NULL) = 0;
463 
472  virtual bool setGiMaterialTexture(OdGiMaterialTextureData::DevDataVariant pDeviceInfo, OdRxClass *pTexDataImpl, const OdGiContext &giCtx, OdGiMaterialTexturePtr pTexture, OdGiMaterialTextureManager *pManager = NULL) = 0;
473  // Load texture from raster file
482  virtual bool setGiMaterialTexture(OdGiMaterialTextureData::DevDataVariant pDeviceInfo, OdRxClass *pTexDataImpl, const OdGiContext &giCtx, const OdString &fileName, OdGiMaterialTextureManager *pManager = NULL) = 0;
491  virtual bool setGiMaterialTexture(OdGiMaterialTextureData::DevDataVariant pDeviceInfo, OdRxClass *pTexDataImpl, const OdGiContext &giCtx, double opacity, OdGiMaterialTextureManager *pManager = NULL) = 0;
492 
498  virtual void setTextureData(OdGiMaterialTextureData *pTextureData, OdGiMaterialTextureManager *pManager = NULL) = 0;
499 };
500 
507 
517 {
518  public:
520 
536  virtual void removeDiffuseTexture() = 0;
540  virtual bool haveDiffuseTexture() const = 0;
541 
542  // Container data
543 
547  virtual OdRxObjectPtr cachedData() const = 0;
551  virtual void setCachedData(OdRxObjectPtr data) = 0;
552 
556  virtual const OdDbStub *materialId() const = 0;
560  virtual void setMaterialId(const OdDbStub *matId = NULL) = 0;
564  virtual bool isMaterialIdValid(const OdDbStub *matId) = 0;
565 };
566 
573 
583 {
584  public:
586 
602  virtual void removeSpecularTexture() = 0;
606  virtual bool haveSpecularTexture() const = 0;
607 
623  virtual void removeReflectionTexture() = 0;
627  virtual bool haveReflectionTexture() const = 0;
628 
644  virtual void removeOpacityTexture() = 0;
648  virtual bool haveOpacityTexture() const = 0;
649 
665  virtual void removeBumpTexture() = 0;
669  virtual bool haveBumpTexture() const = 0;
670 
686  virtual void removeRefractionTexture() = 0;
690  virtual bool haveRefractionTexture() const = 0;
691 
707  virtual void removeNormalMapTexture() = 0;
711  virtual bool haveNormalMapTexture() const = 0;
712 
728  virtual void removeEmissionTexture() = 0;
732  virtual bool haveEmissionTexture() const = 0;
733 };
734 
741 
742 #include "TD_PackPop.h"
743 
744 #endif // __ODGIMATERIALITEM_H__
OdGiMaterialItem::cachedData
virtual OdRxObjectPtr cachedData() const =0
OdGiMaterialTextureData::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdGiMaterialTextureData)
OdGiMaterialTextureManager::kFileAndProceduralTextures
@ kFileAndProceduralTextures
Definition: GiMaterialItem.h:273
OdGiMaterialItem::isMaterialIdValid
virtual bool isMaterialIdValid(const OdDbStub *matId)=0
OdGiContext
Definition: GiCommonDraw.h:108
OdGiMaterialTextureEntry::isTextureInitialized
virtual bool isTextureInitialized() const =0
OdGiMaterialTextureLoaderExtPtr
OdSmartPtr< OdGiMaterialTextureLoaderExt > OdGiMaterialTextureLoaderExtPtr
Definition: GiMaterialItem.h:252
OdString
Definition: OdString.h:95
NULL
#define NULL
Definition: GsProperties.h:177
OdGiMaterialTextureLoadPE::startTextureLoading
virtual void startTextureLoading(OdString &fileName, OdDbBaseDatabase *pDb)=0
OdGiMaterialTextureData::DevDataVariant::DevDataVariant
DevDataVariant(OdRxObjectPtr ptr)
Definition: GiMaterialItem.h:73
OdRxObjectPtr
Definition: RxObject.h:345
OdGiMaterialTextureLoaderExt::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdGiMaterialTextureLoaderExt)
OdGiMaterialTextureLoadPE::textureLoaded
virtual void textureLoaded(const OdString &fileName, OdDbBaseDatabase *pDb)=0
OdGiMaterialTextureEntry::setProceduralTextureResolution
virtual void setProceduralTextureResolution(OdUInt32 width, OdUInt32 height)=0
OdGiMaterialTextureData::DevDataVariant::setRxObject
DevDataVariant & setRxObject(OdRxObjectPtr ptr)
Definition: GiMaterialItem.h:110
OdGiMaterialRenderItem::emissionTexture
virtual OdGiMaterialTextureEntryPtr emissionTexture()=0
OdGiMaterialRenderItem::removeEmissionTexture
virtual void removeEmissionTexture()=0
OdGiMaterialTextureLoaderExt::allowTextureLoading
virtual bool allowTextureLoading(OdGiMaterialTexturePtr pTexture)=0
OdGiMaterialTextureLoadPE::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdGiMaterialTextureLoadPE)
OdGiMaterialTextureEntry::textureData
virtual OdGiMaterialTextureDataPtr textureData() const =0
type
GLuint GLsizei GLsizei GLint GLenum * type
Definition: gles2_ext.h:274
OdGiMaterialItem::haveDiffuseTexture
virtual bool haveDiffuseTexture() const =0
OdGiMaterialRenderItemPtr
OdSmartPtr< OdGiMaterialRenderItem > OdGiMaterialRenderItemPtr
Definition: GiMaterialItem.h:740
OdGiMaterialRenderItem::createNormalMapTexture
virtual OdGiMaterialTextureEntryPtr createNormalMapTexture()=0
OdGiMaterialTextureManager::linkTexture
virtual void linkTexture(const OdString &fileName, OdGiMaterialTextureDataPtr pData)=0
OdGiMaterialTextureManager::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdGiMaterialTextureManager)
OdRxObject
Definition: RxObject.h:564
OdGiMaterialRenderItem::haveBumpTexture
virtual bool haveBumpTexture() const =0
OdGiMaterialTextureEntry::setGiMaterialTexture
virtual bool setGiMaterialTexture(OdGiMaterialTextureData::DevDataVariant pDeviceInfo, OdRxClass *pTexDataImpl, const OdGiContext &giCtx, double opacity, OdGiMaterialTextureManager *pManager=NULL)=0
OdGiMaterialRenderItem::emissionTexture
virtual OdGiMaterialTextureEntryPtr emissionTexture() const =0
OdGiMaterialRenderItem::createBumpTexture
virtual OdGiMaterialTextureEntryPtr createBumpTexture()=0
OdGiMaterialRenderItem::normalMapTexture
virtual OdGiMaterialTextureEntryPtr normalMapTexture() const =0
OdGiMaterialTextureEntry::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdGiMaterialTextureEntry)
OdGiMaterialRenderItem::bumpTexture
virtual OdGiMaterialTextureEntryPtr bumpTexture() const =0
OdGiMaterialRenderItem::removeNormalMapTexture
virtual void removeNormalMapTexture()=0
OdGiMaterialRenderItem::haveOpacityTexture
virtual bool haveOpacityTexture() const =0
OdGiMaterialRenderItem::removeOpacityTexture
virtual void removeOpacityTexture()=0
OdGiMaterialTextureManager::unlinkTexture
virtual void unlinkTexture(OdGiMaterialTextureData *pData)=0
OdGiMaterialRenderItem::haveSpecularTexture
virtual bool haveSpecularTexture() const =0
OdGiMaterialTextureManager::isAvailable
virtual bool isAvailable(const OdGiMaterialTextureData *pData) const =0
OdGiMaterialTextureLoaderExt
Definition: GiMaterialItem.h:226
OdArray< OdGiPixelBGRA32, OdMemoryAllocator< OdGiPixelBGRA32 > >
TD_PackPop.h
OdGiMaterialTextureManager
Definition: GiMaterialItem.h:263
OdGiMaterialTextureEntry::setProceduralTextureHeight
virtual void setProceduralTextureHeight(OdUInt32 height)=0
OdGiMaterialTextureDataPtr
OdSmartPtr< OdGiMaterialTextureData > OdGiMaterialTextureDataPtr
Definition: GiMaterialItem.h:176
RxObject.h
OdUInt32
unsigned int OdUInt32
Definition: OdPlatformSettings.h:783
ODGI_EXPORT
#define ODGI_EXPORT
Definition: GiExport.h:35
OdGiMaterialTextureManager::ManageType
ManageType
Definition: GiMaterialItem.h:271
OdGiMaterialRenderItem::removeBumpTexture
virtual void removeBumpTexture()=0
OdGiMaterialTextureData::DevDataVariant::DevDataVariantType
DevDataVariantType
Definition: GiMaterialItem.h:59
data
GLint GLenum GLsizei GLsizei GLint GLsizei const void * data
Definition: gles2_ext.h:110
OdGiMaterialTextureData::DevDataVariant::DevDataVariantType_Ptr
@ DevDataVariantType_Ptr
Definition: GiMaterialItem.h:61
OdGiMaterialRenderItem
Definition: GiMaterialItem.h:583
OdGiMaterialTextureManager::textureEntryData
virtual OdGiMaterialTextureDataPtr textureEntryData(OdUInt32 nIndex) const =0
OdGiMaterialRenderItem::refractionTexture
virtual OdGiMaterialTextureEntryPtr refractionTexture()=0
OdGiMaterialTextureLoadPEPtr
OdSmartPtr< OdGiMaterialTextureLoadPE > OdGiMaterialTextureLoadPEPtr
Definition: GiMaterialItem.h:213
GiImage.h
OdGiMaterialRenderItem::bumpTexture
virtual OdGiMaterialTextureEntryPtr bumpTexture()=0
OdGiMaterialTextureLoadPE::OdGiMaterialTextureLoadPE
OdGiMaterialTextureLoadPE()
OdGiMaterialTextureData::DevDataVariant::DevDataVariant
DevDataVariant()
Definition: GiMaterialItem.h:65
OdGiMaterialTextureEntry::proceduralTextureQuality
virtual double proceduralTextureQuality() const =0
OdGiMaterialTextureData::DevDataVariant::DevDataVariant
DevDataVariant(void *ptr)
Definition: GiMaterialItem.h:68
OdGiMaterialRenderItem::reflectionTexture
virtual OdGiMaterialTextureEntryPtr reflectionTexture()=0
OdGiMaterialTextureData::DevDataVariant::getPtr
void * getPtr() const
Definition: GiMaterialItem.h:82
OdGiMaterialRenderItem::opacityTexture
virtual OdGiMaterialTextureEntryPtr opacityTexture() const =0
OdRxClass
Definition: RxObject.h:865
OdGiMaterialTextureData::textureData
virtual void textureData(OdGiPixelBGRA32Array &data, OdUInt32 &width, OdUInt32 &height) const =0
OdGiMaterialTextureLoaderExt::loadTexture
virtual OdGiMaterialTextureDataPtr loadTexture(OdGiMaterialTextureData::DevDataVariant pDeviceInfo, OdRxClass *pTexDataImpl, const OdGiContext &giCtx, OdGiMaterialTextureEntry *pEntry, OdGiMaterialTexturePtr pTexture)=0
OdGiMaterialRenderItem::specularTexture
virtual OdGiMaterialTextureEntryPtr specularTexture()=0
OdGiMaterialTextureData::DevDataVariant::setPtr
DevDataVariant & setPtr(void *ptr)
Definition: GiMaterialItem.h:100
OdGiMaterialItem::removeDiffuseTexture
virtual void removeDiffuseTexture()=0
OdGiMaterialTextureData::createDefaultTextureDataImplementation
static OdSmartPtr< OdGiMaterialTextureData > createDefaultTextureDataImplementation()
OdSmartPtr
Definition: SmartPtr.h:58
OdGiMaterialTextureEntry::setTextureData
virtual void setTextureData(OdGiMaterialTextureData *pTextureData, OdGiMaterialTextureManager *pManager=NULL)=0
OdGiMaterialRenderItem::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdGiMaterialRenderItem)
OdGiMaterialTextureManager::manageType
virtual ManageType manageType() const =0
OdGiMaterialRenderItem::createSpecularTexture
virtual OdGiMaterialTextureEntryPtr createSpecularTexture()=0
OdGiMaterialTextureData::DevDataVariant::clear
void clear()
Definition: GiMaterialItem.h:118
OdGiMaterialTextureManager::searchTexture
virtual OdGiMaterialTextureDataPtr searchTexture(const OdGiMaterialMap &matMap)=0
OdGiMaterialTextureEntry::proceduralTextureHeight
virtual OdUInt32 proceduralTextureHeight() const =0
OdGiVisualStyleOperations::kDisable
@ kDisable
Definition: GiVisualStyle.h:984
OdGiMaterialTextureData::DevDataVariant::getRxObject
OdRxObjectPtr getRxObject() const
Definition: GiMaterialItem.h:86
GiMaterial.h
OdGiMaterialRenderItem::normalMapTexture
virtual OdGiMaterialTextureEntryPtr normalMapTexture()=0
OdGiMaterialRenderItem::removeSpecularTexture
virtual void removeSpecularTexture()=0
OdGiMaterialRenderItem::createRefractionTexture
virtual OdGiMaterialTextureEntryPtr createRefractionTexture()=0
OdGiMaterialTextureManager::tryToLoad
virtual OdGiMaterialTextureDataPtr tryToLoad(OdGiMaterialTextureData::DevDataVariant pDeviceInfo, OdRxClass *pTexDataImpl, const OdGiContext &giCtx, OdGiMaterialTextureEntry *pEntry, const OdGiMaterialMap &matMap)=0
OdGiMaterialItem::diffuseTexture
virtual OdGiMaterialTextureEntryPtr diffuseTexture() const =0
OdGiMaterialItem::setMaterialId
virtual void setMaterialId(const OdDbStub *matId=NULL)=0
OdGiMaterialTextureManager::searchTexture
virtual OdGiMaterialTextureDataPtr searchTexture(OdGiMaterialTexturePtr pTexture)=0
OdGiMaterialItem
Definition: GiMaterialItem.h:517
height
GLint GLenum GLsizei GLsizei height
Definition: gles2_ext.h:110
width
GLint GLenum GLsizei width
Definition: gles2_ext.h:110
OdGiMaterialRenderItem::specularTexture
virtual OdGiMaterialTextureEntryPtr specularTexture() const =0
GiCommonDraw.h
OdGiMaterialTextureData::setTextureData
virtual void setTextureData(OdGiMaterialTextureData::DevDataVariant pDeviceInfo, const OdGiImageBGRA32 &image)=0
OdGiMaterialTextureManager::numTextureEntries
virtual OdUInt32 numTextureEntries() const =0
OdGiMaterialRenderItem::createOpacityTexture
virtual OdGiMaterialTextureEntryPtr createOpacityTexture()=0
TD_PackPush.h
OdGiMaterialRenderItem::haveEmissionTexture
virtual bool haveEmissionTexture() const =0
OdGiMaterialTextureData
Definition: GiMaterialItem.h:49
OdGiMaterialItem::createDiffuseTexture
virtual OdGiMaterialTextureEntryPtr createDiffuseTexture()=0
OdGiImageBGRA32
Definition: GiImage.h:213
OdGiMaterialTextureEntry::setGiMaterialTexture
virtual bool setGiMaterialTexture(OdGiMaterialTextureData::DevDataVariant pDeviceInfo, OdRxClass *pTexDataImpl, const OdGiContext &giCtx, const OdString &fileName, OdGiMaterialTextureManager *pManager=NULL)=0
OdGiMaterialTextureManager::textureEntryKey
virtual OdGiMaterialTexturePtr textureEntryKey(OdUInt32 nIndex) const =0
OdGiMaterialTextureData::DevDataVariant::m_ddvType
DevDataVariantType m_ddvType
Definition: GiMaterialItem.h:127
OdGiMaterialTextureManager::searchTexture
virtual OdGiMaterialTextureDataPtr searchTexture(const OdString &fileName)=0
OdGiMaterialRenderItem::opacityTexture
virtual OdGiMaterialTextureEntryPtr opacityTexture()=0
OdGiMaterialRenderItem::reflectionTexture
virtual OdGiMaterialTextureEntryPtr reflectionTexture() const =0
OdGiMaterialTextureManager::setMaterialLoaderExt
virtual void setMaterialLoaderExt(OdGiMaterialTextureLoaderExt *pExt)=0
OdGiMaterialTextureEntry
Definition: GiMaterialItem.h:411
OdGiMaterialTextureManager::setManageType
virtual void setManageType(ManageType type)=0
OdGiMaterialRenderItem::removeReflectionTexture
virtual void removeReflectionTexture()=0
OdGiMaterialTextureEntry::setGiMaterialTexture
virtual bool setGiMaterialTexture(OdGiMaterialTextureData::DevDataVariant pDeviceInfo, OdRxClass *pTexDataImpl, const OdGiContext &giCtx, OdGiMaterialTexturePtr pTexture, OdGiMaterialTextureManager *pManager=NULL)=0
OdGiMaterialTextureData::defaultTextureDataImplementationDesc
static OdRxClass * defaultTextureDataImplementationDesc()
GiExport.h
OdGiMaterialTextureEntry::setProceduralTextureQuality
virtual void setProceduralTextureQuality(double coef)=0
OdGiMaterialTextureEntryPtr
OdSmartPtr< OdGiMaterialTextureEntry > OdGiMaterialTextureEntryPtr
Definition: GiMaterialItem.h:506
OdGiMaterialRenderItem::haveReflectionTexture
virtual bool haveReflectionTexture() const =0
OdGiMaterialItemPtr
OdSmartPtr< OdGiMaterialItem > OdGiMaterialItemPtr
Definition: GiMaterialItem.h:572
OdGiMaterialTextureData::DevDataVariant::m_pRxObject
OdRxObjectPtr m_pRxObject
Definition: GiMaterialItem.h:129
OdGiMaterialRenderItem::haveNormalMapTexture
virtual bool haveNormalMapTexture() const =0
OdGiMaterialRenderItem::removeRefractionTexture
virtual void removeRefractionTexture()=0
OdGiMaterialTextureManager::tryToLoad
virtual OdGiMaterialTextureDataPtr tryToLoad(OdGiMaterialTextureData::DevDataVariant pDeviceInfo, OdRxClass *pTexDataImpl, const OdGiContext &giCtx, OdGiMaterialTextureEntry *pEntry, const OdString &fileName)=0
OdGiMaterialRenderItem::haveRefractionTexture
virtual bool haveRefractionTexture() const =0
OdGiMaterialTextureManagerPtr
OdSmartPtr< OdGiMaterialTextureManager > OdGiMaterialTextureManagerPtr
Definition: GiMaterialItem.h:400
OdGiMaterialRenderItem::refractionTexture
virtual OdGiMaterialTextureEntryPtr refractionTexture() const =0
OdGiMaterialTextureEntry::setProceduralTextureWidth
virtual void setProceduralTextureWidth(OdUInt32 width)=0
OdGiMaterialTextureLoadPE
Definition: GiMaterialItem.h:186
OdGiMaterialItem::materialId
virtual const OdDbStub * materialId() const =0
OdGiMaterialTextureData::DevDataVariant::type
DevDataVariantType type() const
Definition: GiMaterialItem.h:78
OdGiMaterialTextureData::DevDataVariant::m_pVoid
void * m_pVoid
Definition: GiMaterialItem.h:128
OdGiMaterialTextureData::haveData
virtual bool haveData() const =0
OdGiMaterialTextureManager::linkTexture
virtual void linkTexture(const OdGiMaterialMap &matMap, OdGiMaterialTextureDataPtr pData)=0
OdGiMaterialTextureEntry::proceduralTextureWidth
virtual OdUInt32 proceduralTextureWidth() const =0
OdGiMaterialTextureManager::linkTexture
virtual void linkTexture(OdGiMaterialTexturePtr pTexture, OdGiMaterialTextureDataPtr pData)=0
OdGiMaterialRenderItem::createEmissionTexture
virtual OdGiMaterialTextureEntryPtr createEmissionTexture()=0
OdGiMaterialItem::setCachedData
virtual void setCachedData(OdRxObjectPtr data)=0
OdGiMaterialTextureManager::clear
virtual void clear()=0
OdGiMaterialTextureManager::tryToLoad
virtual OdGiMaterialTextureDataPtr tryToLoad(OdGiMaterialTextureData::DevDataVariant pDeviceInfo, OdRxClass *pTexDataImpl, const OdGiContext &giCtx, OdGiMaterialTextureEntry *pEntry, OdGiMaterialTexturePtr pTexture)=0
OdGiMaterialRenderItem::createReflectionTexture
virtual OdGiMaterialTextureEntryPtr createReflectionTexture()=0
OdGiMaterialTextureLoadPE::textureLoadingFailed
virtual void textureLoadingFailed(const OdString &fileName, OdDbBaseDatabase *pDb)=0
OdGiMaterialItem::diffuseTexture
virtual OdGiMaterialTextureEntryPtr diffuseTexture()=0
OdGiMaterialItem::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdGiMaterialItem)
OdGiMaterialTextureEntry::setGiMaterialTexture
virtual bool setGiMaterialTexture(OdGiMaterialTextureData::DevDataVariant pDeviceInfo, OdRxClass *pTexDataImpl, const OdGiContext &giCtx, const OdGiMaterialMap &matMap, OdGiMaterialTextureManager *pManager=NULL)=0
OdGiMaterialMap
Definition: GiMaterial.h:1362
OdGiMaterialTextureManager::materialLoaderExt
virtual OdGiMaterialTextureLoaderExtPtr materialLoaderExt() const =0
OdGiMaterialTextureData::DevDataVariant
Definition: GiMaterialItem.h:57