pub type LinearTransition<T, Progress = f32> = Transition<T, IdentityProgressMapper, Progress>;
Expand description

A convenience structure for storing a linear progression from one value to another.

Aliased Type§

struct LinearTransition<T, Progress = f32> {
    pub start: T,
    pub end: T,
    pub progress: Progress,
    pub progress_mapper: IdentityProgressMapper,
}

Fields§

§start: T

The value when progress gets close to 0.

§end: T

The value when progress gets close to 1.

§progress: Progress

Expected to be between 0 and 1.

§progress_mapper: IdentityProgressMapper

Functor that maps the current progress value to a LERP factor.

Implementations§

source§

impl<T, F, Progress> Transition<T, F, Progress>

source

pub fn with_mapper( start: T, end: T, progress_mapper: F ) -> Transition<T, F, Progress>where Progress: Zero,

Creates a new Transition from start and end values and progress_mapper, setting progress to zero.

source

pub fn with_mapper_and_progress( start: T, end: T, progress_mapper: F, progress: Progress ) -> Transition<T, F, Progress>

Creates a new Transition from start, end, progress_mapper and progress values.

source

pub fn into_range(self) -> Range<T>

Converts this into a Range, dropping the progress and progress_mapper values.

source§

impl<T, F, Progress> Transition<T, F, Progress>where F: ProgressMapper<Progress>,

source

pub fn into_current(self) -> Twhere T: Lerp<Progress, Output = T>, Progress: Clamp<Progress> + Zero + One,

Gets the transition’s current state, clamping progress to [0;1].

source

pub fn into_current_unclamped(self) -> Twhere T: Lerp<Progress, Output = T>,

Gets the transition’s current state using the progress value as-is.

source

pub fn into_current_precise(self) -> Twhere T: Lerp<Progress, Output = T>, Progress: Clamp<Progress> + Zero + One,

Gets the transition’s current state, clamping progress to [0;1].

source

pub fn into_current_unclamped_precise(self) -> Twhere T: Lerp<Progress, Output = T>,

Gets the transition’s current state using the progress value as-is.

source

pub fn current<'a>(&'a self) -> Twhere &'a T: Lerp<Progress, Output = T>, Progress: Copy + Clamp<Progress> + Zero + One,

Gets the transition’s current state, clamping progress to [0;1].

source

pub fn current_unclamped<'a>(&'a self) -> Twhere &'a T: Lerp<Progress, Output = T>, Progress: Copy,

Gets the transition’s current state using the progress value as-is.

source

pub fn current_precise<'a>(&'a self) -> Twhere &'a T: Lerp<Progress, Output = T>, Progress: Copy + Clamp<Progress> + Zero + One,

Gets the transition’s current state, clamping progress to [0;1].

source

pub fn current_unclamped_precise<'a>(&'a self) -> Twhere &'a T: Lerp<Progress, Output = T>, Progress: Copy,

Gets the transition’s current state using the progress value as-is.

source§

impl<T, Progress> Transition<T, IdentityProgressMapper, Progress>

source

pub fn new(start: T, end: T) -> Transition<T, IdentityProgressMapper, Progress>where Progress: Zero,

Creates a new LinearTransition from start and end values, setting progress to zero.

source

pub fn with_progress( start: T, end: T, progress: Progress ) -> Transition<T, IdentityProgressMapper, Progress>

Creates a new LinearTransition from start, end and progress values.

Trait Implementations§

source§

impl<T, F, Progress> Clone for Transition<T, F, Progress>where T: Clone, F: Clone, Progress: Clone,

source§

fn clone(&self) -> Transition<T, F, Progress>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<T, F, Progress> Debug for Transition<T, F, Progress>where T: Debug, F: Debug, Progress: Debug,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl<T, F, Progress> Default for Transition<T, F, Progress>where T: Default, F: Default, Progress: Zero,

source§

fn default() -> Transition<T, F, Progress>

Returns the “default value” for a type. Read more
source§

impl<'de, T, F, Progress> Deserialize<'de> for Transition<T, F, Progress>where T: Deserialize<'de>, F: Deserialize<'de>, Progress: Deserialize<'de>,

source§

fn deserialize<__D>( __deserializer: __D ) -> Result<Transition<T, F, Progress>, <__D as Deserializer<'de>>::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<T, F, Progress> From<Range<T>> for Transition<T, F, Progress>where F: Default, Progress: Zero,

source§

fn from(r: Range<T>) -> Transition<T, F, Progress>

Converts to this type from the input type.
source§

impl<T, F, Progress> Hash for Transition<T, F, Progress>where T: Hash, F: Hash, Progress: Hash,

source§

fn hash<__H>(&self, state: &mut __H)where __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<T, F, Progress> PartialEq<Transition<T, F, Progress>> for Transition<T, F, Progress>where T: PartialEq<T>, F: PartialEq<F>, Progress: PartialEq<Progress>,

source§

fn eq(&self, other: &Transition<T, F, Progress>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<T, F, Progress> Serialize for Transition<T, F, Progress>where T: Serialize, F: Serialize, Progress: Serialize,

source§

fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<T, F, Progress> Copy for Transition<T, F, Progress>where T: Copy, F: Copy, Progress: Copy,

source§

impl<T, F, Progress> Eq for Transition<T, F, Progress>where T: Eq, F: Eq, Progress: Eq,

source§

impl<T, F, Progress> StructuralEq for Transition<T, F, Progress>

source§

impl<T, F, Progress> StructuralPartialEq for Transition<T, F, Progress>