mirror of https://github.com/CGAL/cgal
256 lines
12 KiB
Plaintext
256 lines
12 KiB
Plaintext
/// \defgroup PkgPolygonMeshProcessingRef Polygon Mesh Processing Reference
|
|
/// \defgroup PkgPolygonMeshProcessingConcepts Concepts
|
|
/// \ingroup PkgPolygonMeshProcessingRef
|
|
|
|
/// \defgroup PMP_keep_connected_components_grp Connected Components
|
|
/// Two faces are in the same <em>connected component</em> if there is a path
|
|
/// of adjacent faces such that all edges between two consecutive faces of the
|
|
/// path are not marked as constrained.
|
|
/// \ingroup PkgPolygonMeshProcessingRef
|
|
|
|
/// \defgroup PMP_hole_filling_grp Hole Filling
|
|
/// Functions to fill holes given as a range of halfedges or as range of points.
|
|
/// \ingroup PkgPolygonMeshProcessingRef
|
|
|
|
/// \defgroup PMP_meshing_grp Meshing
|
|
/// Functions to triangulate faces, and to refine and fair regions of a polygon mesh.
|
|
/// \ingroup PkgPolygonMeshProcessingRef
|
|
|
|
/// \defgroup PMP_normal_grp Normal Computation
|
|
/// Functions to compute unit normals for individual/all vertices or faces.
|
|
/// \ingroup PkgPolygonMeshProcessingRef
|
|
|
|
/// \defgroup PMP_measure_grp Geometric Measure Functions
|
|
/// Functions to compute lengths of edges and borders, areas of faces and patches, as well as volumes of closed meshes.
|
|
/// \ingroup PkgPolygonMeshProcessingRef
|
|
|
|
/// \defgroup PMP_orientation_grp Orientation Functions
|
|
/// Functions to compute or change the orientation of faces and surfaces.
|
|
/// \ingroup PkgPolygonMeshProcessingRef
|
|
|
|
/// \defgroup PMP_intersection_grp Intersection Functions
|
|
/// Functions to test if there are self intersections, and to report faces that do intersect.
|
|
/// \ingroup PkgPolygonMeshProcessingRef
|
|
|
|
/// \defgroup PMP_combinatorial_repair_grp Combinatorial Repair
|
|
/// Functions to repair polygon soups and polygon meshes.
|
|
/// \ingroup PkgPolygonMeshProcessingRef
|
|
|
|
/// \defgroup PMP_geometric_repair_grp Geometric Repair
|
|
/// Functions to repair polygon soups and polygon meshes.
|
|
/// \ingroup PkgPolygonMeshProcessingRef
|
|
|
|
/// \defgroup PMP_distance_grp Distance Functions
|
|
/// Functions to compute the distance between meshes, between a mesh and a point set and between a point set and a mesh.
|
|
/// \ingroup PkgPolygonMeshProcessingRef
|
|
|
|
/// \defgroup PMP_corefinement_grp Corefinement and Boolean Operations
|
|
/// Functions to corefine triangulated surface meshes and compute triangulated
|
|
/// surface meshes of the union, difference and intersection
|
|
/// of the bounded volumes.
|
|
/// \ingroup PkgPolygonMeshProcessingRef
|
|
|
|
/// \defgroup PMP_detect_features_grp Feature Detection Functions
|
|
/// Functions to detect sharp edges and surface patches of polygon meshes.
|
|
/// \ingroup PkgPolygonMeshProcessingRef
|
|
|
|
/// \defgroup PMP_locate_grp Location Functions
|
|
/// Functions to locate points on a mesh, and manipulate such locations.
|
|
/// \ingroup PkgPolygonMeshProcessingRef
|
|
|
|
/// \defgroup PMP_predicates_grp Predicates
|
|
/// Classes and functions that answer queries about a polygon mesh or its elements.
|
|
/// \ingroup PkgPolygonMeshProcessingRef
|
|
|
|
/// \defgroup PMP_IO_grp I/O Functions
|
|
/// \ingroup PkgPolygonMeshProcessingRef
|
|
|
|
/// \defgroup PMPDeprecated Deprecated Functions
|
|
/// \ingroup PkgPolygonMeshProcessingRef
|
|
|
|
/*!
|
|
\addtogroup PkgPolygonMeshProcessingRef
|
|
|
|
\cgalPkgDescriptionBegin{Polygon Mesh Processing, PkgPolygonMeshProcessing}
|
|
\cgalPkgPicture{hole_filling_ico.png}
|
|
|
|
\cgalPkgSummaryBegin
|
|
\cgalPkgAuthors{Sébastien Loriot, Mael Rouxel-Labbé, Jane Tournois, and Ilker %O. Yaz}
|
|
\cgalPkgDesc{This package provides a collection of methods and classes for polygon mesh processing,
|
|
ranging from basic operations on simplices, to complex geometry processing algorithms such as
|
|
Boolean operations, remeshing, repairing, collision and intersection detection, and more.}
|
|
\cgalPkgManuals{Chapter_PolygonMeshProcessing,PkgPolygonMeshProcessingRef}
|
|
\cgalPkgSummaryEnd
|
|
|
|
\cgalPkgShortInfoBegin
|
|
\cgalPkgSince{4.7}
|
|
\cgalPkgDependsOn{documented for each function; \ref PkgSolverInterface}
|
|
\cgalPkgBib{cgal:lty-pmp}
|
|
\cgalPkgLicense{\ref licensesGPL "GPL"}
|
|
\cgalPkgDemo{Polyhedron demo,polyhedron_3.zip}
|
|
\cgalPkgShortInfoEnd
|
|
|
|
\cgalPkgDescriptionEnd
|
|
|
|
|
|
\cgalClassifedRefPages
|
|
|
|
\cgalCRPSection{Parameters}
|
|
|
|
Optional parameters of the functions of this package are implemented as \ref BGLNamedParameters.
|
|
The page \ref bgl_namedparameters "Named Parameters" describes their usage.
|
|
|
|
\cgalCRPSection{Corefinement and Boolean Operation Functions}
|
|
- `CGAL::Polygon_mesh_processing::corefine_and_compute_union()`
|
|
- `CGAL::Polygon_mesh_processing::corefine_and_compute_difference()`
|
|
- `CGAL::Polygon_mesh_processing::corefine_and_compute_intersection()`
|
|
- `CGAL::Polygon_mesh_processing::corefine_and_compute_boolean_operations()`
|
|
- `CGAL::Polygon_mesh_processing::corefine()`
|
|
- `CGAL::Polygon_mesh_processing::surface_intersection()`
|
|
- `CGAL::Polygon_mesh_processing::clip()`
|
|
- `CGAL::Polygon_mesh_processing::split()`
|
|
|
|
\cgalCRPSection{Meshing Functions}
|
|
- \link PMP_meshing_grp `CGAL::Polygon_mesh_processing::isotropic_remeshing()` \endlink
|
|
- \link PMP_meshing_grp `CGAL::Polygon_mesh_processing::split_long_edges()` \endlink
|
|
- `CGAL::Polygon_mesh_processing::refine()`
|
|
- `CGAL::Polygon_mesh_processing::fair()`
|
|
- `CGAL::Polygon_mesh_processing::triangulate_face()`
|
|
- `CGAL::Polygon_mesh_processing::triangulate_faces()`
|
|
- \link PMP_meshing_grp `CGAL::Polygon_mesh_processing::isotropic_remeshing()` \endlink
|
|
- \link PMP_meshing_grp `CGAL::Polygon_mesh_processing::surface_Delaunay_remeshing()` \endlink
|
|
- \link PMP_meshing_grp `CGAL::Polygon_mesh_processing::split_long_edges()` \endlink
|
|
- `CGAL::Polygon_mesh_processing::extrude_mesh()`
|
|
- `CGAL::Polygon_mesh_processing::smooth_mesh()` (deprecated)
|
|
- `CGAL::Polygon_mesh_processing::angle_and_area_smoothing()`
|
|
- `CGAL::Polygon_mesh_processing::tangential_relaxation()`
|
|
- `CGAL::Polygon_mesh_processing::smooth_shape()`
|
|
- `CGAL::Polygon_mesh_processing::random_perturbation()`
|
|
|
|
\cgalCRPSection{Orientation Functions}
|
|
- `CGAL::Polygon_mesh_processing::orient_polygon_soup()`
|
|
- `CGAL::Polygon_mesh_processing::orient()`
|
|
- `CGAL::Polygon_mesh_processing::does_bound_a_volume()`
|
|
- `CGAL::Polygon_mesh_processing::orient_to_bound_a_volume()`
|
|
- `CGAL::Polygon_mesh_processing::volume_connected_components()`
|
|
- `CGAL::Polygon_mesh_processing::is_outward_oriented()`
|
|
- `CGAL::Polygon_mesh_processing::reverse_face_orientations()`
|
|
- `CGAL::Polygon_mesh_processing::duplicate_non_manifold_edges_in_polygon_soup()`
|
|
- `CGAL::Polygon_mesh_processing::orient_triangle_soup_with_reference_triangle_mesh()`
|
|
- `CGAL::Polygon_mesh_processing::orient_triangle_soup_with_reference_triangle_soup()`
|
|
- `CGAL::Polygon_mesh_processing::merge_reversible_connected_components()`
|
|
- `CGAL::Polygon_mesh_processing::compatible_orientations()`
|
|
|
|
\cgalCRPSection{Hole Filling Functions}
|
|
- `CGAL::Polygon_mesh_processing::triangulate_hole()`
|
|
- `CGAL::Polygon_mesh_processing::triangulate_and_refine_hole()`
|
|
- `CGAL::Polygon_mesh_processing::triangulate_refine_and_fair_hole()`
|
|
- `CGAL::Polygon_mesh_processing::triangulate_hole_polyline()`
|
|
|
|
\cgalCRPSection{Intersection Functions}
|
|
- `CGAL::Polygon_mesh_processing::does_self_intersect()`
|
|
- `CGAL::Polygon_mesh_processing::self_intersections()`
|
|
- \link PMP_intersection_grp `CGAL::Polygon_mesh_processing::do_intersect()` \endlink
|
|
- `CGAL::Polygon_mesh_processing::intersecting_meshes()`
|
|
|
|
\cgalCRPSection{Collision Detection}
|
|
- `CGAL::Rigid_triangle_mesh_collision_detection`
|
|
|
|
\cgalCRPSection{Predicate Functions}
|
|
- `CGAL::Polygon_mesh_processing::is_degenerate_edge()`
|
|
- `CGAL::Polygon_mesh_processing::degenerate_edges()`
|
|
- `CGAL::Polygon_mesh_processing::is_degenerate_triangle_face()`
|
|
- `CGAL::Polygon_mesh_processing::degenerate_faces()`
|
|
- `CGAL::Polygon_mesh_processing::is_needle_triangle_face()`
|
|
- `CGAL::Polygon_mesh_processing::is_cap_triangle_face()`
|
|
- `CGAL::Polyhedral_envelope`
|
|
- `CGAL::Side_of_triangle_mesh`
|
|
|
|
\cgalCRPSection{Combinatorial Repair Functions}
|
|
- `CGAL::Polygon_mesh_processing::merge_duplicate_points_in_polygon_soup()`
|
|
- `CGAL::Polygon_mesh_processing::merge_duplicate_polygons_in_polygon_soup()`
|
|
- `CGAL::Polygon_mesh_processing::remove_isolated_points_in_polygon_soup()`
|
|
- `CGAL::Polygon_mesh_processing::repair_polygon_soup()`
|
|
- `CGAL::Polygon_mesh_processing::stitch_boundary_cycle()`
|
|
- `CGAL::Polygon_mesh_processing::stitch_boundary_cycles()`
|
|
- `CGAL::Polygon_mesh_processing::stitch_borders()`
|
|
- `CGAL::Polygon_mesh_processing::is_polygon_soup_a_polygon_mesh()`
|
|
- `CGAL::Polygon_mesh_processing::polygon_soup_to_polygon_mesh()`
|
|
- `CGAL::Polygon_mesh_processing::polygon_mesh_to_polygon_soup()`
|
|
- `CGAL::Polygon_mesh_processing::remove_isolated_vertices()`
|
|
- `CGAL::Polygon_mesh_processing::is_non_manifold_vertex()`
|
|
- `CGAL::Polygon_mesh_processing::non_manifold_vertices()`
|
|
- `CGAL::Polygon_mesh_processing::duplicate_non_manifold_vertices()`
|
|
- `CGAL::Polygon_mesh_processing::merge_duplicated_vertices_in_boundary_cycle()`
|
|
- `CGAL::Polygon_mesh_processing::merge_duplicated_vertices_in_boundary_cycles()`
|
|
|
|
\cgalCRPSection{Geometric Repair Functions}
|
|
- `CGAL::Polygon_mesh_processing::remove_almost_degenerate_faces()`
|
|
|
|
\cgalCRPSection{Connected Components}
|
|
- `CGAL::Polygon_mesh_processing::connected_component()`
|
|
- `CGAL::Polygon_mesh_processing::connected_components()`
|
|
- `CGAL::Polygon_mesh_processing::keep_large_connected_components()`
|
|
- `CGAL::Polygon_mesh_processing::keep_largest_connected_components()`
|
|
- `CGAL::Polygon_mesh_processing::split_connected_components()`
|
|
- \link PMP_keep_connected_components_grp `CGAL::Polygon_mesh_processing::keep_connected_components()` \endlink
|
|
- \link PMP_keep_connected_components_grp `CGAL::Polygon_mesh_processing::remove_connected_components()` \endlink
|
|
- `CGAL::Polygon_mesh_processing::remove_connected_components_of_negligible_size()`
|
|
|
|
\cgalCRPSection{Location Functions}
|
|
- \link PMP_locate_grp Point Location \endlink
|
|
- \link PMP_locate_grp Location Predicates \endlink
|
|
- \link PMP_locate_grp Nearest Face Location Queries \endlink
|
|
- \link PMP_locate_grp Random Location Generation \endlink
|
|
|
|
\cgalCRPSection{Normal Computation Functions}
|
|
- `CGAL::Polygon_mesh_processing::compute_face_normal()`
|
|
- `CGAL::Polygon_mesh_processing::compute_face_normals()`
|
|
- `CGAL::Polygon_mesh_processing::compute_vertex_normal()`
|
|
- `CGAL::Polygon_mesh_processing::compute_vertex_normals()`
|
|
- `CGAL::Polygon_mesh_processing::compute_normals()`
|
|
|
|
\cgalCRPSection{Distance Functions}
|
|
- `CGAL::Polygon_mesh_processing::bounded_error_Hausdorff_distance()`
|
|
- `CGAL::Polygon_mesh_processing::bounded_error_symmetric_Hausdorff_distance()`
|
|
- `CGAL::Polygon_mesh_processing::is_Hausdorff_distance_larger()`
|
|
- `CGAL::Polygon_mesh_processing::approximate_Hausdorff_distance()`
|
|
- `CGAL::Polygon_mesh_processing::approximate_symmetric_Hausdorff_distance()`
|
|
- `CGAL::Polygon_mesh_processing::approximate_max_distance_to_point_set()`
|
|
- `CGAL::Polygon_mesh_processing::max_distance_to_triangle_mesh()`
|
|
- `CGAL::Polygon_mesh_processing::sample_triangle_soup()`
|
|
- `CGAL::Polygon_mesh_processing::sample_triangle_mesh()`
|
|
|
|
\cgalCRPSection{Geometric Measure Functions}
|
|
- \link PMP_measure_grp `CGAL::Polygon_mesh_processing::edge_length()` \endlink
|
|
- \link PMP_measure_grp `CGAL::Polygon_mesh_processing::squared_edge_length()` \endlink
|
|
- \link PMP_measure_grp `CGAL::Polygon_mesh_processing::face_area()` \endlink
|
|
- \link PMP_measure_grp `CGAL::Polygon_mesh_processing::squared_face_area()` \endlink
|
|
- \link PMP_measure_grp `CGAL::Polygon_mesh_processing::area()` \endlink
|
|
- \link PMP_measure_grp `CGAL::Polygon_mesh_processing::volume()` \endlink
|
|
- \link PMP_measure_grp `CGAL::Polygon_mesh_processing::face_border_length()` \endlink
|
|
- \link PMP_measure_grp `CGAL::Polygon_mesh_processing::longest_border()` \endlink
|
|
- \link PMP_measure_grp `CGAL::Polygon_mesh_processing::centroid()` \endlink
|
|
- \link PMP_measure_grp `CGAL::Polygon_mesh_processing::match_faces()` \endlink
|
|
|
|
\cgalCRPSection{Feature Detection Functions}
|
|
- `CGAL::Polygon_mesh_processing::sharp_edges_segmentation()`
|
|
- `CGAL::Polygon_mesh_processing::detect_sharp_edges()`
|
|
- `CGAL::Polygon_mesh_processing::detect_vertex_incident_patches()`
|
|
|
|
\cgalCRPSection{Miscellaneous}
|
|
- `CGAL::Polygon_mesh_slicer`
|
|
- `CGAL::Polygon_mesh_processing::bbox()`
|
|
- `CGAL::Polygon_mesh_processing::vertex_bbox()`
|
|
- `CGAL::Polygon_mesh_processing::edge_bbox()`
|
|
- `CGAL::Polygon_mesh_processing::face_bbox()`
|
|
- `CGAL::Polygon_mesh_processing::border_halfedges()`
|
|
- `CGAL::Polygon_mesh_processing::extract_boundary_cycles()`
|
|
- `CGAL::Polygon_mesh_processing::transform()`
|
|
- `CGAL::Polygon_mesh_processing::triangle()`
|
|
|
|
\cgalCRPSection{I/O Functions}
|
|
- \link PMP_IO_grp `CGAL::Polygon_mesh_processing::IO::read_polygon_mesh()`\endlink
|
|
|
|
*/
|