pub struct WeightedSteering {
pub behaviors: Vec<(SteeringBehavior, f32)>,
}Expand description
Combine multiple steering behaviors using a weighted sum.
Fields§
§behaviors: Vec<(SteeringBehavior, f32)>Implementations§
Source§impl WeightedSteering
impl WeightedSteering
pub fn new() -> Self
pub fn add(&mut self, behavior: SteeringBehavior, weight: f32) -> &mut Self
Sourcepub fn calculate(
&self,
agent: &mut SteeringAgent,
neighbors: &[&SteeringAgent],
) -> Vec2
pub fn calculate( &self, agent: &mut SteeringAgent, neighbors: &[&SteeringAgent], ) -> Vec2
Compute the weighted sum of all forces, clamped to agent’s max_force.
pub fn calculate_with_leader( &self, agent: &mut SteeringAgent, neighbors: &[&SteeringAgent], leader: Option<&SteeringAgent>, ) -> Vec2
Trait Implementations§
Source§impl Clone for WeightedSteering
impl Clone for WeightedSteering
Source§fn clone(&self) -> WeightedSteering
fn clone(&self) -> WeightedSteering
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 moreSource§impl Debug for WeightedSteering
impl Debug for WeightedSteering
Source§impl Default for WeightedSteering
impl Default for WeightedSteering
Source§fn default() -> WeightedSteering
fn default() -> WeightedSteering
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for WeightedSteering
impl RefUnwindSafe for WeightedSteering
impl Send for WeightedSteering
impl Sync for WeightedSteering
impl Unpin for WeightedSteering
impl UnsafeUnpin for WeightedSteering
impl UnwindSafe for WeightedSteering
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.