Boost C++ Libraries: Ticket #11233: User defined spatial predicate within Boost Geometry https://svn.boost.org/trac10/ticket/11233 <p> I need to determine whether the interiors of two geometries intersect. An <a class="missing wiki">InteriorsIntersect</a> predicate is not specified by OGC or Boost Geometry but is defined by the DE-9IM matrix: </p> <pre class="wiki"> T * * * * * * * * </pre><p> I've created my own predicate using the relate function in Boost Geometry. </p> <pre class="wiki">namespace bgr = boost::geometry::detail::relate; using InteriorsIntersectMask = bgr::static_mask&lt;'T','*','*','*','*','*','*','*','*'&gt;; template&lt;typename Geom1, typename Geom2&gt; inline bool interiorsIntersect(const Geom1&amp; geom1, const Geom2&amp; geom2) { return bgr::relate&lt;InteriorsIntersectMask&gt;(geom1, geom2); } </pre><p> 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. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/11233 Trac 1.4.3 awulkiew Sun, 26 Apr 2015 14:27:55 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/11233#comment:1 https://svn.boost.org/trac10/ticket/11233#comment:1 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">duplicate</span> </li> </ul> <p> A duplicate of: <a class="ext-link" href="https://svn.boost.org/trac/boost/ticket/11232"><span class="icon">​</span>https://svn.boost.org/trac/boost/ticket/11232</a> </p> Ticket