pub struct InterpolationBuffer { /* private fields */ }Expand description
Interpolation buffer for a single remote entity. Stores recent state samples and provides smooth interpolation.
Implementations§
Source§impl InterpolationBuffer
impl InterpolationBuffer
pub fn new(entity_id: SyncEntityId, interp_delay_ms: u64) -> Self
pub fn entity_id(&self) -> SyncEntityId
pub fn set_interp_delay(&mut self, delay_ms: u64)
pub fn set_max_extrapolation(&mut self, max_ms: u64)
pub fn set_hermite(&mut self, enabled: bool)
pub fn sample_count(&self) -> usize
Sourcepub fn push(&mut self, sample: InterpolationSample)
pub fn push(&mut self, sample: InterpolationSample)
Add a new state sample.
Sourcepub fn sample_at(&mut self, render_time_ms: u64) -> Option<InterpolationSample>
pub fn sample_at(&mut self, render_time_ms: u64) -> Option<InterpolationSample>
Get the interpolated state at the given render time.
Sourcepub fn prune_before(&mut self, timestamp_ms: u64)
pub fn prune_before(&mut self, timestamp_ms: u64)
Remove samples older than the given timestamp.
Sourcepub fn buffered_time_ms(&self) -> u64
pub fn buffered_time_ms(&self) -> u64
Get the time span covered by buffered samples.
Auto Trait Implementations§
impl Freeze for InterpolationBuffer
impl RefUnwindSafe for InterpolationBuffer
impl Send for InterpolationBuffer
impl Sync for InterpolationBuffer
impl Unpin for InterpolationBuffer
impl UnsafeUnpin for InterpolationBuffer
impl UnwindSafe for InterpolationBuffer
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.