From 166575411d9c393649d91e03047f1486ab963736 Mon Sep 17 00:00:00 2001
From: Daniel Arndt <arndtd@ornl.gov>
Date: Thu, 2 Apr 2020 13:55:33 -0400
Subject: [PATCH] Minimize boost/geometry.h includes

---
 include/deal.II/boost_adaptors/bounding_box.h | 2 --
 include/deal.II/boost_adaptors/point.h        | 3 ---
 include/deal.II/boost_adaptors/segment.h      | 2 +-
 include/deal.II/numerics/rtree.h              | 5 ++++-
 source/grid/grid_tools_cache.cc               | 2 --
 tests/base/point_04.cc                        | 2 --
 tests/boost/bounding_box_adaptor_01.cc        | 2 ++
 tests/boost/point_adaptor_01.cc               | 3 +++
 tests/boost/rtree_01.cc                       | 3 +++
 9 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/include/deal.II/boost_adaptors/bounding_box.h b/include/deal.II/boost_adaptors/bounding_box.h
index 45876c52df..68b29cf93f 100644
--- a/include/deal.II/boost_adaptors/bounding_box.h
+++ b/include/deal.II/boost_adaptors/bounding_box.h
@@ -22,8 +22,6 @@
 
 #include <deal.II/boost_adaptors/point.h>
 
-#include <boost/geometry.hpp>
-#include <boost/geometry/geometries/geometries.hpp>
 
 namespace boost
 {
diff --git a/include/deal.II/boost_adaptors/point.h b/include/deal.II/boost_adaptors/point.h
index b0691ca943..f60bb62c1e 100644
--- a/include/deal.II/boost_adaptors/point.h
+++ b/include/deal.II/boost_adaptors/point.h
@@ -20,9 +20,6 @@
 
 #include <deal.II/base/point.h>
 
-#include <boost/geometry.hpp>
-
-
 namespace boost
 {
   namespace geometry
diff --git a/include/deal.II/boost_adaptors/segment.h b/include/deal.II/boost_adaptors/segment.h
index f61f9769b2..97ad3201f7 100644
--- a/include/deal.II/boost_adaptors/segment.h
+++ b/include/deal.II/boost_adaptors/segment.h
@@ -22,7 +22,7 @@
 
 #include <deal.II/boost_adaptors/point.h>
 
-#include <boost/geometry.hpp>
+#include <boost/geometry/geometries/segment.hpp>
 
 DEAL_II_NAMESPACE_OPEN
 
diff --git a/include/deal.II/numerics/rtree.h b/include/deal.II/numerics/rtree.h
index 5f8d80cb84..3a90eedd3d 100644
--- a/include/deal.II/numerics/rtree.h
+++ b/include/deal.II/numerics/rtree.h
@@ -24,7 +24,10 @@
 #include <deal.II/boost_adaptors/point.h>
 #include <deal.II/boost_adaptors/segment.h>
 
-#include <boost/geometry.hpp>
+DEAL_II_DISABLE_EXTRA_DIAGNOSTICS
+#include <boost/geometry/index/rtree.hpp>
+#include <boost/geometry/strategies/strategies.hpp>
+DEAL_II_ENABLE_EXTRA_DIAGNOSTICS
 
 #include <memory>
 
diff --git a/source/grid/grid_tools_cache.cc b/source/grid/grid_tools_cache.cc
index 938ca9d725..6b3d842a87 100644
--- a/source/grid/grid_tools_cache.cc
+++ b/source/grid/grid_tools_cache.cc
@@ -20,8 +20,6 @@
 #include <deal.II/grid/grid_tools.h>
 #include <deal.II/grid/grid_tools_cache.h>
 
-#include <boost/geometry.hpp>
-
 DEAL_II_NAMESPACE_OPEN
 
 namespace GridTools
diff --git a/tests/base/point_04.cc b/tests/base/point_04.cc
index 7a7c8eaae4..91d3b207cc 100644
--- a/tests/base/point_04.cc
+++ b/tests/base/point_04.cc
@@ -20,8 +20,6 @@
 
 #include <deal.II/lac/vector.h>
 
-#include <boost/geometry.hpp>
-
 #include "../tests.h"
 
 namespace bg = boost::geometry;
diff --git a/tests/boost/bounding_box_adaptor_01.cc b/tests/boost/bounding_box_adaptor_01.cc
index 6d25b7a198..5a866328bb 100644
--- a/tests/boost/bounding_box_adaptor_01.cc
+++ b/tests/boost/bounding_box_adaptor_01.cc
@@ -17,6 +17,8 @@
 
 #include <deal.II/boost_adaptors/bounding_box.h>
 
+#include <boost/geometry/algorithms/equals.hpp>
+
 #include "../tests.h"
 
 namespace bg = boost::geometry;
diff --git a/tests/boost/point_adaptor_01.cc b/tests/boost/point_adaptor_01.cc
index ebb17e0c6f..4eec9fbf23 100644
--- a/tests/boost/point_adaptor_01.cc
+++ b/tests/boost/point_adaptor_01.cc
@@ -17,6 +17,9 @@
 
 #include <deal.II/boost_adaptors/point.h>
 
+#include <boost/geometry/algorithms/equals.hpp>
+#include <boost/geometry/algorithms/make.hpp>
+
 #include "../tests.h"
 
 namespace bg = boost::geometry;
diff --git a/tests/boost/rtree_01.cc b/tests/boost/rtree_01.cc
index 56b2711fe8..4acfd6a64d 100644
--- a/tests/boost/rtree_01.cc
+++ b/tests/boost/rtree_01.cc
@@ -19,6 +19,9 @@
 
 #include <deal.II/boost_adaptors/point.h>
 
+#include <boost/geometry/index/rtree.hpp>
+#include <boost/geometry/strategies/strategies.hpp>
+
 #include <algorithm>
 
 #include "../tests.h"
-- 
2.39.5