diff --git a/python-api-src/lib_point.cpp b/python-api-src/lib_point.cpp index 40bc11a83c951f16450838d6b6732287515751f0..825500d223f9ceb32cf9320b94c670f35041abd8 100644 --- a/python-api-src/lib_point.cpp +++ b/python-api-src/lib_point.cpp @@ -33,10 +33,18 @@ void define_point(py::module & m) return "(" + std::to_string(p.x) + ", " + std::to_string(p.y) + ")"; }); - py::class_<sc2::Point2DI>(m, "Point2DI", py::dynamic_attr()) - .def(py::init<int, int>()) - .def_readwrite("x", &sc2::Point2DI::x) - .def_readwrite("y", &sc2::Point2DI::y) - .def(py::self == py::self) - .def(py::self != py::self); + py::class_<sc2::Point2DI>(m, "Point2DI", py::dynamic_attr()) + .def(py::init<int, int>()) + .def_readwrite("x", &sc2::Point2DI::x) + .def_readwrite("y", &sc2::Point2DI::y) + .def(py::self == py::self) + .def(py::self != py::self) + .def("__repr__", + [](const sc2::Point2DI & p) { + return "<Point2D: (" + std::to_string(p.x) + ", " + std::to_string(p.y) + ")>"; + }) + .def("__str__", + [](const sc2::Point2DI & p) { + return "(" + std::to_string(p.x) + ", " + std::to_string(p.y) + ")"; + }); } \ No newline at end of file