11 #ifndef __GT_PrimNURBSCurveMesh__
12 #define __GT_PrimNURBSCurveMesh__
38 , myDetailHandle(src.myDetailHandle)
39 , myCurves(src.myCurves)
40 , myHullCounts(src.myHullCounts)
41 , myHullVertex(src.myHullVertex)
42 , myUniform(src.myUniform)
43 , myDetail(src.myDetail)
45 , myCubicBezier(src.myCubicBezier)
55 bool cubic_bezier=
false)
61 , myCubicBezier(cubic_bezier)
71 bool cubic_bezier=
false)
77 , myCubicBezier(cubic_bezier)
86 {
return "GT_PrimNURBSCurveMesh"; }
89 void init(
const PrimitiveArrayType &curvePrims,
96 myHullCounts = counts;
104 int nseg)
const override;
125 {
return refineToMesh(parms, NULL); }
150 {
return myUniform; }
158 {
return myHullVertex; }
160 {
return myUniform; }
165 bool refineToCurveMesh(
GT_Refine &refiner,
174 PrimitiveArrayType myCurves;
SIM_API const UT_StringHolder vertex
virtual int getMotionSegments() const =0
Keep track of merging of attribute maps.
const GT_AttributeListHandle & getConstant() const
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 const GT_ViewportRefineOptions & viewportRefineOptions() const
const GT_AttributeListHandle & getUniformAttributes() const override
virtual int getPrimitiveType() const
Keeps a list of GU_Detail pointers.
GT_PrimNURBSCurveMesh(const GU_ConstDetailHandle &gdh, const GT_GEOOffsetList &offsets, const GT_AttributeListHandle &uniform, const GT_AttributeListHandle &detail, bool wrap, bool cubic_bezier=false)
Useful constructor.
const GT_AttributeListHandle & getVertexAttributes() const override
GT_PrimNURBSCurveMesh(const GU_ConstDetailHandle &gdh, const PrimitiveArrayType &curves, const GT_AttributeListHandle &uniform, const GT_AttributeListHandle &detail, bool wrap, bool cubic_bezier=false)
Useful constructor.
GT_PrimitiveHandle refineToMesh(const GT_RefineParms *parms) const
void setHullVertices(const GT_DataArrayHandle &counts, const GT_AttributeListHandle &vertex)
Set the vertex attributes for the hull.
GLuint GLsizei const GLuint const GLintptr * offsets
GT_PrimitiveHandle doSoftCopy() const override
Abstract data class for an array of float, int or string data.
const GT_AttributeListHandle & getDetailAttributes() const override
The base class for all GT primitive types.
UT_Array< GT_GEOPrimitive::GEOPrimitivePair > PrimitiveArrayType
virtual int64 getMemoryUsage() const =0
Processes primitives generated by refinement process.
bool isOpenCubicBezier() const
GT_Size getCurveCount() const
const char * className() const override
static void makePairArray(UT_Array< GEOPrimitivePair > &array, const GU_ConstDetailHandle &gdh, const GT_GEOOffsetList &offsets)
const GT_AttributeListHandle & getUniform() const
A single linear or cubic patch.
virtual void enlargeBounds(UT_BoundingBox boxes[], int nsegments) const =0
GT_PrimNURBSCurveMesh(const GT_PrimNURBSCurveMesh &src)