Plasma Engine  2.0
Loading...
Searching...
No Matches
plImageView Class Reference

A class referencing image data and holding metadata about the image. More...

#include <Image.h>

Inheritance diagram for plImageView:

Public Member Functions

 plImageView ()
 Constructs an empty image view.
 
 plImageView (const plImageHeader &header, plConstByteBlobPtr imageData)
 Constructs an image view with the given header and image data.
 
void Clear ()
 Constructs an empty image view.
 
bool IsValid () const
 Returns false if the image view does not reference any data yet.
 
void ResetAndViewExternalStorage (const plImageHeader &header, plConstByteBlobPtr imageData)
 Constructs an image view with the given header and image data.
 
plResult SaveTo (plStringView sFileName) const
 Convenience function to save the image to the given file.
 
const plImageHeaderGetHeader () const
 Returns the header this image was constructed from.
 
template<typename T >
plBlobPtr< const T > GetBlobPtr () const
 Returns a view to the entire data contained in this image.
 
plConstByteBlobPtr GetByteBlobPtr () const
 
plImageView GetSubImageView (plUInt32 uiMipLevel=0, plUInt32 uiFace=0, plUInt32 uiArrayIndex=0) const
 Returns a view to the given sub-image.
 
plImageView GetPlaneView (plUInt32 uiMipLevel=0, plUInt32 uiFace=0, plUInt32 uiArrayIndex=0, plUInt32 uiPlaneIndex=0) const
 Returns a view to a sub-plane.
 
plImageView GetSliceView (plUInt32 uiMipLevel=0, plUInt32 uiFace=0, plUInt32 uiArrayIndex=0, plUInt32 z=0, plUInt32 uiPlaneIndex=0) const
 Returns a view to z slice of the image.
 
plImageView GetRowView (plUInt32 uiMipLevel=0, plUInt32 uiFace=0, plUInt32 uiArrayIndex=0, plUInt32 y=0, plUInt32 z=0, plUInt32 uiPlaneIndex=0) const
 Returns a view to a row of pixels resp. blocks.
 
template<typename T >
const T * GetPixelPointer (plUInt32 uiMipLevel=0, plUInt32 uiFace=0, plUInt32 uiArrayIndex=0, plUInt32 x=0, plUInt32 y=0, plUInt32 z=0, plUInt32 uiPlaneIndex=0) const
 Returns a pointer to a given pixel or block contained in a sub-image.
 
void ReinterpretAs (plImageFormat::Enum format)
 Reinterprets the image with a given format; the format must have the same size in bits per pixel as the current one.
 
plUInt32 GetDepth (plUInt32 uiMipLevel=0) const
 Returns the image depth for a given mip level, clamped to 1.
 
plUInt32 GetHeight (plUInt32 uiMipLevel=0) const
 Returns the image height for a given mip level, clamped to 1.
 
plUInt32 GetWidth (plUInt32 uiMipLevel=0) const
 Returns the image width for a given mip level, clamped to 1.
 
plUInt32 GetNumArrayIndices () const
 Returns the number of array indices.
 
plUInt32 GetNumFaces () const
 Returns the number of cubemap faces, or 1 for a non-cubemap.
 
plUInt32 GetNumMipLevels () const
 Returns the number of mip levels, including the full-size image.
 
plUInt32 GetPlaneCount () const
 Returns the number of image planes.
 
plImageFormat::Enum GetImageFormat () const
 Returns the image format.
 
plUInt32 GetNumBlocksX (plUInt32 uiMipLevel=0, plUInt32 uiPlaneIndex=0) const
 Returns the number of blocks contained in a given mip level in the horizontal direction.
 
plUInt32 GetNumBlocksY (plUInt32 uiMipLevel=0, plUInt32 uiPlaneIndex=0) const
 Returns the number of blocks contained in a given mip level in the horizontal direction.
 
plUInt32 GetNumBlocksZ (plUInt32 uiMipLevel=0, plUInt32 uiPlaneIndex=0) const
 Returns the number of blocks contained in a given mip level in the depth direction.
 
plUInt64 GetDepthPitch (plUInt32 uiMipLevel=0, plUInt32 uiPlaneIndex=0) const
 Returns the offset in bytes between two subsequent depth slices of the given mip level.
 
plUInt64 GetRowPitch (plUInt32 uiMipLevel=0, plUInt32 uiPlaneIndex=0) const
 Returns the offset in bytes between two subsequent rows of the given mip level.
 

