pub struct Spring<F> {
pub position: F,
pub velocity: F,
pub equilibrium: F,
}Expand description
An instance of a spring and its current physical properties, like its position, velocity, and target equilibrium.
Fields§
§position: F§velocity: F§equilibrium: FImplementations§
Source§impl<F: Float> Spring<F>
impl<F: Float> Spring<F>
Sourcepub fn from_equilibrium(equilibrium: F) -> Self
pub fn from_equilibrium(equilibrium: F) -> Self
Create a new spring from a start equilibrium.
Sourcepub fn with_position(self, position: F) -> Self
pub fn with_position(self, position: F) -> Self
Builder function to set the spring’s position.
Sourcepub fn with_velocity(self, velocity: F) -> Self
pub fn with_velocity(self, velocity: F) -> Self
Builder function to set the spring’s velocity.
Sourcepub fn with_equilibrium(self, equilibrium: F) -> Self
pub fn with_equilibrium(self, equilibrium: F) -> Self
Builder function to set the spring’s equilibrium.
Sourcepub fn update(&mut self, time_step: SpringTimeStep<F>)
pub fn update(&mut self, time_step: SpringTimeStep<F>)
Update this spring using a pre-computed SpringTimeStep.
Sourcepub fn update_single(&mut self, state: SpringParams<F>, delta: F)
pub fn update_single(&mut self, state: SpringParams<F>, delta: F)
Update this spring (and this spring only) using a SpringParams and a delta time.
Will internally create a SpringTimeStep for this call.
If you are updating multiple springs with the same properties,
consider using SpringTimeStep::new and SpringTimeStep::update_many
or create a SpringCollection.
Trait Implementations§
impl<F: Copy> Copy for Spring<F>
impl<F> StructuralPartialEq for Spring<F>
Auto Trait Implementations§
impl<F> Freeze for Spring<F>where
F: Freeze,
impl<F> RefUnwindSafe for Spring<F>where
F: RefUnwindSafe,
impl<F> Send for Spring<F>where
F: Send,
impl<F> Sync for Spring<F>where
F: Sync,
impl<F> Unpin for Spring<F>where
F: Unpin,
impl<F> UnwindSafe for Spring<F>where
F: UnwindSafe,
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