#include <ParamPointInt.h>
Inheritance diagram for Go::ParamPointInt:
Public Member Functions | |
ParamPointInt (boost::shared_ptr< Point > point, ParamGeomInt *parent=0) | |
Constructor. | |
virtual | ~ParamPointInt () |
Destructor. | |
virtual void | point (Point &pt, const double *tpar) 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 ParamPointInt * | getParamPointInt () |
Return a 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 bool | hasCriticalVals (int pardir) const |
Return true if the object has any critical parameter values in the specified parameter 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 bool | canDivide (int pardir) |
Return true if we are allowed to divide in the specified parameter direction. | |
virtual std::vector< double > | getCriticalVals (int pardir) const |
Return the critical parameter values in the specified direction. | |
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 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< ParamGeomInt > > &subdiv_objs, std::vector< boost::shared_ptr< ParamGeomInt > > &bd_objs) |
Subdivide the object in the specified parameter direction and parameter value. | |
virtual CompositeBox | compositeBox () const |
Create the CompositeBox for the parametric object. | |
virtual DirectionCone | directionCone () const |
A cone which contains all normals of the object. | |
virtual void | getBoundaryObjects (std::vector< boost::shared_ptr< BoundaryGeomInt > > &bd_objs) |
Return the boundary objects of this object. | |
virtual int | dimension () const |
The dimension of the geometric space. | |
virtual bool | isDegenerate (double epsge, int dir, double *par) |
Verify whether or not the object is degenerate in the specified direction and parameter. | |
virtual bool | isSpline () |
Verify whether the object is a spline. | |
virtual double | getOptimizedConeAngle (Point &axis1, Point &axis2) |
We try to treat problems which will never result in a simple case by shrinking the domain slightly, resulting in smaller cones. | |
RotatedBox | getRotatedBox (std::vector< Point > &axis) const |
Create a box containing the geometric sample mesh in the input coordinate system. | |
Protected Attributes | |
boost::shared_ptr< Point > | point_ |
int | dim_ |
ParamCurveInt * | parentcurve_ |
std::vector< double > | coords_ |
Definition at line 53 of file ParamPointInt.h.
Go::ParamPointInt::ParamPointInt | ( | boost::shared_ptr< Point > | point, | |
ParamGeomInt * | parent = 0 | |||
) | [explicit] |
Constructor.
point | the point defining the intersection object. | |
parent | the parent object to this object. Can be either a curve or a surface. |
virtual void Go::ParamPointInt::point | ( | Point & | pt, | |
const double * | tpar | |||
) | const [inline, virtual] |
Evaluate the object in the input parameter.
pt | the Point to be returned. | |
tpar | the parameter in which to evaluate. The parameter is not used as the parameter domain of a point is of dimension 0. |
Implements Go::ParamObjectInt.
Definition at line 71 of file ParamPointInt.h.
References point_.
virtual void Go::ParamPointInt::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 parameter is not used as the parameter domain of a point is of dimension 0. | |
derivs | the number of derivatives to calculate. Should be 0. | |
from_right | if true the evaluation is to be performed from the right side of the parameter value. Not used. | |
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. Not used. |
Implements Go::ParamObjectInt.
Definition at line 88 of file ParamPointInt.h.
References point_.
virtual ParamPointInt* Go::ParamPointInt::getParamPointInt | ( | ) | [inline, virtual] |
Return a pointer to this object.
Reimplemented from Go::ParamObjectInt.
Definition at line 102 of file ParamPointInt.h.
virtual void Go::ParamPointInt::getLengthAndWiggle | ( | double * | length, | |
double * | wiggle | |||
) | [inline, virtual] |
Return an estimate on the size and wiggle of the object.
Does not apply to a point.
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.
Definition at line 118 of file ParamPointInt.h.
virtual bool Go::ParamPointInt::hasInnerKnots | ( | int | pardir | ) | const [inline, 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.
Definition at line 124 of file ParamPointInt.h.
virtual bool Go::ParamPointInt::hasCriticalVals | ( | int | pardir | ) | const [inline, 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.
Definition at line 131 of file ParamPointInt.h.
virtual bool Go::ParamPointInt::hasCriticalValsOrKnots | ( | int | pardir | ) | const [inline, 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.
Definition at line 138 of file ParamPointInt.h.
virtual bool Go::ParamPointInt::canDivide | ( | int | pardir | ) | [inline, virtual] |
Return true if we are allowed to divide in the specified parameter direction.
pardir | the parameter direction in question. |
Implements Go::ParamObjectInt.
Definition at line 144 of file ParamPointInt.h.
virtual std::vector<double> Go::ParamPointInt::getCriticalVals | ( | int | pardir | ) | const [inline, virtual] |
Return the critical parameter values in the specified direction.
pardir | the parameter direction in question. Indexing starts at 0. |
Implements Go::ParamObjectInt.
Definition at line 150 of file ParamPointInt.h.
virtual std::vector<double> Go::ParamPointInt::getInnerKnotVals | ( | int | pardir, | |
bool | sort = false | |||
) | const [inline, 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.
Definition at line 160 of file ParamPointInt.h.
virtual std::vector<double> Go::ParamPointInt::getCriticalValsAndKnots | ( | int | pardir | ) | const [inline, virtual] |
Return the critical parameter values and inner knots for object.
pardir | the parameter direction in question. Indexing starts at 0. |
Implements Go::ParamObjectInt.
Definition at line 171 of file ParamPointInt.h.
virtual int Go::ParamPointInt::getMeshSize | ( | int | dir | ) | [inline, 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::ParamGeomInt.
Definition at line 181 of file ParamPointInt.h.
virtual double Go::ParamPointInt::paramFromMesh | ( | int | dir, | |
int | idx | |||
) | [inline, virtual] |
Return the corresponding mesh parameter.
Does not apply to a point.
dir | the parameter direction in question. Indexing starts at 0. | |
idx | the mesh idx in the specified direction. Indexing starts at 0. |
Implements Go::ParamGeomInt.
Definition at line 190 of file ParamPointInt.h.
virtual double Go::ParamPointInt::startParam | ( | int | pardir | ) | const [inline, virtual] |
Return the start parameter value in the specified direction.
Does not apply to a point.
pardir | the parameter direction in question. Indexing starts at 0. |
Implements Go::ParamObjectInt.
Definition at line 200 of file ParamPointInt.h.
virtual double Go::ParamPointInt::endParam | ( | int | pardir | ) | const [inline, virtual] |
Return the end parameter in the specified direction.
Does not apply to a point.
pardir | the parameter direction in question. Indexing starts at 0. |
Implements Go::ParamObjectInt.
Definition at line 207 of file ParamPointInt.h.
virtual bool Go::ParamPointInt::boundaryPoint | ( | const double * | par, | |
double | eps | |||
) | const [inline, 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.
Definition at line 215 of file ParamPointInt.h.
virtual void Go::ParamPointInt::subdivide | ( | int | pardir, | |
double | par, | |||
std::vector< boost::shared_ptr< ParamGeomInt > > & | subdiv_objs, | |||
std::vector< boost::shared_ptr< ParamGeomInt > > & | bd_objs | |||
) | [inline, virtual] |
Subdivide the object in the specified parameter direction and parameter value.
Does not apply to a point.
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::ParamGeomInt.
Definition at line 228 of file ParamPointInt.h.
virtual CompositeBox Go::ParamPointInt::compositeBox | ( | ) | const [virtual] |
Create the CompositeBox for the parametric object.
Implements Go::ParamGeomInt.
virtual DirectionCone Go::ParamPointInt::directionCone | ( | ) | const [virtual] |
A cone which contains all normals of the object.
As a normal is not defined for a point, the zero vector is returned.
Implements Go::ParamGeomInt.
virtual void Go::ParamPointInt::getBoundaryObjects | ( | std::vector< boost::shared_ptr< BoundaryGeomInt > > & | bd_objs | ) | [virtual] |
Return the boundary objects of this object.
bd_objs | the boundary objects of this object. |
Implements Go::ParamGeomInt.
virtual bool Go::ParamPointInt::isDegenerate | ( | double | epsge, | |
int | dir, | |||
double * | par | |||
) | [inline, virtual] |
Verify whether or not 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(). |
Implements Go::ParamGeomInt.
Definition at line 257 of file ParamPointInt.h.
virtual bool Go::ParamPointInt::isSpline | ( | ) | [inline, virtual] |
Verify whether the object is a spline.
Implements Go::ParamGeomInt.
Definition at line 262 of file ParamPointInt.h.
virtual double Go::ParamPointInt::getOptimizedConeAngle | ( | Point & | axis1, | |
Point & | axis2 | |||
) | [inline, virtual] |
We try to treat problems which will never result in a simple case by shrinking the domain slightly, resulting in smaller cones.
This is useful for scenarios where the normals are parallell in a boundary point.
axis1 | first vector defining a projection plane | |
axis2 | second vector defining a projection plane |
Implements Go::ParamGeomInt.
Definition at line 272 of file ParamPointInt.h.
RotatedBox Go::ParamPointInt::getRotatedBox | ( | std::vector< Point > & | axis | ) | const |
Create a box containing the geometric sample mesh in the input coordinate system.
axis | the axis defining the coordinate system. The size of vector axis is 2, the last point is given as the cross product axis[0]axis[1]. |