Skip to content

v0.2.53..v0.2.54 changeset RemoveElementByEid.h

Garret Voltz edited this page Mar 31, 2020 · 1 revision
diff --git a/hoot-core/src/main/cpp/hoot/core/ops/RemoveElementByEid.h b/hoot-core/src/main/cpp/hoot/core/ops/RemoveElementByEid.h
index 73dd654..af3f71e 100644
--- a/hoot-core/src/main/cpp/hoot/core/ops/RemoveElementByEid.h
+++ b/hoot-core/src/main/cpp/hoot/core/ops/RemoveElementByEid.h
@@ -22,7 +22,7 @@
  * This will properly maintain the copyright information. DigitalGlobe
  * copyrights will be updated automatically.
  *
- * @copyright Copyright (C) 2016, 2017, 2018, 2019 DigitalGlobe (http://www.digitalglobe.com/)
+ * @copyright Copyright (C) 2016, 2017, 2018, 2019, 2020 DigitalGlobe (http://www.digitalglobe.com/)
  */
 #ifndef REMOVEELEMENTBYEID_H
 #define REMOVEELEMENTBYEID_H
@@ -113,13 +113,29 @@ public:
    */
   static void removeElementNoCheck(OsmMapPtr map, ElementId eId);
 
+  /**
+   * @brief removeElement Removes an element from a map only if it does not have a prent element.
+   *
+   * If this element contains children (e.g. multipolygon) the children will not be removed from
+   * the map.
+   *
+   * @param map to operate on
+   * @param eId ID of the element to remove
+   */
+  static void removeUnusedElementsOnly(OsmMapPtr map, ElementId eId);
+
   virtual QString getDescription() const override
   { return "Removes a single element by element ID"; }
 
+  void setRemoveNodeFully(bool remove) { _removeNodeFully = remove; }
+  void setRemoveOnlyUnusedNodes(bool remove) { _removeOnlyUnusedNodes = remove; }
+
 private:
 
   ElementId _eIdToRemove;
   bool _doCheck;
+  bool _removeNodeFully;
+  bool _removeOnlyUnusedNodes;
 };
 
 }
Clone this wiki locally