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

Keeps a list of GU_Detail pointers. More...

#include <GT_GEODetailList.h>

Classes

class  iterator
 Class to traverse over the geometry for each segment. More...
 

Public Types

enum  GT_GEOIncludePoint { GEO_SKIP_POINT = false, GEO_INCLUDE_POINT = true }
 
enum  GT_GEOIncludePrimitive { GEO_SKIP_PRIMITIVE = false, GEO_INCLUDE_PRIMITIVE = true }
 
enum  GT_GEOIncludeDetail { GEO_SKIP_DETAIL = false, GEO_INCLUDE_DETAIL = true }
 

Public Member Functions

 GT_GEODetailList ()
 Default constructor. More...
 
 GT_GEODetailList (const GU_ConstDetailHandle *list, int size)
 Useful constructor. More...
 
 GT_GEODetailList (const GU_ConstDetailHandle &gdp)
 
 GT_GEODetailList (const GT_GEODetailList &src)
 Copy constructor. More...
 
 ~GT_GEODetailList ()
 
GT_GEODetailListoperator= (const GT_GEODetailList &src)
 Assignment operator. More...
 
int entries () const
 Return number of details in the list. More...
 
int getMotionSegments () const
 Return number of details in the list. More...
 
GU_ConstDetailHandledetailHandles () const
 Return a list of all the GU_ConstDetailHandles associated with this list. More...
 
const GU_ConstDetailHandlegetGeometry (int segment) const
 Return a specific element. More...
 
const GU_ConstDetailHandleoperator() (int segment) const
 () operator More...
 
bool fillPrimitiveSegments (const GEO_Primitive **list, GA_Offset prim_offset) const
 
iterator begin () const
 
GT_AttributeListHandle getPointAttributes (const GT_GEOAttributeFilter &filter, const GT_GEOOffsetList *pt_offsets=NULL, bool add_point_id_attribute=false, bool add_point_normals_if_missing=false) const
 Get an attribute handle list for point attributes. More...
 
GT_AttributeListHandle getVertexAttributes (const GT_GEOAttributeFilter &filter, const GT_GEOOffsetList *vtx_offsets=NULL, GT_GEOIncludePoint pt=GEO_SKIP_POINT, GA_AttributeOwner add_normals_to_if_missing=GA_ATTRIB_INVALID, float cusp_angle=GEO_DEFAULT_ADJUSTED_CUSP_ANGLE) const
 Get an attribute handle list for vertex attributes. More...
 
GT_AttributeListHandle getPrimitiveAttributes (const GT_GEOAttributeFilter &filter, const GT_GEOOffsetList *prim_offsets=NULL, GT_GEOIncludeDetail det=GEO_SKIP_DETAIL, bool add_topology_data_id=true, GT_DataArrayHandle mat_id=NULL, GT_DataArrayHandle mat_remap=NULL) const
 Get attribute handle for the primitive attributes. More...
 
GT_AttributeListHandle getPrimitiveVertexAttributes (const GT_GEOAttributeFilter &filter, const GT_GEOOffsetList &prim_offsets, const GT_GEOOffsetList &vertex_offsets, GT_GEOIncludePoint pt=GEO_SKIP_POINT, GT_GEOIncludeDetail det=GEO_SKIP_DETAIL, GT_DataArrayHandle mat_id=NULL, GT_DataArrayHandle mat_remap=NULL) const
 Return the attribute list for primitives that have a single vertex. More...
 
GT_AttributeListHandle getDetailAttributes (const GT_GEOAttributeFilter &filter, bool add_topology_data_id=true, GT_DataArrayHandle mat_id=NULL, GT_DataArrayHandle mat_remap=NULL) const
 Get the attribute list handle for the detail attributes. More...
 
GT_FaceSetMapPtr buildFaceSets (const GT_GEOOffsetList &prim_offsets, int faceset_mode) const
 
GT_ElementSetMapPtr buildPrimitiveSets (const GT_GEOOffsetList &prim_offsets, int faceset_mode) const
 
GT_ElementSetMapPtr buildPointSets (const GT_DataArrayHandle &point_ids, int faceset_mode) const
 
GT_AttributeListHandle createVertex (const GEO_Primitive *const *list, int nsegments, GT_GEOIncludePoint pt=GEO_SKIP_POINT, const GT_GEOAttributeFilter *f=NULL) const
 Create vertex attributes for a list of primitives for this geometry. More...
 
GT_AttributeListHandle createPrimitiveVertex (const GEO_Primitive *const *list, int nsegments, GT_GEOIncludePoint pt=GEO_SKIP_POINT, GT_GEOIncludeDetail det=GEO_SKIP_DETAIL, const GT_GEOAttributeFilter *f=NULL) const
 
