[][src]Struct splashsurf_lib::Parameters

pub struct Parameters<R: Real> {
    pub particle_radius: R,
    pub rest_density: R,
    pub compact_support_radius: R,
    pub splash_detection_radius: Option<R>,
    pub cube_size: R,
    pub iso_surface_threshold: R,
    pub domain_aabb: Option<AxisAlignedBoundingBox3d<R>>,
    pub enable_multi_threading: bool,
    pub spatial_decomposition: Option<SpatialDecompositionParameters<R>>,
}

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)

splash_detection_radius: Option<R>

Particles without neighbors within the splash detection radius are considered "splash" or "free particles". They are filtered out and processed separately. Currently they are only skipped during the surface reconstruction.

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

domain_aabb: Option<AxisAlignedBoundingBox3d<R>>

Manually restrict the domain to the surface reconstruction. 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<SpatialDecompositionParameters<R>>

Parameters for the spatial decomposition (octree subdivision) of the particles. If not provided, no octree is generated and a global approach is used instead.

Implementations

impl<R: Real> Parameters<R>[src]

pub fn try_convert<T: Real>(&self) -> Option<Parameters<T>>[src]

Tries to convert the parameters from one Real type to another Real type, returns None if conversion fails

Trait Implementations

impl<R: Clone + Real> Clone for Parameters<R>[src]

impl<R: Debug + Real> Debug for Parameters<R>[src]

Auto Trait Implementations

impl<R> RefUnwindSafe for Parameters<R> where
    R: RefUnwindSafe
[src]

impl<R> Send for Parameters<R>[src]

impl<R> Sync for Parameters<R>[src]

impl<R> Unpin for Parameters<R> where
    R: Unpin
[src]

impl<R> UnwindSafe for Parameters<R> where
    R: UnwindSafe
[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,