Struct splashsurf_lib::Parameters
source · pub struct Parameters<R: Real> {
pub particle_radius: R,
pub rest_density: R,
pub compact_support_radius: R,
pub cube_size: R,
pub iso_surface_threshold: R,
pub particle_aabb: Option<Aabb3d<R>>,
pub enable_multi_threading: bool,
pub spatial_decomposition: Option<SpatialDecomposition<R>>,
pub global_neighborhood_list: bool,
}
Expand description
Parameters for the surface reconstruction
Fields§
§particle_radius: R
Radius per particle (used to calculate the particle volume)
rest_density: R
Rest density of the fluid
compact_support_radius: R
Compact support radius of the kernel, i.e. distance from the particle where kernel reaches zero (in distance units, not relative to particle radius)
cube_size: R
Edge length of the marching cubes implicit background grid (in distance units, not relative to particle radius)
iso_surface_threshold: R
Density threshold value to distinguish between the inside (above threshold) and outside (below threshold) of the fluid
particle_aabb: Option<Aabb3d<R>>
Bounding box of particles to reconstruct
All particles outside of this domain will be filtered out before the reconstruction. The surface reconstruction always results in a closed mesh around the particles. The final mesh can extend beyond this AABB due to the smoothing of the kernel. If not provided, the smallest AABB enclosing all particles is computed instead.
enable_multi_threading: bool
Whether to allow multi threading within the surface reconstruction procedure
spatial_decomposition: Option<SpatialDecomposition<R>>
Parameters for the spatial decomposition of the surface reconstruction If not provided, no spatial decomposition is performed and a global approach is used instead.
global_neighborhood_list: bool
Whether to return the global particle neighborhood list from the reconstruction. Depending on the settings of the reconstruction, neighborhood lists are only computed locally in subdomains. Enabling this flag joins this data over all particles which can add a small overhead.
Implementations§
source§impl<R: Real> Parameters<R>
impl<R: Real> Parameters<R>
sourcepub fn try_convert<T: Real>(&self) -> Option<Parameters<T>>
pub fn try_convert<T: Real>(&self) -> Option<Parameters<T>>
Trait Implementations§
Auto Trait Implementations§
impl<R> RefUnwindSafe for Parameters<R>where R: RefUnwindSafe,
impl<R> Send for Parameters<R>
impl<R> Sync for Parameters<R>
impl<R> Unpin for Parameters<R>where R: Unpin,
impl<R> UnwindSafe for Parameters<R>where R: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.