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

Utility for efficiently building the GT_AttributeList for each owner type. More...

#include <attribListsBuilder.h>

Public Member Functions

void enablePointAttribs (exint num_points)
 
void enableVertexAttribs (exint num_vertices)
 
void enableUniformAttribs (exint num_uniform)
 
void enableDetailAttribs ()
 Enable collecting constant / detail attributes. More...
 
void setPromoteConstantAttribs (GT_Owner owner)
 
bool add (const GusdPrimvarInfo &info, const GT_DataArrayHandle &data)
 
GT_AttributeListHandle buildPointAttribs () const
 
GT_AttributeListHandle buildVertexAttribs () const
 
GT_AttributeListHandle buildUniformAttribs () const
 
GT_AttributeListHandle buildDetailAttribs ()
 

Detailed Description

Utility for efficiently building the GT_AttributeList for each owner type.

Definition at line 25 of file attribListsBuilder.h.

Member Function Documentation

bool GusdAttribListsBuilder::add ( const GusdPrimvarInfo &  info,
const GT_DataArrayHandle &  data 
)

Add an attribute to the appropriate owner's list. Constant attributes may be promoted to the owner configured by setPromoteConstantAttribs(). This may fail if, for example, the data array doesn't match the required number of entries, or if the owner type is not enabled.

GT_AttributeListHandle GusdAttribListsBuilder::buildDetailAttribs ( )

Build the GT_AttributeList for detail attributes. This may return nullptr if there aren't any attributes.

GT_AttributeListHandle GusdAttribListsBuilder::buildPointAttribs ( ) const

Build the GT_AttributeList for point attributes. This may return nullptr if there aren't any attributes.

GT_AttributeListHandle GusdAttribListsBuilder::buildUniformAttribs ( ) const

Build the GT_AttributeList for uniform attributes. This may return nullptr if there aren't any attributes.

GT_AttributeListHandle GusdAttribListsBuilder::buildVertexAttribs ( ) const

Build the GT_AttributeList for vertex attributes. This may return nullptr if there aren't any attributes.

void GusdAttribListsBuilder::enableDetailAttribs ( )

Enable collecting constant / detail attributes.

void GusdAttribListsBuilder::enablePointAttribs ( exint  num_points)

Enable collecting point attributes and configure the required number of entries for the arrays.

void GusdAttribListsBuilder::enableUniformAttribs ( exint  num_uniform)

Enable collecting uniform attributes and configure the required number of entries for the arrays.

void GusdAttribListsBuilder::enableVertexAttribs ( exint  num_vertices)

Enable collecting vertex attributes and configure the required number of entries for the arrays.

void GusdAttribListsBuilder::setPromoteConstantAttribs ( GT_Owner  owner)
inline

Configure whether constant attributes should be promoted to another owner. GT_OWNER_DETAIL disables promotion. (Note that GU_MergeUtils may layer promote mismatched detail attribs)

Definition at line 46 of file attribListsBuilder.h.


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