16 #ifndef dealii_numerics_rtree_h 17 #define dealii_numerics_rtree_h 19 #include <deal.II/base/config.h> 21 #include <deal.II/base/point.h> 23 #include <deal.II/boost_adaptors/bounding_box.h> 24 #include <deal.II/boost_adaptors/point.h> 25 #include <deal.II/boost_adaptors/segment.h> 27 #include <boost/geometry.hpp> 32 DEAL_II_NAMESPACE_OPEN
129 template <
typename LeafType,
130 typename IndexType = boost::geometry::index::linear<16>>
131 using RTree = boost::geometry::index::rtree<LeafType, IndexType>;
143 template <
typename IndexType = boost::geometry::index::linear<16>,
144 typename LeafTypeIterator>
145 RTree<typename LeafTypeIterator::value_type, IndexType>
146 pack_rtree(
const LeafTypeIterator &begin,
const LeafTypeIterator &end);
158 template <
typename IndexType = boost::geometry::index::linear<16>,
159 typename ContainerType>
160 RTree<typename ContainerType::value_type, IndexType>
161 pack_rtree(
const ContainerType &container);
167 template <
typename IndexType,
typename LeafTypeIterator>
168 RTree<typename LeafTypeIterator::value_type, IndexType>
169 pack_rtree(
const LeafTypeIterator &begin,
const LeafTypeIterator &end)
171 return RTree<typename LeafTypeIterator::value_type, IndexType>(begin, end);
176 template <
typename IndexType,
typename ContainerType>
177 RTree<typename ContainerType::value_type, IndexType>
178 pack_rtree(
const ContainerType &container)
180 return pack_rtree<IndexType>(container.begin(), container.end());
185 DEAL_II_NAMESPACE_CLOSE