\( \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.7 - 3D Boolean Operations on Nef Polyhedra
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL::Nef_nary_union_3< Nef_polyhedron_3 > Class Template Reference

#include <CGAL/Nef_nary_union_3.h>

Definition

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.

Creation

 Nef_nary_union_3 ()
 initialization only. More...
 

Member Functions

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

Constructor & Destructor Documentation

template<typename Nef_polyhedron_3 >
CGAL::Nef_nary_union_3< Nef_polyhedron_3 >::Nef_nary_union_3 ( )

initialization only.

Member Function Documentation

template<typename Nef_polyhedron_3 >
void CGAL::Nef_nary_union_3< Nef_polyhedron_3 >::add_polyhedron ( const NefPolyhedron_3 &  N)

adds a polyhedron.

template<typename Nef_polyhedron_3 >
NefPolyhedron_3 CGAL::Nef_nary_union_3< Nef_polyhedron_3 >::get_union ( ) const

returns the union of the polyhedra previously added to the class.