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,
82 unsigned int SizeOf()
const;
85 ON__UINT32
DataCRC(ON__UINT32 current_remainder)
const;
101 bool bIgnoreParameterization,
102 double tolerance = ON_ZERO_TOLERANCE
107 void Initialize(
void);
118 ON_BOOL32 bIsRational,
134 bool CreateClampedUniformNurbs(
139 double knot_delta = 1.0
153 bool CreatePeriodicUniformNurbs(
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,
772 ON::point_style CVStyle()
const;
859 int KnotMultiplicity(
870 const double* Knot()
const;
884 bool MakeClampedUniformKnotVector(
900 bool MakePeriodicUniformKnotVector(
908 double SuperfluousKnot(
912 double GrevilleAbcissa(
916 bool GetGrevilleAbcissae(
943 int knot_multiplicity
948 bool MakeNonRational();
955 int desired_dimension
962 bool ReserveCVCapacity(
965 bool ReserveKnotCapacity(
971 double ControlPolygonLength()
const;
978 bool ConvertSpanToBezier(
1007 bool IsSingular()
const;
1037 int RemoveSingularSpans();
1042 bool HasBezierSpans()
const;
1055 bool MakePiecewiseBezier(
1056 bool bSetEndWeightsToOne =
false
1077 bool ChangeEndWeights(
double w0,
double w1 );
1099 bool Reparameterize(
double c );