Skip to main content

Designing and Implementing a General Purpose Halfedge Data Structure

  • Conference paper
  • First Online:
Algorithm Engineering (WAE 2001)

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

Included in the following conference series:

Abstract

Halfedge data structures (HDS) are fundamental in representing combinatorial geometric structures, useful for representing any planar structures such as plane graphs and planar maps, polyhedral surfaces and boundary representations (BREPs), two-dimensional views of a three dimensional scene, etc. Many variants have been proposed in the literature, starting with the winged-edge data structure of Baumgart[2], the DCEL of [15,9], the quad-edge data structure [11], the halfedge data structure [18,12, and refs. therein]. They have been proposed in various frameworks (references too many to give here):

  • Plane structures: including planar maps for GIS, 2D Boolean modeling, 2D graphics, scienti.c computations, computer vision. The requirements on HDS are that that some edges may be in.nite (e.g., Voronoi diagrams), or border edges (e.g., for bounded polygonal domains), it may include holes in the facets (planar maps), and that if so, one of the connected boundary cycle is distinguished as the outer boundary (the others are inner holes).

  • Boundary representation of three-dimensional solids: including Brep representation, solid modeling, polyhedral surfaces, 3D graphics. The requirements here vary slightly: holes may still be allowed, but there is no need to distinguish an outer boundary, in.nite edges are not always useful but border edges might need to be allowed.

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. M. H. Austern. Generic Programming and the STL. Professional computing series. Addison-Wesley, 1999.

    Google Scholar 

  2. B. G. Baumgart. A polyhedron representation for computer vision. In Proc. AFIPS Natl. Comput. Conf., volume 4, pages 589–596. PS Press, Arlington, Va. 1975.

    Google Scholar 

  3. J.-D. Boissonnat, O. Devillers, M. Teillaud, and M. Yvinec. Triangulations in CGAL. In Proc. 16th Annu. ACM Sympos. Comput. Geom., pages 11–18, 2000.

    Google Scholar 

  4. E. Brisson. Representing geometric structures in d dimensions: Topology and order. Discrete Comput. Geom., 9:387–426, 1993.

    Article  MATH  MathSciNet  Google Scholar 

  5. C. Burnikel. Delaunay graphs by divide and conquer. Research Report MPI-I-98-1-027, Max-Planck-Institut fĂĽr Informatik, SaarbrĂĽcken, 1998. 24 pages.

    Google Scholar 

  6. D. Cazier and J.-F. Dufourd. Rewriting-based derivation of efficient algorithms to build planar subdivisions. In Werner Purgathofer, editor, 12th Spring Conference on Computer Graphics, pages 45–54, 1996.

    Google Scholar 

  7. The CGAL Reference Manual, 1999. Release 2.0.

    Google Scholar 

  8. J. O. Coplien. Multi-Paradigm Design for C++. Addison-Wesley, 1999.

    Google Scholar 

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

    MATH  Google Scholar 

  10. E. Flato, D. Halperin, I. Hanniel, and O. Nechushtan. The design and implementation of planar maps in CGAL. In Abstracts 15th European Workshop Comput. Geom., pages 169–172. INRIA Sophia-Antipolis, 1999.

    Google Scholar 

  11. L. J. Guibas and J. Stolfi. Primitives for the manipulation of general subdivisions and the computation of Voronoi diagrams. ACM Trans. Graph., 4(2):74–123, April 1985.

    Google Scholar 

  12. L. Kettner. Using generic programming for designing a data structure for polyhedral surfaces. Comput. Geom. Theory Appl., 13:65–90, 1999.

    MATH  Google Scholar 

  13. L.-Q. Lee, J. G. Siek, and A. Lumsdaine. The generic graph component library. In Proceedings OOPSLA’ 99, 1999.

    Google Scholar 

  14. K. Mehlhorn and S. Näher. LEDA: A Platform for Combinatorial and Geometric Computing. Cambridge University Press, Cambridge, UK, 1999.

    MATH  Google Scholar 

  15. D. E. Muller and F. P. Preparata. Finding the intersection of two convex polyhedra. Theoret. Comput. Sci., 7:217–236, 1978.

    Article  MATH  MathSciNet  Google Scholar 

  16. F. P. Preparata and M. I. Shamos. Computational Geometry: An Introduction. Springer-Verlag, 3rd edition, October 1990.

    Google Scholar 

  17. J. Siek and A. Lumsdaine. Concept checking: Binding parametric polymorphism in C++. In First Workshop on C++ Template Programming, Erfurt, Germany, October 10 2000.

    Google Scholar 

  18. K. Weiler. Topological Structures for Geometric Modeling. PhD thesis, Rensselaer Polytechnic Institute, Troy, NY, August 1986.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Brönnimann, H. (2001). Designing and Implementing a General Purpose Halfedge Data Structure. In: Brodal, G.S., Frigioni, D., Marchetti-Spaccamela, A. (eds) Algorithm Engineering. WAE 2001. Lecture Notes in Computer Science, vol 2141. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44688-5_5

Download citation

  • DOI: https://doi.org/10.1007/3-540-44688-5_5

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42500-7

  • Online ISBN: 978-3-540-44688-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics