Skip to content

v0.2.55..v0.2.56 changeset DiffConflator.h

Garret Voltz edited this page Aug 14, 2020 · 3 revisions
diff --git a/hoot-core/src/main/cpp/hoot/core/conflate/DiffConflator.h b/hoot-core/src/main/cpp/hoot/core/conflate/DiffConflator.h
index fd65640..487a373 100644
--- a/hoot-core/src/main/cpp/hoot/core/conflate/DiffConflator.h
+++ b/hoot-core/src/main/cpp/hoot/core/conflate/DiffConflator.h
@@ -82,8 +82,6 @@ class DiffConflator : public OsmMapOperation, public Serializable, public Bounda
 {
 public:
 
-  static int logWarnCount;
-
   /**
    * @brief className - Get a string that represents this class name
    * @return class name
@@ -101,7 +99,7 @@ public:
    */
   DiffConflator(const std::shared_ptr<MatchThreshold>& matchThreshold);
 
-  ~DiffConflator();
+  virtual ~DiffConflator();
 
   /**
    * @brief apply - Applies the differential conflation operation to the supplied
@@ -199,6 +197,8 @@ public:
 
 private:
 
+  static int logWarnCount;
+
   OsmMapPtr _pMap;
   geos::geom::Envelope _bounds;
   const MatchFactory& _matchFactory;
@@ -209,6 +209,10 @@ private:
   // Stores the matches we found
   std::vector<ConstMatchPtr> _matches;
 
+  // IDs of all elements involved in only intra-dataset matches
+  QSet<ElementId> _intraDatasetMatchOnlyElementIds;
+  bool _intraDatasetElementIdsPopulated;
+
   // Stores stats calcuated during conflation
   QList<SingleStat> _stats;
 
@@ -262,6 +266,9 @@ private:
   long _snapSecondaryRoadsBackToRef();
 
   void _updateProgress(const int currentStep, const QString message);
+
+  QSet<ElementId> _getElementIdsInvolvedInOnlyIntraDatasetMatches(
+    const std::vector<ConstMatchPtr>& matches);
 };
 
 }
Clone this wiki locally