Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes
Graphic3d_CubeMap Class Referenceabstract

Base class for cubemaps. It is iterator over cubemap sides. More...

#include <Graphic3d_CubeMap.hxx>

Inheritance diagram for Graphic3d_CubeMap:
Inheritance graph
[legend]

Public Member Functions

 Graphic3d_CubeMap (const TCollection_AsciiString &theFileName, bool theToGenerateMipmaps=false)
 Constructor defining loading cubemap from file.
 
 Graphic3d_CubeMap (const occ::handle< Image_PixMap > &thePixmap=occ::handle< Image_PixMap >(), bool theToGenerateMipmaps=false)
 Constructor defining direct cubemap initialization from PixMap.
 
bool More () const
 Returns whether the iterator has reached the end (true if it hasn't).
 
Graphic3d_CubeMapSide CurrentSide () const
 Returns current cubemap side (iterator state).
 
void Next ()
 Moves iterator to the next cubemap side. Uses OpenGL cubemap sides order +X -> -X -> +Y -> -Y -> +Z -> -Z.
 
void SetZInversion (bool theZIsInverted)
 Sets Z axis inversion (vertical flipping).
 
bool ZIsInverted () const
 Returns whether Z axis is inverted.
 
bool HasMipmaps () const
 Returns whether mipmaps of cubemap will be generated or not.
 
void SetMipmapsGeneration (bool theToGenerateMipmaps)
 Sets whether to generate mipmaps of cubemap or not.
 
virtual occ::handle< Image_CompressedPixMapCompressedValue (const occ::handle< Image_SupportedFormats > &theSupported)=0
 Returns current cubemap side as compressed PixMap. Returns null handle if current side is invalid or if image is not in supported compressed format.
 
virtual occ::handle< Image_PixMapValue (const occ::handle< Image_SupportedFormats > &theSupported)=0
 Returns PixMap containing current side of cubemap. Returns null handle if current side is invalid.
 
Graphic3d_CubeMapReset ()
 Sets iterator state to +X cubemap side.
 
 ~Graphic3d_CubeMap () override
 Empty destructor.
 
- Public Member Functions inherited from Graphic3d_TextureMap
void EnableSmooth ()
 enable texture smoothing
 
bool IsSmoothed () const
 Returns TRUE if the texture is smoothed.
 
void DisableSmooth ()
 disable texture smoothing
 
void EnableModulate ()
 enable texture modulate mode. the image is modulate with the shading of the surface.
 
void DisableModulate ()
 disable texture modulate mode. the image is directly decal on the surface.
 
bool IsModulate () const
 Returns TRUE if the texture is modulate.
 
void EnableRepeat ()
 use this methods if you want to enable texture repetition on your objects.
 
void DisableRepeat ()
 use this methods if you want to disable texture repetition on your objects.
 
bool IsRepeat () const
 Returns TRUE if the texture repeat is enable.
 
Graphic3d_LevelOfTextureAnisotropy AnisoFilter () const
 
void SetAnisoFilter (const Graphic3d_LevelOfTextureAnisotropy theLevel)
 
- Public Member Functions inherited from Graphic3d_TextureRoot
 ~Graphic3d_TextureRoot () override
 Destructor.
 
virtual bool IsDone () const
 Checks if a texture class is valid or not.
 
const OSD_PathPath () const
 Returns the full path of the defined texture. It could be empty path if GetImage() is overridden to load image not from file.
 
Graphic3d_TypeOfTexture Type () const
 
const TCollection_AsciiStringGetId () const
 This ID will be used to manage resource in graphic driver.
 
size_t Revision () const
 Return image revision.
 
void UpdateRevision ()
 Update image revision. Can be used for signaling changes in the texture source (e.g. file update, pixmap update) without re-creating texture source itself (since unique id should be never modified).
 
virtual occ::handle< Image_CompressedPixMapGetCompressedImage (const occ::handle< Image_SupportedFormats > &theSupported)
 This method will be called by graphic driver each time when texture resource should be created. It is called in front of GetImage() for uploading compressed image formats natively supported by GPU.
 
virtual occ::handle< Image_PixMapGetImage (const occ::handle< Image_SupportedFormats > &theSupported)
 This method will be called by graphic driver each time when texture resource should be created. Default constructors allow defining the texture source as path to texture image or directly as pixmap. If the source is defined as path, then the image will be dynamically loaded when this method is called (and no copy will be preserved in this class instance). Inheritors may dynamically generate the image. Notice, image data should be in Bottom-Up order (see Image_PixMap::IsTopDown())!
 
const occ::handle< Graphic3d_TextureParams > & GetParams () const
 
bool IsColorMap () const
 Return flag indicating color nature of values within the texture; TRUE by default.
 
void SetColorMap (bool theIsColor)
 Set flag indicating color nature of values within the texture.
 
bool HasMipmaps () const
 Returns whether mipmaps should be generated or not.
 
void SetMipmapsGeneration (bool theToGenerateMipmaps)
 Sets whether to generate mipmaps or not.
 
bool IsTopDown () const
 Returns whether row's memory layout is top-down.
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor.
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing.
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter.
 
virtual ~Standard_Transient ()=default
 Destructor must be virtual.
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object.
 
bool IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type.
 
bool IsInstance (const char *const theTypeName) const
 Returns a true value if this is an instance of TypeName.
 
bool IsKind (const opencascade::handle< Standard_Type > &theType) const
 Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
bool IsKind (const char *const theTypeName) const
 Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
Standard_TransientThis () const
 Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero.
 
int GetRefCount () const noexcept
 Get the reference counter of this object.
 
void IncrementRefCounter () noexcept
 Increments the reference counter of this object. Uses relaxed memory ordering since incrementing only requires atomicity, not synchronization with other memory operations.
 
int DecrementRefCounter () noexcept
 Decrements the reference counter of this object; returns the decremented value. Uses release ordering for the decrement to ensure all writes to the object are visible before the count reaches zero. An acquire fence is added only when the count reaches zero, ensuring proper synchronization before deletion. This is more efficient than using acq_rel for every decrement.
 
virtual void Delete () const
 Memory deallocator for transient classes.
 

Protected Attributes

Graphic3d_CubeMapSide myCurrentSide
 Iterator state.
 
bool myEndIsReached
 Indicates whether end of iteration has been reached or hasn't.
 
bool myZIsInverted
 Indicates whether Z axis is inverted that allows to synchronize vertical flip of cubemap.
 
- Protected Attributes inherited from Graphic3d_TextureRoot
occ::handle< Graphic3d_TextureParamsmyParams
 associated texture parameters
 
TCollection_AsciiString myTexId
 unique identifier of this resource (for sharing graphic resource); should never be modified outside constructor
 
occ::handle< Image_PixMapmyPixMap
 image pixmap - as one of the ways for defining the texture source
 
OSD_Path myPath
 image file path - as one of the ways for defining the texture source
 
size_t myRevision
 image revision - for signaling changes in the texture source (e.g. file update, pixmap update)
 
Graphic3d_TypeOfTexture myType
 texture type
 
bool myIsColorMap
 flag indicating color nature of values within the texture
 
bool myIsTopDown
 Stores rows's memory layout.
 
bool myHasMipmaps
 Indicates whether mipmaps should be generated or not.
 

Additional Inherited Members

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 
- Static Public Member Functions inherited from Graphic3d_TextureRoot
static TCollection_AsciiString TexturesFolder ()
 The path to textures determined from CSF_MDTVTexturesDirectory or CASROOT environment variables.
 
- Static Public Member Functions inherited from Standard_Transient
static constexpr const charget_type_name ()
 Returns a type descriptor about this object.
 
static const opencascade::handle< Standard_Type > & get_type_descriptor ()
 Returns type descriptor of Standard_Transient class.
 
- Protected Member Functions inherited from Graphic3d_TextureMap
 Graphic3d_TextureMap (const TCollection_AsciiString &theFileName, const Graphic3d_TypeOfTexture theType)
 
 Graphic3d_TextureMap (const occ::handle< Image_PixMap > &thePixMap, const Graphic3d_TypeOfTexture theType)
 
- Protected Member Functions inherited from Graphic3d_TextureRoot
 Graphic3d_TextureRoot (const TCollection_AsciiString &theFileName, const Graphic3d_TypeOfTexture theType)
 Creates a texture from a file Warning: Note that if <FileName> is NULL the texture must be realized using LoadTexture(image) method.
 
 Graphic3d_TextureRoot (const occ::handle< Image_PixMap > &thePixmap, const Graphic3d_TypeOfTexture theType)
 Creates a texture from pixmap. Please note that the implementation expects the image data to be in Bottom-Up order (see Image_PixMap::IsTopDown()).
 
void generateId ()
 Unconditionally generate new texture id. Should be called only within constructor.
 
virtual occ::handle< Image_PixMapGetImage () const
 Method for supporting old API; another GetImage() method should be implemented instead.
 
- Static Protected Member Functions inherited from Graphic3d_TextureRoot
static void convertToCompatible (const occ::handle< Image_SupportedFormats > &theSupported, const occ::handle< Image_PixMap > &theImage)
 Try converting image to compatible format.
 

Detailed Description

Base class for cubemaps. It is iterator over cubemap sides.

Constructor & Destructor Documentation

◆ Graphic3d_CubeMap() [1/2]

Graphic3d_CubeMap::Graphic3d_CubeMap ( const TCollection_AsciiString & theFileName,
bool theToGenerateMipmaps = false )

Constructor defining loading cubemap from file.

◆ Graphic3d_CubeMap() [2/2]

Graphic3d_CubeMap::Graphic3d_CubeMap ( const occ::handle< Image_PixMap > & thePixmap = occ::handleImage_PixMap >(),
bool theToGenerateMipmaps = false )

Constructor defining direct cubemap initialization from PixMap.

◆ ~Graphic3d_CubeMap()

Graphic3d_CubeMap::~Graphic3d_CubeMap ( )
override

Empty destructor.

Member Function Documentation

◆ CompressedValue()

virtual occ::handle< Image_CompressedPixMap > Graphic3d_CubeMap::CompressedValue ( const occ::handle< Image_SupportedFormats > & theSupported)
pure virtual

Returns current cubemap side as compressed PixMap. Returns null handle if current side is invalid or if image is not in supported compressed format.

Implemented in Graphic3d_CubeMapPacked, and Graphic3d_CubeMapSeparate.

◆ CurrentSide()

Graphic3d_CubeMapSide Graphic3d_CubeMap::CurrentSide ( ) const
inline

Returns current cubemap side (iterator state).

◆ HasMipmaps()

bool Graphic3d_CubeMap::HasMipmaps ( ) const
inline

Returns whether mipmaps of cubemap will be generated or not.

◆ More()

bool Graphic3d_CubeMap::More ( ) const
inline

Returns whether the iterator has reached the end (true if it hasn't).

◆ Next()

void Graphic3d_CubeMap::Next ( )
inline

Moves iterator to the next cubemap side. Uses OpenGL cubemap sides order +X -> -X -> +Y -> -Y -> +Z -> -Z.

◆ Reset()

Graphic3d_CubeMap & Graphic3d_CubeMap::Reset ( )
inline

Sets iterator state to +X cubemap side.

◆ SetMipmapsGeneration()

void Graphic3d_CubeMap::SetMipmapsGeneration ( bool theToGenerateMipmaps)
inline

Sets whether to generate mipmaps of cubemap or not.

◆ SetZInversion()

void Graphic3d_CubeMap::SetZInversion ( bool theZIsInverted)
inline

Sets Z axis inversion (vertical flipping).

◆ Value()

virtual occ::handle< Image_PixMap > Graphic3d_CubeMap::Value ( const occ::handle< Image_SupportedFormats > & theSupported)
pure virtual

Returns PixMap containing current side of cubemap. Returns null handle if current side is invalid.

Implemented in Graphic3d_CubeMapPacked, and Graphic3d_CubeMapSeparate.

◆ ZIsInverted()

bool Graphic3d_CubeMap::ZIsInverted ( ) const
inline

Returns whether Z axis is inverted.

Field Documentation

◆ myCurrentSide

Graphic3d_CubeMapSide Graphic3d_CubeMap::myCurrentSide
protected

Iterator state.

◆ myEndIsReached

bool Graphic3d_CubeMap::myEndIsReached
protected

Indicates whether end of iteration has been reached or hasn't.

◆ myZIsInverted

bool Graphic3d_CubeMap::myZIsInverted
protected

Indicates whether Z axis is inverted that allows to synchronize vertical flip of cubemap.


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