The public CGAL repository, see the README below
Go to file
Laurent Rineau 3668ca16b2 Fix test_read_write_point_set
The LAS format, even binary, is not an exact representation.
The coordinates are encoded using and offset and a scaling, for each
coordinate.

In `write_LAS_with_properties()`, Simon has hard-coded:
```
  LASheader header;
  header.x_scale_factor = 1e-9 * (bbox.xmax() - bbox.xmin());
  header.y_scale_factor = 1e-9 * (bbox.ymax() - bbox.ymin());
  header.z_scale_factor = 1e-9 * (bbox.zmax() - bbox.zmin());
  header.x_offset = bbox.xmin();
  header.y_offset = bbox.ymin();
  header.z_offset = bbox.zmin();
```
So, the approximate comparison of coordinates, for the I/O test,
should compare using about the same precision.
2022-08-17 17:21:05 +02:00
.github update command 2022-07-18 14:54:51 +02:00
AABB_tree Merge 'sloriot/CGAL-std_type_traits' into master 2022-08-03 20:19:51 +02:00
Advancing_front_surface_reconstruction Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Algebraic_foundations Merge 'sloriot/CGAL-std_type_traits' into master 2022-08-03 20:19:51 +02:00
Algebraic_kernel_d Merge 'sloriot/CGAL-std_type_traits' into master 2022-08-03 20:19:51 +02:00
Algebraic_kernel_for_circles boost::is_same --> std::is_same 2022-06-10 08:18:20 +02:00
Algebraic_kernel_for_spheres Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Alpha_shapes_2 BOOST_MPL_ASSERT -> static_assert 2022-06-10 08:46:01 +02:00
Alpha_shapes_3 boost::is_same --> std::is_same 2022-06-10 08:18:20 +02:00
Alpha_wrap_3 Merge pull request #6665 from sloriot/CGAL-std_type_traits 2022-08-17 13:56:54 +02:00
Apollonius_graph_2 Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Arithmetic_kernel BOOST_MPL_ASSERT -> static_assert 2022-06-10 08:46:01 +02:00
Arrangement_on_surface_2 Merge 'sloriot/CGAL-std_type_traits' into master 2022-08-03 20:19:51 +02:00
BGL more workarounds for MSVC 2015 2022-08-10 23:50:39 +02:00
Barycentric_coordinates_2 Backport the patch of pull request #6602 from lrineau/Triangulation_2-fix_cdt_2-GF 2022-06-29 12:30:35 +02:00
Boolean_set_operations_2 : -> :: 2022-06-27 10:15:43 +01:00
Bounding_volumes Fix forward declaration living in the wrong namespace 2022-06-24 08:46:12 +02:00
Box_intersection_d more workarounds for MSVC 2015 2022-08-10 23:50:39 +02:00
CGAL_Core Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
CGAL_ImageIO Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
CGAL_ipelets BOOST_MPL_ASSERT -> static_assert 2022-06-10 08:46:01 +02:00
Cartesian_kernel Merge 'sloriot/CGAL-std_type_traits' into master 2022-08-03 20:19:51 +02:00
Circular_kernel_2 boost::is_same --> std::is_same 2022-06-10 08:18:20 +02:00
Circular_kernel_3 move is_iterator to type_traits 2022-06-10 09:43:59 +02:00
Circulator Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Classification Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Combinatorial_map Merge 'sloriot/CGAL-std_type_traits' into master 2022-08-03 20:19:51 +02:00
Cone_spanners_2 Merge pull request #6573 from sloriot/CGAL-pedantic_warnings 2022-05-13 15:55:26 +02:00
Convex_decomposition_3 Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Convex_hull_2 Remove unused typedef/variables 2022-07-05 09:46:30 +02:00
Convex_hull_3 Merge 'sloriot/CGAL-std_type_traits' into master 2022-08-03 20:19:51 +02:00
Convex_hull_d Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Data/data Merge cgal/master 2022-06-08 23:13:25 +02:00
Distance_2 Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Distance_3 Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Documentation/doc Merge pull request #6778 from albert-github/feature/bug_obsolete_dot 2022-08-03 19:58:49 +02:00
Envelope_2 Cleaned up and fixed compilation error in compare_y_at_end() 2022-07-13 14:24:33 +03:00
Envelope_3 Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Filtered_kernel more workarounds for MSVC 2015 2022-08-10 23:50:39 +02:00
Generalized_map Merge 'sloriot/CGAL-std_type_traits' into master 2022-08-03 20:19:51 +02:00
Generator resolve merge conflict 2022-05-18 07:20:41 +01:00
GraphicsView Merge pull request #6770 from sloriot/Basic_viewer-typo 2022-07-28 14:41:34 +02:00
HalfedgeDS Merge pull request #6547 from afabri/Skeletoniation-HDS-GF 2022-07-08 20:24:58 +02:00
Hash_map Merge pull request #6547 from afabri/Skeletoniation-HDS-GF 2022-07-08 20:24:58 +02:00
Heat_method_3 use std::enable_if_t 2022-06-10 07:37:53 +02:00
Homogeneous_kernel use std::enable_if_t 2022-06-10 07:37:53 +02:00
Hyperbolic_triangulation_2 use std::enable_if_t 2022-06-10 07:37:53 +02:00
Inscribed_areas Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Installation Merge pull request #6772 from sloriot/PMP-remove_caps_needles_doc 2022-08-10 18:31:52 +02:00
Interpolation Do not use CGAL::iterator_v<> as it is responsible for the ICE of VC2015 2022-06-27 08:58:17 +01:00
Intersections_2 Merge sloriot/CGAL-std_type_traits into master 2022-06-23 16:35:37 +02:00
Intersections_3 Merge sloriot/CGAL-std_type_traits into master 2022-06-23 16:35:37 +02:00
Interval_skip_list Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Interval_support BOOST_MPL_ASSERT -> static_assert 2022-06-10 08:46:01 +02:00
Jet_fitting_3 Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Kernel_23 Merge 'sloriot/CGAL-std_type_traits' into master 2022-08-03 20:19:51 +02:00
Kernel_d use std::enable_if_t 2022-06-10 07:37:53 +02:00
LEDA extra run of the script to remove tabs and trailing whitespaces 2020-03-26 14:16:06 +01:00
Linear_cell_complex add out-of-class definition if c++17 is not used 2022-07-27 16:28:59 +02:00
MacOSX introduce Commercial license SPDX tag 2019-10-19 12:15:19 +02:00
Maintenance Update mailing.eml 2022-07-24 18:08:09 +02:00
Matrix_search Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Mesh_2 Merge branch 'master' into Triangulation_2-mark_domains-GF 2022-07-11 16:38:15 +02:00
Mesh_3 Merge 'sloriot/CGAL-std_type_traits' into master 2022-08-03 20:19:51 +02:00
Mesher_level Merge remote-tracking branch 'cgal/5.3.x-branch' 2021-08-25 19:33:46 +02:00
Minkowski_sum_2 Merge branch 'master' into pr/lrineau/6558 2022-05-06 16:25:32 +02:00
Minkowski_sum_3 Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Miscellany/doc/Miscellany Remove sizing of hash tables in copy constructors, size just grows 2022-03-17 20:21:12 +00:00
Modifier Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Modular_arithmetic BOOST_MPL_ASSERT -> static_assert 2022-06-10 08:46:01 +02:00
Nef_2 boost::is_same --> std::is_same 2022-06-10 08:18:20 +02:00
Nef_3 Merge pull request #6665 from sloriot/CGAL-std_type_traits 2022-08-17 13:56:54 +02:00
Nef_S2 Merge pull request #6683 from lrineau/Nef_S2-fix_use_after_free-GF 2022-06-29 09:50:39 +02:00
NewKernel_d more workarounds for MSVC 2015 2022-08-10 23:50:39 +02:00
Number_types Merge 'sloriot/CGAL-std_type_traits' into master 2022-08-03 20:19:51 +02:00
OpenNL extra run of the script to remove tabs and trailing whitespaces 2020-03-26 14:16:06 +01:00
Optimal_bounding_box use std::enable_if_t 2022-06-10 07:37:53 +02:00
Optimal_transportation_reconstruction_2 Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Optimisation_basic Add missing dependencies to Optimisation_basic 2020-10-13 09:55:38 +02:00
Orthtree Orthtree: Fix in test code 2022-06-30 15:57:21 +01:00
Partition_2 Backport the patch of pull request #6602 from lrineau/Triangulation_2-fix_cdt_2-GF 2022-06-29 12:30:35 +02:00
Periodic_2_triangulation_2 use std::enable_if_t 2022-06-10 07:37:53 +02:00
Periodic_3_mesh_3 Merge 'sloriot/CGAL-std_type_traits' into master 2022-08-03 20:19:51 +02:00
Periodic_3_triangulation_3 Merge pull request #6655 from lrineau/Triangulation_3-fix_use_after_free-GF 2022-06-15 10:20:48 +02:00
Periodic_4_hyperbolic_triangulation_2 clean up EXAMPLE_PATH 2022-05-23 16:52:17 +02:00
Point_set_2 Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Point_set_3 boost::is_same --> std::is_same 2022-06-10 08:18:20 +02:00
Point_set_processing_3 Fix test_read_write_point_set 2022-08-17 17:21:05 +02:00
Poisson_surface_reconstruction_3 use std::enable_if_t 2022-06-10 07:37:53 +02:00
Polygon Merge pull request #6609 from afabri/Polygon-transform-GF 2022-06-15 10:20:58 +02:00
Polygon_mesh_processing Merge pull request #6665 from sloriot/CGAL-std_type_traits 2022-08-17 13:56:54 +02:00
Polygonal_surface_reconstruction fix package license 2022-08-02 13:32:36 +02:00
Polyhedron Merge pull request #6665 from sloriot/CGAL-std_type_traits 2022-08-17 13:56:54 +02:00
Polyline_simplification_2 Merge pull request #6599 from afabri/Polyline_simplification-constref-GF 2022-05-26 18:11:38 +02:00
Polynomial Merge 'sloriot/CGAL-std_type_traits' into master 2022-08-03 20:19:51 +02:00
Polytope_distance_d Merge pull request #6558 from lrineau/Installation-remove_wd4503-GF 2022-05-13 15:53:36 +02:00
Principal_component_analysis Merge branch 'master' into pr/lrineau/6558 2022-05-06 16:25:32 +02:00
Principal_component_analysis_LGPL Do not use CGAL::iterator_v<> as it is responsible for the ICE of VC2015 2022-06-27 08:58:17 +01:00
Profiling_tools Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Property_map Merge 'sloriot/CGAL-std_type_traits' into master 2022-08-03 20:19:51 +02:00
QP_solver Merge remote-tracking branch 'cgal/5.4.x-branch' 2022-05-13 17:26:04 +02:00
Random_numbers Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Ridges_3 BOOST_MPL_ASSERT -> static_assert 2022-06-10 08:46:01 +02:00
SMDS_3 Merge 'sloriot/CGAL-std_type_traits' into master 2022-08-03 20:19:51 +02:00
STL_Extension Merge pull request #6665 from sloriot/CGAL-std_type_traits 2022-08-17 13:56:54 +02:00
Scale_space_reconstruction_3 Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Scripts sed -i -e 's/egrep/grep -E/g' 2022-07-01 16:19:36 +02:00
SearchStructures Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Segment_Delaunay_graph_2 Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Segment_Delaunay_graph_Linf_2 Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Set_movable_separability_2 Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Shape_detection Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Shape_regularization fix conversion warnings 2022-08-04 08:55:49 +02:00
Skin_surface_3 Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Snap_rounding_2 Merge branch 'master' into pr/lrineau/6558 2022-05-06 16:25:32 +02:00
Solver_interface added refines Assignable 2022-07-29 15:39:27 +02:00
Spatial_searching Merge 'sloriot/CGAL-std_type_traits' into master 2022-08-03 20:19:51 +02:00
Spatial_sorting Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Straight_skeleton_2 Merge 'sloriot/CGAL-std_type_traits' into master 2022-08-03 20:19:51 +02:00
Stream_lines_2 Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Stream_support more workarounds for MSVC 2015 2022-08-10 23:50:39 +02:00
Subdivision_method_3 Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Surface_mesh Merge 'sloriot/CGAL-std_type_traits' into master 2022-08-03 20:19:51 +02:00
Surface_mesh_approximation boost::is_same --> std::is_same 2022-06-10 08:18:20 +02:00
Surface_mesh_deformation Merge pull request #6547 from afabri/Skeletoniation-HDS-GF 2022-07-08 20:24:58 +02:00
Surface_mesh_parameterization Merge pull request #6665 from sloriot/CGAL-std_type_traits 2022-08-17 13:56:54 +02:00
Surface_mesh_segmentation Merge 'sloriot/CGAL-std_type_traits' into master 2022-08-03 20:19:51 +02:00
Surface_mesh_shortest_path Merge 'sloriot/CGAL-std_type_traits' into master 2022-08-03 20:19:51 +02:00
Surface_mesh_simplification use std::enable_if_t 2022-06-10 07:37:53 +02:00
Surface_mesh_skeletonization Merge pull request #6547 from afabri/Skeletoniation-HDS-GF 2022-07-08 20:24:58 +02:00
Surface_mesh_topology Merge branch 'master' into CMap_index-gdamiand 2022-07-19 09:44:16 +02:00
Surface_mesher BOOST_MPL_ASSERT -> static_assert 2022-06-10 08:46:01 +02:00
Surface_sweep_2 missing () in macro + typo fixes 2022-06-14 11:24:21 +02:00
TDS_2 Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
TDS_3 Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Testsuite sed -i -e 's/egrep/grep -E/g' 2022-07-01 16:19:36 +02:00
Tetrahedral_remeshing Merge 'sloriot/CGAL-std_type_traits' into master 2022-08-03 20:19:51 +02:00
Three Corrections for more strict doxygen symbol resolver 2022-06-07 10:56:37 +02:00
Triangulation Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Triangulation_2 Merge 'sloriot/CGAL-std_type_traits' into master 2022-08-03 20:19:51 +02:00
Triangulation_3 Merge 'sloriot/CGAL-std_type_traits' into master 2022-08-03 20:19:51 +02:00
Triangulation_on_sphere_2 use std::enable_if_t 2022-06-10 07:37:53 +02:00
Union_find Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Visibility_2 Backport the patch of pull request #6602 from lrineau/Triangulation_2-fix_cdt_2-GF 2022-06-29 12:30:35 +02:00
Voronoi_diagram_2 Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Weights Merge pull request #6667 from sloriot/CGAL-please_intel_2019 2022-06-29 09:50:48 +02:00
.clang-tidy restore removed value 2021-09-02 19:09:28 +02:00
.gitattributes Declare Nef_3 data files 2020-06-24 12:18:15 +02:00
.gitignore Merge branch '5.5.x-branch' 2022-06-15 10:23:16 +02:00
CGALConfig.cmake
CGALConfigVersion.cmake Add CGALConfigVersion.cmake, and CTest tests 2020-05-01 15:00:35 +02:00
CMakeLists.txt use `cmake_language(DEFER CALL..)` instead of `variable_watch` 2022-06-21 20:59:18 +02:00
INSTALL.md INSTALL.md: Fix missing path in cmake invocation 2020-03-01 20:14:05 +01:00
LICENSE.md Re-add Creative Commons 2020-12-03 10:32:55 +01:00
README.md Remove the link to Travis 2021-03-26 11:11:48 +01:00
ccpp.yml Update and rename .github/workflows/ccpp.yml to ccpp.yml 2019-09-20 13:34:50 +02:00
cmake_uninstall.cmake.in
copyright remove travis and wininst 2021-02-11 10:37:08 +01:00

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