pub struct AssemblySolution {
pub poses: Vec<BodyPose>,
pub mate_residuals: Vec<MateResidualReport>,
pub max_residual: f64,
pub iterations: usize,
pub strategy: String,
pub steps: Vec<SolveStepReport>,
pub residual_rows_evaluated: usize,
pub dof: usize,
pub rank: usize,
pub redundant: usize,
pub status: String,
}Fields§
§poses: Vec<BodyPose>§mate_residuals: Vec<MateResidualReport>Per-mate worst residual, in input mate order.
max_residual: f64§iterations: usizeAccepted Levenberg-Marquardt steps (summed over sub-solves).
strategy: StringStrategy actually used: "monolithic", "decomposed", or
"monolithic_fallback" (decomposition attempted, full monolithic
rerun took over).
steps: Vec<SolveStepReport>Per-step diagnostics in execution order: which bodies/clusters were solved by which method (§7.5–7.6).
residual_rows_evaluated: usizeTotal scalar residual rows evaluated while solving (step trials plus finite-difference Jacobian columns); the work measure behind the decomposition performance guard.
dof: usizeRemaining degrees of freedom: 6·movable − rank.
rank: usizeNumerical rank of the mate Jacobian at the solution.
redundant: usizeRedundant (but consistent) constraint rows: effective rows − rank.
status: String"well", "under", or "over" (over = redundant rows exist; the
solution is still exact unless the solve returned Err).
Trait Implementations§
Source§impl Clone for AssemblySolution
impl Clone for AssemblySolution
Source§fn clone(&self) -> AssemblySolution
fn clone(&self) -> AssemblySolution
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more