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

#include <GU_CESnippet.h>

Public Member Functions

 GU_CESnippetBindOp (GU_Detail *gdp=nullptr)
 
void resetReferences ()
 Reset the working objects, but leave pinned buffers intact. More...
 
void addReference (GA_CEAttributeAccessorPtr access)
 Add an accessor as a reference to hold. More...
 
void setGdp (GU_Detail *gdp)
 
void setRefVol (const GEO_PrimVolume *vol)
 
bool requiresHas (const CE_Snippet::Binding &binding, CE_Precision precision) const
 Is this binding optional, and if so, does it exist in the geometry? More...
 
bool operator() (const CE_Snippet::Binding &binding, int p, cl::Kernel &kernel, int &argidx, UT_ErrorManager *error, CE_Precision precision) const
 
void resetPinnedBuffers ()
 

Static Public Member Functions

static GA_AttributeOwner attribClassToOwner (CE_Snippet::BindingAttribClass cls)
 
static
CE_Snippet::BindingAttribClass 
ownerToAttribClass (GA_AttributeOwner owner)
 

Protected Member Functions

bool setAttribute (const CE_Snippet::Binding &binding, int p, cl::Kernel &kernel, int &argidx, UT_ErrorManager *error, CE_Precision precision) const
 
bool setVolume (const CE_Snippet::Binding &binding, int p, cl::Kernel &kernel, int &argidx, UT_ErrorManager *error, CE_Precision precision) const
 
bool setVDB (const CE_Snippet::Binding &binding, int p, cl::Kernel &kernel, int &argidx, UT_ErrorManager *error, CE_Precision precision) const
 

Protected Attributes

GU_DetailmyGdp
 
const GEO_PrimVolumemyRefVol
 
UT_Array
< GA_CEAttributeAccessorPtr
myAttribs
 Attribute accessors that are pinned. More...
 
UT_Array< CE_BVHmyBVHs
 Temporary attribute BVH objects created on demand (TODO: remove). More...
 
UT_Array< UT_UniquePtr
< GU_OSDEval > > 
myOSDEvals
 OSD evaluators per input, and refined CP buffers per OSD binding. More...
 
UT_Array< UT_UniquePtr
< CE_FloatArray > > 
myOSDRefined
 

Detailed Description

Definition at line 26 of file GU_CESnippet.h.

Constructor & Destructor Documentation

GU_CESnippetBindOp::GU_CESnippetBindOp ( GU_Detail gdp = nullptr)
inline

Definition at line 29 of file GU_CESnippet.h.

Member Function Documentation

void GU_CESnippetBindOp::addReference ( GA_CEAttributeAccessorPtr  access)
inline

Add an accessor as a reference to hold.

Definition at line 43 of file GU_CESnippet.h.

static GA_AttributeOwner GU_CESnippetBindOp::attribClassToOwner ( CE_Snippet::BindingAttribClass  cls)
static
bool GU_CESnippetBindOp::operator() ( const CE_Snippet::Binding binding,
int  p,
cl::Kernel kernel,
int argidx,
UT_ErrorManager error,
CE_Precision  precision 
) const
static CE_Snippet::BindingAttribClass GU_CESnippetBindOp::ownerToAttribClass ( GA_AttributeOwner  owner)
static
bool GU_CESnippetBindOp::requiresHas ( const CE_Snippet::Binding binding,
CE_Precision  precision 
) const

Is this binding optional, and if so, does it exist in the geometry?

void GU_CESnippetBindOp::resetPinnedBuffers ( )
inline

Clear all buffers that were pinned during the binding process Should only be done after the kernel has been dispatched. Usually just let the destructor handle this.

Definition at line 60 of file GU_CESnippet.h.

void GU_CESnippetBindOp::resetReferences ( )
inline

Reset the working objects, but leave pinned buffers intact.

Definition at line 40 of file GU_CESnippet.h.

bool GU_CESnippetBindOp::setAttribute ( const CE_Snippet::Binding binding,
int  p,
cl::Kernel kernel,
int argidx,
UT_ErrorManager error,
CE_Precision  precision 
) const
protected
void GU_CESnippetBindOp::setGdp ( GU_Detail gdp)
inline

Definition at line 46 of file GU_CESnippet.h.

void GU_CESnippetBindOp::setRefVol ( const GEO_PrimVolume vol)
inline

Definition at line 47 of file GU_CESnippet.h.

bool GU_CESnippetBindOp::setVDB ( const CE_Snippet::Binding binding,
int  p,
cl::Kernel kernel,
int argidx,
UT_ErrorManager error,
CE_Precision  precision 
) const
protected
bool GU_CESnippetBindOp::setVolume ( const CE_Snippet::Binding binding,
int  p,
cl::Kernel kernel,
int argidx,
UT_ErrorManager error,
CE_Precision  precision 
) const
protected

Member Data Documentation

UT_Array<GA_CEAttributeAccessorPtr> GU_CESnippetBindOp::myAttribs
mutableprotected

Attribute accessors that are pinned.

Definition at line 83 of file GU_CESnippet.h.

UT_Array<CE_BVH> GU_CESnippetBindOp::myBVHs
mutableprotected

Temporary attribute BVH objects created on demand (TODO: remove).

Definition at line 85 of file GU_CESnippet.h.

GU_Detail* GU_CESnippetBindOp::myGdp
protected

Definition at line 79 of file GU_CESnippet.h.

UT_Array<UT_UniquePtr<GU_OSDEval> > GU_CESnippetBindOp::myOSDEvals
mutableprotected

OSD evaluators per input, and refined CP buffers per OSD binding.

Definition at line 87 of file GU_CESnippet.h.

UT_Array<UT_UniquePtr<CE_FloatArray> > GU_CESnippetBindOp::myOSDRefined
mutableprotected

Definition at line 88 of file GU_CESnippet.h.

const GEO_PrimVolume* GU_CESnippetBindOp::myRefVol
protected

Definition at line 80 of file GU_CESnippet.h.


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