Salome HOME
Dump with geometrical selection
[modules/shaper.git] / src / ModelHighAPI / ModelHighAPI_Dumper.h
index c034cf3011e4635ac44b2abe54ce1cac3892c2af..8cb9c5457eb0998048ed12f93aa17d42eb70dbc5 100644 (file)
@@ -86,6 +86,11 @@ public:
   /// Destructor
   virtual ~ModelHighAPI_Dumper() {}
 
+  /// Set/unset flag to dump selection attributes by geometrical properties:
+  /// inner point in the selected shape
+  void setSelectionByGeometry(bool theDumpByGeom = true)
+  { myGeometricalSelection = theDumpByGeom; }
+
   /// Dump given document into the file
   /// \return \c true, if succeed
   MODELHIGHAPI_EXPORT
@@ -321,9 +326,9 @@ private:
     {}
   };
 
-  typedef std::map<EntityPtr, EntityName>                     EntityNameMap;
-  typedef std::map<std::string, std::set<std::string> >       ModulesMap;
-  typedef std::map<DocumentPtr, std::map<std::string, int> >  NbFeaturesMap;
+  typedef std::map<EntityPtr, EntityName>                                      EntityNameMap;
+  typedef std::map<std::string, std::set<std::string> >                        ModulesMap;
+  typedef std::map<DocumentPtr, std::map<std::string, std::pair<int, int> > >  NbFeaturesMap;
 
   struct LastDumpedEntity {
     EntityPtr            myEntity;   ///< last dumped entity
@@ -332,7 +337,7 @@ private:
     std::list<ResultPtr> myResults;
 
     LastDumpedEntity(EntityPtr theEntity, bool theUserName,
-      const std::list<ResultPtr>& theResults)
+      const std::list<ResultPtr>& theResults = std::list<ResultPtr>())
       : myEntity(theEntity), myUserName(theUserName), myResults(theResults)
     {}
   };
@@ -355,6 +360,8 @@ private:
   std::list<EntityPtr> myPostponed; ///< list of postponed entities (sketch constraints or folders)
   bool myDumpPostponedInProgress; ///< processing postponed is in progress
 
+  bool myGeometricalSelection; ///< dump selection not by naming, but by coordinates of inner point
+
 protected:
   /// list of entities, used by other features but not dumped yet
   std::set<EntityPtr> myNotDumpedEntities;