23 #if !defined(OPENNURBS_CURVEPROXY_INC_) 24 #define OPENNURBS_CURVEPROXY_INC_ 48 #if defined(ON_HAS_RVALUEREF) 68 unsigned int SizeOf()
const override;
71 ON__UINT32
DataCRC(ON__UINT32 current_remainder)
const override;
80 void SetProxyCurve(
const ON_Curve* real_curve );
96 void SetProxyCurve(
const ON_Curve* real_curve,
119 bool SetProxyCurveDomain(
ON_Interval proxy_curve_subdomain );
139 bool ProxyCurveIsReversed()
const;
144 void SetProxyCurveIsReversed(
bool bReversed);
153 double RealCurveParameter(
double t )
const;
161 double ThisCurveParameter(
double real_curve_parameter )
const;
226 bool GetBBox(
double* boxmin,
double* boxmax,
bool bGrowBox =
false )
const override;
269 double = ON_ZERO_TOLERANCE
283 double = ON_ZERO_TOLERANCE
289 double = ON_ZERO_TOLERANCE
294 double = ON_ZERO_TOLERANCE
349 double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE,
350 double curvature_tolerance=ON_SQRT_EPSILON
390 double point_tolerance=ON_ZERO_TOLERANCE,
391 double d1_tolerance=ON_ZERO_TOLERANCE,
392 double d2_tolerance=ON_ZERO_TOLERANCE,
393 double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE,
394 double curvature_tolerance=ON_SQRT_EPSILON
virtual bool IsClosed() const
virtual int SpanCount() const =0
virtual bool IsContinuous(ON::continuity c, double t, int *hint=nullptr, 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 bool GetNextDiscontinuity(ON::continuity c, double t0, double t1, double *t, int *hint=nullptr, int *dtype=nullptr, double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE, double curvature_tolerance=ON_SQRT_EPSILON) const
virtual int Dimension() const
Definition: opennurbs_arc.h:34
virtual bool GetBBox(double *boxmin, double *boxmax, bool bGrowBox=false) const
virtual bool IsArc(const ON_Plane *plane=nullptr, ON_Arc *arc=nullptr, double tolerance=ON_ZERO_TOLERANCE) const
virtual int HasNurbForm() const
virtual bool GetSpanVector(double *knots) const =0
virtual bool GetParameterTolerance(double t, double *tminus, double *tplus) const
Definition: opennurbs_curve.h:91
virtual int GetNurbForm(ON_NurbsCurve &nurbs_curve, double tolerance=0.0, const ON_Interval *subdomain=nullptr) const
virtual int Degree() const =0
virtual bool IsPlanar(ON_Plane *plane=nullptr, double tolerance=ON_ZERO_TOLERANCE) const
virtual bool GetNurbFormParameterFromCurveParameter(double curve_t, double *nurbs_t) const
virtual ON_Curve * DuplicateCurve() const
virtual bool IsInPlane(const ON_Plane &test_plane, double tolerance=ON_ZERO_TOLERANCE) const =0
bool Transform(const ON_Xform &xform) override
virtual int IsPolyline(ON_SimpleArray< ON_3dPoint > *pline_points=nullptr, ON_SimpleArray< double > *pline_t=nullptr) const
Definition: opennurbs_curveproxy.h:38
virtual void Dump(ON_TextLog &) const
ON_Curve & operator=(const ON_Curve &)
virtual bool IsPeriodic() const
bool SetDomain(ON_Interval domain)
virtual bool GetCurveParameterFromNurbFormParameter(double nurbs_t, double *curve_t) const
virtual bool Trim(const ON_Interval &domain)
virtual bool Evaluate(double t, int der_count, int v_stride, double *v, int side=0, int *hint=0) const =0
Definition: opennurbs_nurbscurve.h:26
Definition: opennurbs_textlog.h:20
< use for generic serialization of binary data
Definition: opennurbs_archive.h:1866
virtual bool Read(ON_BinaryArchive &binary_archive)
bool IsValid(class ON_TextLog *text_log=nullptr) const override
virtual bool Write(ON_BinaryArchive &binary_archive) const
virtual ON__UINT32 DataCRC(ON__UINT32 current_remainder) const
Definition: opennurbs_plane.h:20
void DestroyRuntimeCache(bool bDelete=true) override
virtual ON_Object::DestroyRuntimeCache override
unsigned int SizeOf() const override
virtual ON_Object::SizeOf override
virtual bool IsLinear(double tolerance=ON_ZERO_TOLERANCE) const
Definition: opennurbs_point.h:46
virtual ON_Interval Domain() const =0
virtual bool Split(double t, ON_Curve *&left_side, ON_Curve *&right_side) const