CFx SDK Documentation  2023 SP0
Public Types | Public Member Functions | List of all members
OdGiMaterialTextureManager Class Referenceabstract

#include <GiMaterialItem.h>

Inheritance diagram for OdGiMaterialTextureManager:
OdRxObject

Public Types

enum  ManageType { kFileTexturesOnly = 0 , kFileAndProceduralTextures , kDisable }
 

Public Member Functions

 ODRX_DECLARE_MEMBERS (OdGiMaterialTextureManager)
 
virtual void setManageType (ManageType type)=0
 
virtual ManageType manageType () const =0
 
virtual void setMaterialLoaderExt (OdGiMaterialTextureLoaderExt *pExt)=0
 
virtual OdGiMaterialTextureLoaderExtPtr materialLoaderExt () const =0
 
virtual OdGiMaterialTextureDataPtr searchTexture (const OdGiMaterialMap &matMap)=0
 
virtual OdGiMaterialTextureDataPtr searchTexture (OdGiMaterialTexturePtr pTexture)=0
 
virtual OdGiMaterialTextureDataPtr searchTexture (const OdString &fileName)=0
 
virtual OdGiMaterialTextureDataPtr tryToLoad (OdGiMaterialTextureData::DevDataVariant pDeviceInfo, OdRxClass *pTexDataImpl, const OdGiContext &giCtx, OdGiMaterialTextureEntry *pEntry, const OdGiMaterialMap &matMap)=0
 
virtual OdGiMaterialTextureDataPtr tryToLoad (OdGiMaterialTextureData::DevDataVariant pDeviceInfo, OdRxClass *pTexDataImpl, const OdGiContext &giCtx, OdGiMaterialTextureEntry *pEntry, OdGiMaterialTexturePtr pTexture)=0
 
virtual OdGiMaterialTextureDataPtr tryToLoad (OdGiMaterialTextureData::DevDataVariant pDeviceInfo, OdRxClass *pTexDataImpl, const OdGiContext &giCtx, OdGiMaterialTextureEntry *pEntry, const OdString &fileName)=0
 
virtual void linkTexture (const OdGiMaterialMap &matMap, OdGiMaterialTextureDataPtr pData)=0
 
virtual void linkTexture (OdGiMaterialTexturePtr pTexture, OdGiMaterialTextureDataPtr pData)=0
 
virtual void linkTexture (const OdString &fileName, OdGiMaterialTextureDataPtr pData)=0
 
virtual bool isAvailable (const OdGiMaterialTextureData *pData) const =0
 
virtual void unlinkTexture (OdGiMaterialTextureData *pData)=0
 
virtual void clear ()=0
 
virtual OdUInt32 numTextureEntries () const =0
 
virtual OdGiMaterialTexturePtr textureEntryKey (OdUInt32 nIndex) const =0
 
virtual OdGiMaterialTextureDataPtr textureEntryData (OdUInt32 nIndex) const =0
 
- Public Member Functions inherited from OdRxObject
 ODRX_HEAP_OPERATORS ()
 
 OdRxObject ()
 
virtual ~OdRxObject ()
 
virtual OdRxObjectqueryX (const OdRxClass *pClass) const
 
virtual OdRxObjectx (const OdRxClass *pClass) const
 
virtual OdRxClassisA () const
 
virtual void addRef ()=0
 
virtual void release ()=0
 
virtual long numRefs () const
 
bool isKindOf (const OdRxClass *pClass) const
 
virtual OdRxObjectPtr clone () const
 
virtual void copyFrom (const OdRxObject *pSource)
 
virtual OdRx::Ordering comparedTo (const OdRxObject *pOther) const
 
virtual bool isEqualTo (const OdRxObject *pOther) const
 

Additional Inherited Members

- Static Public Member Functions inherited from OdRxObject
static OdRxObjectPtr cast (const OdRxObject *pointer)
 
static OdRxClassdesc ()
 

Detailed Description

Manage scene textures.

See also
TD_Gi

<group OdGi_Classes>

Definition at line 262 of file GiMaterialItem.h.

Member Enumeration Documentation

◆ ManageType

Management type.

Enumerator
kFileTexturesOnly 
kFileAndProceduralTextures 
kDisable 

Definition at line 270 of file GiMaterialItem.h.

Member Function Documentation

◆ clear()

virtual void OdGiMaterialTextureManager::clear ( )
pure virtual

Clears cache.

◆ isAvailable()

virtual bool OdGiMaterialTextureManager::isAvailable ( const OdGiMaterialTextureData pData) const
pure virtual

Returns true if specified texture data is already available in cache.

Parameters
pData[in] Texture data pointer

◆ linkTexture() [1/3]

virtual void OdGiMaterialTextureManager::linkTexture ( const OdGiMaterialMap matMap,
OdGiMaterialTextureDataPtr  pData 
)
pure virtual

Links texture to current cache.

Parameters
matMap[in] Material map.
pData[in] Texture data pointer

◆ linkTexture() [2/3]

virtual void OdGiMaterialTextureManager::linkTexture ( const OdString fileName,
OdGiMaterialTextureDataPtr  pData 
)
pure virtual

