The public CGAL repository, see the README below
Go to file
Andreas Fabri 0bd09ea2db WIP: Add Compare_squared_distance to NewKernel_d 2025-02-05 14:59:55 +00:00
.devcontainer/doxygen-cgal add a few vscode extensions to the dev container 2024-12-17 16:02:22 +01:00
.github FOR 5.6.x ONLY: use ubuntu-22.04 as Github runner 2025-01-15 14:35:28 +01:00
AABB_tree remove -D that is not compatible with "older" cmake versions 2024-10-22 08:19:49 +02:00
Advancing_front_surface_reconstruction
Algebraic_foundations
Algebraic_kernel_d Merge pull request #8400 from afabri/CGAL-remove_RS-GF 2024-11-05 17:06:19 +01:00
Algebraic_kernel_for_circles
Algebraic_kernel_for_spheres
Alpha_shapes_2
Alpha_shapes_3 remove -D that is not compatible with "older" cmake versions 2024-10-22 08:19:49 +02:00
Alpha_wrap_3
Apollonius_graph_2
Arithmetic_kernel
Arrangement_on_surface_2 Aos 2 fixes efif (#8666) 2025-01-20 10:05:42 +01:00
BGL Merge remote-tracking branch 'cgal/6.0.x-branch' 2025-01-09 19:23:19 +01:00
Barycentric_coordinates_2 Triangulation_2: Do not include kernel header (#8527) 2024-11-08 16:11:41 +01:00
Basic_viewer Triangulation_2: Do not include kernel header (#8527) 2024-11-08 16:11:41 +01:00
Boolean_set_operations_2 CGAL: Modernize CMakeLists.txt (#8528) 2024-10-31 10:32:25 +01:00
Bounding_volumes
Box_intersection_d
CGAL_Core In a number of cases the command `@{` (or `\{`) is not closed by a corresponding closing command (`@}`). For the `\=name` command this is apparently not necessary but it is better to have corresponding open and close commands. 2024-12-25 15:09:57 +01:00
CGAL_ImageIO
CGAL_ipelets
Cartesian_kernel
Circular_kernel_2
Circular_kernel_3
Circulator
Classification Merge remote-tracking branch 'cgal/master' into pr/afabri/8528 2024-10-21 16:32:51 +02:00
Combinatorial_map CGAL: Modernize CMakeLists.txt (#8528) 2024-10-31 10:32:25 +01:00
Cone_spanners_2
Convex_decomposition_3
Convex_hull_2
Convex_hull_3
Convex_hull_d
Data/data Add data for 3D example 2024-11-29 12:35:17 +00:00
Distance_2
Distance_3
Documentation/doc Merge remote-tracking branch 'cgal/master' into Frechet-dev 2025-01-20 15:47:37 +00:00
Envelope_2
Envelope_3
Filtered_kernel Remove dependency with a forward declaration 2025-01-10 13:17:18 +00:00
Frechet_distance WIP: Add Compare_squared_distance to NewKernel_d 2025-02-05 14:59:55 +00:00
Generalized_map Merge remote-tracking branch 'cgal/master' into pr/afabri/8528 2024-10-21 16:32:51 +02:00
Generator
GraphicsView CGAL: Modernize CMakeLists.txt (#8528) 2024-10-31 10:32:25 +01:00
HalfedgeDS Merge pull request #8483 from afabri/CGAL-Issue8399-GF 2024-10-21 19:15:29 +02:00
Hash_map
Heat_method_3
Homogeneous_kernel
Hyperbolic_triangulation_2 Merge remote-tracking branch 'cgal/5.6.x-branch' into 6.0.x-branch 2024-12-04 14:12:00 +01:00
Inscribed_areas
Installation Merge remote-tracking branch 'cgal/master' into Frechet-dev 2025-01-20 15:47:37 +00:00
Interpolation
Intersections_2
Intersections_3
Interval_skip_list
Interval_support
Jet_fitting_3
Kernel_23 Adress Mael's review and partially the one of Pierre 2025-02-05 11:51:11 +00:00
Kernel_d Adress Mael's review and partially the one of Pierre 2025-02-05 11:51:11 +00:00
Kinetic_space_partition Merge remote-tracking branch 'cgal/6.0.x-branch' in master 2024-12-10 16:33:32 +01:00
Kinetic_surface_reconstruction Merge remote-tracking branch 'cgal/6.0.x-branch' in master 2024-12-10 16:33:32 +01:00
LEDA
LICENSES
Lab Merge remote-tracking branch 'cgal/master' into Frechet-dev 2025-01-20 15:47:37 +00:00
Linear_cell_complex Merge remote-tracking branch 'cgal/6.0.x-branch' in master 2024-12-04 14:13:01 +01:00
Maintenance Refactor cgal_testsuite_report.py to improve variable naming and enhance third-party library handling 2024-12-13 14:35:05 +01:00
Matrix_search
Mesh_2
Mesh_3 Periodic_3_mesh_3: Avoid Making Copies (#8639) 2024-12-10 16:24:25 +01:00
Mesher_level
Minkowski_sum_2 Merge remote-tracking branch 'cgal/5.6.x-branch' into HEAD 2024-11-14 14:16:42 +01:00
Minkowski_sum_3
Miscellany/doc/Miscellany
Modifier
Modular_arithmetic
Nef_2 Update an example of Nef_2 to show how to use Exact_rational 2024-12-04 16:03:39 +01:00
Nef_3
Nef_S2
NewKernel_d WIP: Add Compare_squared_distance to NewKernel_d 2025-02-05 14:59:55 +00:00
Number_types disambiguate = 2025-01-03 10:47:19 +01:00
Optimal_bounding_box
Optimal_transportation_reconstruction_2
Optimisation_basic
Orthtree removed unnecessary typename 2025-01-07 09:15:10 +01:00
Partition_2
Periodic_2_triangulation_2
Periodic_3_mesh_3 Change the criteria if in Debug mode 2024-12-06 13:09:14 +00:00
Periodic_3_triangulation_3 Remove lines with = delete; 2024-12-03 11:01:35 +00:00
Periodic_4_hyperbolic_triangulation_2
Point_set_2
Point_set_3
Point_set_processing_3 Merge remote-tracking branch 'cgal/6.0.x-branch' 2024-11-08 16:11:22 +01:00
Poisson_surface_reconstruction_3
Polygon CGAL: Modernize CMakeLists.txt (#8528) 2024-10-31 10:32:25 +01:00
Polygon_mesh_processing Merge remote-tracking branch 'cgal/6.0.x-branch' 2025-01-17 18:52:55 +01:00
Polygon_repair Triangulation_2: Do not include kernel header (#8527) 2024-11-08 16:11:41 +01:00
Polygonal_surface_reconstruction
Polyhedron removing the version check for OpenGR 2024-11-06 16:10:15 +01:00
Polyline_simplification_2 Triangulation_2: Do not include kernel header (#8527) 2024-11-08 16:11:41 +01:00
Polynomial
Polytope_distance_d Merge pull request #8492 from afabri/AoS-mix_pre_post_conditions-GF 2024-10-21 19:15:57 +02:00
Principal_component_analysis
Principal_component_analysis_LGPL
Profiling_tools
Property_map
QP_solver
Random_numbers
Ridges_3 remove -D that is not compatible with "older" cmake versions 2024-10-22 08:19:49 +02:00
SMDS_3
STL_Extension whitespace 2024-12-27 12:22:24 +00:00
Scale_space_reconstruction_3
Scripts Merge remote-tracking branch 'cgal/5.6.x-branch' 2025-01-17 18:52:19 +01:00
SearchStructures
Segment_Delaunay_graph_2
Segment_Delaunay_graph_Linf_2
Set_movable_separability_2
Shape_detection
Shape_regularization
Skin_surface_3
Snap_rounding_2
Solver_interface In a number of cases the command `@{` (or `\{`) is not closed by a corresponding closing command (`@}`). For the `\=name` command this is apparently not necessary but it is better to have corresponding open and close commands. 2024-12-25 15:09:57 +01:00
Spatial_searching Fix for example Spatial_searching_2user_defined_point_and_distance.cpp 2024-12-16 17:15:38 +00:00
Spatial_sorting
Straight_skeleton_2 update reuse to v5 2024-11-26 10:14:17 +01:00
Straight_skeleton_extrusion_2
Stream_lines_2
Stream_support Stream_support: Document that WKT can also handle 3D points 2024-12-20 11:56:46 +00:00
Subdivision_method_3
Surface_mesh
Surface_mesh_approximation Merge remote-tracking branch 'cgal/master' into pr/afabri/8528 2024-10-21 16:32:51 +02:00
Surface_mesh_deformation Merge remote-tracking branch 'cgal/6.0.x-branch' 2024-11-14 07:48:42 +01:00
Surface_mesh_parameterization Triangulation_2: Do not include kernel header (#8527) 2024-11-08 16:11:41 +01:00
Surface_mesh_segmentation
Surface_mesh_shortest_path
Surface_mesh_simplification In a number of cases the command `@{` (or `\{`) is not closed by a corresponding closing command (`@}`). For the `\=name` command this is apparently not necessary but it is better to have corresponding open and close commands. 2024-12-25 15:09:57 +01:00
Surface_mesh_skeletonization rename output file 2024-12-26 11:05:16 +01:00
Surface_mesh_topology remove -D that is not compatible with "older" cmake versions 2024-10-22 08:19:49 +02:00
Surface_mesher
Surface_sweep_2 Merge remote-tracking branch 'cgal/master' into pr/afabri/8528 2024-10-21 16:32:51 +02:00
TDS_2
TDS_3
Testsuite
Tetrahedral_remeshing Merge remote-tracking branch 'cgal/6.0.x-branch' 2025-01-20 10:19:17 +01:00
Three
Triangulation In a number of cases the command `@{` (or `\{`) is not closed by a corresponding closing command (`@}`). For the `\=name` command this is apparently not necessary but it is better to have corresponding open and close commands. 2024-12-25 15:09:57 +01:00
Triangulation_2 In a number of cases the command `@{` (or `\{`) is not closed by a corresponding closing command (`@}`). For the `\=name` command this is apparently not necessary but it is better to have corresponding open and close commands. 2024-12-25 15:09:57 +01:00
Triangulation_3 Merge remote-tracking branch 'cgal/6.0.x-branch' 2025-01-20 10:19:17 +01:00
Triangulation_on_sphere_2
Union_find
Visibility_2
Voronoi_diagram_2 update reuse to v5 2024-11-26 10:14:17 +01:00
Weights LaTeX compliance for formulas and errors in bibliography 2024-12-02 14:58:15 +01:00
.clang-tidy
.gitattributes
.gitignore
.markdownlint.json fix the linter warnings 2024-12-13 16:22:51 +01:00
CGALConfig.cmake
CGALConfigVersion.cmake
CMakeLists.txt
INSTALL.md
LICENSE.md
README.md
REUSE.toml
cmake_uninstall.cmake.in
copyright

README.md

CGAL

The Computational Geometry Algorithms Library (CGAL) is a C++ library that aims to provide easy access to efficient and reliable algorithms in computational geometry.

CGAL Releases

The primary vector of distribution of CGAL are source tarballs, released twice a year, announced on the web site of CGAL.

Getting Started with CGAL

Since version 5.0, CGAL is a header-only library, meaning that it is no longer needed to build CGAL libraries before it can be used.

Head over to the CGAL manual for usage guides and tutorials that will get you started smoothly.

License

See the file LICENSE.md.

CGAL Git Repository Layout

The Git repository of CGAL has a different layout from release tarballs. It contains a CMakeLists.txt file that serves as anchor for configuring and building programs, and a set of subfolders, so called packages. Most packages implement a data structure or an algorithm for CGAL (e.g., Convex_hull_2, or Triangulation_3); however some packages serve special needs:

  • Installation - meta-files and CMake-support
  • Maintenance - infrastructural support
  • Core, CGALimageIO, Qt_widget, GraphicsView - component libraries
  • Scripts - scripts to simplify developer's and user's work
  • Testsuite - infrastructure for testsuite
  • Documentation - infrastructure for CGAL's manual
  • STL_Extension - extensions to the standard template library

More Information