11 #ifndef __GT_GEODetailList__
12 #define __GT_GEODetailList__
59 copyFrom(detail_list, list, size);
75 , myPrimitiveId(src.myPrimitiveId)
76 , myVertexId(src.myVertexId)
77 , myPointId(src.myPointId)
79 copyFrom(src.myList, src.mySize);
92 copyFrom(src.myList, src.mySize);
93 myPrimitiveId = src.myPrimitiveId;
94 myVertexId = src.myVertexId;
95 myPointId = src.myPointId;
112 { myPrimitiveId =
offset; }
126 {
return myList[
SYSmin(segment, mySize-1)]; }
130 {
return getGeometry(segment); }
145 const char *intrinsic_name,
151 static bool findPrimitiveIntrinsic(
153 const char *intrinsic_name,
166 bool atEnd()
const {
return myCurr >= mySize; }
173 {
return myList->getGeometry(myCurr); }
176 : myList(list), myCurr(0), mySize(myList->entries())
212 bool add_point_id_attribute=
false,
213 bool add_point_normals_if_missing=
false
229 bool add_topology_data_id=
true,
248 bool add_topology_data_id=
true,
296 nsegments, pt, det,
f);
304 bool add_topology_data_id=
true,
309 add_topology_data_id,
f);
315 bool add_topology_data_id=
true,
320 add_topology_data_id,
f);
356 bool add_topology_data_id=
true,
364 bool add_topology_data_id=
true,
371 void copyFrom(
const GU_ConstDetailhandle *detail_list,
GT_GEODetailList(const GU_ConstDetailHandle &gdp)
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)
GU_ConstDetailHandle * detailHandles() const
Return a list of all the GU_ConstDetailHandles associated with this list.
GT_GEODetailList(const GT_GEODetailList &src)
Copy constructor.
getFileOption("OpenEXR:storage") storage
Keeps a list of GU_Detail pointers.
Class to filter attributes when building GT_AttributeLists.
GT_FaceSetMapPtr buildFaceSets(const GT_GEOOffsetList &prim_offsets, int faceset_mode) const
const GU_ConstDetailHandle & getGeometry(int segment) const
Return a specific element.
#define GA_INVALID_OFFSET
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)
#define SYS_DEPRECATED_REPLACE(__V__, __R__)
#define GEO_DEFAULT_ADJUSTED_CUSP_ANGLE
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.
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
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.
GT_GEODetailList(const GU_ConstDetailHandle *list, int size)
Useful constructor.
Class to traverse over the geometry for each segment.
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)
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.
The base class for all GT primitive types.
GA_Offset vertexId() const
GA_Offset primitiveId() const
int getMotionSegments() const
Return number of details in the list.
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.
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.
GT_ElementSetMapPtr buildPointSets(const GT_DataArrayHandle &point_ids, int faceset_mode) const
GT_GEODetailList()
Default constructor.
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.
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 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.
GA_Offset pointId() const
const GU_ConstDetailHandle & getGeometry() 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.
GT_ElementSetMapPtr buildPrimitiveSets(const GT_GEOOffsetList &prim_offsets, int faceset_mode) 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
const GU_ConstDetailHandle & operator()(int segment) const
() operator
void setPrimitiveId(GA_Offset offset)
UT_SharedPtr< GT_GEODetailList > GT_GEODetailListHandle
void setPointId(GA_Offset offset)
void setVertexId(GA_Offset offset)
int entries() const
Return number of details in the list.
GT_GEODetailList & operator=(const GT_GEODetailList &src)
Assignment operator.
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter