| 8 | using namespace PyMesh; |
| 9 | |
| 10 | void init_Mesh(py::module &m) { |
| 11 | py::class_<Mesh, std::shared_ptr<Mesh> >(m, "Mesh") |
| 12 | .def("get_dim", &Mesh::get_dim) |
| 13 | .def("get_num_vertices", &Mesh::get_num_vertices) |
| 14 | .def("get_num_faces", &Mesh::get_num_faces) |
| 15 | .def("get_num_voxels", &Mesh::get_num_voxels) |
| 16 | .def("get_vertex_per_face", &Mesh::get_vertex_per_face) |
| 17 | .def("get_vertex_per_voxel", &Mesh::get_vertex_per_voxel) |
| 18 | .def("get_vertices", py::overload_cast<>(&Mesh::get_vertices, py::const_), |
| 19 | py::return_value_policy::reference_internal) |
| 20 | .def("get_faces", py::overload_cast<>(&Mesh::get_faces, py::const_), |
| 21 | py::return_value_policy::reference_internal) |
| 22 | .def("get_voxels", py::overload_cast<>(&Mesh::get_voxels, py::const_), |
| 23 | py::return_value_policy::reference_internal) |
| 24 | .def("enable_connectivity", &Mesh::enable_connectivity) |
| 25 | .def("enable_vertex_connectivity", &Mesh::enable_vertex_connectivity) |
| 26 | .def("enable_face_connectivity", &Mesh::enable_face_connectivity) |
| 27 | .def("enable_voxel_connectivity", &Mesh::enable_voxel_connectivity) |
| 28 | .def("get_vertex_adjacent_vertices", &Mesh::get_vertex_adjacent_vertices, |
| 29 | py::return_value_policy::move) |
| 30 | .def("get_vertex_adjacent_faces", &Mesh::get_vertex_adjacent_faces, |
| 31 | py::return_value_policy::move) |
| 32 | .def("get_vertex_adjacent_voxels", &Mesh::get_vertex_adjacent_voxels, |
| 33 | py::return_value_policy::move) |
| 34 | .def("get_face_adjacent_faces", &Mesh::get_face_adjacent_faces, |
| 35 | py::return_value_policy::move) |
| 36 | .def("get_face_adjacent_voxels", &Mesh::get_face_adjacent_voxels, |
| 37 | py::return_value_policy::move) |
| 38 | .def("get_voxel_adjacent_faces", &Mesh::get_voxel_adjacent_faces, |
| 39 | py::return_value_policy::move) |
| 40 | .def("get_voxel_adjacent_voxels", &Mesh::get_voxel_adjacent_voxels, |
| 41 | py::return_value_policy::move) |
| 42 | .def("has_attribute", &Mesh::has_attribute) |
| 43 | .def("add_attribute", &Mesh::add_attribute) |
| 44 | .def("remove_attribute", &Mesh::remove_attribute) |
| 45 | .def("get_attribute", py::overload_cast<const std::string&>(&Mesh::get_attribute, py::const_), |
| 46 | py::return_value_policy::reference_internal) |
| 47 | .def("set_attribute", &Mesh::set_attribute) |
| 48 | .def("get_attribute_names", &Mesh::get_attribute_names); |
| 49 | } |