CGAL 5.0.1 - Triangulated Surface Mesh Simplification
|
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.
Types | |
typedef unspecified_type | TriangleMesh |
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< TriangleMesh >::vertex_descriptor | vertex_descriptor |
A Bgl vertex descriptor representing a vertex of the surface mesh. | |
boost::graph_traits< TriangleMesh >::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 TriangleMesh & | surface_mesh () const |
Returns the surface mesh the edge belongs to. | |
VertexPointMap | vertex_point_map () const |
Returns the vertex point property map. | |
The type of the surface mesh to simplify.
Must be a model of the MutableFaceGraph
and HalfedgeListGraph
concepts.
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.
boost::property_traits<VertexPointMap>::value_type EdgeProfile::Point |
The point type for the surface mesh vertex.
Must be a model of Point_3
.