EdgeProfile

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.

Types

EdgeProfile::ECM
The type of the surface to simplify. Must be a model of the EdgeCollapsableMesh concept.

typename boost::graph_traits<ECM>::vertex_descriptor
vertex_descriptor; A Bgl vertex descriptor representing a vertex of the surface.
typename boost::graph_traits<ECM>::edge_descriptor
edge_descriptor; A Bgl edge descriptor representing an edge of the surface.
typename CGAL::halfedge_graph_traits<ECM>::Point
Point; The point type for the surface vertex. Must be a model of Point_3.

Access Functions

vertex_descriptor ep.v0 () const One of vertices of the edge to be collapsed.
vertex_descriptor ep.v1 () const The other vertex of the edge to be collapsed.
edge_descriptor ep.v0v1 () const One of the directed edges corresponding to the undirected edge being collapsed.
edge_descriptor ep.v1v0 () const The other directed edge corresponding to the undirected edge being collapsed.
Point ep.p0 () const The point of vertex v0.
Point ep.p1 () const The point of vertex v1.
vertex_descriptor ep.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 ep.v1vL () const If v0v1 belongs to a finite face (is not a border edge) the directed edge from v1 to vL, a null descriptor otherwise.
edge_descriptor ep.vLv0 () 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 ep.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 ep.v0vR () const If v1v0 belongs to a finite face (is not a border edge) the directed edge from v0 to vR, a null descriptor otherwise.
edge_descriptor ep.vRv1 () 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> ep.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).
std::vector<edge_descriptor> ep.border_edges () const The unique collection of the border directed edges incident upon v0 and v1.
bool ep.left_face_exits () const Indicates if v0v1 belongs to a finite face of the mesh (i.e, v0v1 is not a border edge).
bool ep.right_face_exits () const Indicates if v0v1 belongs to a finite face of the mesh (i.e, v1v0 is not a border edge).

Has Models

CGAL::Surface_mesh_simplification::Edge_profile<ECM>