Class to wrap up an image plane of arbitrary type. This is used by the readers to return image data with the minimal amount of conversion needed. More...
Public Member Functions | |
GenericImagePlane (const GenericImagePlaneDescriptor &desc) | |
ctor, relying on our own allocation | |
GenericImagePlane (const GenericImagePlaneDescriptor &desc, HandlePtr handle) | |
const GenericImagePlaneDescriptor & | desc () const |
ptrdiff_t | rowStrideBytes () const |
ptrdiff_t | colStrideBytes () const |
ptrdiff_t | chanStrideBytes () const |
template<class T > | |
const T & | at (int x, int y, int z) const |
Get a reference to the data at (x, y) with the channel number /z/. | |
template<class T > | |
T & | writableAt (int x, int y, int z) |
Get a reference to the data at (x, y) with the channel number /z/. | |
void | clearImage () |
Clears the image by writing 0 into the entire buffer. | |
Protected Member Functions | |
void | SetStrides () |
const char * | address (int x, int y, int z) const |
void | CheckType (unsigned char testVariable) |
void | CheckType (unsigned short testVariable) |
void | CheckType (unsigned int testVariable) |
void | CheckType (half testVariable) |
void | CheckType (float testVariable) |
Protected Attributes | |
GenericImagePlaneDescriptor | _desc |
HandlePtr | _handle |
char * | _data |
base address of our image, kept as a char for address maths | |
ptrdiff_t | _rowStrideBytes |
ptrdiff_t | _colStrideBytes |
The stride between columns in bytes. | |
ptrdiff_t | _chanStrideBytes |
The stride between channels in bytes. | |
Class to wrap up an image plane of arbitrary type. This is used by the readers to return image data with the minimal amount of conversion needed.
TODO - refactor ImagePlane and it's floatingpoint refcounted thing to be compatible with this (via assigment and CC both ways, with checks for types being right).
|
inline |
Constructor using a specific chunk of memory in which we want the image data stored.
References SetStrides().
|
inlineprotected |
Helper function to calculate the various strides given the information in the GenericImagePlaneDescriptor member _desc, which must have been set before the call to SetStrides().
References _chanStrideBytes, _colStrideBytes, and _rowStrideBytes.
Referenced by GenericImagePlane().
|
inlineprotected |
The various CheckType() functions are used to assert that the type on which at() or writableAt() have been templatised corresponds to the enumerated type of the descriptor's data info, which is determined at runtime.
|
protected |
The stride between rows in bytes. This depends on the channel data type and the number of channels and/or image width, according to whether the image plane is packed or not (as specified by GenericImagePlaneDescriptor::_packed).
Referenced by SetStrides().
©2020 The Foundry Visionmongers, Ltd. All Rights Reserved. |