From a3c101080099d2fc31b400f2cd0324785389453c Mon Sep 17 00:00:00 2001 From: Abdullah Tahiri Date: Tue, 19 Jan 2021 11:25:37 +0100 Subject: [PATCH] Sketcher: Sketch retrieve partially redundant constraints --- src/Mod/Sketcher/App/Sketch.cpp | 4 ++++ src/Mod/Sketcher/App/Sketch.h | 3 +++ 2 files changed, 7 insertions(+) diff --git a/src/Mod/Sketcher/App/Sketch.cpp b/src/Mod/Sketcher/App/Sketch.cpp index 4027a40321..5525bc837c 100644 --- a/src/Mod/Sketcher/App/Sketch.cpp +++ b/src/Mod/Sketcher/App/Sketch.cpp @@ -127,6 +127,7 @@ void Sketch::clear(void) ConstraintsCounter = 0; Conflicting.clear(); Redundant.clear(); + PartiallyRedundant.clear(); MalformedConstraints.clear(); } @@ -329,6 +330,7 @@ int Sketch::setUpSketch(const std::vector &GeoList, // Now we set the Sketch status with the latest solver information GCSsys.getConflicting(Conflicting); GCSsys.getRedundant(Redundant); + GCSsys.getPartiallyRedundant (PartiallyRedundant); GCSsys.getDependentParams(pDependentParametersList); calculateDependentParametersElements(); @@ -362,6 +364,7 @@ void Sketch::fixParametersAndDiagnose(std::vector ¶ms_to_block) GCSsys.initSolution(defaultSolverRedundant); /*GCSsys.getConflicting(Conflicting); GCSsys.getRedundant(Redundant); + GCSsys.getPartlyRedundant(PartiallyRedundant); GCSsys.getDependentParams(pDependentParametersList); calculateDependentParametersElements();*/ @@ -571,6 +574,7 @@ int Sketch::resetSolver() GCSsys.initSolution(defaultSolverRedundant); GCSsys.getConflicting(Conflicting); GCSsys.getRedundant(Redundant); + GCSsys.getPartiallyRedundant (PartiallyRedundant); GCSsys.getDependentParams(pDependentParametersList); calculateDependentParametersElements(); diff --git a/src/Mod/Sketcher/App/Sketch.h b/src/Mod/Sketcher/App/Sketch.h index 276e16fca9..db846229db 100644 --- a/src/Mod/Sketcher/App/Sketch.h +++ b/src/Mod/Sketcher/App/Sketch.h @@ -103,6 +103,8 @@ public: inline const std::vector &getConflicting(void) const { return Conflicting; } inline bool hasRedundancies(void) const { return !Redundant.empty(); } inline const std::vector &getRedundant(void) const { return Redundant; } + inline bool hasPartialRedundancies(void) const { return !PartiallyRedundant.empty(); } + inline const std::vector &getPartiallyRedundant(void) const { return PartiallyRedundant; } inline float getSolveTime() const { return SolveTime; } @@ -426,6 +428,7 @@ protected: int ConstraintsCounter; std::vector Conflicting; std::vector Redundant; + std::vector PartiallyRedundant; std::vector MalformedConstraints; std::vector pDependentParametersList;