Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions
Graphic3d_MarkerImage Class Reference

This class is used to store bitmaps and images for markers rendering. It can convert bitmap texture stored in NCollection_HArray1<uint8_t> to Image_PixMap and vice versa. More...

#include <Graphic3d_MarkerImage.hxx>

Inheritance diagram for Graphic3d_MarkerImage:
Inheritance graph
[legend]

Public Member Functions

 Graphic3d_MarkerImage (const occ::handle< Image_PixMap > &theImage, const occ::handle< Image_PixMap > &theImageAlpha=occ::handle< Image_PixMap >())
 Constructor from existing pixmap.
 
 Graphic3d_MarkerImage (const occ::handle< NCollection_HArray1< uint8_t > > &theBitMap, const int theWidth, const int theHeight)
 Creates marker image from array of bytes (method for compatibility with old markers definition).
 
const occ::handle< Image_PixMap > & GetImage ()
 Return marker image. If an instance of the class has been initialized with a bitmap, it will be converted to image.
 
const occ::handle< Image_PixMap > & GetImageAlpha ()
 Return image alpha as grayscale image. Note that if an instance of the class has been initialized with a bitmap or with grayscale image this method will return exactly the same image as GetImage()
 
const TCollection_AsciiStringGetImageId () const
 Return an unique ID. This ID will be used to manage resource in graphic driver.
 
const TCollection_AsciiStringGetImageAlphaId () const
 Return an unique ID. This ID will be used to manage resource in graphic driver.
 
void GetTextureSize (int &theWidth, int &theHeight) const
 Return texture size.
 
bool IsColoredImage () const
 Return TRUE if marker image has colors (e.g. RGBA and not grayscale).
 
occ::handle< NCollection_HArray1< uint8_t > > GetBitMapArray (const double theAlphaValue=0.5, const bool theIsTopDown=false) const
 Return marker image as array of bytes. If an instance of the class has been initialized with image, it will be converted to bitmap based on the parameter theAlphaValue.
 
- 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.
 

Static Public Member Functions

static occ::handle< Graphic3d_MarkerImageStandardMarker (const Aspect_TypeOfMarker theMarkerType, const float theScale, const NCollection_Vec4< float > &theColor)
 Returns a marker image for the marker of the specified type, scale and color.
 
- 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

 Graphic3d_MarkerImage (const TCollection_AsciiString &theId, const TCollection_AsciiString &theAlphaId, const occ::handle< Image_PixMap > &theImage, const occ::handle< Image_PixMap > &theImageAlpha=occ::handle< Image_PixMap >())
 Constructor from existing pixmap with predefined ids.
 

Additional Inherited Members

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 

Detailed Description

This class is used to store bitmaps and images for markers rendering. It can convert bitmap texture stored in NCollection_HArray1<uint8_t> to Image_PixMap and vice versa.

Constructor & Destructor Documentation

◆ Graphic3d_MarkerImage() [1/3]

Graphic3d_MarkerImage::Graphic3d_MarkerImage ( const occ::handle< Image_PixMap > & theImage,
const occ::handle< Image_PixMap > & theImageAlpha = occ::handleImage_PixMap >() )

Constructor from existing pixmap.

Parameters
[in]theImagesource image
[in]theImageAlphacolorless image

◆ Graphic3d_MarkerImage() [2/3]

Graphic3d_MarkerImage::Graphic3d_MarkerImage ( const occ::handle< NCollection_HArray1< uint8_t > > & theBitMap,
const int theWidth,
const int theHeight )

Creates marker image from array of bytes (method for compatibility with old markers definition).

Parameters
[in]theBitMapsource bitmap stored as array of bytes
[in]theWidthnumber of bits in a row
[in]theHeightnumber of bits in a column

◆ Graphic3d_MarkerImage() [3/3]

Graphic3d_MarkerImage::Graphic3d_MarkerImage ( const TCollection_AsciiString & theId,
const TCollection_AsciiString & theAlphaId,
const occ::handle< Image_PixMap > & theImage,
const occ::handle< Image_PixMap > & theImageAlpha = occ::handleImage_PixMap >() )
protected

Constructor from existing pixmap with predefined ids.

Member Function Documentation

◆ GetBitMapArray()

occ::handle< NCollection_HArray1< uint8_t > > Graphic3d_MarkerImage::GetBitMapArray ( const double theAlphaValue = 0.5,
const bool theIsTopDown = false ) const

Return marker image as array of bytes. If an instance of the class has been initialized with image, it will be converted to bitmap based on the parameter theAlphaValue.

Parameters
theAlphaValuepixels in the image that have alpha value greater than or equal to this parameter will be stored in bitmap as "1", others will be stored as "0"
[in]theIsTopDownflag indicating expected rows order in returned bitmap, which is bottom-up by default

◆ GetImage()

const occ::handle< Image_PixMap > & Graphic3d_MarkerImage::GetImage ( )

Return marker image. If an instance of the class has been initialized with a bitmap, it will be converted to image.

◆ GetImageAlpha()

const occ::handle< Image_PixMap > & Graphic3d_MarkerImage::GetImageAlpha ( )

Return image alpha as grayscale image. Note that if an instance of the class has been initialized with a bitmap or with grayscale image this method will return exactly the same image as GetImage()

◆ GetImageAlphaId()

const TCollection_AsciiString & Graphic3d_MarkerImage::GetImageAlphaId ( ) const

Return an unique ID. This ID will be used to manage resource in graphic driver.

◆ GetImageId()

const TCollection_AsciiString & Graphic3d_MarkerImage::GetImageId ( ) const

Return an unique ID. This ID will be used to manage resource in graphic driver.

◆ GetTextureSize()

void Graphic3d_MarkerImage::GetTextureSize ( int & theWidth,
int & theHeight ) const

Return texture size.

◆ IsColoredImage()

bool Graphic3d_MarkerImage::IsColoredImage ( ) const

Return TRUE if marker image has colors (e.g. RGBA and not grayscale).

◆ StandardMarker()

static occ::handle< Graphic3d_MarkerImage > Graphic3d_MarkerImage::StandardMarker ( const Aspect_TypeOfMarker theMarkerType,
const float theScale,
const NCollection_Vec4< float > & theColor )
static

Returns a marker image for the marker of the specified type, scale and color.


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