X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchSolver%2FSolveSpaceSolver%2FSolveSpaceSolver_Solver.h;h=b804217076fd3025c91ff38a7ec3737e6f81d087;hb=28bb5c301466d4581d9a1b4aa920e0e101b8ac47;hp=aa7729551494dcbc77fd7bd4fea9e87d9667d2c5;hpb=f387a286673e6be6e5c065f3bbf3c19ed5981a30;p=modules%2Fshaper.git diff --git a/src/SketchSolver/SolveSpaceSolver/SolveSpaceSolver_Solver.h b/src/SketchSolver/SolveSpaceSolver/SolveSpaceSolver_Solver.h index aa7729551..b80421707 100644 --- a/src/SketchSolver/SolveSpaceSolver/SolveSpaceSolver_Solver.h +++ b/src/SketchSolver/SolveSpaceSolver/SolveSpaceSolver_Solver.h @@ -74,8 +74,25 @@ public: */ 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