HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CVEX_RunDataT< PREC > Class Template Reference

Per-run data for CVEX execution. More...

#include <CVEX_Context.h>

+ Inheritance diagram for CVEX_RunDataT< PREC >:

Public Member Functions

 CVEX_RunDataT ()
 
 ~CVEX_RunDataT ()
 
void clear ()
 Resets the run data for re-use. More...
 
void setTime (fpreal time)
 
void setCWDNodeId (int id)
 
void setWorldNodeId (int id)
 
void setOpCaller (UT_OpCaller *caller)
 
UT_OpCallergetOpCaller () const
 Access to the OP_Caller. More...
 
bool isTimeDependent () const
 
void setTimeSampleEncountered (bool v)
 Set flag indicating whether there are any time samples involved. More...
 
bool isTimeSampleEncountered () const
 
void setGeoInputs (const VEX_GeoInputs *geo)
 
const VEX_GeoInputsgetGeoInputs () const
 
void setProcId (exint *procid)
 
const exintgetProcId () const
 
void setGeoCommandQueue (VEX_GeoCommandQueue< PREC > *geocmd)
 Sets the command queue for this context. More...
 
VEX_GeoCommandQueue< PREC > * getGeoCommandQueue () const
 
VEX_ChannelCache * getChannelCache ()
 
VEX_FileCache * getFileCache ()
 
CVEX_TransformgetTransform ()
 
void setTimeDependent (bool v)
 
VEX_Instance< PREC > * getOrCreateInstance (const VEX_AssemblePtr &assemble, const UT_SharedPtr< VEX_AutoFoldedCode< PREC >> &code)
 
bool timeSpecified () const
 
bool timeDependent () const
 
int cwdId () const
 
int worldId () const
 
fpreal time () const
 

Additional Inherited Members

- Protected Member Functions inherited from UT_NonCopyableNS::UT_NonCopyable
 UT_NonCopyable ()=default
 
 ~UT_NonCopyable ()=default
 
 UT_NonCopyable (const UT_NonCopyable &)=delete
 
UT_NonCopyableoperator= (const UT_NonCopyable &)=delete
 

Detailed Description

template<VEX_Precision PREC>
class CVEX_RunDataT< PREC >

Per-run data for CVEX execution.

This class is used to set and retrieve data specific to an individual execution run using CVEX_Context::run().

Examples:
SOP/SOP_PrimVOP.C, and SOP/SOP_PrimVOP.h.

Definition at line 38 of file CVEX_Context.h.

Constructor & Destructor Documentation

template<VEX_Precision PREC>
CVEX_RunDataT< PREC >::CVEX_RunDataT ( )
template<VEX_Precision PREC>
CVEX_RunDataT< PREC >::~CVEX_RunDataT ( )

Member Function Documentation

template<VEX_Precision PREC>
void CVEX_RunDataT< PREC >::clear ( )

Resets the run data for re-use.

template<VEX_Precision PREC>
int CVEX_RunDataT< PREC >::cwdId ( ) const
inline

Accessors

Definition at line 140 of file CVEX_Context.h.

template<VEX_Precision PREC>
VEX_ChannelCache* CVEX_RunDataT< PREC >::getChannelCache ( )
inline

Definition at line 125 of file CVEX_Context.h.

template<VEX_Precision PREC>
VEX_FileCache* CVEX_RunDataT< PREC >::getFileCache ( )
inline

Definition at line 127 of file CVEX_Context.h.

template<VEX_Precision PREC>
VEX_GeoCommandQueue<PREC>* CVEX_RunDataT< PREC >::getGeoCommandQueue ( ) const
inline

Definition at line 120 of file CVEX_Context.h.

template<VEX_Precision PREC>
const VEX_GeoInputs* CVEX_RunDataT< PREC >::getGeoInputs ( ) const
inline

Definition at line 105 of file CVEX_Context.h.

template<VEX_Precision PREC>
UT_OpCaller* CVEX_RunDataT< PREC >::getOpCaller ( ) const
inline

Access to the OP_Caller.

Definition at line 80 of file CVEX_Context.h.

template<VEX_Precision PREC>
VEX_Instance<PREC>* CVEX_RunDataT< PREC >::getOrCreateInstance ( const VEX_AssemblePtr assemble,
const UT_SharedPtr< VEX_AutoFoldedCode< PREC >> &  code 
)

Get the cached VEX_Instance, which can be reused for multiple runs until clear() is called. This ensures that local word data (e.g. geometry bindings) remain the same between runs.

