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:


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 ( )

Member Function Documentation

void GU_VexGeoInputs::addClearCB ( ClearCB cb)

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

Definition at line 54 of file GU_SopResolver.h.

void* GU_VexGeoInputs::getVexCache ( int  idx) const

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

Definition at line 103 of file GU_SopResolver.h.

exint GU_VexGeoInputs::maxInputIdx ( ) const

Definition at line 146 of file GU_SopResolver.h.

exint GU_VexGeoInputs::minInputIdx ( ) const

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

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 

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 

Definition at line 112 of file GU_SopResolver.h.

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

Definition at line 133 of file GU_SopResolver.h.

Member Data Documentation

UT_ValArray<ClearCB *> GU_VexGeoInputs::myClearCBList

Definition at line 158 of file GU_SopResolver.h.

UT_Array<const GU_Detail *> GU_VexGeoInputs::myNegInputCache

Definition at line 152 of file GU_SopResolver.h.

UT_Array<void *> GU_VexGeoInputs::myNegVexGeoCache

Definition at line 154 of file GU_SopResolver.h.

UT_Array<const GU_Detail *> GU_VexGeoInputs::myPosInputCache

Definition at line 151 of file GU_SopResolver.h.

UT_Array<void *> GU_VexGeoInputs::myPosVexGeoCache

Definition at line 153 of file GU_SopResolver.h.

UT_StringMap<void*> GU_VexGeoInputs::myVexGeoCacheMap

Definition at line 155 of file GU_SopResolver.h.

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