pub struct EdgeReport {
pub edge: usize,
pub translation: f64,
pub rotation: f64,
pub cost: f64,
}Expand description
What one edge is doing after a solve.
Fields§
§edge: usizeIts position in PoseGraph::edges.
translation: f64How far apart the two ends are, metres.
rotation: f64And by what angle, radians.
cost: f64rᵀΛr: how hard this edge is pulling against the rest.
The pair of numbers is the diagnosis, not either alone. An edge that disagrees by half a metre and costs nothing is an edge whose weight along that direction was removed — it could not see along there, the survey settled by some other path, and nothing is wrong. An edge that disagrees by a millimetre and costs a great deal is a measurement in a fight it should be winning.
Trait Implementations§
Source§impl Clone for EdgeReport
impl Clone for EdgeReport
Source§fn clone(&self) -> EdgeReport
fn clone(&self) -> EdgeReport
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 moreimpl Copy for EdgeReport
Source§impl Debug for EdgeReport
impl Debug for EdgeReport
Source§impl PartialEq for EdgeReport
impl PartialEq for EdgeReport
impl StructuralPartialEq for EdgeReport
Auto Trait Implementations§
impl Freeze for EdgeReport
impl RefUnwindSafe for EdgeReport
impl Send for EdgeReport
impl Sync for EdgeReport
impl Unpin for EdgeReport
impl UnsafeUnpin for EdgeReport
impl UnwindSafe for EdgeReport
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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<T> Pointable for T
impl<T> Pointable for T
impl<T> Scalar for T
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>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.