Main Page   Class Hierarchy   Compound List   File List   Compound Members  

PLib::ParaCurve Class Template Reference

An abstract parametric curve class. More...

#include <curve.h>

Inheritance diagram for PLib::ParaCurve:

PLib::NurbsCurve PLib::NurbsCurveSP List of all members.

Public Methods

 ParaCurve ()
virtual HPoint_nD< T, N > operator() (T u) const=0
HPoint_nD< T, N > hpointAt (T u) const
Point_nD< T, N > pointAt (T u) const
virtual HPoint_nD< T, N > hpointAt (T u, int span) const=0
Point_nD< T, N > pointAt (T u, int span)
virtual void deriveAtH (T u, int, Vector< HPoint_nD< T, N > > &) const=0
virtual void deriveAt (T u, int, Vector< Point_nD< T, N > > &) const=0
virtual T minKnot () const=0
virtual T maxKnot () const=0
virtual T minDist2 (const Point_nD< T, N > &p, T &guess, T error=0.0001, T s=0.2, int sep=9, int maxIter=10, T um=-1, T uM=-1) const
virtual Point_nD< T, N > minDistY (T y, T &guessU, T error=0.0001, T s=-1, int sep=9, int maxIter=10, T um=-1, T uM=-1) const
virtual Point_nD< T, N > minDistX (T y, T &guessU, T error=0.0001, T s=-1, int sep=9, int maxIter=10, T um=-1, T uM=-1) const
virtual Point_nD< T, N > minDistZ (T y, T &guessU, T error=0.0001, T s=-1, int sep=9, int maxIter=10, T um=-1, T uM=-1) const
virtual T extremum (int findMin, CoordinateType coord, T minDu=0.0001, int sep=9, int maxIter=10, T um=-1, T uM=-1) const

Detailed Description

template<class T, int N>
class PLib::ParaCurve< T, N >

An abstract parametric curve class.

This is an abstract class used as a basis for NURBS and HNURBS curves.

Author:
Philippe Lavoie
Date:
4 Oct. 1996

Definition at line 45 of file curve.h.


Member Function Documentation

template<class T, int N>
T PLib::ParaCurve< T, N >::extremum int    findMin,
CoordinateType    coord,
  minDu = 0.0001,
int    sep = 9,
int    maxIter = 10,
  um = -1,
  uM = -1
const [virtual]
 

Finds the minimal or maximal value on the curve of the x,y or z coordinate.

Finds the minimal or maximal value on the curve of the x,y or z coordinate.

Parameters:
findMin  a flag indicatinf if we're looking for the minimal value or the maximal value.
coord  Which coordinate to find: x,y or z.
minDu  The minimal distance between iterations in the parametric space.
sep  the number of points initially looked at to find a minimal distance
maxiter  the maximal number of iterations
um  the minimal parametric value
uM  the maximal parametric value
Returns:
The minimal value of z along the curve
Warning:
It has not been tested with closed loop curves.
Author:
Philippe Lavoie
Date:
24 January 1997

Definition at line 371 of file curve.cpp.

References maxKnot, minKnot, and pointAt.

template<class T, int N>
T PLib::ParaCurve< T, N >::minDist2 const Point_nD< T, N > &    p,
T &    guess,
  error = 0.0001,
  s = 0.2,
int    sep = 9,
int    maxIter = 10,
  um = -1,
  uM = -1
const [virtual]
 

Find the minimal distance between a point and the curve.

This is an iterative method to find the closest point to a curve.

Parameters:
p  the minimal distance from that point
guess  a starting value for the parameter u, on exit this will be set to the value of the point on the curve closest to p.
error  when iterations have an error smaller than this value, the function exits
s  the size of the search in the parametric space.
sep  the number of points initially looked at to find a minimal distance
maxiter  the maximal number of iterations
um  the minimal parametric value
uM  the maximal parametric value
Returns:
The value of the minimal distance between p and the curve. The variable guess now holds the parametric value of the curve point closest to p.
Warning:
It has not been tested with closed loop curves.
Author:
Philippe Lavoie
Date:
24 January 1997

Definition at line 64 of file curve.cpp.

References maxKnot, minKnot, and pointAt.

template<class T, int N>
Point_nD< T, N > PLib::ParaCurve< T, N >::minDistX   x,
T &    guessU,
  error = 0.0001,
  s = -1,
int    sep = 9,
int    maxIter = 10,
  um = -1,
  uM = -1
const [virtual]
 

Find the closest point on the curve to the x coordinate.

This is an iterative method to find the closest point on the curve to the x coordinate.

Parameters:
x  the x coordinate to be close too.
guess  a starting value for the parameter u, on exit this will be set to the value of the point on the curve closest to x.
error  when iterations have an error smaller than this value, the function exits
s  the size of the search in the parametric space.
sep  the number of points initially looked at to find a minimal distance
maxiter  the maximal number of iterations
um  the minimal parametric value
uM  the maximal parametric value
Returns:
The value of the minimal distance between p and the curve. The variable guess now holds the parametric value of the curve point closest to p.
Warning:
It has not been tested with closed loop curves.
Author:
Philippe Lavoie
Date:
24 January 1997

Definition at line 214 of file curve.cpp.

References maxKnot, minKnot, and pointAt.

template<class T, int N>
Point_nD< T, N > PLib::ParaCurve< T, N >::minDistY   y,
T &    guessU,
  error = 0.0001,
  s = -1,
int    sep = 9,
int    maxIter = 10,
  um = -1,
  uM = -1
const [virtual]
 

Find the closest point on the curve to the y coordinate.

This is an iterative method to find the closest point on the curve to the y coordinate.

Parameters:
y  the y coordinate to be close too.
guess  a starting value for the parameter u, on exit this will be set to the value of the point on the curve closest to y.
error  when iterations have an error smaller than this value, the function exits
s  the size of the search in the parametric space.
sep  the number of points initially looked at to find a minimal distance
maxiter  the maximal number of iterations
um  the minimal parametric value
uM  the maximal parametric value
Returns:
The value of the minimal distance between p and the curve. The variable guess now holds the parametric value of the curve point closest to p.
Warning:
It has not been tested with closed loop curves.
Author:
Philippe Lavoie
Date:
24 January 1997

Definition at line 138 of file curve.cpp.

References maxKnot, minKnot, and pointAt.

template<class T, int N>
Point_nD< T, N > PLib::ParaCurve< T, N >::minDistZ   z,
T &    guessU,
  error = 0.0001,
  s = -1,
int    sep = 9,
int    maxIter = 10,
  um = -1,
  uM = -1
const [virtual]
 

Find the closest point on the curve to the x coordinate.

This is an iterative method to find the closest point on the curve to the x coordinate.

Parameters:
z  the x coordinate to be close too.
guess  a starting value for the parameter u, on exit this will be set to the value of the point on the curve closest to x.
error  when iterations have an error smaller than this value, the function exits
s  the size of the search in the parametric space.
sep  the number of points initially looked at to find a minimal distance
maxiter  the maximal number of iterations
um  the minimal parametric value
uM  the maximal parametric value
Returns:
The value of the minimal distance between p and the curve. The variable guess now holds the parametric value of the curve point closest to p.
Warning:
It has not been tested with closed loop curves.
Author:
Philippe Lavoie
Date:
24 January 1997

Definition at line 290 of file curve.cpp.

References maxKnot, minKnot, and pointAt.


The documentation for this class was generated from the following files:
Generated on Tue Jun 24 13:27:01 2003 for NURBS++ by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002