Sketcher: SketchObject partially redundant status
This commit is contained in:
committed by
abdullahtahiriyo
parent
a3c1010800
commit
b01313c0d8
@@ -245,9 +245,11 @@ void SketchObject::retrieveSolverDiagnostics()
|
||||
{
|
||||
lastHasConflict = solvedSketch.hasConflicts();
|
||||
lastHasRedundancies = solvedSketch.hasRedundancies();
|
||||
lastHasPartialRedundancies = solvedSketch.hasPartialRedundancies();
|
||||
lastHasMalformedConstraints = solvedSketch.hasMalformedConstraints();
|
||||
lastConflicting=solvedSketch.getConflicting();
|
||||
lastRedundant=solvedSketch.getRedundant();
|
||||
lastPartiallyRedundant=solvedSketch.getPartiallyRedundant();
|
||||
lastMalformedConstraints=solvedSketch.getMalformedConstraints();
|
||||
}
|
||||
|
||||
@@ -314,6 +316,10 @@ int SketchObject::solve(bool updateGeoAfterSolving/*=true*/)
|
||||
Base::Console().Error("Sketch %s has malformed constraints!\n",this->getNameInDocument());
|
||||
}
|
||||
|
||||
if(lastHasPartialRedundancies) {
|
||||
Base::Console().Warning("Sketch %s has partially redundant constraints!\n",this->getNameInDocument());
|
||||
}
|
||||
|
||||
lastSolveTime=solvedSketch.getSolveTime();
|
||||
|
||||
if (err == 0 && updateGeoAfterSolving) {
|
||||
@@ -656,7 +662,7 @@ int SketchObject::setUpSketch()
|
||||
|
||||
retrieveSolverDiagnostics();
|
||||
|
||||
if(lastHasRedundancies || lastDoF < 0 || lastHasConflict || lastHasMalformedConstraints)
|
||||
if(lastHasRedundancies || lastDoF < 0 || lastHasConflict || lastHasMalformedConstraints || lastHasPartialRedundancies)
|
||||
Constraints.touch();
|
||||
|
||||
return lastDoF;
|
||||
|
||||
@@ -350,6 +350,8 @@ public:
|
||||
inline bool getLastHasConflicts() const {return lastHasConflict;}
|
||||
/// gets HasRedundancies status of last solver execution
|
||||
inline bool getLastHasRedundancies() const {return lastHasRedundancies;}
|
||||
/// gets HasRedundancies status of last solver execution
|
||||
inline bool getLastHasPartialRedundancies() const {return lastHasPartialRedundancies;}
|
||||
/// gets HasMalformedConstraints status of last solver execution
|
||||
inline bool getLastHasMalformedConstraints() const {return lastHasMalformedConstraints;}
|
||||
/// gets solver status of last solver execution
|
||||
@@ -361,6 +363,8 @@ public:
|
||||
/// gets the redundant constraints of last solver execution
|
||||
inline const std::vector<int> &getLastRedundant(void) const { return lastRedundant; }
|
||||
/// gets the redundant constraints of last solver execution
|
||||
inline const std::vector<int> &getLastPartiallyRedundant(void) const { return lastPartiallyRedundant; }
|
||||
/// gets the redundant constraints of last solver execution
|
||||
inline const std::vector<int> &getLastMalformedConstraints(void) const { return lastMalformedConstraints; }
|
||||
|
||||
public: /* Solver exposed interface */
|
||||
@@ -514,12 +518,14 @@ private:
|
||||
int lastDoF;
|
||||
bool lastHasConflict;
|
||||
bool lastHasRedundancies;
|
||||
bool lastHasPartialRedundancies;
|
||||
bool lastHasMalformedConstraints;
|
||||
int lastSolverStatus;
|
||||
float lastSolveTime;
|
||||
|
||||
std::vector<int> lastConflicting;
|
||||
std::vector<int> lastRedundant;
|
||||
std::vector<int> lastPartiallyRedundant;
|
||||
std::vector<int> lastMalformedConstraints;
|
||||
|
||||
boost::signals2::scoped_connection constraintsRenamedConn;
|
||||
|
||||
Reference in New Issue
Block a user