Salome HOME
updated copyright message
[modules/shaper.git] / src / PartSet / PartSet_OverconstraintListener.h
old mode 100755 (executable)
new mode 100644 (file)
index 639315c..c407824
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2017  CEA/DEN, EDF R&D
+// Copyright (C) 2014-2023  CEA, EDF
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -12,9 +12,9 @@
 //
 // You should have received a copy of the GNU Lesser General Public
 // License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
 #ifndef PartSet_OverconstraintListener_H
@@ -58,6 +58,24 @@ public:
   /// Redefinition of Events_Listener method
   virtual void processEvent(const std::shared_ptr<Events_Message>& theMessage);
 
+
+  bool isConflictingObject(const ObjectPtr& theObject) const
+  {
+    return (myConflictingObjects.find(theObject) != myConflictingObjects.end());
+  }
+
+  const std::set<ObjectPtr>& conflictingObjects() const
+  {
+    return myConflictingObjects;
+  }
+
+  const std::set<ObjectPtr>& objectsToRemove() const
+  {
+    return myObjectsToRemove;
+  }
+
+  bool isFullyConstrained() const { return myIsFullyConstrained; }
+
 protected:
   /// Append objects to the internal container of conflicting object, redisplay necessary objects
   /// \param theObjects a list of new conflicting objects
@@ -88,6 +106,7 @@ private:
   ModuleBase_IWorkshop* myWorkshop;
   bool myIsActive; /// state if sketch is active
   std::set<ObjectPtr> myConflictingObjects;
+  std::set<ObjectPtr> myObjectsToRemove;
   bool myIsFullyConstrained; /// state if Solver is fully constrained, DOF = 0
 };