14 #ifndef __GD_PrimRBezCurve_h__
15 #define __GD_PrimRBezCurve_h__
39 int nelems,
int order = 4,
int closed=0,
40 int appendPoints = 1);
49 int &cvoffset,
unsigned du = 0,
50 int uoffset = -1)
const override;
59 int &cvoffset,
unsigned du=0,
60 int uoffset=-1)
const override;
71 unsigned du=0)
const override;
81 int &mink,
int &maxk)
const override;
84 void close(
int rounded = 1,
int preserveShape = 0)
override;
87 void open(
int preserveShape = 0,
int safe = 0)
override;
130 int create(
int nelems,
int order = 4,
int closed = 0,
131 int appendPoints = 1);
134 int isSegmentCollinear(
int i)
const;
136 friend class GD_PrimitiveFactory;
virtual int evaluateBasis(fpreal u, fpreal *ubvals, int &cvoffset, unsigned du=0, int uoffset=-1) const =0
virtual int removeRepeatedVertices(int check_order=0)
~GD_PrimRBezCurve() override
virtual GA_Size appendVertex(GA_Offset ptoff=GA_INVALID_OFFSET)
static GA_IntrinsicManager::Registrar registerIntrinsics(GA_PrimitiveDefinition &definition)
bool evaluateBreakSegm(int uStartIdx, int uStopIdx, int lod, UT_Vector3Array &pos, unsigned du=0) const override
virtual int evaluateBasisDerivs(fpreal u, fpreal bmatx[][GA_MAXORDER], int &cvoffset, unsigned du=0, int uoffset=-1) const =0
virtual GD_TrimLoop * trimLoop(float ustart, float ustop) const =0
virtual void open(int preserveShape=0, int safe=0)
exint GA_Size
Defines the bit width for index and offset types in GA.
#define GA_INVALID_OFFSET
static GA_IntrinsicManager::Registrar registerIntrinsics(GA_PrimitiveDefinition &definition)
Bezier or NURBS basis classes which maintain knot vectors.
GLdouble GLdouble GLint GLint order
virtual void close(int rounded=1, int preserveShape=0)
GD_PrimRBezCurve(GD_Detail *d, GA_Offset offset=GA_INVALID_OFFSET)
virtual int deleteVertex(GA_Size i)
virtual int domainRangeOfCV(int cvidx, int &mink, int &maxk) const =0
Definition of a geometric primitive.
virtual const GA_PrimitiveDefinition & getTypeDef() const =0
int create(GD_Curve *crv, int nelems, int closed, int appendPoints=1)
virtual GA_Size insertVertex(GA_Offset ptoff=GA_INVALID_OFFSET, GA_Size where=0)
virtual GA_Basis * newBasis() const =0