X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchSolver%2FSketchSolver_ISolver.h;h=cd525405737336e56b39985edd012189e9797934;hb=801131b41013eeb97fe917311b47bff78fb86d86;hp=19c2c5e22565d2f6cb72cfa928f966e1e7c17523;hpb=29f1c8ff3eb53f7ba5dd54ead45d3e55775e5968;p=modules%2Fshaper.git diff --git a/src/SketchSolver/SketchSolver_ISolver.h b/src/SketchSolver/SketchSolver_ISolver.h index 19c2c5e22..cd5254057 100644 --- a/src/SketchSolver/SketchSolver_ISolver.h +++ b/src/SketchSolver/SketchSolver_ISolver.h @@ -16,7 +16,8 @@ enum SketchSolver_SolveStatus { STATUS_OK, STATUS_INCONSISTENT, STATUS_EMPTYSET, - STATUS_FAILED // set if no one other status is applicable + STATUS_FAILED, // set if no one other status is applicable + STATUS_UNKNOWN // set for newly created groups }; @@ -46,6 +47,12 @@ public: /// \brief Revert solution to initial values virtual void undo() = 0; + /// \brief Check the constraint is conflicted with others + virtual bool isConflicting(const ConstraintID& theConstraint) const = 0; + + /// \brief Degrees of freedom + virtual int dof() const = 0; + protected: GroupID myGroup; ///< ID of the group to be solved bool myFindFaileds; ///< flag to find conflicting or inappropriate constraints