Open CASCADE Technology 7.8.0
Public Member Functions | Data Fields | Protected Attributes
Image_PixMapData Class Reference

Structure to manage image buffer. More...

#include <Image_PixMapData.hxx>

Inheritance diagram for Image_PixMapData:
Inheritance graph
[legend]

Public Member Functions

 Image_PixMapData ()
 Empty constructor.
 
bool Init (const Handle< NCollection_BaseAllocator > &theAlloc, const Standard_Size theSizeBPP, const Standard_Size theSizeX, const Standard_Size theSizeY, const Standard_Size theSizeRowBytes, Standard_Byte *theDataPtr)
 Initializer.
 
bool Init (const Handle< NCollection_BaseAllocator > &theAlloc, const Standard_Size theSizeBPP, const NCollection_Vec3< Standard_Size > &theSizeXYZ, const Standard_Size theSizeRowBytes, Standard_Byte *theDataPtr)
 Initializer.
 
void ZeroData ()
 Reset all values to zeros.
 
const Standard_ByteRow (const Standard_Size theRow) const
 Return data pointer to requested row (first column).
 
Standard_ByteChangeRow (const Standard_Size theRow)
 Return data pointer to requested row (first column).
 
const Standard_ByteValue (const Standard_Size theRow, const Standard_Size theCol) const
 Return data pointer to requested position.
 
Standard_ByteChangeValue (Standard_Size theRow, Standard_Size theCol)
 Return data pointer to requested position.
 
const Standard_ByteValueXY (Standard_Size theX, Standard_Size theY) const
 Return data pointer to requested position.
 
Standard_ByteChangeValueXY (Standard_Size theX, Standard_Size theY)
 Return data pointer to requested position.
 
const Standard_ByteSlice (Standard_Size theSlice) const
 Return data pointer to requested 2D slice.
 
Standard_ByteChangeSlice (Standard_Size theSlice)
 Return data pointer to requested 2D slice.
 
const Standard_ByteSliceRow (Standard_Size theSlice, Standard_Size theRow) const
 Return data pointer to requested row (first column).
 
Standard_ByteChangeSliceRow (Standard_Size theSlice, Standard_Size theRow)
 Return data pointer to requested row (first column).
 
const Standard_ByteValueXYZ (Standard_Size theX, Standard_Size theY, Standard_Size theZ) const
 Return data pointer to requested position.
 
Standard_ByteChangeValueXYZ (Standard_Size theX, Standard_Size theY, Standard_Size theZ)
 Return data pointer to requested position.
 
Standard_Size MaxRowAligmentBytes () const
 Compute the maximal row alignment for current row size.
 
void SetTopDown (const bool theIsTopDown)
 Setup scanlines order in memory - top-down or bottom-up. Drawers should explicitly specify this value if current state IsTopDown() was ignored!
 
- Public Member Functions inherited from NCollection_Buffer
 NCollection_Buffer (const Handle< NCollection_BaseAllocator > &theAlloc, const Standard_Size theSize=0, Standard_Byte *theData=NULL)
 Default constructor. When theData is NULL but theSize is not 0 than buffer of specified size will be allocated.
 
 ~NCollection_Buffer ()
 Destructor.
 
const Standard_ByteData () const
 
Standard_ByteChangeData ()
 
bool IsEmpty () const
 
Standard_Size Size () const
 Return buffer length in bytes.
 
const Handle< NCollection_BaseAllocator > & Allocator () const
 
void SetAllocator (const Handle< NCollection_BaseAllocator > &theAlloc)
 Assign new buffer allocator with de-allocation of buffer.
 
bool Allocate (const Standard_Size theSize)
 Allocate the buffer.
 
void Free ()
 De-allocate buffer.
 
virtual void DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const
 Dumps the content of me into the stream.
 
- 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 ()
 Destructor must be virtual.
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object.
 
Standard_Boolean IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type.
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName.
 
Standard_Boolean 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.
 
