CGAL 4.14.3 - Polygon Mesh Processing
|
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.
Functions | |
template<typename PolygonMesh , typename FaceOutputIterator , typename NamedParameters > | |
FaceOutputIterator | CGAL::Polygon_mesh_processing::connected_component (typename boost::graph_traits< PolygonMesh >::face_descriptor seed_face, const PolygonMesh &pmesh, FaceOutputIterator out, const NamedParameters &np) |
discovers all the faces in the same connected component as seed_face and records them in out . More... | |
template<typename PolygonMesh , typename FaceComponentMap , typename NamedParameters > | |
boost::property_traits< FaceComponentMap >::value_type | CGAL::Polygon_mesh_processing::connected_components (const PolygonMesh &pmesh, FaceComponentMap fcm, const NamedParameters &np) |
computes for each face the index of the corresponding connected component. More... | |
template<typename PolygonMesh , typename NamedParameters > | |
std::size_t | CGAL::Polygon_mesh_processing::keep_largest_connected_components (PolygonMesh &pmesh, std::size_t nb_components_to_keep, const NamedParameters &np) |
removes the small connected components and all isolated vertices. More... | |
template<typename PolygonMesh , typename NamedParameters > | |
std::size_t | CGAL::Polygon_mesh_processing::keep_large_connected_components (PolygonMesh &pmesh, std::size_t threshold_components_to_keep, const NamedParameters &np) |
removes connected components with less than a given number of faces. More... | |
template<typename PolygonMesh , typename ComponentRange , typename FaceComponentMap , typename NamedParameters > | |
void | CGAL::Polygon_mesh_processing::keep_connected_components (PolygonMesh &pmesh, const ComponentRange &components_to_keep, const FaceComponentMap &fcm, const NamedParameters &np) |
keeps the connected components designated by theirs ids in components_to_keep , and removes the other connected components as well as all isolated vertices. More... | |
template<typename PolygonMesh , typename ComponentRange , typename FaceComponentMap , typename NamedParameters > | |
void | CGAL::Polygon_mesh_processing::remove_connected_components (PolygonMesh &pmesh, const ComponentRange &components_to_remove, const FaceComponentMap &fcm, const NamedParameters &np) |
Removes in pmesh the connected components designated by theirs ids in components_to_remove as well as all isolated vertices. More... | |
template<typename PolygonMesh , typename FaceRange , typename NamedParameters > | |
void | CGAL::Polygon_mesh_processing::remove_connected_components (PolygonMesh &pmesh, const FaceRange &components_to_remove, const NamedParameters &np) |
keeps the connected components not designated by the faces in components_to_remove , and removes the other connected components and all isolated vertices. More... | |
template<typename PolygonMesh , typename FaceRange , typename NamedParameters > | |
void | CGAL::Polygon_mesh_processing::keep_connected_components (PolygonMesh &pmesh, const FaceRange &components_to_keep, const NamedParameters &np) |
keeps the connected components designated by the faces in components_to_keep , and removes the other connected components and all isolated vertices. More... | |
FaceOutputIterator CGAL::Polygon_mesh_processing::connected_component | ( | typename boost::graph_traits< PolygonMesh >::face_descriptor | seed_face, |
const PolygonMesh & | pmesh, | ||
FaceOutputIterator | out, | ||
const NamedParameters & | np | ||
) |
#include <CGAL/Polygon_mesh_processing/connected_components.h>
discovers all the faces in the same connected component as seed_face
and records them in out
.
seed_face
will also be added in out
.
PolygonMesh | a model of FaceGraph |
FaceOutputIterator | a model of OutputIterator that accepts faces of type boost::graph_traits<PolygonMesh>::face_descriptor . |
NamedParameters | a sequence of Named Parameters |
seed_face | a face of pmesh from which exploration starts to detect the connected component that contains it |
pmesh | the polygon mesh |
out | the output iterator that collects faces from the same connected component as seed_face |
np | optional Named Parameters described below |
edge_is_constrained_map | a property map containing the constrained-or-not status of each edge of pmesh |
boost::property_traits<FaceComponentMap>::value_type CGAL::Polygon_mesh_processing::connected_components | ( | const PolygonMesh & | pmesh, |
FaceComponentMap | fcm, | ||
const NamedParameters & | np | ||
) |
#include <CGAL/Polygon_mesh_processing/connected_components.h>
computes for each face the index of the corresponding connected component.
A property map for CGAL::face_index_t
must be either available as an internal property map to pmesh
or provided as one of the Named Parameters.
PolygonMesh | a model of FaceListGraph |
FaceComponentMap | a model of WritablePropertyMap with boost::graph_traits<PolygonMesh>::face_descriptor as key type and boost::graph_traits<PolygonMesh>::faces_size_type as value type. |
NamedParameters | a sequence of Named Parameters |
pmesh | the polygon mesh |
fcm | the property map with indices of components associated to faces in pmesh |
np | optional Named Parameters described below |
edge_is_constrained_map | a property map containing the constrained-or-not status of each edge of pmesh |
face_index_map | a property map containing the index of each face of pmesh |
void CGAL::Polygon_mesh_processing::keep_connected_components | ( | PolygonMesh & | pmesh, |
const ComponentRange & | components_to_keep, | ||
const FaceComponentMap & | fcm, | ||
const NamedParameters & | np | ||
) |
#include <CGAL/Polygon_mesh_processing/connected_components.h>
keeps the connected components designated by theirs ids in components_to_keep
, and removes the other connected components as well as all isolated vertices.
The connected component id of a face is given by fcm
.
pmesh
a non-manifold surface, then the behavior of this function is undefined.Property maps for CGAL::vertex_index_t
must be either available as internal property map to pmesh
or provided as Named Parameters.
PolygonMesh | a model of FaceListGraph and MutableFaceGraph |
NamedParameters | a sequence of Named Parameters |
ComponentRange | a range of ids convertible to std::size |
FaceComponentMap | a model of ReadWritePropertyMap with boost::graph_traits<PolygonMesh>::face_descriptor as key type and boost::graph_traits<PolygonMesh>::faces_size_type as value type. |
components_to_keep | the range of ids of connected components to keep |
pmesh | the polygon mesh |
fcm | the property map with indices of components associated to faces in pmesh . After calling this function, the values of fcm are undefined. |
np | optional Named Parameters described below |
vertex_index_map | a property map containing the index of each vertex of pmesh |
void CGAL::Polygon_mesh_processing::keep_connected_components | ( | PolygonMesh & | pmesh, |
const FaceRange & | components_to_keep, | ||
const NamedParameters & | np | ||
) |
#include <CGAL/Polygon_mesh_processing/connected_components.h>
keeps the connected components designated by the faces in components_to_keep
, and removes the other connected components and all isolated vertices.
Property maps for CGAL::face_index_t
and CGAL::vertex_index_t
must be either available as internal property maps to pmesh
or provided as Named Parameters.
pmesh
a non-manifold surface, then the behavior of this function is undefined.PolygonMesh | a model of FaceListGraph and MutableFaceGraph |
NamedParameters | a sequence of Named Parameters |
FaceRange | a range of boost::graph_traits<PolygonMesh>::face_descriptor indicating the connected components to be kept. |
pmesh | the polygon mesh |
components_to_keep | a face range, including one face or more on each component to be kept |
np | optional Named Parameters, amongst those described below |
edge_is_constrained_map | a property map containing the constrained-or-not status of each edge of pmesh |
face_index_map | a property map containing the index of each face of pmesh |
vertex_index_map | a property map containing the index of each vertex of pmesh |
std::size_t CGAL::Polygon_mesh_processing::keep_large_connected_components | ( | PolygonMesh & | pmesh, |
std::size_t | threshold_components_to_keep, | ||
const NamedParameters & | np | ||
) |
#include <CGAL/Polygon_mesh_processing/connected_components.h>
removes connected components with less than a given number of faces.
Property maps for CGAL::face_index_t
and CGAL::vertex_index_t
must be either available as internal property maps to pmesh
or provided as Named Parameters.
PolygonMesh | a model of FaceListGraph and MutableFaceGraph |
NamedParameters | a sequence of Named Parameters |
pmesh | the polygon mesh |
threshold_components_to_keep | the number of faces a component must have so that it is kept |
np | optional Named Parameters, amongst those described below |
edge_is_constrained_map | a property map containing the constrained-or-not status of each edge of pmesh |
face_index_map | a property map containing the index of each face of pmesh |
vertex_index_map | a property map containing the index of each vertex of pmesh |
std::size_t CGAL::Polygon_mesh_processing::keep_largest_connected_components | ( | PolygonMesh & | pmesh, |
std::size_t | nb_components_to_keep, | ||
const NamedParameters & | np | ||
) |
#include <CGAL/Polygon_mesh_processing/connected_components.h>
removes the small connected components and all isolated vertices.
Keep nb_components_to_keep
largest connected components.
Property maps for CGAL::face_index_t
and CGAL::vertex_index_t
must be either available as internal property maps to pmesh
or provided as Named Parameters.
PolygonMesh | a model of FaceListGraph and MutableFaceGraph |
NamedParameters | a sequence of Named Parameters |
pmesh | the polygon mesh |
nb_components_to_keep | the number of components to be kept |
np | optional Named Parameters, amongst those described below |
edge_is_constrained_map | a property map containing the constrained-or-not status of each edge of pmesh |
face_index_map | a property map containing the index of each face of pmesh |
vertex_index_map | a property map containing the index of each vertex of pmesh |
void CGAL::Polygon_mesh_processing::remove_connected_components | ( | PolygonMesh & | pmesh, |
const ComponentRange & | components_to_remove, | ||
const FaceComponentMap & | fcm, | ||
const NamedParameters & | np | ||
) |
#include <CGAL/Polygon_mesh_processing/connected_components.h>
Removes in pmesh
the connected components designated by theirs ids in components_to_remove
as well as all isolated vertices.
The connected component id of a face is given by fcm
.
pmesh
a non-manifold surface, then the behavior of this function is undefined.Property maps for CGAL::vertex_index_t
must be either available as internal property map to pmesh
or provided as Named Parameters.
PolygonMesh | a model of FaceListGraph and MutableFaceGraph |
NamedParameters | a sequence of Named Parameters |
ComponentRange | a range of ids convertible to std::size |
FaceComponentMap | a model of ReadWritePropertyMap with boost::graph_traits<PolygonMesh>::face_descriptor as key type and boost::graph_traits<PolygonMesh>::faces_size_type as value type. |
components_to_remove | the range of ids of connected components to remove |
pmesh | the polygon mesh |
fcm | the property map with indices of components associated to faces in pmesh . After calling this function, the values of fcm are undefined. |
np | optional Named Parameters described below |
vertex_index_map | a property map containing the index of each vertex of pmesh |
void CGAL::Polygon_mesh_processing::remove_connected_components | ( | PolygonMesh & | pmesh, |
const FaceRange & | components_to_remove, | ||
const NamedParameters & | np | ||
) |
#include <CGAL/Polygon_mesh_processing/connected_components.h>
keeps the connected components not designated by the faces in components_to_remove
, and removes the other connected components and all isolated vertices.
Property maps for CGAL::face_index_t
and CGAL::vertex_index_t
must be either available as internal property maps to pmesh
or provided as Named Parameters.
pmesh
a non-manifold surface, then the behavior of this function is undefined.PolygonMesh | a model of FaceListGraph and MutableFaceGraph |
NamedParameters | a sequence of Named Parameters |
FaceRange | a range of boost::graph_traits<PolygonMesh>::face_descriptor indicating the connected components to be removed. |
components_to_remove | a face range, including one face or more on each component to be removed |
pmesh | the polygon mesh |
np | optional Named Parameters, amongst those described below |
edge_is_constrained_map | a property map containing the constrained-or-not status of each edge of pmesh |
face_index_map | a property map containing the index of each face of pmesh |
vertex_index_map | a property map containing the index of each vertex of pmesh |