Skip to main content

Applications of the Generic Programming Paradigm in the Design of CGAL

  • Conference paper
  • First Online:
Generic Programming

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1766))

Abstract

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.

This work is partially supported by the ESPRIT IV LTR Projects No. 21957 (CGAL) and 28155 (GALIA), and by the Swiss Federal Office for Education and Science (CGAL and GALIA).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. J.-D. Boissonnat and M. Yvinec. Algorithmic Geometry. Cambridge University Press, UK, 1998. translated by H. Brönnimann.

    Book  MATH  Google Scholar 

  2. K. Briggs. The doubledouble home page. http://epidem13.plantsci.cam.ac.uk/~kbriggs/doubledouble.html.

  3. H. Brönnimann, S. Schirra, and R. Veltkamp, editors. CGAL Reference Manuals. cgal consortium, 1998. http://www.cs.uu.nl/CGAL.

  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. K. L. Clarkson and P.W. Shor. Applications of random sampling in computational geometry, II. Discrete Comput. Geom., 4:387–421, 1989.

    Article  MathSciNet  MATH  Google Scholar 

  6. M. de Berg, M. van Kreveld, M. Overmars, and Otfried Schwarzkopf. Computational Geometry: Algorithms and Applications. Springer-Verlag, Berlin, 1997.

    Book  MATH  Google Scholar 

  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. S. Fortune. Numerical stability of algorithms for 2D Delaunay triangulations and Voronoi diagrams. Int. J. Computational Geometry and Appl., 5:193–213, 1995.

    Article  MathSciNet  MATH  Google Scholar 

  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.

    Article  Google Scholar 

  10. J. E. Goodman and J. O’Rourke, editors. Handbook of Discrete and Computational Geometry. CRC Press LLC, Boca Raton, FL, 1997.

    MATH  Google Scholar 

  11. T. Granlund. GNU MP, The GNU Multiple Precision Arithmetic Library, 2.0.2 edition, June 1996.

    Google Scholar 

  12. C. M. Hoffmann. The problems of accuracy and robustness in geometric computation. IEEE Computer, 22(3):31–41, March 1989.

    Article  Google Scholar 

  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. LiDIA-Group, Fachbereich Informatik, TH Darmstadt. LiDIA Manual A library for computational number theory, 1.3 edition, April 1997.

    Google Scholar 

  15. K. Mehlhorn. Multi-dimensional Searching and Computational Geometry, volume 3 of Data Structures and Algorithms. Springer-Verlag, Heidelberg, Germany, 1984.

    MATH  Google Scholar 

  16. K. Mehlhorn, S. Näher, M. Seel, and C. Uhrig. The LEDA User manual, 3.7 edition, 1998. http://www.mpi-sb.mpg.de/LEDA/leda.html.

  17. S. Meyers. More Effective C++. Addison-Wesley, 1996.

    Google Scholar 

  18. K. Mulmuley. Computational Geometry: An Introduction Through Randomized Algorithms. Prentice Hall, Englewood Cliffs, NJ, 1994.

    MATH  Google Scholar 

  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. N. C. Myers. Traits: a new and useful template technique. C++ Report, June 1995.

    Google Scholar 

  21. J. O’Rourke. Computational Geometry in C. Cambridge University Press, 1994.

    Google Scholar 

  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. F. P. Preparata and M. I. Shamos. Computational Geometry: An Introduction. Springer-Verlag, New York, NY, 1985.

    Book  MATH  Google Scholar 

  24. J. R. Sack and J. Urrutia, editors. Handbook on Computational Geometry. Elsevier Science Publishers, Amsterdam, The Netherlands, 1999.

    Google Scholar 

  25. S. Schirra. Precision and robustness issues in geometric computation. In Handbook on Computational Geometry. Elsevier, Amsterdam, The Netherlands, 1999.

    Google Scholar 

  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. J. R. Shewchuk. Robust adaptive floating-point geometric predicates. In Proc. 12th Annu. ACM Sympos. Comput. Geom., pages 141–150, 1996.

    Google Scholar 

  28. C. K. Yap. Towards exact geometric computation. Computational Geometry: Theory and Applications, 7(1–2):3–23, 1997

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Brönnimann, H., Kettner, L., Schirra, S., Veltkamp, R. (2000). Applications of the Generic Programming Paradigm in the Design of CGAL. In: Jazayeri, M., Loos, R.G.K., Musser, D.R. (eds) Generic Programming. Lecture Notes in Computer Science, vol 1766. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-39953-4_16

Download citation

  • DOI: https://doi.org/10.1007/3-540-39953-4_16

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41090-4

  • Online ISBN: 978-3-540-39953-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics