Go::ParamPointInt Class Reference
[Intersections]

Class representing the "intersection object" of a parametric curve. More...

#include <ParamPointInt.h>

Inheritance diagram for Go::ParamPointInt:

Go::ParamGeomInt Go::ParamObjectInt Go::GeomObjectInt List of all members.

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 ParamPointIntgetParamPointInt ()
 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_
ParamCurveIntparentcurve_
std::vector< double > coords_

Detailed Description

Class representing the "intersection object" of a parametric curve.

Definition at line 53 of file ParamPointInt.h.


Constructor & Destructor Documentation

Go::ParamPointInt::ParamPointInt ( boost::shared_ptr< Point >  point,
ParamGeomInt parent = 0 
) [explicit]

Constructor.

Parameters:
point the point defining the intersection object.
parent the parent object to this object. Can be either a curve or a surface.


Member Function Documentation

virtual void Go::ParamPointInt::point ( Point &  pt,
const double *  tpar 
) const [inline, virtual]

Evaluate the object in the input parameter.

Parameters:
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.

Parameters:
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.

Returns:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Returns:
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.

Returns:
A cone which contains all normals of the object.

Implements Go::ParamGeomInt.

virtual void Go::ParamPointInt::getBoundaryObjects ( std::vector< boost::shared_ptr< BoundaryGeomInt > > &  bd_objs  )  [virtual]

Return the boundary objects of this object.

Parameters:
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.

Parameters:
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.

Returns:
True if 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.

Parameters:
axis1 first vector defining a projection plane
axis2 second vector defining a projection plane
Returns:
The optimized cone angle

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.

Parameters:
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].


The documentation for this class was generated from the following file:
Generated on Fri Nov 23 12:24:35 2007 for GoTools Intersections Library by  doxygen 1.5.1