QCAD
Open Source 2D CAD
RSplineProxy.h
Go to the documentation of this file.
1 
20 #ifndef RSPLINEPROXY_H
21 #define RSPLINEPROXY_H
22 
23 #include "../core_global.h"
24 
25 #include "RSpline.h"
26 
27 
35 public:
36  virtual ~RSplineProxy() {}
37  virtual void init() = 0;
38  virtual void uninit() = 0;
39  virtual RSpline updateFromFitPoints(const RSpline& spline, bool rec = false) = 0;
40  virtual QList<RSpline> split(const RSpline& spline, const QList<double>& params) = 0;
41  virtual QList<RSpline> splitEqual(const RSpline& spline, int pieces) = 0;
42  virtual double getTAtPoint(const RSpline& spline, const RVector& point) = 0;
43  virtual double getTAtDistance(const RSpline& spline, double dist) = 0;
44  virtual double getDistanceAtT(const RSpline& spline, double t) = 0;
45  virtual RVector getVectorTo(const RSpline& spline, const RVector& point, bool limited=true, double strictRange=RMAXDOUBLE) = 0;
46  virtual RSpline simplify(const RSpline& spline, double tolerance) = 0;
47  virtual RPolyline approximateWithArcs(const RSpline& spline, double tolerance=0.001) = 0;
48  virtual QList<RVector> getIntersectionPoints(const RSpline& spline, const RShape& other, bool limited=true, bool same=false) = 0;
49 };
50 
51 #endif
Represents a 3d vector (x/y/z).
Definition: RVector.h:46
Copyright (c) 2011-2017 by Andrew Mustun.
Definition: RSpline.h:55
#define QCADCORE_EXPORT
Definition: core_global.h:10
virtual ~RSplineProxy()
Definition: RSplineProxy.h:36
Copyright (c) 2011-2017 by Andrew Mustun.
Definition: RSplineProxy.h:34
#define RMAXDOUBLE
Definition: RMath.h:63
void getIntersectionPoints(void e1, void e2, void limited)
Returns intersection points between the two given entities or shapes.
Definition: simple_info.js:12
void init(void basePath)
Definition: AddBlockInit.js:2
Low-level mathematical representation of an open polyline or closed polyline (= polygon).
Definition: RPolyline.h:49
Interface for geometrical shape classes.
Definition: RShape.h:52