Concept

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 const& ep.p0 () const The point of vertex v0.
Point const& 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>