CGAL 5.1 - 3D Boolean Operations on Nef Polyhedra
|
#include <CGAL/Nef_polyhedron_3.h>
A Halfedge has a double meaning. In the global incidence structure of a Nef_polyhedron_3
it is an oriented edge going from one vertex to another. A halfedge also coincides with an svertex of the sphere map of its source vertex. Because of this, we offer the types Halfedge
and SVertex
which are the same. Furthermore, the redundant functions center_vertex()
and source()
are provided. The reason is, that we get the same vertex either if we want to have the source vertex of a halfedge, or if we want to have the vertex in the center of the sphere map a svertex lies on. Figures figureNef3HalfedgeIncidences and figureNef3FacetIncidences illustrate the incidence of a svertex on a sphere map and of a halfedge in the global structure.
As part of the global incidence structure, the member fuctions source
and target
return the source and target vertex of an edge. The member function twin()
returns the opposite halfedge.
Looking at the incidence structure on a sphere map, the member function out_sedge
returns the first outgoing shalfedge, and incident_sface
returns the incident sface.
Creation
There is no need for a user to create a Halfedge
explicitly. The class Nef_polyhedron_3<Traits>
manages the needed halfedges internally.
Types | |
The following types are the same as in | |
typedef unspecified_type | Mark |
type of mark. More... | |
typedef unspecified_type | Sphere_point |
sphere point type stored in Halfedge. More... | |
typedef unspecified_type | Vertex_const_handle |
const handle to vertex. More... | |
typedef unspecified_type | Halfedge_const_handle |
const handle to halfedge. 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 e . More... | |
const Sphere_point & | point () const |
the sphere point of e . More... | |
bool | is_isolated () const |
returns |true| if e has no adjacent sedges. More... | |
Vertex_const_handle | center_vertex () const |
the center vertex of the sphere map e belongs to. More... | |
Vertex_const_handle | source () const |
the source vertex of e . More... | |
Vertex_const_handle | target () const |
the target vertex e . More... | |
Halfedge_const_handle | twin () const |
the twin of e . More... | |
SHalfedge_const_handle | out_sedge () const |
the first out sedge of e . More... | |
SFace_const_handle | incident_sface () const |
the incident sface of e . More... | |
typedef unspecified_type CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halfedge::Halfedge_const_handle |
const handle to halfedge.
typedef unspecified_type CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halfedge::Mark |
type of mark.
typedef unspecified_type CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halfedge::SFace_const_handle |
const handle to SFace.
typedef unspecified_type CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halfedge::SHalfedge_const_handle |
const handle to SHalfedge.
typedef unspecified_type CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halfedge::Sphere_point |
sphere point type stored in Halfedge.
typedef unspecified_type CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halfedge::Vertex_const_handle |
const handle to vertex.
Vertex_const_handle CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halfedge::center_vertex | ( | ) | const |
the center vertex of the sphere map e
belongs to.
SFace_const_handle CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halfedge::incident_sface | ( | ) | const |
the incident sface of e
.
bool CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halfedge::is_isolated | ( | ) | const |
returns |true| if e
has no adjacent sedges.
const Mark& CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halfedge::mark | ( | ) | const |
the mark of e
.
SHalfedge_const_handle CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halfedge::out_sedge | ( | ) | const |
the first out sedge of e
.
const Sphere_point& CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halfedge::point | ( | ) | const |
the sphere point of e
.
Vertex_const_handle CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halfedge::source | ( | ) | const |
the source vertex of e
.
Vertex_const_handle CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halfedge::target | ( | ) | const |
the target vertex e
.
Halfedge_const_handle CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halfedge::twin | ( | ) | const |
the twin of e
.