# 3D Boolean Operations on Nef Polyhedra

*Reference Manual*

*Peter Hachenberger, Lutz Kettner, and Michael Seel*

A Nef polyhedron is any point set generated from a finite number of
open halfspaces by set complement and set intersection operations. In
our implementation of Nef polyhedra in 3-dimensional space, we offer a
B-rep data structures that is closed under boolean operations and with
all their generality. Starting from halfspaces (and also directly from
oriented 2-manifolds), we can work with set union, set intersection,
set difference, set complement, interior, exterior, boundary, closure,
and regularization operations. In essence, we can evaluate a CSG-tree
with halfspaces as primitives and convert it into a B-rep
representation.

In fact, we work with two data structures; one that represents the
local neighborhoods of vertices, which is in itself already a complete
description, and a data structure that connects these neighborhoods up
to a global data structure with edges, facets, and volumes. We offer a
rich interface to investigate these data structures, their different
elements and their connectivity. We provide affine (rigid)
tranformations and a point location query operation. We have a custom
file format for storing and reading Nef polyhedra from files. We offer
a simple OpenGL visualization for debugging and illustrations.

## 23.9 Classified Reference Pages

### Classes

*CGAL::Nef_polyhedron_3<Traits>*

*CGAL::Nef_polyhedron_3<Traits>::Vertex*

*CGAL::Nef_polyhedron_3<Traits>::Halfedge*

*CGAL::Nef_polyhedron_3<Traits>::Halffacet*

*CGAL::Nef_polyhedron_3<Traits>::Volume*

*CGAL::Nef_polyhedron_3<Traits>::SHalfedge*

*CGAL::Nef_polyhedron_3<Traits>::SHalfloop*

*CGAL::Nef_polyhedron_3<Traits>::SFace*

*CGAL::Nef_polyhedron_3<Traits>::SFace_cycle_iterator*

### Functions

## 23.10 Alphabetical List of Reference Pages