CGAL 5.1 - Polygon Mesh Processing
|
Optional parameters of the functions of this package are implemented as Named Parameters. The page Named Parameters describes their usage and provides a list of the parameters that are used in this package.
CGAL::Polygon_mesh_processing::fair()
CGAL::Polygon_mesh_processing::refine()
CGAL::Polygon_mesh_processing::smooth_mesh()
CGAL::Polygon_mesh_processing::smooth_shape()
CGAL::Polygon_mesh_processing::triangulate_face()
CGAL::Polygon_mesh_processing::triangulate_faces()
CGAL::Polygon_mesh_processing::isotropic_remeshing()
CGAL::Polygon_mesh_processing::split_long_edges()
CGAL::Polygon_mesh_processing::random_perturbation()
CGAL::Polygon_mesh_processing::extrude_mesh()
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()
CGAL::Polygon_mesh_processing::does_self_intersect()
CGAL::Polygon_mesh_processing::self_intersections()
CGAL::Polygon_mesh_processing::do_intersect()
CGAL::Polygon_mesh_processing::intersecting_meshes()
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::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::merge_reversible_connected_components()
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::duplicate_non_manifold_vertices()
CGAL::Polygon_mesh_processing::merge_duplicated_vertices_in_boundary_cycle()
CGAL::Polygon_mesh_processing::merge_duplicated_vertices_in_boundary_cycles()
CGAL::Polygon_mesh_processing::remove_connected_components_of_negligible_size()
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()
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()
CGAL::Polygon_mesh_processing::keep_connected_components()
CGAL::Polygon_mesh_processing::remove_connected_components()
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()
CGAL::Polygon_mesh_processing::face_area()
CGAL::Polygon_mesh_processing::area()
CGAL::Polygon_mesh_processing::volume()
CGAL::Polygon_mesh_processing::edge_length()
CGAL::Polygon_mesh_processing::face_border_length()
CGAL::Polygon_mesh_processing::centroid()
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_mesh()
CGAL::Polygon_mesh_processing::sample_triangle_soup()
CGAL::Polygon_mesh_processing::sharp_edges_segmentation()
CGAL::Polygon_mesh_processing::detect_sharp_edges()
CGAL::Polygon_mesh_processing::detect_vertex_incident_patches()
CGAL::Polygon_mesh_slicer
CGAL::Side_of_triangle_mesh
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()
Modules | |
Named Parameters for Polygon Mesh Processing | |
Concepts | |
Connected Components | |
Two faces are in the same connected component if there is a path of adjacent faces such that all edges between two consecutive faces of the path are not marked as constrained. | |
Hole Filling | |
Functions to fill holes given as a range of halfedges or as range of points. | |
Meshing | |
Functions to triangulate faces, and to refine and fair regions of a polygon mesh. | |
Normal Computation | |
Functions to compute unit normals for individual/all vertices or faces. | |
Geometric Measure Functions | |
Functions to compute lengths of edges and borders, areas of faces and patches, as well as volumes of closed meshes. | |
Orientation Functions | |
Functions to compute or change the orientation of faces and surfaces. | |
Intersection Functions | |
Functions to test if there are self intersections, and to report faces that do intersect. | |
Combinatorial Repairing | |
Functions to repair polygon soups and polygon meshes. | |
Distance Functions | |
Functions to compute the distance between meshes, between a mesh and a point set and between a point set and a mesh. | |
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. | |
Feature Detection Functions | |
Functions to detect sharp edges and surface patches of polygon meshes. | |
Location Functions | |
Functions to locate points on a mesh, and manipulate such locations. | |
Intersection Detection Functions | |
Functions to detect intersections. Note that those functions will be exact as long as the underlying do-intersect predicates used are exact. In practice, it means that the 3D point type used must come from a CGAL kernel with exact predicates. | |
Files | |
file | polygon_mesh_processing.h |
Classes | |
class | CGAL::Polygon_mesh_slicer< TriangleMesh, Traits, VertexPointMap, AABBTree, UseParallelPlaneOptimization > |
class | CGAL::Side_of_triangle_mesh< TriangleMesh, GeomTraits, VertexPointMap_ > |
Functions | |
template<typename PolygonMesh , typename NamedParameters > | |
CGAL::Bbox_3 | CGAL::Polygon_mesh_processing::bbox (const PolygonMesh &pmesh, const NamedParameters &np) |
template<typename PolygonMesh , typename NamedParameters > | |
CGAL::Bbox_3 | CGAL::Polygon_mesh_processing::vertex_bbox (typename boost::graph_traits< PolygonMesh >::vertex_descriptor vd, const PolygonMesh &pmesh, const NamedParameters &np) |
template<typename PolygonMesh , typename NamedParameters > | |
CGAL::Bbox_3 | CGAL::Polygon_mesh_processing::edge_bbox (typename boost::graph_traits< PolygonMesh >::edge_descriptor ed, const PolygonMesh &pmesh, const NamedParameters &np) |
template<typename PolygonMesh , typename NamedParameters > | |
CGAL::Bbox_3 | CGAL::Polygon_mesh_processing::face_bbox (typename boost::graph_traits< PolygonMesh >::face_descriptor fd, const PolygonMesh &pmesh, const NamedParameters &np) |
template<typename PolygonMesh , typename NamedParameters > | |
CGAL_DEPRECATED CGAL::Bbox_3 | CGAL::Polygon_mesh_processing::bbox_3 (const PolygonMesh &pmesh, const NamedParameters &np) |
template<typename PolygonMesh , typename FaceRange , typename HalfedgeOutputIterator , typename NamedParameters > | |
HalfedgeOutputIterator | CGAL::Polygon_mesh_processing::border_halfedges (const FaceRange &face_range, const PolygonMesh &pmesh, HalfedgeOutputIterator out, const NamedParameters &np) |
template<typename PolygonMesh , typename OutputIterator > | |
OutputIterator | CGAL::Polygon_mesh_processing::extract_boundary_cycles (PolygonMesh &pm, OutputIterator out) |
template<class Transformation , class PolygonMesh , class NamedParameters > | |
void | CGAL::Polygon_mesh_processing::transform (const Transformation &transformation, PolygonMesh &mesh, const NamedParameters &np) |
CGAL::Bbox_3 CGAL::Polygon_mesh_processing::bbox | ( | const PolygonMesh & | pmesh, |
const NamedParameters & | np | ||
) |
#include <CGAL/Polygon_mesh_processing/bbox.h>
computes a bounding box of a polygon mesh.
PolygonMesh | a model of HalfedgeListGraph |
NamedParameters | a sequence of Named Parameters |
pmesh | a polygon mesh |
np | optional sequence of Named Parameters among the ones listed below |
vertex_point_map | the property map with the points associated to the vertices of pmesh . If this parameter is omitted, an internal property map for CGAL::vertex_point_t must be available in PolygonMesh |
geom_traits | an instance of a geometric traits class, providing the functor Construct_bbox_3 and the function Construct_bbox_3 construct_bbox_3_object() . Construct_bbox_3 must provide BBox_3 operator()(Point_3) where Point_3 is the value type of the vertex point map. |
pmesh
CGAL_DEPRECATED CGAL::Bbox_3 CGAL::Polygon_mesh_processing::bbox_3 | ( | const PolygonMesh & | pmesh, |
const NamedParameters & | np | ||
) |
#include <CGAL/Polygon_mesh_processing/bbox.h>
CGAL::Polygon_mesh_processing::bbox()
should be used instead. HalfedgeOutputIterator CGAL::Polygon_mesh_processing::border_halfedges | ( | const FaceRange & | face_range, |
const PolygonMesh & | pmesh, | ||
HalfedgeOutputIterator | out, | ||
const NamedParameters & | np | ||
) |
#include <CGAL/Polygon_mesh_processing/border.h>
collects the border halfedges of a surface patch defined as a face range. For each returned halfedge h
, opposite(h, pmesh)
belongs to a face of the patch, but face(h, pmesh)
does not belong to the patch.
PolygonMesh | model of HalfedgeGraph |
FaceRange | a model of Range with value type boost::graph_traits<PolygonMesh>::face_descriptor . |
HalfedgeOutputIterator | model of OutputIterator holding boost::graph_traits<PolygonMesh>::halfedge_descriptor for patch border |
NamedParameters | a sequence of Named Parameters |
pmesh | the polygon mesh to which the faces in face_range belong |
face_range | the range of faces defining the patch whose border halfedges are collected |
out | the output iterator that collects the border halfedges of the patch, seen from outside. |
np | optional sequence of Named Parameters among the ones listed below |
face_index_map | a property map containing the index of each face of pmesh |
out
CGAL::Bbox_3 CGAL::Polygon_mesh_processing::edge_bbox | ( | typename boost::graph_traits< PolygonMesh >::edge_descriptor | ed, |
const PolygonMesh & | pmesh, | ||
const NamedParameters & | np | ||
) |
#include <CGAL/Polygon_mesh_processing/bbox.h>
computes a bounding box of an edge of a polygon mesh.
PolygonMesh | a model of HalfedgeGraph |
NamedParameters | a sequence of Named Parameters |
ed | a descriptor of an edge in pmesh |
pmesh | a polygon mesh |
np | optional sequence of Named Parameters among the ones listed below |
vertex_point_map | the property map with the points associated to the vertices of pmesh . If this parameter is omitted, an internal property map for CGAL::vertex_point_t must be available in PolygonMesh |
geom_traits | an instance of a geometric traits class, providing the functor Construct_bbox_3 and the function Construct_bbox_3 construct_bbox_3_object() . Construct_bbox_3 must provide BBox_3 operator()(Point_3) where Point_3 is the value type of the vertex point map. |
pmesh
OutputIterator CGAL::Polygon_mesh_processing::extract_boundary_cycles | ( | PolygonMesh & | pm, |
OutputIterator | out | ||
) |
#include <CGAL/Polygon_mesh_processing/border.h>
extracts boundary cycles as a list of halfedges, with one halfedge per border.
PolygonMesh | a model of HalfedgeListGraph |
OutputIterator | a model of OutputIterator holding objects of type boost::graph_traits<PolygonMesh>::halfedge_descriptor |
pm | a polygon mesh |
out | an output iterator where the border halfedges will be put |
It could make sense to also return the length of each cycle.
It should probably go into BGL package (like the rest of this file).
CGAL::Bbox_3 CGAL::Polygon_mesh_processing::face_bbox | ( | typename boost::graph_traits< PolygonMesh >::face_descriptor | fd, |
const PolygonMesh & | pmesh, | ||
const NamedParameters & | np | ||
) |
#include <CGAL/Polygon_mesh_processing/bbox.h>
computes a bounding box of a face of a polygon mesh.
PolygonMesh | a model of HalfedgeGraph |
NamedParameters | a sequence of Named Parameters |
fd | a descriptor of a face in pmesh |
pmesh | a polygon mesh |
np | optional sequence of Named Parameters among the ones listed below |
vertex_point_map | the property map with the points associated to the vertices of pmesh . If this parameter is omitted, an internal property map for CGAL::vertex_point_t must be available in PolygonMesh |
geom_traits | an instance of a geometric traits class, providing the functor Construct_bbox_3 and the function Construct_bbox_3 construct_bbox_3_object() . Construct_bbox_3 must provide BBox_3 operator()(Point_3) where Point_3 is the value type of the vertex point map. |
pmesh
void CGAL::Polygon_mesh_processing::transform | ( | const Transformation & | transformation, |
PolygonMesh & | mesh, | ||
const NamedParameters & | np | ||
) |
#include <CGAL/Polygon_mesh_processing/transform.h>
applies a transformation to every vertex of a PolygonMesh
.
Transformation | a functor that has an operator()(Point_3) , with Point_3 the value_type of vertex_point_map (see below). Such a functor can be CGAL::Aff_transformation_3 for example. |
PolygonMesh | a model of VertexListGraph |
NamedParameters | a sequence of Named Parameters |
transformation | the transformation functor to apply to the points of mesh . |
mesh | the PolygonMesh to transform. |
np | optional sequence of Named Parameters for Polygon Mesh Processing for mesh , among the ones listed below |
vertex_point_map | the property map with the points associated to the vertices of mesh . If this parameter is omitted, an internal property map for CGAL::vertex_point_t must be available in PolygonMesh |
CGAL::Bbox_3 CGAL::Polygon_mesh_processing::vertex_bbox | ( | typename boost::graph_traits< PolygonMesh >::vertex_descriptor | vd, |
const PolygonMesh & | pmesh, | ||
const NamedParameters & | np | ||
) |
#include <CGAL/Polygon_mesh_processing/bbox.h>
computes a bounding box of a vertex of a polygon mesh.
PolygonMesh | a model of HalfedgeGraph |
NamedParameters | a sequence of Named Parameters |
vd | a descriptor of a vertex in pmesh |
pmesh | a polygon mesh |
np | optional sequence of Named Parameters among the ones listed below |
vertex_point_map | the property map with the points associated to the vertices of pmesh . If this parameter is omitted, an internal property map for CGAL::vertex_point_t must be available in PolygonMesh |
geom_traits | an instance of a geometric traits class, providing the functor Construct_bbox_3 and the function Construct_bbox_3 construct_bbox_3_object() . Construct_bbox_3 must provide BBox_3 operator()(Point_3) where Point_3 is the value type of the vertex point map. |
pmesh