OGRE-Next 4.0.0unstable
Object-Oriented Graphics Rendering Engine
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Ogre::TextureBox Struct Reference

For cubemaps, the face is in sliceStart, (see CubemapSide::CubemapSide) For cubemap arrays, the cubemaps are addressed as sliceStart * 6. More...

#include <OgreTextureBox.h>

Public Member Functions

 TextureBox ()
 
 TextureBox (uint32 _width, uint32 _height, uint32 _depth, uint32 _numSlices, uint32 _bytesPerPixel, uint32 _bytesPerRow, size_t _bytesPerImage)
 
void * at (size_t xPos, size_t yPos, size_t zPos) const
 x, y & z are in pixels.
 
void * atFromOffsettedOrigin (size_t xPos, size_t yPos, size_t zPos) const
 
void copyFrom (const TextureBox &src)
 
void copyFrom (const void *srcData, uint32 _width, uint32 _height, uint32 _bytesPerRow)
 
bool equalSize (const TextureBox &other) const
 Returns true if 'other' & 'this' have the same dimensions.
 
bool fullyContains (const TextureBox &other) const
 Returns true if 'other' fits inside 'this' (fully, not partially)
 
ColourValue getColourAt (size_t _x, size_t _y, size_t _z, PixelFormatGpu pixelFormat) const
 Get colour value from a certain location in the image.
 
PixelFormatGpu getCompressedPixelFormat () const
 
uint32 getDepthOrSlices () const
 
uint32 getMaxSlice () const
 
uint32 getMaxX () const
 
uint32 getMaxY () const
 
uint32 getMaxZ () const
 
size_t getSizeBytes () const
 
uint32 getZOrSlice () const
 
bool isCompressed () const
 
bool isSubtextureRegion () const
 Returns true if this TextureBox does not represent a contiguous region of a single slice of full texture, and is instead a 2D subregion of a larger texture.
 
bool overlaps (const TextureBox &other) const
 Returns true if 'this' and 'other' are in partial or full collision.
 
void setColourAt (const ColourValue &cv, size_t _x, size_t _y, size_t _z, PixelFormatGpu pixelFormat)
 Set colour value at a certain location in the image.
 
void setCompressedPixelFormat (PixelFormatGpu pixelFormat)
 

Public Attributes

size_t bytesPerImage
 
uint32 bytesPerPixel
 When TextureBox contains a compressed format, bytesPerPixel contains the pixel format instead.
 
uint32 bytesPerRow
 
void * data
 Pointer is never owned by us.
 
uint32 depth
 
uint32 height
 
uint32 numSlices
 
uint32 sliceStart
 
uint32 width
 
uint32 x
 
uint32 y
 
uint32 z
 

Detailed Description

For cubemaps, the face is in sliceStart, (see CubemapSide::CubemapSide) For cubemap arrays, the cubemaps are addressed as sliceStart * 6.

Constructor & Destructor Documentation

◆ TextureBox() [1/2]

Ogre::TextureBox::TextureBox ( )
inline

◆ TextureBox() [2/2]

Ogre::TextureBox::TextureBox ( uint32  _width,
uint32  _height,
uint32  _depth,
uint32  _numSlices,
uint32  _bytesPerPixel,
uint32  _bytesPerRow,
size_t  _bytesPerImage 
)
inline

Member Function Documentation

◆ at()

void * Ogre::TextureBox::at ( size_t  xPos,
size_t  yPos,
size_t  zPos 
) const
inline

x, y & z are in pixels.

Only works for non-compressed formats. It can work for compressed formats if xPos & yPos are 0.

Referenced by copyFrom().

◆ atFromOffsettedOrigin()

void * Ogre::TextureBox::atFromOffsettedOrigin ( size_t  xPos,
size_t  yPos,
size_t  zPos 
) const
inline

◆ copyFrom() [1/2]

void Ogre::TextureBox::copyFrom ( const TextureBox src)
inline

◆ copyFrom() [2/2]

void Ogre::TextureBox::copyFrom ( const void *  srcData,
uint32  _width,
uint32  _height,
uint32  _bytesPerRow 
)
inline

References data.

◆ equalSize()

bool Ogre::TextureBox::equalSize ( const TextureBox other) const
inline

Returns true if 'other' & 'this' have the same dimensions.

