Go::ImplicitizeCurveAlgo Class Reference
[Implicitization]

Class that implements an implicitization algorithm for spline curves. More...

#include <ImplicitizeCurveAlgo.h>

List of all members.

Public Member Functions

 ImplicitizeCurveAlgo ()
 Default constructor.
 ImplicitizeCurveAlgo (int deg)
 Constructor.
 ImplicitizeCurveAlgo (const SplineCurve &curve, int deg)
 Constructor.
void useSplineCurve (const SplineCurve &curve)
 Load the spline curve to be implicitized.
void setDegree (int deg)
 Choose the degree of the implicit representation.
void setTolerance (double tol)
 Set the tolerance.
void perform ()
 Perform the implicitization.
void getResultData (BernsteinTriangularPoly &implicit, BaryCoordSystem2D &bc, double &sigma_min)
 Get the result of the implicitization.


Detailed Description

Class that implements an implicitization algorithm for spline curves.

Input: A curve of type SplineCurve, and the degree that is chosen for the implicit representation.

Output: A barycentric coordinate system, and the Bernstein polynomial that represents the implicit curve.

The algorithm first defines a barycentric coordinate system in terms of a triangle that is slightly larger than the bounding box of the spline curve. It then computes the Bernstein polynomial representing the implicit curve. If the chosen degree is too low to produce the exact result, an approximate implicit curve is produced. If the degree is too high, the resulting polynomial will be reducible and contain the exact implicitization as a factor. If the input curve consists of multiple segments, the output polynomial will be a product of the separate implicit curves, or an approximation of it.

Definition at line 69 of file ImplicitizeCurveAlgo.h.


Constructor & Destructor Documentation

Go::ImplicitizeCurveAlgo::ImplicitizeCurveAlgo ( int  deg  )  [inline, explicit]

Constructor.

Parameters:
deg degree of the implicit representation

Definition at line 75 of file ImplicitizeCurveAlgo.h.

Go::ImplicitizeCurveAlgo::ImplicitizeCurveAlgo ( const SplineCurve &  curve,
int  deg 
) [inline]

Constructor.

Parameters:
curve spline curve to be implicitized
deg degree of the implicit representation

Definition at line 79 of file ImplicitizeCurveAlgo.h.


Member Function Documentation

void Go::ImplicitizeCurveAlgo::useSplineCurve ( const SplineCurve &  curve  )  [inline]

Load the spline curve to be implicitized.

Parameters:
curve curve on SplineCurve form

Definition at line 84 of file ImplicitizeCurveAlgo.h.

void Go::ImplicitizeCurveAlgo::setDegree ( int  deg  )  [inline]

Choose the degree of the implicit representation.

Parameters:
deg degree

Definition at line 89 of file ImplicitizeCurveAlgo.h.

void Go::ImplicitizeCurveAlgo::setTolerance ( double  tol  )  [inline]

Set the tolerance.

Parameters:
tol tolerance; default value is 3.0e-15

Definition at line 94 of file ImplicitizeCurveAlgo.h.

void Go::ImplicitizeCurveAlgo::perform (  ) 

Perform the implicitization.

This function runs the implicitization algorithm.

void Go::ImplicitizeCurveAlgo::getResultData ( BernsteinTriangularPoly implicit,
BaryCoordSystem2D &  bc,
double &  sigma_min 
) [inline]

Get the result of the implicitization.

Return values:
implicit a BernsteinTriangularPoly representing the implicit curve
bc the barycentric coordinate system in which the BernsteinTriangularPoly is defined

Definition at line 106 of file ImplicitizeCurveAlgo.h.


The documentation for this class was generated from the following file:
Generated on Mon Jun 11 15:13:16 2007 for GoTools Implicitization Library by  doxygen 1.5.1