|
BRL-CAD
|
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) |
| #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.
| [out] | faces | set 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_faces | the number of faces in the faces array |
| [out] | vertices | the set of vertices used by the surface. |
| [out] | num_vertices | the number of vertices in the surface. |
| input_points_3d | The input points | |
| num_input_pnts | the number of points in the input set | |
| radii | array of ball radii to be used. If NULL, a default radius set is calculated based on the point data. | |
| radii_cnt | number of radii in radii array |
Definition at line 61 of file ballpivot.h.