Trait Agent

Source
pub trait Agent<Pos: PositionBound, Vel: VelocityBound, For: ForceBound, Inf, Float = f64>:
    Cycle<Self, Float>
    + Interaction<Pos, Vel, For, Inf>
    + Mechanics<Pos, Vel, For, Float>
    + Position<Pos>
    + Velocity<Vel>
    + Sized
    + Send
    + Sync
    + Clone
    + Serialize
    + for<'a> Deserialize<'a> { }
Available on crate feature cpu_os_threads only.
Expand description

Encapsulates all concepts that can be specified for a Agent

We hope to be deprecating this trait in the future and only rely on individual traits instead. While this trait could be manually implemented, it is often not necessary (see cellular_raza-building-blocks)

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<Pos, Vel, For, Inf, Float, A> Agent<Pos, Vel, For, Inf, Float> for A
where Pos: PositionBound, For: ForceBound, Vel: VelocityBound, A: Cycle<Self, Float> + Interaction<Pos, Vel, For, Inf> + Mechanics<Pos, Vel, For, Float> + Position<Pos> + Velocity<Vel> + Sized + Send + Sync + Clone + Serialize + for<'a> Deserialize<'a>,