#include <ParamObjectInt.h>
Inheritance diagram for Go::ParamObjectInt:
Public Member Functions | ||||
ParamObjectInt (ParamObjectInt *parent=0) | ||||
Constructor. | ||||
virtual | ~ParamObjectInt () | |||
Destructor. | ||||
virtual ParamPointInt * | getParamPointInt () | |||
Return pointer to a parametric intersection point. | ||||
virtual ParamCurveInt * | getParamCurveInt () | |||
| ||||
virtual ParamSurfaceInt * | getParamSurfaceInt () | |||
Return pointer to a parametric intersection surface. | ||||
virtual void | point (Point &pt, const double *tpar) const=0 | |||
| ||||
virtual void | point (std::vector< Point > &pt, const double *tpar, int derivs, const bool *from_right=0, double resolution=1.0e-12) const =0 | |||
Evaluate the object in the input parameter, with the specified number of derivatives. | ||||
virtual int | numParams () const=0 | |||
The number of parameters in the object. | ||||
virtual void | getLengthAndWiggle (double *length, double *wiggle)=0 | |||
Return an estimate on the size and wiggle of the object. | ||||
virtual bool | hasInnerKnots (int pardir) const=0 | |||
Return true if the object has any inner knots in the specified parameter direction. | ||||
virtual bool | hasCriticalVals (int pardir) const=0 | |||
Return true if the object has any critical parameter values in the specified parameter direction. | ||||
virtual void | setCriticalVal (int pardir, double par) | |||
Set info about subdivision value. | ||||
virtual bool | hasCriticalValsOrKnots (int pardir) const=0 | |||
Return true if the object has any critical parameter values or inner knots in the specified parameter direction. | ||||
virtual bool | canDivide (int pardir)=0 | |||
Return true if we are allowed to divide in the specified parameter direction. | ||||
virtual bool | canDivideTinyTriang (int pardir) | |||
virtual std::vector< double > | getCriticalVals (int pardir) const=0 | |||
Return the critical parameter values in the specified direction. | ||||
virtual std::vector< double > | getInnerKnotVals (int pardir, bool sort=false) const=0 | |||
Return the inner knot values in the specified direction. | ||||
virtual std::vector< double > | getCriticalValsAndKnots (int pardir) const=0 | |||
Return the critical parameter values and inner knots for object. | ||||
virtual double | startParam (int pardir) const=0 | |||
Return the start parameter value in the specified direction. | ||||
virtual double | endParam (int pardir) const=0 | |||
Return the end parameter in the specified direction. | ||||
virtual bool | isDegenerate (double epsge, int dir, double *par) | |||
Return true if the object is degenerate in the specified direction and parameter. | ||||
virtual bool | boundaryPoint (const double *par, double eps) const=0 | |||
Return true if the specified point lies within eps from the boundary. | ||||
void | setParent (ParamObjectInt *parent) | |||
Set the parent of this object. | ||||
ParamObjectInt * | getParent () const | |||
Return the parent of this object. | ||||
virtual CompositeBox | compositeBox () const=0 | |||
Return the CompositeBox for the parametric object. | ||||
const ParamObjectInt * | getSameTypeAncestor () const | |||
Return an ancestor of the same type. | ||||
virtual bool | inCorner (const double *par, double epspar) const | |||
Check if parameter point lies close to a corner of the parameter domain. | ||||
Protected Attributes | ||||
ParamObjectInt * | parent_ |
The object is parametric.
Definition at line 57 of file ParamObjectInt.h.
Go::ParamObjectInt::ParamObjectInt | ( | ParamObjectInt * | parent = 0 |
) | [inline] |
Constructor.
parent | is a parametric object for which this object constitues only a subpart (0 if there is no parent). |
Definition at line 62 of file ParamObjectInt.h.
virtual ParamPointInt* Go::ParamObjectInt::getParamPointInt | ( | ) | [inline, virtual] |
Return pointer to a parametric intersection point.
Reimplemented in Go::ParamPointInt.
Definition at line 70 of file ParamObjectInt.h.
virtual ParamCurveInt* Go::ParamObjectInt::getParamCurveInt | ( | ) | [inline, virtual] |
If that is not the class type for this object a NULL pointer is returned.
Reimplemented in Go::ParamCurveInt.
Definition at line 76 of file ParamObjectInt.h.
virtual ParamSurfaceInt* Go::ParamObjectInt::getParamSurfaceInt | ( | ) | [inline, virtual] |
Return pointer to a parametric intersection surface.
Reimplemented in Go::ParamCurveInt, and Go::ParamSurfaceInt.
Definition at line 83 of file ParamObjectInt.h.
virtual void Go::ParamObjectInt::point | ( | Point & | pt, | |
const double * | tpar | |||
) | const [pure virtual] |
pt | the Point to be returned. |
tpar | the parameter in which to evaluate. The size of the array should be equal to numParams(). |
Implemented in Go::Param0FunctionInt, Go::Param1FunctionInt, Go::Param2FunctionInt, Go::ParamCurveInt, Go::ParamPointInt, and Go::ParamSurfaceInt.
virtual void Go::ParamObjectInt::point | ( | std::vector< Point > & | pt, | |
const double * | tpar, | |||
int | derivs, | |||
const bool * | from_right = 0 , |
|||
double | resolution = 1.0e-12 | |||
) | const [pure 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 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). |
Implemented in Go::Param0FunctionInt, Go::Param1FunctionInt, Go::Param2FunctionInt, Go::ParamCurveInt, Go::ParamPointInt, and Go::ParamSurfaceInt.
virtual void Go::ParamObjectInt::getLengthAndWiggle | ( | double * | length, | |
double * | wiggle | |||
) | [pure 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(). |
Implemented in Go::Param0FunctionInt, Go::Param1FunctionInt, Go::Param2FunctionInt, Go::ParamCurveInt, Go::ParamPointInt, and Go::ParamSurfaceInt.
virtual bool Go::ParamObjectInt::hasInnerKnots | ( | int | pardir | ) | const [pure 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. |
Implemented in Go::Param0FunctionInt, Go::Param1FunctionInt, Go::Param2FunctionInt, Go::ParamCurveInt, Go::ParamPointInt, Go::ParamSurfaceInt, Go::Spline1FunctionInt, Go::Spline2FunctionInt, Go::SplineCurveInt, and Go::SplineSurfaceInt.
virtual bool Go::ParamObjectInt::hasCriticalVals | ( | int | pardir | ) | const [pure 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. |
Implemented in Go::Param0FunctionInt, Go::Param1FunctionInt, Go::Param2FunctionInt, Go::ParamCurveInt, Go::ParamPointInt, and Go::ParamSurfaceInt.
virtual bool Go::ParamObjectInt::hasCriticalValsOrKnots | ( | int | pardir | ) | const [pure 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. |
Implemented in Go::Param0FunctionInt, Go::Param1FunctionInt, Go::Param2FunctionInt, Go::ParamCurveInt, Go::ParamPointInt, Go::ParamSurfaceInt, Go::Spline1FunctionInt, Go::Spline2FunctionInt, Go::SplineCurveInt, and Go::SplineSurfaceInt.
virtual bool Go::ParamObjectInt::canDivide | ( | int | pardir | ) | [pure virtual] |
Return true if we are allowed to divide in the specified parameter direction.
pardir | the parameter direction in question. |
Implemented in Go::Param0FunctionInt, Go::Param1FunctionInt, Go::Param2FunctionInt, Go::ParamCurveInt, Go::ParamPointInt, and Go::ParamSurfaceInt.
virtual std::vector<double> Go::ParamObjectInt::getCriticalVals | ( | int | pardir | ) | const [pure virtual] |
Return the critical parameter values in the specified direction.
pardir | the parameter direction in question. Indexing starts at 0. |
Implemented in Go::Param0FunctionInt, Go::Param1FunctionInt, Go::Param2FunctionInt, Go::ParamCurveInt, Go::ParamPointInt, and Go::ParamSurfaceInt.
virtual std::vector<double> Go::ParamObjectInt::getInnerKnotVals | ( | int | pardir, | |
bool | sort = false | |||
) | const [pure 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. |
Implemented in Go::Param0FunctionInt, Go::Param1FunctionInt, Go::Param2FunctionInt, Go::ParamCurveInt, Go::ParamPointInt, Go::ParamSurfaceInt, Go::Spline1FunctionInt, Go::Spline2FunctionInt, Go::SplineCurveInt, and Go::SplineSurfaceInt.
virtual std::vector<double> Go::ParamObjectInt::getCriticalValsAndKnots | ( | int | pardir | ) | const [pure virtual] |
Return the critical parameter values and inner knots for object.
pardir | the parameter direction in question. Indexing starts at 0. |
Implemented in Go::Param0FunctionInt, Go::Param1FunctionInt, Go::Param2FunctionInt, Go::ParamCurveInt, Go::ParamPointInt, Go::ParamSurfaceInt, Go::Spline1FunctionInt, Go::Spline2FunctionInt, Go::SplineCurveInt, and Go::SplineSurfaceInt.
virtual double Go::ParamObjectInt::startParam | ( | int | pardir | ) | const [pure virtual] |
Return the start parameter value in the specified direction.
pardir | the parameter direction in question. Indexing starts at 0. |
Implemented in Go::Param0FunctionInt, Go::Param1FunctionInt, Go::Param2FunctionInt, Go::ParamCurveInt, Go::ParamPointInt, Go::ParamSurfaceInt, and Go::Spline2FunctionInt.
Referenced by Go::LockedDirDistFunc::LockedDirDistFunc(), and Go::TestInDomain::TestInDomain().
virtual double Go::ParamObjectInt::endParam | ( | int | pardir | ) | const [pure virtual] |
Return the end parameter in the specified direction.
pardir | the parameter direction in question. Indexing starts at 0. |
Implemented in Go::Param0FunctionInt, Go::Param1FunctionInt, Go::Param2FunctionInt, Go::ParamCurveInt, Go::ParamPointInt, Go::ParamSurfaceInt, and Go::Spline2FunctionInt.
Referenced by Go::LockedDirDistFunc::LockedDirDistFunc(), and Go::TestInDomain::TestInDomain().
virtual bool Go::ParamObjectInt::isDegenerate | ( | double | epsge, | |
int | dir, | |||
double * | par | |||
) | [inline, virtual] |
Return true if the object is degenerate in the specified direction and parameter.
epsge | the geometric tolerance defining degeneracy. | |
dir | the parameter direction in question. | |
par | the parameter in which to evaluate. Size of array should be equal to numParams(). |
Reimplemented in Go::Param1FunctionInt, Go::Param2FunctionInt, Go::ParamCurveInt, Go::ParamGeomInt, Go::ParamPointInt, and Go::ParamSurfaceInt.
Definition at line 188 of file ParamObjectInt.h.
virtual bool Go::ParamObjectInt::boundaryPoint | ( | const double * | par, | |
double | eps | |||
) | const [pure 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. |
Implemented in Go::Param0FunctionInt, Go::Param1FunctionInt, Go::Param2FunctionInt, Go::ParamCurveInt, Go::ParamPointInt, and Go::ParamSurfaceInt.
void Go::ParamObjectInt::setParent | ( | ParamObjectInt * | parent | ) | [inline] |
Set the parent of this object.
parent | the parent of this object. |
Definition at line 200 of file ParamObjectInt.h.
References parent_.
const ParamObjectInt* Go::ParamObjectInt::getSameTypeAncestor | ( | ) | const [inline] |
Return an ancestor of the same type.
If the object has no parent, or if its parent has a higher number of parameters, return a pointer to itself. Else, call this function recursively on the parent.
Definition at line 214 of file ParamObjectInt.h.
References getSameTypeAncestor(), numParams(), and parent_.
Referenced by getSameTypeAncestor().
virtual bool Go::ParamObjectInt::inCorner | ( | const double * | par, | |
double | epspar | |||
) | const [inline, virtual] |
Check if parameter point lies close to a corner of the parameter domain.
par | the input parameter point. | |
epspar | the parametric tolerance defining the neighbourhood. |
Reimplemented in Go::ParamSurfaceInt.
Definition at line 228 of file ParamObjectInt.h.