If that's the case then this means that your overloads of
bg::intersects() are not used by the compiler.
Adding new kinds of geometries and implementing algorithms for them
is more complex than writing an overload. If you want to go this way
I could guide you but in general this shouldn't be needed.
With some compilers the order of includes WRT the overloads may be
the problem. E.g. try to implement the overloads before the library
is included or instead of writing a function template (with typename
Box) write a function taking a specific box type. The R-tree uses
bg::model::box<bg::model::point<CoordinateType, Dimension,
CoordinateSystem>> where the three template attributes of
bg::model::point are taken from the Indexable. Or you could take
this type from the R-tree (it's rtree::bounds_type).
See also:
https://stackoverflow.com/questions/19490435/boost-geometry-spatial-query-shapes
I wonder if something could be done about it. Maybe I'll look into
it.
This shouldn't be needed if your overload of intersects() was used.
This is only needed if you want to add a new kind (Concept) of
Geometry.
Adam