pub struct DisplayFeed { /* private fields */ }Expand description
Event-driven display feed: collects the zone results of the session events, composes the display
(LiveDisplay: key-hash thinning, sticky voxel ownership, zone composition) and diffs it (KeyedDiff).
Use it directly (handle every event) or through NodeBuilder::display_deltas / crate::pipeline::Pipeline::derive.
Relocation of zones into the newest model’s frame is on only when a preview was received (otherwise, as in stable display,
all zone clouds already share one frame). Reset / ZoneInvalidated drop the zone’s state; the display is recomposed (and the
difference sent) at the next refined cloud.
Implementations§
Source§impl DisplayFeed
impl DisplayFeed
Sourcepub fn new(opts: LiveOptions) -> Self
pub fn new(opts: LiveOptions) -> Self
With the given composition settings (relocate is decided from the events, see above).
Sourcepub fn with_origin(self, origin: Arc<Mutex<Option<[f64; 3]>>>) -> Self
pub fn with_origin(self, origin: Arc<Mutex<Option<[f64; 3]>>>) -> Self
Shares the ENU origin slot (set by the producer of GPS fixes); the frame of the deltas is ENU once it holds a value.
Sourcepub fn set_origin(&self, origin: Option<[f64; 3]>)
pub fn set_origin(&self, origin: Option<[f64; 3]>)
Fixes the ENU origin [lat, lon, alt].
Sourcepub fn frame(&self) -> DisplayFrame
pub fn frame(&self) -> DisplayFrame
Current display frame.
Auto Trait Implementations§
impl Freeze for DisplayFeed
impl RefUnwindSafe for DisplayFeed
impl Send for DisplayFeed
impl Sync for DisplayFeed
impl Unpin for DisplayFeed
impl UnsafeUnpin for DisplayFeed
impl UnwindSafe for DisplayFeed
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T, U> Imply<T> for U
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> ⓘ
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> ⓘ
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<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.