Applications of the Generic Programming Paradigm in the Design of CGAL

  • Hervé Brönnimann
  • Lutz Kettner
  • Stefan Schirra
  • Remco Veltkamp
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1766)


We report on the use of the generic programming paradigm in the computational geometry algorithms library CGAL. The parameterization of the geometric algorithms in CGAL enhances flexibility and adaptability and opens an easy way for abolishing precision and robustness problems by exact but nevertheless efficient computation. Furthermore we discuss circulators, which are an extension of the iterator concept to circular structures. Such structures arise frequently in geometric computing.


Voronoi Diagram Computational Geometry Delaunay Triangulation Number Type Geometric Algorithm 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    J.-D. Boissonnat and M. Yvinec. Algorithmic Geometry. Cambridge University Press, UK, 1998. translated by H. Brönnimann.CrossRefzbMATHGoogle Scholar
  2. 2.
  3. 3.
    H. Brönnimann, S. Schirra, and R. Veltkamp, editors. CGAL Reference Manuals. cgal consortium, 1998.
  4. 4.
    C. Burnikel, K. Mehlhorn, and S. Schirra. The LEDA class real number. Technical Report MPI-I-96-1-001, Max-Planck-Institut für Informatik, 1996.Google Scholar
  5. 5.
    K. L. Clarkson and P.W. Shor. Applications of random sampling in computational geometry, II. Discrete Comput. Geom., 4:387–421, 1989.MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    M. de Berg, M. van Kreveld, M. Overmars, and Otfried Schwarzkopf. Computational Geometry: Algorithms and Applications. Springer-Verlag, Berlin, 1997.CrossRefzbMATHGoogle Scholar
  7. 7.
    A. Fabri, G.-J. Giezeman, L. Kettner, S. Schirra, and S. Schönherr. On the design of CGAL, the computational geometry algorithms library. Research Report MPII-98-1-007, Max-Planck-Institut für Informatik, 1998.Google Scholar
  8. 8.
    S. Fortune. Numerical stability of algorithms for 2D Delaunay triangulations and Voronoi diagrams. Int. J. Computational Geometry and Appl., 5:193–213, 1995.MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    S. Fortune and C. Van Wyk. Static analysis yields efficient exact integer arithmetic for computational geometry. ACM Transactions on Graphics, 15(3):223–248, 1996.CrossRefGoogle Scholar
  10. 10.
    J. E. Goodman and J. O’Rourke, editors. Handbook of Discrete and Computational Geometry. CRC Press LLC, Boca Raton, FL, 1997.zbMATHGoogle Scholar
  11. 11.
    T. Granlund. GNU MP, The GNU Multiple Precision Arithmetic Library, 2.0.2 edition, June 1996.Google Scholar
  12. 12.
    C. M. Hoffmann. The problems of accuracy and robustness in geometric computation. IEEE Computer, 22(3):31–41, March 1989.CrossRefGoogle Scholar
  13. 13.
    L. Kettner. Circulators. In H. Brönnimann, S. Schirra, and R. Veltkamp, editors, CGAL Reference Manual. Part 3: Support Library. 1998.Google Scholar
  14. 14.
    LiDIA-Group, Fachbereich Informatik, TH Darmstadt. LiDIA Manual A library for computational number theory, 1.3 edition, April 1997.Google Scholar
  15. 15.
    K. Mehlhorn. Multi-dimensional Searching and Computational Geometry, volume 3 of Data Structures and Algorithms. Springer-Verlag, Heidelberg, Germany, 1984.zbMATHGoogle Scholar
  16. 16.
    K. Mehlhorn, S. Näher, M. Seel, and C. Uhrig. The LEDA User manual, 3.7 edition, 1998.
  17. 17.
    S. Meyers. More Effective C++. Addison-Wesley, 1996.Google Scholar
  18. 18.
    K. Mulmuley. Computational Geometry: An Introduction Through Randomized Algorithms. Prentice Hall, Englewood Cliffs, NJ, 1994.zbMATHGoogle Scholar
  19. 19.
    D. R. Musser and A. Saini. STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library. Addison-Wesley, 1996.Google Scholar
  20. 20.
    N. C. Myers. Traits: a new and useful template technique. C++ Report, June 1995.Google Scholar
  21. 21.
    J. O’Rourke. Computational Geometry in C. Cambridge University Press, 1994.Google Scholar
  22. 22.
    M. H. Overmars. Designing the computational geometry algorithms library CGAL. Applied Computational Geometry, Lect. Notes in Comp. Science Vol. 1148, 1996, pages 53–58.Google Scholar
  23. 23.
    F. P. Preparata and M. I. Shamos. Computational Geometry: An Introduction. Springer-Verlag, New York, NY, 1985.CrossRefzbMATHGoogle Scholar
  24. 24.
    J. R. Sack and J. Urrutia, editors. Handbook on Computational Geometry. Elsevier Science Publishers, Amsterdam, The Netherlands, 1999.Google Scholar
  25. 25.
    S. Schirra. Precision and robustness issues in geometric computation. In Handbook on Computational Geometry. Elsevier, Amsterdam, The Netherlands, 1999.Google Scholar
  26. 26.
    S. Schirra. A case study on the cost of geometric computing. Algorithm Engineering and Experimentation. Lect. Notes in Comp. Science Vol. 1619, pages 156–176.Google Scholar
  27. 27.
    J. R. Shewchuk. Robust adaptive floating-point geometric predicates. In Proc. 12th Annu. ACM Sympos. Comput. Geom., pages 141–150, 1996.Google Scholar
  28. 28.
    C. K. Yap. Towards exact geometric computation. Computational Geometry: Theory and Applications, 7(1–2):3–23, 1997MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Hervé Brönnimann
    • 1
  • Lutz Kettner
    • 2
  • Stefan Schirra
    • 3
  • Remco Veltkamp
    • 4
  1. 1.INRIA Sophia-AntipolisFrance
  2. 2.ETH ZürichSwitzerland
  3. 3.Max-Planck-Institute for Computer ScienceSaarbrückenGermany
  4. 4.Dept. Computing ScienceUtrecht UniversityThe Netherlands

Personalised recommendations