An Adaptable and Extensible Geometry Kernel
Résumé
Geometric algorithms are based on geometric objects such as points, lines and circles. The term Kernel refers to a collection of representations for constant-size geometric objects and operations on these representations. This paper describes how such a geometry kernel can be designed and implemente- d in C++, having special emphasis on adaptability, extensibility and efficienc- y. We achieve these goals following the generic programming paradigm and using templates as our tools. These ideas are realized and tested in Cgal [10], the Computational Geometry Algorithms Library.