17 #ifndef __GEO_PrimRBezCurve_h__
18 #define __GEO_PrimRBezCurve_h__
48 static bool forceValidDivisions(
int &
div,
int order,
bool closed);
55 int &cvoffset,
unsigned du = 0,
56 int uoffset = -1)
const override;
64 float u,
float *ubvals,
int &cvoffset,
65 unsigned du=0,
int uoffset=-1)
const override;
69 int du = 0)
const override;
73 bool count_only =
false,
74 bool deleteOrphanedPoints =
false)
override;
90 int &mink,
int &maxk)
const override;
98 int &maxbkp)
const override;
124 void close(
int rounded = 1,
int preserveShape = 0)
override;
138 void open(
int preserveShape = 0,
int safe = 0)
override;
153 int unroll(
int append_pts = 1)
override;
159 int loft(
int newcount,
int start=-1,
int stop=-1)
override;
169 float sharpness = 0.0
f,
170 float bias = -1.0
f)
override;
199 float bias = .5
f,
float tolerance = 1.
f,
int=0,
235 const int *curvepointnumbers,
238 const bool closed =
false);
243 const int *curvepointnumbers,
246 const bool closed =
false);
274 void incrementOrder();
static GA_IntrinsicManager::Registrar registerIntrinsics(GA_PrimitiveDefinition &defn)
virtual int refineInt(float k, int r=1)
GA_API const UT_StringHolder div
virtual int domainRangeOfCV(int cvidx, int &mink, int &maxk) const =0
void reverse() override
Reverse the order of vertices.
int attach(const GEO_Face &face, int blend=1, float bias=0.5f, float tolerance=1.0f, int unrefine=1, GA_PointGroup *ptgroup=0) override
virtual int breakpointRangeOfCV(int cvidx, int &minbkp, int &maxbkp) const =0
#define SYS_DEPRECATED_PUSH_DISABLE()
#define SYS_DEPRECATED_POP_DISABLE()
virtual int loft(int newcount, int start=-1, int stop=-1)=0
virtual int warp(float u, const UT_Vector3 &delta, GA_AttributeRefMap &map, float sharpness=0.0f, float bias=-1.0f)=0
exint GA_Size
Defines the bit width for index and offset types in GA.
virtual int transformBreakpoints(const UT_IntArray &uindices, const UT_Matrix4 &matx, int fixbkpts=1, GA_PointGroup *ptgroup=NULL, GEO_Delta *geodelta=0)=0
#define GA_INVALID_OFFSET
static GA_PrimitiveFamilyMask buildFamilyMask()
vint4 blend(const vint4 &a, const vint4 &b, const vbool4 &mask)
virtual GA_Size appendVertex(GA_Offset ppt)
virtual int translateBreakpoints(const UT_IntArray &uindices, const UT_Vector3 &delta, int fixbkpts=1, GA_PointGroup *ptgroup=NULL, GEO_Delta *geodelta=0)=0
virtual GEO_Curve * extract(float ustart, float ustop) const =0
int refine(float k, GA_AttributeRefMap &gah, int r=1)
virtual GD_Face * planar(GD_Detail &dgdp, int copyxy=0) const =0
virtual const GA_PrimitiveJSON * getJSON() const =0
Provide a JSON interface to a primitive.
fpreal calcPerimeter() const override
Bezier or NURBS basis classes which maintain knot vectors.
virtual GA_Basis * newBasis() const =0
GLdouble GLdouble GLint GLint order
A handle to simplify manipulation of multiple attributes.
~GEO_PrimRBezCurve() override
virtual void close(int rounded=1, int preserve_shape=0)
virtual int raiseOrderRefMap(int neworder, GA_AttributeRefMap &map)=0
static GA_IntrinsicManager::Registrar registerIntrinsics(GA_PrimitiveDefinition &defn)
virtual int raiseOrderInt(int neworder)=0
virtual GA_Size removeRepeatedVertices(bool check_order=false, bool count_only=false, bool delete_orphaned_points=false)
GEO_PrimRBezCurve(GA_Detail *d, GA_Offset offset=GA_INVALID_OFFSET)
virtual int refineRefMap(float k, GA_AttributeRefMap &gah, int r=1)
Container class for all geometry.
virtual GA_Size insertVertex(GA_Offset ppt, GA_Size where=0)
Definition of a geometric primitive.
virtual void reparameterize(GA_ParameterizationType ptype)=0
virtual int evaluateBasis(float u, float *ubvals, int &cvoffset, unsigned du=0, int uoffset=-1) const =0
virtual int evaluateBreakpoint(int uidx, UT_Vector4 &pos, int du=0) const =0
virtual float getKnotLengths(GA_ParameterizationType ptype, UT_Array< float > &lengths) const =0
GLdouble GLdouble GLint GLint uorder
virtual int deleteVertex(GA_Size num)
static GA_PrimitiveFamilyMask buildFamilyMask()
virtual void open(int preserve_shape=0, int safe=0)
virtual int unroll(int append_pts=1)
virtual int evaluateBasisDerivs(float u, float bmatx[][GA_MAXORDER], int &cvoffset, unsigned du=0, int uoffset=-1) const =0
GLsizei GLenum GLenum GLuint GLenum GLsizei * lengths
virtual void setBasisCopy(const GA_Basis *basis)=0
static GA_Offset buildBlock(GA_PrimitiveTypeId type, GA_Detail *detail, const GA_Offset startpt, const GA_Size npoints, const GEO_PolyCounts &facesizelist, const int *facepointnumbers, const bool closed=true)