| HDK
    | 
#include <GT_PrimFragments.h>
 Inheritance diagram for GT_PrimFragments:
 Inheritance diagram for GT_PrimFragments:| Public Member Functions | |
| GT_PrimFragments () | |
| GT_PrimFragments (const GT_PrimitiveHandle &geometry, const GT_GEODetailListHandle &source=GT_GEODetailListHandle()) | |
| GT_PrimFragments (const GT_PrimFragments &src) | |
| ~GT_PrimFragments () override | |
| void | setupFragments (const GT_GEOOffsetList &primitives, const GT_GEOOffsetList &vertices, const GT_GEOOffsetList &points, const GT_DataArrayHandle ¢roids) | 
| GT_Size | entries () const | 
| Return number of fragments.  More... | |
| const GT_PrimitiveHandle & | geometry () const | 
| Return combined geometry.  More... | |
| const GT_DataArrayHandle & | centroids () const | 
| Return fragment centroids (where to render decorations)  More... | |
| const char * | className () const override | 
| int | getPrimitiveType () const override | 
| void | enlargeBounds (UT_BoundingBox boxes[], int nsegs) const override | 
| void | enlargeRenderBounds (UT_BoundingBox boxes[], int nsegs) const override | 
| void | getVelocityRange (UT_Vector3 &vmin, UT_Vector3 &vmax, const UT_StringRef &attribute_name) const override | 
| bool | refine (GT_Refine &refiner, const GT_RefineParms *parms=NULL) const override | 
| int | getMotionSegments () const override | 
| int64 | getMemoryUsage () const override | 
| bool | save (UT_JSONWriter &w) const override | 
| fpreal | computePerimeter (int seg=0) const override | 
| fpreal | computeSurfaceArea (int seg=0) const override | 
| fpreal | computeVolume (const UT_Vector3 &ref_P, int seg=0) const override | 
| GT_PrimitiveHandle | doHarden () const override | 
| GT_PrimitiveHandle | doSoftCopy () const override | 
| const GT_ViewportRefineOptions & | viewportRefineOptions () const override | 
| const GT_AttributeListHandle & | getUniformAttributes () const override | 
| const GT_GEODetailListHandle & | sourceGeometry () const | 
| void | setSourceGeometry (const GT_GEODetailListHandle &g) | 
|  Public Member Functions inherited from GT_Primitive | |
| GT_Primitive () | |
| GT_Primitive (const GT_Primitive &src) | |
| virtual | ~GT_Primitive () | 
| virtual bool | getUniqueID (int64 &id) const | 
| const GT_TransformHandle & | getPrimitiveTransform () const | 
| void | setPrimitiveTransform (const GT_TransformHandle &x) | 
| Set the transform for a the primitive.  More... | |
| GT_PrimitiveHandle | clone () const | 
| virtual bool | hasDataArray (const UT_StringRef &name, GT_Owner owner_scope[], int num_owners, GT_Storage *storage=NULL, GT_Size *tuple_size=NULL) const | 
| virtual bool | updateGeoPrim (const GU_ConstDetailHandle &dtl, const GT_RefineParms &parms) | 
| update any cached data for geometry and its attributes  More... | |
| void | setStaticGeometry (bool static_geo) | 
| Return true if the primitive represents geometry at frame 'fr'.  More... | |
| bool | isStaticGeometry () const | 
| bool | isFrameInfoAvailable () const | 
| bool | getDataIdHash (int64 &hash, int segment=0, bool cache_data_id=false) const | 
| virtual bool | getTopologyVersion (int64 &version) const | 
| Returns the topology version for the primitive.  More... | |
| GT_DataArrayHandle | findAttribute (const UT_StringRef &name, GT_Owner &owner, int segment) const | 
| void | dumpAttributeLists (const char *label, bool data_too) const | 
| print out all attribute lists  More... | |
| void | dumpPrimitive () const | 
| bool | saveAttributeLists (UT_JSONWriter &w) const | 
| GT_PrimitiveHandle | harden () const | 
| GT_PrimitiveHandle | copyTransformed (const GT_TransformHandle &x, bool force=false) const | 
| void | refineCopyTransformFrom (const GT_Primitive &src) | 
| GT_PrimitiveHandle | attributeMerge (const GT_Primitive &src, const UT_StringMMPattern *vertex_pattern, const UT_StringMMPattern *point_pattern, const UT_StringMMPattern *uniform_pattern, const UT_StringMMPattern *detail_pattern) const | 
| virtual GT_PrimitiveHandle | doAttributeMerge (const GT_Primitive &src, const UT_StringMMPattern *vertex, const UT_StringMMPattern *point, const UT_StringMMPattern *uniform, const UT_StringMMPattern *detail) const | 
| The virtual implementation of attribute merging.  More... | |
| bool | enlargeWidth (UT_BoundingBox boxes[], int nsegments, fpreal defwidth=-1) const | 
| virtual const GT_AttributeListHandle & | getPointAttributes () const | 
| virtual const GT_AttributeListHandle & | getVertexAttributes () const | 
| virtual const GT_AttributeListHandle & | getDetailAttributes () const | 
| const GT_AttributeListHandle & | getAttributeList (GT_Owner owner) const | 
| virtual const GT_DataArrayHandle & | getVertexList () const | 
| virtual GT_DataArrayHandle | createPointNormals (int segment=0, const UT_StringRef &P=GA_Names::P, bool normalize=true, const fpreal32 *pntdata=NULL, GT_Storage store=GT_STORE_REAL32) const | 
|  Public Member Functions inherited from UT_IntrusiveRefCounter< GT_Primitive > | |
| SYS_FORCE_INLINE | UT_IntrusiveRefCounter () noexcept | 
| Default constructor: Sets counter to 0.  More... | |
| SYS_FORCE_INLINE | UT_IntrusiveRefCounter (const UT_IntrusiveRefCounter &) noexcept | 
| Copy constructor: Sets counter to 0.  More... | |
| UT_IntrusiveRefCounter & | operator= (const UT_IntrusiveRefCounter &) noexcept | 
| Assignment operator: Does not modify counter.  More... | |
| SYS_FORCE_INLINE uint32 | use_count () const noexcept | 
| Return current counter.  More... | |
| SYS_FORCE_INLINE bool | conditionalAddRef () noexcept | 
| Protected Member Functions | |
| void | setFragmentAttributes (const GT_DataArrayHandle &prim_ids, const GT_DataArrayHandle &vertex_ids, const GT_DataArrayHandle &point_ids) | 
| void | doEnlargeBounds (UT_BoundingBox boxes[], int nsegs, bool forrender) const | 
|  Protected Member Functions inherited from GT_Primitive | |
| void | enlargeP (UT_BoundingBox &box, const GT_AttributeListHandle &list, int segment) const | 
| void | enlargeP (UT_BoundingBox &B, const GT_DataArrayHandle &P) const | 
| Convenience method to enlarge a bounding box given a position attribute.  More... | |
| void | enlargePw (UT_BoundingBox &B, const GT_DataArrayHandle &P) const | 
|  Protected Member Functions inherited from UT_IntrusiveRefCounter< GT_Primitive > | |
| SYS_FORCE_INLINE | ~UT_IntrusiveRefCounter () | 
| Destructor: Only derived classes can destruct this.  More... | |
| Protected Attributes | |
| GT_PrimitiveHandle | myGeometry | 
| GT_AttributeListHandle | myAttributes | 
| GT_GEODetailListHandle | mySourceGeometry | 
| GT_DataArrayHandle | myCentroids | 
| Additional Inherited Members | |
|  Static Public Member Functions inherited from GT_Primitive | |
| static int | createPrimitiveTypeId () | 
| static GT_AttributeListHandle | mergeAttributeLists (bool &changed, const GT_AttributeListHandle &src, const GT_AttributeListHandle &merge, const UT_StringMMPattern *pattern, const UT_StringMMPattern *alternate=NULL) | 
| static bool | computeVelocityRange (UT_Vector3 &vmin, UT_Vector3 &vmax, const GT_DataArrayHandle &v) | 
| static GT_PrimitiveHandle | refineDetail (const GU_ConstDetailHandle &detail, const GT_RefineParms *parms) | 
| static GT_PrimitiveHandle | refinePrimitive (const GT_PrimitiveHandle &primh, const GT_RefineParms *parms) | 
| static void * | operator new (size_t size) | 
| static void * | operator new (size_t size, void *p) | 
| static void | operator delete (void *p, size_t size) | 
A primitive made of multiple fragments that are coalesced into one geometry
For each fragment, you can query:
Attributes are:
Definition at line 36 of file GT_PrimFragments.h.
| GT_PrimFragments::GT_PrimFragments | ( | ) | 
| GT_PrimFragments::GT_PrimFragments | ( | const GT_PrimitiveHandle & | geometry, | 
| const GT_GEODetailListHandle & | source = GT_GEODetailListHandle() | ||
| ) | 
| GT_PrimFragments::GT_PrimFragments | ( | const GT_PrimFragments & | src | ) | 
| 
 | override | 
