Salome HOME
Implementation of task "3.1. Ability to export the PartSet to GEOM"
[modules/shaper.git] / src / Selector / Selector_Algo.h
index 97eb30a491490a940df6ba120f8846ee114011f4..ad512aad964fe2d6f9332b5fdaf09f4f6d9eb9a3 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2017  CEA/DEN, EDF R&D
+// Copyright (C) 2014-2019  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 //
 // 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 Selector_Algo_H_
@@ -99,8 +98,8 @@ public:
   /// Returns not empty label of the context.
   SELECTOR_EXPORT static Selector_Algo* restoreByName(
     TDF_Label theLab, TDF_Label theBaseDocLab, std::string theName,
-    const TopAbs_ShapeEnum theShapeType, Selector_NameGenerator* theNameGenerator,
-    TDF_Label& theContextLab);
+    const TopAbs_ShapeEnum theShapeType, const bool theGeomNaming,
+    Selector_NameGenerator* theNameGenerator, TDF_Label& theContextLab);
 
   /// Returns true if the given shapes are based on the same geometry
   static bool sameGeometry(const TopoDS_Shape theShape1, const TopoDS_Shape theShape2);
@@ -163,6 +162,10 @@ protected:
   }
   /// Stores the type of an algorithm in the data tree (in myLab)
   void storeType(const Selector_Type theType);
+
+  /// Searches the newer version of the shape in the document if the base shape does not
+  /// belong to context. Returns it in theResult (if any). Returns true is theResult is changed.
+  bool findNewVersion(const TopoDS_Shape& theContext, TopoDS_Shape& theResult) const;
 };
 
 #endif