Skip to content

Commit 40541c4

Browse files
committed
ReconstructionRunnerPostprocessingArgs struct docstrings
1 parent 6e0d9ef commit 40541c4

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

splashsurf/src/reconstruction.rs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -438,29 +438,54 @@ pub mod arguments {
438438
/// Parameters for the reconstruction post-processing pipeline
439439
#[derive(Clone, Debug)]
440440
pub struct ReconstructionRunnerPostprocessingArgs {
441+
/// Enable checking the final mesh for holes
441442
pub check_mesh_closed: bool,
443+
/// Enable checking the final mesh for non-manifold edges and vertices
442444
pub check_mesh_manifold: bool,
445+
/// Enable checking the final mesh for inverted triangles (compares angle between vertex normals and adjacent face normals)
443446
pub check_mesh_orientation: bool,
447+
/// Enable additional debug output for the check-mesh operations (has no effect if no other check-mesh option is enabled)
444448
pub check_mesh_debug: bool,
449+
/// Enable MC specific mesh decimation/simplification which removes bad quality triangles typically generated by MC by snapping (enabled by default if smoothing is enabled)
445450
pub mesh_cleanup: bool,
451+
/// If MC mesh cleanup is enabled, vertex snapping can be limited to this distance relative to the MC edge length (should be in range of [0.0,0.5])
446452
pub mesh_cleanup_snap_dist: Option<f64>,
453+
/// Enable decimation of some typical bad marching cubes triangle configurations (resulting in "barnacles" after Laplacian smoothing)
447454
pub decimate_barnacles: bool,
455+
/// Enable preserving vertices without connectivity during decimation instead of filtering them out (faster and helps with debugging)
448456
pub keep_vertices: bool,
457+
/// Enable computing surface normals at the mesh vertices and write them to the output object
449458
pub compute_normals: bool,
459+
/// Enable computing the normals using SPH interpolation instead of using the area weighted triangle normals
450460
pub sph_normals: bool,
461+
/// Number of smoothing iterations to apply to normals if normal interpolation is enabled
451462
pub normals_smoothing_iters: Option<usize>,
463+
/// Interpolate point attributes with the given name from the input attributes to the reconstructed surface
452464
pub interpolate_attributes: Vec<String>,
465+
/// Number of smoothing iterations to run on the reconstructed mesh
453466
pub mesh_smoothing_iters: Option<usize>,
467+
/// Enable feature weights for mesh smoothing if mesh smoothing enabled. Preserves isolated particles even under strong smoothing.
454468
pub mesh_smoothing_weights: bool,
469+
/// Override a manual normalization value from weighted number of neighbors to mesh smoothing weights
455470
pub mesh_smoothing_weights_normalization: f64,
471+
/// Enable conversion of triangles to quads if they meet quality criteria
456472
pub generate_quads: bool,
473+
/// Maximum allowed ratio of quad edge lengths to its diagonals to merge two triangles to a quad (inverse is used for minimum)
457474
pub quad_max_edge_diag_ratio: f64,
475+
/// Maximum allowed angle (in degrees) between triangle normals to merge them to a quad
458476
pub quad_max_normal_angle: f64,
477+
/// Maximum allowed vertex interior angle (in degrees) inside a quad to merge two triangles to a quad
459478
pub quad_max_interior_angle: f64,
479+
/// Enable writing the smoothing weights as a vertex attribute to the output mesh file
460480
pub output_mesh_smoothing_weights: bool,
481+
/// Enable writing raw normals without smoothing to the output mesh if normal smoothing is enabled
461482
pub output_raw_normals: bool,
483+
// For reconstruction_pipeline_from_args/path: Enable writing the raw reconstructed mesh before applying any post-processing steps (like smoothing or decimation)
484+
/// When true, also return the SurfaceReconstruction object with no post-processing applied
462485
pub output_raw_mesh: bool,
486+
/// Bounding-box for the surface mesh, triangles completely outside are removed
463487
pub mesh_aabb: Option<Aabb3d<f64>>,
488+
/// Enable clamping of vertices outside the specified mesh AABB to the AABB (only has an effect if mesh-aabb is specified)
464489
pub mesh_aabb_clamp_vertices: bool,
465490
}
466491

0 commit comments

Comments
 (0)