Protected Member Functions

plUInt64 ComputeLayout ()
 
void ValidateSubImageIndices (plUInt32 uiMipLevel, plUInt32 uiFace, plUInt32 uiArrayIndex, plUInt32 uiPlaneIndex) const
 
template<typename T >
void ValidateDataTypeAccessor (plUInt32 uiPlaneIndex) const
 
const plUInt64 & GetSubImageOffset (plUInt32 uiMipLevel, plUInt32 uiFace, plUInt32 uiArrayIndex, plUInt32 uiPlaneIndex) const
 
- Protected Member Functions inherited from plImageHeader
 plImageHeader ()
 Constructs an image using an unknown format and zero size.
 
void Clear ()
 Constructs an image using an unknown format and zero size.
 
void SetImageFormat (const plImageFormat::Enum &format)
 Sets the image format.
 
plImageFormat::Enum GetImageFormat () const
 Returns the image format.
 
void SetWidth (plUInt32 uiWidth)
 Sets the image width.
 
plUInt32 GetWidth (plUInt32 uiMipLevel=0) const
 Returns the image width for a given mip level, clamped to 1.
 
void SetHeight (plUInt32 uiHeight)
 Sets the image height.
 
plUInt32 GetHeight (plUInt32 uiMipLevel=0) const
 Returns the image height for a given mip level, clamped to 1.
 
void SetDepth (plUInt32 uiDepth)
 Sets the image depth. The default is 1.
 
plUInt32 GetDepth (plUInt32 uiMipLevel=0) const
 Returns the image depth for a given mip level, clamped to 1.
 
void SetNumMipLevels (plUInt32 uiNumMipLevels)
 Sets the number of mip levels, including the full-size image.
 
plUInt32 GetNumMipLevels () const
 Returns the number of mip levels, including the full-size image.
 
void SetNumFaces (plUInt32 uiNumFaces)
 Sets the number of cubemap faces. Use 1 for a non-cubemap.
 
plUInt32 GetNumFaces () const
 Returns the number of cubemap faces, or 1 for a non-cubemap.
 
void SetNumArrayIndices (plUInt32 uiNumArrayIndices)
 Sets the number of array indices.
 
plUInt32 GetNumArrayIndices () const
 Returns the number of array indices.
 
plUInt32 GetPlaneCount () const
 Returns the number of image planes.
 
plUInt32 GetNumBlocksX (plUInt32 uiMipLevel=0, plUInt32 uiPlaneIndex=0) const
 Returns the number of blocks contained in a given mip level in the horizontal direction.
 
plUInt32 GetNumBlocksY (plUInt32 uiMipLevel=0, plUInt32 uiPlaneIndex=0) const
 Returns the number of blocks contained in a given mip level in the horizontal direction.
 
plUInt32 GetNumBlocksZ (plUInt32 uiMipLevel=0, plUInt32 uiPlaneIndex=0) const
 Returns the number of blocks contained in a given mip level in the depth direction.
 
plUInt64 GetRowPitch (plUInt32 uiMipLevel=0, plUInt32 uiPlaneIndex=0) const
 Returns the offset in bytes between two subsequent rows of the given mip level.
 
plUInt64 GetDepthPitch (plUInt32 uiMipLevel=0, plUInt32 uiPlaneIndex=0) const
 Returns the offset in bytes between two subsequent depth slices of the given mip level.
 
plUInt64 ComputeDataSize () const
 Computes the data size required for an image with the header's format and dimensions.
 
plUInt32 ComputeNumberOfMipMaps () const
 Computes the number of mip maps in the full mip chain.
 
bool operator== (const plImageHeader &other) const
 
bool operator!= (const plImageHeader &other) const
 

Protected Attributes

plHybridArray< plUInt64, 16 > m_SubImageOffsets
 
plBlobPtr< plUInt8 > m_DataPtr
 
- Protected Attributes inherited from plImageHeader
plUInt32 m_uiNumMipLevels
 
plUInt32 m_uiNumFaces
 
plUInt32 m_uiNumArrayIndices
 
plUInt32 m_uiWidth
 
plUInt32 m_uiHeight
 
plUInt32 m_uiDepth
 
plImageFormat::Enum m_Format
 

Detailed Description

A class referencing image data and holding metadata about the image.


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