\( \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.4 - Triangulated Surface Mesh Simplification
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
EdgeProfile Concept Reference

Definition

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

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...
 
boost::graph_traits< ECM >
::vertex_descriptor 
vertex_descriptor
 A Bgl vertex descriptor representing a vertex of the surface mesh. More...
 
boost::graph_traits< ECM >
::edge_descriptor 
edge_descriptor
 A Bgl edge descriptor representing an edge of the surface mesh. More...
 
CGAL::halfedge_graph_traits
< ECM >::Point 
Point
 The point type for the surface mesh vertex. More...
 

Access Functions

vertex_descriptor v0 () const
 One of vertices of the edge to be collapsed. More...
 
vertex_descriptor v1 () const
 The other vertex of the edge to be collapsed. More...
 
edge_descriptor v0_v1 () const
 One of the directed edges corresponding to the undirected edge being collapsed. More...
 
edge_descriptor v1_v0 () const
 The other directed edge corresponding to the undirected edge being collapsed. More...
 
Point const & p0 () const
 The point of vertex v0. More...
 
Point const & p1 () const
 The point of vertex v1. More...
 
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. More...
 
edge_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. More...
 
edge_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. More...
 
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. More...
 
edge_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. More...
 
edge_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. More...
 
std::vector< vertex_descriptorlink () const
 The unique sequence of the vertices around v0v1 in topological order (ccw or ccw depending on the relative ordering of v0 and v1 in the profile). More...
 
std::vector< edge_descriptorborder_edges () const
 The unique collection of the border directed edges incident upon v0 and v1. More...
 
bool left_face_exits () const
 Indicates if v0v1 belongs to a finite face of the surface mesh (i.e, v0v1 is not a border edge). More...
 
bool right_face_exits () const
 Indicates if v0v1 belongs to a finite face of the surface mesh (i.e, v1v0 is not a border edge). More...
 
const ECMsurface_mesh () const
 Returns the surface mesh the edge belongs to. More...
 

Member Typedef Documentation

The type of the surface mesh to simplify.

Must be a model of the EdgeCollapsableSurfaceMesh concept.

Member Function Documentation

std::vector<edge_descriptor> EdgeProfile::border_edges ( ) const

The unique collection of the border directed edges incident upon v0 and v1.

bool EdgeProfile::left_face_exits ( ) const

Indicates if v0v1 belongs to a finite face of the surface mesh (i.e, v0v1 is not a border edge).

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

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

Point const& EdgeProfile::p0 ( ) const

The point of vertex v0.

Point const& EdgeProfile::p1 ( ) const

The point of vertex v1.

bool EdgeProfile::right_face_exits ( ) const

Indicates if v0v1 belongs to a finite face of the surface mesh (i.e, v1v0 is not a border edge).

const ECM& EdgeProfile::surface_mesh ( ) const

Returns the surface mesh the edge belongs to.

vertex_descriptor EdgeProfile::v0 ( ) const

One of vertices of the edge to be collapsed.

edge_descriptor EdgeProfile::v0_v1 ( ) const

One of the directed edges corresponding to the undirected edge being collapsed.

edge_descriptor EdgeProfile::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.

vertex_descriptor EdgeProfile::v1 ( ) const

The other vertex of the edge to be collapsed.

edge_descriptor EdgeProfile::v1_v0 ( ) const

The other directed edge corresponding to the undirected edge being collapsed.

edge_descriptor EdgeProfile::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.

vertex_descriptor EdgeProfile::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.

edge_descriptor EdgeProfile::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 EdgeProfile::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.

edge_descriptor EdgeProfile::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.

Member Data Documentation

boost::graph_traits<ECM>::edge_descriptor EdgeProfile::edge_descriptor

A Bgl edge descriptor representing an edge of the surface mesh.

CGAL::halfedge_graph_traits<ECM>::Point EdgeProfile::Point

The point type for the surface mesh vertex.

Must be a model of Point_3.

boost::graph_traits<ECM>::vertex_descriptor EdgeProfile::vertex_descriptor

A Bgl vertex descriptor representing a vertex of the surface mesh.