pub struct SubmapResponse {
pub width: u32,
pub height: u32,
pub resolution_m: f32,
pub cells: Vec<u8>,
}Expand description
An occupancy-grid window: row-major cells, 0..=100 + 255 = unknown.
Fields§
§width: u32§height: u32§resolution_m: f32§cells: Vec<u8>Trait Implementations§
Source§impl Clone for SubmapResponse
impl Clone for SubmapResponse
Source§fn clone(&self) -> SubmapResponse
fn clone(&self) -> SubmapResponse
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl ContractBody for SubmapResponse
impl ContractBody for SubmapResponse
Source§const NAME: &'static str = "v0.1::map::SubmapResponse"
const NAME: &'static str = "v0.1::map::SubmapResponse"
The version-qualified type identity: the dotted wire revision, then the
::-joined node path
(dynamic-node vars are topic params, never type-path segments), then
the PascalCase type leaf, e.g. "v0.1::drive::Target" or
"v0.1::component::motor::Command". This is the contract’s source
identity (D1) - two contracts interoperate iff they share this exact
name - as distinct from TOPIC, the resolved
wire key derived from it. NAME is exactly the "::"-join of
VERSION and
CONTRACT; it stays available for callers
that want the whole identity as one string (e.g. display), while
consumers that must reason about the revision and the contract
independently use the two split consts instead - a joined name is not
machine-parseable without assuming the version naming scheme.Source§const VERSION: &'static str = "v0.1"
const VERSION: &'static str = "v0.1"
This body’s dotted wire revision alone, e.g.
"v0.1" - equal to
<Self::Api as ApiVersion>::ID, but exposed directly on the body so a
metadata or diagnostics recorder can const-splice it without routing
through Self::Api.
Split from CONTRACT so a consumer can read
the revision without parsing a joined name.Source§const CONTRACT: &'static str = "map::SubmapResponse"
const CONTRACT: &'static str = "map::SubmapResponse"
This body’s contract path within its own version: the
::-joined
node path (dynamic-node vars excluded, as with NAME) plus the
PascalCase type leaf, e.g. "drive::Target". The logical
contract - stable across a version bump - is this value alone;
pairing it with VERSION recovers the
full version-qualified identity (NAME).Source§const TOPIC: &'static str = "v0.1/map/submap"
const TOPIC: &'static str = "v0.1/map/submap"
The version-qualified wire key: the dotted wire revision, then the
/-joined node path plus the topic leaf, with each dynamic node
contributing a {var} placeholder, e.g. "v0.1/drive/state" or
"v0.1/component/{instance}/motor/{capability}/command". The concrete
key is produced by the api-local topic builder, which fills the
placeholders.Source§impl Debug for SubmapResponse
impl Debug for SubmapResponse
Source§impl<'de> Deserialize<'de> for SubmapResponse
impl<'de> Deserialize<'de> for SubmapResponse
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for SubmapResponse
impl PartialEq for SubmapResponse
Source§impl Serialize for SubmapResponse
impl Serialize for SubmapResponse
impl StructuralPartialEq for SubmapResponse
Auto Trait Implementations§
impl Freeze for SubmapResponse
impl RefUnwindSafe for SubmapResponse
impl Send for SubmapResponse
impl Sync for SubmapResponse
impl Unpin for SubmapResponse
impl UnsafeUnpin for SubmapResponse
impl UnwindSafe for SubmapResponse
Blanket Implementations§
Source§impl<Source> AccessAs for Source
impl<Source> AccessAs for Source
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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