Go::Spline2FunctionInt Class Reference
[Intersections]

This class represents the "intersection object" of a spline surface of dimension 1. More...

#include <Spline2FunctionInt.h>

Inheritance diagram for Go::Spline2FunctionInt:

Go::Param2FunctionInt Go::ParamFunctionInt Go::ParamObjectInt Go::GeomObjectInt List of all members.

Public Member Functions

 Spline2FunctionInt (boost::shared_ptr< SplineSurface > surf)
 Constructor.
 Spline2FunctionInt (boost::shared_ptr< SplineSurface > surf, Param2FunctionInt *parent)
 Constructor.
virtual ~Spline2FunctionInt ()
 Destructor.
virtual boost::shared_ptr<
Param2FunctionInt
makeIntFunction (boost::shared_ptr< ParamSurface > surf)
 Return an intersection object for the input surface.
virtual bool hasInnerKnots (int pardir) const
 Return true if the object has any inner knots 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 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 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 monotone (Point &dir, double tol=1.0e-15) const
 Return true if the surface is monotone in any direction.
virtual int knotIntervalFuzzy (int pardir, double &t, double tol) const
 Return the knot interval for which t lies inside, moving the value t if it lies close to a knot.
virtual double nextSegmentVal (int pardir, double par, bool forward) const
 Return the value of the knot next to the input parameter par.
virtual void getBoundaryObjects (std::vector< boost::shared_ptr< BoundaryFunctionInt > > &bd_objs)
 Return the boundary objects of this object.
boost::shared_ptr< SplineSurface > surface3D ()
 Return a 3-dimensional visualization spline surface.
boost::shared_ptr< SplineSurface > createGradSurface () const
 Return the gradient of the function S as a two-dimensional spline surface: (dS/du, dS/dv).

Protected Attributes

boost::shared_ptr< SplineSurface > spsf_

Detailed Description

This class represents the "intersection object" of a spline surface of dimension 1.

Definition at line 49 of file Spline2FunctionInt.h.


Constructor & Destructor Documentation

Go::Spline2FunctionInt::Spline2FunctionInt ( boost::shared_ptr< SplineSurface >  surf  )  [explicit]

Constructor.

Parameters:
surf the parametric 1-dimensional surface defining the object.

Go::Spline2FunctionInt::Spline2FunctionInt ( boost::shared_ptr< SplineSurface >  surf,
Param2FunctionInt parent 
) [explicit]

Constructor.

Parameters:
surf the parametric 1-dimensional surface defining the object.
parent the parent object to this object.


Member Function Documentation

virtual boost::shared_ptr<Param2FunctionInt> Go::Spline2FunctionInt::makeIntFunction ( boost::shared_ptr< ParamSurface >  surf  )  [virtual]

Return an intersection object for the input surface.

This object is used as the parent for the intersection object.

Parameters:
surf the parametric surface defining the intersection object.

Reimplemented from Go::Param2FunctionInt.

virtual bool Go::Spline2FunctionInt::hasInnerKnots ( int  pardir  )  const [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.

Reimplemented from Go::Param2FunctionInt.

virtual bool Go::Spline2FunctionInt::hasCriticalValsOrKnots ( int  pardir  )  const [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.

Reimplemented from Go::Param2FunctionInt.

virtual std::vector<double> Go::Spline2FunctionInt::getInnerKnotVals ( int  pardir,
bool  sort = false 
) const [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.

Reimplemented from Go::Param2FunctionInt.

virtual std::vector<double> Go::Spline2FunctionInt::getCriticalValsAndKnots ( int  pardir  )  const [virtual]

Return the critical parameter values and inner knots for object.

Parameters:
pardir the parameter direction in question. Indexing starts at 0.

Reimplemented from Go::Param2FunctionInt.

virtual double Go::Spline2FunctionInt::startParam ( int  pardir  )  const [virtual]

Return the start parameter value in the specified direction.

Parameters:
pardir the parameter direction in question. Indexing starts at 0.
Returns:
The start parameter in the specified direction.

Reimplemented from Go::Param2FunctionInt.

virtual double Go::Spline2FunctionInt::endParam ( int  pardir  )  const [virtual]

Return the end parameter in the specified direction.

Parameters:
pardir the parameter direction in question. Indexing starts at 0.
Returns:
The end parameter in the specified direction.

Reimplemented from Go::Param2FunctionInt.

virtual bool Go::Spline2FunctionInt::monotone ( Point &  dir,
double  tol = 1.0e-15 
) const [virtual]

Return true if the surface is monotone in any direction.

Parameters:
dir the direction in which the surface is monotone. Pertains only if surface is monotone.
Returns:
Whether or not the surface is monotone.

Reimplemented from Go::Param2FunctionInt.

virtual int Go::Spline2FunctionInt::knotIntervalFuzzy ( int  pardir,
double &  t,
double  tol 
) const [virtual]

Return the knot interval for which t lies inside, moving the value t if it lies close to a knot.

Parameters:
pardir the parameter direction in question. Indexing starts at 0.
t the parameter value
tol the parametric tolerance deciding if the input parameter t should be moved.

Reimplemented from Go::Param2FunctionInt.

virtual double Go::Spline2FunctionInt::nextSegmentVal ( int  pardir,
double  par,
bool  forward 
) const [virtual]

Return the value of the knot next to the input parameter par.

Parameters:
pardir the parameter direction in question. Indexing starts at 0.
par the parameter value
forward if true we return the closest knot to the right, otherwise the closest knot to the left.
Returns:
The knot closest to the input parameter.

Reimplemented from Go::Param2FunctionInt.

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

Return the boundary objects of this object.

Parameters:
bd_objs the boundary objects of this object.

Reimplemented from Go::Param2FunctionInt.

boost::shared_ptr<SplineSurface> Go::Spline2FunctionInt::surface3D (  ) 

Return a 3-dimensional visualization spline surface.

Returns:
The pointer to the 3-dimensional spline surface (u, v, surf_(u, v)).

boost::shared_ptr<SplineSurface> Go::Spline2FunctionInt::createGradSurface (  )  const

Return the gradient of the function S as a two-dimensional spline surface: (dS/du, dS/dv).

Returns:
Pointer to the gradient spline surface


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