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