Standard_Boolean IsKind (const Standard_CString 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.
 
Standard_Integer GetRefCount () const noexcept
 Get the reference counter of this object.
 
void IncrementRefCounter () noexcept
 Increments the reference counter of this object.
 
Standard_Integer DecrementRefCounter () noexcept
 Decrements the reference counter of this object; returns the decremented value.
 
virtual void Delete () const
 Memory deallocator for transient classes.
 

Data Fields

Standard_Size SizeBPP
 bytes per pixel
 
Standard_Size SizeX
 width in pixels
 
Standard_Size SizeY
 height in pixels
 
Standard_Size SizeZ
 depth in pixels
 
Standard_Size SizeRowBytes
 number of bytes per line (in most cases equal to 3 * sizeX)
 
Standard_Size SizeSliceBytes
 number of bytes per 2D slice
 
Standard_Size TopToDown
 image scanlines direction in memory from Top to the Down
 

Protected Attributes

Standard_BytemyTopRowPtr
 pointer to the topmost row (depending on scanlines order in memory)
 
- Protected Attributes inherited from NCollection_Buffer
Standard_BytemyData
 data pointer
 
Standard_Size mySize
 buffer length in bytes
 
Handle< NCollection_BaseAllocatormyAllocator
 buffer allocator
 

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 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.
 

Detailed Description

Structure to manage image buffer.

Constructor & Destructor Documentation

◆ Image_PixMapData()

Image_PixMapData::Image_PixMapData ( )
inline

Empty constructor.

Member Function Documentation

◆ ChangeRow()

Standard_Byte * Image_PixMapData::ChangeRow ( const Standard_Size  theRow)
inline

Return data pointer to requested row (first column).

◆ ChangeSlice()

Standard_Byte * Image_PixMapData::ChangeSlice ( Standard_Size  theSlice)
inline

Return data pointer to requested 2D slice.

◆ ChangeSliceRow()

Standard_Byte * Image_PixMapData::ChangeSliceRow ( Standard_Size  theSlice,
Standard_Size  theRow 
)
inline

Return data pointer to requested row (first column).

◆ ChangeValue()

Standard_Byte * Image_PixMapData::ChangeValue ( Standard_Size  theRow,
Standard_Size  theCol 
)
inline

Return data pointer to requested position.

◆ ChangeValueXY()

Standard_Byte * Image_PixMapData::ChangeValueXY ( Standard_Size  theX,
Standard_Size  theY 
)
inline

Return data pointer to requested position.

◆ ChangeValueXYZ()

Standard_Byte * Image_PixMapData::ChangeValueXYZ ( Standard_Size  theX,
Standard_Size  theY,
Standard_Size  theZ 
)
inline

Return data pointer to requested position.

◆ Init() [1/2]

bool Image_PixMapData::Init ( const Handle< NCollection_BaseAllocator > &  theAlloc,
const Standard_Size  theSizeBPP,
const NCollection_Vec3< Standard_Size > &  theSizeXYZ,
const Standard_Size  theSizeRowBytes,
Standard_Byte theDataPtr 
)
inline

Initializer.

◆ Init() [2/2]

bool Image_PixMapData::Init ( const Handle< NCollection_BaseAllocator > &  theAlloc,
const Standard_Size  theSizeBPP,
const Standard_Size  theSizeX,
const Standard_Size  theSizeY,
const Standard_Size  theSizeRowBytes,
Standard_Byte theDataPtr 
)
inline

Initializer.

◆ MaxRowAligmentBytes()

Standard_Size Image_PixMapData::MaxRowAligmentBytes ( ) const
inline

Compute the maximal row alignment for current row size.

Returns
maximal row alignment in bytes (up to 16 bytes).

◆ Row()

const Standard_Byte * Image_PixMapData::Row ( const Standard_Size  theRow) const
inline

Return data pointer to requested row (first column).

◆ SetTopDown()

void Image_PixMapData::SetTopDown ( const bool  theIsTopDown)
inline

Setup scanlines order in memory - top-down or bottom-up. Drawers should explicitly specify this value if current state IsTopDown() was ignored!

Parameters
theIsTopDowntop-down flag

◆ Slice()

const Standard_Byte * Image_PixMapData::Slice ( Standard_Size  theSlice) const
inline

Return data pointer to requested 2D slice.

◆ SliceRow()

const Standard_Byte * Image_PixMapData::SliceRow ( Standard_Size  theSlice,
Standard_Size  theRow 
) const
inline

Return data pointer to requested row (first column).

◆ Value()

const Standard_Byte * Image_PixMapData::Value ( const Standard_Size  theRow,
const Standard_Size  theCol 
) const
inline

Return data pointer to requested position.

◆ ValueXY()

const Standard_Byte * Image_PixMapData::ValueXY ( Standard_Size  theX,
Standard_Size  theY 
) const
inline

Return data pointer to requested position.

◆ ValueXYZ()

const Standard_Byte * Image_PixMapData::ValueXYZ ( Standard_Size  theX,
Standard_Size  theY,
Standard_Size  theZ 
) const
inline

Return data pointer to requested position.

◆ ZeroData()

void Image_PixMapData::ZeroData ( )
inline

Reset all values to zeros.

Field Documentation

◆ myTopRowPtr

Standard_Byte* Image_PixMapData::myTopRowPtr
protected

pointer to the topmost row (depending on scanlines order in memory)

◆ SizeBPP

Standard_Size Image_PixMapData::SizeBPP

bytes per pixel

◆ SizeRowBytes

Standard_Size Image_PixMapData::SizeRowBytes

number of bytes per line (in most cases equal to 3 * sizeX)

◆ SizeSliceBytes

Standard_Size Image_PixMapData::SizeSliceBytes

number of bytes per 2D slice

◆ SizeX

Standard_Size Image_PixMapData::SizeX

width in pixels

◆ SizeY

Standard_Size Image_PixMapData::SizeY

height in pixels

◆ SizeZ

Standard_Size Image_PixMapData::SizeZ

depth in pixels

◆ TopToDown

Standard_Size Image_PixMapData::TopToDown

image scanlines direction in memory from Top to the Down


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