GT_AttributeListHandle createPrimitive (const GEO_Primitive *const *list, int nsegments, GT_GEOIncludeDetail det=GEO_SKIP_DETAIL, bool add_topology_data_id=true, const GT_GEOAttributeFilter *f=NULL) const
 
GT_AttributeListHandle createDetail (const GEO_Primitive *const *list, int nsegments, bool add_topology_data_id=true, const GT_GEOAttributeFilter *f=NULL) const
 Create detail attributes for this geometry. More...
 
GA_Offset primitiveId () const
 
void setPrimitiveId (GA_Offset offset)
 
GA_Offset vertexId () const
 
void setVertexId (GA_Offset offset)
 
GA_Offset pointId () const
 
void setPointId (GA_Offset offset)
 

Static Public Member Functions

static GT_DataArrayHandle fillPrimitiveIntrinsic (const GU_Detail &gdp, const char *intrinsic_name, const GT_Primitive &prim)
 
static bool findPrimitiveIntrinsic (const GU_Detail &gdp, const char *intrinsic_name, const GT_Primitive &prim, GT_Storage &storage, int &tuple_size)
 
static GT_AttributeListHandle createVertexAttributes (const GU_ConstDetailHandle *dlist, const GEO_Primitive *const *list, int nsegments, GT_GEOIncludePoint pt=GEO_SKIP_POINT, const GT_GEOAttributeFilter *f=NULL)
 
static GT_AttributeListHandle createPrimitiveVertexAttributes (const GU_ConstDetailHandle *dlist, const GEO_Primitive *const *list, int nsegments, GT_GEOIncludePoint pt=GEO_SKIP_POINT, GT_GEOIncludeDetail det=GEO_SKIP_DETAIL, const GT_GEOAttributeFilter *f=NULL, GT_DataArrayHandle mat_id=NULL)
 
static GT_AttributeListHandle createPrimitiveAttributes (const GU_ConstDetailHandle *dlist, const GEO_Primitive *const *list, int nsegments, GT_GEOIncludeDetail det=GEO_SKIP_DETAIL, bool add_topology_data_id=true, const GT_GEOAttributeFilter *f=NULL)
 
static GT_AttributeListHandle createDetailAttributes (const GU_ConstDetailHandle *dlist, const GEO_Primitive *const *list, int nsegments, bool add_topology_data_id=true, const GT_GEOAttributeFilter *f=NULL)
 Create a detail attribute list for a list of primitives. More...
 

Detailed Description

Keeps a list of GU_Detail pointers.

Definition at line 28 of file GT_GEODetailList.h.

Member Enumeration Documentation

Whether to include detail attributes when creating vertex/primitive attribute lists

Enumerator
GEO_SKIP_DETAIL 
GEO_INCLUDE_DETAIL 

Definition at line 202 of file GT_GEODetailList.h.

Whether to include point attributes when creating vertex attribute lists

Enumerator
GEO_SKIP_POINT 
GEO_INCLUDE_POINT 

Definition at line 188 of file GT_GEODetailList.h.

Whether to include primitive attributes when creating vertex attribute lists

Enumerator
GEO_SKIP_PRIMITIVE 
GEO_INCLUDE_PRIMITIVE 

Definition at line 195 of file GT_GEODetailList.h.

Constructor & Destructor Documentation

GT_GEODetailList::GT_GEODetailList ( )
inline

Default constructor.

Definition at line 32 of file GT_GEODetailList.h.

GT_GEODetailList::GT_GEODetailList ( const GU_ConstDetailHandle list,
int  size 
)
inline

Useful constructor.

Definition at line 40 of file GT_GEODetailList.h.

GT_GEODetailList::GT_GEODetailList ( const GU_ConstDetailHandle gdp)
inline

Definition at line 62 of file GT_GEODetailList.h.

GT_GEODetailList::GT_GEODetailList ( const GT_GEODetailList src)
inline

Copy constructor.

Definition at line 72 of file GT_GEODetailList.h.

GT_GEODetailList::~GT_GEODetailList ( )
inline

Definition at line 81 of file GT_GEODetailList.h.

Member Function Documentation

iterator GT_GEODetailList::begin ( void  ) const
inline

Definition at line 184 of file GT_GEODetailList.h.

GT_FaceSetMapPtr GT_GEODetailList::buildFaceSets ( const GT_GEOOffsetList prim_offsets,
int  faceset_mode 
) const
inline

Build face sets. Please see GT_RefineParms for the values for faceset_mode

Definition at line 256 of file GT_GEODetailList.h.

GT_ElementSetMapPtr GT_GEODetailList::buildPointSets ( const GT_DataArrayHandle point_ids,
int  faceset_mode 
) const

