11 #ifndef __GT_PrimNuPatch__
12 #define __GT_PrimNuPatch__
61 const char *
className()
const override {
return "GT_PrimNuPatch"; }
65 int nsegments)
const override;
76 int getNu()
const {
return myUKnots->entries() - myUOrder; }
77 int getNv()
const {
return myVKnots->entries() - myVOrder; }
93 {
return myTrims.get(); }
122 bool copy_xform =
true)
const;
140 void hardenAttributes();
SIM_API const UT_StringHolder vertex
virtual int getMotionSegments() const =0
virtual bool refine(GT_Refine &refiner, const GT_RefineParms *parms=NULL) const
virtual int getPrimitiveType() const
const GT_AttributeListHandle & getVertex() const
GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint vorder
Class which writes ASCII or binary JSON streams.
bool isTrimmed() const
Check if trimmed.
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
const char * className() const override
The base class for all GT primitive types.
virtual GT_PrimitiveHandle doHarden() const
const GT_TrimNuCurves * getTrimCurves() const
Get trim curves.
virtual int64 getMemoryUsage() const =0
const GT_DataArrayHandle & getUKnots() const
Processes primitives generated by refinement process.
GT_PrimitiveHandle doSoftCopy() const override
const GT_DataArrayHandle & getVKnots() const
const GT_AttributeListHandle & getVertexAttributes() const override
virtual bool save(UT_JSONWriter &w) const
const GT_AttributeListHandle & getDetailAttributes() const override
GLubyte GLubyte GLubyte GLubyte w
A simple representation of a NURBS surface.
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.
Trim loops specified by a number of individual NURBS curves.
virtual void enlargeBounds(UT_BoundingBox boxes[], int nsegments) const =0
const GT_AttributeListHandle & getDetail() const
GLdouble GLdouble GLint GLint uorder