\( \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.3 - Manual
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
CGAL 4.3 - Manual Documentation

This is the beta version of the CGAL Manual generated with doxygen.As it was generated semi-automatically from LaTeX sources of an inhouse documentation tool, followed by months of postprocessing we are happy about user feedback how we might improve things and where we have documentation bugs.

For that we have set up a tracker where you can submit documentation bugs.

During beta we only provide the manual online, so that we can publish fixes quickly.

About CGAL

The goal of the CGAL Open Source Project is to provide easy access to efficient and reliable geometric algorithms in the form of a C++ library. CGAL is used in various areas needing geometric computation, such as: computer graphics, scientific visualization, computer aided design and modeling, geographic information systems, molecular biology, medical imaging, robotics and motion planning, mesh generation, numerical methods... More on the Projects Using CGAL web page.

The Computational Geometry Algorithms Library offers data structures and algorithms like triangulations, Voronoi diagrams, Boolean operations on polygons and on polyhedra, arrangements of curves, mesh generation, geometry processing, convex hull algorithms, to name just a few.

All these data structures and algorithms operate on geometric objects like points and segments, and perform geometric tests on them. These objects and predicates are regrouped in CGAL Kernels.

Finally, the Support Library offers geometric object generators and spatial sorting functions, as well as a matrix search framework and a solver for linear and quadratic programs. It further offers interfaces to third party software such as the GUI libraries Qt, Geomview, and the Boost Graph Library.

Organization of the Manual

This manual is organized in several parts covering the many domains of computational geometry. Each part consists of several chapters, and each chapter is split into a user manual and a reference manual. The user manual gives the general idea and comes with examples. The reference manual presents the Api of the various classes and functions.

The manual has a package overview, gives a short paragraph what the package is about, what license it has, and on which other packages it depends. It further provides links to precompiled demo programs for the Windows platform.

The manual further has a class index, as well as a search box in the upper right of each page. The scope of the search box is the package you currently look at and the packages it depends on, or it is the whole manual when you are in a top level page such as the package overview.

Demos and Examples

In the distribution of the library you find the two directories demo and examples. They contain subdirectories for the CGAL packages. The demos use third party libraries for the graphical user interface. The examples don't have this dependency and most examples are refered to in the user manual.


CGAL is distributed under a dual-license scheme. CGAL can be used together with Open Source software free of charge. Using CGAL in other contexts can be done by obtaining a commercial license from GeometryFactory. For more details see the License page.