| 29 | } |
| 30 | |
| 31 | void DiskCutter::run() { |
| 32 | std::vector<std::vector<int>> cuts; |
| 33 | igl::cut_to_disk(m_faces, cuts); |
| 34 | |
| 35 | MatrixIr voxels(0, 4); |
| 36 | Mesh::Ptr mesh = MeshFactory().load_matrices(m_vertices, m_faces, voxels).create(); |
| 37 | MeshCutter cutter(mesh); |
| 38 | Mesh::Ptr cut_mesh = cutter.cut_along_edges(cuts); |
| 39 | |
| 40 | m_out_vertices = MatrixUtils::reshape<MatrixFr>(cut_mesh->get_vertices(), |
| 41 | cut_mesh->get_num_vertices(), cut_mesh->get_dim()); |
| 42 | m_out_faces = MatrixUtils::reshape<MatrixIr>(cut_mesh->get_faces(), |
| 43 | cut_mesh->get_num_faces(), cut_mesh->get_vertex_per_face()); |
| 44 | } |
| 45 | |
| 46 | #endif |