Library for surface reconstruction of SPH particle data using marching cubes.
The following features are all non-default features to reduce the amount of additional dependencies.
vtk_extras: Enables helper functions and trait implementations to export meshes using
vtkio. In particular it adds
Fromimpls for the mesh types used by this crate to convert them to
vtkio::model::DataSettypes. If the feature is enabled, The crate exposes its
io: Enables the
iomodule, containing functions to load and store particle and mesh files from various file formats, e.g.
BGEOetc. This feature implies the
vtk_extrasfeature. It is disabled by default because a pure “online” surface reconstruction might not need any file IO. The feature adds several dependencies to support the file formats.
profiling: Enables profiling of internal functions. The resulting data can be displayed using the functions from the
profilingmodule. Furthermore, it exposes the
profilemacro that can be used e.g. by binary crates calling into this library to add their own profiling scopes to the measurements. If this features is not enabled, the macro will just expend to a no-op and remove the (small) performance overhead of the profiling.
pub use nalgebra;
pub use vtkio;
pub use crate::density_map::DensityMap;
pub use crate::octree::SubdivisionCriterion;
pub use crate::uniform_grid::UniformGrid;
Computation of sparse density maps (evaluation of particle densities and mapping onto sparse grids)
Generic tree visitation functions that can be used with tree-like structures
Convenience functions for importing particle data and meshes from various fileformats
SPH kernel function implementations
DensityMaps using marching cubes
Basic mesh types used by the library and implementation of VTK export
Simple neighborhood search based on spatial hashing
Octree for spatially partitioning particle sets
Implementation details for the
Functions for interpolating quantities (e.g. normals, scalar fields) by evaluating SPH sums
Helper types for cartesian coordinate system topology
Helper types for the implicit background grid used for marching cubes
Creates a scope for profiling
Type representing an axis aligned bounding box in arbitrary dimensions
Parameters for the surface reconstruction
Parameters for the spatial decomposition
Result data returned when the surface reconstruction was successful
Available strategies for the computation of the particle densities
Error type returned when the surface reconstruction fails
Trait that has to be implemented for types to be used as background grid cell indices in the context of the library
Trait that has to be implemented for types to be used as floating points values in the context of the library (e.g. for coordinates, density values)
Convenience trait that combines
Constructs the background grid for marching cubes based on the parameters supplied to the surface reconstruction
Initializes the global thread pool used by this library with the given parameters.
Performs a marching cubes surface construction of the fluid represented by the given particle positions
Performs a marching cubes surface construction of the fluid represented by the given particle positions, inplace