Build point sets from point groups. Please see GT_RefineParms for the values for faceset_mode.

GT_ElementSetMapPtr GT_GEODetailList::buildPrimitiveSets ( const GT_GEOOffsetList prim_offsets,
int  faceset_mode 
) const

Build primitive sets. Please see GT_RefineParms for the values for faceset_mode

GT_AttributeListHandle GT_GEODetailList::createDetail ( const GEO_Primitive *const *  list,
int  nsegments,
bool  add_topology_data_id = true,
const GT_GEOAttributeFilter f = NULL 
) const
inline

Create detail attributes for this geometry.

Definition at line 312 of file GT_GEODetailList.h.

static GT_AttributeListHandle GT_GEODetailList::createDetailAttributes ( const GU_ConstDetailHandle dlist,
const GEO_Primitive *const *  list,
int  nsegments,
bool  add_topology_data_id = true,
const GT_GEOAttributeFilter f = NULL 
)
static

Create a detail attribute list for a list of primitives.

GT_AttributeListHandle GT_GEODetailList::createPrimitive ( const GEO_Primitive *const *  list,
int  nsegments,
GT_GEOIncludeDetail  det = GEO_SKIP_DETAIL,
bool  add_topology_data_id = true,
const GT_GEOAttributeFilter f = NULL 
) const
inline

Create primitive attributes for a list of primitives for this geometry, optionally including detail attributes for the list.

Definition at line 300 of file GT_GEODetailList.h.

static GT_AttributeListHandle GT_GEODetailList::createPrimitiveAttributes ( const GU_ConstDetailHandle dlist,
const GEO_Primitive *const *  list,
int  nsegments,
GT_GEOIncludeDetail  det = GEO_SKIP_DETAIL,
bool  add_topology_data_id = true,
const GT_GEOAttributeFilter f = NULL 
)
static

Create primitive attributes for a list of primitives, optionally including detail attributes for the list.

GT_AttributeListHandle GT_GEODetailList::createPrimitiveVertex ( const GEO_Primitive *const *  list,
int  nsegments,
GT_GEOIncludePoint  pt = GEO_SKIP_POINT,
GT_GEOIncludeDetail  det = GEO_SKIP_DETAIL,
const GT_GEOAttributeFilter f = NULL 
) const
inline

Create primitive & vertex attributes for a list of primitives of this geometry.

Definition at line 287 of file GT_GEODetailList.h.

static GT_AttributeListHandle GT_GEODetailList::createPrimitiveVertexAttributes ( const GU_ConstDetailHandle dlist,
const GEO_Primitive *const *  list,
int  nsegments,
GT_GEOIncludePoint  pt = GEO_SKIP_POINT,
GT_GEOIncludeDetail  det = GEO_SKIP_DETAIL,
const GT_GEOAttributeFilter f = NULL,
GT_DataArrayHandle  mat_id = NULL 
)
static

Create primitive & vertex attributes for a list of primitives. Each primitive should have a single vertex. If the user requests to include_point_attributes, these attributes will be included in the list of returned attributes.

GT_AttributeListHandle GT_GEODetailList::createVertex ( const GEO_Primitive *const *  list,
int  nsegments,
GT_GEOIncludePoint  pt = GEO_SKIP_POINT,
const GT_GEOAttributeFilter f = NULL 
) const
inline

Create vertex attributes for a list of primitives for this geometry.

Definition at line 277 of file GT_GEODetailList.h.

static GT_AttributeListHandle GT_GEODetailList::createVertexAttributes ( const GU_ConstDetailHandle dlist,
const GEO_Primitive *const *  list,
int  nsegments,
GT_GEOIncludePoint  pt = GEO_SKIP_POINT,
const GT_GEOAttributeFilter f = NULL 
)
static

Create vertex attributes for a list of primitives. This will verify that all primitives have the same number and offsets of vertices. If this is not the case, the method will return an empty handle. If the user requests to include_point_attributes, these attributes will be included in the list of returned attributes.

GU_ConstDetailHandle* GT_GEODetailList::detailHandles ( ) const
inline

Return a list of all the GU_ConstDetailHandles associated with this list.

Definition at line 122 of file GT_GEODetailList.h.

int GT_GEODetailList::entries ( ) const
inline

Return number of details in the list.

Definition at line 101 of file GT_GEODetailList.h.

static GT_DataArrayHandle GT_GEODetailList::fillPrimitiveIntrinsic ( const GU_Detail gdp,
const char *  intrinsic_name,
const GT_Primitive prim 
)
static

