23 #if !defined(OPENNURBS_CURVE_INC_)    24 #define OPENNURBS_CURVE_INC_    98   ON_Curve(const ON_Curve&);
    99   ON_Curve& operator=(const ON_Curve&);
   101 #if defined(ON_HAS_RVALUEREF)   103   ON_Curve( ON_Curve&& ) ON_NOEXCEPT;
   108   ON_Curve& operator=( ON_Curve&& );
   116   unsigned int SizeOf() 
const override;
   135   ON_Curve* DuplicateCurve() 
const;
   175   bool GetDomain( 
double* t0, 
double* t1 ) 
const;
   217   bool ChangeClosedCurveSeam( 
   232   bool ChangeDimension(
   233           int desired_dimension
   242   int SpanCount() 
const = 0;
   262   bool GetSpanVectorIndex(
   265         int* span_vector_index,  
   275   int Degree() 
const = 0; 
   283   bool GetParameterTolerance( 
   299         double tolerance = ON_ZERO_TOLERANCE 
   339         double tolerance = ON_ZERO_TOLERANCE
   368     double tolerance = ON_ZERO_TOLERANCE,
   377       double tolerance = ON_ZERO_TOLERANCE
   392         double tolerance = ON_ZERO_TOLERANCE
   406         double tolerance = ON_ZERO_TOLERANCE
   427         double min_abs_size = 0.0,
   428         double min_rel_size = 10.0
   436   bool IsClosed() 
const;
   443   bool IsPeriodic() 
const;
   500   bool GetNextDiscontinuity( 
   507                   double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE,
   508                   double curvature_tolerance=ON_SQRT_EPSILON
   549     double point_tolerance=ON_ZERO_TOLERANCE,
   550     double d1_tolerance=ON_ZERO_TOLERANCE,
   551     double d2_tolerance=ON_ZERO_TOLERANCE,
   552     double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE,
   553     double curvature_tolerance=ON_SQRT_EPSILON
   703   bool FrameAt( 
double t, 
ON_Plane& plane) 
const;
   888   bool FirstSpanIsLinear( 
   893   bool LastSpanIsLinear( 
   898   bool FirstSpanIsLinear( 
   904   bool LastSpanIsLinear( 
   969       ON_Curve*& left_side,
   970       ON_Curve*& right_side
  1006         double tolerance = 0.0,
  1034   int HasNurbForm() 
const;
  1057         double tolerance = 0.0,
  1075   bool GetCurveParameterFromNurbFormParameter(
  1094   bool GetNurbFormParameterFromCurveParameter(
  1107   void DestroyCurveTree();
  1139                                                             double RelTol=ON_SQRT_EPSILON) 
const;
  1144 #if defined(ON_DLL_TEMPLATE)  1149 class ON_CLASS 
ON_CurveArray : 
public ON_SimpleArray<ON_Curve*>
  1181       bool bGrowBox = 
false,
  1200 ON_Curve* ON_TrimCurve( 
  1201             const ON_Curve& curve,
  1222 bool ON_ForceMatchCurveEnds(
  1257 int ON_JoinCurves(
const ON_SimpleArray<const ON_Curve*>& InCurves,
  1258                   ON_SimpleArray<ON_Curve*>& OutCurves,
  1260                   bool bPreserveDirection = 
false,
  1288 int ON_JoinCurves(
const ON_SimpleArray<const ON_Curve*>& InCurves,
  1289                   ON_SimpleArray<ON_Curve*>& OutCurves,
  1293                   bool bPreserveDirection = 
false,
  1360           const ON_Curve* 
const* curve_list, 
  1381                    const ON_SimpleArray<const ON_Curve*>& curves, 
  1403           const ON_SimpleArray<ON_Curve*>& curves, 
  1422 int ON_ClosedCurveOrientation( 
const ON_Curve& curve, 
const ON_Xform* xform );
  1443 double ON_CurveOrientationArea( 
  1444   const ON_Curve* curve,
 virtual bool Transform(const ON_Xform &xform)
Transforms the object. 
 
int m_main_seg_count
Definition: opennurbs_curve.h:42
 
Definition: opennurbs_curve.h:1168
 
An ON_Arc is a subcurve of 3d circle. 
Definition: opennurbs_arc.h:33
 
virtual void DestroyRuntimeCache(bool bDelete=true)
Expert user function. If you are using openNURBS in its default configuration to read and write 3dm a...
 
virtual bool EvaluatePoint(const class ON_ObjRef &objref, ON_3dPoint &P) const
Evaluate the location of a point from the object reference. 
 
double m_max_edge_length
Definition: opennurbs_curve.h:74
 
ON_Curve is a pure virtual class for curve objects 
Definition: opennurbs_curve.h:93
 
int m_reserved2
Definition: opennurbs_curve.h:46
 
int m_sub_seg_count
Definition: opennurbs_curve.h:43
 
double m_max_chr
Definition: opennurbs_curve.h:54
 
virtual ON::object_type ObjectType() const
Useful for switch statements that need to differentiate between basic object types like points...
 
Base class for all geometry classes that must provide runtime class id. Provides interface for common...
Definition: opennurbs_geometry.h:37
 
virtual bool GetTightBoundingBox(class ON_BoundingBox &tight_bbox, bool bGrowBox=false, const class ON_Xform *xform=nullptr) const
Get tight bounding box. 
 
virtual unsigned int SizeOf() const
 
Definition: opennurbs_bounding_box.h:25
 
double m_max_aspect
Definition: opennurbs_curve.h:61
 
double m_reserved4
Definition: opennurbs_curve.h:77
 
double m_reserved3
Definition: opennurbs_curve.h:76
 
Definition: opennurbs_curve.h:29
 
double m_tolerance
Definition: opennurbs_curve.h:66
 
double m_max_ang_radians
Definition: opennurbs_curve.h:50
 
Definition: opennurbs_line.h:20
 
int m_reserved1
Definition: opennurbs_curve.h:45
 
double m_min_edge_length
Definition: opennurbs_curve.h:70
 
Definition: opennurbs_ellipse.h:23
 
Definition: opennurbs_nurbscurve.h:26
 
Definition: opennurbs_archive.h:1783
 
virtual bool Read(ON_BinaryArchive &binary_archive)
Low level archive writing tool used by ON_BinaryArchive::ReadObject(). 
 
Definition: opennurbs_objref.h:163
 
Definition: opennurbs_point.h:460
 
virtual bool Write(ON_BinaryArchive &binary_archive) const
Low level archive writing tool used by ON_BinaryArchive::WriteObject(). 
 
Definition: opennurbs_plane.h:20
 
Definition: opennurbs_point.h:1152
 
Definition: opennurbs_point.h:46