OGRE  1.8
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Ogre::PixelBox Class Reference

A primitive describing a volume (3D), image (2D) or line (1D) of pixels in memory. More...

#include <OgrePixelFormat.h>

+ Inheritance diagram for Ogre::PixelBox:
+ Collaboration diagram for Ogre::PixelBox:

Public Member Functions

 PixelBox ()
 Parameter constructor for setting the members manually. More...
 
 PixelBox (const Box &extents, PixelFormat pixelFormat, void *pixelData=0)
 Constructor providing extents in the form of a Box object. More...
 
 PixelBox (size_t width, size_t height, size_t depth, PixelFormat pixelFormat, void *pixelData=0)
 Constructor providing width, height and depth. More...
 
 ~PixelBox ()
 
bool contains (const Box &def) const
 Return true if the other box is a part of this one. More...
 
ColourValue getColourAt (size_t x, size_t y, size_t z)
 Get colour value from a certain location in the PixelBox. More...
 
size_t getConsecutiveSize () const
 Return the size (in bytes) this image would take if it was laid out consecutive in memory. More...
 
size_t getDepth () const
 Get the depth of this box. More...
 
size_t getHeight () const
 Get the height of this box. More...
 
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. More...
 
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. More...
 
PixelBox getSubVolume (const Box &def) const
 Return a subvolume of this PixelBox. More...
 
size_t getWidth () const
 Get the width of this box. More...
 
bool isConsecutive () const
 Return whether this buffer is laid out consecutive in memory (ie the pitches are equal to the dimensions) More...
 
void operator delete (void *ptr)
 
void operator delete (void *ptr, void *)
 
void operator delete (void *ptr, const char *, int, const char *)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr, const char *, int, const char *)
 
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info More...
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *ptr)
 placement operator new More...
 
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info More...
 
void * operator new[] (size_t sz)
 
void setColourAt (ColourValue const &cv, size_t x, size_t y, size_t z)
 Set colour value at a certain location in the PixelBox. More...
 
void setConsecutive ()
 Set the rowPitch and slicePitch so that the buffer is laid out consecutive in memory. More...
 

Public Attributes

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

Detailed Description

A primitive describing a volume (3D), image (2D) or line (1D) of pixels in memory.

In case of a rectangle, depth must be 1. Pixels are stored as a succession of "depth" slices, each containing "height" rows of "width" pixels.

Definition at line 198 of file OgrePixelFormat.h.

Constructor & Destructor Documentation

Ogre::PixelBox::PixelBox ( )
inline

Parameter constructor for setting the members manually.

Definition at line 201 of file OgrePixelFormat.h.

Ogre::PixelBox::~PixelBox ( )
inline

Definition at line 202 of file OgrePixelFormat.h.

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

Definition at line 210 of file OgrePixelFormat.h.

Ogre::PixelBox::PixelBox ( size_t  width,
size_t  height,
size_t  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

Definition at line 224 of file OgrePixelFormat.h.

Member Function Documentation

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

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

Definition at line 712 of file OgreCommon.h.

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

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.

size_t Ogre::PixelBox::getConsecutiveSize ( ) const

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

size_t Ogre::Box::getDepth ( ) const
inlineinherited
size_t Ogre::Box::getHeight ( ) const
inlineinherited
size_t Ogre::PixelBox::getRowSkip ( ) const
inline

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

Definition at line 259 of file OgrePixelFormat.h.

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

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

Definition at line 264 of file OgrePixelFormat.h.

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

PixelBox Ogre::PixelBox::getSubVolume ( const Box def) const

Return a subvolume of this PixelBox.

Parameters
defDefines the bounds of the subregion to return
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
size_t Ogre::Box::getWidth ( ) const
inlineinherited
bool Ogre::PixelBox::isConsecutive ( ) const
inline

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

Definition at line 269 of file OgrePixelFormat.h.

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

Definition at line 95 of file OgreMemoryAllocatedObject.h.

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

Definition at line 101 of file OgreMemoryAllocatedObject.h.

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

Definition at line 107 of file OgreMemoryAllocatedObject.h.

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

Definition at line 112 of file OgreMemoryAllocatedObject.h.

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

Definition at line 118 of file OgreMemoryAllocatedObject.h.

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

Definition at line 67 of file OgreMemoryAllocatedObject.h.

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

Definition at line 72 of file OgreMemoryAllocatedObject.h.

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

placement operator new

Definition at line 78 of file OgreMemoryAllocatedObject.h.

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

Definition at line 85 of file OgreMemoryAllocatedObject.h.

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

Definition at line 90 of file OgreMemoryAllocatedObject.h.

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.

void Ogre::PixelBox::setConsecutive ( )
inline

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

Definition at line 250 of file OgrePixelFormat.h.

Member Data Documentation

PixelFormat Ogre::PixelBox::format

The pixel format.

Definition at line 234 of file OgrePixelFormat.h.

Referenced by Ogre::LinearResampler::scale(), and Ogre::LinearResampler_Float32::scale().

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.

Definition at line 239 of file OgrePixelFormat.h.

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

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.

Definition at line 245 of file OgrePixelFormat.h.

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


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