pub struct ForceField {
pub id: ForceFieldId,
pub enabled: bool,
pub strength_scale: f32,
pub tag_mask: TagMask,
pub kind: ForceFieldKind,
pub priority: i32,
}Expand description
A single force field entry in the world, combining a field type with metadata.
Fields§
§id: ForceFieldId§enabled: bool§strength_scale: f32§tag_mask: TagMask§kind: ForceFieldKind§priority: i32Implementations§
Source§impl ForceField
impl ForceField
pub fn new(id: ForceFieldId, kind: ForceFieldKind) -> Self
pub fn with_tag_mask(self, mask: TagMask) -> Self
pub fn with_scale(self, s: f32) -> Self
pub fn with_priority(self, p: i32) -> Self
pub fn disabled(self) -> Self
Sourcepub fn apply(&self, particle: &Particle) -> Vec3
pub fn apply(&self, particle: &Particle) -> Vec3
Compute the acceleration this field imparts on a particle (per unit mass, i.e. force/mass).
pub fn tick(&mut self, dt: f32)
pub fn marks_for_death(&self, particle: &Particle) -> bool
Trait Implementations§
Source§impl Clone for ForceField
impl Clone for ForceField
Source§fn clone(&self) -> ForceField
fn clone(&self) -> ForceField
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 ForceField
impl RefUnwindSafe for ForceField
impl Send for ForceField
impl Sync for ForceField
impl Unpin for ForceField
impl UnsafeUnpin for ForceField
impl UnwindSafe for ForceField
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.