Struct SpringSpec
pub struct SpringSpec {
pub response: f64,
pub damping: f64,
}Expand description
A spring’s shape: how quick (response) and how bouncy (damping).
Fields§
§response: f64Period of the undamped spring, in seconds.
damping: f64Damping fraction: 1.0 is critical (no overshoot); below overshoots.
Implementations§
§impl SpringSpec
impl SpringSpec
pub fn settling_within(duration: Duration) -> SpringSpec
pub fn settling_within(duration: Duration) -> SpringSpec
A critically damped spring that is within 0.1 % of where it is going
after duration: what a motion token (fast, base, slow) means
as a spring.
pub fn critical(omega: f64) -> SpringSpec
pub fn critical(omega: f64) -> SpringSpec
A critically damped spring of natural frequency omega (rad/s).
pub fn from_params(params: SpringParams) -> SpringSpec
pub fn from_params(params: SpringParams) -> SpringSpec
A spring from the token presets’ stiffness, damping and mass.
pub fn slowed(self, factor: f64) -> SpringSpec
pub fn slowed(self, factor: f64) -> SpringSpec
The same spring, factor times slower (a longer travel).
pub fn state(self, x0: f64, v0: f64, t: f64) -> (f64, f64)
pub fn state(self, x0: f64, v0: f64, t: f64) -> (f64, f64)
Displacement and velocity t seconds into a segment that started at
displacement x0 with velocity v0 (target at 0).
pub fn settle_secs(self, x0: f64, v0: f64, tolerance: f64) -> f64
pub fn settle_secs(self, x0: f64, v0: f64, tolerance: f64) -> f64
Seconds until a segment starting at (x0, v0) stays within
tolerance of its target for good.
Trait Implementations§
§impl Clone for SpringSpec
impl Clone for SpringSpec
§fn clone(&self) -> SpringSpec
fn clone(&self) -> SpringSpec
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for SpringSpec
impl Debug for SpringSpec
§impl PartialEq for SpringSpec
impl PartialEq for SpringSpec
impl Copy for SpringSpec
impl StructuralPartialEq for SpringSpec
Auto Trait Implementations§
impl Freeze for SpringSpec
impl RefUnwindSafe for SpringSpec
impl Send for SpringSpec
impl Sync for SpringSpec
impl Unpin for SpringSpec
impl UnsafeUnpin for SpringSpec
impl UnwindSafe for SpringSpec
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
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,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§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.§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.§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.§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.§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more