Salome HOME
Remove extra files
[modules/shaper.git] / src / SketchSolver / SketchSolver_Group.h
index f814dda84a19e87a8586fd46197b8c8a0a46070b..9312c6a5a0a43eb5bedfd788fd0c70d4f2f37347 100644 (file)
@@ -81,8 +81,9 @@ class SketchSolver_Group
   /** \brief Updates the data corresponding the specified feature moved in GUI.
    *         Additional Fixed constraints are created.
    *  \param[in] theFeature the feature to be updated
+   *  \return \c true, if the feature is moved
    */
-  void moveFeature(FeaturePtr theFeature);
+  bool moveFeature(FeaturePtr theFeature);
 
   /** \brief Verifies the feature attributes are used in this group
    *  \param[in] theFeature constraint or any other object for verification of interaction
@@ -103,7 +104,8 @@ class SketchSolver_Group
   }
 
   /** \brief Update parameters of workplane. Should be called when Update event is coming.
-   *  \return \c true if workplane updated successfully, \c false if workplane parameters are not consistent
+   *  \return \c true if workplane updated successfully, 
+   *  \c false if workplane parameters are not consistent
    */
   bool updateWorkplane();
 
@@ -117,7 +119,8 @@ class SketchSolver_Group
    */
   void mergeGroups(const SketchSolver_Group& theGroup);
 
-  /** \brief Cut from the group several subgroups, which are not connected to the current one by any constraint
+  /** \brief Cut from the group several subgroups, which are not connected to 
+   * the current one by any constraint
    *  \param[out] theCuts enlarge this list by newly created groups
    */
   void splitGroup(std::list<SketchSolver_Group*>& theCuts);
@@ -155,19 +158,26 @@ private:
   /// \brief Verifies is the feature valid
   bool checkFeatureValidity(FeaturePtr theFeature);
 
+  /// \brief Notify all interested constraints that coincidence appears or removed
+  /// \param[in] theCoincidence  coincidence constraint
+  void notifyCoincidenceChanged(SolverConstraintPtr theCoincidence);
+
 private:
   GroupID  myID; ///< Index of the group
   EntityID myWorkplaneID; ///< Index of workplane, the group is based on
   CompositeFeaturePtr mySketch; ///< Sketch is equivalent to workplane
   ConstraintConstraintMap myConstraints; ///< List of constraints
   std::set<SolverConstraintPtr> myTempConstraints; ///< List of temporary constraints
-  std::map<AttributePtr, SolverConstraintPtr> myParametricConstraints; ///< List of parametric constraints
+
+  /// List of parametric constraints
+  std::map<AttributePtr, SolverConstraintPtr> myParametricConstraints; 
 
   StoragePtr myStorage; ///< Container for the set of SolveSpace constraints and their entities
 
   SolverPtr mySketchSolver;  ///< Solver for set of equations obtained by constraints
 
-  SketchSolver_SolveStatus myPrevResult; ///< Result of previous solution of the set of constraints
+  /// Result of previous solution of the set of constraints
+  SketchSolver_SolveStatus myPrevResult; 
   std::set<ObjectPtr>      myConflictingConstraints; ///< List of conflicting constraints
 };