Struct salva2d::LiquidWorld
source · pub struct LiquidWorld {
pub counters: Counters,
/* private fields */
}
Expand description
The physics world for simulating fluids with boundaries.
Fields§
§counters: Counters
Performance counters of the whole fluid simulation engine.
Implementations§
source§impl LiquidWorld
impl LiquidWorld
sourcepub fn new(
solver: impl PressureSolver + Send + Sync + 'static,
particle_radius: Real,
smoothing_factor: Real
) -> Self
pub fn new( solver: impl PressureSolver + Send + Sync + 'static, particle_radius: Real, smoothing_factor: Real ) -> Self
Initialize a new liquid world.
§Parameters
particle_radius
: the radius of every particle on this world.smoothing_factor
: the smoothing factor used to compute the SPH kernel radius. The kernel radius will be computed as `particle_radius * smoothing_factor * 2.0.
sourcepub fn step(&mut self, dt: Real, gravity: &Vector<Real>)
pub fn step(&mut self, dt: Real, gravity: &Vector<Real>)
Advances the simulation by dt
milliseconds.
All the fluid particles will be affected by an acceleration equal to gravity
.
sourcepub fn step_with_coupling(
&mut self,
dt: Real,
gravity: &Vector<Real>,
coupling: &mut impl CouplingManager
)
pub fn step_with_coupling( &mut self, dt: Real, gravity: &Vector<Real>, coupling: &mut impl CouplingManager )
Advances the simulation by dt
milliseconds, taking into account coupling with an external rigid-body engine.
sourcepub fn add_fluid(&mut self, fluid: Fluid) -> FluidHandle
pub fn add_fluid(&mut self, fluid: Fluid) -> FluidHandle
Add a fluid to the liquid world.
sourcepub fn add_boundary(&mut self, boundary: Boundary) -> BoundaryHandle
pub fn add_boundary(&mut self, boundary: Boundary) -> BoundaryHandle
Add a boundary to the liquid world.
sourcepub fn remove_fluid(&mut self, handle: FluidHandle) -> Option<Fluid>
pub fn remove_fluid(&mut self, handle: FluidHandle) -> Option<Fluid>
Add a fluid to the liquid world.
sourcepub fn remove_boundary(&mut self, handle: BoundaryHandle) -> Option<Boundary>
pub fn remove_boundary(&mut self, handle: BoundaryHandle) -> Option<Boundary>
Add a boundary to the liquid world.
sourcepub fn fluids_mut(&mut self) -> &mut FluidSet
pub fn fluids_mut(&mut self) -> &mut FluidSet
The mutable set of fluids on this liquid world.
sourcepub fn boundaries(&self) -> &BoundarySet
pub fn boundaries(&self) -> &BoundarySet
The set of boundaries on this liquid world.
sourcepub fn boundaries_mut(&mut self) -> &mut BoundarySet
pub fn boundaries_mut(&mut self) -> &mut BoundarySet
The mutable set of boundaries on this liquid world.
sourcepub fn particle_radius(&self) -> Real
pub fn particle_radius(&self) -> Real
The radius of every particle on this liquid world.
Auto Trait Implementations§
impl !RefUnwindSafe for LiquidWorld
impl Send for LiquidWorld
impl Sync for LiquidWorld
impl Unpin for LiquidWorld
impl !UnwindSafe for LiquidWorld
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
Mutably borrows from an owned value. Read more
§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>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.