Premium
On the design of CGAL a computational geometry algorithms library
Author(s) -
Fabri Andreas,
Giezeman GeertJan,
Kettner Lutz,
Schirra Stefan,
Schönherr Sven
Publication year - 2000
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/1097-024x(200009)30:11<1167::aid-spe337>3.0.co;2-b
Subject(s) - computer science , programming language , correctness , robustness (evolution) , generic programming , algorithm , software , template , flexibility (engineering) , programming paradigm , mathematics , biochemistry , chemistry , statistics , gene
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 © 2000 John Wiley & Sons, Ltd.