CGAL 4.7 - Kinetic Framework: Main Concepts

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

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Classes
Main Concepts
Kinetic Framework Reference

##

Here we list the main concepts provided by the framework to support implementing kinetic data structures.

## Concepts

concept | Kinetic::ActiveObjectsTable

This container holds a set of objects of a particular type. It creates notifications using the standard `Multi_listener<Interface>` interface when a primitive changes or is added or deleted. Objects which are listening for events can then ask which primitives changed. More...

concept | Kinetic::FunctionKernel

The concept `Kinetic::FunctionKernel` encapsulates all the methods for representing and handing functions. The set is kept deliberately small to easy use of new `Kinetic::FunctionKernel`s, but together these operations are sufficient to allow the correct processing of events, handling of degeneracies, usage of static data structures, run-time error checking as well as run-time verification of the correctness of kinetic data structures. The computation of a polynomial with the variable negated is used for reversing time in kinetic data structures and can be omitted if that capability is not needed. More...

concept | Kinetic::InstantaneousKernel

The concept `Kinetic::InstantaneousKernel` covers models that act as adaptors allowing CGAL static data structures to act on snapshots of kinetic data. Different methods for evaluating predicates are used depending on whether time is set using an `NT` or a `Time` object. Evaluating predicates when time is the former is much cheaper. More...

concept | Kinetic::Kernel

The concept `Kinetic::Kernel` acts as the kinetic analog of a CGAL kernel. It provides some set of primitives and predicats acting on them. The predicates are instances of `Kinetic::CertificateGenerator` and can be used to either create `Certificate`s or to evaluate instantaneous predicates. More...

concept | Kinetic::SimulationTraits

This concept ties together the parts needed in order to run a kinetic data structure. All support trajectories defined by polynomial coordinates. The `Exact` vs `Inexect` picks whether the roots of the certificate functions are compared exactly or approximated numerically. The regular triangulation models have weighted points of the appropriate dimension as the primitive used in the `Kinetic::InstantaneousKernel` and the `Kinetic::ActiveObjectsTable`. More...

concept | Kinetic::Simulator
| The class `Kinetic::Simulator` controls kinetic data structures by maintaining a the current time and ensuring that events are processed when necessary. More...