23#if !defined(OPENNURBS_POLYCURVE_INC_)
24#define OPENNURBS_POLYCURVE_INC_
55 void EmergencyDestroy();
63 unsigned int SizeOf()
const;
152 int bGrowBox =
false,
201 int desired_dimension
320 double cos_angle_tolerance=0.99984769515639123915701155881391,
357 double cos_angle_tolerance=0.99984769515639123915701155881391,
499 bool bRemoveShortSegments =
true
522 double fractional_tolerance = 1.0e-8,
552 double absolute_tolerance = 0.0,
553 double fractional_tolerance = 1.0e-8,
680 double SegmentCurveParameter(
681 double polycurve_parameter
696 double PolyCurveParameter(
698 double segmentcurve_parameter
726 double polycurve_parameter
747 ON_Curve* FirstSegmentCurve()
const;
794 bool IsNested()
const;
802 void RemoveNesting();
813 bool RemoveNestingEx();
822 bool HasSynchronizedSegmentDomains()
const;
833 bool SynchronizeSegmentDomains();
841 void SetSegment(
int index,
ON_Curve* crv);
852 bool SetParameterization(
const double* t );
Definition opennurbs_point.h:403
Definition opennurbs_arc.h:34
Definition opennurbs_archive.h:152
Definition opennurbs_bounding_box.h:25
Definition opennurbs_curve.h:1449
Definition opennurbs_curve.h:88
virtual 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=0.99984769515639123915701155881391, double curvature_tolerance=ON_SQRT_EPSILON) const
Definition opennurbs_curve.cpp:602
void DestroyRuntimeCache(bool bDelete=true)
Definition opennurbs_object.cpp:1761
virtual ON_BOOL32 IsArc(const ON_Plane *plane=NULL, ON_Arc *arc=NULL, double tolerance=ON_ZERO_TOLERANCE) const
Definition opennurbs_curve.cpp:248
bool GetTightBoundingBox(ON_BoundingBox &tight_bbox, int bGrowBox=false, const ON_Xform *xform=0) const
Definition opennurbs_basic.cpp:333
virtual int GetNurbForm(ON_NurbsCurve &nurbs_curve, double tolerance=0.0, const ON_Interval *subdomain=NULL) const
Definition opennurbs_curve.cpp:2625
virtual ON_BOOL32 ChangeClosedCurveSeam(double t)
Definition opennurbs_curve.cpp:117
virtual ON_BOOL32 GetNormalizedArcLengthPoint(double s, double *t, double fractional_tolerance=1.0e-8, const ON_Interval *sub_domain=NULL) const
Definition opennurbs_curve.cpp:2489
virtual ON_Curve * DuplicateCurve() const
Definition opennurbs_curve.cpp:66
virtual bool GetClosestPoint(const ON_3dPoint &, double *t, double maximum_distance=0.0, const ON_Interval *sub_domain=NULL) const
Definition opennurbs_basic.cpp:322
virtual bool ChangeDimension(int desired_dimension)
Definition opennurbs_curve.cpp:124
virtual ON_BOOL32 Evaluate(double t, int der_count, int v_stride, double *v, int side=0, int *hint=0) const =0
ON_Curve & operator=(const ON_Curve &)
Definition opennurbs_curve.cpp:26
virtual int Degree() const =0
virtual bool GetNextDiscontinuity(ON::continuity c, double t0, double t1, double *t, int *hint=NULL, int *dtype=NULL, double cos_angle_tolerance=0.99984769515639123915701155881391, double curvature_tolerance=ON_SQRT_EPSILON) const
Definition opennurbs_curve.cpp:450
unsigned int SizeOf() const
Definition opennurbs_curve.cpp:52
virtual int HasNurbForm() const
Definition opennurbs_curve.cpp:2635
virtual ON_BOOL32 GetLocalClosestPoint(const ON_3dPoint &test_point, double seed_parameter, double *t, const ON_Interval *sub_domain=0) const
Definition opennurbs_curve.cpp:1209
virtual ON_BOOL32 SetStartPoint(ON_3dPoint start_point)
Definition opennurbs_curve.cpp:779
virtual ON_BOOL32 IsPeriodic() const
Definition opennurbs_curve.cpp:444
virtual ON_BOOL32 Split(double t, ON_Curve *&left_side, ON_Curve *&right_side) const
Definition opennurbs_curve.cpp:2614
bool IsShort(double tolerance, const ON_Interval *sub_domain=NULL) const
Definition opennurbs_curve.cpp:1482
bool RemoveShortSegments(double tolerance, bool bRemoveShortSegments=true)
Definition opennurbs_curve.cpp:2425
virtual bool Extend(const ON_Interval &domain)
Definition opennurbs_curve.cpp:2521
virtual ON_BOOL32 GetNormalizedArcLengthPoints(int count, const double *s, double *t, double absolute_tolerance=0.0, double fractional_tolerance=1.0e-8, const ON_Interval *sub_domain=NULL) const
Definition opennurbs_curve.cpp:2500
virtual ON_BOOL32 IsClosed() const
Definition opennurbs_curve.cpp:408
virtual ON_BOOL32 Reverse()=0
virtual ON_BOOL32 GetCurveParameterFromNurbFormParameter(double nurbs_t, double *curve_t) const
Definition opennurbs_curve.cpp:2659
bool SetDomain(ON_Interval domain)
Definition opennurbs_curve.cpp:105
virtual ON_BOOL32 GetLength(double *length, double fractional_tolerance=1.0e-8, const ON_Interval *sub_domain=NULL) const
Definition opennurbs_curve.cpp:1220
virtual ON_BOOL32 SetEndPoint(ON_3dPoint end_point)
Definition opennurbs_curve.cpp:784
virtual int SpanCount() const =0
virtual ON_BOOL32 GetNurbFormParameterFromCurveParameter(double curve_t, double *nurbs_t) const
Definition opennurbs_curve.cpp:2668
virtual ON_BOOL32 GetSpanVector(double *knots) const =0
virtual ON_BOOL32 IsLinear(double tolerance=ON_ZERO_TOLERANCE) const
Definition opennurbs_curve.cpp:184
virtual ON_BOOL32 IsPlanar(ON_Plane *plane=NULL, double tolerance=ON_ZERO_TOLERANCE) const
Definition opennurbs_curve.cpp:317
virtual ON_Interval Domain() const =0
virtual ON_BOOL32 Trim(const ON_Interval &domain)
Definition opennurbs_curve.cpp:2514
bool ParameterSearch(double t, int &index, bool bEnableSnap, const ON_SimpleArray< double > &m_t, double RelTol=ON_SQRT_EPSILON) const
Definition opennurbs_curve.cpp:3226
virtual ON_BOOL32 IsInPlane(const ON_Plane &test_plane, double tolerance=ON_ZERO_TOLERANCE) const =0
virtual int IsPolyline(ON_SimpleArray< ON_3dPoint > *pline_points=NULL, ON_SimpleArray< double > *pline_t=NULL) const
Definition opennurbs_curve.cpp:174
bool EvaluatePoint(const class ON_ObjRef &objref, ON_3dPoint &P) const
Definition opennurbs_curve.cpp:993
virtual bool IsDeformable() const
Definition opennurbs_geometry.cpp:205
virtual ON_BOOL32 GetBBox(double *boxmin, double *boxmax, int bGrowBox=false) const =0
virtual ON_BOOL32 SwapCoordinates(int i, int j)
Definition opennurbs_geometry.cpp:135
virtual bool MakeDeformable()
Definition opennurbs_geometry.cpp:210
virtual bool Morph(const ON_SpaceMorph &morph)
Definition opennurbs_geometry.cpp:254
virtual int Dimension() const =0
virtual bool IsMorphable() const
Definition opennurbs_geometry.cpp:259
Definition opennurbs_point.h:46
Definition opennurbs_nurbscurve.h:27
Definition opennurbs_objref.h:167
virtual ON__UINT32 DataCRC(ON__UINT32 current_remainder) const
Definition opennurbs_object.cpp:1689
virtual void Dump(ON_TextLog &) const
Definition opennurbs_object.cpp:1695
virtual ON_BOOL32 IsValid(ON_TextLog *text_log=NULL) const =0
virtual ON_BOOL32 Read(ON_BinaryArchive &binary_archive)
Definition opennurbs_object.cpp:1734
virtual ON_BOOL32 Write(ON_BinaryArchive &binary_archive) const
Definition opennurbs_object.cpp:1714
Definition opennurbs_plane.h:20
Definition opennurbs_polycurve.h:38
ON_SimpleArray< double > m_t
Definition opennurbs_polycurve.h:900
ON_CurveArray m_segment
Definition opennurbs_polycurve.h:896
ON_OBJECT_DECLARE(ON_PolyCurve)
Definition opennurbs_array.h:46
Definition opennurbs_xform.h:1146
Definition opennurbs_textlog.h:20
#define ON_ZERO_TOLERANCE
Definition opennurbs_defines.h:238
#define ON_CLASS
Definition opennurbs_defines.h:91
#define ON_SQRT_EPSILON
Definition opennurbs_defines.h:147
char s
Definition opennurbs_string.cpp:32
#define NULL
Definition opennurbs_system.h:256
int ON_BOOL32
Definition opennurbs_system.h:362
unsigned int ON__UINT32
Definition opennurbs_system.h:326