HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
IMG_TileFile Class Reference

#include <IMG_TileFile.h>

+ Inheritance diagram for IMG_TileFile:

Public Member Functions

 IMG_TileFile ()
 
 ~IMG_TileFile () override
 
const char * className () const override
 
void getDescription (UT_WorkBuffer &wbuf) const override
 
int open (const IMG_TileOptions &finfo, int xres, int yres, int twidth, int theight, fpreal aspect) override
 Open the device. More...
 
int openMulti (IMG_TileOptionList &flist, int xres, int yres, int twidth, int theight, fpreal aspect) override
 
int writeTile (const void *data, unsigned x0, unsigned x1, unsigned y0, unsigned y1) override
 
void checkpoint () override
 
int close (bool keep_alive=false) override
 
- Public Member Functions inherited from IMG_TileDevice
 IMG_TileDevice ()
 
virtual ~IMG_TileDevice ()
 
void setVisibleRegion (int l, int r, int b, int t)
 
void setRenderSize (int rwidth, int rheight)
 
void setDeviceDataWindow (const UT_DimRect &w)
 Set the data window. More...
 
void setDeviceRenderWindow (const UT_DimRect &w)
 
virtual void setWhitePoint (fpreal white)
 
void setRenderSourceName (const char *name)
 
const char * getRenderSourceName () const
 
int getFileCount () const
 
IMG_DataType getDataType (int idx=0) const
 
bool isRandomAccess () const
 
int getTileWidth () const
 Query tile width parameters. More...
 
int getTileHeight () const
 
int getTileCountX () const
 
int getTileCountY () const
 
IMG_ColorModel getColorModel (int idx=0) const
 
IMG_DataTypegetDataTypes ()
 
IMG_ColorModelgetColorModels ()
 
void writeKnownTag (IMG_TagType tag_id, int size, const char *const *values)
 
virtual bool writeSamples (int nsamples, int floats_per_sample, const UT_Vector3T< int > *samples, const float *data)
 
virtual void flush ()
 
virtual int unsafeFlush ()
 
virtual bool getNextTile (int &xl, int &xr, int &yb, int &yt, int &tx, int &ty)
 
virtual bool getClickedTile (int &tx, int &ty, float &radius) const
 
virtual void resetTileRequestor ()
 
virtual int getTileMode () const
 
virtual void terminateOnConnectionLost (bool)
 
virtual bool wantsHoudiniPort () const
 
virtual bool isInteractive () const
 
virtual void setStyleSheets (UT_StringArray &)
 
virtual bool getMouseClickPosition (int &x, int &y) const
 
virtual float getMouseClickRadius () const
 
int xres () const
 
int yres () const
 

Protected Member Functions

void writeCustomTag (const char *tagname, int size, const char *const *values) override
 
- Protected Member Functions inherited from IMG_TileDevice
void setResolution (int xres, int yres, int tilewidth, int tileheight, int tile_order=IMG_TILE_BOTTOM_FIRST)
 
void setModel (const IMG_TileOptions &finfo)
 
void setModel (IMG_TileOptionList &flist)
 
void setModel (const IMG_DataType *dt, const IMG_ColorModel *cm)
 
void mapImageToTile (int ix, int iy, int &tx, int &ty)
 
void getTileBounds (int tx, int ty, int &xl, int &xr, int &yb, int &yt)
 
bool hasDataWindow (int full_xres, int full_yres) const
 
int getDataX () const
 
int getDataY () const
 
int getDataWidth () const
 
int getDataHeight () const
 
void setTileOrder (IMG_TILE_ORDER tile_order)
 Specify the desired tile order. More...
 
void setFileCount (int count)
 In the open method, the sub-class should set the file count. More...
 
void setTileSize (int width, int height)
 Set the tile width. More...
 
UT_InclusiveRect getDataWindow () const
 
const UT_DimRectdataWindow () const
 
const UT_DimRectdisplayWindow () const
 
const UT_DimRectrenderWindow () const
 

Additional Inherited Members

