#include <Spline1FunctionInt.h>
Inheritance diagram for Go::Spline1FunctionInt:
Public Member Functions | |
Spline1FunctionInt (boost::shared_ptr< ParamCurve > curve) | |
Constructor. | |
Spline1FunctionInt (boost::shared_ptr< ParamCurve > curve, ParamFunctionInt *parent) | |
Constructor. | |
virtual | ~Spline1FunctionInt () |
Destructor. | |
virtual boost::shared_ptr< Param1FunctionInt > | makeIntFunction (boost::shared_ptr< ParamCurve > curve) |
Return an intersection object for the input curve. | |
virtual bool | hasInnerKnots (int pardir) const |
Return true if the object has any inner knots in the specified parameter direction. | |
virtual bool | hasCriticalValsOrKnots (int pardir) const |
Return true if the object has any critical parameter values or inner knots. | |
virtual std::vector< double > | getInnerKnotVals (int pardir, bool sort=false) const |
Return the inner knot values in the specified direction. | |
virtual std::vector< double > | getCriticalValsAndKnots (int pardir) const |
Return the critical parameter values and inner knots for object. | |
virtual int | getMeshSize (int dir) |
Return the size of the geometric sample mesh in the specified direction. | |
virtual double | paramFromMesh (int dir, int idx) |
Return the corresponding mesh parameter. | |
virtual std::vector< double >::iterator | getMesh () |
Return the geometric sample mesh for the spline function. | |
virtual bool | monotone (Point &dir, double tol=1.0e-15) const |
Return true if the curve is monotone. | |
virtual int | knotIntervalFuzzy (double &t, double tol) const |
Return the knot interval for which t lies inside, moving the value t if it lies close to a knot. | |
virtual double | nextSegmentVal (double par, bool forward) const |
Return the value of the knot next to the input parameter par. | |
Protected Attributes | |
boost::shared_ptr< SplineCurve > | spcv_ |
Definition at line 52 of file Spline1FunctionInt.h.
Go::Spline1FunctionInt::Spline1FunctionInt | ( | boost::shared_ptr< ParamCurve > | curve | ) | [explicit] |
Constructor.
Input curve must be of type SplineCurve. This is not checked run-time, so we rely on the user to obey this rule.
curve | the parametric 1-dimensional curve defining the object. |
Go::Spline1FunctionInt::Spline1FunctionInt | ( | boost::shared_ptr< ParamCurve > | curve, | |
ParamFunctionInt * | parent | |||
) | [explicit] |
Constructor.
Input curve must be of type SplineCurve. This is not checked run-time, so we rely on the user to obey this rule.
curve | the parametric 1-dimensional curve defining the object. Can be either a curve or a surface. | |
parent | the parent object to this object. |
virtual boost::shared_ptr<Param1FunctionInt> Go::Spline1FunctionInt::makeIntFunction | ( | boost::shared_ptr< ParamCurve > | curve | ) | [virtual] |
Return an intersection object for the input curve.
Input curve must be of type SplineCurve. This is not checked run-time, so we rely on the user to obey this rule. This object is used as the parent for the intersection object.
curve | the parametric curve defining the intersection object. |
Reimplemented from Go::Param1FunctionInt.
virtual bool Go::Spline1FunctionInt::hasInnerKnots | ( | int | pardir | ) | const [virtual] |
Return true if the object has any inner knots in the specified parameter direction.
pardir | the parameter direction in question. Indexing starts at 0. |
Reimplemented from Go::Param1FunctionInt.
virtual bool Go::Spline1FunctionInt::hasCriticalValsOrKnots | ( | int | pardir | ) | const [virtual] |
Return true if the object has any critical parameter values or inner knots.
pardir | the parameter direction in question. Indexing starts at 0. |
Reimplemented from Go::Param1FunctionInt.
virtual std::vector<double> Go::Spline1FunctionInt::getInnerKnotVals | ( | int | pardir, | |
bool | sort = false | |||
) | const [virtual] |
Return the inner knot values in the specified direction.
pardir | the parameter direction in question. Indexing starts at 0. | |
sort | the returned values may be sorted by the function. |
Reimplemented from Go::Param1FunctionInt.
virtual std::vector<double> Go::Spline1FunctionInt::getCriticalValsAndKnots | ( | int | pardir | ) | const [virtual] |
Return the critical parameter values and inner knots for object.
pardir | the parameter direction in question. Indexing starts at 0. |
Reimplemented from Go::Param1FunctionInt.
virtual int Go::Spline1FunctionInt::getMeshSize | ( | int | dir | ) | [virtual] |
Return the size of the geometric sample mesh in the specified direction.
dir | the parameter direction in question. Indexing starts at 0. |
Reimplemented from Go::Param1FunctionInt.
virtual double Go::Spline1FunctionInt::paramFromMesh | ( | int | dir, | |
int | idx | |||
) | [virtual] |
Return the corresponding mesh parameter.
dir | the parameter direction in question. Indexing starts at 0. | |
idx | the mesh idx in the specified direction. Indexing starts at 0. |
Reimplemented from Go::Param1FunctionInt.
virtual std::vector<double>::iterator Go::Spline1FunctionInt::getMesh | ( | ) | [virtual] |
Return the geometric sample mesh for the spline function.
Reimplemented from Go::Param1FunctionInt.
virtual bool Go::Spline1FunctionInt::monotone | ( | Point & | dir, | |
double | tol = 1.0e-15 | |||
) | const [virtual] |
Return true if the curve is monotone.
dir | the direction in which the object is monotone. Is not of interest here as the curve has only 1 parameter direction. |
Reimplemented from Go::Param1FunctionInt.
virtual int Go::Spline1FunctionInt::knotIntervalFuzzy | ( | double & | t, | |
double | tol | |||
) | const [virtual] |
Return the knot interval for which t lies inside, moving the value t if it lies close to a knot.
t | the parameter value | |
tol | the parametric tolerance deciding if the input parameter t should be moved. |
Reimplemented from Go::Param1FunctionInt.
virtual double Go::Spline1FunctionInt::nextSegmentVal | ( | double | par, | |
bool | forward | |||
) | const [virtual] |
Return the value of the knot next to the input parameter par.
par | the parameter value | |
forward | if true we return the closest knot to the right, otherwise the closest knot to the left. |
Reimplemented from Go::Param1FunctionInt.