23 #if !defined(OPENNURBS_NURBSCURVE_INC_)
24 #define OPENNURBS_NURBSCURVE_INC_
26 #include <pcl/pcl_exports.h>
51 ON_BOOL32 bIsRational,
76 ON_BOOL32 bIsRational,
85 ON__UINT32
DataCRC(ON__UINT32 current_remainder)
const;
101 bool bIgnoreParameterization,
102 double tolerance = ON_ZERO_TOLERANCE
118 ON_BOOL32 bIsRational,
139 double knot_delta = 1.0
158 double knot_delta = 1.0
361 double tolerance = ON_ZERO_TOLERANCE
390 double tolerance = ON_ZERO_TOLERANCE
397 double tolerance = ON_ZERO_TOLERANCE
404 double tolerance = ON_ZERO_TOLERANCE
467 double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE,
468 double curvature_tolerance=ON_SQRT_EPSILON
508 double point_tolerance=ON_ZERO_TOLERANCE,
509 double d1_tolerance=ON_ZERO_TOLERANCE,
510 double d2_tolerance=ON_ZERO_TOLERANCE,
511 double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE,
512 double curvature_tolerance=ON_SQRT_EPSILON
627 double knot_tolerance=0.0,
682 double tolerance = 0.0,
943 int knot_multiplicity
955 int desired_dimension
1056 bool bSetEndWeightsToOne =
false
ON_BOOL32 GetCV(int, ON_3dPoint &) const
static ON_NurbsCurve * New(int dimension, ON_BOOL32 bIsRational, int order, int cv_count)
ON_BOOL32 SwapCoordinates(int i, int j)
ON_BOOL32 IsClosed() const
double ControlPolygonLength() const
ON_BOOL32 SetCV(int, ON::point_style, const double *)
ON_BOOL32 SetCV(int, const ON_3dPoint &)
unsigned int SizeOf() const
bool Create(int dimension, ON_BOOL32 bIsRational, int order, int cv_count)
ON_NurbsCurve(const ON_NurbsCurve &)
ON_NurbsCurve & operator=(const ON_NurbsCurve &src)
bool ConvertSpanToBezier(int, ON_BezierCurve &) const
ON_NurbsCurve(int dimension, ON_BOOL32 bIsRational, int order, int cv_count)
bool IsDuplicate(const ON_NurbsCurve &other, bool bIgnoreParameterization, double tolerance=ON_ZERO_TOLERANCE) const
ON_BOOL32 IsPlanar(ON_Plane *plane=NULL, double tolerance=ON_ZERO_TOLERANCE) const
bool IsClamped(int=2) const
int KnotMultiplicity(int knot_index) const
ON_BOOL32 SetEndPoint(ON_3dPoint end_point)
bool MakePeriodicUniformKnotVector(double delta=1.0)
ON_BOOL32 GetCV(int, ON::point_style, double *) const
ON_BOOL32 Trim(const ON_Interval &)
ON_BOOL32 IsValid(ON_TextLog *text_log=NULL) const
bool GetGrevilleAbcissae(double *) const
void Dump(ON_TextLog &dump) const
bool IncreaseDegree(int desired_degree)
bool InsertKnot(double knot_value, int knot_multiplicity)
bool ReserveKnotCapacity(int)
static ON_NurbsCurve * New(const ON_BezierCurve &bezier_curve)
double SuperfluousKnot(int) const
bool HasBezierSpans() const
ON_BOOL32 SetCV(int, const ON_4dPoint &)
ON_BOOL32 SetDomain(double t0, double t1)
ON_Interval Domain() const
bool SpanIsLinear(int span_index, double min_length, double tolerance, ON_Line *line) const
ON_BOOL32 GetCurveParameterFromNurbFormParameter(double nurbs_t, double *curve_t) const
ON_BOOL32 GetCV(int, ON_4dPoint &) const
bool IsDeformable() const
ON_BOOL32 SetStartPoint(ON_3dPoint start_point)
bool MakeClampedUniformKnotVector(double delta=1.0)
const double * Knot() const
bool SpanIsLinear(int span_index, double min_length, double tolerance) const
bool Append(const ON_NurbsCurve &)
ON_BOOL32 IsInPlane(const ON_Plane &test_plane, double tolerance=ON_ZERO_TOLERANCE) const
ON_BOOL32 Transform(const ON_Xform &xform)
ON_BOOL32 Read(ON_BinaryArchive &binary_archive)
bool ChangeDimension(int desired_dimension)
ON_BOOL32 GetBBox(double *boxmin, double *boxmax, int bGrowBox=false) const
bool Reparameterize(double c)
bool SetKnot(int knot_index, double knot_value)
bool Extend(const ON_Interval &domain)
ON_NurbsCurve & operator=(const ON_BezierCurve &bezier_curve)
ON_BOOL32 ChangeClosedCurveSeam(double t)
ON_BOOL32 IsArc(const ON_Plane *plane=NULL, ON_Arc *arc=NULL, double tolerance=ON_ZERO_TOLERANCE) const
int GetNurbForm(ON_NurbsCurve &nurbsform, double tolerance=0.0, const ON_Interval *subdomain=NULL) const
bool ChangeEndWeights(double w0, double w1)
ON_BOOL32 GetParameterTolerance(double t, double *tminus, double *tplus) const
static ON_NurbsCurve * New(const ON_NurbsCurve &nurbs_curve)
bool MakePiecewiseBezier(bool bSetEndWeightsToOne=false)
ON_BOOL32 Write(ON_BinaryArchive &binary_archive) const
bool IsContinuous(ON::continuity c, double t, int *hint=NULL, double point_tolerance=ON_ZERO_TOLERANCE, double d1_tolerance=ON_ZERO_TOLERANCE, double d2_tolerance=ON_ZERO_TOLERANCE, double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE, double curvature_tolerance=ON_SQRT_EPSILON) const
bool GetNextDiscontinuity(ON::continuity c, double t0, double t1, double *t, int *hint=NULL, int *dtype=NULL, double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE, double curvature_tolerance=ON_SQRT_EPSILON) const
int RemoveSingularSpans()
static ON_NurbsCurve * New()
bool CreateClampedUniformNurbs(int dimension, int order, int point_count, const ON_3dPoint *point, double knot_delta=1.0)
ON_NurbsCurve(const ON_BezierCurve &bezier_curve)
int IsPolyline(ON_SimpleArray< ON_3dPoint > *pline_points=NULL, ON_SimpleArray< double > *pline_t=NULL) const
bool SpanIsSingular(int span_index) const
ON_BOOL32 IsLinear(double tolerance=ON_ZERO_TOLERANCE) const
bool CreatePeriodicUniformNurbs(int dimension, int order, int point_count, const ON_3dPoint *point, double knot_delta=1.0)
bool IsRational(void) const
ON_BOOL32 Evaluate(double, int, int, double *, int=0, int *=0) const
double * CV(int cv_index) const
ON_BOOL32 GetNurbFormParameterFromCurveParameter(double curve_t, double *nurbs_t) const
ON::point_style CVStyle() const
bool RepairBadKnots(double knot_tolerance=0.0, bool bRepair=true)
ON_BOOL32 Split(double split_param, ON_Curve *&left_result, ON_Curve *&right_result) const
bool ReserveCVCapacity(int)
ON_BOOL32 IsPeriodic() const
ON_BOOL32 SetWeight(int, double)
double Knot(int knot_index) const
ON_BOOL32 GetSpanVector(double *knot_values) const
(m_knot[m_order-2],...,m_knot[m_cv_count-1)
int KnotCount(void) const
ON__UINT32 DataCRC(ON__UINT32 current_remainder) const
double GrevilleAbcissa(int) const
bool RemoveSpan(int span_index)