- Public Types inherited from IMG_TileDevice
enum  IMG_TILE_ORDER { IMG_TILE_BOTTOM_FIRST = 0, IMG_TILE_RANDOM_ORDER = 1, IMG_TILE_TOP_FIRST = 2, IMG_TILE_HILBERT = 3 }
 
typedef IMG_TileDevice *(* IMG_TileDeviceCreator )(const char *filename, const UT_Options *options)
 
- Static Public Member Functions inherited from IMG_TileDevice
static IMG_TileDevicenewDevice (const char *filename, const UT_Options *options=NULL)
 
static bool isSpecialFileName (const char *filename)
 
static bool isNullDeviceName (const char *filename)
 
static void registerDevice (IMG_TileDeviceCreator creator, const char *label)
 
static void unregisterDevice (const char *label)
 Unregister a custom device. More...
 
static IMG_TileDevicenewFileDevice ()
 
static IMG_TileDevicenewNullDevice ()
 
static IMG_TileDevicenewMPlayDevice (int from_middle=1)
 
static IMG_TileDeviceimdisplayFileDevice (const char *filename)
 
static IMG_TileDevicenewSocketDevice (const char *host)
 
static void setFileDevCreator (IMG_TileDevice *(*creator)())
 
static void setMPlayDevCreator (IMG_TileDevice *(*creator)(int))
 

Detailed Description

Definition at line 65 of file IMG_TileFile.h.

Constructor & Destructor Documentation

IMG_TileFile::IMG_TileFile ( )
IMG_TileFile::~IMG_TileFile ( )
override

Member Function Documentation

void IMG_TileFile::checkpoint ( )
overridevirtual

Allow the device to perform any "checkpointing" needed. This is equivalent to "flushing" the device.

Reimplemented from IMG_TileDevice.

const char* IMG_TileFile::className ( ) const
overridevirtual

Query information about the tile device

Implements IMG_TileDevice.

int IMG_TileFile::close ( bool  keep_alive = false)
overridevirtual

Implements IMG_TileDevice.

void IMG_TileFile::getDescription ( UT_WorkBuffer wbuf) const
overridevirtual

Query information about the tile device

Reimplemented from IMG_TileDevice.

int IMG_TileFile::open ( const IMG_TileOptions info,
int  xres,
int  yres,
int  tile_device,
int  tile_height,
fpreal  aspect 
)
overridevirtual

Open the device.

Implements IMG_TileDevice.

int IMG_TileFile::openMulti ( IMG_TileOptionList flist,
int  xres,
int  yres,
int  tile_width,
int  tile_height,
fpreal  aspect 
)
overridevirtual

The default implementation will just open the first entry of the flist by calling open().

Reimplemented from IMG_TileDevice.

void IMG_TileFile::writeCustomTag ( const char *  tagname,
int  size,
const char *const values 
)
overrideprotectedvirtual

Reimplemented from IMG_TileDevice.

int IMG_TileFile::writeTile ( const void data,
unsigned  x0,
unsigned  x1,
unsigned  y0,
unsigned  y1 
)
overridevirtual

The data written is in the format specified by the IMG_ColorModel and IMG_DataType parameters in the open. The size of the tile is smaller or equal to the sizes specified in the open. If the device was opened using openMulti(), the data is provided as a sequence of planes - first all pixels for plane 0, then all pixels for plane 1, etc.

The rectangle spectified by x0, x1, y0 and y1 is an inclusive rectangle. That is, the number of pixels in data is: (x1-x0+1)*(y1-y0+1).

The first pixel in the data buffer is the bottom left corner of the tile (i.e. (x0,y0)).

The rectangle specified is also relative to the data window. So, to offset to get the absolute pixel location you need to take the data window (getDataWindow()) into account. You can also use the convenience methods getDataX() and getDataY(). For example:

unsigned pixel_x0 = x0 + getDataX();
unsigned pixel_x1 = x1 + getDataX();
unsigned pixel_y0 = y0 + getDataY();
unsigned pixel_y1 = y1 + getDataY();

Implements IMG_TileDevice.


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