\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)

CGAL 4.8 - CGAL and the Boost Graph Library

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Functions
Selection Functions
CGAL and the Boost Graph Library Reference

##

## Functions
template<class FaceRange , class FaceGraph , class IsFaceSelectedPMap , class OutputIterator >
OutputIterator | CGAL::expand_face_selection (const FaceRange &selection, FaceGraph &fg, unsigned int k, IsFaceSelectedPMap is_selected, OutputIterator out)
| Augments a selection with faces of `fg` that are adjacent to a face in `selection`. More...
template<class FaceRange , class FaceGraph , class IsFaceSelectedPMap , class OutputIterator >
OutputIterator | CGAL::reduce_face_selection (const FaceRange &selection, FaceGraph &fg, unsigned int k, IsFaceSelectedPMap is_selected, OutputIterator out)
| Diminishes a selection of faces from faces adjacent to a non-selected face. More...
template<class HalfedgeRange , class FaceGraph , class OutputIterator >
OutputIterator | CGAL::select_incident_faces (const HalfedgeRange &hedges, FaceGraph &fg, OutputIterator out)
| discovers and puts in `out` all faces incident to the target vertex of a halfedge in `hedges`. More...
template<class EdgeRange , class HalfedgeGraph , class IsEdgeSelectedPMap , class OutputIterator >
OutputIterator | CGAL::expand_edge_selection (const EdgeRange &selection, HalfedgeGraph &fg, unsigned int k, IsEdgeSelectedPMap is_selected, OutputIterator out)
| Operations on edges. More...
template<class EdgeRange , class HalfedgeGraph , class IsEdgeSelectedPMap , class OutputIterator >
OutputIterator | CGAL::reduce_edge_selection (const EdgeRange &selection, HalfedgeGraph &fg, unsigned int k, IsEdgeSelectedPMap is_selected, OutputIterator out)
| Diminishes a selection of edges from edges adjacent to a non-selected edge. More...
template<class VertexRange , class HalfedgeGraph , class IsVertexSelectedPMap , class OutputIterator >
OutputIterator | CGAL::expand_vertex_selection (const VertexRange &selection, HalfedgeGraph &fg, unsigned int k, IsVertexSelectedPMap is_selected, OutputIterator out)
| Operations on vertices. More...
template<class VertexRange , class HalfedgeGraph , class IsVertexSelectedPMap , class OutputIterator >
OutputIterator | CGAL::reduce_vertex_selection (const VertexRange &selection, HalfedgeGraph &fg, unsigned int k, IsVertexSelectedPMap is_selected, OutputIterator out)
| Diminishes a selection of vertices from vertices adjacent to a non-selected vertex. More...

## Function Documentation

template<class EdgeRange , class HalfedgeGraph , class IsEdgeSelectedPMap , class OutputIterator >

OutputIterator CGAL::expand_edge_selection | ( | const EdgeRange & | selection,
|  | HalfedgeGraph & | fg,
|  | unsigned int | k,
|  | IsEdgeSelectedPMap | is_selected,
|  | OutputIterator | out
| ) |  |

Operations on edges.

Augments a selection with edges of `fg` that are adjacent to an edge in `selection`. This process is applied `k` times considering all edges added in the previous steps. Two edges are said to be adjacent if they are incident to the same face or vertex. Each new edge added in the selection is added exactly once in `out`.

Template Parameters

  EdgeRange | a range of edge descriptors, model of `Range`. Its iterator type is `InputIterator`.
  FaceGraph | a model of `FaceGraph`.
  IsEdgeSelectedPMap | a model of `ReadWritePropertyMap` with `boost::graph_traits<FaceGraph>::edge_descriptor` as key type and `bool` as value type.
  OutputIterator | an output iterator accepting edge descriptors.

Parameters

  selection | the initial selection of edges that will be expanded.
  fg | the graph containing the selected edges.
  k | the number of times the expansion procedure is iteratively applied.
  is_selected | indicates if an edge is part of the selection. It is updated by the function to accomodate new edges added to the selection.
  out | new edges added to the selection are added exactly once in `out`.

