\( \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 - 2D Boolean Operations on Nef Polygons
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
2D Boolean Operations on Nef Polygons Reference

complex-teaser.png
Michael Seel
A Nef polygon is any set that can be obtained from a finite set of open halfspaces by set complement and set intersection operations. Due to the fact that all other binary set operations like union, difference and symmetric difference can be reduced to intersection and complement calculations, Nef polygons are also closed under those operations. Apart from the set complement operation there are more topological unary set operations that are closed in the domain of Nef polygons interior, boundary, and closure.


Introduced in: CGAL 2.3
BibTeX: cgal:s-bonp2-15a
License: GPL
Windows Demo: 2D Nef Polygons
Common Demo Dlls: dlls

Classified Reference Pages

Concepts

Classes

Modules

 Concepts
 

Classes

class  CGAL::Extended_cartesian< FT >
 The class Extended_cartesian serves as a traits class for the class Nef_polyhedron_2<T>. More...
 
class  CGAL::Extended_homogeneous< RT >
 The class Extended_homogeneous serves as a traits class for the class Nef_polyhedron_2<T>. More...
 
class  CGAL::Filtered_extended_homogeneous< RT >
 The class Filtered_extended_homogeneous serves as a traits class for the class Nef_polyhedron_2<T>. More...
 
class  CGAL::Nef_polyhedron_2< T >
 An instance of data type Nef_polyhedron_2<T> is a subset of the plane that is the result of forming complements and intersections starting from a finite set H of halfspaces. More...
 
class  CGAL::Nef_polyhedron_2< T >::Topological_explorer
 An instance D of the data type Topological_explorer is a decorator for interfacing the topological structure of a plane map P (read-only). More...
 
class  CGAL::Nef_polyhedron_2< T >::Explorer
 a decorator to examine the underlying plane map. More...
 

Types

enum  CGAL::Nef_polyhedron_2< T >::Boundary { CGAL::Nef_polyhedron_2< T >::EXCLUDED, CGAL::Nef_polyhedron_2< T >::INCLUDED }
 construction selection. More...
 
enum  CGAL::Nef_polyhedron_2< T >::Content { CGAL::Nef_polyhedron_2< T >::EMPTY, CGAL::Nef_polyhedron_2< T >::COMPLETE }
 construction selection More...
 
enum  CGAL::Nef_polyhedron_2< T >::Location_mode { CGAL::Nef_polyhedron_2< T >::DEFAULT, CGAL::Nef_polyhedron_2< T >::NAIVE, CGAL::Nef_polyhedron_2< T >::LMWT }
 selectionflag for the point location mode. More...
 
typedef unspecified_type CGAL::Nef_polyhedron_2< T >::Line
 the oriented lines modeling halfplanes. More...
 
typedef unspecified_type CGAL::Nef_polyhedron_2< T >::Point
 the affine points of the plane. More...
 
typedef unspecified_type CGAL::Nef_polyhedron_2< T >::Direction
 directions in our plane. More...
 
typedef unspecified_type CGAL::Nef_polyhedron_2< T >::Polygons_tag
 tag for calling polygon constructor. More...
 
typedef unspecified_type CGAL::Nef_polyhedron_2< T >::Polylines_tag
 tag for calling polyline constructor. More...
 
typedef unspecified_type CGAL::Nef_polyhedron_2< T >::Object_handle
 a generic handle to an object of the underlying plane map. More...
 

Typedef Documentation

template<typename T >
typedef unspecified_type CGAL::Nef_polyhedron_2< T >::Direction

directions in our plane.

template<typename T >
typedef unspecified_type CGAL::Nef_polyhedron_2< T >::Line

the oriented lines modeling halfplanes.

template<typename T >
typedef unspecified_type CGAL::Nef_polyhedron_2< T >::Object_handle

a generic handle to an object of the underlying plane map.

The kind of object (vertex, halfedge, face) can be determined and the object can be assigned to a corresponding handle by the three functions:

bool assign(Vertex_const_handle& h, Object_handle)

bool assign(Halfedge_const_handle& h, Object_handle)

bool assign(Face_const_handle& h, Object_handle)

where each function returns true iff the assignment to h was done.

template<typename T >
typedef unspecified_type CGAL::Nef_polyhedron_2< T >::Point

the affine points of the plane.

template<typename T >
typedef unspecified_type CGAL::Nef_polyhedron_2< T >::Polygons_tag

tag for calling polygon constructor.

template<typename T >
typedef unspecified_type CGAL::Nef_polyhedron_2< T >::Polylines_tag

tag for calling polyline constructor.

Enumeration Type Documentation

template<typename T >
enum CGAL::Nef_polyhedron_2::Boundary

construction selection.

Enumerator
EXCLUDED 
INCLUDED 
template<typename T >
enum CGAL::Nef_polyhedron_2::Content

construction selection

Enumerator
EMPTY 
COMPLETE 
template<typename T >
enum CGAL::Nef_polyhedron_2::Location_mode

selectionflag for the point location mode.

LMWT stands for Locally Minimum Weight Triangulation, a locally optimized constrained triangulation where the weight corresponds to the length of the edges of the triangulation.

Enumerator
DEFAULT 
NAIVE 
LMWT