Links texture to current cache.

Parameters
fileName[in] Texture file name.
pData[in] Texture data pointer

◆ linkTexture() [3/3]

virtual void OdGiMaterialTextureManager::linkTexture ( OdGiMaterialTexturePtr  pTexture,
OdGiMaterialTextureDataPtr  pData 
)
pure virtual

Links texture to current cache.

Parameters
pTexture[in] Material texture pointer.
pData[in] Texture data pointer

◆ manageType()

virtual ManageType OdGiMaterialTextureManager::manageType ( ) const
pure virtual

Returns current management type.

◆ materialLoaderExt()

virtual OdGiMaterialTextureLoaderExtPtr OdGiMaterialTextureManager::materialLoaderExt ( ) const
pure virtual

Returns current texture loading extension.

◆ numTextureEntries()

virtual OdUInt32 OdGiMaterialTextureManager::numTextureEntries ( ) const
pure virtual

Returns number of texture linkages.

◆ ODRX_DECLARE_MEMBERS()

OdGiMaterialTextureManager::ODRX_DECLARE_MEMBERS ( OdGiMaterialTextureManager  )

◆ searchTexture() [1/3]

virtual OdGiMaterialTextureDataPtr OdGiMaterialTextureManager::searchTexture ( const OdGiMaterialMap matMap)
pure virtual

Search texture in cache.

Parameters
matMap[in] Material map.

◆ searchTexture() [2/3]

virtual OdGiMaterialTextureDataPtr OdGiMaterialTextureManager::searchTexture ( const OdString fileName)
pure virtual

Search texture in cache.

Parameters
fileName[in] Texture file name.

◆ searchTexture() [3/3]

virtual OdGiMaterialTextureDataPtr OdGiMaterialTextureManager::searchTexture ( OdGiMaterialTexturePtr  pTexture)
pure virtual

Search texture in cache.

Parameters
pTexture[in] Material texture pointer.

◆ setManageType()

virtual void OdGiMaterialTextureManager::setManageType ( ManageType  type)
pure virtual

Sets type of textures management.

Parameters
type[in] New management type.

◆ setMaterialLoaderExt()

virtual void OdGiMaterialTextureManager::setMaterialLoaderExt ( OdGiMaterialTextureLoaderExt pExt)
pure virtual

Sets texture loading extension.

Parameters
pExt[in] New extentsion pointer.

◆ textureEntryData()

virtual OdGiMaterialTextureDataPtr OdGiMaterialTextureManager::textureEntryData ( OdUInt32  nIndex) const
pure virtual

Returns texture linkage data by index.

Parameters
nIndex[in] Texture linkage index.

◆ textureEntryKey()

virtual OdGiMaterialTexturePtr OdGiMaterialTextureManager::textureEntryKey ( OdUInt32  nIndex) const
pure virtual

Returns texture linkage by index.

Parameters
nIndex[in] Texture linkage index.

◆ tryToLoad() [1/3]

virtual OdGiMaterialTextureDataPtr OdGiMaterialTextureManager::tryToLoad ( OdGiMaterialTextureData::DevDataVariant  pDeviceInfo,
OdRxClass pTexDataImpl,
const OdGiContext giCtx,
OdGiMaterialTextureEntry pEntry,
const OdGiMaterialMap matMap 
)
pure virtual

Try to load texture if it is isn't available in cache.

Parameters
pDeviceInfo[in] Optional external device information.
pTexDataImpl[in] Description of texture data class implementation.
giCtx[in] Gi context.
pEntry[in] Texture entry.
matMap[in] Material map.

◆ tryToLoad() [2/3]

virtual OdGiMaterialTextureDataPtr OdGiMaterialTextureManager::tryToLoad ( OdGiMaterialTextureData::DevDataVariant  pDeviceInfo,
OdRxClass pTexDataImpl,
const OdGiContext giCtx,
OdGiMaterialTextureEntry pEntry,
const OdString fileName 
)
pure virtual

Try to load texture if it is isn't available in cache.

Parameters
pDeviceInfo[in] Optional external device information.
pTexDataImpl[in] Description of texture data class implementation.
giCtx[in] Gi context.
pEntry[in] Texture entry.
fileName[in] Texture file name.

◆ tryToLoad() [3/3]

virtual OdGiMaterialTextureDataPtr OdGiMaterialTextureManager::tryToLoad ( OdGiMaterialTextureData::DevDataVariant  pDeviceInfo,
OdRxClass pTexDataImpl,
const OdGiContext giCtx,
OdGiMaterialTextureEntry pEntry,
OdGiMaterialTexturePtr  pTexture 
)
pure virtual

Try to load texture if it is isn't available in cache.

Parameters
pDeviceInfo[in] Optional external device information.
pTexDataImpl[in] Description of texture data class implementation.
giCtx[in] Gi context.
pEntry[in] Texture entry.
pTexture[in] Material texture pointer.

◆ unlinkTexture()

virtual void OdGiMaterialTextureManager::unlinkTexture ( OdGiMaterialTextureData pData)
pure virtual

Removes specified texture data from cache.

Parameters
pData[in] Texture data pointer

The documentation for this class was generated from the following file: