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

#include <GU_SopResolver.h>

+ Inheritance diagram for GU_VexGeoInputs:

Classes

class  ClearCB
 

Public Member Functions

 GU_VexGeoInputs ()
 
 ~GU_VexGeoInputs () override
 
void clear ()
 
const GU_DetailpeekInput (int idx) const
 
const GU_DetailgetInput (int idx) const
 
void setInput (int idx, const GU_Detail *gdp)
 
void addClearCB (ClearCB *cb)
 
voidgetVexCache (int idx) const
 
voidgetVexCache (const UT_StringRef &key) const
 
void setVexCache (int idx, void *cache)
 
void setVexCache (const UT_StringRef &key, void *cache)
 
exint minInputIdx () const
 
exint maxInputIdx () const
 
- Public Member Functions inherited from VEX_GeoInputs
 VEX_GeoInputs ()
 
virtual ~VEX_GeoInputs ()
 

Protected Attributes

UT_Array< const GU_Detail * > myPosInputCache
 
UT_Array< const GU_Detail * > myNegInputCache
 
UT_Array< void * > myPosVexGeoCache
 
UT_Array< void * > myNegVexGeoCache
 
UT_StringMap< void * > myVexGeoCacheMap
 
UT_ValArray< ClearCB * > myClearCBList
 

Detailed Description

Definition at line 24 of file GU_SopResolver.h.

Constructor & Destructor Documentation

GU_VexGeoInputs::GU_VexGeoInputs ( )
GU_VexGeoInputs::~GU_VexGeoInputs ( )
override

Member Function Documentation

void GU_VexGeoInputs::addClearCB ( ClearCB cb)
inline

Adds a callback to be invoked when the GU_VexGeoInputs is destroyed.

Definition at line 83 of file GU_SopResolver.h.

void GU_VexGeoInputs::clear ( )

Clear the geometry inputs. Note that this should be done before the VEX_Instance is released (e.g. via CVEX_RunData::clear()) to avoid reusing a VEX_Instance with stale geometry inputs.

const GU_Detail* GU_VexGeoInputs::getInput ( int  idx) const
inline

Definition at line 54 of file GU_SopResolver.h.

void* GU_VexGeoInputs::getVexCache ( int  idx) const
inline

The GVEX layer stores the cache for the input in these structures, this ensures each invocation of VEX will have its own cache. The GU_VexGeoInputs should thus be shared across threads to ensure separate threads use the same cache (so point clouds are not built twice, etc)

Definition at line 93 of file GU_SopResolver.h.

void* GU_VexGeoInputs::getVexCache ( const UT_StringRef key) const
inline

Definition at line 103 of file GU_SopResolver.h.

exint GU_VexGeoInputs::maxInputIdx ( ) const
inline

Definition at line 146 of file GU_SopResolver.h.

exint GU_VexGeoInputs::minInputIdx ( ) const
inline

Valid ranges are inclusive from minInputIdx to maXInputIdx. Note this can be negative!

Definition at line 145 of file GU_SopResolver.h.

const GU_Detail* GU_VexGeoInputs::peekInput ( int  idx) const
inline

When originally designed the idea was to allow delayed discovery of VEX inputs. In practice this proves infeasible, so we mandate all inputs are cooked & stored prior to execution. peekInput() and getInput() thus become equivalent.

Definition at line 50 of file GU_SopResolver.h.

void GU_VexGeoInputs::setInput ( int  idx,
const GU_Detail gdp 
)
inline

Does not gain ownership of gdp, the caller should keep it in scope until destruction

Definition at line 66 of file GU_SopResolver.h.

void GU_VexGeoInputs::setVexCache ( int  idx,
void cache 
)
inline

Definition at line 112 of file GU_SopResolver.h.

void GU_VexGeoInputs::setVexCache ( const UT_StringRef key,
void cache 
)
inline

Definition at line 133 of file GU_SopResolver.h.

Member Data Documentation

UT_ValArray<ClearCB *> GU_VexGeoInputs::myClearCBList
protected

Definition at line 158 of file GU_SopResolver.h.

UT_Array<const GU_Detail *> GU_VexGeoInputs::myNegInputCache
mutableprotected

Definition at line 152 of file GU_SopResolver.h.

UT_Array<void *> GU_VexGeoInputs::myNegVexGeoCache
mutableprotected

Definition at line 154 of file GU_SopResolver.h.

UT_Array<const GU_Detail *> GU_VexGeoInputs::myPosInputCache
mutableprotected

Definition at line 151 of file GU_SopResolver.h.

UT_Array<void *> GU_VexGeoInputs::myPosVexGeoCache
mutableprotected

Definition at line 153 of file GU_SopResolver.h.

UT_StringMap<void*> GU_VexGeoInputs::myVexGeoCacheMap
mutableprotected

Definition at line 155 of file GU_SopResolver.h.


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