`#include <CGAL/boost/graph/selection.h>`

template<class FaceRange , class FaceGraph , class IsFaceSelectedPMap , class OutputIterator >

OutputIterator CGAL::expand_face_selection | ( | const FaceRange & | selection,
|  | FaceGraph & | fg,
|  | unsigned int | k,
|  | IsFaceSelectedPMap | is_selected,
|  | OutputIterator | out
| ) |  |

Augments a selection with faces of `fg` that are adjacent to a face in `selection`.

This process is applied `k` times considering all faces added in the previous steps. Two faces are said to be adjacent if they share a vertex or an edge. Each new face added in the selection is added exactly once in `out`.

Template Parameters

  FaceRange | a range of face descriptors, model of `Range`. Its iterator type is `InputIterator`.
  FaceGraph | a model of `FaceGraph`.
  IsFaceSelectedPMap | a model of `ReadWritePropertyMap` with `boost::graph_traits<FaceGraph>::face_descriptor` as key type and `bool` as value type.
  OutputIterator | an output iterator accepting face descriptors.

Parameters

  selection | the initial selection of faces that will be expanded.
  fg | the graph containing the selected faces.
  k | the number of times the expansion procedure is iteratively applied.
  is_selected | indicates if a face is part of the selection. It is updated by the function to accomodate new faces added to the selection.
  out | new faces added to the selection are added exactly once in `out`.

`#include <CGAL/boost/graph/selection.h>`

template<class VertexRange , class HalfedgeGraph , class IsVertexSelectedPMap , class OutputIterator >

OutputIterator CGAL::expand_vertex_selection | ( | const VertexRange & | selection,
|  | HalfedgeGraph & | fg,
|  | unsigned int | k,
|  | IsVertexSelectedPMap | is_selected,
|  | OutputIterator | out
| ) |  |

Operations on vertices.

Augments a selection with vertices of `fg` that are adjacent to a vertex in `selection`. This process is applied `k` times considering all vertices added in the previous steps. Two vertices are said to be adjacent if they are part of the same face. Each new vertex added in the selection is added exactly once in `out`.

Template Parameters

  VertexRange | a range of vertex descriptors, model of `Range`. Its iterator type is `InputIterator`.
  FaceGraph | a model of `FaceGraph`.
  IsVertexSelectedPMap | a model of `ReadWritePropertyMap` with `boost::graph_traits<FaceGraph>::vertex_descriptor` as key type and `bool` as value type.
  OutputIterator | an output iterator accepting vertex descriptors.

Parameters

  selection | the initial selection of vertices that will be expanded.
  fg | the graph containing the selected vertices.
  k | the number of times the expansion procedure is iteratively applied.
  is_selected | indicates if a vertex is part of the selection. It is updated by the function to accomodate new vertices added to the selection.
  out | new vertices added to the selection are added exactly once in `out`.

`#include <CGAL/boost/graph/selection.h>`

template<class EdgeRange , class HalfedgeGraph , class IsEdgeSelectedPMap , class OutputIterator >

OutputIterator CGAL::reduce_edge_selection | ( | const EdgeRange & | selection,
|  | HalfedgeGraph & | fg,
|  | unsigned int | k,
|  | IsEdgeSelectedPMap | is_selected,
|  | OutputIterator | out
| ) |  |

Diminishes a selection of edges from edges adjacent to a non-selected edge.

This process is applied `k` times considering all edges removed in the previous steps. Two edges are said to be adjacent if they are incident to the same face or vertex. Each edge removed from the selection is added exactly once in `out`.

Template Parameters

  EdgeRange | a range of edge descriptors, model of `Range`. Its iterator type is `InputIterator`.
  FaceGraph | a model of `FaceGraph`.
  IsEdgeSelectedPMap | a model of `ReadWritePropertyMap` with `boost::graph_traits<FaceGraph>::edge_descriptor` as key type and `bool` as value type.
  OutputIterator | an output iterator accepting edge descriptors.

