3#include <Foundation/Containers/Blob.h>
4#include <Foundation/Containers/DynamicArray.h>
5#include <Foundation/Containers/HybridArray.h>
6#include <Foundation/Logging/Log.h>
8#include <Texture/Image/Formats/ImageFileFormat.h>
9#include <Texture/Image/ImageHeader.h>
43 plImageView GetSubImageView(plUInt32 uiMipLevel = 0, plUInt32 uiFace = 0, plUInt32 uiArrayIndex = 0)
const;
46 plImageView GetPlaneView(plUInt32 uiMipLevel = 0, plUInt32 uiFace = 0, plUInt32 uiArrayIndex = 0, plUInt32 uiPlaneIndex = 0)
const;
49 plImageView GetSliceView(plUInt32 uiMipLevel = 0, plUInt32 uiFace = 0, plUInt32 uiArrayIndex = 0, plUInt32 z = 0, plUInt32 uiPlaneIndex = 0)
const;
52 plImageView GetRowView(plUInt32 uiMipLevel = 0, plUInt32 uiFace = 0, plUInt32 uiArrayIndex = 0, plUInt32 y = 0, plUInt32 z = 0, plUInt32 uiPlaneIndex = 0)
const;
56 const T* GetPixelPointer(
57 plUInt32 uiMipLevel = 0, plUInt32 uiFace = 0, plUInt32 uiArrayIndex = 0, plUInt32 x = 0, plUInt32 y = 0, plUInt32 z = 0, plUInt32 uiPlaneIndex = 0)
const;
82 plUInt64 ComputeLayout();
84 void ValidateSubImageIndices(plUInt32 uiMipLevel, plUInt32 uiFace, plUInt32 uiArrayIndex, plUInt32 uiPlaneIndex)
const;
86 void ValidateDataTypeAccessor(plUInt32 uiPlaneIndex)
const;
88 const plUInt64& GetSubImageOffset(plUInt32 uiMipLevel, plUInt32 uiFace, plUInt32 uiArrayIndex, plUInt32 uiPlaneIndex)
const;
105 void operator=(
const plImage& rhs) =
delete;
120 PL_DECLARE_MEM_RELOCATABLE_TYPE();
148 void ResetAndMove(
plImage&& other);
162 template <
typename T>
168 using plImageView::GetByteBlobPtr;
171 plImage GetSubImageView(plUInt32 uiMipLevel = 0, plUInt32 uiFace = 0, plUInt32 uiArrayIndex = 0);
176 plImage GetPlaneView(plUInt32 uiMipLevel = 0, plUInt32 uiFace = 0, plUInt32 uiArrayIndex = 0, plUInt32 uiPlaneIndex = 0);
181 plImage GetSliceView(plUInt32 uiMipLevel = 0, plUInt32 uiFace = 0, plUInt32 uiArrayIndex = 0, plUInt32 z = 0, plUInt32 uiPlaneIndex = 0);
186 plImage GetRowView(plUInt32 uiMipLevel = 0, plUInt32 uiFace = 0, plUInt32 uiArrayIndex = 0, plUInt32 y = 0, plUInt32 z = 0, plUInt32 uiPlaneIndex = 0);
191 template <
typename T>
192 T* GetPixelPointer(plUInt32 uiMipLevel = 0, plUInt32 uiFace = 0, plUInt32 uiArrayIndex = 0, plUInt32 x = 0, plUInt32 y = 0, plUInt32 z = 0, plUInt32 uiPlaneIndex = 0);
197 bool UsesExternalStorage()
const;
202#include <Texture/Image/Implementation/Image_inl.h>
plBlob allows to store simple binary data larger than 4GB. This storage class is used by plImage to a...
Definition Blob.h:319
This class encapsulates a blob's storage and it's size. It is recommended to use this class instead o...
Definition Blob.h:13
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition HybridArray.h:12
A class containing image data and associated meta data.
Definition Image.h:103
plImage GetRowView(plUInt32 uiMipLevel=0, plUInt32 uiFace=0, plUInt32 uiArrayIndex=0, plUInt32 y=0, plUInt32 z=0, plUInt32 uiPlaneIndex=0)
Returns a view to a row of pixels resp. blocks.
A class referencing image data and holding metadata about the image.
Definition Image.h:13
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.
Definition Image.cpp:85
plImageView GetSubImageView(plUInt32 uiMipLevel=0, plUInt32 uiFace=0, plUInt32 uiArrayIndex=0) const
Returns a view to the given sub-image.
Definition Image.cpp:291
plBlobPtr< const T > GetBlobPtr() const
Returns a view to the entire data contained in this image.
Definition Image_inl.h:22
plImageView GetPlaneView(plUInt32 uiMipLevel=0, plUInt32 uiFace=0, plUInt32 uiArrayIndex=0, plUInt32 uiPlaneIndex=0) const
Returns a view to a sub-plane.
Definition Image.cpp:319
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.
Definition Image.cpp:359
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.
Definition Image_inl.h:56
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54