Results 1 -
2 of
2
On the design of CGAL a computational geometry algorithms library
- Softw. – Pract. Exp
, 1998
"... CGAL is a Computational Geometry Algorithms Library written in C++, which is being developed by research groups in Europe and Israel. The goal is to make the large body of geometric algorithms developed in the field of computational geometry available for industrial application. We discuss the major ..."
Abstract
-
Cited by 82 (15 self)
- Add to MetaCart
CGAL is a Computational Geometry Algorithms Library written in C++, which is being developed by research groups in Europe and Israel. The goal is to make the large body of geometric algorithms developed in the field of computational geometry available for industrial application. We discuss the major design goals for CGAL, which are correctness, flexibility, ease-of-use, efficiency, and robustness, and present our approach to reach these goals. Generic programming using templates in C++ plays a central role in the architecture of CGAL. We give a short introduction to generic programming in C++, compare it to the object-oriented programming paradigm, and present examples where both paradigms are used effectively in CGAL. Moreover, we give an overview of the current structure of the CGAL-library and consider software engineering aspects in the CGAL-project. Copyright c ○ 1999 John Wiley & Sons, Ltd. KEY WORDS: computational geometry; software library; C++; generic programming;
Planar Nef Polyhedra and . . .
, 2001
"... We present two generic software projects that are part of the software library CGAL. The first part describes the design of a geometry kernel for higher-dimensional Euclidean geometry and the interaction with application programs. We describe the software structure, the interface concepts, and their ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
We present two generic software projects that are part of the software library CGAL. The first part describes the design of a geometry kernel for higher-dimensional Euclidean geometry and the interaction with application programs. We describe the software structure, the interface concepts, and their models that are based on coordinate representation, number types, and memory layout. In the higher-dimensional software kernel the interaction between linear algebra and the geometric objects and primitives is one important facet. In the actual design our users can replace number types, representation types, and the traits classes that inflate kernel functionality into our current application programs: higher-dimensional convex hulls and Delaunay tedrahedralisations. In the second part we present the realization of planar Nef polyhedra. The concept of Nef polyhedra subsumes all kinds of rectilinear polyhedral subdivisions and is therefore of general applicability within a geometric software library. The software is based on the theory of extended points and segments that allows us to reuse classical algorithmic solutions like plane sweep to realize binary operations of Nef polyhedra.

