CGAL 5.1 - 3D Boolean Operations on Nef Polyhedra
|
#include <CGAL/Nef_polyhedron_3.h>
A shalfedge is a great arc on a sphere map. Figure figureNef3HalfedgeIncidences 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.
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 figureNef3FacetIncidences. 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
.
Creation
There is no need for a user to create a SHalfedge
explicitly. The class Nef_polyhedron_3<Traits>
manages the needed shalfedges internally.
Types | |
The following types are the same as in | |
typedef unspecified_type | Mark |
type of mark. More... | |
typedef unspecified_type | Sphere_circle |
sphere circle type stored in SHalfedge. More... | |
typedef unspecified_type | Halffacet_const_handle |
const handle to Halffacet. More... | |
typedef unspecified_type | SVertex_const_handle |
const handle to SVertex. More... | |
typedef unspecified_type | SHalfedge_const_handle |
const handle to SHalfedge. More... | |
typedef unspecified_type | SFace_const_handle |
const handle to SFace. More... | |
Operations | |
const Mark & | mark () const |
the mark of se . More... | |
const Sphere_circle & | circle () const |
the sphere circle of se . More... | |
SHalfedge_const_handle | twin () const |
the twin of se . More... | |
SVertex_const_handle | source () const |
the source svertex of se . More... | |
SVertex_const_handle | target () const |
equals twin()->source() . More... | |
SHalfedge_const_handle | prev () const |
the SHalfedge previous to se in a facet cycle. More... | |
SHalfedge_const_handle | next () const |
the next SHalfedge of se in a facet cycle. More... | |
SHalfedge_const_handle | sprev () const |
the SHalfedge previous to se in a sface cycle. More... | |
SHalfedge_const_handle | snext () const |
the next SHalfedge of se in a sface cycle. More... | |
SHalfedge_const_handle | cyclic_adj_pred () const |
the edge before se in the cyclic ordered adjacency list of source(). More... | |
SHalfedge_const_handle | cyclic_adj_succ () const |
the edge after se in the cyclic ordered adjacency list of source(). More... | |
Halffacet_const_handle | facet () const |
the facet that corresponds to se in the 3D incidence structure. More... | |
SFace_const_handle | incident_sface () const |
the incident sface of se . More... | |
bool | in_outer_sface_cycle () const |
determines whether se is in an outer sface cycle. More... | |
bool | in_inner_sface_cycle () const |
determines whether se is in an inner sface cycle. More... | |
bool | in_outer_facet_cycle () const |
determines whether se is in an outer facet cycle. More... | |
bool | in_inner_facet_cycle () const |
determines whether se is in an inner facet cycle. More... | |
typedef unspecified_type CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::SHalfedge::Halffacet_const_handle |
const handle to Halffacet.
typedef unspecified_type CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::SHalfedge::Mark |
type of mark.
typedef unspecified_type CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::SHalfedge::SFace_const_handle |
const handle to SFace.
typedef unspecified_type CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::SHalfedge::SHalfedge_const_handle |
const handle to SHalfedge.
typedef unspecified_type CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::SHalfedge::Sphere_circle |
sphere circle type stored in SHalfedge.
typedef unspecified_type CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::SHalfedge::SVertex_const_handle |
const handle to SVertex.
const Sphere_circle& CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::SHalfedge::circle | ( | ) | const |
the sphere circle of se
.
SHalfedge_const_handle CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::SHalfedge::cyclic_adj_pred | ( | ) | const |
the edge before se
in the cyclic ordered adjacency list of source().
SHalfedge_const_handle CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::SHalfedge::cyclic_adj_succ | ( | ) | const |
the edge after se
in the cyclic ordered adjacency list of source().
Halffacet_const_handle CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::SHalfedge::facet | ( | ) | const |
the facet that corresponds to se
in the 3D incidence structure.
bool CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::SHalfedge::in_inner_facet_cycle | ( | ) | const |
determines whether se
is in an inner facet cycle.
bool CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::SHalfedge::in_inner_sface_cycle | ( | ) | const |
determines whether se
is in an inner sface cycle.
bool CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::SHalfedge::in_outer_facet_cycle | ( | ) | const |
determines whether se
is in an outer facet cycle.
bool CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::SHalfedge::in_outer_sface_cycle | ( | ) | const |
determines whether se
is in an outer sface cycle.
SFace_const_handle CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::SHalfedge::incident_sface | ( | ) | const |
the incident sface of se
.
const Mark& CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::SHalfedge::mark | ( | ) | const |
the mark of se
.
SHalfedge_const_handle CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::SHalfedge::next | ( | ) | const |
the next SHalfedge of se
in a facet cycle.
SHalfedge_const_handle CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::SHalfedge::prev | ( | ) | const |
the SHalfedge previous to se
in a facet cycle.
SHalfedge_const_handle CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::SHalfedge::snext | ( | ) | const |
the next SHalfedge of se
in a sface cycle.
SVertex_const_handle CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::SHalfedge::source | ( | ) | const |
the source svertex of se
.
SHalfedge_const_handle CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::SHalfedge::sprev | ( | ) | const |
the SHalfedge previous to se
in a sface cycle.
SVertex_const_handle CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::SHalfedge::target | ( | ) | const |
SHalfedge_const_handle CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::SHalfedge::twin | ( | ) | const |
the twin of se
.