This article was accepted into the corpus but its outbound wikilinks were never NER-processed — typical at the deepest BFS hop or when the run's entity cap was reached. No expansion funnel to show.
| Computational Geometry Algorithms Library | |
|---|---|
| Name | Computational Geometry Algorithms Library |
| Developer | CGAL Project Steering Board, INRIA, ETH Zurich, CNRS |
| Initial release | 1996 |
| Programming language | C++ |
| Operating system | Cross-platform |
| License | LGPL-compatible (dual licensing) |
| Website | cgal.org |
Computational Geometry Algorithms Library
The Computational Geometry Algorithms Library is a C++ software project providing robust geometric algorithms, data structures, and utilities for use in scientific computing, engineering, and industrial applications. It integrates implementations for meshing, triangulation, boolean operations, planar subdivisions, and geometric optimization, and is developed collaboratively by research institutions and companies across Europe and North America. The project interfaces with numerical libraries and visualization systems to support pipelines in computer graphics, computational physics, geographic information systems, and computer-aided design.
CGAL bundles implementations of computational geometry algorithms developed in academic settings such as INRIA, ETH Zurich, CNRS, Max Planck Society, and École Polytechnique. It targets users in projects like OpenCASCADE, ParaView, QGIS, Blender Foundation, and industrial partners including Siemens and Dassault Systèmes. The library offers generic C++ components leveraging standards from ISO/IEC JTC 1/SC 22 and integrates with language ecosystems exemplified by Boost (C++ libraries), Eigen (software), LLVM, and GMP (GNU Multiple Precision Arithmetic Library).
The project originated in research teams associated with INRIA and ETH Zurich during the 1990s, evolving alongside milestones such as the publication of texts by researchers from Stanford University and University of Illinois Urbana–Champaign. Early development was influenced by conferences like ACM SIGGRAPH, SoCG (Symposium on Computational Geometry), and funding from programs of the European Research Council and national agencies like ANR (French National Research Agency). Over time, governance shifted toward a steering board including representatives from TU Wien, Université Paris-Saclay, and corporate contributors from Intel and Microsoft Research, with releases synchronized to advancements in C++ Standards Committee work.
The modular architecture separates kernel representations, traits classes, and algorithmic packages, with core modules supporting exact predicates and robust constructions via integrations with GMP (GNU Multiple Precision Arithmetic Library), MPFR, and CGMP bindings. Major components include triangulation modules, mesh generation, surface reconstruction, Boolean set operations, and arrangements managed through well-defined concepts inspired by Boost (C++ libraries) and STL (Standard Template Library). The build system interoperates with CMake and continuous integration platforms like Jenkins and GitLab CI/CD, while code hosting and issue tracking occur on platforms associated with GitHub and GitLab.
Implemented algorithms cover Delaunay triangulation, constrained triangulations, Voronoi diagrams, alpha shapes, straight skeletons, convex hulls, and polygon partitioning, with underpinning data structures such as half-edge meshes, DCEL (doubly connected edge list) inspired designs, kd-trees, and AABB trees. These components are informed by classical results from researchers at MIT, Princeton University, and University of California, Berkeley and rely on computational geometry theory presented at SoCG (Symposium on Computational Geometry) and in journals like Journal of Computational Geometry and Discrete & Computational Geometry. Implementations employ exact arithmetic techniques pioneered in collaborations with groups at Carnegie Mellon University and University of Toronto.
Primary APIs are idiomatic C++ templates matching patterns from Boost (C++ libraries) and the C++ Standards Committee guidelines, with language bindings and wrappers connecting to Python (programming language), Java (programming language), and Julia (programming language) ecosystems via projects that interface with SWIG and pybind11. Integration points with visualization and meshing tools include adapters for VTK, Meshlab, and exporters compatible with STL (file format), OBJ (geometric data format), and OFF (file format). Interoperability with numerical solvers leverages libraries such as PETSc and Trilinos in scientific workflows.
CGAL components are used in pipeline stages for finite element mesh generation in projects associated with ANSYS, COMSOL, and academic initiatives at Brown University and University of Oxford. In computer graphics and fabrication, CGAL algorithms support surface reconstruction in workflows tied to Autodesk tools and cultural heritage projects involving institutions like the Smithsonian Institution. In GIS and spatial analysis, CGAL functionality complements projects such as QGIS and data processing in collaborations with agencies like European Space Agency and NASA, aiding in tasks from terrain modeling to collision detection for robotics efforts at Carnegie Mellon University and ETH Zurich.
Performance evaluations reference benchmarks comparing Delaunay and mesh generation routines against implementations from TetGen, Triangle (software), and proprietary systems from Siemens and Autodesk. Scalability studies conducted on HPC resources at PRACE and cloud platforms by groups at Lawrence Livermore National Laboratory and Argonne National Laboratory examine parallel meshing, memory usage, and I/O performance using profiling tools like Valgrind, gprof, and perf (Linux). Optimizations leverage instruction set features from Intel and AMD processors and parallelism frameworks such as OpenMP and MPI.
The project adopts dual licensing compatible with LGPL principles and commercial licensing models used by entities like Siemens and Dassault Systèmes, enabling collaboration with academic institutions including INRIA, ETH Zurich, TU Wien, and corporate partners. The contributor community coordinates via mailing lists and development platforms associated with GitHub and GitLab, with governance informed by practices from organizations like Apache Software Foundation and community guidelines common to projects such as Boost (C++ libraries). Educational outreach and workshops have been held in association with conferences like ACM SIGGRAPH and SoCG (Symposium on Computational Geometry) to train users from universities including Stanford University and University of Cambridge.