Go::ParamObjectInt Class Reference
[Intersections]

This class is a base class providing an interface to the "intersection objects". More...

#include <ParamObjectInt.h>

Inheritance diagram for Go::ParamObjectInt:

Go::GeomObjectInt Go::ParamFunctionInt Go::ParamGeomInt Go::Param0FunctionInt Go::Param1FunctionInt Go::Param2FunctionInt Go::ParamCurveInt Go::ParamPointInt Go::ParamSurfaceInt Go::Spline1FunctionInt Go::Spline2FunctionInt Go::SplineCurveInt Go::SplineSurfaceInt List of all members.

Public Member Functions

 ParamObjectInt (ParamObjectInt *parent=0)
 Constructor.
virtual ~ParamObjectInt ()
 Destructor.
virtual ParamPointIntgetParamPointInt ()
 Return pointer to a parametric intersection point.
virtual ParamCurveIntgetParamCurveInt ()
 
Returns:
Pointer to a parametric intersection curve.

virtual ParamSurfaceIntgetParamSurfaceInt ()
 Return pointer to a parametric intersection surface.
virtual void point (Point &pt, const double *tpar) const=0
 
Parameters:
pt the Point to be returned.

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.
ParamObjectIntgetParent () const
 Return the parent of this object.
virtual CompositeBox compositeBox () const=0
 Return the CompositeBox for the parametric object.
const ParamObjectIntgetSameTypeAncestor () 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

ParamObjectIntparent_

Detailed Description

This class is a base class providing an interface to the "intersection objects".

The object is parametric.

Definition at line 57 of file ParamObjectInt.h.


Constructor & Destructor Documentation

Go::ParamObjectInt::ParamObjectInt ( ParamObjectInt parent = 0  )  [inline]

Constructor.

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


Member Function Documentation

virtual ParamPointInt* Go::ParamObjectInt::getParamPointInt (  )  [inline, virtual]

Return pointer to a parametric intersection point.

Returns:
Pointer to a parametric intersection point. If that is not the class type for this object a NULL pointer is returned.

Reimplemented in Go::ParamPointInt.

Definition at line 70 of file ParamObjectInt.h.

virtual ParamCurveInt* Go::ParamObjectInt::getParamCurveInt (  )  [inline, virtual]

Returns:
Pointer to a parametric intersection curve.

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.

Returns:
Pointer to a parametric intersection surface. If that is not the class type for this object a NULL pointer is returned.

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]

Parameters:
pt the Point to be returned.

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

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

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().

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.

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

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

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

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

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

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

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

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

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

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().

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.

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

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

Parameters:
par the input parameter point.
epspar the parametric tolerance defining the neighbourhood.

Reimplemented in Go::ParamSurfaceInt.

Definition at line 228 of file ParamObjectInt.h.


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