HDK
|
Contains the details of a specific image file, used by IMG_File. This class contains all the high-level details needed to save an image file, or query a loaded image file's statistics. It contains such data as the resolution, pixel aspect ratios, data formats and image planes. The set() methods are used when creating a new IMG_Stat for writing an image file, while the get() methods are generally used when reading. More...
#include <IMG_Stat.h>
Public Types | |
typedef UT_SharedPtr < IMG_DeepStat > | img_DeepStatPtr |
Public Member Functions | |
IMG_Stat () | |
IMG_Stat (unsigned xres, unsigned yres) | |
IMG_Stat (unsigned xres, unsigned yres, IMG_DataType dt, IMG_ColorModel cm) | |
~IMG_Stat () | |
int64 | getMemoryUsage (bool inclusive) const |
IMG_Stat (const IMG_Stat &s) | |
IMG_Stat & | operator= (const IMG_Stat &s) |
void | copy (const IMG_Stat &src) |
void | addEnvMapPlanes (IMG_DataType dt, IMG_ColorModel cm) |
bool | isEnvMap () const |
isEnvMap() will return true, only if the image is an environment map. More... | |
bool | setEnvMap () |
void | reorderPlane (IMG_Plane *plane, int beforeindex) |
Alters the order of planes in the stat. More... | |
int | getDataWidth () const |
int | getDataHeight () const |
int | getNumFrames () const |
void | setNumFrames (int nf) |
fpreal | getFPS () const |
void | setFPS (fpreal fps) |
fpreal | getRenderTime () const |
void | setRenderTime (fpreal t) |
Sets the render time from the image file. More... | |
int64 | getRenderMemory () const |
void | setRenderMemory (int64 mem) |
Sets the render time from the image file. More... | |
int64 | getComponentCount () const |
Returns the total number of components across all planes. More... | |
int64 | getDeepPixelComponentCount () const |
int64 | bytesPerPixel () const |
Returns the number of bytes for a single pixel made up of all planes. More... | |
int64 | bytesPerImage () const |
int64 | bytesPerScanline () const |
void | setColorSpace (PXL_ColorSpace cs, fpreal gamma=0.0) |
void | setColorSpaceForUnknownPlanes (PXL_ColorSpace cs, fpreal gamma=0.0) |
int | getMipLevel () const |
void | setMipLevel (int n) |
IMG_MipRoundMode | getMipRoundMode () const |
void | setMipRoundMode (IMG_MipRoundMode mode) |
void | dump () const |
void | dump (UT_JSONWriter &w) const |
void | setImageType (IMG_ImageType it) |
IMG_ImageType | getImageType () const |
void | setResolution (unsigned xres, unsigned yres) |
unsigned | getXres () const |
unsigned | getYres () const |
void | setAspectRatio (fpreal aspect) |
fpreal | getAspectRatio () const |
void | setFilename (const char *name) |
const UT_String & | getFilename () const |
int | getNumPlanes () const |
Returns the number of image planes in the image a plane contains the actual structure of the image data. An image needs at least one. Deep rasters can have multiple planes. More... | |
IMG_Plane * | getPlane (int i=0) const |
Get an image plane by index. More... | |
IMG_Plane * | getPlaneName (const char *name) const |
Get an image plane by name Returns the plane with name 'name', or NULL if no matching plane is found. More... | |
int | getPlaneIndex (const char *name) const |
Returns the index of the plane with 'name' Returns the index of the plane with name 'name', or -1 if not found. More... | |
void | removePlane (int pindex) |
void | removePlane (const char *name) |
Remove a plane by index from the stat. Used only for writing files. More... | |
void | removeAllPlanes () |
Remove all planes from the stat. Used only for writing files. More... | |
void | swapPlaneOrder (int plane_a, int plane_b) |
void | swapPlaneOrder (const IMG_Plane *p, int plane_b) |
void | setDataWindow (const UT_DimRect &win) |
Manipulate the data window of an image. The data window is constant across all planes. It may be smaller than the actual resolution (crop region) or larger. The data window is inclusive in that x2 and y2 are part of the region. You can also use the UT_DimRect versions for easier manipulations of the area. Image data is only defined for the area contained by the data window. By default, it is (0,0) - (xres-1, yres-1) (the entire image). More... | |
void | setDataWindow (int x1, int y1, int x2, int y2) |
Manipulate the data window of an image. The data window is constant across all planes. It may be smaller than the actual resolution (crop region) or larger. The data window is inclusive in that x2 and y2 are part of the region. You can also use the UT_DimRect versions for easier manipulations of the area. Image data is only defined for the area contained by the data window. By default, it is (0,0) - (xres-1, yres-1) (the entire image). More... | |
void | clearDataWindow () |
Manipulate the data window of an image. The data window is constant across all planes. It may be smaller than the actual resolution (crop region) or larger. The data window is inclusive in that x2 and y2 are part of the region. You can also use the UT_DimRect versions for easier manipulations of the area. Image data is only defined for the area contained by the data window. By default, it is (0,0) - (xres-1, yres-1) (the entire image). More... | |
void | getDataWindow (UT_DimRect &r) const |
Get the data window of an image. More... | |
void | getDataWindow (int &x1, int &y1, int &x2, int &y2) const |
Get the data window of an image. More... | |
const UT_DimRect & | getDataWindow () const |
Return the data window for the image. More... | |
bool | hasDataWindow () const |
Returns true if the image has a data window. More... | |
void | setBackgroundColor (fpreal col[4]) |
void | getBackgroundColor (fpreal col[4]) const |
void | setBackgroundStreak (bool streak) |
bool | getBackgroundStreak () const |
void | setDeepStat (const img_DeepStatPtr &deep) |
Set how deep samples are interpolated. More... | |
const img_DeepStatPtr & | getDeepStat () const |
Set how deep samples are interpolated. More... | |
int64 | bytesPerPlaneScan (const IMG_Plane &pi) const |
int64 | bytesPerPlaneScan (int i) const |
int | planeOffset (const IMG_Plane &pi) const |
int | planeOffset (int i) const |
Static Public Member Functions | |
static const char * | getColorModel (IMG_ColorModel cm) |
static const char * | getDataType (IMG_DataType dt) |
Protected Member Functions | |
void | recomputeOffsets () |
Friends | |
class | IMG_Plane |
IMG_Plane * | addPlane (const char *name, IMG_DataType d, IMG_ColorModel cm, const char *c0name=0, const char *c1name=0, const char *c2name=0, const char *c3name=0) |
Add a plane to an image file. Add a plane to the image file. This is only used when writing files. Plane names must be unique. To write a file, at least one plane must be present. More... | |
IMG_Plane * | addDefaultPlane () |
Add a default 8bit, RGBA plane to the image. More... | |
Contains the details of a specific image file, used by IMG_File. This class contains all the high-level details needed to save an image file, or query a loaded image file's statistics. It contains such data as the resolution, pixel aspect ratios, data formats and image planes. The set() methods are used when creating a new IMG_Stat for writing an image file, while the get() methods are generally used when reading.
Definition at line 40 of file IMG_Stat.h.
Definition at line 43 of file IMG_Stat.h.
IMG_Stat::IMG_Stat | ( | ) |
IMG_Stat::IMG_Stat | ( | unsigned | xres, |
unsigned | yres | ||
) |
Sets up the resolution of the image. addPlane() or addDefaultPlane() must be called to fill out the
IMG_Stat::IMG_Stat | ( | unsigned | xres, |
unsigned | yres, | ||
IMG_DataType | dt, | ||
IMG_ColorModel | cm | ||
) |
sets up a single image plane format, without requiring addPlane(). Don't use this for deep raster images.
IMG_Stat::~IMG_Stat | ( | ) |
Definition at line 58 of file IMG_Stat.h.
|
inline |
Add a default 8bit, RGBA plane to the image.
Definition at line 143 of file IMG_Stat.h.
void IMG_Stat::addEnvMapPlanes | ( | IMG_DataType | dt, |
IMG_ColorModel | cm | ||
) |
Adds 6 planes named Left, Right, Top, Bottom, Front and Back, all using the same image format.
IMG_Plane* IMG_Stat::addPlane | ( | const char * | name, |
IMG_DataType | d, | ||
IMG_ColorModel | cm, | ||
const char * | c0name = 0 , |
||
const char * | c1name = 0 , |
||
const char * | c2name = 0 , |
||
const char * | c3name = 0 |
||
) |
Add a plane to an image file. Add a plane to the image file. This is only used when writing files. Plane names must be unique. To write a file, at least one plane must be present.
int64 IMG_Stat::bytesPerImage | ( | ) | const |
Returns the total number of bytes for the entire image. Returns -1 for deep images, since the size is dependent on sample count.
int64 IMG_Stat::bytesPerPixel | ( | ) | const |
Returns the number of bytes for a single pixel made up of all planes.
Returns the number bytes for a single scanline. Returns -1 for deep images, since the size is dependent on sample count.
Returns the number bytes for a single scanline. Returns -1 for deep images, since the size is dependent on sample count.
int64 IMG_Stat::bytesPerScanline | ( | ) | const |
Returns the total number of bytes for a single scanline. Returns -1 for deep images, since the size is dependent on sample count.
void IMG_Stat::clearDataWindow | ( | ) |
Manipulate the data window of an image. The data window is constant across all planes. It may be smaller than the actual resolution (crop region) or larger. The data window is inclusive in that x2 and y2 are part of the region. You can also use the UT_DimRect versions for easier manipulations of the area. Image data is only defined for the area contained by the data window. By default, it is (0,0) - (xres-1, yres-1) (the entire image).
void IMG_Stat::dump | ( | ) | const |
void IMG_Stat::dump | ( | UT_JSONWriter & | w | ) | const |
|
inline |
Pixel aspect ratio of the file (X/Y). Square pixels are 1.0 (default).
Definition at line 99 of file IMG_Stat.h.
The image data outside the data window can be represented one of two ways: with a constant color, or by streaking the edges of the window.
|
inline |
The image data outside the data window can be represented one of two ways: with a constant color, or by streaking the edges of the window.
Definition at line 213 of file IMG_Stat.h.
|
static |
int64 IMG_Stat::getComponentCount | ( | ) | const |
Returns the total number of components across all planes.
int IMG_Stat::getDataHeight | ( | ) | const |
This returns the height of the image. If no data window is present, then this is Yres. If a data window is present, then this is the height of the data window.
|
static |
int IMG_Stat::getDataWidth | ( | ) | const |
This returns the width of the image. If no data window is present, then this is Xres. If a data window is present, then this is the width of the data window.
void IMG_Stat::getDataWindow | ( | UT_DimRect & | r | ) | const |
Get the data window of an image.
Get the data window of an image.
|
inline |
Return the data window for the image.
Definition at line 200 of file IMG_Stat.h.
int64 IMG_Stat::getDeepPixelComponentCount | ( | ) | const |
Returns the number of components for the deep pixel image. This excludes any pseudo-planes, such as "Depth-Complexity".
|
inline |
Set how deep samples are interpolated.
Definition at line 253 of file IMG_Stat.h.
filename of the opened file. Files attached to streams may not have a filename.
Definition at line 107 of file IMG_Stat.h.
|
inline |
Definition at line 233 of file IMG_Stat.h.
|
inline |
Read/write image a specific mode. If the format does not support it, or the image being read is not of that type, IMG_File::open or IMG_File::create calls will fail. The default value is IMG_TYPE_2D.
Definition at line 76 of file IMG_Stat.h.
int64 IMG_Stat::getMemoryUsage | ( | bool | inclusive | ) | const |
|
inline |
Definition at line 308 of file IMG_Stat.h.
|
inline |
Definition at line 312 of file IMG_Stat.h.
|
inline |
Definition at line 227 of file IMG_Stat.h.
int IMG_Stat::getNumPlanes | ( | ) | const |
Returns the number of image planes in the image a plane contains the actual structure of the image data. An image needs at least one. Deep rasters can have multiple planes.
Returns the index of the plane with 'name' Returns the index of the plane with name 'name', or -1 if not found.
Get an image plane by name Returns the plane with name 'name', or NULL if no matching plane is found.
|
inline |
If the image file has a recorded render memory, this returns the render memory, else it returns 0.
Definition at line 245 of file IMG_Stat.h.
|
inline |
If the image file has a recorded render time, this returns the render time, else it returns -1.
Definition at line 239 of file IMG_Stat.h.
|
inline |
Returns the resolution of the image to be written or the one that was read.
Definition at line 92 of file IMG_Stat.h.
|
inline |
Sets the resolution for the image, if not specified by the constructor.
Definition at line 93 of file IMG_Stat.h.
bool IMG_Stat::hasDataWindow | ( | ) | const |
Returns true if the image has a data window.
|
inline |
isEnvMap() will return true, only if the image is an environment map.
Definition at line 152 of file IMG_Stat.h.
Definition at line 62 of file IMG_Stat.h.
|
protected |
void IMG_Stat::removeAllPlanes | ( | ) |
Remove all planes from the stat. Used only for writing files.
Remove a plane by index from the stat. Used only for writing files.
Remove a plane by index from the stat. Used only for writing files.
Alters the order of planes in the stat.
Pixel aspect ratio of the file (X/Y). Square pixels are 1.0 (default).
Definition at line 98 of file IMG_Stat.h.
The image data outside the data window can be represented one of two ways: with a constant color, or by streaking the edges of the window.
|
inline |
The image data outside the data window can be represented one of two ways: with a constant color, or by streaking the edges of the window.
Definition at line 211 of file IMG_Stat.h.
void IMG_Stat::setColorSpace | ( | PXL_ColorSpace | cs, |
fpreal | gamma = 0.0 |
||
) |
Sets the color space for all planes. gamma is only needed for the PXL_CS_CUSTOM_GAMMA space.
void IMG_Stat::setColorSpaceForUnknownPlanes | ( | PXL_ColorSpace | cs, |
fpreal | gamma = 0.0 |
||
) |
Set the color space on planes with an unknown color space to 'cs'. gamma is only needed for the PXL_CS_CUSTOM_GAMMA space.
void IMG_Stat::setDataWindow | ( | const UT_DimRect & | win | ) |
Manipulate the data window of an image. The data window is constant across all planes. It may be smaller than the actual resolution (crop region) or larger. The data window is inclusive in that x2 and y2 are part of the region. You can also use the UT_DimRect versions for easier manipulations of the area. Image data is only defined for the area contained by the data window. By default, it is (0,0) - (xres-1, yres-1) (the entire image).
Manipulate the data window of an image. The data window is constant across all planes. It may be smaller than the actual resolution (crop region) or larger. The data window is inclusive in that x2 and y2 are part of the region. You can also use the UT_DimRect versions for easier manipulations of the area. Image data is only defined for the area contained by the data window. By default, it is (0,0) - (xres-1, yres-1) (the entire image).
|
inline |
Set how deep samples are interpolated.
Definition at line 251 of file IMG_Stat.h.
bool IMG_Stat::setEnvMap | ( | ) |
Sets the environment flag, if the image planes can be treated as an environment map.
filename of the opened file. Files attached to streams may not have a filename.
Definition at line 106 of file IMG_Stat.h.
Definition at line 235 of file IMG_Stat.h.
void IMG_Stat::setImageType | ( | IMG_ImageType | it | ) |
Read/write image a specific mode. If the format does not support it, or the image being read is not of that type, IMG_File::open or IMG_File::create calls will fail. The default value is IMG_TYPE_2D.
Definition at line 309 of file IMG_Stat.h.
|
inline |
Definition at line 313 of file IMG_Stat.h.
Definition at line 230 of file IMG_Stat.h.
Sets the render time from the image file.
Definition at line 247 of file IMG_Stat.h.
Sets the render time from the image file.
Definition at line 241 of file IMG_Stat.h.
|
inline |
Sets the resolution for the image, if not specified by the constructor.
Definition at line 81 of file IMG_Stat.h.
Swap two planes
Definition at line 178 of file IMG_Stat.h.
Definition at line 320 of file IMG_Stat.h.