\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.12 - 3D Boolean Operations on Nef Polyhedra
CGAL::Nef_nary_union_3< Nef_polyhedron_3 > Class Template Reference

#include <CGAL/Nef_nary_union_3.h>


This class helps to perform the union of a set of 3D Nef polyhedra efficiently.

It succesively applies the binary union operation of Nef_polyhedron_3, but schedules these union operations in an opportune way. The class is most efficient, if the polyhedra are added in sorted order. Any order that reflects proximity in the three-dimensional space is helpful. To allow saving memory space, the sorting is left to the user. This way the user can generate the polyhedra in a sorted way and add them one by one to Nef_nary_union_3.

Template Parameters
NefPolyhedron_3must be an instantiation of the class template Nef_polyhedron_3.


 Nef_nary_union_3 ()
 initialization only.

Member Functions

NefPolyhedron_3 get_union () const
 returns the union of the polyhedra previously added to the class.
void add_polyhedron (const NefPolyhedron_3 &N)
 adds a polyhedron.