diff --git a/_package/tests/unit_tests/geometry_tests/multi_poly_intersector_pyt.py b/_package/tests/unit_tests/geometry_tests/multi_poly_intersector_pyt.py index 56847ecd..3cfc21f7 100644 --- a/_package/tests/unit_tests/geometry_tests/multi_poly_intersector_pyt.py +++ b/_package/tests/unit_tests/geometry_tests/multi_poly_intersector_pyt.py @@ -31,11 +31,6 @@ def _run_test(self, pt1, pt2, poly_points, polys, poly_ids, t_vals, pts, startin """Runs the test.""" mpi = grid.geometry.MultiPolyIntersector(poly_points, polys, starting_id, query) - # Check some basic stuff - assert mpi.query == query - print(mpi.__str__()) - print(mpi.__repr__()) - # Traverse the line segment out_poly_ids, out_t_vals, out_pts = mpi.traverse_line_segment(pt1, pt2) @@ -132,8 +127,7 @@ def test_polygon_from_point(self): assert mpi.polygon_from_point((15, 15, 0)) == -1 assert mpi.polygon_from_point((15, 10, 0)) == 2 assert mpi.polygon_from_point((15, 5, 0)) == 2 - assert mpi.query == 'covered_by' - mpi.query = 'intersects' + mpi = grid.geometry.MultiPolyIntersector(pts, polys, query='intersects') assert mpi.polygon_from_point((5, 5, 0)) == -1 assert mpi.polygon_from_point((5, 10, 0)) == 1 assert mpi.polygon_from_point((5, 15, 0)) == 1 diff --git a/_package/xms/grid/geometry/multi_poly_intersector.py b/_package/xms/grid/geometry/multi_poly_intersector.py index 07017af0..f00c62e4 100644 --- a/_package/xms/grid/geometry/multi_poly_intersector.py +++ b/_package/xms/grid/geometry/multi_poly_intersector.py @@ -67,6 +67,7 @@ def __ne__(self, other) -> bool: result = self.__eq__(other) return not result + # Why define these? # def __repr__(self) -> str: # """Returns a string representation of the MultiPolyIntersector.""" # return "" @@ -75,16 +76,6 @@ def __ne__(self, other) -> bool: # """Returns a string representation of the MultiPolyIntersector.""" # return "" - @property - def query(self) -> str: - """The query to use ('covered_by', 'intersects').""" - return self._instance.GetQuery() - - @query.setter - def query(self, query: str): - """Set the query to use ('covered_by', 'intersects').""" - self._instance.SetQuery(query) - def traverse_line_segment(self, pt1, pt2) -> tuple[tuple[int], tuple[float], tuple[tuple[float, float, float]]]: """Intersect segment with polys and return intersected polys, t-values, and points. diff --git a/xmsgrid/geometry/GmMultiPolyIntersector.h b/xmsgrid/geometry/GmMultiPolyIntersector.h index a142f07d..dc884623 100644 --- a/xmsgrid/geometry/GmMultiPolyIntersector.h +++ b/xmsgrid/geometry/GmMultiPolyIntersector.h @@ -3,7 +3,7 @@ /// \file /// \ingroup geometry /// \copyright (C) Copyright Aquaveo 2018. Distributed under FreeBSD License -/// (See accompanying file LICENSE or https://aquaveo.com/bsd/license.txt) +/// (See accompanying file LICENSE or https://aqaveo.com/bsd/license.txt) //------------------------------------------------------------------------------ //----- Included files --------------------------------------------------------- @@ -13,7 +13,7 @@ // 5. Shared code headers #include // for XM_DISALLOW_COPY_AND_ASSIGN -#include // for BSHP +#include #include // for Pt3d //----- Namespace -------------------------------------------------------------- @@ -33,15 +33,13 @@ enum GmMultiPolyIntersectorQueryEnum { GMMPIQ_COVEREDBY, GMMPIQ_INTERSECTS }; class GmMultiPolyIntersector { public: - static BSHP New( + static boost::shared_ptr New( const std::vector& a_points, const std::vector >& a_polys, - BSHP a_sorter, + boost::shared_ptr a_sorter, int a_startingId = 1); - virtual ~GmMultiPolyIntersector(); /// \cond - virtual GmMultiPolyIntersectorQueryEnum GetQuery() const = 0; virtual void SetQuery(GmMultiPolyIntersectorQueryEnum a_query) = 0; virtual void TraverseLineSegment(double a_x1, double a_y1, @@ -72,10 +70,11 @@ class GmMultiPolyIntersector /// \endcond protected: GmMultiPolyIntersector(); + virtual ~GmMultiPolyIntersector(); private: XM_DISALLOW_COPY_AND_ASSIGN(GmMultiPolyIntersector) }; // class GmMultiPolyIntersector -} // namespace xms +} // namespace xms \ No newline at end of file diff --git a/xmsgrid/python/geometry/GmMultiPolyIntersector_py.cpp b/xmsgrid/python/geometry/GmMultiPolyIntersector_py.cpp index 9a6366f8..72a48148 100644 --- a/xmsgrid/python/geometry/GmMultiPolyIntersector_py.cpp +++ b/xmsgrid/python/geometry/GmMultiPolyIntersector_py.cpp @@ -58,17 +58,4 @@ void initGmMultiPolyIntersector(py::module &m) { xms::Pt3d p = xms::Pt3dFromPyIter(point); return self.PolygonFromPoint(p); }, py::arg("point")); - // --------------------------------------------------------------------------- - // function: GetQuery - // --------------------------------------------------------------------------- - gmMpi.def("GetQuery", [](xms::GmMultiPolyIntersector &self) -> std::string { - return self.GetQuery() == xms::GMMPIQ_COVEREDBY ? "covered_by" : "intersects"; - }); - // --------------------------------------------------------------------------- - // function: SetQuery - // --------------------------------------------------------------------------- - gmMpi.def("SetQuery", [](xms::GmMultiPolyIntersector &self, std::string query) { - xms::GmMultiPolyIntersectorQueryEnum q = (query == "covered_by" ? xms::GMMPIQ_COVEREDBY : xms::GMMPIQ_INTERSECTS); - self.SetQuery(q); - }, py::arg("query")); } \ No newline at end of file