pub struct NodeReport {
pub node: usize,
pub covariance: Matrix6<f64>,
pub determined: bool,
}Expand description
How well the survey determines one station.
The covariance is reported and the readings are derived from it, rather than the other way round, because the frame it is in is the caller’s business. A graph built in coordinates conjugated onto the survey — which is what anything georeferenced has to do — gets marginals in those coordinates, and only the caller knows how to carry them back.
Fields§
§node: usizeIts position in PoseGraph::poses.
covariance: Matrix6<f64>The marginal covariance of this station’s pose, ξ = [ρ; φ],
relative to the anchor.
determined: boolWhether the survey determines this station at all.
False when some direction of it lies in the null space of the normal equations — nothing joins it to the anchor, or nothing measures one of its degrees of freedom. The covariance is then meaningless rather than large, and the readings below say so by returning infinity.
Implementations§
Source§impl NodeReport
impl NodeReport
Sourcepub fn position_covariance(&self) -> Matrix3<f64>
pub fn position_covariance(&self) -> Matrix3<f64>
The 3×3 marginal covariance of position.
Sourcepub fn position(&self) -> (f64, Vector3<f64>)
pub fn position(&self) -> (f64, Vector3<f64>)
Standard deviation along the worst-determined direction of position, metres, and the direction itself.
Sourcepub fn orientation(&self) -> f64
pub fn orientation(&self) -> f64
Standard deviation about the worst-determined axis, radians.
Trait Implementations§
Source§impl Clone for NodeReport
impl Clone for NodeReport
Source§fn clone(&self) -> NodeReport
fn clone(&self) -> NodeReport
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for NodeReport
Source§impl Debug for NodeReport
impl Debug for NodeReport
Source§impl PartialEq for NodeReport
impl PartialEq for NodeReport
impl StructuralPartialEq for NodeReport
Auto Trait Implementations§
impl Freeze for NodeReport
impl RefUnwindSafe for NodeReport
impl Send for NodeReport
impl Sync for NodeReport
impl Unpin for NodeReport
impl UnsafeUnpin for NodeReport
impl UnwindSafe for NodeReport
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
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> ⓘ
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> 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>
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.