Parameters

  selection | the initial selection of edges that will be reduced.
  fg | the graph containing the selected edges.
  k | the number of times the reduction procedure is iteratively applied.
  is_selected | indicates if an edge is part of the selection. It is updated by the function to accomodate edges removed from the selection.
  out | edges removed from the selection are added exactly once in `out`.

`#include <CGAL/boost/graph/selection.h>`

template<class FaceRange , class FaceGraph , class IsFaceSelectedPMap , class OutputIterator >

OutputIterator CGAL::reduce_face_selection | ( | const FaceRange & | selection,
|  | FaceGraph & | fg,
|  | unsigned int | k,
|  | IsFaceSelectedPMap | is_selected,
|  | OutputIterator | out
| ) |  |

Diminishes a selection of faces from faces adjacent to a non-selected face.

This process is applied `k` times considering all faces removed in the previous steps. Two faces are said to be adjacent if they share a vertex or an edge. Each face removed from the selection is added exactly once in `out`.

Template Parameters

  FaceRange | a range of face descriptors, model of `Range`. Its iterator type is `InputIterator`.
  FaceGraph | a model of `FaceGraph`.
  IsFaceSelectedPMap | a model of `ReadWritePropertyMap` with `boost::graph_traits<FaceGraph>::face_descriptor` as key type and `bool` as value type.
  OutputIterator | an output iterator accepting face descriptors.

Parameters

  selection | the initial selection of faces that will be expanded.
  fg | the graph containing the selected faces.
  k | the number of times the reduction procedure is iteratively applied.
  is_selected | indicates if a face is part of the selection. It is updated by the function to accomodate faces removed from the selection.
  out | faces removed from the selection are added exactly once in `out`.

update is-selected attribute and output iterator

`#include <CGAL/boost/graph/selection.h>`

template<class VertexRange , class HalfedgeGraph , class IsVertexSelectedPMap , class OutputIterator >

OutputIterator CGAL::reduce_vertex_selection | ( | const VertexRange & | selection,
|  | HalfedgeGraph & | fg,
|  | unsigned int | k,
|  | IsVertexSelectedPMap | is_selected,
|  | OutputIterator | out
| ) |  |

Diminishes a selection of vertices from vertices adjacent to a non-selected vertex.

This process is applied `k` times considering all vertices removed in the previous steps. Two vertices are said to be adjacent if they are part of the same face. Each vertex removed from the selection is added exactly once in `out`.

Template Parameters

  VertexRange | a range of vertex descriptors, model of `Range`. Its iterator type is `InputIterator`.
  FaceGraph | a model of `FaceGraph`.
  IsVertexSelectedPMap | a model of `ReadWritePropertyMap` with `boost::graph_traits<FaceGraph>::vertex_descriptor` as key type and `bool` as value type.
  OutputIterator | an output iterator accepting vertex descriptors.

Parameters

  selection | the initial selection of vertices that will be reduced.
  fg | the graph containing the selected vertices.
  k | the number of times the reduction procedure is iteratively applied.
  is_selected | indicates if a vertex is part of the selection. It is updated by the function to accomodate vertices removed from the selection.
  out | vertices removed from the selection are added exactly once in `out`.

`#include <CGAL/boost/graph/selection.h>`

template<class HalfedgeRange , class FaceGraph , class OutputIterator >

OutputIterator CGAL::select_incident_faces | ( | const HalfedgeRange & | hedges,
|  | FaceGraph & | fg,
|  | OutputIterator | out
| ) |  |

discovers and puts in `out` all faces incident to the target vertex of a halfedge in `hedges`.

Faces are put exactly once in `out`.

Template Parameters

  HalfedgeRange | a range of halfedge descriptors, model of `Range`. Its iterator type is `InputIterator`.
  HalfedgeGraph | a model of `HalfedgeGraph`.
  OutputIterator | an output iterator accepting face descriptors.

Parameters

  hedges | the range a halfedge descriptors consider during the face selection.
  fg | the graph containing the input halfedges.
  out | faces added to the selection are added exactly once in `out`.

`#include <CGAL/boost/graph/selection.h>`