#include <opennurbs_polycurve.h>
Public Member Functions | |
ON_BOOL32 | Append (ON_Curve *) |
ON_BOOL32 | AppendAndMatch (ON_Curve *) |
ON_BOOL32 | ChangeClosedCurveSeam (double t) |
bool | ChangeDimension (int desired_dimension) |
bool | CloseGap (int gap_index, int segments_to_modify) |
int | CloseGaps () |
int | Count () const |
ON__UINT32 | DataCRC (ON__UINT32 current_remainder) const |
int | Degree () const |
void | Destroy () |
void | DestroyRuntimeCache (bool bDelete=true) |
int | Dimension () const |
ON_Interval | Domain () const |
void | Dump (ON_TextLog &) const |
ON_Curve * | DuplicateCurve () const |
void | EmergencyDestroy () |
ON_BOOL32 | Evaluate (double, int, int, double *, int=0, int *=0) const |
bool | EvaluatePoint (const class ON_ObjRef &objref, ON_3dPoint &P) const |
bool | Extend (const ON_Interval &domain) |
int | FindNextGap (int segment_index0) const |
ON_Curve * | FirstSegmentCurve () const |
ON_BOOL32 | GetBBox (double *, double *, ON_BOOL32=false) const |
ON_BOOL32 | GetCurveParameterFromNurbFormParameter (double, double *) 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 | GetNurbForm (ON_NurbsCurve &, double=0.0, const ON_Interval *=NULL) const |
ON_BOOL32 | GetNurbFormParameterFromCurveParameter (double, double *) const |
ON_BOOL32 | GetSpanVector (double *) const |
bool | GetTightBoundingBox (ON_BoundingBox &tight_bbox, int bGrowBox=false, const ON_Xform *xform=0) const |
ON_Curve * | HarvestSegment (int) |
ON_DEPRECATED int | HasGap () const |
bool | HasGapAt (int segment_index) const |
int | HasNurbForm () const |
bool | HasSynchronizedSegmentDomains () const |
ON_BOOL32 | Insert (int, ON_Curve *) |
ON_BOOL32 | IsArc (const ON_Plane *=NULL, ON_Arc *=NULL, double=ON_ZERO_TOLERANCE) const |
ON_BOOL32 | IsClosed (void) 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 | IsDeformable () const |
ON_BOOL32 | IsInPlane (const ON_Plane &, double=ON_ZERO_TOLERANCE) const |
ON_BOOL32 | IsLinear (double=ON_ZERO_TOLERANCE) const |
bool | IsNested () const |
ON_BOOL32 | IsPeriodic (void) const |
ON_BOOL32 | IsPlanar (ON_Plane *=NULL, double=ON_ZERO_TOLERANCE) const |
int | IsPolyline (ON_SimpleArray< ON_3dPoint > *pline_points=NULL, ON_SimpleArray< double > *pline_t=NULL) const |
ON_BOOL32 | IsValid (ON_TextLog *text_log=NULL) const |
bool | IsValid (bool bAllowGaps, ON_TextLog *text_log) const |
ON_Curve * | LastSegmentCurve () const |
bool | MakeDeformable () |
ON_PolyCurve () | |
ON_PolyCurve (int) | |
ON_PolyCurve (const ON_PolyCurve &) | |
ON_PolyCurve & | operator= (const ON_PolyCurve &) |
ON_Curve * | operator[] (int) const |
bool | ParameterSearch (double t, int &index, bool bEnableSnap) const |
double | PolyCurveParameter (int segment_index, double segmentcurve_parameter) const |
ON_BOOL32 | Prepend (ON_Curve *) |
ON_BOOL32 | PrependAndMatch (ON_Curve *) |
ON_BOOL32 | Read (ON_BinaryArchive &) |
ON_BOOL32 | Remove () |
ON_BOOL32 | Remove (int) |
void | RemoveNesting () |
bool | RemoveNestingEx () |
void | Reserve (int) |
ON_BOOL32 | Reverse () |
ON_Curve * | SegmentCurve (int segment_index) const |
double | SegmentCurveParameter (double polycurve_parameter) const |
const ON_CurveArray & | SegmentCurves () const |
ON_Interval | SegmentDomain (int segment_index) const |
int | SegmentIndex (double polycurve_parameter) const |
int | SegmentIndex (ON_Interval sub_domain, int *segment_index0, int *segment_index1) const |
const ON_SimpleArray< double > & | SegmentParameters () const |
ON_BOOL32 | SetDomain (double t0, double t1) |
ON_BOOL32 | SetEndPoint (ON_3dPoint end_point) |
bool | SetParameterization (const double *t) |
void | SetSegment (int index, ON_Curve *crv) |
ON_BOOL32 | SetStartPoint (ON_3dPoint start_point) |
unsigned int | SizeOf () const |
int | SpanCount () const |
ON_BOOL32 | Split (double t, ON_Curve *&left_side, ON_Curve *&right_side) const |
ON_BOOL32 | SwapCoordinates (int, int) |
bool | SynchronizeSegmentDomains () |
ON_BOOL32 | Transform (const ON_Xform &) |
ON_BOOL32 | Trim (const ON_Interval &domain) |
ON_BOOL32 | Write (ON_BinaryArchive &) const |
virtual | ~ON_PolyCurve () |
Private Member Functions | |
ON_OBJECT_DECLARE (ON_PolyCurve) | |
Private Attributes | |
ON_CurveArray | m_segment |
ON_SimpleArray< double > | m_t |
Definition at line 37 of file opennurbs_polycurve.h.
Definition at line 21 of file opennurbs_polycurve.cpp.
ON_PolyCurve::ON_PolyCurve | ( | int | capacity | ) |
Definition at line 25 of file opennurbs_polycurve.cpp.
ON_PolyCurve::ON_PolyCurve | ( | const ON_PolyCurve & | src | ) |
Definition at line 31 of file opennurbs_polycurve.cpp.
ON_PolyCurve::~ON_PolyCurve | ( | ) | [virtual] |
Definition at line 44 of file opennurbs_polycurve.cpp.
Definition at line 2063 of file opennurbs_polycurve.cpp.
Reimplemented in ON_PolyEdgeCurve.
Definition at line 2081 of file opennurbs_polycurve.cpp.
ON_BOOL32 ON_PolyCurve::ChangeClosedCurveSeam | ( | double | t | ) | [virtual] |
Reimplemented from ON_Curve.
Reimplemented in ON_PolyEdgeCurve.
Definition at line 568 of file opennurbs_polycurve.cpp.
bool ON_PolyCurve::ChangeDimension | ( | int | desired_dimension | ) | [virtual] |
Reimplemented from ON_Curve.
Definition at line 526 of file opennurbs_polycurve.cpp.
bool ON_PolyCurve::CloseGap | ( | int | gap_index, |
int | segments_to_modify | ||
) |
Definition at line 1114 of file opennurbs_polycurve.cpp.
int ON_PolyCurve::CloseGaps | ( | ) |
Definition at line 1225 of file opennurbs_polycurve.cpp.
int ON_PolyCurve::Count | ( | ) | const |
Definition at line 1971 of file opennurbs_polycurve.cpp.
ON__UINT32 ON_PolyCurve::DataCRC | ( | ON__UINT32 | current_remainder | ) | const [virtual] |
Reimplemented from ON_Object.
Definition at line 83 of file opennurbs_polycurve.cpp.
int ON_PolyCurve::Degree | ( | ) | const [virtual] |
Implements ON_Curve.
Definition at line 737 of file opennurbs_polycurve.cpp.
void ON_PolyCurve::Destroy | ( | ) |
Definition at line 37 of file opennurbs_polycurve.cpp.
void ON_PolyCurve::DestroyRuntimeCache | ( | bool | bDelete = true | ) | [virtual] |
Reimplemented from ON_Curve.
Reimplemented in ON_PolyEdgeCurve.
Definition at line 55 of file opennurbs_polycurve.cpp.
int ON_PolyCurve::Dimension | ( | ) | const [virtual] |
Implements ON_Geometry.
Definition at line 119 of file opennurbs_polycurve.cpp.
ON_Interval ON_PolyCurve::Domain | ( | ) | const [virtual] |
Implements ON_Curve.
Definition at line 496 of file opennurbs_polycurve.cpp.
void ON_PolyCurve::Dump | ( | ON_TextLog & | dump | ) | const [virtual] |
Reimplemented from ON_Object.
Definition at line 307 of file opennurbs_polycurve.cpp.
ON_Curve * ON_PolyCurve::DuplicateCurve | ( | ) | const [virtual] |
Reimplemented from ON_Curve.
Reimplemented in ON_PolyEdgeCurve.
Definition at line 479 of file opennurbs_polycurve.cpp.
void ON_PolyCurve::EmergencyDestroy | ( | void | ) |
Reimplemented from ON_Object.
Definition at line 49 of file opennurbs_polycurve.cpp.
ON_BOOL32 ON_PolyCurve::Evaluate | ( | double | t, |
int | der_count, | ||
int | v_stride, | ||
double * | v, | ||
int | side = 0 , |
||
int * | hint = 0 |
||
) | const [virtual] |
Implements ON_Curve.
Definition at line 1846 of file opennurbs_polycurve.cpp.
bool ON_PolyCurve::EvaluatePoint | ( | const class ON_ObjRef & | objref, |
ON_3dPoint & | P | ||
) | const [virtual] |
Reimplemented from ON_Curve.
Definition at line 1116 of file opennurbs_curve.cpp.
bool ON_PolyCurve::Extend | ( | const ON_Interval & | domain | ) | [virtual] |
Reimplemented from ON_Curve.
Definition at line 2740 of file opennurbs_polycurve.cpp.
int ON_PolyCurve::FindNextGap | ( | int | segment_index0 | ) | const |
Definition at line 1292 of file opennurbs_polycurve.cpp.
ON_Curve * ON_PolyCurve::FirstSegmentCurve | ( | ) | const |
Definition at line 2039 of file opennurbs_polycurve.cpp.
ON_BOOL32 ON_PolyCurve::GetBBox | ( | double * | boxmin, |
double * | boxmax, | ||
ON_BOOL32 | bGrowBox = false |
||
) | const [virtual] |
Implements ON_Geometry.
Definition at line 126 of file opennurbs_polycurve.cpp.
ON_BOOL32 ON_PolyCurve::GetCurveParameterFromNurbFormParameter | ( | double | nurbs_t, |
double * | curve_t | ||
) | const [virtual] |
Reimplemented from ON_Curve.
Definition at line 2319 of file opennurbs_polycurve.cpp.
bool ON_PolyCurve::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 [virtual] |
Reimplemented from ON_Curve.
Definition at line 1319 of file opennurbs_polycurve.cpp.
int ON_PolyCurve::GetNurbForm | ( | ON_NurbsCurve & | nurb, |
double | tol = 0.0 , |
||
const ON_Interval * | subdomain = NULL |
||
) | const [virtual] |
Reimplemented from ON_Curve.
Definition at line 2198 of file opennurbs_polycurve.cpp.
ON_BOOL32 ON_PolyCurve::GetNurbFormParameterFromCurveParameter | ( | double | curve_t, |
double * | nurbs_t | ||
) | const [virtual] |
Reimplemented from ON_Curve.
Definition at line 2343 of file opennurbs_polycurve.cpp.
ON_BOOL32 ON_PolyCurve::GetSpanVector | ( | double * | s | ) | const [virtual] |
Implements ON_Curve.
Definition at line 707 of file opennurbs_polycurve.cpp.
bool ON_PolyCurve::GetTightBoundingBox | ( | ON_BoundingBox & | tight_bbox, |
int | bGrowBox = false , |
||
const ON_Xform * | xform = 0 |
||
) | const [virtual] |
Reimplemented from ON_Curve.
Definition at line 900 of file opennurbs_bezier.cpp.
ON_Curve * ON_PolyCurve::HarvestSegment | ( | int | i | ) |
Definition at line 2368 of file opennurbs_polycurve.cpp.
int ON_PolyCurve::HasGap | ( | ) | const |
Definition at line 1244 of file opennurbs_polycurve.cpp.
bool ON_PolyCurve::HasGapAt | ( | int | segment_index | ) | const |
Definition at line 1250 of file opennurbs_polycurve.cpp.
int ON_PolyCurve::HasNurbForm | ( | ) | const [virtual] |
Reimplemented from ON_Curve.
Definition at line 2258 of file opennurbs_polycurve.cpp.
bool ON_PolyCurve::HasSynchronizedSegmentDomains | ( | ) | const |
Definition at line 3002 of file opennurbs_polycurve.cpp.
ON_BOOL32 ON_PolyCurve::Insert | ( | int | segment_index, |
ON_Curve * | c | ||
) |
Definition at line 2127 of file opennurbs_polycurve.cpp.
ON_BOOL32 ON_PolyCurve::IsArc | ( | const ON_Plane * | plane = NULL , |
ON_Arc * | arc = NULL , |
||
double | tolerance = ON_ZERO_TOLERANCE |
||
) | const [virtual] |
Reimplemented from ON_Curve.
Definition at line 860 of file opennurbs_polycurve.cpp.
ON_BOOL32 ON_PolyCurve::IsClosed | ( | void | ) | const [virtual] |
Reimplemented from ON_Curve.
Reimplemented in ON_PolyEdgeCurve.
Definition at line 992 of file opennurbs_polycurve.cpp.
bool ON_PolyCurve::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 [virtual] |
Reimplemented from ON_Curve.
Definition at line 1655 of file opennurbs_polycurve.cpp.
bool ON_PolyCurve::IsDeformable | ( | ) | const [virtual] |
Reimplemented from ON_Geometry.
Definition at line 156 of file opennurbs_polycurve.cpp.
ON_BOOL32 ON_PolyCurve::IsInPlane | ( | const ON_Plane & | plane, |
double | tolerance = ON_ZERO_TOLERANCE |
||
) | const [virtual] |
Implements ON_Curve.
Definition at line 973 of file opennurbs_polycurve.cpp.
ON_BOOL32 ON_PolyCurve::IsLinear | ( | double | tolerance = ON_ZERO_TOLERANCE | ) | const [virtual] |
Reimplemented from ON_Curve.
Definition at line 756 of file opennurbs_polycurve.cpp.
bool ON_PolyCurve::IsNested | ( | ) | const |
Definition at line 3119 of file opennurbs_polycurve.cpp.
ON_BOOL32 ON_PolyCurve::IsPeriodic | ( | void | ) | const [virtual] |
Reimplemented from ON_Curve.
Definition at line 1308 of file opennurbs_polycurve.cpp.
ON_BOOL32 ON_PolyCurve::IsPlanar | ( | ON_Plane * | plane = NULL , |
double | tolerance = ON_ZERO_TOLERANCE |
||
) | const [virtual] |
Reimplemented from ON_Curve.
Definition at line 906 of file opennurbs_polycurve.cpp.
int ON_PolyCurve::IsPolyline | ( | ON_SimpleArray< ON_3dPoint > * | pline_points = NULL , |
ON_SimpleArray< double > * | pline_t = NULL |
||
) | const [virtual] |
Reimplemented from ON_Curve.
Definition at line 780 of file opennurbs_polycurve.cpp.
ON_BOOL32 ON_PolyCurve::IsValid | ( | ON_TextLog * | text_log = NULL | ) | const [virtual] |
Implements ON_Object.
Definition at line 217 of file opennurbs_polycurve.cpp.
bool ON_PolyCurve::IsValid | ( | bool | bAllowGaps, |
ON_TextLog * | text_log | ||
) | const |
Definition at line 222 of file opennurbs_polycurve.cpp.
ON_Curve * ON_PolyCurve::LastSegmentCurve | ( | ) | const |
Definition at line 2045 of file opennurbs_polycurve.cpp.
bool ON_PolyCurve::MakeDeformable | ( | ) | [virtual] |
Reimplemented from ON_Geometry.
Definition at line 173 of file opennurbs_polycurve.cpp.
ON_PolyCurve::ON_OBJECT_DECLARE | ( | ON_PolyCurve | ) | [private] |
ON_PolyCurve & ON_PolyCurve::operator= | ( | const ON_PolyCurve & | src | ) |
Definition at line 97 of file opennurbs_polycurve.cpp.
ON_Curve * ON_PolyCurve::operator[] | ( | int | segment_index | ) | const |
Reimplemented in ON_PolyEdgeCurve.
Definition at line 1978 of file opennurbs_polycurve.cpp.
bool ON_PolyCurve::ParameterSearch | ( | double | t, |
int & | index, | ||
bool | bEnableSnap | ||
) | const |
Definition at line 3138 of file opennurbs_polycurve.cpp.
double ON_PolyCurve::PolyCurveParameter | ( | int | segment_index, |
double | segmentcurve_parameter | ||
) | const |
Definition at line 2009 of file opennurbs_polycurve.cpp.
Definition at line 2057 of file opennurbs_polycurve.cpp.
Reimplemented in ON_PolyEdgeCurve.
Definition at line 2069 of file opennurbs_polycurve.cpp.
ON_BOOL32 ON_PolyCurve::Read | ( | ON_BinaryArchive & | file | ) | [virtual] |
Reimplemented from ON_Object.
Definition at line 386 of file opennurbs_polycurve.cpp.
Reimplemented in ON_PolyEdgeCurve.
Definition at line 2094 of file opennurbs_polycurve.cpp.
ON_BOOL32 ON_PolyCurve::Remove | ( | int | segment_index | ) |
Reimplemented in ON_PolyEdgeCurve.
Definition at line 2099 of file opennurbs_polycurve.cpp.
void ON_PolyCurve::RemoveNesting | ( | ) |
Definition at line 3114 of file opennurbs_polycurve.cpp.
bool ON_PolyCurve::RemoveNestingEx | ( | ) |
Definition at line 3084 of file opennurbs_polycurve.cpp.
void ON_PolyCurve::Reserve | ( | int | capacity | ) |
Definition at line 2051 of file opennurbs_polycurve.cpp.
ON_BOOL32 ON_PolyCurve::Reverse | ( | ) | [virtual] |
Implements ON_Curve.
Definition at line 1785 of file opennurbs_polycurve.cpp.
ON_Curve * ON_PolyCurve::SegmentCurve | ( | int | segment_index | ) | const |
Reimplemented in ON_PolyEdgeCurve.
Definition at line 1984 of file opennurbs_polycurve.cpp.
double ON_PolyCurve::SegmentCurveParameter | ( | double | polycurve_parameter | ) | const |
Definition at line 1992 of file opennurbs_polycurve.cpp.
const ON_CurveArray & ON_PolyCurve::SegmentCurves | ( | ) | const |
Definition at line 3142 of file opennurbs_polycurve.cpp.
ON_Interval ON_PolyCurve::SegmentDomain | ( | int | segment_index | ) | const |
Definition at line 2027 of file opennurbs_polycurve.cpp.
int ON_PolyCurve::SegmentIndex | ( | double | polycurve_parameter | ) | const |
Definition at line 2280 of file opennurbs_polycurve.cpp.
int ON_PolyCurve::SegmentIndex | ( | ON_Interval | sub_domain, |
int * | segment_index0, | ||
int * | segment_index1 | ||
) | const |
Definition at line 2291 of file opennurbs_polycurve.cpp.
const ON_SimpleArray< double > & ON_PolyCurve::SegmentParameters | ( | ) | const |
Definition at line 3147 of file opennurbs_polycurve.cpp.
ON_BOOL32 ON_PolyCurve::SetDomain | ( | double | t0, |
double | t1 | ||
) | [virtual] |
Reimplemented from ON_Curve.
Definition at line 506 of file opennurbs_polycurve.cpp.
ON_BOOL32 ON_PolyCurve::SetEndPoint | ( | ON_3dPoint | end_point | ) | [virtual] |
Reimplemented from ON_Curve.
Reimplemented in ON_PolyEdgeCurve.
Definition at line 2185 of file opennurbs_polycurve.cpp.
bool ON_PolyCurve::SetParameterization | ( | const double * | t | ) |
Definition at line 544 of file opennurbs_polycurve.cpp.
void ON_PolyCurve::SetSegment | ( | int | index, |
ON_Curve * | crv | ||
) |
Definition at line 3132 of file opennurbs_polycurve.cpp.
ON_BOOL32 ON_PolyCurve::SetStartPoint | ( | ON_3dPoint | start_point | ) | [virtual] |
Reimplemented from ON_Curve.
Reimplemented in ON_PolyEdgeCurve.
Definition at line 2172 of file opennurbs_polycurve.cpp.
unsigned int ON_PolyCurve::SizeOf | ( | ) | const [virtual] |
Reimplemented from ON_Curve.
Definition at line 67 of file opennurbs_polycurve.cpp.
int ON_PolyCurve::SpanCount | ( | ) | const [virtual] |
Implements ON_Curve.
Definition at line 691 of file opennurbs_polycurve.cpp.
ON_BOOL32 ON_PolyCurve::Split | ( | double | t, |
ON_Curve *& | left_side, | ||
ON_Curve *& | right_side | ||
) | const [virtual] |
Reimplemented from ON_Curve.
Definition at line 2791 of file opennurbs_polycurve.cpp.
ON_BOOL32 ON_PolyCurve::SwapCoordinates | ( | int | i, |
int | j | ||
) | [virtual] |
Reimplemented from ON_Geometry.
Definition at line 205 of file opennurbs_polycurve.cpp.
Definition at line 3042 of file opennurbs_polycurve.cpp.
ON_BOOL32 ON_PolyCurve::Transform | ( | const ON_Xform & | xform | ) | [virtual] |
Reimplemented from ON_Geometry.
Definition at line 143 of file opennurbs_polycurve.cpp.
ON_BOOL32 ON_PolyCurve::Trim | ( | const ON_Interval & | domain | ) | [virtual] |
Reimplemented from ON_Curve.
Definition at line 2378 of file opennurbs_polycurve.cpp.
ON_BOOL32 ON_PolyCurve::Write | ( | ON_BinaryArchive & | file | ) | const [virtual] |
Reimplemented from ON_Object.
Definition at line 355 of file opennurbs_polycurve.cpp.
ON_CurveArray ON_PolyCurve::m_segment [private] |
Definition at line 823 of file opennurbs_polycurve.h.
ON_SimpleArray<double> ON_PolyCurve::m_t [private] |
Definition at line 827 of file opennurbs_polycurve.h.