pub struct HumidityMap {
pub width: usize,
pub depth: usize,
pub data: Vec<f32>,
}Expand description
A 2-D humidity map over the simulation grid.
Fields§
§width: usize§depth: usize§data: Vec<f32>Relative humidity [0.0, 1.0] stored row-major (z * width + x).
Implementations§
Source§impl HumidityMap
impl HumidityMap
pub fn new(width: usize, depth: usize, base: f32) -> Self
Sourcepub fn sample(&self, gx: f32, gz: f32) -> f32
pub fn sample(&self, gx: f32, gz: f32) -> f32
Sample humidity at continuous grid coords using bilinear interpolation.
Sourcepub fn advect(&mut self, dx: f32, dz: f32)
pub fn advect(&mut self, dx: f32, dz: f32)
Advect humidity by a uniform wind (dx, dz) in grid cells/step.
Sourcepub fn evaporate(&mut self, rate: f32)
pub fn evaporate(&mut self, rate: f32)
Evaporation — increase humidity by rate everywhere (capped at 1.0).
Sourcepub fn precipitate(&mut self, sat: f32, coeff: f32)
pub fn precipitate(&mut self, sat: f32, coeff: f32)
Precipitation sink — decrease humidity proportional to excess above sat.
Trait Implementations§
Source§impl Clone for HumidityMap
impl Clone for HumidityMap
Source§fn clone(&self) -> HumidityMap
fn clone(&self) -> HumidityMap
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for HumidityMap
impl RefUnwindSafe for HumidityMap
impl Send for HumidityMap
impl Sync for HumidityMap
impl Unpin for HumidityMap
impl UnsafeUnpin for HumidityMap
impl UnwindSafe for HumidityMap
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