BRL-CAD
Loading...
Searching...
No Matches
Bg_surf_recon_ballpivot

Macros

#define BG_3D_BALLPIVOT_DEFAULT_RADIUS   -1
 Surface Reconstruction using Ball Pivoting.
 

Functions

int bg_3d_ballpivot (int **faces, int *num_faces, point_t **vertices, int *num_vertices, const point_t *input_points_3d, const vect_t *input_normals_3d, int num_input_pnts, const double *radii, int radii_cnt)
 

Detailed Description

Macro Definition Documentation

◆ BG_3D_BALLPIVOT_DEFAULT_RADIUS

#define BG_3D_BALLPIVOT_DEFAULT_RADIUS   -1

Surface Reconstruction using Ball Pivoting.

This functionality is based on the Bernardini et. al. work from 1999 describing a method of defining a surface on a point cloud with normals by "rolling" a 3D ball over the set of points and creating triangles where the ball does not fall through.

Build a surface reconstruction (triangle mesh) using the Ball Pivot methodology. Note that this has fewer topology guarantees as compared to the SPSR method, so callers must validate that the output has the properties they are looking for.

Parameters
[out]facesset of faces in the output surface, stored as integer indices to the vertices. The first three indices are the vertices of the face, the second three define the second face, and so forth.
[out]num_facesthe number of faces in the faces array
[out]verticesthe set of vertices used by the surface.
[out]num_verticesthe number of vertices in the surface.
input_points_3dThe input points
num_input_pntsthe number of points in the input set
radiiarray of ball radii to be used. If NULL, a default radius set is calculated based on the point data.
radii_cntnumber of radii in radii array
Returns
0 if successful, else error

Definition at line 61 of file ballpivot.h.

Function Documentation

◆ bg_3d_ballpivot()

int bg_3d_ballpivot ( int **  faces,
int *  num_faces,
point_t **  vertices,
int *  num_vertices,
const point_t input_points_3d,
const vect_t input_normals_3d,
int  num_input_pnts,
const double radii,
int  radii_cnt 
)