Skip to main content

TracesCollection

Struct TracesCollection 

Source
pub struct TracesCollection {
    pub max_points: usize,
    pub points_bounds: (usize, usize),
    pub max_age_secs: f64,
    pub max_age_bounds: (f64, f64),
    pub hover_trace: Option<Vec<TraceRef>>,
    /* private fields */
}
Expand description

Collection of all traces with their data.

Fields§

§max_points: usize§points_bounds: (usize, usize)§max_age_secs: f64

Maximum age in seconds for retained points. 0.0 disables time-based pruning.

§max_age_bounds: (f64, f64)

Slider bounds for max_age_secs.

§hover_trace: Option<Vec<TraceRef>>

Implementations§

Source§

impl TracesCollection

Source

pub fn new(rx: Receiver<PlotCommand>) -> Self

Source

pub fn set_rx(&mut self, rx: Receiver<PlotCommand>)

Source

pub fn set_pending_style(&mut self, name: &str, look: TraceLook, offset: f64)

Store a pending style for a trace that may not exist yet. When the trace is created from incoming data, this style will be applied instead of the default palette color.

Source

pub fn update(&mut self) -> Vec<TraceRef>

Source

pub fn take_snapshot(&mut self)

Source

pub fn clear_snapshot(&mut self)

Source

pub fn has_snapshot(&self) -> bool

Source

pub fn clear_trace(&mut self, name: &TraceRef)

Source

pub fn clear_all(&mut self)

Source

pub fn remove_trace(&mut self, name: &TraceRef)

Source

pub fn get_trace_or_new(&mut self, name: &TraceRef) -> &mut TraceData

Source

pub fn get_points( &self, name: &TraceRef, snapshot: bool, ) -> Option<VecDeque<[f64; 2]>>

Source

pub fn get_points_ref( &self, name: &TraceRef, snapshot: bool, ) -> Option<&VecDeque<[f64; 2]>>

Return a reference to the point buffer without cloning. When snapshot is true, returns the snapshot buffer if available, otherwise falls back to the live buffer.

Source

pub fn get_drawn_points_decimated( &self, name: &TraceRef, snapshot: bool, bounds: (f64, f64), max_pts: usize, ) -> Option<Vec<[f64; 2]>>

Return decimated points for a trace, filtering by x-bounds and reducing to at most max_pts points. This avoids cloning the full VecDeque — it iterates in-place and collects only the kept points into a Vec.

Source

pub fn get_all_points( &self, snapshot: bool, ) -> HashMap<TraceRef, VecDeque<[f64; 2]>>

Source

pub fn traces_iter(&self) -> impl Iterator<Item = (&TraceRef, &TraceData)>

Source

pub fn traces_iter_mut( &mut self, ) -> impl Iterator<Item = (&TraceRef, &mut TraceData)>

Source

pub fn get_trace(&self, name: &TraceRef) -> Option<&TraceData>

Source

pub fn get_trace_mut(&mut self, name: &TraceRef) -> Option<&mut TraceData>

Source

pub fn contains_key(&self, name: &TraceRef) -> bool

Source

pub fn keys(&self) -> impl Iterator<Item = &TraceRef>

Source

pub fn all_trace_names(&self) -> Vec<TraceRef>

Source

pub fn recolor_using_palette(&mut self)

Update every trace’s colour to match the current global palette.

This is called when the colour scheme changes so that existing traces (created before the scheme was applied) are recoloured appropriately.

Source

pub fn next_color_index(&self) -> usize

Find the first palette slot not currently used by any existing trace.

Returns the index to use for TraceLook::new(index) so that a newly created trace gets a colour that doesn’t collide with any existing trace. If all palette slots are in use, returns a sequential index (based on the current trace count) so that consecutive new traces get distinct colours that wrap around the palette, rather than all collapsing to the same colour.

Source

pub fn recolor_by_order(&mut self, order: &[TraceRef])

Recolour traces to match their position in order.

The Nth trace in order gets palette[N % palette.len()]. Traces not present in order are left unchanged.

Source

pub fn len(&self) -> usize

Source

pub fn is_empty(&self) -> bool

Trait Implementations§

Source§

impl Default for TracesCollection

Source§

fn default() -> Self

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

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

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>

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)

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)

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> Downcast for T
where T: Any,

Source§

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.
Source§

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.
Source§

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.
Source§

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.
Source§

impl<T> Downcast<T> for T

Source§

fn downcast(&self) -> &T

Source§

impl<T> DowncastSend for T
where T: Any + Send,

Source§

fn into_any_send(self: Box<T>) -> Box<dyn Any + Send>

Converts Box<Trait> (where Trait: DowncastSend) to Box<dyn Any + Send>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> NoneValue for T
where T: Default,

Source§

type NoneType = T

Source§

fn null_value() -> T

The none-equivalent value.
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<R, P> ReadPrimitive<R> for P
where R: Read + ReadEndian<P>, P: Default,

Source§

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().
Source§

fn read_from_big_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_big_endian().
Source§

fn read_from_native_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_native_endian().
Source§

impl<T, S> SimdFrom<T, S> for T
where S: Simd,

Source§

fn simd_from(value: T, _simd: S) -> T

Source§

impl<F, T, S> SimdInto<T, S> for F
where T: SimdFrom<F, S>, S: Simd,

Source§

fn simd_into(self, simd: S) -> T

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> Upcast<T> for T

Source§

fn upcast(&self) -> Option<&T>

Source§

impl<T> WasmNotSend for T
where T: Send,

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more