pub struct RootTrack {
pub keys: Vec<RootKey>,
}Expand description
The displacement curve of one clip, in the mesh’s model space. Keys are in ascending time order (the build bakes them from the root joint’s keyframe track, so they inherit its ordering).
Fields§
§keys: Vec<RootKey>Curve keys, in ascending time order.
Implementations§
Source§impl RootTrack
impl RootTrack
Sourcepub fn sample(&self, t: f32) -> [f32; 3]
pub fn sample(&self, t: f32) -> [f32; 3]
The curve’s translation at clip-local time t, clamped to the key
range; between keys the translation lerps.
Sourcepub fn delta(&self, t0: f32, t1: f32, duration: f32, looping: bool) -> [f32; 3]
pub fn delta(&self, t0: f32, t1: f32, duration: f32, looping: bool) -> [f32; 3]
The displacement covered between two unwrapped clip times
(t0 <= t1, in the same seconds the clip clock runs on). A looping
clip adds one full per-cycle displacement for every wrap crossed, so a
multi-loop frame (or a long hitch) loses no ground; a non-looping clip
clamps both ends.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RootTrack
impl RefUnwindSafe for RootTrack
impl Send for RootTrack
impl Sync for RootTrack
impl Unpin for RootTrack
impl UnsafeUnpin for RootTrack
impl UnwindSafe for RootTrack
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
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 moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().