BRL-CAD
Screened Poisson Surface Reconstruction
Collaboration diagram for Screened Poisson Surface Reconstruction:

Data Structures

struct  bg_3d_spsr_opts
 Screened Poisson Surface Reconstruction from oriented point sets. More...
 

Macros

#define BG_3D_SPSR_BOUNDARY_FREE   1
 
#define BG_3D_SPSR_BOUNDARY_NEUMANN   2
 
#define BG_3D_SPSR_BOUNDARY_DIRICHLET   3
 
#define BG_3D_SPSR_DEFAULT_DEGREE   1 /* DEFAULT_FEM_DEGREE */
 
#define BG_3D_SPSR_DEFAULT_DEPTH   11
 
#define BG_3D_SPSR_DEFAULT_KERNELDEPTH   0
 
#define BG_3D_SPSR_DEFAULT_ITERATIONS   0
 
#define BG_3D_SPSR_DEFAULT_FULL_DEPTH   0
 
#define BG_3D_SPSR_DEFAULT_BASE_DEPTH   0
 
#define BG_3D_SPSR_DEFAULT_BASEVCYCLES   0
 
#define BG_3D_SPSR_DEFAULT_MAX_MEM   0
 
#define BG_3D_SPSR_DEFAULT_THREADS   0
 
#define BG_3D_SPSR_DEFAULT_SAMPLES_PER_NODE   1.1
 
#define BG_3D_SPSR_DEFAULT_SCALE   1.0
 
#define BG_3D_SPSR_DEFAULT_WIDTH   0.0
 
#define BG_3D_SPSR_DEFAULT_CONFIDENCE   0.0
 
#define BG_3D_SPSR_DEFAULT_CONFIDENCE_BIAS   0.0
 
#define BG_3D_SPSR_DEFAULT_CGSOLVER_ACCURACY   1.0e-3
 
#define BG_3D_SPSR_DEFAULT_POINT_WEIGHT   8.0 /* DefaultPointWeightMultiplier * Degree */
 
#define BG_3D_SPSR_DEFAULT_NONMANIFOLD   0
 
#define BG_3D_SPSR_DEFAULT_LINEARFIT   0
 
#define BG_3D_SPSR_DEFAULT_EXACT   1
 
#define BG_3D_SPSR_OPTS_DEFAULT
 

Functions

int bg_3d_spsr (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, struct bg_3d_spsr_opts *opts)
 Applies Screened Poisson Surface Reconstruction to build a triangle mesh defining a surface, based on a set of points with associated normals. More...
 

Detailed Description

Macro Definition Documentation

◆ BG_3D_SPSR_BOUNDARY_FREE

#define BG_3D_SPSR_BOUNDARY_FREE   1

Default Screened Poisson Surface Reconstruction options based on upstream code.

Definition at line 107 of file spsr.h.

◆ BG_3D_SPSR_BOUNDARY_NEUMANN

#define BG_3D_SPSR_BOUNDARY_NEUMANN   2

Definition at line 108 of file spsr.h.

◆ BG_3D_SPSR_BOUNDARY_DIRICHLET

#define BG_3D_SPSR_BOUNDARY_DIRICHLET   3

Definition at line 109 of file spsr.h.

◆ BG_3D_SPSR_DEFAULT_DEGREE

#define BG_3D_SPSR_DEFAULT_DEGREE   1 /* DEFAULT_FEM_DEGREE */

Definition at line 111 of file spsr.h.

◆ BG_3D_SPSR_DEFAULT_DEPTH

#define BG_3D_SPSR_DEFAULT_DEPTH   11

Definition at line 112 of file spsr.h.

◆ BG_3D_SPSR_DEFAULT_KERNELDEPTH

#define BG_3D_SPSR_DEFAULT_KERNELDEPTH   0

Definition at line 113 of file spsr.h.

◆ BG_3D_SPSR_DEFAULT_ITERATIONS

#define BG_3D_SPSR_DEFAULT_ITERATIONS   0

Definition at line 114 of file spsr.h.

◆ BG_3D_SPSR_DEFAULT_FULL_DEPTH

#define BG_3D_SPSR_DEFAULT_FULL_DEPTH   0

Definition at line 115 of file spsr.h.

◆ BG_3D_SPSR_DEFAULT_BASE_DEPTH

#define BG_3D_SPSR_DEFAULT_BASE_DEPTH   0

Definition at line 116 of file spsr.h.

◆ BG_3D_SPSR_DEFAULT_BASEVCYCLES

#define BG_3D_SPSR_DEFAULT_BASEVCYCLES   0

