Skip to content

v0.2.47..v0.2.48 changeset BuildingOutlineUpdateOp.h

Garret Voltz edited this page Sep 27, 2019 · 1 revision
diff --git a/hoot-core/src/main/cpp/hoot/core/ops/BuildingOutlineUpdateOp.h b/hoot-core/src/main/cpp/hoot/core/ops/BuildingOutlineUpdateOp.h
index 637b1e3..ebf6dba 100644
--- a/hoot-core/src/main/cpp/hoot/core/ops/BuildingOutlineUpdateOp.h
+++ b/hoot-core/src/main/cpp/hoot/core/ops/BuildingOutlineUpdateOp.h
@@ -45,6 +45,9 @@ class OsmMap;
 /**
  * Goes through all building relations and updates the outline of the building by taking the union
  * of all the building parts.
+ *
+ * This class has gone through a few iterations based on user feedback and its complexity may have
+ * increased unnecessarily as a result...maybe needs some refactoring to simplify.
  */
 class BuildingOutlineUpdateOp : public OsmMapOperation, public Serializable,
   public OperationStatusInfo, public Configurable
@@ -89,18 +92,14 @@ private:
   void _unionOutline(const RelationPtr& building, const ElementPtr& element,
                      std::shared_ptr<geos::geom::Geometry>& outline);
 
-  void _extractUsedNodes(const RelationPtr& r, std::set<long>& nodes);
-  void _findOutlineDuplicate( ConstWayPtr& pOutlineWay, QHash<RelationData::Entry,
-                              WayPtr>& buildingWayLookup,
-                              std::vector<long>& removeWayIds,
-                              const RelationPtr& pOutlineHost );
-
   /**
    * Match nodes in change to nodes in reference. If there is an exact node match then change
    * "changed" by replacing the nodes with the equivalent nodes in reference.
    */
   void _mergeNodes(const std::shared_ptr<Element>& changed,
                    const RelationPtr& reference);
+  void _updateMultipolyWayMembers(
+    WayPtr& pOutlineWay, QHash<RelationData::Entry,WayPtr>& buildingWayLookup);
 
   void _deleteBuildingRelations();
 };
Clone this wiki locally