Easy3D 2.6.1
Loading...
Searching...
No Matches
PoissonReconstruction Class Reference

Poisson surface reconstruction. More...

#include <easy3d/algo/point_cloud_poisson_reconstruction.h>

Public Member Functions

 PoissonReconstruction ()
 Constructor.
 
 ~PoissonReconstruction ()
 Destructor.
 
void set_depth (int d)
 Set reconstruction depth.
 
void set_samples_per_node (float s)
 Set the minimum number of samples.
 
SurfaceMeshapply (const PointCloud *cloud, const std::string &density_attr_name="v:density") const
 Perform Poisson surface reconstruction.
 
void set_full_depth (int v)
 Set the full depth of the octree.
 
void set_cg_depth (int v)
 Set the conjugate gradient depth.
 
void set_scale (float v)
 Set the scale factor.
 
void set_point_weight (float v)
 Set the point weight.
 
void set_gs_iter (int v)
 Set the number of Gauss-Seidel iterations.
 
void set_verbose (bool v)
 Set the verbosity of the reconstruction process.
 

Static Public Member Functions

static SurfaceMeshtrim (SurfaceMesh *mesh, float trim_value, float area_ratio, bool triangulate, const std::string &density_attr_name="v:density")
 Trim the reconstructed surface model based on the density attribute.
 

Detailed Description

Poisson surface reconstruction.

Examples
Tutorial_702_Cloud_SurfaceReconstruction/main.cpp.

Member Function Documentation

◆ apply()

SurfaceMesh * apply ( const PointCloud * cloud,
const std::string & density_attr_name = "v:density" ) const

Perform Poisson surface reconstruction.

Parameters
cloudThe input point cloud.
density_attr_nameThe name of the density attribute. Default is "v:density".
Returns
A pointer to the reconstructed surface mesh.
Examples
Tutorial_702_Cloud_SurfaceReconstruction/main.cpp.

◆ set_cg_depth()

void set_cg_depth ( int v)
inline

Set the conjugate gradient depth.

Parameters
vThe conjugate gradient depth value.

◆ set_depth()

void set_depth ( int d)
inline

Set reconstruction depth.

Parameters
dThe maximum depth of the tree used for surface reconstruction.

This integer is the maximum depth of the tree that will be used for surface reconstruction. Running at depth d corresponds to solving on a voxel grid whose resolution is no larger than 2^d x 2^d x 2^d. Note that since the reconstructor adapts the octree to the sampling density, the specified reconstruction depth is only an upper bound. The default value for this parameter is 8.

Examples
Tutorial_702_Cloud_SurfaceReconstruction/main.cpp.

◆ set_full_depth()

void set_full_depth ( int v)
inline

Set the full depth of the octree.

Parameters
vThe full depth value.

This integer specifies the depth beyond which the octree will be adapted. At coarser depths, the octree will be complete. The default value for this parameter is 5.

◆ set_gs_iter()

void set_gs_iter ( int v)
inline

Set the number of Gauss-Seidel iterations.

Parameters
vThe number of Gauss-Seidel iterations.

◆ set_point_weight()

void set_point_weight ( float v)
inline

Set the point weight.

Parameters
vThe point weight value.

This floating point value specifies the importance that interpolation of the point samples is given in the formulation of the screened Poisson equation. The default value for this parameter is 4.

◆ set_samples_per_node()

void set_samples_per_node ( float s)
inline

Set the minimum number of samples.

Parameters
sThe minimum number of sample points that should fall within an octree node. This floating point value specifies the minimum number of sample points that should fall within an octree node as the octree construction is adapted to sampling density. For noise-free samples, small values in the range [1.0 - 5.0] can be used. For more noisy samples, larger values in the range [15.0 - 20.0] may be needed to provide a smoother, noise-reduced, reconstruction. The default value is 1.0.

◆ set_scale()

void set_scale ( float v)
inline

Set the scale factor.

Parameters
vThe scale factor value.

◆ set_verbose()

void set_verbose ( bool v)
inline

Set the verbosity of the reconstruction process.

Parameters
vTrue to enable verbose output, false otherwise.

◆ trim()

SurfaceMesh * trim ( SurfaceMesh * mesh,
float trim_value,
float area_ratio,
bool triangulate,
const std::string & density_attr_name = "v:density" )
static

Trim the reconstructed surface model based on the density attribute.

Parameters
meshThe surface mesh to be trimmed.
trim_valueThe density value used for trimming.
area_ratioThe area ratio used for trimming.
triangulateWhether to triangulate the trimmed surface.
density_attr_nameThe name of the density attribute. Default is "v:density".
Returns
A pointer to the trimmed surface mesh.

The documentation for this class was generated from the following files: