OGRE 2.1
Object-Oriented Graphics Rendering Engine
Loading...
Searching...
No Matches
Ogre::PixelBox Class Reference

#include <OgrePixelBox.h>

+ Inheritance diagram for Ogre::PixelBox:

Public Member Functions

 PixelBox ()
 Parameter constructor for setting the members manually.
 
 PixelBox (const Box &extents, PixelFormat pixelFormat, void *pixelData=0)
 Constructor providing extents in the form of a Box object.
 
 PixelBox (uint32 width, uint32 height, uint32 depth, PixelFormat pixelFormat, void *pixelData=0)
 Constructor providing width, height and depth.
 
 ~PixelBox ()
 
bool contains (const Box &def) const
 Return true if the other box is a part of this one.
 
ColourValue getColourAt (size_t x, size_t y, size_t z)
 Get colour value from a certain location in the PixelBox.
 
size_t getConsecutiveSize () const
 Return the size (in bytes) this image would take if it was laid out consecutive in memory.
 
uint32 getDepth () const
 Get the depth of this box.
 
uint32 getHeight () const
 Get the height of this box.
 
size_t getRowSkip () const
 Get the number of elements between one past the rightmost pixel of one row and the leftmost pixel of the next row.
 
size_t getSliceSkip () const
 Get the number of elements between one past the right bottom pixel of one slice and the left top pixel of the next slice.
 
size_t getSliceSkipAlwaysBytes () const
 
PixelBox getSubVolume (const Box &def, bool resetOrigin=true) const
 Return a subvolume of this PixelBox.
 
voidgetTopLeftFrontPixelPtr () const
 Return a data pointer pointing to top left front pixel of the pixel box.
 
uint32 getWidth () const
 Get the width of this box.
 
bool isConsecutive () const
 Return whether this buffer is laid out consecutive in memory (ie the pitches are equal to the dimensions)
 
void operator delete (void *ptr)
 
void operator delete (void *ptr, const char *, int, const char *)
 
void operator delete (void *ptr, void *)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr, const char *, int, const char *)
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info
 
voidoperator new (size_t sz, void *ptr)
 placement operator new
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info
 
size_t rowPitchAlwaysBytes (void) const
 Returns rowPitch, but always in bytes.
 
void setColourAt (ColourValue const &cv, size_t x, size_t y, size_t z)
 Set colour value at a certain location in the PixelBox.
 
void setConsecutive ()
 Set the rowPitch and slicePitch so that the buffer is laid out consecutive in memory.
 
size_t slicePitchAlwaysBytes (void) const
 Returns slicePitch, but always in bytes.
 

Public Attributes

uint32 back
 
uint32 bottom
 
voiddata
 The data pointer.
 
PixelFormat format
 The pixel format.
 
uint32 front
 
uint32 left
 
uint32 right
 
size_t rowPitch
 Number of elements between the leftmost pixel of one row and the left pixel of the next.
 
size_t slicePitch
 Number of elements between the top left pixel of one (depth) slice and the top left pixel of the next.
 
uint32 top
 

Constructor & Destructor Documentation

◆ PixelBox() [1/3]

Ogre::PixelBox::PixelBox ( )
inline

Parameter constructor for setting the members manually.

◆ ~PixelBox()

Ogre::PixelBox::~PixelBox ( )
inline

◆ PixelBox() [2/3]

Ogre::PixelBox::PixelBox ( const Box extents,
PixelFormat  pixelFormat,
void pixelData = 0 
)
inline

Constructor providing extents in the form of a Box object.

This constructor assumes the pixel data is laid out consecutively in memory. (this means row after row, slice after slice, with no space in between)

Parameters
extentsExtents of the region defined by data
pixelFormatFormat of this buffer
pixelDataPointer to the actual data

◆ PixelBox() [3/3]

Ogre::PixelBox::PixelBox ( uint32  width,
uint32  height,
uint32  depth,
PixelFormat  pixelFormat,
void pixelData = 0 
)
inline

Constructor providing width, height and depth.

This constructor assumes the pixel data is laid out consecutively in memory. (this means row after row, slice after slice, with no space in between)

Parameters
widthWidth of the region
heightHeight of the region
depthDepth of the region
pixelFormatFormat of this buffer
pixelDataPointer to the actual data

Member Function Documentation

◆ contains()

bool Ogre::Box::contains ( const Box def) const
inlineinherited

Return true if the other box is a part of this one.

References Ogre::Box::back, Ogre::Box::bottom, Ogre::Box::front, Ogre::Box::left, Ogre::Box::right, and Ogre::Box::top.

◆ getColourAt()

ColourValue Ogre::PixelBox::getColourAt ( size_t  x,
size_t  y,
size_t  z 
)

Get colour value from a certain location in the PixelBox.

The z coordinate is only valid for cubemaps and volume textures. This uses the first (largest) mipmap.

◆ getConsecutiveSize()

size_t Ogre::PixelBox::getConsecutiveSize ( ) const

Return the size (in bytes) this image would take if it was laid out consecutive in memory.

◆ getDepth()

◆ getHeight()

◆ getRowSkip()

size_t Ogre::PixelBox::getRowSkip ( ) const

Get the number of elements between one past the rightmost pixel of one row and the leftmost pixel of the next row.

