id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 11232,User defined spatial predicate within Boost Geometry,Frank Hippmann ,Barend Gehrels,"I need to determine whether the interiors of two geometries intersect. An InteriorsIntersect predicate is not specified by OGC or Boost Geometry but is defined by the DE-9IM matrix: {{{ T * * * * * * * * }}} I've created my own predicate using the relate function in Boost Geometry. {{{ namespace bgr = boost::geometry::detail::relate; using InteriorsIntersectMask = bgr::static_mask<'T','*','*','*','*','*','*','*','*'>; template inline bool interiorsIntersect(const Geom1& geom1, const Geom2& geom2) { return bgr::relate(geom1, geom2); } }}} This works great. My only concern is that the relate function and static_mask type are not documented as part of the Boost Geometry API and are implementation details as far as I can tell. Is it safe to use relate in this way? Is there an alternative to achieving the same goal using Boost Geometry? Ideally I would like to see relate be an algorithm within boost/geometry/algorithms.",Feature Requests,closed,Boost 1.59.0,geometry,Boost 1.56.0,Problem,fixed,geometry relate,