Create a data array containing the value of primitive intrinsic attributes. The code handles the case where the attribute name is prefixed with "intrinsic:". The method uses the __primitive_id to perform the value lookup.

bool GT_GEODetailList::fillPrimitiveSegments ( const GEO_Primitive **  list,
GA_Offset  prim_offset 
) const

Fill the primitive list for the given offset. Returns false if there are mis-matched primitives:

  • The primitives have different factories
  • The detail has different
static bool GT_GEODetailList::findPrimitiveIntrinsic ( const GU_Detail gdp,
const char *  intrinsic_name,
const GT_Primitive prim,
GT_Storage storage,
int tuple_size 
)
static

Check intrinsic information for a given primtiive. Like fillPrimitiveIntrinsic(), this uses the __primtiive_id to perform the checks.

GT_AttributeListHandle GT_GEODetailList::getDetailAttributes ( const GT_GEOAttributeFilter filter,
bool  add_topology_data_id = true,
GT_DataArrayHandle  mat_id = NULL,
GT_DataArrayHandle  mat_remap = NULL 
) const

Get the attribute list handle for the detail attributes.

const GU_ConstDetailHandle& GT_GEODetailList::getGeometry ( int  segment) const
inline

Return a specific element.

Definition at line 125 of file GT_GEODetailList.h.

int GT_GEODetailList::getMotionSegments ( ) const
inline

Return number of details in the list.

Definition at line 105 of file GT_GEODetailList.h.

GT_AttributeListHandle GT_GEODetailList::getPointAttributes ( const GT_GEOAttributeFilter filter,
const GT_GEOOffsetList pt_offsets = NULL,
bool  add_point_id_attribute = false,
bool  add_point_normals_if_missing = false 
) const

Get an attribute handle list for point attributes.

GT_AttributeListHandle GT_GEODetailList::getPrimitiveAttributes ( const GT_GEOAttributeFilter filter,
const GT_GEOOffsetList prim_offsets = NULL,
GT_GEOIncludeDetail  det = GEO_SKIP_DETAIL,
bool  add_topology_data_id = true,
GT_DataArrayHandle  mat_id = NULL,
GT_DataArrayHandle  mat_remap = NULL 
) const

Get attribute handle for the primitive attributes.

GT_AttributeListHandle GT_GEODetailList::getPrimitiveVertexAttributes ( const GT_GEOAttributeFilter filter,
const GT_GEOOffsetList prim_offsets,
const GT_GEOOffsetList vertex_offsets,
GT_GEOIncludePoint  pt = GEO_SKIP_POINT,
GT_GEOIncludeDetail  det = GEO_SKIP_DETAIL,
GT_DataArrayHandle  mat_id = NULL,
GT_DataArrayHandle  mat_remap = NULL 
) const

Return the attribute list for primitives that have a single vertex.

GT_AttributeListHandle GT_GEODetailList::getVertexAttributes ( const GT_GEOAttributeFilter filter,
const GT_GEOOffsetList vtx_offsets = NULL,
GT_GEOIncludePoint  pt = GEO_SKIP_POINT,
GA_AttributeOwner  add_normals_to_if_missing = GA_ATTRIB_INVALID,
float  cusp_angle = GEO_DEFAULT_ADJUSTED_CUSP_ANGLE 
) const

Get an attribute handle list for vertex attributes.

const GU_ConstDetailHandle& GT_GEODetailList::operator() ( int  segment) const
inline

() operator

Definition at line 129 of file GT_GEODetailList.h.

GT_GEODetailList& GT_GEODetailList::operator= ( const GT_GEODetailList src)
inline

Assignment operator.

Definition at line 87 of file GT_GEODetailList.h.

GA_Offset GT_GEODetailList::pointId ( ) const
inline

Access to primitive/vertex/point offset overrides

Definition at line 116 of file GT_GEODetailList.h.

GA_Offset GT_GEODetailList::primitiveId ( ) const
inline

Access to primitive/vertex/point offset overrides

Definition at line 110 of file GT_GEODetailList.h.

void GT_GEODetailList::setPointId ( GA_Offset  offset)
inline

Access to primitive/vertex/point offset overrides

Definition at line 117 of file GT_GEODetailList.h.

void GT_GEODetailList::setPrimitiveId ( GA_Offset  offset)
inline

Access to primitive/vertex/point offset overrides

Definition at line 111 of file GT_GEODetailList.h.

void GT_GEODetailList::setVertexId ( GA_Offset  offset)
inline

Access to primitive/vertex/point offset overrides

Definition at line 114 of file GT_GEODetailList.h.

GA_Offset GT_GEODetailList::vertexId ( ) const
inline

Access to primitive/vertex/point offset overrides

Definition at line 113 of file GT_GEODetailList.h.


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