diff --git a/xmsgrid/python/geometry/GmMultiPolyIntersector_py.cpp b/xmsgrid/python/geometry/GmMultiPolyIntersector_py.cpp index acc4e2ce..9a6a3f1c 100644 --- a/xmsgrid/python/geometry/GmMultiPolyIntersector_py.cpp +++ b/xmsgrid/python/geometry/GmMultiPolyIntersector_py.cpp @@ -37,8 +37,7 @@ void initGmMultiPolyIntersector(py::module &m) { BSHP rval(xms::GmMultiPolyIntersector::New(*vec_pts, *vec_polys, sorter, starting_id)); rval->SetQuery(query == "covered_by" ? xms::GMMPIQ_COVEREDBY : xms::GMMPIQ_INTERSECTS); return rval; - }), py::arg("points"), py::arg("polys"), py::arg("starting_id") = 1, py::arg("query") = "covered_by") - .def_property("query", &xms::GmMultiPolyIntersector::GetQuery, &xms::GmMultiPolyIntersector::SetQuery); + }), py::arg("points"), py::arg("polys"), py::arg("starting_id") = 1, py::arg("query") = "covered_by"); // --------------------------------------------------------------------------- // function: TraverseLineSegment // --------------------------------------------------------------------------- @@ -57,4 +56,17 @@ 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_str) { + GmMultiPolyIntersectorQueryEnum q = (query_str == "covered_by" ? xms::GMMPIQ_COVEREDBY : xms::GMMPIQ_INTERSECTS); + self.SetQuery(q); + }); } \ No newline at end of file