#include <ImplicitizePointCloudAlgo.h>
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. |
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.
Go::ImplicitizePointCloudAlgo::ImplicitizePointCloudAlgo | ( | int | deg | ) | [inline, explicit] |
Constructor.
deg | degree of the implicit representation |
Definition at line 73 of file ImplicitizePointCloudAlgo.h.
Go::ImplicitizePointCloudAlgo::ImplicitizePointCloudAlgo | ( | const PointCloud3D & | cloud, | |
int | deg | |||
) | [inline] |
Constructor.
cloud | point cloud to be implicitized | |
deg | degree of the implicit representation |
Definition at line 78 of file ImplicitizePointCloudAlgo.h.
void Go::ImplicitizePointCloudAlgo::usePointCloud | ( | const PointCloud3D & | cloud | ) | [inline] |
Load the point cloud to be implicitized.
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.
deg | degree |
Definition at line 88 of file ImplicitizePointCloudAlgo.h.
void Go::ImplicitizePointCloudAlgo::setTolerance | ( | double | tol | ) | [inline] |
Set the tolerance.
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.
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.