RSplineProxy
Class in Math Module
Header: #include <src/core/math/RSplineProxy.h>
Description
Section titled “Description”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.
Public Functions
Section titled “Public Functions”| 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 > ¶ms)=0 = 0 |
| virtual QList< QSharedPointer< RShape > > | splitAt(const RSpline &spline, const QList< RVector > &points)=0 = 0Splits 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 |
Member Documentation
Section titled “Member Documentation”~RSplineProxy
Section titled “~RSplineProxy”virtual RSplineProxy::~RSplineProxy()virtual inline
approximateWithArcs
Section titled “approximateWithArcs”virtual RPolyline RSplineProxy::approximateWithArcs(const RSpline &spline, double tolerance=0.001, double radiusLimit=RDEFAULT_MIN1)=0 = 0pure virtual
getDistanceAtT
Section titled “getDistanceAtT”virtual double RSplineProxy::getDistanceAtT(const RSpline &spline, double t)=0 = 0pure virtual
getIntersectionPoints
Section titled “getIntersectionPoints”virtual QList< RVector > RSplineProxy::getIntersectionPoints(const RSpline &spline, const RShape &other, bool limited=true, bool same=false, double tolerance=RS::PointTolerance)=0 = 0pure virtual
getLength
Section titled “getLength”virtual double RSplineProxy::getLength(const RSpline &spline)=0 = 0pure virtual
getTAtDistance
Section titled “getTAtDistance”virtual double RSplineProxy::getTAtDistance(const RSpline &spline, double dist)=0 = 0pure virtual
getTAtPoint
Section titled “getTAtPoint”virtual double RSplineProxy::getTAtPoint(const RSpline &spline, const RVector &point)=0 = 0pure virtual
getTsAtPoint
Section titled “getTsAtPoint”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.
getVectorTo
Section titled “getVectorTo”virtual RVector RSplineProxy::getVectorTo(const RSpline &spline, const RVector &point, bool limited=true, double strictRange=RMAXDOUBLE)=0 = 0pure virtual
virtual void RSplineProxy::init()=0 = 0pure virtual
simplify
Section titled “simplify”virtual RSpline RSplineProxy::simplify(const RSpline &spline, double tolerance)=0 = 0pure virtual
virtual QList< RSpline > RSplineProxy::split(const RSpline &spline, const QList< double > ¶ms)=0 = 0pure virtual
splitAt
Section titled “splitAt”virtual QList< QSharedPointer< RShape > > RSplineProxy::splitAt(const RSpline &spline, const QList< RVector > &points)=0 = 0pure virtual
Splits the spline at the given points, at every parameter at which the spline passes through a point.
See RSpline::splitAt.
splitEqual
Section titled “splitEqual”virtual QList< RSpline > RSplineProxy::splitEqual(const RSpline &spline, int pieces)=0 = 0pure virtual
uninit
Section titled “uninit”virtual void RSplineProxy::uninit()=0 = 0pure virtual
updateFromFitPoints
Section titled “updateFromFitPoints”virtual RSpline RSplineProxy::updateFromFitPoints(const RSpline &spline, bool rec=false)=0 = 0pure virtual