CGAL 4.7 - 3D Boolean Operations on Nef Polyhedra
|
#include <CGAL/Nef_polyhedron_3.h>
A 3D Nef polyhedron is a subset of the 3-dimensional space that is the result of forming complements and intersections starting from a finite set H
of 3-dimensional halfspaces.
Nef polyhedra are closed under all binary set operations, i.e., intersection, union, difference, complement, and under the topological operations boundary, closure, and interior.
A 3D Nef polyhedron can be represented by the local pyramids of the minimal elements of its incidence structure. Without going into to much detail, a local pyramid essentially reflects the topologic and geometric situation at a certain location in a point set. For finite polyhedra the minimal elements of the incidence structure are vertices only. This means, that it suffices to model the topological and geometric situation of the vertices. For 3D Nef polyhedra, the local pyramid of a vertex is represented by a planar Nef polyhedra embedded on a sphere.
A Nef_polyhedron_3
consists of vertices V, a sphere map for each vertex in V, edges E, facets F, volumes C, a mark for every item, and an incidence relation on them. Each edge and each facet is represented by two halfedges or two halffacets, respectively.
Template Parameters
The first parameter requires one of the following exact kernels: Homogeneous
, Simple_homogeneous
, Extended_homogeneous
parametrized with Gmpz
, leda_integer
or any other number type modeling \(\mathbb{Z}\), or Cartesian
, Simple_cartesian
, Extended_cartesian
parametrized with Gmpq
, leda_rational
, Quotient<Gmpz>
or any other number type modeling \(\mathbb{Q}\).
The second parameter and the third parameter are for future considerations. Neither Nef_polyhedronItems_3
nor Nef_polyhedronMarks
is specifed, yet. Do not use any other than the default types for these two template parameters.
CGAL::Nef_polyhedron_3::Vertex
CGAL::Nef_polyhedron_3::Halfedge
CGAL::Nef_polyhedron_3::Halffacet
CGAL::Nef_polyhedron_3::Volume
CGAL::Nef_polyhedron_3::SHalfedge
CGAL::Nef_polyhedron_3::SHalfloop
CGAL::Nef_polyhedron_3::SFace
CGAL::Nef_polyhedron_S2<Traits>
CGAL::Polyhedron_3<Traits>
Classes | |
class | Halfedge |
A Halfedge has a double meaning. More... | |
class | Halffacet |
A halffacet is an oriented, rectilinear bounded part of a plane. More... | |
class | Halffacet_cycle_iterator |
The type Halffacet_cycle_iterator iterates over a list of Object_handles . More... | |
class | SFace |
An sface is described by its boundaries. More... | |
class | SFace_cycle_iterator |
The type SFace_cycle_iterator iterates over a list of Object_handles . More... | |
class | SHalfedge |
A shalfedge is a great arc on a sphere map. More... | |
class | SHalfloop |
A shalfloop is a great circle on a sphere map. More... | |
class | Vertex |
A vertex is a point in the 3-dimensional space. More... | |
class | Volume |
A volume is a full-dimensional connected point set in \( \mathbb{R}^3\). More... | |
Types | |
enum | Boundary { EXCLUDED, INCLUDED } |
construction selection. More... | |
enum | Content { EMPTY, COMPLETE } |
construction selection. More... | |
enum | Intersection_mode { CLOSED_HALFSPACE, OPEN_HALFSPACE, PLANE_ONLY } |
intersection selection. More... | |
typedef unspecified_type | Mark |
All object (vertices, edges, etc.) are attributed by a Mark. More... | |
typedef unspecified_type | size_type |
size type of Nef_polyhedron_3 . More... | |
typedef unspecified_type | Vertex_const_handle |
non-mutable handle to a vertex. More... | |
typedef unspecified_type | Halfedge_const_handle |
non-mutable handle to a halfedge. More... | |
typedef unspecified_type | Halffacet_const_handle |
non-mutable handle to a halffacet. More... | |
typedef unspecified_type | Volume_const_handle |
non-mutable handle to a volume. More... | |
typedef unspecified_type | SVertex_const_handle |
non-mutable handle to a svertex. More... | |
typedef unspecified_type | SHalfedge_const_handle |
non-mutable handle to a shalfedge. More... | |
typedef unspecified_type | SHalfloop_const_handle |
non-mutable handle to a shalfloop. More... | |
typedef unspecified_type | SFace_const_handle |
non-mutable handle to a sface. More... | |
typedef unspecified_type | Vertex_const_iterator |
non-mutable iterator over all vertices. More... | |
typedef unspecified_type | Halfedge_const_iterator |
non-mutable iterator over all halfeges. More... | |
typedef unspecified_type | Halffacet_const_iterator |
non-mutable iterator over all halffacets. More... | |
typedef unspecified_type | Volume_const_iterator |
non-mutable iterator over all volumes. More... | |
typedef unspecified_type | SVertex_const_iterator |
non-mutable iterator over all svertices. More... | |
typedef unspecified_type | SHalfedge_const_iterator |
non-mutable iterator over all shalfedges. More... | |
typedef unspecified_type | SHalfloop_const_iterator |
non-mutable iterator over all shalfloops. More... | |
typedef unspecified_type | SFace_const_iterator |
non-mutable iterator over all sfaces. More... | |
typedef unspecified_type | SHalfedge_around_svertex_const_circulator |
non-mutable circulator of shalfedges around a svertex (cw). More... | |
typedef unspecified_type | SHalfedge_around_sface_const_circulator |
non-mutable circulator of shalfedges around a sface (ccw). More... | |
typedef unspecified_type | SHalfedge_around_facet_const_circulator |
non-mutable circulator of shalfedges around a halffacet (ccw). More... | |
typedef unspecified_type | SFace_cycle_const_iterator |
non-mutable iterator over the cylces of a sface. More... | |
typedef unspecified_type | Halffacet_cycle_const_iterator |
non-mutable iterator over the cylces of a halffacet. More... | |
typedef unspecified_type | Shell_entry_const_iterator |
non-mutable iterator providing an entry to each shell. More... | |
typedef unspecified_type | Object_handle |
a generic handle to an object. More... | |
typedef unspecified_type | Point_3 |
location of vertices. More... | |
typedef unspecified_type | Segment_3 |
segment represented by a halfedge. More... | |
typedef unspecified_type | Vector_3 |
direction of a halfedge. More... | |
typedef unspecified_type | Plane_3 |
plane of a halffacet lies in. More... | |
typedef unspecified_type | Aff_transformation_3 |
affine transformation. More... | |
typedef unspecified_type | Polylines_tag |
tag for calling polyline constructor. More... | |
typedef unspecified_type | Nef_polyhedron_S2 |
a sphere map. More... | |
typedef unspecified_type | Polyhedron |
a polyhedral surface. More... | |
Creation | |
Nef_polyhedron_3 (Content space=EMPTY) | |
creates a Nef polyhedron and initializes it to the empty set if plane == EMPTY and to the whole space if space == COMPLETE . More... | |
Nef_polyhedron_3 (const Plane_3 &p, Boundary b=INCLUDED) | |
creates a Nef polyhedron containing the halfspace on the negative side of p including p if b==INCLUDED , excluding p if b==EXCLUDED . More... | |
Nef_polyhedron_3 (Polyhedron &P) | |
creates a Nef polyhedron, which represents the same point set as the polyhedral surface P does. More... | |
Nef_polyhedron_3 (Input_iterator begin, Input_iterator end) | |
creates a Nef polyhedron consisting of a single polygon spanned by the list of points in the iterator range [begin,end) . More... | |
template<class Forward_iterator > | |
Nef_polyhedron_3 (Forward_iterator it, Forward_iterator end, Polylines_tag) | |
The iterator range [it, end) defines a set point ranges, each of which defines a polyline. More... | |
Access Member Functions | |
The following macros are provided: | |
bool | is_simple () const |
returns true, if N is a 2-manifold. More... | |
bool | is_valid () const |
checks the integrity of N . More... | |
Size_type | number_of_vertices () const |
returns the number of vertices. More... | |
Size_type | number_of_halfedges () const |
return the number of halfedges. More... | |
Size_type | number_of_edges () const |
returns the number of halfedge pairs. More... | |
Size_type | number_of_halffacets () const |
returns the number of halffacets. More... | |
Size_type | number_of_facets () const |
returns the number of halffacet pairs. More... | |
Size_type | number_of_volumes () const |
returns the number of volumes. More... | |
Vertex_const_iterator | vertices_begin () const |
iterator over all vertices. More... | |
Vertex_const_iterator | vertices_end () const |
past-the-end iterator. More... | |
Halfedge_const_iterator | halfedges_begin () const |
iterator over all halfedges. More... | |
Halfedge_const_iterator | halfedges_end () const |
past-the-end iterator. More... | |
Halffacet_const_iterator | halffacets_begin () const |
iterator over all halffacets. More... | |
Halffacet_const_iterator | halffacets_end () const |
past-the-end iterator. More... | |
Volume_const_iterator | volumes_begin () const |
iterator over all volumes. More... | |
Volume_const_iterator | volumes_end () const |
past-the-end iterator. More... | |
Object_handle | locate (const Point_3 &p) const |
returns a generic handle to the object (vertex, edge, facet or volume) which contains the point p in its relative interior. More... | |
Nef_polyhedron_S2 | get_sphere_map (Vertex_const_iterator v) const |
returns the neighborhood of a vertex modeled by a Nef_polyhedron_S2 . More... | |
Point Set Predicates | |
bool | is_empty () const |
returns true, if N is the empty point set. More... | |
bool | is_space () const |
returns true, if N is the complete 3D space. More... | |
bool | operator== (const Nef_polyhedron_3< Traits > &N1) const |
returns true, if N and N1 comprise the same point sets. More... | |
bool | operator!= (const Nef_polyhedron_3< Traits > &N1) const |
returns true, if N and N1 comprise different point sets. More... | |
bool | operator< (const Nef_polyhedron_3< Traits > &N1) const |
returns true, if N is a proper subset of N1. More... | |
bool | operator> (const Nef_polyhedron_3< Traits > &N1) const |
returns true, if N is a proper superset of N1. More... | |
bool | operator<= (const Nef_polyhedron_3< Traits > &N1) const |
returns true, if N is a subset of N1. More... | |
bool | operator>= (const Nef_polyhedron_3< Traits > &N1) const |
returns true, if N is a superset of N1. More... | |
Unary Set Operations | |
Nef_polyhedron_3< Traits > | complement () const |
returns the complement of N . More... | |
Nef_polyhedron_3< Traits > | interior () const |
returns the interior of N . More... | |
Nef_polyhedron_3< Traits > | boundary () const |
returns the boundary of N . More... | |
Nef_polyhedron_3< Traits > | closure () const |
returns the closure of N . More... | |
Nef_polyhedron_3< Traits > | regularization () const |
returns the regularization, i.e. the closure of the interior, of N . More... | |
Nef_polyhedron_3< Traits > | operator! () const |
returns the complement of N . More... | |
Binary Set Operations | |
Nef_polyhedron_3< Traits > | intersection (const Nef_polyhedron_3< Traits > &N1) const |
return the intersection of N and N1. More... | |
Nef_polyhedron_3< Traits > | join (const Nef_polyhedron_3< Traits > &N1) const |
return the union of N and N1. More... | |
Nef_polyhedron_3< Traits > | difference (const Nef_polyhedron_3< Traits > &N1) const |
return the difference between N and N1. More... | |
Nef_polyhedron_3< Traits > | symmetric_difference (const Nef_polyhedron_3< Traits > &N1) const |
return the symmetric difference of N and N1. More... | |
Nef_polyhedron_3< Traits > | intersection (const Plane_3 &p, Intersection_mode im) const |
returns intersection of N with plane (im=PLANE_ONLY ), open halfspace (im=OPEN_HALFSPACE ), or closed halfspace (im=CLOSED_HALFSPACE ). More... | |
Nef_polyhedron_3< Traits > | operator* (const Nef_polyhedron_3< Traits > &N1) const |
return the intersection of N and N1. More... | |
Nef_polyhedron_3< Traits > | operator+ (const Nef_polyhedron_3< Traits > &N1) const |
return the union of N and N1. More... | |
Nef_polyhedron_3< Traits > | operator- (const Nef_polyhedron_3< Traits > &N1) const |
return the difference between N and N1. More... | |
Nef_polyhedron_3< Traits > | operator^ (const Nef_polyhedron_3< Traits > &N1) const |
return the symmetric difference of N and N1. More... | |
void | operator*= (const Nef_polyhedron_3< Traits > &N1) |
intersects N and N1. More... | |
void | operator+= (const Nef_polyhedron_3< Traits > &N1) |
unites N with N1. More... | |
void | operator-= (const Nef_polyhedron_3< Traits > &N1) |
subtracts N1 from N . More... | |
void | operator^= (const Nef_polyhedron_3< Traits > &N1) |
performs a symmetric intersection of N and N1. More... | |
Operations | |
void | clear (Content space=EMPTY) |
make N the empty set if space == EMPTY and the complete 3D space if space == COMPLETE . More... | |
void | transform (const Aff_transformation_3 &aff) |
applies an affine transformation to N . More... | |
void | convert_to_polyhedron (Polyhedron &P) const |
converts N into a Polyhedron. More... | |
void | visit_shell_objects (SFace_const_handle f, Visitor &V) const |
calls the visit function of V for every item which belongs to the same shell as sf . More... | |
CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Nef_polyhedron_3 | ( | Content | space = EMPTY | ) |
creates a Nef polyhedron and initializes it to the empty set if plane == EMPTY
and to the whole space if space == COMPLETE
.
CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Nef_polyhedron_3 | ( | const Plane_3 & | p, |
Boundary | b = INCLUDED |
||
) |
creates a Nef polyhedron containing the halfspace on the negative side of p
including p
if b==INCLUDED
, excluding p
if b==EXCLUDED
.
CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Nef_polyhedron_3 | ( | Polyhedron & | P | ) |
creates a Nef polyhedron, which represents the same point set as the polyhedral surface P
does.
CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Nef_polyhedron_3 | ( | Input_iterator | begin, |
Input_iterator | end | ||
) |
creates a Nef polyhedron consisting of a single polygon spanned by the list of points in the iterator range [begin,end)
.
If the points do not on a common supporting plane, the constructor tries to triangulate the polygon into multiple facets.If the construction does not succeed, the empty set is created.
CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Nef_polyhedron_3 | ( | Forward_iterator | it, |
Forward_iterator | end, | ||
Polylines_tag | |||
) |
The iterator range [it, end) defines a set point ranges, each of which defines a polyline.
Nef_polyhedron_3<Traits> CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::boundary | ( | ) | const |
returns the boundary of N
.
void CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::clear | ( | Content | space = EMPTY | ) |
make N
the empty set if space == EMPTY
and the complete 3D space if space == COMPLETE
.
Nef_polyhedron_3<Traits> CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::closure | ( | ) | const |
returns the closure of N
.
Nef_polyhedron_3<Traits> CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::complement | ( | ) | const |
returns the complement of N
.
void CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::convert_to_polyhedron | ( | Polyhedron & | P | ) | const |
converts N
into a Polyhedron.
N
is simple. Nef_polyhedron_3<Traits> CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::difference | ( | const Nef_polyhedron_3< Traits > & | N1 | ) | const |
return the difference between N
and N1.
Nef_polyhedron_S2 CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::get_sphere_map | ( | Vertex_const_iterator | v | ) | const |
returns the neighborhood of a vertex modeled by a Nef_polyhedron_S2
.
Halfedge_const_iterator CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::halfedges_begin | ( | ) | const |
iterator over all halfedges.
Halfedge_const_iterator CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::halfedges_end | ( | ) | const |
past-the-end iterator.
Halffacet_const_iterator CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::halffacets_begin | ( | ) | const |
iterator over all halffacets.
Halffacet_const_iterator CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::halffacets_end | ( | ) | const |
past-the-end iterator.
Nef_polyhedron_3<Traits> CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::interior | ( | ) | const |
returns the interior of N
.
Nef_polyhedron_3<Traits> CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::intersection | ( | const Nef_polyhedron_3< Traits > & | N1 | ) | const |
return the intersection of N
and N1.
Nef_polyhedron_3<Traits> CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::intersection | ( | const Plane_3 & | p, |
Intersection_mode | im | ||
) | const |
returns intersection of N
with plane (im=PLANE_ONLY
), open halfspace (im=OPEN_HALFSPACE
), or closed halfspace (im=CLOSED_HALFSPACE
).
In the latter two cases, the halfspaces are on the negative side of the plane p
. The function is written for the use with standard kernels, where halfspaces are not part of the domain. The function does not work in combination with an extended kernels or with an unbounded polyhedron.
bool CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::is_empty | ( | ) | const |
returns true, if N
is the empty point set.
bool CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::is_simple | ( | ) | const |
returns true, if N
is a 2-manifold.
bool CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::is_space | ( | ) | const |
returns true, if N
is the complete 3D space.
bool CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::is_valid | ( | ) | const |
checks the integrity of N
.
Nef_polyhedron_3<Traits> CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::join | ( | const Nef_polyhedron_3< Traits > & | N1 | ) | const |
return the union of N
and N1.
(Note that ''union'' is a C++ keyword and cannot be used for this operation.)
Object_handle CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::locate | ( | const Point_3 & | p | ) | const |
returns a generic handle to the object (vertex, edge, facet or volume) which contains the point p in its relative interior.
Size_type CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::number_of_edges | ( | ) | const |
returns the number of halfedge pairs.
Size_type CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::number_of_facets | ( | ) | const |
returns the number of halffacet pairs.
Size_type CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::number_of_halfedges | ( | ) | const |
return the number of halfedges.
Size_type CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::number_of_halffacets | ( | ) | const |
returns the number of halffacets.
Size_type CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::number_of_vertices | ( | ) | const |
returns the number of vertices.
Size_type CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::number_of_volumes | ( | ) | const |
returns the number of volumes.
Nef_polyhedron_3<Traits> CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::operator! | ( | ) | const |
returns the complement of N
.
bool CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::operator!= | ( | const Nef_polyhedron_3< Traits > & | N1 | ) | const |
returns true, if N
and N1 comprise different point sets.
Nef_polyhedron_3<Traits> CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::operator* | ( | const Nef_polyhedron_3< Traits > & | N1 | ) | const |
return the intersection of N
and N1.
void CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::operator*= | ( | const Nef_polyhedron_3< Traits > & | N1 | ) |
intersects N
and N1.
Nef_polyhedron_3<Traits> CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::operator+ | ( | const Nef_polyhedron_3< Traits > & | N1 | ) | const |
return the union of N
and N1.
void CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::operator+= | ( | const Nef_polyhedron_3< Traits > & | N1 | ) |
unites N
with N1.
Nef_polyhedron_3<Traits> CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::operator- | ( | const Nef_polyhedron_3< Traits > & | N1 | ) | const |
return the difference between N
and N1.
void CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::operator-= | ( | const Nef_polyhedron_3< Traits > & | N1 | ) |
subtracts N1 from N
.
bool CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::operator< | ( | const Nef_polyhedron_3< Traits > & | N1 | ) | const |
returns true, if N
is a proper subset of N1.
bool CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::operator<= | ( | const Nef_polyhedron_3< Traits > & | N1 | ) | const |
returns true, if N
is a subset of N1.
bool CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::operator== | ( | const Nef_polyhedron_3< Traits > & | N1 | ) | const |
returns true, if N
and N1 comprise the same point sets.
bool CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::operator> | ( | const Nef_polyhedron_3< Traits > & | N1 | ) | const |
returns true, if N
is a proper superset of N1.
bool CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::operator>= | ( | const Nef_polyhedron_3< Traits > & | N1 | ) | const |
returns true, if N
is a superset of N1.
Nef_polyhedron_3<Traits> CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::operator^ | ( | const Nef_polyhedron_3< Traits > & | N1 | ) | const |
return the symmetric difference of N
and N1.
void CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::operator^= | ( | const Nef_polyhedron_3< Traits > & | N1 | ) |
performs a symmetric intersection of N
and N1.
Nef_polyhedron_3<Traits> CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::regularization | ( | ) | const |
returns the regularization, i.e. the closure of the interior, of N
.
Nef_polyhedron_3<Traits> CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::symmetric_difference | ( | const Nef_polyhedron_3< Traits > & | N1 | ) | const |
return the symmetric difference of N
and N1.
void CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::transform | ( | const Aff_transformation_3 & | aff | ) |
applies an affine transformation to N
.
Vertex_const_iterator CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::vertices_begin | ( | ) | const |
iterator over all vertices.
Vertex_const_iterator CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::vertices_end | ( | ) | const |
past-the-end iterator.
void CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::visit_shell_objects | ( | SFace_const_handle | f, |
Visitor & | V | ||
) | const |
calls the visit function of V
for every item which belongs to the same shell as sf
.
Volume_const_iterator CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::volumes_begin | ( | ) | const |
iterator over all volumes.
Volume_const_iterator CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::volumes_end | ( | ) | const |
past-the-end iterator.