QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
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
35public:
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 getLength(const RSpline& spline) = 0;
45 virtual double getDistanceAtT(const RSpline& spline, double t) = 0;
46 virtual RVector getVectorTo(const RSpline& spline, const RVector& point, bool limited=true, double strictRange=RMAXDOUBLE) = 0;
47 virtual RSpline simplify(const RSpline& spline, double tolerance) = 0;
48 virtual RPolyline approximateWithArcs(const RSpline& spline, double tolerance=0.001, double radiusLimit=RDEFAULT_MIN1) = 0;
49 virtual QList<RVector> getIntersectionPoints(const RSpline& spline, const RShape& other, bool limited=true, bool same=false, double tolerance=RS::PointTolerance) = 0;
50};
51
52#endif
#define RDEFAULT_MIN1
Copyright (c) 2011-2018 by Andrew Mustun.
Definition RExplodable.h:30
#define RMAXDOUBLE
Definition RMath.h:66
Low-level mathematical representation of an open polyline or closed polyline (= polygon).
Definition RPolyline.h:50
static const double PointTolerance
Copyright (c) 2011-2018 by Andrew Mustun.
Definition RS.h:920
Interface for geometrical shape classes.
Definition RShape.h:72
Low-level mathematical representation of a spline.
Definition RSpline.h:59
Copyright (c) 2011-2018 by Andrew Mustun.
Definition RSplineProxy.h:34
virtual RVector getVectorTo(const RSpline &spline, const RVector &point, bool limited=true, double strictRange=RMAXDOUBLE)=0
virtual RSpline simplify(const RSpline &spline, double tolerance)=0
virtual double getTAtPoint(const RSpline &spline, const RVector &point)=0
virtual void uninit()=0
virtual void init()=0
virtual double getDistanceAtT(const RSpline &spline, double t)=0
virtual QList< RVector > getIntersectionPoints(const RSpline &spline, const RShape &other, bool limited=true, bool same=false, double tolerance=RS::PointTolerance)=0
virtual RSpline updateFromFitPoints(const RSpline &spline, bool rec=false)=0
virtual RPolyline approximateWithArcs(const RSpline &spline, double tolerance=0.001, double radiusLimit=RDEFAULT_MIN1)=0
virtual ~RSplineProxy()
Definition RSplineProxy.h:36
virtual QList< RSpline > split(const RSpline &spline, const QList< double > &params)=0
virtual double getTAtDistance(const RSpline &spline, double dist)=0
virtual double getLength(const RSpline &spline)=0
virtual QList< RSpline > splitEqual(const RSpline &spline, int pieces)=0
Represents a 3d vector (x/y/z).
Definition RVector.h:47
#define QCADCORE_EXPORT
Definition core_global.h:10