Definition at line 117 of file spsr.h.

◆ BG_3D_SPSR_DEFAULT_MAX_MEM

#define BG_3D_SPSR_DEFAULT_MAX_MEM   0

Definition at line 118 of file spsr.h.

◆ BG_3D_SPSR_DEFAULT_THREADS

#define BG_3D_SPSR_DEFAULT_THREADS   0

Definition at line 119 of file spsr.h.

◆ BG_3D_SPSR_DEFAULT_SAMPLES_PER_NODE

#define BG_3D_SPSR_DEFAULT_SAMPLES_PER_NODE   1.1

Definition at line 120 of file spsr.h.

◆ BG_3D_SPSR_DEFAULT_SCALE

#define BG_3D_SPSR_DEFAULT_SCALE   1.0

Definition at line 121 of file spsr.h.

◆ BG_3D_SPSR_DEFAULT_WIDTH

#define BG_3D_SPSR_DEFAULT_WIDTH   0.0

Definition at line 122 of file spsr.h.

◆ BG_3D_SPSR_DEFAULT_CONFIDENCE

#define BG_3D_SPSR_DEFAULT_CONFIDENCE   0.0

Definition at line 123 of file spsr.h.

◆ BG_3D_SPSR_DEFAULT_CONFIDENCE_BIAS

#define BG_3D_SPSR_DEFAULT_CONFIDENCE_BIAS   0.0

Definition at line 124 of file spsr.h.

◆ BG_3D_SPSR_DEFAULT_CGSOLVER_ACCURACY

#define BG_3D_SPSR_DEFAULT_CGSOLVER_ACCURACY   1.0e-3

Definition at line 125 of file spsr.h.

◆ BG_3D_SPSR_DEFAULT_POINT_WEIGHT

#define BG_3D_SPSR_DEFAULT_POINT_WEIGHT   8.0 /* DefaultPointWeightMultiplier * Degree */

Definition at line 126 of file spsr.h.

◆ BG_3D_SPSR_DEFAULT_NONMANIFOLD

#define BG_3D_SPSR_DEFAULT_NONMANIFOLD   0

Definition at line 127 of file spsr.h.

◆ BG_3D_SPSR_DEFAULT_LINEARFIT

#define BG_3D_SPSR_DEFAULT_LINEARFIT   0

Definition at line 128 of file spsr.h.

◆ BG_3D_SPSR_DEFAULT_EXACT

#define BG_3D_SPSR_DEFAULT_EXACT   1

Definition at line 129 of file spsr.h.

◆ BG_3D_SPSR_OPTS_DEFAULT

#define BG_3D_SPSR_OPTS_DEFAULT
Value:
{ \
BG_3D_SPSR_DEFAULT_DEGREE , \
BG_3D_SPSR_BOUNDARY_NEUMANN , \
BG_3D_SPSR_DEFAULT_DEPTH , \
BG_3D_SPSR_DEFAULT_KERNELDEPTH , \
BG_3D_SPSR_DEFAULT_ITERATIONS , \
BG_3D_SPSR_DEFAULT_FULL_DEPTH , \
BG_3D_SPSR_DEFAULT_BASE_DEPTH , \
BG_3D_SPSR_DEFAULT_BASEVCYCLES , \
BG_3D_SPSR_DEFAULT_MAX_MEM , \
BG_3D_SPSR_DEFAULT_THREADS , \
BG_3D_SPSR_DEFAULT_SAMPLES_PER_NODE , \
BG_3D_SPSR_DEFAULT_SCALE , \
BG_3D_SPSR_DEFAULT_WIDTH , \
BG_3D_SPSR_DEFAULT_CONFIDENCE , \
BG_3D_SPSR_DEFAULT_CONFIDENCE_BIAS , \
BG_3D_SPSR_DEFAULT_CGSOLVER_ACCURACY, \
BG_3D_SPSR_DEFAULT_POINT_WEIGHT , \
BG_3D_SPSR_DEFAULT_NONMANIFOLD , \
BG_3D_SPSR_DEFAULT_LINEARFIT , \
BG_3D_SPSR_DEFAULT_EXACT }

Definition at line 131 of file spsr.h.

Function Documentation

◆ bg_3d_spsr()

int bg_3d_spsr ( 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,
struct bg_3d_spsr_opts opts 
)

Applies Screened Poisson Surface Reconstruction to build a triangle mesh defining a surface, based on a set of points with associated normals.

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
input_normals_3dThe normals associated with the points
num_input_pntsthe number of points in the input set
optscontainer holding options to be used in SPSR processing
Returns
0 if successful, else error