Crate splashsurf_lib[−][src]
Library for surface reconstruction of SPH particle data using marching cubes.
Entry points are the reconstruct_surface
or reconstruct_surface_inplace
functions.
Feature flags
The following features are all non-default features to reduces the amount of additional dependencies.
vtk_extras
Enables helper functions and trait implementations to export meshes using vtkio
.
In particular it adds From
impls for the mesh types used by this crate to convert them to
vtkio::model::UnstructuredGridPiece
and vtkio::model::DataSet
types. The crate exposes its vtkio
dependency as splashsurflib::vtkio
if the feature is enabled.
profiling
Enables profiling of internal functions. The resulting data can be displayed using the functions
from the profiling
module. Furthermore, it exposes the profile
macro 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.
Re-exports
pub use nalgebra; |
pub use vtkio; |
pub use density_map::DensityMap; |
pub use octree::SubdivisionCriterion; |
pub use uniform_grid::GridConstructionError; |
pub use uniform_grid::UniformGrid; |
Modules
density_map | Computation of sparse density maps (evaluation of particle densities and mapping onto sparse grids) |
generic_tree | Generic tree visitation functions that can be used with tree-like structures |
kernel | SPH kernel function implementations |
marching_cubes | Triangulation of |
mesh | Basic mesh types used by the library and implementation of VTK export |
neighborhood_search | Simple neighborhood search based on spatial hashing |
octree | Octree for spatially partitioning particle sets |
profiling | Implementation details for the |
topology | Helper types for cartesian coordinate system topology |
uniform_grid | Helper types for the implicit background grid used for marching cubes |
Macros
profile | Creates a scope for profiling |
Structs
AxisAlignedBoundingBox | Type representing an axis aligned bounding box in arbitrary dimensions |
Parameters | Parameters for the surface reconstruction |
SpatialDecompositionParameters | Parameters for the spatial decomposition |
SurfaceReconstruction | Result data returned when the surface reconstruction was successful |
Enums
ParticleDensityComputationStrategy | Available strategies for the computation of the particle densities |
ReconstructionError | Error type returned when the surface reconstruction fails |
Traits
Index | Trait that has to be implemented for types to be used as background grid cell indices in the context of the library |
Real | 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) |
ThreadSafe | Convenience trait that combines |
Functions
grid_for_reconstruction | Constructs the background grid for marching cubes based on the parameters supplied to the surface reconstruction |
initialize_thread_pool | Initializes the global thread pool used by this library with the given parameters. |
reconstruct_surface | Performs a marching cubes surface construction of the fluid represented by the given particle positions |
reconstruct_surface_inplace | Performs a marching cubes surface construction of the fluid represented by the given particle positions, inplace |
Type Definitions
AxisAlignedBoundingBox2d | Convenience type alias for an AABB in two dimensions |
AxisAlignedBoundingBox3d | Convenience type alias for an AABB in three dimensions |