Ogre::PixelBox Class Reference
Core » Image

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

`#include <OgrePixelFormat.h>`

Inheritance diagram for Ogre::PixelBox:
[legend]

## 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 (uint32 width, uint32 height, uint32 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...
uint32 | getDepth () const
| Get the depth of this box. More...
uint32 | 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...
void * | getTopLeftFrontPixelPtr () const
| Return a data pointer pointing to top left front pixel of the pixel box. More...
uint32 | 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

uint32 | back
uint32 | bottom
void * | data
| The data pointer. More...
PixelFormat | format
| The pixel format. More...
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. 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...
uint32 | 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 304 of file OgrePixelFormat.h.

## Constructor & Destructor Documentation

## PixelBox() [1/3]

Ogre::PixelBox::PixelBox | ( |  | ) |

Parameter constructor for setting the members manually.

Definition at line 307 of file OgrePixelFormat.h.

## ~PixelBox()

Ogre::PixelBox::~PixelBox | ( |  | ) |

Definition at line 308 of file OgrePixelFormat.h.

## PixelBox() [2/3]

Ogre::PixelBox::PixelBox | ( | const Box & | extents,
|  | PixelFormat | pixelFormat,
|  | void * | pixelData = `0`
| ) |  |

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

  extents | Extents of the region defined by data
  pixelFormat | Format of this buffer
  pixelData | Pointer to the actual data

Definition at line 316 of file OgrePixelFormat.h.

## PixelBox() [3/3]

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

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

  width | Width of the region
  height | Height of the region
  depth | Depth of the region
  pixelFormat | Format of this buffer
  pixelData | Pointer to the actual data

Definition at line 330 of file OgrePixelFormat.h.

## Member Function Documentation

## contains()

bool Ogre::Box::contains | ( | const Box & | def | ) | const

inherited

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

Definition at line 709 of file OgreCommon.h.

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

uint32 Ogre::Box::getDepth | ( |  | ) | const

inherited

Get the depth of this box.

Definition at line 720 of file OgreCommon.h.

References _OgreExport, Ogre::findCommandLineOpts(), and Ogre::HashedVector< T >::front().

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

## getHeight()

uint32 Ogre::Box::getHeight | ( |  | ) | const

inherited

Get the height of this box.

Definition at line 718 of file OgreCommon.h.

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

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

Definition at line 365 of file OgrePixelFormat.h.

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

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 370 of file OgrePixelFormat.h.

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

## getSubVolume()

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

Return a subvolume of this PixelBox.

Parameters

  def | Defines 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

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

## getWidth()

uint32 Ogre::Box::getWidth | ( |  | ) | const

inherited

Get the width of this box.

Definition at line 716 of file OgreCommon.h.

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

## isConsecutive()

bool Ogre::PixelBox::isConsecutive | ( |  | ) | const

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

Definition at line 375 of file OgrePixelFormat.h.

## operator delete() [1/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) |

inherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

## operator delete() [2/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |
| ) |  |

inherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

## operator delete() [3/3]

template<class Alloc >

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

inherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

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

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) |

inherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

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

template<class Alloc >

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

inherited

Definition at line 119 of file OgreMemoryAllocatedObject.h.

## operator new() [1/3]

template<class Alloc >

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

inherited

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

## operator new() [2/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) |

inherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

## operator new() [3/3]

template<class Alloc >

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

inherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

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

template<class Alloc >

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

inherited

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

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

template<class Alloc >

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

inherited

Definition at line 91 of file OgreMemoryAllocatedObject.h.

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

Definition at line 356 of file OgrePixelFormat.h.

## Member Data Documentation

## back

uint32 Ogre::Box::back

inherited

Definition at line 661 of file OgreCommon.h.

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

## bottom

uint32 Ogre::Box::bottom

inherited

Definition at line 661 of file OgreCommon.h.

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

## data

void* Ogre::PixelBox::data

The data pointer.

Definition at line 338 of file OgrePixelFormat.h.

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

## format

PixelFormat Ogre::PixelBox::format

The pixel format.

Definition at line 340 of file OgrePixelFormat.h.

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

## front

uint32 Ogre::Box::front

inherited

Definition at line 661 of file OgreCommon.h.

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

## left

uint32 Ogre::Box::left

inherited

Definition at line 661 of file OgreCommon.h.

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

## right

uint32 Ogre::Box::right

inherited

Definition at line 661 of file OgreCommon.h.

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

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

Definition at line 345 of file OgrePixelFormat.h.

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.

Definition at line 351 of file OgrePixelFormat.h.

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

## top

uint32 Ogre::Box::top

inherited

Definition at line 661 of file OgreCommon.h.

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

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

- OgrePixelFormat.h

Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.