CGAL::Nef_polyhedron_3<Traits>::SHalfedge
Definition
A shalfedge is a great arc on a sphere map.
Figure
depicts the relationship between a shalfedge and its incident
shalfedges, svertices, and sfaces on a sphere map. A shalfedge is
an oriented sedge between two svertices. It is always paired with a
shalfedge pointing in
the opposite direction. The twin() member function returns
this shalfedge of opposite orientation.
Figure:
The snext() member function points
to the successor shalfedge around this sface while the sprev() member
function points to the preceding shalfedge. An
successive assignments of the form se = se->snext() cycles
counterclockwise around the sface (or hole).
Similarly, the successive
assignments of the form se = se->snext()->twin() cycle
clockwise around the svertex and traverse all halfedges incident to
this svertex. The assignment se = se->cyclic_adj_succ() can be
used as a shortcut.
The role of shalfedges in a facet is illustrated in
Figure
. The facet() member function returns the facet
in which
the shalfedge is part of one of the facet cycles. The successive assignment of
the form se = se->next() cycles counterclockwise around the facet (or a
hole of the facet).
A const circulators is provided for each of the three circular orders.
The circulators are bidirectional and assignable to SHalfedge_const_handle.
#include <CGAL/Nef_polyhedron_3.h>
Types
The following types are the same as in Nef_polyhedron_3<Traits>.
Nef_polyhedron_3<Traits>::SHalfedge::Mark
|
|
type of mark.
|
|
Nef_polyhedron_3<Traits>::SHalfedge::Sphere_circle
|
|
sphere circle type stored in SHalfedge.
|
|
Nef_polyhedron_3<Traits>::SHalfedge::Halffacet_const_handle
|
|
const handle to Halffacet.
|
Nef_polyhedron_3<Traits>::SHalfedge::SVertex_const_handle
|
|
const handle to SVertex.
|
Nef_polyhedron_3<Traits>::SHalfedge::SHalfedge_const_handle
|
|
const handle to SHalfedge.
|
Nef_polyhedron_3<Traits>::SHalfedge::SFace_const_handle
|
|
const handle to SFace.
|
Creation
There is no need for a user to create a SHalfedge explicitly. The
class Nef_polyhedron_3<Traits> manages the needed shalfedges internally.
Operations
Mark
|
se.mark ()
|
the mark of se .
|
|
Sphere_circle
|
se.circle ()
|
the sphere circle of se .
|
|
SHalfedge_const_handle
|
se.twin ()
|
the twin of se .
|
|
SVertex_const_handle
|
se.source ()
|
the source svertex of se .
|
|
SVertex_const_handle
|
se.target ()
|
equals twin()->source().
|
|
SHalfedge_const_handle
|
se.prev ()
|
the SHalfedge previous to se in a facet cycle.
|
|
SHalfedge_const_handle
|
se.next ()
|
the next SHalfedge of se in a facet cycle.
|
|
SHalfedge_const_handle
|
se.sprev ()
|
the SHalfedge previous to se in a sface cycle.
|
|
SHalfedge_const_handle
|
se.snext ()
|
the next SHalfedge of se in a sface cycle.
|
|
SHalfedge_const_handle
|
se.cyclic_adj_pred ()
|
the edge before se in the cyclic ordered adjacency list of source().
|
|
SHalfedge_const_handle
|
se.cyclic_adj_succ ()
|
the edge after se in the cyclic ordered adjacency list of source().
|
|
Halffacet_const_handle
|
se.facet ()
|
the facet that corresponds to se in the 3D incidence structure.
|
|
SFace_const_handle
|
se.incident_sface ()
|
the incident
sface of se .
|
|
bool
|
se.in_outer_sface_cycle ()
|
determines whether se is
in an outer sface cycle.
|
|
bool
|
se.in_inner_sface_cycle ()
|
determines whether se is
in an inner sface cycle.
|
|
bool
|
se.in_outer_facet_cycle ()
|
determines whether se is
in an outer facet cycle.
|
|
bool
|
se.in_inner_facet_cycle ()
|
determines whether se is
in an inner facet cycle.
|
See Also
CGAL::Nef_polyhedron_3<Traits>::Halfedge
CGAL::Nef_polyhedron_3<Traits>::Halffacet
CGAL::Nef_polyhedron_3<Traits>::SFace
CGAL::Nef_polyhedron_S2<Traits>::Sphere_circle