pub struct SolveReport {
pub converged: bool,
pub max_residual: Scalar,
pub iterations: usize,
pub phases: Vec<Phase>,
pub dof: usize,
pub free_points: BTreeMap<PointId, bool>,
pub free_curves: BTreeMap<CurveId, bool>,
pub failed_constraints: Vec<ConstraintId>,
pub unproven: Vec<String>,
}Expand description
The outcome of a solve.
Fields§
§converged: boolEvery constraint holds (to
geop_core_math::solvers::system::RELATIVE_TOLERANCE of the
sketch size).
max_residual: ScalarLargest remaining constraint residual, in sketch units: an upper bound.
iterations: usize§phases: Vec<Phase>Each minimization of the solve.
dof: usizeRemaining degrees of freedom: variables minus independent
constraints — which are independent decided over the box an
enclosure of the solution chose them over (see
geop_core_math::solvers::system::System::freedom).
free_points: BTreeMap<PointId, bool>Per point: whether it can still move without violating a constraint.
free_curves: BTreeMap<CurveId, bool>Per curve: whether any of its points or its own sweep/radius can still change.
failed_constraints: Vec<ConstraintId>The constraints left unsatisfied (conflicting or unreachable), empty
when converged.
unproven: Vec<String>Why no true solution near where the solve ended is proven, if none
is: the constraints that conflict there, by id, or what is singular
(see Sketch::enclose, which encloses it).
Trait Implementations§
Source§impl Clone for SolveReport
impl Clone for SolveReport
Source§fn clone(&self) -> SolveReport
fn clone(&self) -> SolveReport
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more