\( \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.8 - Kinetic Data Structures

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
CGAL::Kinetic::Delaunay_triangulation_2< Traits, Visitor, Triangulation > Class Template Reference
Delaunay Triangulation in 2D

`#include <CGAL/Kinetic/Delaunay_triangulation_2.h>`

## Definition

The class `Kinetic::Delaunay_triangulation_2` maintains a Delaunay triangulation on top of the points contained in a `Kinetic::ActiveObjectsTable`.

It has one main method of interest, `triangulation()`, which returns the triangulation it is maintaining.

Note that the Delaunay triangulation is fully dynamic as it tracks points added to and removed from the `Kinetic::ActiveObjectsTable`.

The class `Kinetic::Qt_triangulation_2<KineticTriangulation_2, QtWidget_2, QtMovingPoints_2>` displays a kinetic Delaunay triangulation using the Qt widget.

This class is a good example of a simple, but non-trivial, kinetic data structure.

The `Triangulation` template parameter must be a model of `CGAL::Delaunay_triangulation_2<Traits, Tds>` which uses `Traits::Default_instantaneous_kernel` as its geometric traits and a `Tds` whose face inherits from `Kinetic::Delaunay_triangulation_face_base_2<Traits, Base>`.

The optional `Visitor` parameter takes a model of `Kinetic::DelaunayTriangulationVisitor_2`. Methods on this object will be called whenever the triangulation changes.

Is Model Of:
  `Ref_counted<T>`

See Also
  `Kinetic::DelaunayTriangulationVisitor_2`
  `Kinetic::Delaunay_triangulation_default_visitor_2`
  `Kinetic::Delaunay_triangulation_recent_edges_visitor_2<Triangulation>`
  `Kinetic::Delaunay_triangulation_event_log_visitor_2`
  `Kinetic::Qt_triangulation_2`

Examples:
  Kinetic_data_structures/defining_a_simulation_traits.cpp.

## Types
typedef unspecified_type | Triangulation
| The template argument triangulation.
typedef unspecified_type | Visitor
| The template argument for the visitor.

## Creation
| Delaunay_triangulation_2 (Traits tr)
| Maintain the Delaunay triangulation of the points in `tr.active_points_2_handle()`.

## Operations
const Triangulation & | triangulation () const
| Access the triangulation that is maintained.
Visitor & | visitor ()
| Access the visitor.
Vertex_handle | insert (Point_key k)
| Insert the point.
void | erase (Vertex_handle h)
| Erase the vertex.