HDK
|
#include <TIL_CopResolver.h>
Classes | |
class | autoEvaluateTime |
Public Member Functions | |
TIL_CopResolver () | |
virtual | ~TIL_CopResolver () |
virtual int | resolveId (const char *fullpath)=0 |
virtual TIL_Raster * | resolveRaster (int id)=0 |
virtual TIL_Raster * | resolveRasterFrame (int id, fpreal frame, int xres=0, int yres=0)=0 |
virtual TIL_Raster * | resolveRasterPlane (int id, fpreal frame, const char *color, int cindex, const char *alpha, int aindex, int xres=0, int yres=0, TIL_DataFormat f=TILE_MAX_DATA_FORMAT)=0 |
virtual UT_SharedPtr< const IMX_Layer > | resolveLayer (int id)=0 |
virtual UT_SharedPtr< const IMX_Layer > | resolveLayerFrame (int id, fpreal frame)=0 |
virtual UT_SharedPtr< const IMX_Layer > | resolveLayerPlane (int id, fpreal frame, const char *color)=0 |
virtual bool | resolveIsPossible (const char *fullpath)=0 |
virtual TIL_Raster * | getFileRaster (const char *file, IMG_DataType type=IMG_DT_ANY, int xres=0, int yres=0) |
You gain ownership of a FileRaster and must delete it: More... | |
virtual TIL_Raster * | getNodeRaster (const char *fullpath, const char *cmenu, const char *amenu, bool override_frame=false, fpreal frame=1.0, TIL_DataFormat f=TILE_MAX_DATA_FORMAT) |
virtual void | getRes (int id, int &xres, int &yres) |
virtual TIL_Sequence * | getSequence (int id) |
virtual bool | resolveRasters (int id, const UT_StringArray &plane_names, fpreal t, UT_ValArray< TIL_Raster * > &new_rasters, TIL_DataFormat format=TILE_MAX_DATA_FORMAT) |
virtual void | buildPlaneMenu (const char *net, const char *node, UT_ValArray< char * > &items) |
virtual TIL_ImageSource * | resolveImageSource (int id) |
virtual bool | returnRaster (const TIL_Raster *raster) |
virtual int | isOpBased () |
virtual fpreal | getTimeForRaster (int id) |
virtual size_t | getVersionForRaster (int id) |
Static Public Member Functions | |
static void | setResolver (TIL_CopResolver *resolver) |
static TIL_CopResolver * | getResolver () |
static bool | enableThreadResolverCache (bool enable) |
static bool | threadResolverCacheEnabled () |
Returns true if this thread has the resolver enabled. More... | |
static exint | threadResolverCacheWatermark () |
static void | clearResolverCache (bool force_full_clear) |
static void | getResolverCacheNodeIds (UT_IntArray &ids) |
Gets node ids of any COPs with textures in the resolver cache. More... | |
static TIL_Raster * | getRaster (const char *fullpath, int &opid, bool *specific_frame=nullptr) |
static fpreal | getRasterTime (int opid) |
static size_t | getRasterVersion (int opid) |
static fpreal | getTimeFromFrame (fpreal frame) |
static bool | doneWithRaster (const TIL_Raster *r) |
static UT_SharedPtr< const IMX_Layer > | getLayer (const char *fullpath, int &opid, bool *specific_frame=nullptr) |
static int | getIdFrame (const char *fullpath, int &id, fpreal &frame) |
static void | splitFile (const char *fullpath, UT_String &name, int &xres, int &yres, float &quality) |
static int | getNodeId (const char *net, const char *node) |
static void | getNodeRes (const char *net, const char *node, int &xres, int &yres) |
static int | getNodeId (const char *fullpath) |
static void | getNodeRes (const char *fullpath, int &xres, int &yres) |
static void | getFileRes (const char *file, int &xres, int &yres) |
static int | splitPath (const char *cpath, int &id, fpreal &frame, UT_WorkBuffer &color, int &cindex, UT_WorkBuffer &alpha, int &aindex, int &xres, int &yres) |
static void | buildColorMenu (const char *net, const char *node, UT_ValArray< char * > &items) |
static void | buildAlphaMenu (const char *net, const char *node, UT_ValArray< char * > &items) |
static bool | canResolve (const char *fullpath) |
Protected Member Functions | |
int | splitPath (const char *fullpath, UT_String &name, fpreal &frame) |
virtual fpreal | timeFromFrame (fpreal frame) |
virtual fpreal | getGlobalTime () |
virtual void | setGlobalTime (fpreal time) |
Definition at line 42 of file TIL_CopResolver.h.
TIL_CopResolver::TIL_CopResolver | ( | ) |
|
virtual |
|
static |
|
static |
|
virtual |
|
static |
|
static |
Clears any out of date resolver cache, ie, where cop version doesn't match the stashed version. The force_full_clear flag can be set to true to clear everything out of the cache. This is necessary if a time change happens and a time dependent COP texture is in the cache. The "version" will be unchanged, but we need to clear anyway.
|
static |
Tell the resolver we're done with the raster. Some resolvers will delete rasters, others will hold onto them. If the raster actually dirties/deletes the raster, doneWithRaster()
will return true.
|
static |
Turns on resolver cache for THIS thread. This allows in process renders to only hit op: once per render. Returns old value.
|
virtual |
You gain ownership of a FileRaster and must delete it:
|
protectedvirtual |
|
static |
Returns shared IMX_Layer with COW semantics. Only works for copernicus, will need getRaster for Images or COP2.
|
static |
|
static |
|
virtual |
You do not gain ownershipo of a node raster, and must call returnRaster or doneWithRaster on it.
|
static |
|
static |
|
static |
|
static |
|
static |
Gets node ids of any COPs with textures in the resolver cache.
|
virtual |
|
virtual |
|
virtual |
|
pure virtual |
|
virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
virtual |
This cooks a bunch of planes simulataneously, and adds the created rasters to 'new_rasters'. You are responsible for deleting them.
|
virtual |
Caller is finished with the raster for now, so delete memory if possible. Returns true if the raster is no longer valid, but false if the raster hasn't been touched (and is still valid). This is implementation dependent.
|
static |
|
static |
|
static |
|
protected |
|
static |
Returns true if this thread has the resolver enabled.
|
static |
Provides a watermark for the resolver cache, bumped on every clear. So if you acquired with a similar water mark you don't need to check for dirty.