| 
 | inline | 
Return fragment centroids (where to render decorations)
Definition at line 95 of file GT_PrimFragments.h.
| 
 | overridevirtual | 
Interface from GT_Primitive
Implements GT_Primitive.
Interface from GT_Primitive
Reimplemented from GT_Primitive.
Interface from GT_Primitive
Reimplemented from GT_Primitive.
| 
 | overridevirtual | 
Interface from GT_Primitive
Reimplemented from GT_Primitive.
| 
 | protected | 
| 
 | overridevirtual | 
Interface from GT_Primitive
Reimplemented from GT_Primitive.
| 
 | overridevirtual | 
Interface from GT_Primitive
Implements GT_Primitive.
| 
 | inlineoverridevirtual | 
Interface from GT_Primitive
Implements GT_Primitive.
Definition at line 49 of file GT_PrimFragments.h.
| 
 | inlineoverridevirtual | 
Interface from GT_Primitive
Reimplemented from GT_Primitive.
Definition at line 52 of file GT_PrimFragments.h.
| 
 | inline | 
Return number of fragments.
Definition at line 87 of file GT_PrimFragments.h.
| 
 | inline | 
Return combined geometry.
Definition at line 91 of file GT_PrimFragments.h.
| 
 | overridevirtual | 
Interface from GT_Primitive
Implements GT_Primitive.
| 
 | overridevirtual | 
