pub struct RegisterReport {
pub placement: Placement,
pub rmse: f64,
pub iterations: usize,
pub converged: bool,
pub status: IcpStatus,
pub applied: bool,
pub not_applied: Option<NotApplied>,
pub max_rmse: f64,
pub samples: usize,
pub inliers: usize,
pub conditioning: f64,
pub undetermined: Vec<IcpMotion>,
}Expand description
What Scene::register found.
Fields§
§placement: PlacementThe moving mesh’s aligned placement, with its scale unchanged: the converged result, or the best estimate when it did not converge.
rmse: f64The root mean square distance, in world units, from the used points to
the fixed mesh at placement; infinite when no point has a
correspondence.
iterations: usizeSolver steps taken.
converged: boolWhether the iteration settled and the data determine every motion
locally (fast_mesh_ops::icp() tests this by restarting from displaced
poses). That is not proof of the right alignment, since ICP is local and
can settle in a wrong minimum: judge that from rmse.
status: IcpStatusWhy iteration stopped.
applied: boolWhether placement was set on the moving mesh.
not_applied: Option<NotApplied>Why it was not; None exactly when applied.
max_rmse: f64The rmse limit that applied, in world units.
samples: usizeSurface points of the moving mesh sampled.
inliers: usizeSampled points used at placement: the rest were trimmed or out of
range.
conditioning: f64A warning of a weak motion, from geometry alone; see
fast_mesh_ops::IcpReport::conditioning.
undetermined: Vec<IcpMotion>The motions the data do not determine, in world coordinates; non-empty
only with IcpStatus::Underconstrained. The pose along them is
arbitrary.
Trait Implementations§
Source§impl Clone for RegisterReport
impl Clone for RegisterReport
Source§fn clone(&self) -> RegisterReport
fn clone(&self) -> RegisterReport
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more