pub struct PhysicsSimulator {
pub particles: Vec<PhysicsParticle>,
pub springs: Vec<SpringConstraint>,
pub gravity: Vec3,
pub substeps: u32,
pub time: f32,
}Fields§
§particles: Vec<PhysicsParticle>§springs: Vec<SpringConstraint>§gravity: Vec3§substeps: u32§time: f32Implementations§
Source§impl PhysicsSimulator
impl PhysicsSimulator
pub fn new() -> Self
pub fn add_particle(&mut self, position: Vec3, mass: f32) -> usize
pub fn add_spring(&mut self, a: usize, b: usize, stiffness: f32)
pub fn step(&mut self, dt: f32)
pub fn apply_to_model(&self, model: &mut ParticleModel)
pub fn wind_force(&mut self, direction: Vec3, strength: f32, turbulence: f32)
pub fn collision_floor(&mut self, y: f32, restitution: f32)
pub fn collision_sphere(&mut self, center: Vec3, radius: f32, restitution: f32)
Auto Trait Implementations§
impl Freeze for PhysicsSimulator
impl RefUnwindSafe for PhysicsSimulator
impl Send for PhysicsSimulator
impl Sync for PhysicsSimulator
impl Unpin for PhysicsSimulator
impl UnsafeUnpin for PhysicsSimulator
impl UnwindSafe for PhysicsSimulator
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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.