Interface from GT_Primitive
Implements GT_Primitive.
| 
 | overridevirtual | 
Interface from GT_Primitive
Reimplemented from GT_Primitive.
| 
 | inlineoverridevirtual | 
Interface from GT_Primitive
Reimplemented from GT_Primitive.
Definition at line 71 of file GT_PrimFragments.h.
| 
 | overridevirtual | 
Interface from GT_Primitive
Reimplemented from GT_Primitive.
| 
 | overridevirtual | 
Interface from GT_Primitive
Reimplemented from GT_Primitive.
| 
 | overridevirtual | 
Interface from GT_Primitive
Reimplemented from GT_Primitive.
| 
 | protected | 
Set up __primitive_id, __point_id and __vertex_id explicitly The arrays can be NULL.
| 
 | inline | 
If the geometry being instanced comes from a GU_Detail, then the source geometry should be set to point to this geometry. This lets viewport decorations be rendered properly.
Definition at line 103 of file GT_PrimFragments.h.
| void GT_PrimFragments::setupFragments | ( | const GT_GEOOffsetList & | primitives, | 
| const GT_GEOOffsetList & | vertices, | ||
| const GT_GEOOffsetList & | points, | ||
| const GT_DataArrayHandle & | centroids | ||
| ) | 
Set up __primitive_id, __point_id and transforms based on fragment primitives. This assumes that the primitives are all packed primitives of some kind (and have a single point).
The centroids should likely be in the center of the transformed bounding box.
| 
 | inline | 
If the geometry being instanced comes from a GU_Detail, then the source geometry should be set to point to this geometry. This lets viewport decorations be rendered properly.
Definition at line 101 of file GT_PrimFragments.h.
| 
 | overridevirtual | 
Interface from GT_Primitive
Reimplemented from GT_Primitive.
| 
 | protected | 
Definition at line 117 of file GT_PrimFragments.h.
| 
 | protected | 
Definition at line 119 of file GT_PrimFragments.h.
| 
 | protected | 
Definition at line 116 of file GT_PrimFragments.h.
| 
 | protected | 
Definition at line 118 of file GT_PrimFragments.h.