References depth, height, numSlices, and width.

◆ fullyContains()

bool Ogre::TextureBox::fullyContains ( const TextureBox other) const
inline

Returns true if 'other' fits inside 'this' (fully, not partially)

References getMaxSlice(), getMaxX(), getMaxY(), getMaxZ(), sliceStart, x, y, and z.

◆ getColourAt()

ColourValue Ogre::TextureBox::getColourAt ( size_t  _x,
size_t  _y,
size_t  _z,
PixelFormatGpu  pixelFormat 
) const

Get colour value from a certain location in the image.

◆ getCompressedPixelFormat()

PixelFormatGpu Ogre::TextureBox::getCompressedPixelFormat ( ) const
inline

References Ogre::PFG_UNKNOWN.

◆ getDepthOrSlices()

uint32 Ogre::TextureBox::getDepthOrSlices ( ) const
inline

Referenced by copyFrom().

◆ getMaxSlice()

uint32 Ogre::TextureBox::getMaxSlice ( ) const
inline

Referenced by fullyContains(), and overlaps().

◆ getMaxX()

uint32 Ogre::TextureBox::getMaxX ( ) const
inline

Referenced by fullyContains(), and overlaps().

◆ getMaxY()

uint32 Ogre::TextureBox::getMaxY ( ) const
inline

Referenced by fullyContains(), and overlaps().

◆ getMaxZ()

uint32 Ogre::TextureBox::getMaxZ ( ) const
inline

Referenced by fullyContains(), and overlaps().

◆ getSizeBytes()

size_t Ogre::TextureBox::getSizeBytes ( ) const
inline

◆ getZOrSlice()

uint32 Ogre::TextureBox::getZOrSlice ( ) const
inline

Referenced by copyFrom().

◆ isCompressed()

bool Ogre::TextureBox::isCompressed ( ) const
inline

◆ isSubtextureRegion()

bool Ogre::TextureBox::isSubtextureRegion ( ) const
inline

Returns true if this TextureBox does not represent a contiguous region of a single slice of full texture, and is instead a 2D subregion of a larger texture.

Referenced by copyFrom().

◆ overlaps()

bool Ogre::TextureBox::overlaps ( const TextureBox other) const
inline

Returns true if 'this' and 'other' are in partial or full collision.

References getMaxSlice(), getMaxX(), getMaxY(), getMaxZ(), sliceStart, x, y, and z.

◆ setColourAt()

void Ogre::TextureBox::setColourAt ( const ColourValue cv,
size_t  _x,
size_t  _y,
size_t  _z,
PixelFormatGpu  pixelFormat 
)

Set colour value at a certain location in the image.

◆ setCompressedPixelFormat()

void Ogre::TextureBox::setCompressedPixelFormat ( PixelFormatGpu  pixelFormat)
inline

Member Data Documentation

◆ bytesPerImage

size_t Ogre::TextureBox::bytesPerImage

Referenced by copyFrom().

◆ bytesPerPixel

uint32 Ogre::TextureBox::bytesPerPixel

When TextureBox contains a compressed format, bytesPerPixel contains the pixel format instead.

See getCompressedPixelFormat.

◆ bytesPerRow

uint32 Ogre::TextureBox::bytesPerRow

Referenced by copyFrom().

◆ data

void* Ogre::TextureBox::data

Pointer is never owned by us.

Do not alter where data points to (e.g. do not increment it)

Referenced by copyFrom().

◆ depth

uint32 Ogre::TextureBox::depth

Referenced by equalSize().

◆ height

uint32 Ogre::TextureBox::height

Referenced by copyFrom(), and equalSize().

◆ numSlices

uint32 Ogre::TextureBox::numSlices

Referenced by equalSize().

◆ sliceStart

uint32 Ogre::TextureBox::sliceStart

Referenced by fullyContains(), and overlaps().

◆ width

uint32 Ogre::TextureBox::width

Referenced by copyFrom(), and equalSize().

◆ x

uint32 Ogre::TextureBox::x

Referenced by copyFrom(), fullyContains(), and overlaps().

◆ y

uint32 Ogre::TextureBox::y

Referenced by copyFrom(), fullyContains(), and overlaps().

◆ z

uint32 Ogre::TextureBox::z

Referenced by fullyContains(), and overlaps().


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