\( \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 Framework

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL::Kinetic::Active_objects_listener< ActiveObjectsTable, KDS > Class Template Reference
Other Classes

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

## Definition

The class `Kinetic::Active_objects_listener` acts as an intermediate between a moving object table and a KDS.

It translates the `ActiveObjectsTable::Listener::IS_EDITING` notification events into appropriate calls to `KDS::insert(Key)`, `KDS::set(Key)`, `KDS::erase(Key)`.

Kinetic data structures can still take advantage of the batch editing if they are careful. The methods (such as `KDS::set(Key)` are called in lexicographical order in the `Key`s. So, when a KDS is preparing to update some certificate involving a recently set object, it can first check if the certificate involves another changed object which is lexicographically prior. If so, then the certificate has already been updated and can be skipped.

See Also
  `Kinetic::Active_objects_vector<MovingObject>`
  `Kinetic::ActiveObjectsTable`