diff --git a/hoot-core/src/main/cpp/hoot/core/io/OsmXmlReader.h b/hoot-core/src/main/cpp/hoot/core/io/OsmXmlReader.h
index 4464a0a..eef2145 100644
--- a/hoot-core/src/main/cpp/hoot/core/io/OsmXmlReader.h
+++ b/hoot-core/src/main/cpp/hoot/core/io/OsmXmlReader.h
@@ -31,7 +31,7 @@
#include <hoot/core/elements/Tags.h>
#include <hoot/core/io/PartialOsmMapReader.h>
#include <hoot/core/util/Units.h>
-#include <hoot/core/ops/Boundable.h>
+#include <hoot/core/util/Boundable.h>
#include <hoot/core/util/Configurable.h>
// Qt
@@ -121,6 +121,11 @@ public:
virtual void setConfiguration(const Settings& conf) override;
+ // Its possible we may want to move this method and the ones for all other classes using it up
+ // to OsmMapReader;
+ void setKeepImmediatelyConnectedWaysOutsideBounds(bool keep)
+ { _keepImmediatelyConnectedWaysOutsideBounds = keep; }
+
private:
bool _osmFound;
@@ -170,6 +175,8 @@ private:
long _statusUpdateInterval;
geos::geom::Envelope _bounds;
+ // only valid is _bounds is not null
+ bool _keepImmediatelyConnectedWaysOutsideBounds;
void _createNode(const QXmlAttributes& attributes);
void _createWay(const QXmlAttributes& attributes);
@@ -196,6 +203,8 @@ private:
QXmlAttributes _streamAttributesToAttributes(const QXmlStreamAttributes& streamAttributes);
void _uncompressInput();
+
+ void _cropToBounds();
};
}