Go::ImplicitizePointCloudAlgo Class Reference
[Implicitization]

Class that implements an algorithm for finding an implicit surface from a 3D point cloud. More...

#include <ImplicitizePointCloudAlgo.h>

List of all members.

Public Member Functions

 ImplicitizePointCloudAlgo ()
 Default constructor.
 ImplicitizePointCloudAlgo (int deg)
 Constructor.
 ImplicitizePointCloudAlgo (const PointCloud3D &cloud, int deg)
 Constructor.
void usePointCloud (const PointCloud3D &cloud)
 Load the point cloud 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 (BernsteinTetrahedralPoly &implicit, BaryCoordSystem3D &bc, double &sigma_min)
 Get the result of the implicitization.


Detailed Description

Class that implements an algorithm for finding an implicit surface from a 3D point cloud.

Input: A point cloud of type PointCloud3D, and the degree that is chosen for the implicit representation.

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

The algorithm first defines a barycentric coordinate system in terms of a tetrahedron that is slightly larger than the bounding box of the point cloud. It then computes the Bernstein polynomial representing the implicit surface. If the chosen degree is too low to produce the exact result, an approximate implicit surface is produced. If the degree is too high, the resulting polynomial will be reducible and contain the exact implicitization as a factor.

Definition at line 67 of file ImplicitizePointCloudAlgo.h.


Constructor & Destructor Documentation

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

Constructor.

Parameters:
deg degree of the implicit representation

Definition at line 73 of file ImplicitizePointCloudAlgo.h.

Go::ImplicitizePointCloudAlgo::ImplicitizePointCloudAlgo ( const PointCloud3D &  cloud,
int  deg 
) [inline]

Constructor.

Parameters:
cloud point cloud to be implicitized
deg degree of the implicit representation

Definition at line 78 of file ImplicitizePointCloudAlgo.h.


Member Function Documentation

void Go::ImplicitizePointCloudAlgo::usePointCloud ( const PointCloud3D &  cloud  )  [inline]

Load the point cloud to be implicitized.

Parameters:
cloud point cloud on PointCloud3D form

Definition at line 83 of file ImplicitizePointCloudAlgo.h.

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

Choose the degree of the implicit representation.

Parameters:
deg degree

Definition at line 88 of file ImplicitizePointCloudAlgo.h.

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

Set the tolerance.

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

Definition at line 93 of file ImplicitizePointCloudAlgo.h.

void Go::ImplicitizePointCloudAlgo::perform (  ) 

Perform the implicitization.

This function runs the implicitization algorithm.

void Go::ImplicitizePointCloudAlgo::getResultData ( BernsteinTetrahedralPoly implicit,
BaryCoordSystem3D &  bc,
double &  sigma_min 
) [inline]

Get the result of the implicitization.

Return values:
implicit a BernsteinTetrahedralPoly representing the implicit surface
bc the barycentric coordinate system in which the BernsteinTetrahedralPoly is defined

Definition at line 105 of file ImplicitizePointCloudAlgo.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