CGAL 4.7 - Triangulated Surface Mesh Simplification: EdgeProfile Concept Reference

\( \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.7 - Triangulated Surface Mesh Simplification

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
EdgeProfile Concept Reference
Concepts

## Definition

The concept `EdgeProfile` describes the requirements for a data structure that caches the local topology and geometry in the surroundings of a halfedge.

This profile is used by the stop, cost and placement policies.

Has Models:
  `CGAL::Surface_mesh_simplification::Edge_profile<ECM>`

## Types

typedef unspecified_type | ECM
| The type of the surface mesh to simplify. More...
typedef unspecified_type | VertexPointMap
| The type of a property map that maps vertices on points.
boost::graph_traits< ECM > ::vertex_descriptor | vertex_descriptor
| A Bgl vertex descriptor representing a vertex of the surface mesh.
boost::graph_traits< ECM > ::halfedge_descriptor | halfedge_descriptor
| A Bgl halfedge descriptor representing a haledge of the surface mesh.
boost::property_traits < VertexPointMap >::value_type | Point
| The point type for the surface mesh vertex. More...
CGAL::Kernel_traits< Point > ::Kernel::FT | FT
| The coordinate type of points.

## Access Functions

vertex_descriptor | v0 () const
| One of vertices of the edge to be collapsed.
vertex_descriptor | v1 () const
| The other vertex of the edge to be collapsed.
halfedge_descriptor | v0_v1 () const
| One of the directed edges corresponding to the halfedge being collapsed.
halfedge_descriptor | v1_v0 () const
| The other directed edge corresponding to the halfedge being collapsed.
Point const & | p0 () const
| The point of vertex `v0`.
Point const & | p1 () const
| The point of vertex `v1`.
vertex_descriptor | vL () const
| If `v0v1` belongs to a finite face (is not a border edge) the third vertex of that triangular face, a null descriptor otherwise.
halfedge_descriptor | v1_vL () const
| If `v0v1` belongs to a finite face (is not a border edge) the directed edge from `v1` to `vL`, a null descriptor otherwise.
halfedge_descriptor | vL_v0 () const
| If `v0v1` belongs to a finite face (is not a border edge) the directed edge from `vL` to `v0`, a null descriptor otherwise.
vertex_descriptor | vR () const
| If `v1v0` belongs to a finite face (is not a border edge) the third vertex of that triangular face, a null descriptor otherwise.
halfedge_descriptor | v0_vR () const
| If `v1v0` belongs to a finite face (is not a border edge) the directed edge from `v0` to `vR`, a null descriptor otherwise.
halfedge_descriptor | vR_v1 () const
| If `v1v0` belongs to a finite face (is not a border edge) the directed edge from `vR` to `v1`, a null descriptor otherwise.
std::vector< vertex_descriptor > | link () const
| The unique sequence of the vertices around `v0v1` in topological order (ccw or cw depending on the relative ordering of `v0` and `v1` in the profile). More...
std::vector< halfedge_descriptor > | border_edges () const
| The unique collection of the border directed edges incident upon `v0` and `v1`.
bool | left_face_exists () const
| Indicates if `v0v1` belongs to a finite face of the surface mesh (i.e, `v0v1` is not a border edge).
bool | right_face_exists () const
| Indicates if `v0v1` belongs to a finite face of the surface mesh (i.e, `v1v0` is not a border edge).
const ECM & | surface_mesh () const
| Returns the surface mesh the edge belongs to.
VertexPointMap | vertex_point_map () const
| Returns the vertex point property map.

## Member Typedef Documentation

typedef unspecified_type EdgeProfile::ECM

The type of the surface mesh to simplify.

Must be a model of the `EdgeCollapsableSurfaceMesh` concept.

## Member Function Documentation

std::vector<vertex_descriptor> EdgeProfile::link | ( | ) |  | const

The unique sequence of the vertices around `v0v1` in topological order (ccw or cw depending on the relative ordering of `v0` and `v1` in the profile).

The sequence may have duplicates, but when this happens the edge is not collapsible.

## Member Data Documentation

boost::property_traits<VertexPointMap>::value_type EdgeProfile::Point

The point type for the surface mesh vertex.

Must be a model of `Point_3`.