diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt index 6464b8e7319..5d1851fc8b2 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt @@ -417,6 +417,46 @@ the propagation of a connected component index to cross it. \cgalExample{Polygon_mesh_processing/connected_components_example.cpp} +**************************************** +\section PMPAll Requirements summary + +The table below recapitulates the basic requirements of each function of this package. +For each requirement, the table answers a question : +- should the input mesh be a pure triangle mesh? +- should the input mesh have the topology of a 2-manifold? +- should the input mesh be self-intersection free? +- should the input mesh be closed (with no boundary)? + +Requirements | pure triangle | 2-manifold | self-intersection free| closed +------------------------------------- | -------------- | -----------|-----------------------|-------- +`fair()` | no | ?? | ?? | no +`refine()` | no | ?? | ?? | no +`triangulate_faces()` | no | no | no | no +`triangulate_hole()` | no | no | no | no +`triangulate_and_refine_hole()` | no | no | no | no +`triangulate_refine_and_fair_hole()` | no | no | no | no +`triangulate_hole_polyline()` | no | no | no | no +`does_self_intersect()` | yes | no | no | no +`self_intersections()` | yes | no | no | no +`Side_of_triangle_mesh` | yes | yes? | yes | yes +`is_outward_oriented()` | no | yes | ?? | yes +`reverse_face_orientations()` | no | no | no | no +`stitch_borders()` | no | yes | no | no +`polygon_soup_to_polygon_mesh()` | no | no | no | no +`orient_polygon_soup()` | no | no | no | no +`remove_degenerate_faces()` | yes | yes | no | no +`compute_face_normal()` | no | no | no | no +`compute_face_normals()` | no | no | no | no +`compute_vertex_normal()` | no | yes? | no | no +`compute_vertex_normals()` | no | yes? | no | no +`compute_normals()` | no | yes? | no | no +`Polygon_mesh_slicer` | yes | no? | yes? | no +`connected_component()` | no | no | no | no +`connected_components()` | no | no | no | no +`keep_largest_connected_components()` | no | no | no | no +`keep_connected_components()` | no | no | no | no + + **************************************** \section PMPHistory Implementation History