Salome HOME
Delete key regression corrections: in previous implementation sketch entities did...
[modules/shaper.git] / src / SketchSolver / SketchSolver_Manager.h
index 8ceddc79aaa790fa0c49a96f9ad677b47d477108..6883cd44877d27e2eded0acde185eeb3f7ecb63d 100644 (file)
@@ -83,9 +83,9 @@ protected:
   void moveEntity(std::shared_ptr<SketchPlugin_Feature> theFeature);
 
   /** \brief Goes through the list of groups and solve the constraints
-   *  \param theForceUpdate flushes the update event in any case: something changed or not
+   *  \return \c true, if groups are resolved, and features should be updated (send the Update event)
    */
-  void resolveConstraints(const bool theForceUpdate);
+  bool resolveConstraints();
 
 private:
   /** \brief Searches list of groups which interact with specified feature
@@ -102,6 +102,12 @@ private:
   std::shared_ptr<ModelAPI_CompositeFeature> findWorkplane(
       std::shared_ptr<SketchPlugin_Feature> theFeature) const;
 
+  /// \brief Stop sending the Update event until all features updated
+  /// \return \c true, if the last flushed event is Update
+  bool stopSendUpdate() const;
+  /// \brief Allow to send the Update event
+  void allowSendUpdate() const;
+
 private:
   static SketchSolver_Manager*     mySelf;    ///< Self pointer to implement singleton functionality
   std::vector<SketchSolver_Group*> myGroups;  ///< Groups of constraints