mirror of https://github.com/CGAL/cgal
Merge remote-tracking branch 'origin/master' into Region_growing-revision-danston
This commit is contained in:
commit
b9d14ed07f
|
|
@ -10,20 +10,20 @@ supporting <a href="https://isocpp.org/wiki/faq/cpp14">C++14</a> or later.
|
|||
\cgal \cgalReleaseNumber is supported (continuously tested) for the following compilers/operating systems:
|
||||
|
||||
| Operating System | Compiler |
|
||||
| :------- | :--------------- |
|
||||
| Linux | \gnu `g++` 6.3 or later\cgalFootnote{<A HREF="http://gcc.gnu.org/">`http://gcc.gnu.org/`</A>} |
|
||||
| | `Clang` \cgalFootnote{<A HREF="http://clang.llvm.org/">`http://clang.llvm.org/`</A>} compiler version 8.0.0 |
|
||||
| \ms Windows | \gnu `g++` 6.3 or later\cgalFootnote{<A HREF="http://gcc.gnu.org/">`http://gcc.gnu.org/`</A>} |
|
||||
| | \ms Visual `C++` 14.0, 15.9, 16.0 (\visualstudio 2015, 2017, and 2019)\cgalFootnote{<A HREF="https://visualstudio.microsoft.com/">`https://visualstudio.microsoft.com/`</A>} |
|
||||
| MacOS X | \gnu `g++` 6.3 or later\cgalFootnote{<A HREF="http://gcc.gnu.org/">`http://gcc.gnu.org/`</A>} |
|
||||
| | Apple `Clang` compiler versions 7.0.2 and 10.0.1 |
|
||||
| :---------- | :--------------- |
|
||||
| Linux | \gnu `g++` 8.3 or later\cgalFootnote{<A HREF="http://gcc.gnu.org/">`http://gcc.gnu.org/`</A>} |
|
||||
| | `Clang` \cgalFootnote{<A HREF="http://clang.llvm.org/">`http://clang.llvm.org/`</A>} compiler version 11.1.0 |
|
||||
| \ms Windows | \gnu `g++` 8.3 or later\cgalFootnote{<A HREF="http://gcc.gnu.org/">`http://gcc.gnu.org/`</A>} |
|
||||
| | \ms Visual `C++` 14.0, 15.9, 16.10 (\visualstudio 2015, 2017, and 2019)\cgalFootnote{<A HREF="https://visualstudio.microsoft.com/">`https://visualstudio.microsoft.com/`</A>} |
|
||||
| MacOS X | \gnu `g++` 8.3 or later\cgalFootnote{<A HREF="http://gcc.gnu.org/">`http://gcc.gnu.org/`</A>} |
|
||||
| | Apple `Clang` compiler versions 10.0.1 and 12.0.0 |
|
||||
|
||||
<!-- Windows supported version are also listed on windows.html (must change both) -->
|
||||
|
||||
Older versions of the above listed compilers might work, but no guarantee is provided.
|
||||
|
||||
\section seccmake CMake
|
||||
<b>Version 3.12 or later</b>
|
||||
<b>Version 3.14 or later</b>
|
||||
|
||||
In order to configure and build the \cgal examples, demos, or libraries,
|
||||
you need <a href="https://cmake.org/">CMake</a>, a cross-platform "makefile generator".
|
||||
|
|
|
|||
|
|
@ -3,12 +3,13 @@
|
|||
|
||||
var url_re = /(cgal\.geometryfactory\.com\/CGAL\/doc\/|doc\.cgal\.org\/)(master|latest|(\d\.\d+|\d\.\d+\.\d+)(-beta\d)?)\//;
|
||||
var url_local = /.*\/doc_output\//;
|
||||
var current_version_local = '5.2'
|
||||
var current_version_local = '5.3-beta1'
|
||||
var all_versions = [
|
||||
'master',
|
||||
'5.2',
|
||||
'5.3-beta1',
|
||||
'latest',
|
||||
'5.1.2',
|
||||
'5.2.2',
|
||||
'5.1.5',
|
||||
'5.0.4',
|
||||
'4.14.3',
|
||||
'4.13.2',
|
||||
|
|
|
|||
|
|
@ -3,12 +3,13 @@
|
|||
|
||||
var url_re = /(cgal\.geometryfactory\.com\/CGAL\/doc\/|doc\.cgal\.org\/)(master|latest|(\d\.\d+|\d\.\d+\.\d+)(-beta\d)?)\//;
|
||||
var url_local = /.*\/doc_output\//;
|
||||
var current_version_local = '5.2'
|
||||
var current_version_local = '5.3-beta1'
|
||||
var all_versions = [
|
||||
'master',
|
||||
'5.2',
|
||||
'5.3-beta1',
|
||||
'latest',
|
||||
'5.1.2',
|
||||
'5.2.2',
|
||||
'5.1.5',
|
||||
'5.0.4',
|
||||
'4.14.3',
|
||||
'4.13.2',
|
||||
|
|
|
|||
|
|
@ -3,12 +3,13 @@
|
|||
|
||||
var url_re = /(cgal\.geometryfactory\.com\/CGAL\/doc\/|doc\.cgal\.org\/)(master|latest|(\d\.\d+|\d\.\d+\.\d+)(-beta\d)?)\//;
|
||||
var url_local = /.*\/doc_output\//;
|
||||
var current_version_local = '5.2'
|
||||
var current_version_local = '5.3-beta1'
|
||||
var all_versions = [
|
||||
'master',
|
||||
'5.2',
|
||||
'5.3-beta1',
|
||||
'latest',
|
||||
'5.1.2',
|
||||
'5.2.2',
|
||||
'5.1.5',
|
||||
'5.0.4',
|
||||
'4.14.3',
|
||||
'4.13.2',
|
||||
|
|
|
|||
|
|
@ -3,12 +3,13 @@
|
|||
|
||||
var url_re = /(cgal\.geometryfactory\.com\/CGAL\/doc\/|doc\.cgal\.org\/)(master|latest|(\d\.\d+|\d\.\d+\.\d+)(-beta\d)?)\//;
|
||||
var url_local = /.*\/doc_output\//;
|
||||
var current_version_local = '5.2'
|
||||
var current_version_local = '5.3-beta1'
|
||||
var all_versions = [
|
||||
'master',
|
||||
'5.2',
|
||||
'5.3-beta1',
|
||||
'latest',
|
||||
'5.1.2',
|
||||
'5.2.2',
|
||||
'5.1.5',
|
||||
'5.0.4',
|
||||
'4.14.3',
|
||||
'4.13.2',
|
||||
|
|
|
|||
|
|
@ -4,18 +4,21 @@ Release History
|
|||
[Release 5.3](https://github.com/CGAL/cgal/releases/tag/v5.3)
|
||||
-----------
|
||||
|
||||
Release date: June 2021
|
||||
Release date: July 2021
|
||||
|
||||
### Triangulations on the Sphere (new package)
|
||||
### [Quadtrees, Octrees, and Orthtrees](https://doc.cgal.org/5.3/Manual/packages.html#PkgOrthtree) (new package)
|
||||
|
||||
- This package implements a tree data structure in which each node encloses a hypercubic section
|
||||
of space and each non-leave node has hypercubic children whose edge lengths are half its edge length.
|
||||
Such a data structure is known as a quadtree in 2D, an octree in 3D, and is generalized
|
||||
as an "orthtree" in higher dimensions.
|
||||
|
||||
### [Triangulations on the Sphere](https://doc.cgal.org/5.3/Manual/packages.html#PkgTriangulationOnSphere2) (new package)
|
||||
|
||||
- This package enables the construction and manipulation of Delaunay triangulations on the 2-sphere.
|
||||
Triangulations are built incrementally and can be modified by insertion or removal of vertices.
|
||||
Point location querying and primitives to build the dual Voronoi diagram are provided.
|
||||
|
||||
### General
|
||||
|
||||
- Cmake minimal version is now `3.14`.
|
||||
|
||||
### File Input / Output
|
||||
|
||||
- Point set, polygon soup, and polygon mesh file I/O functions have been harmonized and documented:
|
||||
|
|
@ -23,55 +26,67 @@ Release date: June 2021
|
|||
- Polygon mesh I/O functions can be found in the package [BGL](https://doc.cgal.org/5.3/Manual/packages.html#PkgBGL).
|
||||
- Polygon soup I/O can be found in the package [Stream_support](https://doc.cgal.org/5.3/Manual/packages.html#PkgStreamSupport).
|
||||
|
||||
A comprehensive list of the supported file formats is available in the Stream_support package [here](https://doc.cgal.org/5.3/Stream_support/index.html#IOstreamSupportedFormats); inversely, the following [page](https://doc.cgal.org/5.3/Stream_support/IOStreamSupportedFileFormats.html) can be used to find out which CGAL data structures can be used given a specific file format.
|
||||
A comprehensive list of the supported file formats is available in the Stream_support package
|
||||
[here](https://doc.cgal.org/5.3/Stream_support/index.html#IOstreamSupportedFormats);
|
||||
inversely, the following [page](https://doc.cgal.org/5.3/Stream_support/IOStreamSupportedFileFormats.html)
|
||||
can be used to find out which CGAL data structures can be used given a specific file format.
|
||||
|
||||
### [Requirements](https://doc.cgal.org/5.3/Manual/thirdparty.html)
|
||||
|
||||
- The CMake minimal version is now `3.14`.
|
||||
- The GNU compiler g++ versions 6 and 7 are no longer tested. Only version 8.3 or later are supported
|
||||
|
||||
### [2D and 3D Linear Geometry Kernel](https://doc.cgal.org/5.3/Manual/packages.html#PkgKernel23)
|
||||
|
||||
- Added functions to the classes `Aff_transformation_2` and `Aff_transformation_3`, which enable to determine if they internally have a specialized representation.
|
||||
- Added `is_translation()`, `is_scaling()`, `is_reflection()`, and `is_rotation()` to the classes
|
||||
[`Aff_transformation_2`](https://doc.cgal.org/5.3/Kernel_23/classCGAL_1_1Aff__transformation__2.html)
|
||||
and [`Aff_transformation_3`](https://doc.cgal.org/5.3/Kernel_23/classCGAL_1_1Aff__transformation__3.html),
|
||||
which enable determining if the transformations use a specialized representation internally.
|
||||
|
||||
### [Quadtrees, Octrees, and Orthtrees](https://doc.cgal.org/5.3/Manual/packages.html#PkgOrthree) (new package)
|
||||
|
||||
- This package implements a tree data structure in which each node
|
||||
encloses a hypercubic section of space and each non-leave node has
|
||||
hypercubic children whose edge lengths are half its edge
|
||||
length. Such a data structure is known as a quadtree in 2D, an
|
||||
octree in 3D, and is generalized as an "orthtree" in higher
|
||||
dimensions.
|
||||
### [2D Regularized Boolean Set-Operations](https://doc.cgal.org/5.3/Manual/packages.html#PkgBooleanSetOperations2)
|
||||
- Added documentation for the free functions [`oriented_side(const Point_2& p, ....)`](https://doc.cgal.org/5.3/Boolean_set_operations_2/group__boolean__oriented__side.html)
|
||||
that accept a point and a polygon.
|
||||
- Documentation has been improved across the whole package.
|
||||
|
||||
### [Polygon Mesh Processing](https://doc.cgal.org/5.3/Manual/packages.html#PkgPolygonMeshProcessing)
|
||||
|
||||
- Added the class `CGAL::Polyhedral_envelope` providing a way to quickly check if a primitive (point, segment, or triangle)
|
||||
- Added the class [`CGAL::Polyhedral_envelope`](https://doc.cgal.org/5.3/Polygon_mesh_processing/structCGAL_1_1Polyhedral__envelope.html),
|
||||
providing a way to quickly check if a primitive (point, segment, or triangle)
|
||||
is within a polyhedral envelope around a set of triangles. It is based on the work of
|
||||
Bolun Wang, Teseo Schneider, Yixin Hu, Marco Attene, and Daniele Panozzo.
|
||||
"Exact and efficient polyhedral envelope containment check." (ACM Trans. Graph., 39-4, July 2020).
|
||||
- Added more functions in the visitor of the corefinement based methods to track all edge creations.
|
||||
- Added more functions in the [visitor of the corefinement based methods](https://doc.cgal.org/5.3/Polygon_mesh_processing/classPMPCorefinementVisitor.html)
|
||||
to track all edge creations.
|
||||
|
||||
### [Surface Mesh Topology](https://doc.cgal.org/5.3/Manual/packages.html#PkgSurfaceMeshTopologySummary)
|
||||
- Added the function [`CGAL::Surface_mesh_topology::Curves_on_surface_topology::is_homotopic_to_simple_cycle()`](https://doc.cgal.org/5.3/Surface_mesh_topology/classCGAL_1_1Surface__mesh__topology_1_1Curves__on__surface__topology.html#a8d7c4cba2cf2cff542f5cd93117233db),
|
||||
which can be used to determine whehter a closed path on a surface mesh can be continously
|
||||
transformed to a cycle without self intersection.
|
||||
|
||||
### [Surface Mesh Simplification](https://doc.cgal.org/5.3/Manual/packages.html#PkgSurfaceMeshSimplification)
|
||||
- Added a filtering mechanism so that costly tests get only applied to the next candidate for the edge collapse.
|
||||
- Added the class `Polyhedral_envelope_filter` that enables to perform mesh simplification inside a polyhedral envelope of the input mesh.
|
||||
|
||||
### Surface Mesh Topology
|
||||
- Added the function `CGAL::Surface_mesh_topology::Curves_on_surface_topology::is_homotopic_to_simple_cycle()`, which can be used to determine whehter a closed path
|
||||
on a surface mesh can be continously transformed to a cycle without self intersection.
|
||||
|
||||
### 2D Regularized Boolean Set Operations
|
||||
- Added documentation for the free functions `oriented_side(const Point_2& p, ....)` that accept a point and a polygon, and improved the documentation of all other functions
|
||||
- Added the class [`Polyhedral_envelope_filter`](https://doc.cgal.org/5.3/Surface_mesh_simplification/classCGAL_1_1Surface__mesh__simplification_1_1Polyhedral__envelope__filter.html),
|
||||
which enables to perform mesh simplification inside a polyhedral envelope of the input mesh.
|
||||
|
||||
### [2D Polyline Simplification](https://doc.cgal.org/5.3/Manual/packages.html#PkgPolylineSimplification2)
|
||||
- When polylines have common subsequences of vertices these subsequences may be simplifified simultaneously.
|
||||
- When polylines have common subsequences of vertices, these subsequences may now be simplifified simultaneously.
|
||||
|
||||
### [dD Triangulations](https://doc.cgal.org/5.3/Manual/packages.html#PkgTriangulations)
|
||||
- Added the function [`insert_if_in_star()`](https://doc.cgal.org/5.3/Triangulation/classCGAL_1_1Regular__triangulation.html#aa8df2d138f341939e834bcdd7cb6c71a)
|
||||
to the class [`CGAL::Regular_triangulation`](https://doc.cgal.org/5.3/Triangulation/classCGAL_1_1Regular__triangulation.html),
|
||||
which enables users to insert a point `p` in a regular triangulation on the condition that `p`
|
||||
appears post-insertion in the star of a user-specified, existing vertex.
|
||||
|
||||
### [2D and 3D Alpha Shapes](https://doc.cgal.org/5.3/Manual/packages.html#PkgAlphaShapes2)
|
||||
- The following deprecated classes have been removed: `Alpha_shape_euclidean_traits_2`,
|
||||
- **Breaking change**: The following deprecated classes have been removed: `Alpha_shape_euclidean_traits_2`,
|
||||
`Weighted_alpha_shape_euclidean_traits_2`, `Alpha_shape_euclidean_traits_3`, and
|
||||
`Weighted_alpha_shape_euclidean_traits_3`. All CGAL kernel can be used directly as models
|
||||
of the concepts of the 2D and 3D Alpha Shape packages.
|
||||
|
||||
### [dD Triangulations](https://doc.cgal.org/5.3/Manual/packages.html#PkgTriangulations)
|
||||
- Added the function `insert_if_in_star()` to the class `CGAL::Regular_triangulation`, which enables users to insert a point `p` in a regular triangulation on the condition that `p` appears post-insertion in the star of a user-specified, existing vertex.
|
||||
|
||||
### [Classification](https://doc.cgal.org/5.3/Manual/packages.html#PkgClassification)
|
||||
- **Breaking change**: the support for TensorFlow was dropped, the
|
||||
classifier `CGAL::TensorFlow::Neural_network_classifier` was removed.
|
||||
- **Breaking change**: the support for TensorFlow has been dropped; the
|
||||
classifier `CGAL::TensorFlow::Neural_network_classifier` has been removed.
|
||||
|
||||
|
||||
[Release 5.2](https://github.com/CGAL/cgal/releases/tag/v5.2)
|
||||
-----------
|
||||
|
|
@ -605,7 +620,7 @@ Release date: November 2019
|
|||
- Added a function to convert a Nef_polyhedron_3 to a polygon soup: [`CGAL::convert_nef_polyhedron_to_polygon_soup()`](https://doc.cgal.org/5.0/Nef_3/group__PkgNef3IOFunctions.html#ga28a9eb4da0cd6153f0c16f7f9eaf6665)
|
||||
|
||||
### [IO Streams](https://doc.cgal.org/5.0/Manual/packages.html#PkgStreamSupport)
|
||||
- **Breaking change:** The API of [`CGAL::IO::Color`](https://doc.cgal.org/5.0/Stream_support/classCGAL_1_1Color.html) has been cleaned up.
|
||||
- **Breaking change:** The API of [`CGAL::Color`](https://doc.cgal.org/5.0/Stream_support/classCGAL_1_1Color.html) has been cleaned up.
|
||||
- Added new functions to support some parts of the WKT file format:
|
||||
* [`CGAL::read_WKT()`](https://doc.cgal.org/5.0/Stream_support/group__PkgStreamSupportRef.html#gad2872abfe6fcf17d705d38567fdd6248)
|
||||
* [`CGAL::read_point_WKT()`](https://doc.cgal.org/5.0/Stream_support/group__PkgStreamSupportRef.html#gadbd2705b183e467507abd2f167446eba)
|
||||
|
|
|
|||
|
|
@ -74,6 +74,7 @@ function(expand_list_with_globbing list_name)
|
|||
endfunction()
|
||||
|
||||
function(cgal_add_compilation_test exe_name)
|
||||
if(NOT CMAKE_VS_MSBUILD_COMMAND)
|
||||
if(TEST compilation_of__${exe_name})
|
||||
return()
|
||||
endif()
|
||||
|
|
@ -81,6 +82,27 @@ function(cgal_add_compilation_test exe_name)
|
|||
COMMAND ${TIME_COMMAND} "${CMAKE_COMMAND}" --build "${CMAKE_BINARY_DIR}" --target "${exe_name}" --config "$<CONFIG>")
|
||||
set_property(TEST "compilation_of__${exe_name}"
|
||||
APPEND PROPERTY LABELS "${PROJECT_NAME}")
|
||||
set_property(TEST "compilation_of__${exe_name}"
|
||||
APPEND PROPERTY FIXTURES_REQUIRED "check_build_system_SetupFixture")
|
||||
elseif(NOT TARGET compilation_of__${PROJECT_NAME})#CMAKE_VS_MSBUILD_COMMAND
|
||||
#this target is just a flag, to deal with the scope problem with the tests
|
||||
add_custom_target(compilation_of__${PROJECT_NAME})
|
||||
add_test(NAME "compilation_of__${PROJECT_NAME}"
|
||||
COMMAND ${TIME_COMMAND} "${CMAKE_VS_MSBUILD_COMMAND}" "${PROJECT_BINARY_DIR}/${PROJECT_NAME}.sln" "-m:$ENV{NUMBER_OF_PROCESSORS}" "/t:Build" "/p:Configuration=$<CONFIG>")
|
||||
set_property(TEST "compilation_of__${PROJECT_NAME}"
|
||||
APPEND PROPERTY LABELS "${PROJECT_NAME}")
|
||||
set_property(TEST "compilation_of__${PROJECT_NAME}"
|
||||
APPEND PROPERTY FIXTURES_REQUIRED "check_build_system_SetupFixture")
|
||||
set_tests_properties("compilation_of__${PROJECT_NAME}"
|
||||
PROPERTIES RUN_SERIAL TRUE)
|
||||
#because of the scope of the tests, this part cannot go in the relevant CMakeLists
|
||||
if("${PROJECT_NAME}" STREQUAL "Polyhedron_Demo")
|
||||
set_tests_properties(compilation_of__Polyhedron_Demo PROPERTIES TIMEOUT 2400)
|
||||
elseif("${PROJECT_NAME}" STREQUAL "Mesh_3_Tests" OR "${PROJECT_NAME}" STREQUAL "Mesh_3_Examples")
|
||||
set_tests_properties(compilation_of__${PROJECT_NAME} PROPERTIES TIMEOUT 1600)
|
||||
endif()
|
||||
|
||||
endif()#CMAKE_VS_MSBUILD_COMMAND
|
||||
if(NOT TARGET ALL_CGAL_TARGETS)
|
||||
add_custom_target( ALL_CGAL_TARGETS )
|
||||
endif()
|
||||
|
|
@ -94,8 +116,6 @@ function(cgal_add_compilation_test exe_name)
|
|||
set_property(TEST "check_build_system"
|
||||
PROPERTY FIXTURES_SETUP "check_build_system_SetupFixture")
|
||||
endif()
|
||||
set_property(TEST "compilation_of__${exe_name}"
|
||||
APPEND PROPERTY FIXTURES_REQUIRED "check_build_system_SetupFixture")
|
||||
if(TARGET CGAL_Qt5_moc_and_resources) # if CGAL_Qt5 was searched, and is header-only
|
||||
get_property(linked_libraries TARGET "${exe_name}" PROPERTY LINK_LIBRARIES)
|
||||
# message(STATUS "${exe_name} depends on ${linked_libraries}")
|
||||
|
|
@ -135,8 +155,13 @@ function(cgal_setup_test_properties test_name)
|
|||
endif()
|
||||
|
||||
if(exe_name)
|
||||
if(NOT CMAKE_VS_MSBUILD_COMMAND)
|
||||
set_property(TEST "${test_name}"
|
||||
APPEND PROPERTY DEPENDS "compilation_of__${exe_name}")
|
||||
else()#CMAKE_VS_MSBUILD_COMMAND
|
||||
set_property(TEST "${test_name}"
|
||||
APPEND PROPERTY DEPENDS "compilation_of__${PROJECT_NAME}")
|
||||
endif()#CMAKE_VS_MSBUILD_COMMAND
|
||||
endif()
|
||||
|
||||
get_filename_component(_source_dir_abs ${CMAKE_CURRENT_SOURCE_DIR} ABSOLUTE)
|
||||
|
|
@ -217,8 +242,13 @@ function(cgal_setup_test_properties test_name)
|
|||
if(exe_name)
|
||||
set_property(TEST ${test_name}
|
||||
APPEND PROPERTY FIXTURES_REQUIRED "${exe_name}")
|
||||
if(NOT CMAKE_VS_MSBUILD_COMMAND)
|
||||
set_property(TEST "compilation_of__${exe_name}"
|
||||
PROPERTY FIXTURES_SETUP "${exe_name}")
|
||||
else()#CMAKE_VS_MSBUILD_COMMAND
|
||||
set_property(TEST "compilation_of__${PROJECT_NAME}"
|
||||
PROPERTY FIXTURES_SETUP "${exe_name}")
|
||||
endif()#CMAKE_VS_MSBUILD_COMMAND
|
||||
if((ANDROID OR CGAL_RUN_TESTS_THROUGH_SSH) AND NOT TEST push_of__${exe_name})
|
||||
if(ANDROID)
|
||||
add_test(NAME "push_of__${exe_name}"
|
||||
|
|
|
|||
|
|
@ -188,12 +188,20 @@ endmacro()
|
|||
#=============================================================================
|
||||
# Now to actually find TBB
|
||||
#
|
||||
|
||||
#start with CONFIG Mode
|
||||
find_package(TBB QUIET NO_MODULE)
|
||||
#start with looking for TBB_DIR and TBB_ROOT
|
||||
if((TBB_ROOT OR ENV{TBB_ROOT} OR ENV{TBB_DIR} ) AND NOT TBB_FOUND)
|
||||
find_package(TBB QUIET NO_MODULE NO_CMAKE_SYSTEM_PATH NO_SYSTEM_ENVIRONMENT_PATH)
|
||||
endif()
|
||||
if(TBB_FOUND)
|
||||
return()
|
||||
endif()#TBB_FOUND
|
||||
|
||||
#try CONFIG Mode
|
||||
find_package(TBB 2019.0.11005 QUIET NO_MODULE)
|
||||
if(TBB_FOUND)
|
||||
return()
|
||||
endif()#TBB_FOUND
|
||||
|
||||
# Get path, convert backslashes as ${ENV_${var}}
|
||||
getenv_path(TBB_ROOT)
|
||||
|
||||
|
|
|
|||
|
|
@ -17,10 +17,10 @@
|
|||
#define CGAL_VERSION_H
|
||||
|
||||
#ifndef SWIG
|
||||
#define CGAL_VERSION 5.3-dev
|
||||
#define CGAL_VERSION 5.3-beta1
|
||||
#define CGAL_GIT_HASH abcdef
|
||||
#endif
|
||||
#define CGAL_VERSION_NR 1050300000
|
||||
#define CGAL_VERSION_NR 1050300910
|
||||
#define CGAL_SVN_REVISION 99999
|
||||
#define CGAL_RELEASE_DATE 20210630
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ set(CGAL_MAJOR_VERSION 5)
|
|||
set(CGAL_MINOR_VERSION 3)
|
||||
set(CGAL_BUGFIX_VERSION 0)
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/CGALConfigBuildVersion.cmake)
|
||||
set(CGAL_VERSION_PUBLIC_RELEASE_VERSION "5.3-dev")
|
||||
set(CGAL_VERSION_PUBLIC_RELEASE_VERSION "5.3-beta1")
|
||||
set(CGAL_VERSION_PUBLIC_RELEASE_NAME "CGAL-${CGAL_VERSION_PUBLIC_RELEASE_VERSION}")
|
||||
|
||||
if (CGAL_BUGFIX_VERSION AND CGAL_BUGFIX_VERSION GREATER 0)
|
||||
|
|
|
|||
|
|
@ -15,29 +15,24 @@ LC_CTYPE=en_US.UTF-8
|
|||
# Update testsuite result pages
|
||||
5,15,25,35,45,55 * * * * cd $HOME/CGAL/collect_and_public_testresults; ./treat_result_collection || echo ERROR
|
||||
|
||||
# Launch the test suite, every 10mn, from 21:00 to 22:50, with no
|
||||
# platform. That is actually used by the Doxygen testsuite... :-\
|
||||
#*/10 21-22 * * * setarch i686 $HOME/CGAL/Scripts/developer_scripts/autotest_cgal_with_cmake
|
||||
|
||||
# Create internal release
|
||||
# The script also updates the manual tools.
|
||||
|
||||
# "master" alone
|
||||
0 21 * * Sun cd $HOME/CGAL/create_internal_release && /usr/bin/time scl enable rh-git29 -- $HOME/bin/create_release $HOME/CGAL/branches/master.git --public --do-it || echo ERROR
|
||||
0 21 * * Sun cd $HOME/CGAL/create_internal_release && /usr/bin/time scl enable rh-git29 -- $HOME/bin/create_release $HOME/CGAL/branches/master.git --public --do-it --beta 2 || echo ERROR
|
||||
# "integration"
|
||||
0 21 * * Mon,Tue,Wed,Thu cd $HOME/CGAL/create_internal_release && /usr/bin/time scl enable rh-git29 -- $HOME/bin/create_release $HOME/CGAL/branches/integration.git $HOME/CGAL/branches/empty-dir --public --do-it || echo ERROR
|
||||
0 21 * * Mon,Tue,Wed,Thu cd $HOME/CGAL/create_internal_release && /usr/bin/time scl enable rh-git29 -- $HOME/bin/create_release $HOME/CGAL/branches/integration.git $HOME/CGAL/branches/empty-dir --do-it || echo ERROR
|
||||
# from branch 5.2
|
||||
0 21 * * Sat cd $HOME/CGAL/create_internal_release-5.2-branch && /usr/bin/time scl enable rh-git29 -- $HOME/bin/create_release $HOME/CGAL/branches/CGAL-5.2-branch.git --public --do-it || echo ERROR
|
||||
# from branch 5.1
|
||||
0 21 * * Fri cd $HOME/CGAL/create_internal_release-5.1-branch && /usr/bin/time scl enable rh-git29 -- $HOME/bin/create_release $HOME/CGAL/branches/CGAL-5.1-branch.git --public --do-it || echo ERROR
|
||||
|
||||
|
||||
## Older stuff
|
||||
# from branch 5.0
|
||||
#0 21 * * Fri cd $HOME/CGAL/create_internal_release-5.0-branch && /usr/bin/time scl enable rh-git29 -- $HOME/bin/create_release $HOME/CGAL/branches/CGAL-5.0-branch.git --public --do-it || echo ERROR
|
||||
# from branch 4.14
|
||||
#0 21 * * Fri cd $HOME/CGAL/create_internal_release-4.14-branch && /usr/bin/time scl enable rh-git29 -- $HOME/bin/create_release $HOME/CGAL/branches/CGAL-4.14-branch.git --public --do-it || echo ERROR
|
||||
|
||||
## Older stuff
|
||||
# from branch 4.13
|
||||
#0 21 * * Fri cd $HOME/CGAL/create_internal_release-4.13-branch && /usr/bin/time scl enable rh-git29 -- $HOME/bin/create_release $HOME/CGAL/branches/CGAL-4.13-branch.git --public --do-it || echo ERROR
|
||||
# from branch 4.12
|
||||
|
|
|
|||
|
|
@ -1,5 +1,88 @@
|
|||
The CGAL Open Source Project is pleased to announce the release 5.2 Beta 1 of CGAL, the Computational Geometry Algorithms Library.
|
||||
%The CGAL Open Source Project is pleased to announce the release 5.3 Beta 1 of CGAL, the Computational Geometry Algorithms Library.
|
||||
|
||||
CGAL version 5.2 Beta 1 is a public testing release. It should provide a solid ground to report bugs that need to be tackled before the release of the final version of CGAL 5.2 in December 2020.
|
||||
CGAL version 5.3 Beta 1 is a public testing release. It should provide a solid ground to report bugs that need to be tackled before the release of the final version of CGAL 5.3 in July 2021.
|
||||
|
||||
|
||||
Besides fixes and general enhancement to existing packages, the following has changed since CGAL 5.2:
|
||||
|
||||
### [Quadtrees, Octrees, and Orthtrees](https://doc.cgal.org/5.3/Manual/packages.html#PkgOrthtree) (new package)
|
||||
|
||||
- This package implements a tree data structure in which each node encloses a hypercubic section
|
||||
of space and each non-leave node has hypercubic children whose edge lengths are half its edge length.
|
||||
Such a data structure is known as a quadtree in 2D, an octree in 3D, and is generalized
|
||||
as an "orthtree" in higher dimensions.
|
||||
|
||||
### [Triangulations on the Sphere](https://doc.cgal.org/5.3/Manual/packages.html#PkgTriangulationOnSphere2) (new package)
|
||||
|
||||
- This package enables the construction and manipulation of Delaunay triangulations on the 2-sphere.
|
||||
Triangulations are built incrementally and can be modified by insertion or removal of vertices.
|
||||
Point location querying and primitives to build the dual Voronoi diagram are provided.
|
||||
|
||||
### File Input / Output
|
||||
|
||||
- Point set, polygon soup, and polygon mesh file I/O functions have been harmonized and documented:
|
||||
- Point set I/O functions can be found in the packages [Point_set_processing_3](https://doc.cgal.org/5.3/Manual/packages.html#PkgPolygonMeshProcessing), and [Point_set_3](https://doc.cgal.org/5.3/Manual/packages.html#PkgPointSet3).
|
||||
- Polygon mesh I/O functions can be found in the package [BGL](https://doc.cgal.org/5.3/Manual/packages.html#PkgBGL).
|
||||
- Polygon soup I/O can be found in the package [Stream_support](https://doc.cgal.org/5.3/Manual/packages.html#PkgStreamSupport).
|
||||
|
||||
A comprehensive list of the supported file formats is available in the Stream_support package
|
||||
[here](https://doc.cgal.org/5.3/Stream_support/index.html#IOstreamSupportedFormats);
|
||||
inversely, the following [page](https://doc.cgal.org/5.3/Stream_support/IOStreamSupportedFileFormats.html)
|
||||
can be used to find out which CGAL data structures can be used given a specific file format.
|
||||
|
||||
### [Requirements](https://doc.cgal.org/5.3/Manual/thirdparty.html)
|
||||
|
||||
- The CMake minimal version is now `3.14`.
|
||||
- The GNU compiler g++ versions 6 and 7 are no longer tested. Only version 8.3 or later are supported
|
||||
|
||||
### [2D and 3D Linear Geometry Kernel](https://doc.cgal.org/5.3/Manual/packages.html#PkgKernel23)
|
||||
|
||||
- Added `is_translation()`, `is_scaling()`, `is_reflection()`, and `is_rotation()` to the classes
|
||||
[`Aff_transformation_2`](https://doc.cgal.org/5.3/Kernel_23/classCGAL_1_1Aff__transformation__2.html)
|
||||
and [`Aff_transformation_3`](https://doc.cgal.org/5.3/Kernel_23/classCGAL_1_1Aff__transformation__3.html),
|
||||
which enable determining if the transformations use a specialized representation internally.
|
||||
|
||||
### [2D Regularized Boolean Set-Operations](https://doc.cgal.org/5.3/Manual/packages.html#PkgBooleanSetOperations2)
|
||||
- Added documentation for the free functions [`oriented_side(const Point_2& p, ....)`](https://doc.cgal.org/5.3/Boolean_set_operations_2/group__boolean__oriented__side.html)
|
||||
that accept a point and a polygon.
|
||||
- Documentation has been improved across the whole package.
|
||||
|
||||
### [Polygon Mesh Processing](https://doc.cgal.org/5.3/Manual/packages.html#PkgPolygonMeshProcessing)
|
||||
|
||||
- Added the class [`CGAL::Polyhedral_envelope`](https://doc.cgal.org/5.3/Polygon_mesh_processing/structCGAL_1_1Polyhedral__envelope.html),
|
||||
providing a way to quickly check if a primitive (point, segment, or triangle)
|
||||
is within a polyhedral envelope around a set of triangles. It is based on the work of
|
||||
Bolun Wang, Teseo Schneider, Yixin Hu, Marco Attene, and Daniele Panozzo.
|
||||
"Exact and efficient polyhedral envelope containment check." (ACM Trans. Graph., 39-4, July 2020).
|
||||
- Added more functions in the [visitor of the corefinement based methods](https://doc.cgal.org/5.3/Polygon_mesh_processing/classPMPCorefinementVisitor.html)
|
||||
to track all edge creations.
|
||||
|
||||
### [Surface Mesh Topology](https://doc.cgal.org/5.3/Manual/packages.html#PkgSurfaceMeshTopologySummary)
|
||||
- Added the function [`CGAL::Surface_mesh_topology::Curves_on_surface_topology::is_homotopic_to_simple_cycle()`](https://doc.cgal.org/5.3/Surface_mesh_topology/classCGAL_1_1Surface__mesh__topology_1_1Curves__on__surface__topology.html#a8d7c4cba2cf2cff542f5cd93117233db),
|
||||
which can be used to determine whehter a closed path on a surface mesh can be continously
|
||||
transformed to a cycle without self intersection.
|
||||
|
||||
### [Surface Mesh Simplification](https://doc.cgal.org/5.3/Manual/packages.html#PkgSurfaceMeshSimplification)
|
||||
- Added a filtering mechanism so that costly tests get only applied to the next candidate for the edge collapse.
|
||||
- Added the class [`Polyhedral_envelope_filter`](https://doc.cgal.org/5.3/Surface_mesh_simplification/classCGAL_1_1Surface__mesh__simplification_1_1Polyhedral__envelope__filter.html),
|
||||
which enables to perform mesh simplification inside a polyhedral envelope of the input mesh.
|
||||
|
||||
### [2D Polyline Simplification](https://doc.cgal.org/5.3/Manual/packages.html#PkgPolylineSimplification2)
|
||||
- When polylines have common subsequences of vertices, these subsequences may now be simplifified simultaneously.
|
||||
|
||||
### [dD Triangulations](https://doc.cgal.org/5.3/Manual/packages.html#PkgTriangulations)
|
||||
- Added the function [`insert_if_in_star()`](https://doc.cgal.org/5.3/Triangulation/classCGAL_1_1Regular__triangulation.html#aa8df2d138f341939e834bcdd7cb6c71a)
|
||||
to the class [`CGAL::Regular_triangulation`](https://doc.cgal.org/5.3/Triangulation/classCGAL_1_1Regular__triangulation.html),
|
||||
which enables users to insert a point `p` in a regular triangulation on the condition that `p`
|
||||
appears post-insertion in the star of a user-specified, existing vertex.
|
||||
|
||||
### [2D and 3D Alpha Shapes](https://doc.cgal.org/5.3/Manual/packages.html#PkgAlphaShapes2)
|
||||
- **Breaking change**: The following deprecated classes have been removed: `Alpha_shape_euclidean_traits_2`,
|
||||
`Weighted_alpha_shape_euclidean_traits_2`, `Alpha_shape_euclidean_traits_3`, and
|
||||
`Weighted_alpha_shape_euclidean_traits_3`. All CGAL kernel can be used directly as models
|
||||
of the concepts of the 2D and 3D Alpha Shape packages.
|
||||
|
||||
### [Classification](https://doc.cgal.org/5.3/Manual/packages.html#PkgClassification)
|
||||
- **Breaking change**: the support for TensorFlow has been dropped; the
|
||||
classifier `CGAL::TensorFlow::Neural_network_classifier` has been removed.
|
||||
|
||||
Fixes, improvements, and various small features have been added since CGAL 5.1. See https://www.cgal.org/2020/11/18/cgal52-beta1/ for a complete list of changes.
|
||||
|
|
|
|||
|
|
@ -1,19 +1,146 @@
|
|||
Subject: CGAL 5.2 Beta 1 Released, Computational Geometry Algorithms Library
|
||||
Subject: CGAL 5.3 Beta 1 Released, Computational Geometry Algorithms Library
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
Body:
|
||||
|
||||
The CGAL Open Source Project is pleased to announce the release 5.2 Beta 1
|
||||
The CGAL Open Source Project is pleased to announce the release 5.3 Beta 1
|
||||
of CGAL, the Computational Geometry Algorithms Library.
|
||||
|
||||
|
||||
CGAL version 5.2 Beta 1 is a public testing release. It should provide a
|
||||
CGAL version 5.3 Beta 1 is a public testing release. It should provide a
|
||||
solid ground to report bugs that need to be tackled before the release
|
||||
of the final version of CGAL 5.2 in December 2020.
|
||||
of the final version of CGAL 5.3 in July 2021.
|
||||
|
||||
|
||||
Fixes, improvements, and various small features have been added since
|
||||
CGAL 5.1. See https://www.cgal.org/2020/11/18/cgal52-beta1/ for a
|
||||
complete list of changes.
|
||||
Besides fixes and general enhancement to existing packages, the following
|
||||
has changed since CGAL 5.2:
|
||||
|
||||
Quadtrees, Octrees, and Orthtrees (new package)
|
||||
|
||||
- This package implements a tree data structure in which each node
|
||||
encloses a hypercubic section of space and each non-leave node has
|
||||
hypercubic children whose edge lengths are half its edge length.
|
||||
Such a data structure is known as a quadtree in 2D, an octree in 3D,
|
||||
and is generalized as an “orthtree” in higher dimensions.
|
||||
|
||||
https://www.cgal.org/2021/04/27/Orthtree/
|
||||
|
||||
https://doc.cgal.org/5.3/Manual/packages.html#PkgOrthtree
|
||||
|
||||
|
||||
Triangulations on the Sphere (new package)
|
||||
|
||||
- This package enables the construction and manipulation of Delaunay
|
||||
triangulations on the 2-sphere. Triangulations are built
|
||||
incrementally and can be modified by insertion or removal of
|
||||
vertices. Point location querying and primitives to build the dual
|
||||
Voronoi diagram are provided.
|
||||
|
||||
https://doc.cgal.org/5.3/Manual/packages.html#PkgTriangulationOnSphere2
|
||||
|
||||
|
||||
File Input / Output
|
||||
|
||||
- Point set, polygon soup, and polygon mesh file I/O functions have
|
||||
been harmonized and documented:
|
||||
- Point set I/O functions can be found in the packages
|
||||
Point_set_processing_3, and Point_set_3.
|
||||
- Polygon mesh I/O functions can be found in the package BGL.
|
||||
- Polygon soup I/O can be found in the package Stream_support.
|
||||
|
||||
A comprehensive list of the supported file formats is available in the
|
||||
Stream_support package:
|
||||
|
||||
https://doc.cgal.org/5.3/Stream_support/index.html#IOstreamSupportedFormats
|
||||
|
||||
Inversely, the following page can be used to find out which CGAL data
|
||||
structures can be used given a specific file format.
|
||||
|
||||
https://doc.cgal.org/5.3/Stream_support/IOStreamSupportedFileFormats.html
|
||||
|
||||
|
||||
Requirements
|
||||
|
||||
- The CMake minimal version is now 3.14.
|
||||
|
||||
- The GNU compiler g++ versions 6 and 7 are no longer tested. Only
|
||||
version 8.3 or later are supported
|
||||
|
||||
|
||||
2D and 3D Linear Geometry Kernel
|
||||
|
||||
- Added is_translation(), is_scaling(), is_reflection(), and
|
||||
is_rotation() to the classes Aff_transformation_2 and
|
||||
Aff_transformation_3, which enable determining if the
|
||||
transformations use a specialized representation internally.
|
||||
|
||||
|
||||
2D Regularized Boolean Set-Operations
|
||||
|
||||
- Added documentation for the free functions
|
||||
oriented_side(const Point_2& p, ....) that accept a point and a
|
||||
polygon.
|
||||
- Documentation has been improved across the whole package.
|
||||
|
||||
|
||||
Polygon Mesh Processing
|
||||
|
||||
- Added the class CGAL::Polyhedral_envelope, providing a way to
|
||||
quickly check if a primitive (point, segment, or triangle) is within
|
||||
a polyhedral envelope around a set of triangles. It is based on the
|
||||
work of Bolun Wang, Teseo Schneider, Yixin Hu, Marco Attene, and
|
||||
Daniele Panozzo. “Exact and efficient polyhedral envelope
|
||||
containment check.” (ACM Trans. Graph., 39-4, July 2020).
|
||||
- Added more functions in the visitor of the corefinement based
|
||||
methods to track all edge creations.
|
||||
|
||||
|
||||
Surface Mesh Topology
|
||||
|
||||
- Added the function
|
||||
CGAL::Surface_mesh_topology::Curves_on_surface_topology::is_homotopic_to_simple_cycle(),
|
||||
which can be used to determine whehter a closed path on a surface
|
||||
mesh can be continously transformed to a cycle without self
|
||||
intersection.
|
||||
|
||||
|
||||
Surface Mesh Simplification
|
||||
|
||||
- Added a filtering mechanism so that costly tests get only applied to
|
||||
the next candidate for the edge collapse.
|
||||
- Added the class Polyhedral_envelope_filter, which enables to perform
|
||||
mesh simplification inside a polyhedral envelope of the input mesh.
|
||||
|
||||
|
||||
2D Polyline Simplification
|
||||
|
||||
- When polylines have common subsequences of vertices, these
|
||||
subsequences may now be simplifified simultaneously.
|
||||
|
||||
|
||||
dD Triangulations
|
||||
|
||||
- Added the function insert_if_in_star() to the class
|
||||
CGAL::Regular_triangulation, which enables users to insert a point p
|
||||
in a regular triangulation on the condition that p appears
|
||||
post-insertion in the star of a user-specified, existing vertex.
|
||||
|
||||
|
||||
2D and 3D Alpha Shapes
|
||||
|
||||
- Breaking change: The following deprecated classes have been removed:
|
||||
Alpha_shape_euclidean_traits_2,
|
||||
Weighted_alpha_shape_euclidean_traits_2,
|
||||
Alpha_shape_euclidean_traits_3, and
|
||||
Weighted_alpha_shape_euclidean_traits_3. All CGAL kernel can be used
|
||||
directly as models of the concepts of the 2D and 3D Alpha Shape
|
||||
packages.
|
||||
|
||||
|
||||
Classification
|
||||
|
||||
- Breaking change: the support for TensorFlow has been dropped; the
|
||||
classifier CGAL::TensorFlow::Neural_network_classifier has been
|
||||
removed.
|
||||
|
||||
|
||||
The CGAL project is a collaborative effort to develop a robust,
|
||||
|
|
|
|||
|
|
@ -48,8 +48,8 @@ include(${CGAL_USE_FILE})
|
|||
|
||||
find_package(
|
||||
Qt5 QUIET
|
||||
COMPONENTS OpenGL Script
|
||||
OPTIONAL_COMPONENTS ScriptTools WebSockets)
|
||||
COMPONENTS OpenGL Script Widgets
|
||||
OPTIONAL_COMPONENTS ScriptTools WebSockets Network)
|
||||
|
||||
set_package_properties(
|
||||
Qt5 PROPERTIES
|
||||
|
|
@ -217,7 +217,7 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
STATUS "Qt5WebSockets was found. Using WebSockets is therefore possible.")
|
||||
endif()
|
||||
|
||||
cgal_add_compilation_test(demo_framework)
|
||||
#compilation_of__demo_framework is defined in polyhedron_demo_macros.cmake
|
||||
# Let's define `three_EXPORT` during the compilation of `demo_framework`,
|
||||
# in addition of `demo_framework_EXPORT` (defined automatically by
|
||||
# CMake). That is to deal with the visibility of symbols of
|
||||
|
|
@ -241,23 +241,11 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
target_link_libraries(point_dialog PUBLIC Qt5::OpenGL Qt5::Gui Qt5::Script
|
||||
Qt5::Widgets)
|
||||
|
||||
add_custom_target(all_scene_items)
|
||||
if(BUILD_TESTING)
|
||||
cgal_add_compilation_test(all_scene_items)
|
||||
set_property(
|
||||
TEST compilation_of__all_scene_items
|
||||
APPEND
|
||||
PROPERTY DEPENDS compilation_of__demo_framework)
|
||||
set_property(TEST compilation_of__all_scene_items APPEND PROPERTY TIMEOUT
|
||||
1700)
|
||||
endif(BUILD_TESTING)
|
||||
|
||||
macro(add_item item_name)
|
||||
add_library(${item_name} SHARED ${ARGN})
|
||||
target_link_libraries(
|
||||
${item_name} PUBLIC demo_framework ${CGAL_LIBRARIES} Qt5::OpenGL Qt5::Gui
|
||||
Qt5::Script Qt5::Widgets)
|
||||
add_dependencies(all_scene_items ${item_name})
|
||||
add_to_cached_list(CGAL_EXECUTABLE_TARGETS ${item_name})
|
||||
endmacro(add_item)
|
||||
|
||||
|
|
@ -434,9 +422,9 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
add_to_cached_list(CGAL_EXECUTABLE_TARGETS CGAL_PMP)
|
||||
|
||||
#WS Server
|
||||
if(TARGET Qt5::WebSockets)
|
||||
if(TARGET Qt5::WebSockets AND TARGET Qt5::Network)
|
||||
add_executable(WS_server Server_ws.cpp)
|
||||
target_link_libraries(WS_server PUBLIC Qt5::WebSockets)
|
||||
target_link_libraries(WS_server PUBLIC Qt5::WebSockets Qt5::Widgets Qt5::Network)
|
||||
message(
|
||||
STATUS "Qt5WebSockets was found. Using WebSockets is therefore possible.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@ polyhedron_demo_plugin(camera_positions_plugin
|
|||
${cameraUI_FILES}
|
||||
KEYWORDS Viewer)
|
||||
|
||||
target_link_libraries( camera_positions_plugin PUBLIC demo_framework)
|
||||
add_dependencies(camera_positions_plugin demo_framework)
|
||||
target_link_libraries(camera_positions_plugin PUBLIC demo_framework)
|
||||
|
|
|
|||
|
|
@ -47,6 +47,12 @@ if(TARGET CGAL::Eigen3_support)
|
|||
scene_color_ramp
|
||||
CGAL::Eigen3_support)
|
||||
|
||||
if(BUILD_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND)
|
||||
set_tests_properties(
|
||||
compilation_of__classification_plugin
|
||||
PROPERTIES RESOURCE_LOCK Selection_test_resources)
|
||||
endif()
|
||||
|
||||
if(TARGET CGAL::Boost_serialization_support AND TARGET CGAL::Boost_iostreams_support)
|
||||
target_link_libraries(classification_plugin PUBLIC
|
||||
CGAL::Boost_serialization_support
|
||||
|
|
|
|||
|
|
@ -8,3 +8,10 @@ target_link_libraries(
|
|||
|
||||
polyhedron_demo_plugin(kernel_plugin Kernel_plugin)
|
||||
target_link_libraries(kernel_plugin PUBLIC scene_surface_mesh_item)
|
||||
|
||||
|
||||
if(BUILD_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND)
|
||||
set_tests_properties(
|
||||
compilation_of__convex_hull_plugin
|
||||
PROPERTIES RESOURCE_LOCK Selection_test_resources)
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -37,3 +37,9 @@ target_link_libraries(
|
|||
basic_generator_plugin
|
||||
PUBLIC scene_surface_mesh_item scene_points_with_normal_item
|
||||
scene_polylines_item)
|
||||
|
||||
if(BUILD_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND)
|
||||
set_tests_properties(
|
||||
compilation_of__create_obb_mesh_plugin
|
||||
PROPERTIES RESOURCE_LOCK Selection_test_resources)
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -52,6 +52,17 @@ if(TARGET CGAL::Eigen3_support)
|
|||
DESCRIPTION "A large scale non-linear optimization library."
|
||||
PURPOSE "Can be used as a solver in the smoothing plugin.")
|
||||
target_link_libraries(extrude_plugin PUBLIC CGAL::Eigen3_support)
|
||||
|
||||
if(BUILD_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND)
|
||||
set_tests_properties(
|
||||
compilation_of__extrude_plugin
|
||||
compilation_of__fairing_plugin
|
||||
PROPERTIES RESOURCE_LOCK Selection_test_resources)
|
||||
set_tests_properties(
|
||||
compilation_of__hole_filling_plugin
|
||||
compilation_of__smoothing_plugin
|
||||
PROPERTIES RESOURCE_LOCK Selection_test_resources)
|
||||
endif()
|
||||
else()
|
||||
message(
|
||||
STATUS
|
||||
|
|
@ -153,3 +164,15 @@ polyhedron_demo_plugin(engrave_text_plugin Engrave_text_plugin
|
|||
target_link_libraries(
|
||||
engrave_text_plugin PUBLIC scene_surface_mesh_item scene_selection_item
|
||||
scene_polylines_item)
|
||||
|
||||
if(BUILD_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND)
|
||||
set_tests_properties(
|
||||
compilation_of__join_and_split_plugin
|
||||
compilation_of__selection_plugin
|
||||
compilation_of__triangulate_facets_plugin
|
||||
compilation_of__isotropic_remeshing_plugin
|
||||
compilation_of__random_perturbation_plugin
|
||||
compilation_of__engrave_text_plugin
|
||||
compilation_of__degenerated_faces_plugin
|
||||
PROPERTIES RESOURCE_LOCK Selection_test_resources)
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -15,6 +15,13 @@ if(NOT CGAL_DISABLE_GMP)
|
|||
target_link_libraries(
|
||||
parameterization_plugin PUBLIC scene_surface_mesh_item scene_textured_item
|
||||
scene_selection_item CGAL::Eigen3_support)
|
||||
|
||||
if(BUILD_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND)
|
||||
set_tests_properties(
|
||||
compilation_of__parameterization_plugin
|
||||
PROPERTIES RESOURCE_LOCK Selection_test_resources)
|
||||
endif()
|
||||
|
||||
else()
|
||||
message(
|
||||
STATUS
|
||||
|
|
@ -27,6 +34,11 @@ if(NOT CGAL_DISABLE_GMP)
|
|||
${segmentationUI_FILES})
|
||||
target_link_libraries(mesh_segmentation_plugin PUBLIC scene_surface_mesh_item)
|
||||
|
||||
if(BUILD_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND)
|
||||
set_tests_properties(
|
||||
compilation_of__mesh_segmentation_plugin
|
||||
PROPERTIES RESOURCE_LOCK Selection_test_resources)
|
||||
endif()
|
||||
|
||||
qt5_wrap_ui( mesh_simplificationUI_FILES Mesh_simplification_dialog.ui)
|
||||
polyhedron_demo_plugin(mesh_simplification_plugin Mesh_simplification_plugin ${mesh_simplificationUI_FILES})
|
||||
|
|
|
|||
|
|
@ -4,6 +4,13 @@ if(EIGEN3_FOUND AND "${EIGEN3_VERSION}" VERSION_GREATER "3.1.90")
|
|||
polyhedron_demo_plugin(edit_plugin Edit_polyhedron_plugin Deform_mesh.ui)
|
||||
target_link_libraries(edit_plugin PUBLIC scene_surface_mesh_item
|
||||
scene_edit_item scene_selection_item)
|
||||
|
||||
if(BUILD_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND)
|
||||
set_tests_properties(
|
||||
compilation_of__edit_plugin
|
||||
PROPERTIES RESOURCE_LOCK Selection_test_resources)
|
||||
endif()
|
||||
|
||||
else()
|
||||
message(
|
||||
STATUS
|
||||
|
|
|
|||
|
|
@ -2127,4 +2127,15 @@ void Viewer::onTextMessageSocketReceived(QString message)
|
|||
#endif
|
||||
|
||||
const QVector3D& Viewer::scaler()const { return d->scaler; }
|
||||
void Viewer::showEntireScene()
|
||||
{
|
||||
CGAL::QGLViewer::showEntireScene();
|
||||
CGAL::Bbox_3 bbox = CGAL::Three::Three::scene()->bbox();
|
||||
|
||||
CGAL::qglviewer::Vec vmin(((float)bbox.xmin()+offset().x)*d->scaler.x(), ((float)bbox.ymin()+offset().y)*d->scaler.y(), ((float)bbox.zmin()+offset().z)*d->scaler.z()),
|
||||
vmax(((float)bbox.xmax()+offset().x)*d->scaler.x(), ((float)bbox.ymax()+offset().y)*d->scaler.y(), ((float)bbox.zmax()+offset().z)*d->scaler.z());
|
||||
camera()->setPivotPoint((vmin+vmax)*0.5);
|
||||
camera()->setSceneBoundingBox(vmin, vmax);
|
||||
camera()->fitBoundingBox(vmin, vmax);
|
||||
}
|
||||
#include "Viewer.moc"
|
||||
|
|
|
|||
|
|
@ -139,6 +139,7 @@ public Q_SLOTS:
|
|||
void onTextMessageSocketReceived(QString message);
|
||||
#endif
|
||||
void scaleScene();
|
||||
void showEntireScene()Q_DECL_OVERRIDE;
|
||||
protected:
|
||||
void paintEvent(QPaintEvent *)Q_DECL_OVERRIDE;
|
||||
void paintGL()Q_DECL_OVERRIDE;
|
||||
|
|
|
|||
|
|
@ -28,18 +28,33 @@ include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
|
|||
PROPERTY LIBRARY_OUTPUT_DIRECTORY
|
||||
"${CGAL_POLYHEDRON_DEMO_PLUGINS_DIR}")
|
||||
cgal_add_compilation_test(${plugin_name})
|
||||
if(BUILD_TESTING)
|
||||
set_property(TEST compilation_of__${plugin_name}
|
||||
APPEND PROPERTY DEPENDS compilation_of__all_scene_items)
|
||||
endif()
|
||||
add_to_cached_list( CGAL_EXECUTABLE_TARGETS ${plugin_name} )
|
||||
# Link with Qt
|
||||
target_link_libraries( ${plugin_name} PUBLIC ${QT_LIBRARIES} )
|
||||
# Link with the demo_framework
|
||||
if(TARGET demo_framework)
|
||||
target_link_libraries( ${plugin_name} PUBLIC demo_framework)
|
||||
add_dependencies(${plugin_name} demo_framework)
|
||||
if(BUILD_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND)
|
||||
if(NOT TARGET compilation_of__demo_framework)
|
||||
# This custom target is useless. It is used only as a flag to
|
||||
# detect that the test has already been created.
|
||||
add_custom_target(compilation_of__demo_framework)
|
||||
add_dependencies( compilation_of__demo_framework demo_framework )
|
||||
add_test(NAME "compilation_of__demo_framework"
|
||||
COMMAND "${CMAKE_COMMAND}" --build "${CMAKE_BINARY_DIR}" --target "demo_framework" --config "$<CONFIG>")
|
||||
|
||||
set_property(TEST "compilation_of__demo_framework"
|
||||
APPEND PROPERTY LABELS "CGAL_build_system")
|
||||
set_property(TEST "compilation_of__demo_framework"
|
||||
PROPERTY FIXTURES_SETUP "check_build_system_SetupFixture")
|
||||
set_property(TEST "compilation_of__demo_framework"
|
||||
APPEND PROPERTY DEPENDS "compilation_of__CGAL_Qt5_moc_and_resources")
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
target_link_libraries( ${plugin_name} PUBLIC Polyhedron_demo_framework)
|
||||
add_dependencies(${plugin_name} Polyhedron_demo_framework)
|
||||
endif()
|
||||
# Link with CGAL
|
||||
target_link_libraries( ${plugin_name} PUBLIC ${CGAL_LIBRARIES} ${CGAL_3RD_PARTY_LIBRARIES} )
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
#!/bin/bash
|
||||
|
||||
#!/bin/bash
|
||||
#usage : script [-c -l -n -s -k] testsuite_dir
|
||||
|
||||
|
|
@ -23,7 +21,7 @@ export TAR="tar"
|
|||
export GUNZIP="gunzip"
|
||||
export COMPRESSOR="gzip"
|
||||
export CONSOLE_OUTPUT="y"
|
||||
export CGAL_HOME=`pwd`
|
||||
export CGAL_HOME=$(pwd | sed -E 's/\/cygdrive\/([a-z])\//\U\1:\//')
|
||||
export USE_TARGZ="y"
|
||||
export USE_TARBZ="n"
|
||||
export CGAL_RELEASE=""
|
||||
|
|
@ -284,6 +282,8 @@ else
|
|||
CGAL_DIR=`readlink "${CGAL_HOME}/CGAL-I"`
|
||||
fi
|
||||
|
||||
CGAL_DIR=$(echo "$CGAL_DIR" | sed -E 's/\/cygdrive\/([a-z])\//\U\1:\//')
|
||||
|
||||
CGAL_RELEASE_ID=$(cat last_release_id)
|
||||
for HOST in ${BUILD_HOSTS}; do
|
||||
if [ "$HOST" != "localhost" ]; then
|
||||
|
|
|
|||
|
|
@ -259,8 +259,8 @@ run_test_on_platform()
|
|||
cd "${CGAL_BINARY_DIR}"
|
||||
log "${ACTUAL_LOGFILE}.test.${PLATFORM}" "Testing on host ${HOST} and platform ${PLATFORM}"
|
||||
|
||||
if [ -f "${REFERENCE_PLATFORMS_DIR}/${PLATFORM}/setup" ]; then
|
||||
source "${REFERENCE_PLATFORMS_DIR}/${PLATFORM}/setup"
|
||||
if [ -f "${CGAL_HOME}/${REFERENCE_PLATFORMS_DIR}/${PLATFORM}/setup" ]; then
|
||||
source "${CGAL_HOME}/${REFERENCE_PLATFORMS_DIR}/${PLATFORM}/setup"
|
||||
else
|
||||
INIT_FILE="${CGAL_HOME}/${REFERENCE_PLATFORMS_DIR}/${PLATFORM}.cmake"
|
||||
fi
|
||||
|
|
@ -294,14 +294,15 @@ run_test_on_platform()
|
|||
#unsets the limit of 1024 bits for the logs through ssh
|
||||
echo "SET(CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE 1000000000)" > CTestCustom.cmake
|
||||
echo "SET(CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE 1000000000)" >> CTestCustom.cmake
|
||||
CTEST_OPTS="-T Start -T Test --timeout 1200 -j${NUMBER_OF_PROCESSORS} ${DO_NOT_TEST:+-E execution___of__} "
|
||||
|
||||
CTEST_OPTS="-T Start -T Test --timeout 1200 ${DO_NOT_TEST:+-E execution___of__}"
|
||||
if uname | grep -q "CYGWIN"; then
|
||||
CTEST_OPTS="-C ${CONFIG_TYPE} ${CTEST_OPTS} -V"
|
||||
CTEST_OPTS="-C ${CONFIG_TYPE} ${CTEST_OPTS}"
|
||||
fi
|
||||
if [ -z "${SHOW_PROGRESS}" ]; then
|
||||
ctest ${TO_TEST:+-L ${TO_TEST} } ${CTEST_OPTS} ${KEEP_TESTS:+-FC .}> tmp.txt
|
||||
ctest ${TO_TEST:+-L ${TO_TEST} } ${CTEST_OPTS} -j${NUMBER_OF_PROCESSORS} ${KEEP_TESTS:+-FC .}>tmp.txt
|
||||
else
|
||||
ctest ${TO_TEST:+-L ${TO_TEST} } ${CTEST_OPTS} ${KEEP_TESTS:+-FC .} |tee tmp.txt
|
||||
ctest ${TO_TEST:+-L ${TO_TEST} } ${CTEST_OPTS} -j${NUMBER_OF_PROCESSORS} ${KEEP_TESTS:+-FC .}|tee tmp.txt
|
||||
fi
|
||||
#####################
|
||||
## GET RESULTS ##
|
||||
|
|
@ -321,7 +322,9 @@ run_test_on_platform()
|
|||
echo "TESTER_NAME ${CGAL_TESTER}" >> "$RESULT_FILE"
|
||||
echo "TESTER_ADDRESS ${TESTER_ADDRESS}" >> "$RESULT_FILE"
|
||||
echo "CGAL_TEST_PLATFORM ${PLATFORM}" >> "$RESULT_FILE"
|
||||
grep -e "^-- USING " "${CGAL_BINARY_DIR}/installation.log" >> $RESULT_FILE
|
||||
grep -e "^-- USING " "${CGAL_BINARY_DIR}/installation.log"|sort -u >> $RESULT_FILE
|
||||
#Use sed to get the content of DEBUG or RELEASE CXX FLAGS so that Multiconfiguration platforms do provide their CXXXFLAGS to the testsuite page (that greps USING CXXFLAGS to get info)
|
||||
sed -i -E 's/(^-- USING )(DEBUG|RELEASE) (CXXFLAGS)/\1\3/' $RESULT_FILE
|
||||
echo "------------" >> "$RESULT_FILE"
|
||||
#if git branch, create empty scm file for python script
|
||||
if [ -n "${SCRIPTS_DIR}" ]; then
|
||||
|
|
|
|||
|
|
@ -1 +1,2 @@
|
|||
- update the docs
|
||||
- integrate changes from the Simon's branch with cylinders and spheres
|
||||
|
|
@ -19,7 +19,7 @@ function(add_Snap_rounding_tests name)
|
|||
cgal_add_test(${name} TEST_NAME ${test_name} ARGUMENTS ${data_dir}/${file}
|
||||
${data_dir}/output_${file})
|
||||
add_test(NAME "${test_name}_compare_results"
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files --ignore-eol
|
||||
${data_dir}/output_${file} ${data_dir}/gold_${file})
|
||||
cgal_setup_test_properties("${test_name}_compare_results")
|
||||
set_property(
|
||||
|
|
|
|||
|
|
@ -86,8 +86,14 @@ with open_file_create_dir(result_file_name.format(dir=os.getcwd(),
|
|||
print(" {result} {name} in {time} s : {value} ".format(result = "successful " if (t['Status'] == 'passed') else "ERROR: ", name = t['Name'], value = t['ExitValue'] if(t['ExitValue'] != "") else "SUCCESS" , time = t['ExecutionTime']), file=error)
|
||||
if t['Status'] != 'passed':
|
||||
result_for_label='n'
|
||||
elif t['Output'] != None and re.search(r'(^|[^a-zA-Z_,:-])warning', t['Output'], flags=re.IGNORECASE):
|
||||
elif t['Output'] != None:
|
||||
for m in re.finditer(r'(.*([^a-zA-Z_,:-])([^\d]\s)warning).*?(\[|\n)', t['Output'], flags=re.IGNORECASE):
|
||||
n = re.search(r'cmake|cgal', m.group(0), flags=re.IGNORECASE)
|
||||
if n:
|
||||
result_for_label='w'
|
||||
break;
|
||||
else:
|
||||
result_for_label='t'
|
||||
|
||||
with io.open("{}/ProgramOutput.{}".format(label, t['Name']), mode="w", encoding="utf-8") as f:
|
||||
print("{}/ProgramOutput.{}".format(label, t['Name']))
|
||||
|
|
|
|||
|
|
@ -287,6 +287,8 @@ public:
|
|||
//! A vector indicating the scaling factors to apply to the scene when displaying it.
|
||||
//! It can be useful when a scene is very large along one of it's coordinates, making it hard to visualize it.
|
||||
virtual const QVector3D& scaler() const = 0;
|
||||
|
||||
virtual void showEntireScene() = 0;
|
||||
}; // end class Viewer_interface
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue