Skip to content

RSplineProxy

Class in Math Module
Header: #include <src/core/math/RSplineProxy.h>

All rights reserved.

This file is part of the QCAD project.

QCAD is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

QCAD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with QCAD. Proxy for advanced spline functionality. May be implemented by a plugin.

virtual ~RSplineProxy()
virtual RPolyline approximateWithArcs(const RSpline &spline, double tolerance=0.001, double radiusLimit=RDEFAULT_MIN1)=0 = 0
virtual double getDistanceAtT(const RSpline &spline, double t)=0 = 0
virtual QList< RVector > getIntersectionPoints(const RSpline &spline, const RShape &other, bool limited=true, bool same=false, double tolerance=RS::PointTolerance)=0 = 0
virtual double getLength(const RSpline &spline)=0 = 0
virtual double getTAtDistance(const RSpline &spline, double dist)=0 = 0
virtual double getTAtPoint(const RSpline &spline, const RVector &point)=0 = 0
virtual QList< double > getTsAtPoint(const RSpline &spline, const RVector &point, double tolerance)
virtual RVector getVectorTo(const RSpline &spline, const RVector &point, bool limited=true, double strictRange=RMAXDOUBLE)=0 = 0
virtual void init()=0 = 0
virtual RSpline simplify(const RSpline &spline, double tolerance)=0 = 0
virtual QList< RSpline > split(const RSpline &spline, const QList< double > &params)=0 = 0
virtual QList< QSharedPointer< RShape > > splitAt(const RSpline &spline, const QList< RVector > &points)=0 = 0
Splits the spline at the given points, at every parameter at which the spline passes through a point.
virtual QList< RSpline > splitEqual(const RSpline &spline, int pieces)=0 = 0
virtual void uninit()=0 = 0
virtual RSpline updateFromFitPoints(const RSpline &spline, bool rec=false)=0 = 0

virtual RSplineProxy::~RSplineProxy()

virtual inline

virtual RPolyline RSplineProxy::approximateWithArcs(const RSpline &spline, double tolerance=0.001, double radiusLimit=RDEFAULT_MIN1)=0 = 0

pure virtual

virtual double RSplineProxy::getDistanceAtT(const RSpline &spline, double t)=0 = 0

pure virtual

virtual QList< RVector > RSplineProxy::getIntersectionPoints(const RSpline &spline, const RShape &other, bool limited=true, bool same=false, double tolerance=RS::PointTolerance)=0 = 0

pure virtual

virtual double RSplineProxy::getLength(const RSpline &spline)=0 = 0

pure virtual

virtual double RSplineProxy::getTAtDistance(const RSpline &spline, double dist)=0 = 0

pure virtual

virtual double RSplineProxy::getTAtPoint(const RSpline &spline, const RVector &point)=0 = 0

pure virtual

virtual QList< double > RSplineProxy::getTsAtPoint(const RSpline &spline, const RVector &point, double tolerance)

virtual inline

Returns: All parameters at which the spline passes through the given point (closer than tolerance), in ascending order. See RSpline::getTsAtPoint.

virtual RVector RSplineProxy::getVectorTo(const RSpline &spline, const RVector &point, bool limited=true, double strictRange=RMAXDOUBLE)=0 = 0

pure virtual

virtual void RSplineProxy::init()=0 = 0

pure virtual

virtual RSpline RSplineProxy::simplify(const RSpline &spline, double tolerance)=0 = 0

pure virtual

virtual QList< RSpline > RSplineProxy::split(const RSpline &spline, const QList< double > &params)=0 = 0

pure virtual

virtual QList< QSharedPointer< RShape > > RSplineProxy::splitAt(const RSpline &spline, const QList< RVector > &points)=0 = 0

pure virtual

Splits the spline at the given points, at every parameter at which the spline passes through a point.

See RSpline::splitAt.

virtual QList< RSpline > RSplineProxy::splitEqual(const RSpline &spline, int pieces)=0 = 0

pure virtual

virtual void RSplineProxy::uninit()=0 = 0

pure virtual

virtual RSpline RSplineProxy::updateFromFitPoints(const RSpline &spline, bool rec=false)=0 = 0

pure virtual