pub struct Hypha {Show 21 fields
pub id: Uuid,
pub parent_id: Option<Uuid>,
pub position: Vec2,
pub direction: f32,
pub direction_variance: f32,
pub min_direction_variance: f32,
pub max_direction_variance: f32,
pub direction_variance_multiplier: f32,
pub branch_probability: f32,
pub speed: f32,
pub min_speed: f32,
pub max_speed: f32,
pub speed_multiplier: f32,
pub weight: f32,
pub min_weight: f32,
pub max_weight: f32,
pub weight_multiplier: f32,
pub color: Alpha<Hsl, f32>,
pub path: Vec<Line>,
pub dead: bool,
pub cargo: i32,
}
Expand description
A single hypha
Fields§
§id: Uuid
A unique id for this hypha
parent_id: Option<Uuid>
The id if the parent hypha
position: Vec2
The current position
direction: f32
The current direction
direction_variance: f32
The amount the direction can vary
min_direction_variance: f32
The minimum amount the direction can vary
max_direction_variance: f32
The maximum amount the direction can vary
direction_variance_multiplier: f32
The amount to multiply the direction variance by during each growth cycle
branch_probability: f32
Probability of a hypha creating a branch
speed: f32
The rate of growth
min_speed: f32
The minimum speed
max_speed: f32
The maximum speed
speed_multiplier: f32
The amount to multiply the speed by during each growth cycle
weight: f32
The thickness of the hypha
min_weight: f32
The minimum weight
max_weight: f32
The maximum weight
weight_multiplier: f32
The amount to multiply the weight by during each growth cycle
color: Alpha<Hsl, f32>
This hypha’s color
path: Vec<Line>
A record of the hypha’s path
dead: bool
If true, the hypha has died
cargo: i32
A user-defined value to be carried along by the hypha
Implementations§
source§impl Hypha
impl Hypha
sourcepub fn parent_id(self, id: Uuid) -> Self
pub fn parent_id(self, id: Uuid) -> Self
Set the parent_id for the hypha
This is intended to be chained with new() in a builder pattern
Arguments
id
: The parent_id
Examples
use nannou::prelude::*;
use uuid::Uuid;
use tahga::growth::hyphae::hypha::Hypha;
let parent_id = Uuid::new_v4();
let h = Hypha::new().parent_id(parent_id);
assert_eq!(h.parent_id.unwrap(), parent_id);
sourcepub fn position(self, position: Vec2) -> Self
pub fn position(self, position: Vec2) -> Self
Set the position for the hypha
This is intended to be chained with new() in a builder pattern
Arguments
position
: The new position
Examples
use nannou::prelude::*;
use tahga::growth::hyphae::hypha::Hypha;
let h = Hypha::new().position(vec2(1.,2.));
assert_eq!(h.position.x, 1.);
assert_eq!(h.position.y, 2.);
sourcepub fn direction_variance(self, direction_variance: f32) -> Self
pub fn direction_variance(self, direction_variance: f32) -> Self
Set the direction variance for the hypha
This is intended to be chained with new() in a builder pattern
Arguments
direction_variance
: The new direction_variance
Examples
use nannou::prelude::*;
use tahga::growth::hyphae::hypha::Hypha;
let h = Hypha::new().direction_variance(0.1);
assert_eq!(h.direction_variance, 0.1);
sourcepub fn color(self, color: Alpha<Hsl, f32>) -> Self
pub fn color(self, color: Alpha<Hsl, f32>) -> Self
Set the color for the hypha
This is intended to be chained with new() in a builder pattern
Arguments
color
: The new color
Examples
use nannou::prelude::*;
use tahga::growth::hyphae::hypha::Hypha;
let h = Hypha::new().color(hsla(0.7, 0.9, 0.3, 0.01));
let c = h.color.into_components();
assert_eq!(c.2, 0.3);
Trait Implementations§
Auto Trait Implementations§
impl RefUnwindSafe for Hypha
impl Send for Hypha
impl Sync for Hypha
impl Unpin for Hypha
impl UnwindSafe for Hypha
Blanket Implementations§
source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S
source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<Swp, Dwp, T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<Swp, Dwp, T>,
source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
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
source§impl<T, U> ConvertInto<U> for Twhere
U: ConvertFrom<T>,
impl<T, U> ConvertInto<U> for Twhere
U: ConvertFrom<T>,
source§fn convert_into(self) -> U
fn convert_into(self) -> U
source§fn convert_unclamped_into(self) -> U
fn convert_unclamped_into(self) -> U
source§fn try_convert_into(self) -> Result<U, OutOfBounds<U>>
fn try_convert_into(self) -> Result<U, OutOfBounds<U>>
OutOfBounds
error is returned which contains the unclamped color. Read more