|
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...
|
|
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
.
seed_face
will also be added in out
.
- Template Parameters
-
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 |
- 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 |
- Named Parameters
-
- Returns
- the output iterator.
#include <CGAL/Polygon_mesh_processing/connected_components.h>
- Examples:
- Polygon_mesh_processing/connected_components_example.cpp.
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.
The connected component id of a face is given by fcm
.
- Note
- If the removal of the connected components makes
pmesh
a non-manifold surface, then the behavior of this function is undefined.
Property maps for CGAL::vertex_index_t
should be either available as internal property map to pmesh
or provided as Named Parameters.
- Template 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. |
- Parameters
-
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 |
- Named Parameters
-
#include <CGAL/Polygon_mesh_processing/connected_components.h>
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.
Property maps for CGAL::face_index_t
and CGAL::vertex_index_t
should be either available as internal property maps to pmesh
or provided as Named Parameters.
- Note
- If the removal of the connected components makes
pmesh
a non-manifold surface, then the behavior of this function is undefined.
- Template Parameters
-
- Parameters
-
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 described below |
- Named Parameters
-
#include <CGAL/Polygon_mesh_processing/connected_components.h>
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.
Keep nb_components_to_keep
largest connected components.
Property maps for CGAL::face_index_t
and CGAL::vertex_index_t
should be either available as internal property maps to pmesh
or provided as Named Parameters.
- Template Parameters
-
- Parameters
-
pmesh | the polygon mesh |
nb_components_to_keep | the number of components to be kept |
np | optional Named Parameters described below |
- Named Parameters
-
- Returns
- the number of connected components removed (ignoring isolated vertices).
#include <CGAL/Polygon_mesh_processing/connected_components.h>
- Examples:
- Polygon_mesh_processing/connected_components_example.cpp.
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.
The connected component id of a face is given by fcm
.
- Note
- If the removal of the connected components makes
pmesh
a non-manifold surface, then the behavior of this function is undefined.
Property maps for CGAL::vertex_index_t
should be either available as internal property map to pmesh
or provided as Named Parameters.
- Template 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. |
- Parameters
-
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 |
- Named Parameters
-
#include <CGAL/Polygon_mesh_processing/connected_components.h>
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.
Property maps for CGAL::face_index_t
and CGAL::vertex_index_t
should be either available as internal property maps to pmesh
or provided as Named Parameters.
- Note
- If the removal of the connected components makes
pmesh
a non-manifold surface, then the behavior of this function is undefined.
- Template Parameters
-
- Parameters
-
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 described below |
- Named Parameters
-
#include <CGAL/Polygon_mesh_processing/connected_components.h>