pub struct Agent {
pub position: Vec3,
pub velocity: Vec3,
pub radius: f32,
pub max_velocity: f32,
pub current_target: Option<Vec3>,
pub target_reached_condition: TargetReachedCondition,
/* private fields */
}
Expand description
An agent in an archipelago.
Fields§
§position: Vec3
The current position of the agent.
velocity: Vec3
The current velocity of the agent.
radius: f32
The radius of the agent.
max_velocity: f32
The maximum velocity that the agent can move at.
current_target: Option<Vec3>
The current target to move towards. Modifying this every update is fine. Paths will be reused for target points near each other if possible. However, swapping between two distant targets every update can be detrimental to be performance.
target_reached_condition: TargetReachedCondition
The condition to test for reaching the target.
Implementations§
source§impl Agent
impl Agent
sourcepub fn create(
position: Vec3,
velocity: Vec3,
radius: f32,
max_velocity: f32
) -> Self
pub fn create( position: Vec3, velocity: Vec3, radius: f32, max_velocity: f32 ) -> Self
Creates a new agent.
sourcepub fn get_desired_velocity(&self) -> Vec3
pub fn get_desired_velocity(&self) -> Vec3
Returns the desired velocity. This will only be updated if update
was
called on the associated crate::Archipelago
.
sourcepub fn state(&self) -> AgentState
pub fn state(&self) -> AgentState
Returns the state of the agent. This will only be updated if update
was
called on the associated crate::Archipelago
.
Auto Trait Implementations§
impl RefUnwindSafe for Agent
impl Send for Agent
impl Sync for Agent
impl Unpin for Agent
impl UnwindSafe for Agent
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