pub struct Animation { /* private fields */ }Implementations§
Source§impl<'a> Animation
impl<'a> Animation
pub fn new(speed: f32, rep_after_sec: f32) -> Self
pub fn set_rep_time(&mut self, new_time: f32)
Sourcepub fn animate(
&mut self,
graph: &'a mut Box<dyn SceneNode>,
anim_idx: usize,
instance_idx: usize,
)
pub fn animate( &mut self, graph: &'a mut Box<dyn SceneNode>, anim_idx: usize, instance_idx: usize, )
This function checks whether the passed Scene Graph contains animation data and plays it
according to the time passed since this Animation struct was initialized.
Repeats the animation after 20s (TODO: make this a parameter)
TODO: interpolate similar to animate_with(...args)
Sourcepub fn animate_with(
&mut self,
graph: &'a mut Box<dyn SceneNode>,
current: &[&[usize]],
reference: &[&Instance],
idx: usize,
dt: Duration,
) -> bool
pub fn animate_with( &mut self, graph: &'a mut Box<dyn SceneNode>, current: &[&[usize]], reference: &[&Instance], idx: usize, dt: Duration, ) -> bool
This function animates a single frame with interpolation between the current position of the screne_graph and the position given in the animation List.
graph is the Scene Graph of the object to model
current is a mapping between Scene Graph nodes and the passed animation positions
reference is the desired position
idx is the index of the instance to animate
dt the duration since the last rendered frame
Auto Trait Implementations§
impl Freeze for Animation
impl RefUnwindSafe for Animation
impl Send for Animation
impl Sync for Animation
impl Unpin for Animation
impl UnsafeUnpin for Animation
impl UnwindSafe for Animation
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> 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.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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