#include <Param0FunctionInt.h>
Inheritance diagram for Go::Param0FunctionInt:
Public Member Functions | |
Param0FunctionInt (double C) | |
Constructor. | |
Param0FunctionInt (double C, ParamFunctionInt *parent) | |
Constructor. | |
virtual | ~Param0FunctionInt () |
Destructor. | |
virtual void | point (Point &res, const double *par) const |
Evaluate the object in the input parameter. | |
virtual void | point (std::vector< Point > &pt, const double *tpar, int derivs, const bool *from_right=0, double resolution=1.0e-12) const |
Evaluate the object in the input parameter, with the specified number of derivatives. | |
virtual Param0FunctionInt * | getParam0FunctionInt () |
Return pointer to this object. | |
virtual int | numParams () const |
The number of parameters in the object. | |
virtual void | getLengthAndWiggle (double *length, double *wiggle) |
Return an estimate on the size and wiggle of the object. | |
virtual bool | hasInnerKnots (int pardir) const |
Return true if the object has any inner knots in the specified parameter direction. | |
virtual std::vector< double > | getInnerKnotVals (int pardir, bool sort=false) const |
Return the inner knot values in the specified direction. | |
virtual bool | hasCriticalVals (int pardir) const |
Return true if the object has any critical parameter values in the specified parameter direction. | |
virtual std::vector< double > | getCriticalVals (int pardir) const |
Return the critical parameter values in the specified direction. | |
virtual bool | hasCriticalValsOrKnots (int pardir) const |
Return true if the object has any critical parameter values or inner knots in the specified parameter direction. | |
virtual std::vector< double > | getCriticalValsAndKnots (int pardir) const |
Return the critical parameter values and inner knots for object. | |
virtual bool | canDivide (int pardir) |
Return true if we are allowed to divide in the specified parameter direction. | |
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 parametric function. | |
virtual double | startParam (int pardir) const |
Return the start parameter value in the specified direction. | |
virtual double | endParam (int pardir) const |
Return the end parameter in the specified direction. | |
virtual bool | boundaryPoint (const double *par, double eps) const |
Return true if the specified point lies within eps from the boundary. | |
virtual void | subdivide (int pardir, double par, std::vector< boost::shared_ptr< ParamFunctionInt > > &subdiv_objs, std::vector< boost::shared_ptr< ParamFunctionInt > > &bd_objs) |
Subdivide the object in the specified parameter direction and parameter value. | |
virtual CompositeBox | compositeBox () const |
Return the CompositeBox for the parametric object. | |
virtual bool | monotone (Point &dir, double tol=1.0e-15) const |
Return true if the object is monotone in any direction. | |
virtual void | getBoundaryObjects (std::vector< boost::shared_ptr< BoundaryFunctionInt > > &bd_objs) |
Return the boundary objects of this object. | |
int | dimension () |
Return the dimension of the geometric space. | |
virtual int | knotIntervalFuzzy (double &t, double tol) const |
Return the knot interval for which t lies inside, possibly 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 closest to the input parameter. | |
double | getValue () const |
Return the scalar value of this object. | |
Protected Attributes | |
double | C_ |
int | dim_ |
ParamFunctionInt * | parentcurve_ |
Definition at line 49 of file Param0FunctionInt.h.
Go::Param0FunctionInt::Param0FunctionInt | ( | double | C | ) | [explicit] |
Constructor.
C | the constant defining the object. |
Go::Param0FunctionInt::Param0FunctionInt | ( | double | C, | |
ParamFunctionInt * | parent | |||
) | [explicit] |
Constructor.
C | the constant defining the object. | |
parent | the parent object to this object. |
virtual void Go::Param0FunctionInt::point | ( | Point & | res, | |
const double * | par | |||
) | const [virtual] |
Evaluate the object in the input parameter.
res | the Point to be returned. | |
par | the parameter in which to evaluate. The size of the array should be equal to numParams(). |
Implements Go::ParamObjectInt.
Referenced by point().
virtual void Go::Param0FunctionInt::point | ( | std::vector< Point > & | pt, | |
const double * | tpar, | |||
int | derivs, | |||
const bool * | from_right = 0 , |
|||
double | resolution = 1.0e-12 | |||
) | const [inline, virtual] |
Evaluate the object in the input parameter, with the specified number of derivatives.
pt | the Point to be returned. | |
tpar | the parameter in which to evaluate. The size of the array should be equal to numParams(). | |
derivs | the number of derivatives to calculate. | |
from_right | if true the evaluation is to be performed from the right side of the parameter value. | |
resolution | tolerance used when determining whether parameters are located at special values of the parameter domain (in particualar: knot values in case of spline objects. |
Implements Go::ParamObjectInt.
Definition at line 81 of file Param0FunctionInt.h.
References point().
virtual void Go::Param0FunctionInt::getLengthAndWiggle | ( | double * | length, | |
double * | wiggle | |||
) | [virtual] |
Return an estimate on the size and wiggle of the object.
length | the approximative length of the object in the corresponding parameter directions. The size of the array should be equal to numParams(). | |
wiggle | a scalar representing the wiggle of the object in the corresponding parameter directions. The size of the array should be equal to numParams(). |
Implements Go::ParamObjectInt.
virtual bool Go::Param0FunctionInt::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. |
Implements Go::ParamObjectInt.
virtual std::vector<double> Go::Param0FunctionInt::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. |
Implements Go::ParamObjectInt.
virtual bool Go::Param0FunctionInt::hasCriticalVals | ( | int | pardir | ) | const [virtual] |
Return true if the object has any critical parameter values in the specified parameter direction.
pardir | the parameter direction in question. Indexing starts at 0. |
Implements Go::ParamObjectInt.
virtual std::vector<double> Go::Param0FunctionInt::getCriticalVals | ( | int | pardir | ) | const [virtual] |
Return the critical parameter values in the specified direction.
pardir | the parameter direction in question. Indexing starts at 0. |
Implements Go::ParamObjectInt.
virtual bool Go::Param0FunctionInt::hasCriticalValsOrKnots | ( | int | pardir | ) | const [virtual] |
Return true if the object has any critical parameter values or inner knots in the specified parameter direction.
pardir | the parameter direction in question. Indexing starts at 0. |
Implements Go::ParamObjectInt.
virtual std::vector<double> Go::Param0FunctionInt::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. |
Implements Go::ParamObjectInt.
virtual bool Go::Param0FunctionInt::canDivide | ( | int | pardir | ) | [virtual] |
Return true if we are allowed to divide in the specified parameter direction.
pardir | the parameter direction in question. |
Implements Go::ParamObjectInt.
virtual int Go::Param0FunctionInt::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. |
Implements Go::ParamFunctionInt.
virtual double Go::Param0FunctionInt::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. |
Implements Go::ParamFunctionInt.
virtual double Go::Param0FunctionInt::startParam | ( | int | pardir | ) | const [virtual] |
Return the start parameter value in the specified direction.
pardir | the parameter direction in question. Indexing starts at 0. |
Implements Go::ParamObjectInt.
virtual double Go::Param0FunctionInt::endParam | ( | int | pardir | ) | const [virtual] |
Return the end parameter in the specified direction.
pardir | the parameter direction in question. Indexing starts at 0. |
Implements Go::ParamObjectInt.
virtual bool Go::Param0FunctionInt::boundaryPoint | ( | const double * | par, | |
double | eps | |||
) | const [virtual] |
Return true if the specified point lies within eps from the boundary.
par | the parameter in which to evaluate. Size of array should be equal to numParams(). | |
eps | the tolerance defining boundary neighbourhood. |
Implements Go::ParamObjectInt.
virtual void Go::Param0FunctionInt::subdivide | ( | int | pardir, | |
double | par, | |||
std::vector< boost::shared_ptr< ParamFunctionInt > > & | subdiv_objs, | |||
std::vector< boost::shared_ptr< ParamFunctionInt > > & | bd_objs | |||
) | [virtual] |
Subdivide the object in the specified parameter direction and parameter value.
pardir | direction in which to subdive. Indexing starts at 0. | |
par | parameter in which to subdivide. | |
subdiv_objs | the subparts of this object. Of the same geometric dimension as this object. | |
bd_objs | the boundaries between the returned subdiv_objs. Of geometric dimension 1 less than this object. |
Implements Go::ParamFunctionInt.
virtual bool Go::Param0FunctionInt::monotone | ( | Point & | dir, | |
double | tol = 1.0e-15 | |||
) | const [virtual] |
Return true if the object is monotone in any direction.
dir | the direction in which the object is monotone. Relevant only if object is monotone. |
Implements Go::ParamFunctionInt.
virtual void Go::Param0FunctionInt::getBoundaryObjects | ( | std::vector< boost::shared_ptr< BoundaryFunctionInt > > & | bd_objs | ) | [virtual] |
Return the boundary objects of this object.
bd_objs | the boundary objects of this object. |
Implements Go::ParamFunctionInt.
virtual int Go::Param0FunctionInt::knotIntervalFuzzy | ( | double & | t, | |
double | tol | |||
) | const [virtual] |
Return the knot interval for which t lies inside, possibly moving the value t if it lies close to a knot.
t | the parameter value | |
tol | the parametric tolerance deciding if the input parameter should be moved. |
virtual double Go::Param0FunctionInt::nextSegmentVal | ( | double | par, | |
bool | forward | |||
) | const [virtual] |
Return the value of the knot closest to the input parameter.
par | the parameter value | |
forward | if true we return the closest knot to the right, otherwise the closest knot to the left. |