(IE this is zero if rows are consecutive).

Remarks
For compressed formats, this value is in bytes; not in elements.

Referenced by Ogre::NearestResampler< elemsize >::scale(), Ogre::LinearResampler::scale(), Ogre::LinearResampler_Float32::scale(), and Ogre::LinearResampler_Byte< channels >::scale().

◆ getSliceSkip()

size_t Ogre::PixelBox::getSliceSkip ( ) const
inline

Get the number of elements between one past the right bottom pixel of one slice and the left top pixel of the next slice.

(IE this is zero if slices are consecutive).

Remarks
For compressed formats, this value is in bytes; not in elements.

Referenced by Ogre::NearestResampler< elemsize >::scale(), Ogre::LinearResampler::scale(), and Ogre::LinearResampler_Float32::scale().

◆ getSliceSkipAlwaysBytes()

size_t Ogre::PixelBox::getSliceSkipAlwaysBytes ( ) const
See also
getSliceSkip, but value is always in bytes.

◆ getSubVolume()

PixelBox Ogre::PixelBox::getSubVolume ( const Box def,
bool  resetOrigin = true 
) const

Return a subvolume of this PixelBox.

Parameters
defDefines the bounds of the subregion to return
resetOriginWhether to reset left/top/front of returned PixelBox to zero together with adjusting data pointer to compensate this, or do nothing so that returned PixelBox will have left/top/front of requested Box
Returns
A pixel box describing the region and the data in it
Remarks
This function does not copy any data, it just returns a PixelBox object with a data pointer pointing somewhere inside the data of object.
Exceptions
Exception(ERR_INVALIDPARAMS)if def is not fully contained

◆ getTopLeftFrontPixelPtr()

void * Ogre::PixelBox::getTopLeftFrontPixelPtr ( ) const

Return a data pointer pointing to top left front pixel of the pixel box.

Remarks
Non consecutive pixel boxes are supported.

Referenced by Ogre::NearestResampler< elemsize >::scale(), Ogre::LinearResampler::scale(), Ogre::LinearResampler_Float32::scale(), and Ogre::LinearResampler_Byte< channels >::scale().

◆ getWidth()

◆ isConsecutive()

bool Ogre::PixelBox::isConsecutive ( ) const

Return whether this buffer is laid out consecutive in memory (ie the pitches are equal to the dimensions)

◆ operator delete() [1/3]

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void ptr)
inlineinherited

◆ operator delete() [2/3]

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void ptr,
const char ,
int  ,
const char  
)
inlineinherited

◆ operator delete() [3/3]

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void ptr,
void  
)
inlineinherited

◆ operator delete[]() [1/2]

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void ptr)
inlineinherited

◆ operator delete[]() [2/2]

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void ptr,
const char ,
int  ,
const char  
)
inlineinherited

◆ operator new() [1/3]

template<class Alloc >
void * Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz)
inlineinherited

◆ operator new() [2/3]

template<class Alloc >
void * Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
const char file,
int  line,
const char func 
)
inlineinherited

operator new, with debug line info

◆ operator new() [3/3]

template<class Alloc >
void * Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
void ptr 
)
inlineinherited

placement operator new

◆ operator new[]() [1/2]

template<class Alloc >
void * Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz)
inlineinherited

◆ operator new[]() [2/2]

template<class Alloc >
void * Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz,
const char file,
int  line,
const char func 
)
inlineinherited

array operator new, with debug line info

◆ rowPitchAlwaysBytes()

size_t Ogre::PixelBox::rowPitchAlwaysBytes ( void  ) const

Returns rowPitch, but always in bytes.

◆ setColourAt()

void Ogre::PixelBox::setColourAt ( ColourValue const cv,
size_t  x,
size_t  y,
size_t  z 
)

Set colour value at a certain location in the PixelBox.

The z coordinate is only valid for cubemaps and volume textures. This uses the first (largest) mipmap.

◆ setConsecutive()

void Ogre::PixelBox::setConsecutive ( )

Set the rowPitch and slicePitch so that the buffer is laid out consecutive in memory.

◆ slicePitchAlwaysBytes()

size_t Ogre::PixelBox::slicePitchAlwaysBytes ( void  ) const

Returns slicePitch, but always in bytes.

Member Data Documentation

◆ back

◆ bottom

◆ data

void* Ogre::PixelBox::data

The data pointer.

◆ format

PixelFormat Ogre::PixelBox::format

◆ front

◆ left

◆ right

◆ rowPitch

size_t Ogre::PixelBox::rowPitch

Number of elements between the leftmost pixel of one row and the left pixel of the next.

This value must always be equal to getWidth() (consecutive) for compressed formats.

Remarks
For compressed formats, this value is in bytes; not in elements.

Referenced by Ogre::NearestResampler< elemsize >::scale(), and Ogre::LinearResampler_Byte< channels >::scale().

◆ slicePitch

size_t Ogre::PixelBox::slicePitch

Number of elements between the top left pixel of one (depth) slice and the top left pixel of the next.

This can be a negative value. Must be a multiple of rowPitch. This value must always be equal to getWidth()*getHeight() (consecutive) for compressed formats.

Remarks
For compressed formats, this value is in bytes; not in elements.

Referenced by Ogre::NearestResampler< elemsize >::scale().

◆ top


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