CGAL 4.7 - Kinetic Framework

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

## Concepts

conceptKinetic::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...

conceptKinetic::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::FunctionKernels, 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...

conceptKinetic::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...

conceptKinetic::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 Certificates or to evaluate instantaneous predicates. More...

conceptKinetic::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...

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