X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchSolver%2FSolveSpaceSolver%2FSolveSpaceSolver_Solver.h;h=b804217076fd3025c91ff38a7ec3737e6f81d087;hb=28bb5c301466d4581d9a1b4aa920e0e101b8ac47;hp=c853970a34d43eb53025c67226357f489215e48f;hpb=29d446f4dd2969d80087745fe44adb5638d13de7;p=modules%2Fshaper.git diff --git a/src/SketchSolver/SolveSpaceSolver/SolveSpaceSolver_Solver.h b/src/SketchSolver/SolveSpaceSolver/SolveSpaceSolver_Solver.h index c853970a3..b80421707 100644 --- a/src/SketchSolver/SolveSpaceSolver/SolveSpaceSolver_Solver.h +++ b/src/SketchSolver/SolveSpaceSolver/SolveSpaceSolver_Solver.h @@ -41,7 +41,7 @@ typedef unsigned int UINT32; */ class SolveSpaceSolver_Solver : public SketchSolver_ISolver { - public: +public: SolveSpaceSolver_Solver(); virtual ~SolveSpaceSolver_Solver(); @@ -74,8 +74,25 @@ class SolveSpaceSolver_Solver : public SketchSolver_ISolver */ virtual SketchSolver_SolveStatus solve(); - private: + /// \brief Prepare for solving. Store initial values of parameters for undo + virtual void prepare(); + + /// \brief Revert solution to initial values + virtual void undo(); + + /// \brief Check the constraint is conflicted with others + virtual bool isConflicting(const ConstraintID& theConstraint) const; + + /// \brief Degrees of freedom + virtual int dof() const; + +private: + /// \brief Check whether degenerated arcs exist + bool hasDegeneratedArcs() const; + +private: Slvs_System myEquationsSystem; ///< set of equations for solving in SolveSpace + Slvs_Param* myParamsCopy; ///< copy of parameters }; #endif