23 #if !defined(OPENNURBS_POLYCURVE_INC_)
24 #define OPENNURBS_POLYCURVE_INC_
66 ON__UINT32
DataCRC(ON__UINT32 current_remainder)
const;
152 int bGrowBox =
false,
194 int desired_dimension
225 double = ON_ZERO_TOLERANCE
254 double = ON_ZERO_TOLERANCE
260 double = ON_ZERO_TOLERANCE
265 double = ON_ZERO_TOLERANCE
320 double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE,
321 double curvature_tolerance=ON_SQRT_EPSILON
361 double point_tolerance=ON_ZERO_TOLERANCE,
362 double d1_tolerance=ON_ZERO_TOLERANCE,
363 double d2_tolerance=ON_ZERO_TOLERANCE,
364 double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE,
365 double curvature_tolerance=ON_SQRT_EPSILON
548 double polycurve_parameter
565 double segmentcurve_parameter
593 double polycurve_parameter
680 bool CloseGap(
int gap_index,
int segments_to_modify );
int SegmentIndex(ON_Interval sub_domain, int *segment_index0, int *segment_index1) const
bool Extend(const ON_Interval &domain)
ON_BOOL32 SetEndPoint(ON_3dPoint end_point)
ON_BOOL32 Write(ON_BinaryArchive &) const
ON_BOOL32 ChangeClosedCurveSeam(double t)
void SetSegment(int index, ON_Curve *crv)
ON_BOOL32 GetBBox(double *, double *, ON_BOOL32=false) const
ON_BOOL32 SetStartPoint(ON_3dPoint start_point)
bool ParameterSearch(double t, int &index, bool bEnableSnap) const
ON_BOOL32 Trim(const ON_Interval &domain)
ON_BOOL32 Prepend(ON_Curve *)
ON_BOOL32 IsPeriodic(void) const
ON_PolyCurve(const ON_PolyCurve &)
void Dump(ON_TextLog &) const
ON_BOOL32 IsInPlane(const ON_Plane &, double=ON_ZERO_TOLERANCE) const
ON__UINT32 DataCRC(ON__UINT32 current_remainder) const
const ON_SimpleArray< double > & SegmentParameters() const
ON_Curve * LastSegmentCurve() const
bool SynchronizeSegmentDomains()
bool ChangeDimension(int desired_dimension)
ON_BOOL32 GetSpanVector(double *) const
ON_BOOL32 Evaluate(double, int, int, double *, int=0, int *=0) const
int FindNextGap(int segment_index0) const
bool GetTightBoundingBox(ON_BoundingBox &tight_bbox, int bGrowBox=false, const ON_Xform *xform=0) const
const ON_CurveArray & SegmentCurves() 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
ON_BOOL32 GetCurveParameterFromNurbFormParameter(double, double *) const
int GetNurbForm(ON_NurbsCurve &, double=0.0, const ON_Interval *=NULL) const
ON_BOOL32 SwapCoordinates(int, int)
bool HasSynchronizedSegmentDomains() const
double PolyCurveParameter(int segment_index, double segmentcurve_parameter) const
ON_DEPRECATED int HasGap() const
unsigned int SizeOf() const
bool EvaluatePoint(const class ON_ObjRef &objref, ON_3dPoint &P) const
ON_Curve * operator[](int) const
ON_BOOL32 Insert(int, ON_Curve *)
void DestroyRuntimeCache(bool bDelete=true)
ON_BOOL32 IsLinear(double=ON_ZERO_TOLERANCE) const
ON_Curve * DuplicateCurve() const
double SegmentCurveParameter(double polycurve_parameter) const
ON_BOOL32 IsValid(ON_TextLog *text_log=NULL) const
ON_Interval SegmentDomain(int segment_index) 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
ON_BOOL32 IsPlanar(ON_Plane *=NULL, double=ON_ZERO_TOLERANCE) const
bool SetParameterization(const double *t)
ON_BOOL32 AppendAndMatch(ON_Curve *)
bool IsDeformable() const
bool HasGapAt(int segment_index) const
ON_BOOL32 PrependAndMatch(ON_Curve *)
ON_Curve * FirstSegmentCurve() const
ON_BOOL32 GetNurbFormParameterFromCurveParameter(double, double *) const
ON_BOOL32 IsArc(const ON_Plane *=NULL, ON_Arc *=NULL, double=ON_ZERO_TOLERANCE) const
bool IsValid(bool bAllowGaps, ON_TextLog *text_log) const
bool CloseGap(int gap_index, int segments_to_modify)
int SegmentIndex(double polycurve_parameter) const
ON_BOOL32 IsClosed(void) const
ON_BOOL32 SetDomain(double t0, double t1)
ON_BOOL32 Transform(const ON_Xform &)
ON_BOOL32 Split(double t, ON_Curve *&left_side, ON_Curve *&right_side) const
ON_Curve * SegmentCurve(int segment_index) const
ON_Curve * HarvestSegment(int)
ON_PolyCurve & operator=(const ON_PolyCurve &)
ON_BOOL32 Append(ON_Curve *)
int IsPolyline(ON_SimpleArray< ON_3dPoint > *pline_points=NULL, ON_SimpleArray< double > *pline_t=NULL) const
ON_Interval Domain() const
ON_BOOL32 Read(ON_BinaryArchive &)