| 6 | using namespace PyMesh; |
| 7 | |
| 8 | void LoopSubdivision::subdivide( |
| 9 | MatrixFr vertices, MatrixIr faces, size_t num_iterations) { |
| 10 | if (faces.cols() != 3) { |
| 11 | throw NotImplementedError( |
| 12 | "Only triangles mesh subdivision are supported!"); |
| 13 | } |
| 14 | m_vertices = vertices; |
| 15 | m_faces = faces; |
| 16 | initialize_face_indices(); |
| 17 | |
| 18 | for (size_t i=0; i<num_iterations; i++) { |
| 19 | subdivide_once(); |
| 20 | } |
| 21 | } |
| 22 | |
| 23 | void LoopSubdivision::subdivide_once() { |
| 24 | extract_edges(); |