11 #ifndef __GT_PrimCollect__
12 #define __GT_PrimCollect__
26 typedef UT_ConcurrentVector<GT_PrimitiveHandle>
ListType;
31 const char *
className()
const override {
return "GT_PrimCollect"; }
41 int nsegs)
const override;
65 { myList.push_back(pr); }
73 template <
typename Compare>
80 void hardenContents();
virtual int getMotionSegments() const =0
virtual bool updateGeoPrim(const GU_ConstDetailHandle &dtl, const GT_RefineParms &parms)
update any cached data for geometry and its attributes
virtual bool refine(GT_Refine &refiner, const GT_RefineParms *parms=NULL) const
virtual int getPrimitiveType() const
UT_ConcurrentVector< GT_PrimitiveHandle > ListType
Class which writes ASCII or binary JSON streams.
const char * className() const override
IMATH_HOSTDEVICE constexpr int cmp(T a, T b) IMATH_NOEXCEPT
GT_PrimitiveHandle doSoftCopy() const override
void appendPrimitive(const GT_PrimitiveHandle &pr)
Add a primitive to the list. This method is thread-safe.
virtual void getVelocityRange(UT_Vector3 &min, UT_Vector3 &max, const UT_StringRef &attribute_name=GA_Names::v) const
virtual void enlargeRenderBounds(UT_BoundingBox boxes[], int nsegments) const
GLboolean GLboolean GLboolean b
The base class for all GT primitive types.
void reserve(exint size)
Reserve space for a total of N primitives.
virtual GT_PrimitiveHandle doHarden() const
virtual int64 getMemoryUsage() const =0
Processes primitives generated by refinement process.
void sortList(Compare &cmp)
Sort the list.
virtual bool save(UT_JSONWriter &w) const
exint entries() const
Return the number of primitives in the collection.
GLubyte GLubyte GLubyte GLubyte w
virtual void enlargeBounds(UT_BoundingBox boxes[], int nsegments) const =0
void sort(I begin, I end, const Pred &pred)