template<VEX_Precision PREC>
const exint* CVEX_RunDataT< PREC >::getProcId ( ) const
inline

Definition at line 113 of file CVEX_Context.h.

template<VEX_Precision PREC>
CVEX_Transform& CVEX_RunDataT< PREC >::getTransform ( )
inline

Every VEX function has a transform context associated with it. This transform context is used by VEX functions like ptransform() to provide ways to transform to other spaces (like "space:world" or "space:object"). This method allows you to modify the transform context of this shader.

Definition at line 134 of file CVEX_Context.h.

template<VEX_Precision PREC>
bool CVEX_RunDataT< PREC >::isTimeDependent ( ) const
inline

Returns true when, after running the CVEX_Context, a ch() function reported that it was time dependent.

Examples:
SOP/SOP_PrimVOP.C.

Definition at line 84 of file CVEX_Context.h.

template<VEX_Precision PREC>
bool CVEX_RunDataT< PREC >::isTimeSampleEncountered ( ) const
inline

Returns true when, after running the CVEX_Context, a usd_attrib() function reported that it has some time samples (values at time codes).

Definition at line 94 of file CVEX_Context.h.

template<VEX_Precision PREC>
void CVEX_RunDataT< PREC >::setCWDNodeId ( int  id)
inline

Sets the operator working directory. This is used by ch() style vex functions to determine where the relative path for path resolution should be. Use OP_Node::getUniqueId() to pass this in.

Definition at line 60 of file CVEX_Context.h.

template<VEX_Precision PREC>
void CVEX_RunDataT< PREC >::setGeoCommandQueue ( VEX_GeoCommandQueue< PREC > *  geocmd)
inline

Sets the command queue for this context.

Examples:
SOP/SOP_PrimVOP.C.

Definition at line 116 of file CVEX_Context.h.

template<VEX_Precision PREC>
void CVEX_RunDataT< PREC >::setGeoInputs ( const VEX_GeoInputs geo)
inline

Sets the geo input callback for controlling how opinput: references are handled

Definition at line 101 of file CVEX_Context.h.

template<VEX_Precision PREC>
void CVEX_RunDataT< PREC >::setOpCaller ( UT_OpCaller caller)
inline

Sets the OP callback. This is used to setup dependencies on any referenced op: expressions. Can be applied to the context at any time.

Examples:
SOP/SOP_PrimVOP.C.

Definition at line 74 of file CVEX_Context.h.

template<VEX_Precision PREC>
void CVEX_RunDataT< PREC >::setProcId ( exint procid)
inline

Sets the proc id array. Owned by the caller. Must be at least the length of your size.

Examples:
SOP/SOP_PrimVOP.C.

Definition at line 109 of file CVEX_Context.h.

template<VEX_Precision PREC>
void CVEX_RunDataT< PREC >::setTime ( fpreal  time)
inline

Set the evaluation time. This is what will be used by op: references triggered by VEX commands like volumesample. If not set, the current channel time is used instead (if an OP_Director is available).

Examples:
SOP/SOP_PrimVOP.C.

Definition at line 50 of file CVEX_Context.h.

template<VEX_Precision PREC>
void CVEX_RunDataT< PREC >::setTimeDependent ( bool  v)
inline

Set as time dependent flag

Examples:
SOP/SOP_PrimVOP.C.

Definition at line 145 of file CVEX_Context.h.

template<VEX_Precision PREC>
void CVEX_RunDataT< PREC >::setTimeSampleEncountered ( bool  v)
inline

Set flag indicating whether there are any time samples involved.

Definition at line 87 of file CVEX_Context.h.

template<VEX_Precision PREC>
void CVEX_RunDataT< PREC >::setWorldNodeId ( int  id)
inline

The world id is the node which defines the transform space for the CWD. If it's not defined the object containing the CWD will be used (or the CWD if it's not part of an object network)

Definition at line 67 of file CVEX_Context.h.

template<VEX_Precision PREC>
fpreal CVEX_RunDataT< PREC >::time ( ) const
inline

Accessors

Definition at line 142 of file CVEX_Context.h.

template<VEX_Precision PREC>
bool CVEX_RunDataT< PREC >::timeDependent ( ) const
inline

Accessors

Definition at line 139 of file CVEX_Context.h.

template<VEX_Precision PREC>
bool CVEX_RunDataT< PREC >::timeSpecified ( ) const
inline

Accessors

Definition at line 138 of file CVEX_Context.h.

template<VEX_Precision PREC>
int CVEX_RunDataT< PREC >::worldId ( ) const
inline

Accessors

Definition at line 141 of file CVEX_Context.h.


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