We're considering using Boost.Geometry in one of our projects, but we require the ability to query an index using a super set of the geometric shapes provided by the library (frustum, conical frustums and complex geometry).

We have tried implementing template specializations as discussed in this thread (http://stackoverflow.com/questions/19490435/boost-geometry-spatial-query-shapes).

namespace boost { namespace geometry {
template <typename Box> inline
bool intersects(Box const& b, MyFrustum const& f)
    // your implementation

However, compiling this provides the following error.

/usr/include/boost/geometry/core/point_type.hpp:45:5: error: no matching function for call to 'assertion_failed(mpl_::failed************ (boost::geometry::traits::point_type<MyGeometry>::NOT_IMPLEMENTED_FOR_THIS_POIN‌​T_TYPE::************)(mpl_::assert_::types<MyGeometry, mpl_::na, mpl_::na, mpl_::na>))' 

I tried digging into the source files, but my understanding of the geometry library is too limited to figure out what's going on.

Can anyone advise on how to approach the problem?