HDK
|
#include <IMG_FileFilter.h>
Public Member Functions | |
IMG_FileFilter (IMG_File *file_to_filter) | |
virtual | ~IMG_FileFilter () |
virtual bool | isPassThrough () const |
virtual int | isTopFirst () const |
virtual int | isLeftFirst () const |
If 0, scanlines are right-to-left. Default is 1 (left-to-right). More... | |
virtual IMG_File * | getBaseFile () const |
virtual void | randomReadAccessRequired () |
void | setFileToFilter (IMG_File *file) |
virtual void | computeCommonData () |
virtual int | getDeepPixelSamples (int x, int y) |
virtual bool | getDeepPixelPlaneData (int x, int y, const IMG_Plane &plane, float *data) |
virtual bool | getDeepPixelData (int x, int y, float *const *data) |
virtual bool | readDeepPixelData (int x, int y, PXL_DeepSampleList &p) |
Read a deep pixel. More... | |
virtual bool | writeDeepPixelData (int x, int y, const PXL_DeepSampleListPtr &p) |
![]() | |
virtual | ~IMG_File () |
virtual int64 | getMemoryUsage (bool inclusive) const |
virtual const char * | className () const |
int | close () |
int | getReadMode () const |
Returns 1 if we are reading, 0 if writing. More... | |
const char * | getOption (const char *name) const |
const void * | read (int scan, const IMG_Plane *from_plane=nullptr) |
read a single scanline. read() returns a pointer to the scanline data in an internal buffer. Do not delete it. More... | |
bool | readIntoBuffer (int scan, void *buffer, const IMG_Plane *from_plane=nullptr) |
Reads the scanline into a buffer that you supply. The buffer passed must be big enough to fit the plane passed. getStat().bytesPerPlaneScan() will return the proper size. Returns 0 on failure. More... | |
bool | write (int scan, const void *data, const IMG_Plane *to_plane=nullptr) |
Write a scanline to the file. You don't need to write scanlines in order, nor do you need to write planes in order; the data may be cached however. Returns 0 if there was an error during the write. You should immediately stop writing if a failure occurred (many formats will behave unpredictably otherwise). More... | |
void * | allocScanlineBuffer () const |
bool | readImages (UT_Array< PXL_Raster * > &images, const char *scope=nullptr) |
Reads all the image data into a list of PXL_Rasters. reads the image data into a a series of rasters. The array should be empty, as this method creates and fills the rasters for you. More... | |
virtual bool | jumpToFrame (int frame) |
virtual void | abortWrite () |
bool | hasError () const |
virtual IMG_FileAlphaInfo | getAlphaInfo (float &) const |
IMG_File * | getUnfilteredFile () |
returns the raw file at the top of the filter stack. More... | |
const IMG_File * | getUnfilteredFile () const |
bool | copyImageTextureOptions (const IMG_File &src, bool clear_existing) |
Copy the texture image options from another IMG_File. More... | |
virtual const UT_Options * | getImageTextureOptions () const |
This method is deprecated. Please implement imageTextureOptions() More... | |
bool | getWorldToCamera (UT_Matrix4D &xform) const |
bool | getCameraToNDC (UT_Matrix4D &xform, int xres, int yres, bool fit_z=true) const |
bool | getWorldToNDC (UT_Matrix4D &xform, int xres, int yres, bool fit_z=true) const |
IMG_ImageType | getImageType () const |
const IMG_Format * | getFormat () const |
void | setFormat (const IMG_Format *f) |
const IMG_Stat & | getStat () const |
IMG_Stat & | getStat () |
int | getNumOptions () const |
const char * | getOptionName (int i) const |
const char * | getOptionValue (int i) const |
bool | readImage (void *data, int flip=0, int scaninc=0) |
bool | writeImage (void *data, int flip=0, int scaninc=0) |
bool | writeImages (const UT_Array< const PXL_Raster * > &imgs) |
Writes all PXL_Rasters to the image format. This method takes a raster per IMG_Plane in the stat. The data format, color model and res of the raster must match the corresponding IMG_Plane. If the format is not a deep raster format, not all images may be written. if 'freerasters' is true, it will free the rasters for you. More... | |
bool | writeImages (UT_Array< PXL_Raster * > &images, bool freerasters=false) |
Writes all PXL_Rasters to the image format. This method takes a raster per IMG_Plane in the stat. The data format, color model and res of the raster must match the corresponding IMG_Plane. If the format is not a deep raster format, not all images may be written. if 'freerasters' is true, it will free the rasters for you. More... | |
virtual bool | readTile (const UT_InclusiveRect &tile, void *data, const IMG_Plane *plane=0) |
virtual bool | writeTile (const UT_InclusiveRect &tile, const void *data, const IMG_Plane *plane=0) |
void | selectPlanesToRead () |
bool | isPlaneSelected (const IMG_Plane &plane) const |
Additional Inherited Members | |
![]() | |
static IMG_File * | open (const char *filename, const IMG_FileParms *options=nullptr, const IMG_Format *fmt=nullptr) |
Open an image file using a filename Open an image file for reading by specifying the filename and path of the file. An optional IMG_FileParms class may be passed to convert it into a specific image type (8bit, specific resolution, etc). An optional format may also be passed, which forces the library to assume the image file is of that particular format. This method returns a new IMG_File object which you read the image data from, or NULL if an error occurred. More... | |
static IMG_File * | open (UT_IStream &is, const IMG_FileParms *options=nullptr, const IMG_Format *fmt=nullptr, int steal_stream=0, bool streamIsSeekable=true) |
Open an image file from a stream Open an image file for reading given a stream. This is useful for embedded images in a file. An optional IMG_FileParms class may be passed to convert it into a specific image type (8bit, specific resolution, etc). An optional format may also be passed, which forces the library to assume the image file is of that particular format. If 'steal_stream' is true, the image library assumes ownership of the stream and closes it when it's finished reading the file. If the stream is not seekable (cannot jump around in the file, such as with a pipe), set 'streamIsSeekable' to false. This method returns a new IMG_File object which you read the image data from, or NULL if an error occurred. More... | |
static IMG_File * | create (const char *filename, const IMG_Stat &stat, const IMG_FileParms *options=nullptr, const IMG_Format *fmt=nullptr) |
Create a new image file Create a new image file with the pathname 'filename' according to the parameters specified in 'stat'. You can supply an optional 'options' class to translate the image before being written (scale, flip, etc). You can also specify an optional 'format' parameter to force the file to be written as a specific image format (regardless of the extension found in 'filename'). NULL may be returned if the file could not be created for any reason. More... | |
static IMG_File * | create (std::ostream &os, const IMG_Stat &stat, const IMG_FileParms *options=nullptr, const IMG_Format *fmt=nullptr, int steal_stream=0, bool streamIsSeekable=true) |
Write an image file to an existing stream Writes a new image file to the stream 'os' according to the parameters specified in 'stat'. You can supply an optional 'options' class to translate the image before being written (scale, flip, etc). You can also specify an optional 'format' parameter to force the file to be written as a specific image format (regardless of the extension found in 'filename'). If 'steal_stream' is true, the image library assumes ownership of the stream and closes it when it's finished writing the file. If the stream is not seekable (cannot jump around in the file, such as with a pipe), set 'streamIsSeekable' to false. NULL may be returned if the file could not be created in the stream. More... | |
static bool | saveRastersAsFiles (const char *filename, const IMG_SaveRastersToFilesParms &parms) |
Writes PXL_Raster's to image files. Convenience method to write images stored in PXL_Raster's to disk files. The linear_planes parameter specifies a pattern of planes which should be written to in linear space. More... | |
static bool | copyToFile (const char *sourcename, const char *destname, const IMG_FileParms *options=nullptr) |
Copies an existing image file to another image file. Convenience method to copy an image file from one file to another. The image date may be altered if the formats of the two files are not the same (based on filename extension), or if an optional 'options' class is passed. More... | |
static bool | copyToFileFormat (const char *sourcename, const char *formatname, UT_String *destname=nullptr, const IMG_FileParms *options=nullptr) |
static bool | copyToStream (const char *sourcename, std::ostream &deststream, const IMG_FileParms *options=nullptr, const IMG_Format *format=nullptr) |
Copies an existing image file to a stream Convenience method to copy an image file to a stream. The image data may be altered if an optional 'options' class is passed, or if the optional image 'format' parameter does not match the format of the source image file. More... | |
static IMG_DataType | mapStorageOption (const char *option, bool *denormalize_flag=nullptr) |
static int | doErrors (int newDoErrors) |
static bool | saveRasterAsFile (const char *filename, const PXL_Raster *raster, const IMG_SaveRastersToFilesParms &parms) |
Writes a PXL_Raster to an image file. Convenience method to write an image stored in a PXL_Raster to a disk file. More... | |
static bool | saveRasterAsFile (const char *filename, const PXL_Raster *raster, const IMG_FileParms *fparms=nullptr, const IMG_Format *format=nullptr) |
Writes a PXL_Raster to an image file. Convenience method to write an image stored in a PXL_Raster to a disk file. More... | |
![]() | |
static void | imgError (int code, const char *msg=nullptr) |
static void | imgWarning (int code, const char *msg=nullptr) |
static void | setOptions (const IMG_FileParms *options, IMG_File *file) |
![]() | |
IMG_Stat | myStat |
bool | myReadMode |
std::ostream * | myOS |
int64 | myStreamStartPos |
int64 | myStreamLength |
unsigned | myCreateIStream:1 |
unsigned | myCreateOStream:1 |
unsigned | myForceRandomReads:1 |
unsigned | myHasRandomReads:1 |
unsigned | myFileOpen:1 |
unsigned | myErrorFlag:1 |
unsigned | myContinueOnErrorFlag:1 |
Definition at line 23 of file IMG_FileFilter.h.
IMG_FileFilter::IMG_FileFilter | ( | IMG_File * | file_to_filter | ) |
|
virtual |
|
protectedvirtual |
When writing an image, the checkpoint() method can be used to checkpoint data (see TIFFCheckpointDirectory() for an example). Generally, this writes the image data currently passed and this results in a usable, partially written file. By default, nothing is done.
Reimplemented from IMG_File.
|
protectedvirtual |
|
inlinevirtual |
Reimplemented from IMG_File.
Reimplemented in IMG_FileFilterFlip, IMG_FileFilterWindow, IMG_FileFilterLUT, and IMG_FileFilterTile.
Definition at line 41 of file IMG_FileFilter.h.
|
inlineprotectedvirtual |
Definition at line 57 of file IMG_FileFilter.h.
Get additional image information about the file that is specific to a particular format. Some formats do not have additional information. The information returned is human-readable in 'text'.
Reimplemented from IMG_File.
Definition at line 78 of file IMG_FileFilter.h.
|
inlinevirtual |
Reimplemented from IMG_File.
Definition at line 35 of file IMG_FileFilter.h.
Reimplemented from IMG_File.
Reimplemented in IMG_FileFilterFlip, and IMG_FileFilterWindow.
|
virtual |
Reimplemented from IMG_File.
Reimplemented in IMG_FileFilterFlip, and IMG_FileFilterWindow.
Reimplemented from IMG_File.
Reimplemented in IMG_FileFilterFlip, and IMG_FileFilterWindow.
Definition at line 69 of file IMG_FileFilter.h.
|
inlineprotected |
Definition at line 70 of file IMG_FileFilter.h.
|
protectedvirtual |
|
inlinevirtual |
If 0, scanlines are right-to-left. Default is 1 (left-to-right).
Reimplemented from IMG_File.
Definition at line 33 of file IMG_FileFilter.h.
|
inlinevirtual |
Reimplemented from IMG_File.
Definition at line 31 of file IMG_FileFilter.h.
|
inlinevirtual |
orientation of the current file or format. Some formats support multiple orientations specified in the image files themselves, others simply have a fixed orientation. Call these methods rather than querying the orientation from the format, in case the format supports multiple orientations.
Reimplemented from IMG_File.
Reimplemented in IMG_FileFilterFlip.
Definition at line 32 of file IMG_FileFilter.h.
|
virtual |
call this if you won't be reading the scanlines in order, or if you'll be reading all the scanlines for a single plane first.
Reimplemented from IMG_File.
|
virtual |
Read a deep pixel.
Reimplemented from IMG_File.
Reimplemented in IMG_FileFilterFlip, and IMG_FileFilterWindow.
Implements IMG_File.
Definition at line 39 of file IMG_FileFilter.h.
|
protectedvirtual |
|
virtual |
A method to write deep pixel data for all channels, at a given pixel location. The function should be given an array of pointers to float arrays, where each float array contains the value of all image components for a given sample level.
Returns false if the data cannot be written, or if the image is not a deep pixel image.
Reimplemented from IMG_File.
Reimplemented in IMG_FileFilterFlip, and IMG_FileFilterWindow.
Implements IMG_File.