mirror of https://github.com/CGAL/cgal
Merge remote-tracking branch 'cgal/master' into Region_growing-revision-soesau
This commit is contained in:
commit
640910288b
|
|
@ -6,12 +6,14 @@ project(AABB_traits_benchmark)
|
|||
|
||||
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Core)
|
||||
|
||||
# google benchmark
|
||||
find_package(benchmark)
|
||||
|
||||
if (benchmark_FOUND)
|
||||
create_single_source_cgal_program("tree_creation.cpp")
|
||||
target_link_libraries(tree_creation benchmark::benchmark)
|
||||
endif()
|
||||
create_single_source_cgal_program("test.cpp")
|
||||
create_single_source_cgal_program("tree_construction.cpp")
|
||||
|
||||
# google benchmark
|
||||
find_package(benchmark QUIET)
|
||||
if(benchmark_FOUND)
|
||||
create_single_source_cgal_program("tree_creation.cpp")
|
||||
target_link_libraries(tree_creation benchmark::benchmark)
|
||||
else()
|
||||
message(STATUS "NOTICE: The benchmark 'tree_creation.cpp' requires the Google benchmark library, and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ project(AABB_tree_Demo)
|
|||
|
||||
# Find includes in corresponding build directories
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
|
||||
# Instruct CMake to run moc automatically when needed.
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
if(NOT POLICY CMP0070 AND POLICY CMP0053)
|
||||
|
|
@ -31,10 +32,8 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
|
||||
include(AddFileDependencies)
|
||||
|
||||
qt5_generate_moc("MainWindow.h"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/MainWindow_moc.cpp")
|
||||
add_file_dependencies(MainWindow_moc.cpp
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/MainWindow.h")
|
||||
qt5_generate_moc("MainWindow.h" "${CMAKE_CURRENT_BINARY_DIR}/MainWindow_moc.cpp")
|
||||
add_file_dependencies(MainWindow_moc.cpp "${CMAKE_CURRENT_SOURCE_DIR}/MainWindow.h")
|
||||
|
||||
qt5_generate_moc("Viewer.h" "${CMAKE_CURRENT_BINARY_DIR}/Viewer_moc.cpp")
|
||||
add_file_dependencies(Viewer_moc.cpp "${CMAKE_CURRENT_SOURCE_DIR}/Viewer.h")
|
||||
|
|
@ -62,8 +61,7 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
|
||||
cgal_add_compilation_test(AABB_demo)
|
||||
|
||||
else(CGAL_Qt5_FOUND
|
||||
AND Qt5_FOUND)
|
||||
else(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
||||
|
||||
set(AABB_MISSING_DEPS "")
|
||||
|
||||
|
|
@ -75,11 +73,6 @@ else(CGAL_Qt5_FOUND
|
|||
set(AABB_MISSING_DEPS "Qt5, ${AABB_MISSING_DEPS}")
|
||||
endif()
|
||||
|
||||
message(
|
||||
STATUS
|
||||
"NOTICE: This demo requires ${AABB_MISSING_DEPS}and will not be compiled."
|
||||
)
|
||||
message("NOTICE: This demo requires ${AABB_MISSING_DEPS}, and will not be compiled.")
|
||||
|
||||
endif(
|
||||
CGAL_Qt5_FOUND
|
||||
AND Qt5_FOUND)
|
||||
endif(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
||||
|
|
|
|||
|
|
@ -4,15 +4,13 @@ project(Algebraic_kernel_d_Examples)
|
|||
find_package(CGAL REQUIRED COMPONENTS Core)
|
||||
|
||||
find_package(MPFI QUIET)
|
||||
|
||||
if(MPFI_FOUND AND NOT CGAL_DISABLE_GMP)
|
||||
include(${MPFI_USE_FILE})
|
||||
include(CGAL_VersionUtils)
|
||||
create_single_source_cgal_program("Compare_1.cpp")
|
||||
create_single_source_cgal_program("Construct_algebraic_real_1.cpp")
|
||||
create_single_source_cgal_program("Isolate_1.cpp")
|
||||
create_single_source_cgal_program("Sign_at_1.cpp")
|
||||
create_single_source_cgal_program("Solve_1.cpp")
|
||||
else()
|
||||
message(STATUS "This program requires the CGAL, CGAL_Core and MPFI libraries, and will not be compiled.")
|
||||
message("NOTICE: This project requires the MPFI library and GMP support, and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -4,48 +4,33 @@ project(Algebraic_kernel_d_Tests)
|
|||
# CGAL and its components
|
||||
find_package(CGAL REQUIRED COMPONENTS Core)
|
||||
|
||||
find_package(RS3 QUIET)
|
||||
|
||||
find_package(MPFI QUIET)
|
||||
if(MPFI_FOUND)
|
||||
message(STATUS "Found MPFI")
|
||||
include(${MPFI_USE_FILE})
|
||||
endif()
|
||||
|
||||
find_package(RS3 QUIET)
|
||||
if(RS3_FOUND)
|
||||
message(STATUS "Found RS3")
|
||||
include(${RS3_USE_FILE})
|
||||
endif()
|
||||
|
||||
# Boost and its components
|
||||
find_package(Boost)
|
||||
|
||||
if(NOT Boost_FOUND)
|
||||
|
||||
message(
|
||||
STATUS "This project requires the Boost library, and will not be compiled.")
|
||||
|
||||
return()
|
||||
|
||||
endif()
|
||||
|
||||
# include for local directory
|
||||
include_directories(BEFORE include)
|
||||
|
||||
# Creating entries for all .cpp/.C files with "main" routine
|
||||
# ##########################################################
|
||||
|
||||
create_single_source_cgal_program("cyclic.cpp")
|
||||
create_single_source_cgal_program("Descartes.cpp")
|
||||
|
||||
if(NOT CGAL_DISABLE_GMP)
|
||||
create_single_source_cgal_program("Algebraic_curve_kernel_2.cpp")
|
||||
create_single_source_cgal_program("algebraic_curve_kernel_2_tools.cpp")
|
||||
create_single_source_cgal_program("Algebraic_kernel_d_1_LEDA.cpp")
|
||||
|
||||
create_single_source_cgal_program(
|
||||
"Algebraic_kernel_d_1_CORE_Integer_rational.cpp")
|
||||
create_single_source_cgal_program(
|
||||
"Algebraic_kernel_d_1_CORE_SqrtII_rational.cpp")
|
||||
create_single_source_cgal_program(
|
||||
"Algebraic_kernel_d_1_CORE_SqrtRI_rational.cpp")
|
||||
create_single_source_cgal_program(
|
||||
"Algebraic_kernel_d_1_CORE_SqrtRR_rational.cpp")
|
||||
create_single_source_cgal_program("Algebraic_kernel_d_1_CORE_Integer_rational.cpp")
|
||||
create_single_source_cgal_program("Algebraic_kernel_d_1_CORE_SqrtII_rational.cpp")
|
||||
create_single_source_cgal_program("Algebraic_kernel_d_1_CORE_SqrtRI_rational.cpp")
|
||||
create_single_source_cgal_program("Algebraic_kernel_d_1_CORE_SqrtRR_rational.cpp")
|
||||
|
||||
create_single_source_cgal_program("Algebraic_kernel_d_1_GMP.cpp")
|
||||
create_single_source_cgal_program("Algebraic_kernel_d_2.cpp")
|
||||
|
|
@ -54,14 +39,13 @@ if(NOT CGAL_DISABLE_GMP)
|
|||
create_single_source_cgal_program("Curve_analysis_2.cpp")
|
||||
create_single_source_cgal_program("Curve_pair_analysis_2.cpp")
|
||||
create_single_source_cgal_program("Real_embeddable_traits_extension.cpp")
|
||||
|
||||
if(RS_FOUND)
|
||||
create_single_source_cgal_program("Algebraic_kernel_rs_gmpq_d_1.cpp")
|
||||
create_single_source_cgal_program("Algebraic_kernel_rs_gmpz_d_1.cpp")
|
||||
else()
|
||||
message(
|
||||
STATUS
|
||||
"NOTICE: Some tests require the RS library, and will not be compiled.")
|
||||
message(STATUS "NOTICE: Some tests require the RS library, and will not be compiled.")
|
||||
endif()
|
||||
else()
|
||||
message(STATUS "NOTICE: Some tests require the CGAL_Core library, and will not be compiled.")
|
||||
message(STATUS "NOTICE: Some tests require GMP support, and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ project(Alpha_shapes_3_Demo)
|
|||
|
||||
# Find includes in corresponding build directories
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
|
||||
# Instruct CMake to run moc automatically when needed.
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
if(NOT POLICY CMP0070 AND POLICY CMP0053)
|
||||
|
|
@ -46,8 +47,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
|
||||
else()
|
||||
|
||||
message(
|
||||
STATUS "NOTICE: This demo requires CGAL, and Qt5, and will not be compiled."
|
||||
)
|
||||
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ project(Arithmetic_kernel_Tests)
|
|||
|
||||
find_package(CGAL REQUIRED COMPONENTS Core)
|
||||
|
||||
find_package(GMP QUIET)
|
||||
find_package(GMP)
|
||||
|
||||
if(GMP_FOUND)
|
||||
|
||||
|
|
@ -18,7 +18,7 @@ if(GMP_FOUND)
|
|||
|
||||
include_directories(include)
|
||||
|
||||
find_package(MPFI)
|
||||
find_package(MPFI QUIET)
|
||||
|
||||
if(MPFI_FOUND)
|
||||
include(${MPFI_USE_FILE})
|
||||
|
|
@ -27,16 +27,13 @@ if(GMP_FOUND)
|
|||
# version needs GMP>=4.2, so we require this dependency only here and
|
||||
# not in FindMPFI.cmake
|
||||
if(_IS_GMP_VERSION_TO_LOW)
|
||||
message(
|
||||
STATUS
|
||||
"MPFI tests need GMP>=4.2, some of the tests will not be compiled")
|
||||
message(STATUS "NOTICE: MPFI tests need GMP>=4.2, some of the tests will not be compiled")
|
||||
else(_IS_GMP_VERSION_TO_LOW)
|
||||
include(${MPFI_USE_FILE})
|
||||
create_single_source_cgal_program("GMP_arithmetic_kernel.cpp")
|
||||
endif(_IS_GMP_VERSION_TO_LOW)
|
||||
else(MPFI_FOUND)
|
||||
message(
|
||||
STATUS "MPFI is not present, some of the tests will not be compiled.")
|
||||
message(STATUS "NOTICE: MPFI is not present, some of the tests will not be compiled.")
|
||||
endif(MPFI_FOUND)
|
||||
|
||||
create_single_source_cgal_program("Arithmetic_kernel.cpp")
|
||||
|
|
@ -46,7 +43,6 @@ if(GMP_FOUND)
|
|||
|
||||
else()
|
||||
|
||||
message(
|
||||
STATUS "This program requires the CGAL library, and will not be compiled.")
|
||||
message("NOTICE: This project requires GMP support, and will not be compiled.")
|
||||
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef LEXICAL_CAST_HPP
|
||||
#define LEXICAL_CAST_HPP
|
||||
|
||||
/*! This files provides lexical casts from std::string to any one of the number
|
||||
/*! This file provides lexical casts from std::string to any one of the number
|
||||
* types we intend to use in the benchmark, and a lexical cast does not exist.
|
||||
* It is inspired by boost::lexical_cast
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@ if(POLICY CMP0071)
|
|||
cmake_policy(SET CMP0071 NEW)
|
||||
endif()
|
||||
|
||||
find_package(CGAL QUIET COMPONENTS Qt5 OPTIONAL_COMPONENTS Core)
|
||||
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Core Qt5)
|
||||
find_package(Qt5 QUIET COMPONENTS Gui Widgets)
|
||||
|
||||
if (CGAL_FOUND AND CGAL_Qt5_FOUND AND Qt5_FOUND)
|
||||
if (CGAL_Qt5_FOUND AND Qt5_FOUND)
|
||||
include(${CGAL_USE_FILE})
|
||||
add_compile_definitions(QT_NO_KEYWORDS)
|
||||
include_directories( BEFORE ./ )
|
||||
|
|
@ -110,10 +110,10 @@ if (CGAL_FOUND AND CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
${CGAL_Qt5_RESOURCE_FILES}
|
||||
${CGAL_Qt5_MOC_FILES})
|
||||
|
||||
target_link_libraries(arrangement_2 Qt5::Core Qt5::Gui Qt5::Widgets)
|
||||
target_link_libraries(arrangement_2 CGAL::CGAL CGAL::CGAL_Qt5)
|
||||
target_link_libraries(arrangement_2 PRIVATE Qt5::Core Qt5::Gui Qt5::Widgets)
|
||||
target_link_libraries(arrangement_2 PRIVATE CGAL::CGAL CGAL::CGAL_Qt5)
|
||||
if(CGAL_Core_FOUND)
|
||||
target_link_libraries(arrangement_2 CGAL::CGAL_Core)
|
||||
target_link_libraries(arrangement_2 PRIVATE CGAL::CGAL_Core)
|
||||
endif()
|
||||
|
||||
add_to_cached_list(CGAL_EXECUTABLE_TARGETS arrangement_2)
|
||||
|
|
@ -124,15 +124,11 @@ if (CGAL_FOUND AND CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
else()
|
||||
set(MISSING_DEPS "")
|
||||
|
||||
if(NOT CGAL_FOUND)
|
||||
set(MISSING_DEPS "CGAL, ${MISSING_DEPS}")
|
||||
endif()
|
||||
if(NOT CGAL_Qt5_FOUND)
|
||||
set(MISSING_DEPS "the CGAL Qt5 library, ${MISSING_DEPS}")
|
||||
endif()
|
||||
if(NOT Qt5_FOUND)
|
||||
set(MISSING_DEPS "Qt5, ${MISSING_DEPS}")
|
||||
endif()
|
||||
message(STATUS
|
||||
"NOTICE: This demo requires ${MISSING_DEPS} and will not be compiled.")
|
||||
message("NOTICE: This demo requires ${MISSING_DEPS} and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef CGAL_TEST_CONFIGURATION_H
|
||||
#define CGAL_TEST_CONFIGURATION_H
|
||||
|
||||
/*! This files contains define statements, include statement, and typedef
|
||||
/*! This file contains define statements, include statement, and typedef
|
||||
* of the number types, kernel, and traits used.
|
||||
*
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -7,23 +7,6 @@ project(BGL_LCC_Examples)
|
|||
# CGAL and its components
|
||||
find_package(CGAL REQUIRED)
|
||||
|
||||
# Boost and its components
|
||||
find_package(Boost REQUIRED)
|
||||
|
||||
if(NOT Boost_FOUND)
|
||||
|
||||
message(
|
||||
STATUS "This project requires the Boost library, and will not be compiled.")
|
||||
|
||||
return()
|
||||
|
||||
endif()
|
||||
|
||||
# include for local directory
|
||||
|
||||
# Creating entries for all C++ files with "main" routine
|
||||
# ##########################################################
|
||||
|
||||
# create a target per cppfile
|
||||
file(
|
||||
GLOB_RECURSE cppfiles
|
||||
|
|
|
|||
|
|
@ -7,38 +7,11 @@ project(BGL_OpenMesh_Examples)
|
|||
# CGAL and its components
|
||||
find_package(CGAL REQUIRED)
|
||||
|
||||
# Boost and its components
|
||||
find_package(Boost REQUIRED)
|
||||
|
||||
if(NOT Boost_FOUND)
|
||||
|
||||
message(
|
||||
STATUS "This project requires the Boost library, and will not be compiled.")
|
||||
|
||||
return()
|
||||
|
||||
endif()
|
||||
|
||||
find_package(OpenMesh QUIET)
|
||||
|
||||
find_package(OpenMesh)
|
||||
if(OpenMesh_FOUND)
|
||||
include(UseOpenMesh)
|
||||
else()
|
||||
|
||||
message(
|
||||
STATUS "NOTICE: These examples require OpenMesh and will not be compiled.")
|
||||
return()
|
||||
|
||||
endif()
|
||||
|
||||
# include for local directory
|
||||
|
||||
# include for local package
|
||||
|
||||
# Creating entries for all C++ files with "main" routine
|
||||
# ##########################################################
|
||||
|
||||
if(OpenMesh_FOUND)
|
||||
create_single_source_cgal_program("TriMesh.cpp")
|
||||
target_link_libraries(TriMesh PRIVATE ${OPENMESH_LIBRARIES})
|
||||
else()
|
||||
message("NOTICE: This project requires OpenMesh and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -8,25 +8,5 @@ project(BGL_graphcut_Examples)
|
|||
# CGAL and its components
|
||||
find_package(CGAL REQUIRED)
|
||||
|
||||
# Boost and its components
|
||||
find_package(Boost REQUIRED)
|
||||
|
||||
if(NOT Boost_FOUND)
|
||||
|
||||
message(
|
||||
STATUS "This project requires the Boost library, and will not be compiled.")
|
||||
|
||||
return()
|
||||
|
||||
endif()
|
||||
|
||||
# include for local directory
|
||||
|
||||
# include for local package
|
||||
|
||||
# Creating entries for all C++ files with "main" routine
|
||||
# ##########################################################
|
||||
|
||||
create_single_source_cgal_program("alpha_expansion_example.cpp")
|
||||
create_single_source_cgal_program(
|
||||
"face_selection_borders_regularization_example.cpp")
|
||||
create_single_source_cgal_program("face_selection_borders_regularization_example.cpp")
|
||||
|
|
|
|||
|
|
@ -7,54 +7,28 @@ project(BGL_polyhedron_3_Examples)
|
|||
# CGAL and its components
|
||||
find_package(CGAL REQUIRED)
|
||||
|
||||
# Boost and its components
|
||||
find_package(Boost REQUIRED)
|
||||
|
||||
if(NOT Boost_FOUND)
|
||||
|
||||
message(
|
||||
STATUS "This project requires the Boost library, and will not be compiled.")
|
||||
|
||||
return()
|
||||
|
||||
endif()
|
||||
|
||||
# include for local directory
|
||||
|
||||
# include for local package
|
||||
|
||||
# Creating entries for all C++ files with "main" routine
|
||||
# ##########################################################
|
||||
|
||||
create_single_source_cgal_program("distance.cpp")
|
||||
|
||||
create_single_source_cgal_program("incident_vertices.cpp")
|
||||
|
||||
create_single_source_cgal_program("kruskal.cpp")
|
||||
|
||||
create_single_source_cgal_program("kruskal_with_stored_id.cpp")
|
||||
|
||||
create_single_source_cgal_program("normals.cpp")
|
||||
|
||||
create_single_source_cgal_program("range.cpp")
|
||||
|
||||
create_single_source_cgal_program("transform_iterator.cpp")
|
||||
|
||||
create_single_source_cgal_program("copy_polyhedron.cpp")
|
||||
|
||||
find_package( OpenMesh QUIET )
|
||||
find_package(OpenMesh QUIET)
|
||||
if(OpenMesh_FOUND)
|
||||
target_link_libraries( copy_polyhedron PRIVATE ${OPENMESH_LIBRARIES} )
|
||||
target_compile_definitions( copy_polyhedron PRIVATE -DCGAL_USE_OPENMESH )
|
||||
target_link_libraries(copy_polyhedron PRIVATE ${OPENMESH_LIBRARIES})
|
||||
target_compile_definitions(copy_polyhedron PRIVATE -DCGAL_USE_OPENMESH)
|
||||
else()
|
||||
message(STATUS "Examples that use OpenMesh will not be compiled.")
|
||||
message(STATUS "NOTICE: The example 'copy_polyhedron' will not use OpenMesh.")
|
||||
endif()
|
||||
|
||||
find_package( METIS )
|
||||
find_package(METIS QUIET)
|
||||
include(CGAL_METIS_support)
|
||||
if( TARGET CGAL::METIS_support )
|
||||
create_single_source_cgal_program( "polyhedron_partition.cpp" )
|
||||
target_link_libraries( polyhedron_partition PUBLIC CGAL::METIS_support)
|
||||
if(TARGET CGAL::METIS_support)
|
||||
create_single_source_cgal_program("polyhedron_partition.cpp")
|
||||
target_link_libraries(polyhedron_partition PUBLIC CGAL::METIS_support)
|
||||
else()
|
||||
message( STATUS "Examples that use the METIS library will not be compiled." )
|
||||
message(STATUS "NOTICE: The example 'polyhedron_partition' requires the METIS library, and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -3,8 +3,6 @@ project(BGL_surface_mesh_Examples)
|
|||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
||||
# include for local package
|
||||
|
||||
create_single_source_cgal_program("prim.cpp")
|
||||
create_single_source_cgal_program("gwdwg.cpp")
|
||||
create_single_source_cgal_program("seam_mesh.cpp")
|
||||
|
|
@ -12,11 +10,11 @@ create_single_source_cgal_program("write_inp.cpp")
|
|||
create_single_source_cgal_program("surface_mesh_dual.cpp")
|
||||
create_single_source_cgal_program("connected_components.cpp")
|
||||
|
||||
find_package(METIS)
|
||||
find_package(METIS QUIET)
|
||||
include(CGAL_METIS_support)
|
||||
if( TARGET CGAL::METIS_support )
|
||||
create_single_source_cgal_program( "surface_mesh_partition.cpp" )
|
||||
target_link_libraries( surface_mesh_partition PUBLIC CGAL::METIS_support )
|
||||
if(TARGET CGAL::METIS_support)
|
||||
create_single_source_cgal_program("surface_mesh_partition.cpp")
|
||||
target_link_libraries(surface_mesh_partition PUBLIC CGAL::METIS_support)
|
||||
else()
|
||||
message(STATUS "Examples that use the METIS library will not be compiled.")
|
||||
message(STATUS "NOTICE: Examples that use the METIS library will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -7,100 +7,44 @@ project(BGL_Tests)
|
|||
# CGAL and its components
|
||||
find_package(CGAL REQUIRED)
|
||||
|
||||
# Boost and its components
|
||||
find_package(Boost)
|
||||
|
||||
if(NOT Boost_FOUND)
|
||||
message(
|
||||
STATUS "This project requires the Boost library, and will not be compiled.")
|
||||
return()
|
||||
endif()
|
||||
create_single_source_cgal_program("test_split.cpp")
|
||||
create_single_source_cgal_program("next.cpp")
|
||||
create_single_source_cgal_program("test_circulator.cpp")
|
||||
create_single_source_cgal_program("test_Gwdwg.cpp")
|
||||
create_single_source_cgal_program("test_bgl_dual.cpp")
|
||||
create_single_source_cgal_program("graph_concept_Polyhedron_3.cpp")
|
||||
create_single_source_cgal_program("graph_concept_Dual.cpp")
|
||||
create_single_source_cgal_program("graph_concept_Triangulation_2.cpp")
|
||||
create_single_source_cgal_program("graph_concept_Surface_mesh.cpp")
|
||||
create_single_source_cgal_program("graph_concept_Seam_mesh_Surface_mesh.cpp")
|
||||
create_single_source_cgal_program("graph_concept_Gwdwg_Surface_mesh.cpp")
|
||||
create_single_source_cgal_program("graph_concept_Linear_cell_complex.cpp")
|
||||
create_single_source_cgal_program("graph_concept_Arrangement_2.cpp")
|
||||
create_single_source_cgal_program("graph_concept_Derived.cpp" )
|
||||
create_single_source_cgal_program("test_clear.cpp" )
|
||||
create_single_source_cgal_program("test_helpers.cpp")
|
||||
create_single_source_cgal_program("test_Has_member_clear.cpp")
|
||||
create_single_source_cgal_program("test_Has_member_id.cpp")
|
||||
create_single_source_cgal_program("test_bgl_read_write.cpp")
|
||||
create_single_source_cgal_program("graph_concept_Face_filtered_graph.cpp")
|
||||
create_single_source_cgal_program("test_Manifold_face_removal.cpp")
|
||||
create_single_source_cgal_program("test_Regularize_face_selection_borders.cpp")
|
||||
create_single_source_cgal_program("test_Face_filtered_graph.cpp")
|
||||
create_single_source_cgal_program("test_Euler_operations.cpp")
|
||||
create_single_source_cgal_program("test_test_face.cpp" )
|
||||
create_single_source_cgal_program("test_Collapse_edge.cpp" )
|
||||
create_single_source_cgal_program("test_Collapse_edge_with_constraints.cpp" )
|
||||
create_single_source_cgal_program("test_graph_traits.cpp")
|
||||
create_single_source_cgal_program("test_Properties.cpp")
|
||||
create_single_source_cgal_program("bench_read_from_stream_vs_add_face_and_add_faces.cpp")
|
||||
create_single_source_cgal_program("graph_traits_inheritance.cpp" )
|
||||
create_single_source_cgal_program("test_deprecated_io.cpp")
|
||||
|
||||
find_package(OpenMesh QUIET)
|
||||
|
||||
if(OpenMesh_FOUND)
|
||||
include(UseOpenMesh)
|
||||
add_definitions(-DCGAL_USE_OPENMESH)
|
||||
else()
|
||||
message(STATUS "Tests that use OpenMesh will not be compiled.")
|
||||
endif()
|
||||
|
||||
# include for local package
|
||||
|
||||
# Creating entries for all .cpp/.C files with "main" routine
|
||||
# ##########################################################
|
||||
|
||||
if(OpenMesh_FOUND)
|
||||
create_single_source_cgal_program("graph_concept_OpenMesh.cpp")
|
||||
target_link_libraries(graph_concept_OpenMesh PRIVATE ${OPENMESH_LIBRARIES})
|
||||
endif()
|
||||
|
||||
create_single_source_cgal_program("test_split.cpp")
|
||||
|
||||
create_single_source_cgal_program("next.cpp")
|
||||
|
||||
create_single_source_cgal_program("test_circulator.cpp")
|
||||
|
||||
create_single_source_cgal_program("test_Gwdwg.cpp")
|
||||
|
||||
create_single_source_cgal_program("test_bgl_dual.cpp")
|
||||
|
||||
create_single_source_cgal_program("graph_concept_Polyhedron_3.cpp")
|
||||
|
||||
create_single_source_cgal_program("graph_concept_Dual.cpp")
|
||||
|
||||
create_single_source_cgal_program("graph_concept_Triangulation_2.cpp")
|
||||
|
||||
create_single_source_cgal_program("graph_concept_Surface_mesh.cpp")
|
||||
|
||||
create_single_source_cgal_program("graph_concept_Seam_mesh_Surface_mesh.cpp")
|
||||
|
||||
create_single_source_cgal_program("graph_concept_Gwdwg_Surface_mesh.cpp")
|
||||
|
||||
create_single_source_cgal_program("graph_concept_Linear_cell_complex.cpp")
|
||||
|
||||
create_single_source_cgal_program("graph_concept_Arrangement_2.cpp")
|
||||
|
||||
create_single_source_cgal_program( "graph_concept_Derived.cpp" )
|
||||
|
||||
create_single_source_cgal_program( "test_clear.cpp" )
|
||||
|
||||
create_single_source_cgal_program("test_helpers.cpp")
|
||||
|
||||
create_single_source_cgal_program("test_Has_member_clear.cpp")
|
||||
|
||||
create_single_source_cgal_program("test_Has_member_id.cpp")
|
||||
|
||||
create_single_source_cgal_program("test_bgl_read_write.cpp")
|
||||
|
||||
create_single_source_cgal_program("graph_concept_Face_filtered_graph.cpp")
|
||||
|
||||
create_single_source_cgal_program("test_Manifold_face_removal.cpp")
|
||||
|
||||
create_single_source_cgal_program("test_Regularize_face_selection_borders.cpp")
|
||||
|
||||
create_single_source_cgal_program("test_Face_filtered_graph.cpp")
|
||||
|
||||
create_single_source_cgal_program("test_Euler_operations.cpp")
|
||||
|
||||
create_single_source_cgal_program( "test_test_face.cpp" )
|
||||
|
||||
create_single_source_cgal_program( "test_Collapse_edge.cpp" )
|
||||
|
||||
create_single_source_cgal_program( "test_Collapse_edge_with_constraints.cpp" )
|
||||
|
||||
create_single_source_cgal_program("test_graph_traits.cpp")
|
||||
|
||||
create_single_source_cgal_program("test_Properties.cpp")
|
||||
|
||||
create_single_source_cgal_program(
|
||||
"bench_read_from_stream_vs_add_face_and_add_faces.cpp")
|
||||
|
||||
create_single_source_cgal_program( "graph_traits_inheritance.cpp" )
|
||||
|
||||
create_single_source_cgal_program("test_deprecated_io.cpp")
|
||||
|
||||
if(OpenMesh_FOUND)
|
||||
target_link_libraries(test_clear PRIVATE ${OPENMESH_LIBRARIES})
|
||||
target_compile_definitions(test_clear PRIVATE -DCGAL_USE_OPENMESH)
|
||||
target_link_libraries(test_Euler_operations PRIVATE ${OPENMESH_LIBRARIES})
|
||||
|
|
@ -115,6 +59,11 @@ if(OpenMesh_FOUND)
|
|||
target_compile_definitions(test_Properties PRIVATE -DCGAL_USE_OPENMESH)
|
||||
target_link_libraries(test_bgl_read_write PRIVATE ${OPENMESH_LIBRARIES})
|
||||
target_compile_definitions(test_bgl_read_write PRIVATE -DCGAL_USE_OPENMESH)
|
||||
|
||||
create_single_source_cgal_program("graph_concept_OpenMesh.cpp")
|
||||
target_link_libraries(graph_concept_OpenMesh PRIVATE ${OPENMESH_LIBRARIES})
|
||||
else()
|
||||
message(STATUS "NOTICE: Tests that use OpenMesh will not be compiled.")
|
||||
endif()
|
||||
|
||||
find_package(VTK QUIET COMPONENTS vtkCommonCore vtkIOCore vtkIOLegacy vtkIOXML vtkFiltersCore vtkFiltersSources)
|
||||
|
|
@ -150,5 +99,5 @@ if(3MF_LIBRARIES AND 3MF_INCLUDE_DIR AND EXISTS "${3MF_INCLUDE_DIR}/Model/COM/N
|
|||
target_link_libraries(test_3mf_to_sm PRIVATE ${3MF_LIBRARIES})
|
||||
target_compile_definitions(test_3mf_to_sm PRIVATE -DCGAL_LINKED_WITH_3MF)
|
||||
else()
|
||||
message(STATUS "NOTICE : This program requires the lib3MF library, and will not be compiled.")
|
||||
message(STATUS "NOTICE: The test 'test_3mf_to_sm' requires the lib3MF library, and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@ project(Barycentric_coordinates_2_Benchmarks)
|
|||
cmake_minimum_required(VERSION 3.1...3.23)
|
||||
|
||||
find_package(CGAL REQUIRED COMPONENTS Core)
|
||||
include(${CGAL_USE_FILE})
|
||||
include(CGAL_CreateSingleSourceCGALProgram)
|
||||
|
||||
create_single_source_cgal_program("benchmark_segment_coordinates.cpp")
|
||||
create_single_source_cgal_program("benchmark_triangle_coordinates.cpp")
|
||||
|
|
@ -19,12 +17,10 @@ create_single_source_cgal_program("benchmark_mv_34_vertices.cpp")
|
|||
find_package(Eigen3 3.1.0 QUIET) # (3.1.0 or greater)
|
||||
include(CGAL_Eigen3_support)
|
||||
if(TARGET CGAL::Eigen3_support)
|
||||
|
||||
create_single_source_cgal_program("benchmark_hm_4_vertices.cpp")
|
||||
target_link_libraries(benchmark_hm_4_vertices PUBLIC CGAL::Eigen3_support)
|
||||
create_single_source_cgal_program("benchmark_hm_n_vertices.cpp")
|
||||
target_link_libraries(benchmark_hm_n_vertices PUBLIC CGAL::Eigen3_support)
|
||||
|
||||
else()
|
||||
message(NOTICE "Several coordinates require the Eigen library, and will not be compiled.")
|
||||
message(STATUS "NOTICE: Several benchmarks require the Eigen library, and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -20,14 +20,12 @@ create_single_source_cgal_program("deprecated_coordinates.cpp")
|
|||
find_package(Eigen3 3.1.0 QUIET) # (3.1.0 or greater)
|
||||
include(CGAL_Eigen3_support)
|
||||
if(TARGET CGAL::Eigen3_support)
|
||||
|
||||
create_single_source_cgal_program("affine_coordinates.cpp")
|
||||
target_link_libraries(affine_coordinates PUBLIC CGAL::Eigen3_support)
|
||||
create_single_source_cgal_program("harmonic_coordinates.cpp")
|
||||
target_link_libraries(harmonic_coordinates PUBLIC CGAL::Eigen3_support)
|
||||
create_single_source_cgal_program("shape_deformation.cpp")
|
||||
target_link_libraries(shape_deformation PUBLIC CGAL::Eigen3_support)
|
||||
|
||||
else()
|
||||
message(NOTICE "Several coordinates require the Eigen library, and will not be compiled.")
|
||||
message(STATUS "NOTICE: Several examples require the Eigen library, and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -45,7 +45,6 @@ create_single_source_cgal_program("test_dh_deprecated_api.cpp")
|
|||
find_package(Eigen3 3.1.0 QUIET) # (3.1.0 or greater)
|
||||
include(CGAL_Eigen3_support)
|
||||
if(TARGET CGAL::Eigen3_support)
|
||||
|
||||
create_single_source_cgal_program("test_hm_unit_square.cpp")
|
||||
target_link_libraries(test_hm_unit_square PUBLIC CGAL::Eigen3_support)
|
||||
create_single_source_cgal_program("test_hm_const_linear_precision.cpp")
|
||||
|
|
@ -56,7 +55,6 @@ if(TARGET CGAL::Eigen3_support)
|
|||
target_link_libraries(test_bc_projection_traits PUBLIC CGAL::Eigen3_support)
|
||||
create_single_source_cgal_program("test_bc_all_coordinates.cpp")
|
||||
target_link_libraries(test_bc_all_coordinates PUBLIC CGAL::Eigen3_support)
|
||||
|
||||
else()
|
||||
message(NOTICE "Several coordinates require the Eigen library, and will not be compiled.")
|
||||
message(STATUS "NOTICE: Several tests require the Eigen library, and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -18,8 +18,5 @@ endforeach()
|
|||
if(CGAL_Qt5_FOUND)
|
||||
target_link_libraries(draw_polygon_set PUBLIC CGAL::CGAL_Basic_viewer)
|
||||
else()
|
||||
message(
|
||||
STATUS
|
||||
"NOTICE: The example draw_polygon_set requires Qt and drawing will be disabled."
|
||||
)
|
||||
message(STATUS "NOTICE: The example 'draw_polygon_set' requires Qt and drawing will be disabled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -6,18 +6,16 @@ project(Box_intersection_d_Tests)
|
|||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
||||
find_package(TBB)
|
||||
include(CGAL_TBB_support)
|
||||
|
||||
create_single_source_cgal_program("automated_test.cpp")
|
||||
create_single_source_cgal_program("benchmark_box_intersection.cpp")
|
||||
create_single_source_cgal_program("random_set_test.cpp")
|
||||
create_single_source_cgal_program("test_box_grid.cpp")
|
||||
create_single_source_cgal_program("test_Has_member_report.cpp")
|
||||
|
||||
find_package(TBB QUIET)
|
||||
include(CGAL_TBB_support)
|
||||
if(TARGET CGAL::TBB_support)
|
||||
target_link_libraries(test_box_grid PUBLIC CGAL::TBB_support)
|
||||
else()
|
||||
message(
|
||||
STATUS "NOTICE: Intel TBB was not found. Sequential code will be used.")
|
||||
message(STATUS "NOTICE: Intel TBB was not found. Parallel code will not be used.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -5,27 +5,8 @@ project(Core_Examples)
|
|||
find_package(CGAL REQUIRED COMPONENTS Core)
|
||||
|
||||
if(NOT CGAL_Core_FOUND)
|
||||
|
||||
message(
|
||||
STATUS
|
||||
"This project requires the CGAL_Core library, and will not be compiled.")
|
||||
message("NOTICE: This project requires the CGAL_Core library, and will not be compiled.")
|
||||
return()
|
||||
|
||||
endif()
|
||||
|
||||
# Boost and its components
|
||||
find_package(Boost)
|
||||
|
||||
if(NOT Boost_FOUND)
|
||||
|
||||
message(
|
||||
STATUS "This project requires the Boost library, and will not be compiled.")
|
||||
|
||||
return()
|
||||
|
||||
endif()
|
||||
|
||||
# Creating entries for all .cpp/.C files with "main" routine
|
||||
# ##########################################################
|
||||
|
||||
create_single_source_cgal_program("delaunay.cpp")
|
||||
|
|
|
|||
|
|
@ -6,15 +6,7 @@ project(CGALimageIO_Examples)
|
|||
|
||||
find_package(CGAL REQUIRED COMPONENTS ImageIO)
|
||||
|
||||
if(CGAL_ImageIO_FOUND)
|
||||
|
||||
create_single_source_cgal_program("convert_raw_image_to_inr.cpp")
|
||||
create_single_source_cgal_program("test_imageio.cpp")
|
||||
create_single_source_cgal_program("extract_a_sub_image.cpp")
|
||||
create_single_source_cgal_program("slice_image.cpp")
|
||||
else()
|
||||
message(
|
||||
STATUS
|
||||
"NOTICE: This demo needs the CGAL ImageIO library, and will not be compiled."
|
||||
)
|
||||
endif()
|
||||
create_single_source_cgal_program("convert_raw_image_to_inr.cpp")
|
||||
create_single_source_cgal_program("test_imageio.cpp")
|
||||
create_single_source_cgal_program("extract_a_sub_image.cpp")
|
||||
create_single_source_cgal_program("slice_image.cpp")
|
||||
|
|
|
|||
|
|
@ -9,8 +9,5 @@ find_package(CGAL REQUIRED COMPONENTS ImageIO)
|
|||
if(WITH_CGAL_ImageIO)
|
||||
create_single_source_cgal_program("test_trilinear_interpolation.cpp")
|
||||
else()
|
||||
message(
|
||||
STATUS
|
||||
"NOTICE: Some tests require the CGAL_ImageIO library, and will not be compiled."
|
||||
)
|
||||
message("NOTICE: This project requires the CGAL_ImageIO library, and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -22,26 +22,21 @@ find_package(CGAL REQUIRED COMPONENTS Core)
|
|||
|
||||
include(${CGAL_USE_FILE})
|
||||
|
||||
find_package(Eigen3 3.1.0) #(requires 3.1.0 or greater)
|
||||
find_package(Eigen3 3.1.0 QUIET) #(requires 3.1.0 or greater)
|
||||
include(CGAL_Eigen3_support)
|
||||
if(NOT TARGET CGAL::Eigen3_support)
|
||||
message(
|
||||
STATUS
|
||||
"NOTICE: This project requires the Eigen library, and will not be compiled."
|
||||
)
|
||||
message("NOTICE: This project requires the Eigen library, and will not be compiled.")
|
||||
return()
|
||||
endif()
|
||||
|
||||
find_package(IPE 7)
|
||||
|
||||
if(IPE_FOUND)
|
||||
if ( NOT ${IPE_VERSION} EQUAL "7")
|
||||
message("-- Error: ${IPE_VERSION} is not a supported version of IPE (only 7 is).")
|
||||
if(NOT ${IPE_VERSION} EQUAL "7")
|
||||
message("NOTICE: ${IPE_VERSION} is not a supported version of IPE (only 7 is).")
|
||||
set(IPE_FOUND FALSE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
if(IPE_FOUND AND IPE_VERSION)
|
||||
message("-- Using IPE version ${IPE_VERSION} compatibility.")
|
||||
|
||||
|
|
@ -119,5 +114,5 @@ if(IPE_FOUND AND IPE_VERSION)
|
|||
cgal_add_compilation_test(simple_triangulation)
|
||||
|
||||
else()
|
||||
message(STATUS "NOTICE: This program requires the Ipe include files and library, and will not be compiled.")
|
||||
message("NOTICE: This project requires the Ipe include files and library, and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -33,8 +33,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
|
||||
else()
|
||||
|
||||
message(
|
||||
STATUS "NOTICE: This demo requires CGAL, and Qt5, and will not be compiled."
|
||||
)
|
||||
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -701,7 +701,13 @@ typedef Iterator_from_circulator< C, const_reference, const_pointer>
|
|||
template <class Container>
|
||||
class Circulator_from_container {
|
||||
typedef Circulator_from_container<Container> Self;
|
||||
typedef typename Container::iterator iterator;
|
||||
typedef typename Container::iterator container_iterator;
|
||||
typedef typename Container::const_iterator container_const_iterator;
|
||||
typedef std::conditional_t<
|
||||
std::is_const<Container>::value,
|
||||
container_const_iterator,
|
||||
container_iterator
|
||||
> iterator;
|
||||
typedef std::iterator_traits<iterator> iterator_traits;
|
||||
public:
|
||||
typedef typename iterator_traits::value_type value_type;
|
||||
|
|
|
|||
|
|
@ -7,15 +7,6 @@ project(Classification_Examples)
|
|||
# CGAL and its components
|
||||
find_package(CGAL REQUIRED)
|
||||
|
||||
# Boost and its components
|
||||
find_package(Boost REQUIRED)
|
||||
|
||||
if(NOT Boost_FOUND)
|
||||
message(
|
||||
STATUS "This project requires the Boost library, and will not be compiled.")
|
||||
return()
|
||||
endif()
|
||||
|
||||
set(Classification_dependencies_met TRUE)
|
||||
|
||||
find_package(Boost OPTIONAL_COMPONENTS serialization iostreams)
|
||||
|
|
@ -23,44 +14,29 @@ include(CGAL_Boost_serialization_support)
|
|||
include(CGAL_Boost_iostreams_support)
|
||||
|
||||
if(NOT TARGET CGAL::Boost_serialization_support)
|
||||
message(
|
||||
STATUS
|
||||
"NOTICE: This project requires Boost Serialization, and will not be compiled."
|
||||
)
|
||||
message("NOTICE: This project requires Boost Serialization, and will not be compiled.")
|
||||
set(Classification_dependencies_met FALSE)
|
||||
endif()
|
||||
|
||||
if(NOT TARGET CGAL::Boost_iostreams_support)
|
||||
message(
|
||||
STATUS
|
||||
"NOTICE: This project requires Boost IO Streams, and will not be compiled."
|
||||
)
|
||||
message("NOTICE: This project requires Boost IO Streams, and will not be compiled.")
|
||||
set(Classification_dependencies_met FALSE)
|
||||
endif()
|
||||
|
||||
find_package(OpenCV QUIET COMPONENTS core ml) # Need core + machine learning
|
||||
include(CGAL_OpenCV_support)
|
||||
if(NOT TARGET CGAL::OpenCV_support)
|
||||
message(
|
||||
STATUS
|
||||
"NOTICE: OpenCV was not found. OpenCV random forest predicate for classification won't be available."
|
||||
)
|
||||
endif()
|
||||
|
||||
find_package(Eigen3 3.1.0 REQUIRED) #(3.1.0 or greater)
|
||||
find_package(Eigen3 3.1.0 QUIET) #(3.1.0 or greater)
|
||||
include(CGAL_Eigen3_support)
|
||||
if(NOT TARGET CGAL::Eigen3_support)
|
||||
message(
|
||||
STATUS "This project requires the Eigen library, and will not be compiled.")
|
||||
message("NOTICE: This project requires the Eigen library, and will not be compiled.")
|
||||
set(Classification_dependencies_met FALSE)
|
||||
endif()
|
||||
|
||||
find_package(TBB QUIET)
|
||||
include(CGAL_TBB_support)
|
||||
|
||||
if(NOT Classification_dependencies_met)
|
||||
return()
|
||||
endif()
|
||||
|
||||
find_package(TBB QUIET)
|
||||
include(CGAL_TBB_support)
|
||||
|
||||
create_single_source_cgal_program( "example_classification.cpp" )
|
||||
create_single_source_cgal_program( "example_ethz_random_forest.cpp" )
|
||||
create_single_source_cgal_program( "example_feature.cpp" )
|
||||
|
|
@ -70,10 +46,15 @@ create_single_source_cgal_program( "example_cluster_classification.cpp" )
|
|||
create_single_source_cgal_program( "gis_tutorial_example.cpp" )
|
||||
create_single_source_cgal_program( "example_deprecated_conversion.cpp" )
|
||||
|
||||
if (TARGET CGAL::OpenCV_support)
|
||||
find_package(OpenCV QUIET COMPONENTS core ml) # Need core + machine learning
|
||||
include(CGAL_OpenCV_support)
|
||||
if(TARGET CGAL::OpenCV_support)
|
||||
message(STATUS "Found OpenCV")
|
||||
|
||||
create_single_source_cgal_program( "example_opencv_random_forest.cpp" )
|
||||
target_link_libraries(example_opencv_random_forest
|
||||
PUBLIC CGAL::OpenCV_support)
|
||||
target_link_libraries(example_opencv_random_forest PUBLIC CGAL::OpenCV_support)
|
||||
else()
|
||||
message("NOTICE: OpenCV was not found. OpenCV random forest predicate for classification won't be available.")
|
||||
endif()
|
||||
|
||||
foreach(target
|
||||
|
|
@ -87,9 +68,9 @@ foreach(target
|
|||
gis_tutorial_example
|
||||
example_deprecated_conversion)
|
||||
if(TARGET ${target})
|
||||
target_link_libraries(
|
||||
${target} PUBLIC CGAL::Eigen3_support CGAL::Boost_iostreams_support
|
||||
CGAL::Boost_serialization_support)
|
||||
target_link_libraries(${target} PUBLIC CGAL::Eigen3_support
|
||||
CGAL::Boost_iostreams_support
|
||||
CGAL::Boost_serialization_support)
|
||||
if(TARGET CGAL::TBB_support)
|
||||
target_link_libraries(${target} PUBLIC CGAL::TBB_support)
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -7,15 +7,6 @@ project(Classification_Tests)
|
|||
# CGAL and its components
|
||||
find_package(CGAL REQUIRED)
|
||||
|
||||
# Boost and its components
|
||||
find_package(Boost REQUIRED)
|
||||
|
||||
if(NOT Boost_FOUND)
|
||||
message(
|
||||
STATUS "This project requires the Boost library, and will not be compiled.")
|
||||
return()
|
||||
endif()
|
||||
|
||||
set(Classification_dependencies_met TRUE)
|
||||
|
||||
find_package(Boost OPTIONAL_COMPONENTS serialization iostreams)
|
||||
|
|
@ -23,42 +14,36 @@ include(CGAL_Boost_serialization_support)
|
|||
include(CGAL_Boost_iostreams_support)
|
||||
|
||||
if(NOT TARGET CGAL::Boost_serialization_support)
|
||||
message(
|
||||
STATUS
|
||||
"NOTICE: This project requires Boost Serialization, and will not be compiled."
|
||||
)
|
||||
set(Classification_dependencies_met FALSE)
|
||||
endif()
|
||||
if(NOT TARGET CGAL::Boost_iostreams_support)
|
||||
message(
|
||||
STATUS
|
||||
"NOTICE: This project requires Boost IO Streams, and will not be compiled."
|
||||
)
|
||||
message("NOTICE: This project requires Boost Serialization, and will not be compiled.")
|
||||
set(Classification_dependencies_met FALSE)
|
||||
endif()
|
||||
|
||||
find_package(Eigen3 3.1.0 REQUIRED) #(3.1.0 or greater)
|
||||
if(NOT TARGET CGAL::Boost_iostreams_support)
|
||||
message("NOTICE: This project requires Boost IO Streams, and will not be compiled.")
|
||||
set(Classification_dependencies_met FALSE)
|
||||
endif()
|
||||
|
||||
find_package(Eigen3 3.1.0 QUIET) #(3.1.0 or greater)
|
||||
include(CGAL_Eigen3_support)
|
||||
if(NOT TARGET CGAL::Eigen3_support)
|
||||
message(
|
||||
STATUS "This project requires the Eigen library, and will not be compiled.")
|
||||
message("NOTICE: This project requires the Eigen library, and will not be compiled.")
|
||||
set(Classification_dependencies_met FALSE)
|
||||
endif()
|
||||
|
||||
find_package(TBB QUIET)
|
||||
include(CGAL_TBB_support)
|
||||
|
||||
if(NOT Classification_dependencies_met)
|
||||
return()
|
||||
endif()
|
||||
|
||||
find_package(TBB QUIET)
|
||||
include(CGAL_TBB_support)
|
||||
|
||||
create_single_source_cgal_program("test_classification_point_set.cpp")
|
||||
create_single_source_cgal_program("test_classification_io.cpp")
|
||||
|
||||
foreach(target test_classification_point_set test_classification_io)
|
||||
target_link_libraries(
|
||||
${target} PUBLIC CGAL::Eigen3_support CGAL::Boost_iostreams_support
|
||||
CGAL::Boost_serialization_support)
|
||||
target_link_libraries(${target} PUBLIC CGAL::Eigen3_support
|
||||
CGAL::Boost_iostreams_support
|
||||
CGAL::Boost_serialization_support)
|
||||
if(TARGET CGAL::TBB_support)
|
||||
target_link_libraries(${target} PUBLIC CGAL::TBB_support)
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -27,6 +27,12 @@ cgal_add_compilation_test(Combinatorial_map_copy_test_index)
|
|||
# Link with OpenMesh if possible
|
||||
find_package(OpenMesh QUIET)
|
||||
if(TARGET OpenMesh::OpenMesh)
|
||||
message(STATUS "Found OpenMesh")
|
||||
|
||||
target_link_libraries(Combinatorial_map_copy_test PRIVATE OpenMesh::OpenMesh)
|
||||
target_compile_definitions(Combinatorial_map_copy_test PRIVATE -DCGAL_USE_OPENMESH)
|
||||
target_link_libraries(Combinatorial_map_copy_test_index PRIVATE OpenMesh::OpenMesh)
|
||||
target_compile_definitions(Combinatorial_map_copy_test_index PRIVATE -DCGAL_USE_OPENMESH)
|
||||
else()
|
||||
message(STATUS "NOTICE: Tests will not use OpenMesh.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
cmake_minimum_required(VERSION 3.1...3.23)
|
||||
project(Cone_spanners_2_Examples)
|
||||
|
||||
find_package(CGAL REQUIRED QUIET OPTIONAL_COMPONENTS Core)
|
||||
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Core)
|
||||
find_package(LEDA QUIET)
|
||||
|
||||
if(CGAL_Core_FOUND OR LEDA_FOUND)
|
||||
|
|
@ -20,12 +20,6 @@ if(CGAL_Core_FOUND OR LEDA_FOUND)
|
|||
foreach(cppfile ${cppfiles})
|
||||
create_single_source_cgal_program("${cppfile}")
|
||||
endforeach()
|
||||
|
||||
else()
|
||||
|
||||
message(
|
||||
STATUS
|
||||
"This program requires the CGAL_Core library (or LEDA), and will not be compiled."
|
||||
)
|
||||
|
||||
message("NOTICE: This program requires the CGAL_Core library (or LEDA), and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -6,23 +6,11 @@ project(Cone_spanners_2_Tests)
|
|||
|
||||
find_package(CGAL REQUIRED COMPONENTS Core)
|
||||
|
||||
if(CGAL_Core_FOUND)
|
||||
include_directories(BEFORE "include")
|
||||
|
||||
# create a target per cppfile
|
||||
file(
|
||||
GLOB cppfiles
|
||||
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
|
||||
foreach(cppfile ${cppfiles})
|
||||
create_single_source_cgal_program("${cppfile}")
|
||||
endforeach()
|
||||
|
||||
else()
|
||||
|
||||
message(
|
||||
STATUS
|
||||
"This program requires the CGAL and CGAL_Core libraries, and will not be compiled."
|
||||
)
|
||||
|
||||
endif()
|
||||
# create a target per cppfile
|
||||
file(
|
||||
GLOB cppfiles
|
||||
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
|
||||
foreach(cppfile ${cppfiles})
|
||||
create_single_source_cgal_program("${cppfile}")
|
||||
endforeach()
|
||||
|
|
|
|||
|
|
@ -7,59 +7,27 @@ project(Convex_hull_3_Examples)
|
|||
# CGAL and its components
|
||||
find_package(CGAL REQUIRED)
|
||||
|
||||
# Boost and its components
|
||||
find_package(Boost REQUIRED)
|
||||
|
||||
if(NOT Boost_FOUND)
|
||||
|
||||
message(
|
||||
STATUS "This project requires the Boost library, and will not be compiled.")
|
||||
|
||||
return()
|
||||
|
||||
endif()
|
||||
|
||||
find_package(OpenMesh QUIET)
|
||||
|
||||
if(OpenMesh_FOUND)
|
||||
include(UseOpenMesh)
|
||||
else()
|
||||
message(STATUS "Examples that use OpenMesh will not be compiled.")
|
||||
endif()
|
||||
|
||||
# include for local directory
|
||||
|
||||
# include for local package
|
||||
|
||||
# Creating entries for all C++ files with "main" routine
|
||||
# ##########################################################
|
||||
|
||||
create_single_source_cgal_program("quickhull_indexed_triangle_set_3.cpp")
|
||||
|
||||
create_single_source_cgal_program("dynamic_hull_3.cpp")
|
||||
|
||||
create_single_source_cgal_program("dynamic_hull_LCC_3.cpp")
|
||||
|
||||
create_single_source_cgal_program("dynamic_hull_SM_3.cpp")
|
||||
|
||||
create_single_source_cgal_program("halfspace_intersection_3.cpp")
|
||||
|
||||
create_single_source_cgal_program("lloyd_algorithm.cpp")
|
||||
|
||||
create_single_source_cgal_program("quickhull_3.cpp")
|
||||
|
||||
create_single_source_cgal_program("graph_hull_3.cpp")
|
||||
|
||||
create_single_source_cgal_program("quickhull_any_dim_3.cpp")
|
||||
|
||||
create_single_source_cgal_program("extreme_points_3_sm.cpp")
|
||||
|
||||
create_single_source_cgal_program("extreme_indices_3.cpp")
|
||||
|
||||
find_package(OpenMesh QUIET)
|
||||
if(OpenMesh_FOUND)
|
||||
create_single_source_cgal_program("quickhull_OM_3.cpp")
|
||||
create_single_source_cgal_program("dynamic_hull_OM_3.cpp")
|
||||
include(UseOpenMesh)
|
||||
message(STATUS "Found OpenMesh")
|
||||
|
||||
create_single_source_cgal_program("quickhull_OM_3.cpp")
|
||||
target_link_libraries(quickhull_OM_3 PRIVATE ${OPENMESH_LIBRARIES})
|
||||
create_single_source_cgal_program("dynamic_hull_OM_3.cpp")
|
||||
target_link_libraries(dynamic_hull_OM_3 PRIVATE ${OPENMESH_LIBRARIES})
|
||||
else()
|
||||
message(STATUS "NOTICE: Examples that use OpenMesh will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -6,14 +6,6 @@ project(Convex_hull_3_Tests)
|
|||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
||||
find_package(OpenMesh QUIET)
|
||||
|
||||
if(OpenMesh_FOUND)
|
||||
include(UseOpenMesh)
|
||||
else()
|
||||
message(STATUS "Examples that use OpenMesh will not be compiled.")
|
||||
endif()
|
||||
|
||||
include_directories(BEFORE "include")
|
||||
|
||||
# create a target per cppfile
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ A base can be created using the script `cgal_create_CMakeLists`. Its usage is de
|
|||
\section seclink Linking with CGAL
|
||||
To link with the \cgal library, use the following:
|
||||
\code
|
||||
find_package(CGAL)
|
||||
find_package(CGAL REQUIRED)
|
||||
add_executable(my_executable my_source_file.cpp)
|
||||
target_link_libraries(my_executable CGAL::CGAL)
|
||||
\endcode
|
||||
|
|
|
|||
|
|
@ -8,8 +8,6 @@ add_executable(bench_simple_comparisons bench_simple_comparisons.cpp)
|
|||
|
||||
find_package(CGAL REQUIRED COMPONENTS Core)
|
||||
|
||||
include(${CGAL_USE_FILE})
|
||||
|
||||
add_executable(bench_orientation_3 "orientation_3.cpp")
|
||||
target_link_libraries(bench_orientation_3 ${CGAL_LIBRARIES}
|
||||
${CGAL_3RD_PARTY_LIBRARIES})
|
||||
|
|
|
|||
|
|
@ -7,20 +7,10 @@ project(Generalized_map_Tests)
|
|||
# CGAL and its components
|
||||
find_package(CGAL REQUIRED)
|
||||
|
||||
# Boost and its components
|
||||
find_package(Boost REQUIRED)
|
||||
|
||||
if(NOT Boost_FOUND)
|
||||
|
||||
message(
|
||||
STATUS "This project requires the Boost library, and will not be compiled.")
|
||||
|
||||
return()
|
||||
|
||||
endif()
|
||||
|
||||
set(hfiles Generalized_map_2_test.h Generalized_map_3_test.h
|
||||
Generalized_map_4_test.h GMap_test_insertions.h)
|
||||
set(hfiles Generalized_map_2_test.h
|
||||
Generalized_map_3_test.h
|
||||
Generalized_map_4_test.h
|
||||
GMap_test_insertions.h)
|
||||
|
||||
create_single_source_cgal_program("Generalized_map_test.cpp" ${hfiles})
|
||||
|
||||
|
|
|
|||
|
|
@ -6,12 +6,17 @@ project(Generator_example)
|
|||
|
||||
find_package(CGAL REQUIRED COMPONENTS Core)
|
||||
|
||||
include(${CGAL_USE_FILE})
|
||||
|
||||
find_package(Boost REQUIRED program_options)
|
||||
include_directories(${Boost_PROGRAM_OPTIONS_INCLUDE_DIR})
|
||||
add_definitions("-DCGAL_USE_BOOST_PROGRAM_OPTIONS")
|
||||
list(APPEND CGAL_3RD_PARTY_LIBRARIES ${Boost_PROGRAM_OPTIONS_LIBRARY})
|
||||
|
||||
create_single_source_cgal_program("random_grid.cpp")
|
||||
create_single_source_cgal_program("random_disc_2.cpp")
|
||||
find_package(Boost COMPONENTS program_options)
|
||||
if(Boost_PROGRAM_OPTIONS_FOUND)
|
||||
create_single_source_cgal_program("random_grid.cpp")
|
||||
create_single_source_cgal_program("random_disc_2.cpp")
|
||||
if(TARGET Boost::program_options)
|
||||
target_link_libraries(random_grid PRIVATE Boost::program_options)
|
||||
target_link_libraries(random_disc_2 PRIVATE Boost::program_options)
|
||||
else()
|
||||
target_link_libraries(random_grid PRIVATE ${Boost_PROGRAM_OPTIONS_LIBRARY})
|
||||
target_link_libraries(random_disc_2 PRIVATE ${Boost_PROGRAM_OPTIONS_LIBRARY})
|
||||
endif()
|
||||
else()
|
||||
message("NOTICE: The benchmarks requires Boost Program Options, and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -6,23 +6,34 @@ project(Generator_Examples)
|
|||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
||||
# Use Eigen
|
||||
create_single_source_cgal_program("ball_d.cpp")
|
||||
create_single_source_cgal_program("combination_enumerator.cpp")
|
||||
create_single_source_cgal_program("cube_d.cpp")
|
||||
create_single_source_cgal_program("grid_d.cpp")
|
||||
create_single_source_cgal_program("name_pairs.cpp")
|
||||
create_single_source_cgal_program("random_convex_hull_2.cpp")
|
||||
create_single_source_cgal_program("random_convex_set.cpp")
|
||||
create_single_source_cgal_program("random_degenerate_point_set.cpp")
|
||||
create_single_source_cgal_program("random_grid.cpp")
|
||||
create_single_source_cgal_program("random_points_in_triangles_2.cpp")
|
||||
create_single_source_cgal_program("random_points_in_triangles_3.cpp")
|
||||
create_single_source_cgal_program("random_points_on_triangle_mesh_2.cpp")
|
||||
create_single_source_cgal_program("random_points_on_triangle_mesh_3.cpp")
|
||||
create_single_source_cgal_program("random_points_tetrahedron_and_triangle_3.cpp")
|
||||
create_single_source_cgal_program("random_points_triangle_2.cpp")
|
||||
create_single_source_cgal_program("random_polygon2.cpp")
|
||||
create_single_source_cgal_program("random_polygon.cpp")
|
||||
create_single_source_cgal_program("random_segments1.cpp")
|
||||
create_single_source_cgal_program("random_segments2.cpp")
|
||||
create_single_source_cgal_program("sphere_d.cpp")
|
||||
|
||||
find_package(Eigen3 3.1.0 QUIET) #(3.1.0 or greater)
|
||||
include(CGAL_Eigen3_support)
|
||||
|
||||
# create a target per cppfile
|
||||
file(
|
||||
GLOB cppfiles
|
||||
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
|
||||
foreach(cppfile ${cppfiles})
|
||||
if(NOT (${cppfile} STREQUAL "random_points_in_tetrahedral_mesh_3.cpp")
|
||||
OR NOT (${cppfile} STREQUAL "random_points_on_tetrahedral_mesh_3.cpp")
|
||||
OR TARGET CGAL::Eigen3_support)
|
||||
create_single_source_cgal_program("${cppfile}")
|
||||
if(TARGET CGAL::Eigen3_support)
|
||||
get_filename_component(target ${cppfile} NAME_WE)
|
||||
target_link_libraries(${target} PUBLIC CGAL::Eigen3_support)
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
if(TARGET CGAL::Eigen3_support)
|
||||
create_single_source_cgal_program("random_points_in_tetrahedral_mesh_3.cpp")
|
||||
target_link_libraries(random_points_in_tetrahedral_mesh_3 PRIVATE CGAL::Eigen3_support)
|
||||
create_single_source_cgal_program("random_points_on_tetrahedral_mesh_3.cpp")
|
||||
target_link_libraries(random_points_on_tetrahedral_mesh_3 PRIVATE CGAL::Eigen3_support)
|
||||
else()
|
||||
message(STATUS "NOTICE: Some examples use Eigen, and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -6,22 +6,20 @@ project(Generator_Tests)
|
|||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
||||
# Use Eigen
|
||||
create_single_source_cgal_program("random_hull_test.cpp")
|
||||
create_single_source_cgal_program("random_poly_test.cpp")
|
||||
create_single_source_cgal_program("rcs_test.cpp")
|
||||
create_single_source_cgal_program("test_combination_enumerator.cpp")
|
||||
create_single_source_cgal_program("test_generators.cpp")
|
||||
create_single_source_cgal_program("test_tetrahedron_3.cpp")
|
||||
create_single_source_cgal_program("test_triangle_2.cpp")
|
||||
create_single_source_cgal_program("test_triangle_3.cpp")
|
||||
|
||||
find_package(Eigen3 3.1.0 QUIET) #(3.1.0 or greater)
|
||||
include(CGAL_Eigen3_support)
|
||||
|
||||
# create a target per cppfile
|
||||
file(
|
||||
GLOB cppfiles
|
||||
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
|
||||
foreach(cppfile ${cppfiles})
|
||||
if(NOT (${cppfile} STREQUAL "generic_random_test.cpp") OR TARGET
|
||||
CGAL::Eigen3_support)
|
||||
create_single_source_cgal_program("${cppfile}")
|
||||
if(TARGET CGAL::Eigen3_support)
|
||||
get_filename_component(target ${cppfile} NAME_WE)
|
||||
target_link_libraries(${target} PUBLIC CGAL::Eigen3_support)
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
if(TARGET CGAL::Eigen3_support)
|
||||
create_single_source_cgal_program("generic_random_test.cpp")
|
||||
target_link_libraries(generic_random_test PRIVATE CGAL::Eigen3_support)
|
||||
else()
|
||||
message(STATUS "NOTICE: The test 'generic_random_test' uses Eigen, and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -22,9 +22,7 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
add_definitions(-DQT_NO_KEYWORDS)
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
#--------------------------------
|
||||
# The "Delaunay" demo: Alpha_shapes_2
|
||||
#--------------------------------
|
||||
|
||||
# UI files (Qt Designer files)
|
||||
qt5_wrap_ui(DT_UI_FILES Alpha_shapes_2.ui)
|
||||
|
||||
|
|
@ -46,10 +44,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
|
||||
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
|
||||
cgal_add_compilation_test(Alpha_shapes_2)
|
||||
|
||||
else()
|
||||
|
||||
message(
|
||||
STATUS "NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
|
||||
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -45,10 +45,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
|
||||
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
|
||||
cgal_add_compilation_test(Apollonius_graph_2)
|
||||
|
||||
else()
|
||||
|
||||
message(
|
||||
STATUS "NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
|
||||
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -24,9 +24,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
add_definitions(-DQT_NO_KEYWORDS)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
|
||||
#----------------------------------------------
|
||||
# The "Bounding volumes" demo: Bounding_volumes
|
||||
#----------------------------------------------
|
||||
# UI files (Qt Designer files)
|
||||
qt5_wrap_ui(DT_UI_FILES Bounding_volumes.ui)
|
||||
|
||||
|
|
@ -53,7 +50,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
|
||||
else()
|
||||
|
||||
message(
|
||||
STATUS "NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -22,9 +22,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
|
||||
#--------------------------------
|
||||
# The demo: Circular_kernel_2
|
||||
#--------------------------------
|
||||
# UI files (Qt Designer files)
|
||||
qt5_wrap_ui(DT_UI_FILES Circular_kernel_2.ui)
|
||||
|
||||
|
|
@ -51,7 +48,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
|
||||
else()
|
||||
|
||||
message(
|
||||
STATUS "NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -22,9 +22,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
|
||||
#--------------------------------
|
||||
# Demo: Generator_2
|
||||
#--------------------------------
|
||||
# UI files (Qt Designer files)
|
||||
qt5_wrap_ui(DT_UI_FILES Generator_2.ui)
|
||||
|
||||
|
|
@ -45,8 +42,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
cgal_add_compilation_test(Generator_2)
|
||||
else()
|
||||
|
||||
message(
|
||||
STATUS "NOTICE: This demo requires CGAL, and Qt5, and will not be compiled."
|
||||
)
|
||||
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -31,7 +31,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
cgal_add_compilation_test(min)
|
||||
else()
|
||||
|
||||
message(
|
||||
STATUS "NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -24,9 +24,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
|
||||
#--------------------------------
|
||||
# The "L1 Voronoi diagram" demo: L1_voronoi_diagram_2
|
||||
#--------------------------------
|
||||
# UI files (Qt Designer files)
|
||||
qt5_wrap_ui(DT_UI_FILES L1_voronoi_diagram_2.ui)
|
||||
|
||||
|
|
@ -51,7 +48,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
|
||||
else()
|
||||
|
||||
message(
|
||||
STATUS "NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -23,9 +23,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
|
||||
#--------------------------------
|
||||
# Demo: Largest_empty_rectangle_2
|
||||
#--------------------------------
|
||||
# UI files (Qt Designer files)
|
||||
qt5_wrap_ui(DT_UI_FILES Largest_empty_rectangle_2.ui)
|
||||
|
||||
|
|
@ -46,8 +43,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
cgal_add_compilation_test(Largest_empty_rectangle_2)
|
||||
else()
|
||||
|
||||
message(
|
||||
STATUS "NOTICE: This demo requires CGAL, and Qt5, and will not be compiled."
|
||||
)
|
||||
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -98,6 +98,8 @@ public Q_SLOTS:
|
|||
|
||||
void on_actionClear_triggered();
|
||||
|
||||
void on_actionOpen_triggered();
|
||||
|
||||
void processInput(CGAL::Object);
|
||||
|
||||
void on_actionRecenter_triggered();
|
||||
|
|
@ -105,7 +107,7 @@ public Q_SLOTS:
|
|||
void on_actionGeneratePointsInSquare_triggered();
|
||||
void on_actionGeneratePointsInDisc_triggered();
|
||||
void clear();
|
||||
|
||||
void open(QString fileName);
|
||||
void update_largest_empty_rectangle();
|
||||
|
||||
Q_SIGNALS:
|
||||
|
|
@ -229,6 +231,50 @@ MainWindow::on_actionClear_triggered()
|
|||
Q_EMIT( changed());
|
||||
}
|
||||
|
||||
void
|
||||
MainWindow::on_actionOpen_triggered()
|
||||
{
|
||||
QString fileName = QFileDialog::getOpenFileName(this,
|
||||
tr("Open points file"),
|
||||
"."
|
||||
,tr("xy files (*.xy)")
|
||||
);
|
||||
if(! fileName.isEmpty()){
|
||||
open(fileName);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void
|
||||
MainWindow::open(QString fileName)
|
||||
{
|
||||
// wait cursor
|
||||
QApplication::setOverrideCursor(Qt::WaitCursor);
|
||||
std::ifstream ifs(qPrintable(fileName));
|
||||
|
||||
clear();
|
||||
|
||||
Point_2 p;
|
||||
while(ifs >> p){
|
||||
points.push_back(p);
|
||||
}
|
||||
|
||||
CGAL::Bbox_2 bbox = CGAL::bbox_2(points.begin(), points.end());
|
||||
square = Iso_rectangle_2(bbox);
|
||||
|
||||
ler = Largest_empty_iso_rectangle_2(square);
|
||||
ler.insert(points.begin(), points.end());
|
||||
|
||||
frame[0]->setLine(convert(Segment_2(square.vertex(0),square.vertex(1))));
|
||||
frame[1]->setLine(convert(Segment_2(square.vertex(1), square.vertex(2))));
|
||||
frame[2]->setLine(convert(Segment_2(square.vertex(2), square.vertex(3))));
|
||||
frame[3]->setLine(convert(Segment_2(square.vertex(3), square.vertex(0))));
|
||||
|
||||
QApplication::restoreOverrideCursor();
|
||||
on_actionRecenter_triggered();
|
||||
Q_EMIT( changed());
|
||||
}
|
||||
|
||||
void
|
||||
MainWindow::on_actionRecenter_triggered()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@
|
|||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>500</width>
|
||||
<height>26</height>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
<widget class="QMenu" name="menuFile">
|
||||
|
|
@ -90,6 +90,7 @@
|
|||
<addaction name="separator"/>
|
||||
<addaction name="actionClear"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="actionOpen"/>
|
||||
<addaction name="actionQuit"/>
|
||||
</widget>
|
||||
<widget class="QMenu" name="menuTools">
|
||||
|
|
@ -199,6 +200,11 @@
|
|||
<string>Generate Segment Fans</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionOpen">
|
||||
<property name="text">
|
||||
<string>Open</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="Largest_empty_rectangle_2.qrc"/>
|
||||
|
|
|
|||
|
|
@ -21,9 +21,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
|
||||
#--------------------------------
|
||||
# The "2D Periodic triangulation" demo: Periodic_2_triangulation_2
|
||||
#--------------------------------
|
||||
# UI files (Qt Designer files)
|
||||
qt5_wrap_ui(DT_UI_FILES Periodic_2_triangulation_2.ui)
|
||||
|
||||
|
|
@ -58,7 +55,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
cgal_add_compilation_test(Periodic_2_Delaunay_triangulation_2)
|
||||
else()
|
||||
|
||||
message(
|
||||
STATUS "NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -15,13 +15,10 @@ endif()
|
|||
|
||||
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt5 Core)
|
||||
|
||||
find_package(Eigen3 3.1.0) #(requires 3.1.0 or greater)
|
||||
find_package(Eigen3 3.1.0 QUIET) #(requires 3.1.0 or greater)
|
||||
include(CGAL_Eigen3_support)
|
||||
if(NOT TARGET CGAL::Eigen3_support)
|
||||
message(
|
||||
STATUS
|
||||
"NOTICE: This project requires the Eigen library, and will not be compiled."
|
||||
)
|
||||
message("NOTICE: This demo requires the Eigen library, and will not be compiled.")
|
||||
return()
|
||||
endif()
|
||||
|
||||
|
|
@ -36,9 +33,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
add_definitions(-DCGAL_USE_CORE)
|
||||
endif()
|
||||
|
||||
#--------------------------------
|
||||
# Demo: Polygon_2
|
||||
#--------------------------------
|
||||
# UI files (Qt Designer files)
|
||||
qt5_wrap_ui(DT_UI_FILES Polygon_2.ui)
|
||||
|
||||
|
|
@ -60,10 +54,5 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
|
||||
cgal_add_compilation_test(Polygon_2)
|
||||
else()
|
||||
|
||||
message(
|
||||
STATUS
|
||||
"NOTICE: This demo requires CGAL, CGAL_Core, and Qt5, and will not be compiled."
|
||||
)
|
||||
|
||||
message("NOTICE: This demo requires CGAL, CGAL_Core, and Qt5, and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -29,9 +29,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
include(${CGAL_USE_FILE})
|
||||
add_definitions(-DQT_NO_KEYWORDS)
|
||||
|
||||
#--------------------------------
|
||||
# The "Segment Voronoi" demo: Segment_voronoi_2
|
||||
#--------------------------------
|
||||
# UI files (Qt Designer files)
|
||||
qt5_wrap_ui(CDT_UI_FILES Segment_voronoi_2.ui)
|
||||
|
||||
|
|
@ -50,10 +47,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
|
||||
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
|
||||
cgal_add_compilation_test(Segment_voronoi_2)
|
||||
|
||||
else()
|
||||
|
||||
message(
|
||||
STATUS "NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
|
||||
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -28,9 +28,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
include(${CGAL_USE_FILE})
|
||||
add_definitions(-DQT_NO_KEYWORDS)
|
||||
|
||||
#--------------------------------
|
||||
# The "Segment Voronoi Linf" demo: Segment_voronoi_linf_2
|
||||
#--------------------------------
|
||||
# UI files (Qt Designer files)
|
||||
qt5_wrap_ui(CDT_UI_FILES Segment_voronoi_2.ui)
|
||||
|
||||
|
|
@ -50,8 +47,5 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
|
||||
cgal_add_compilation_test(Segment_voronoi_linf_2)
|
||||
else()
|
||||
|
||||
message(
|
||||
STATUS "NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
|
||||
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -22,7 +22,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
add_definitions(-DQT_NO_KEYWORDS)
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
|
||||
#--------------------------------
|
||||
# UI files (Qt Designer files)
|
||||
qt5_wrap_ui(DT_UI_FILES Snap_rounding_2.ui)
|
||||
|
||||
|
|
@ -44,10 +43,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
|
||||
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
|
||||
cgal_add_compilation_test(Snap_rounding_2)
|
||||
|
||||
else()
|
||||
|
||||
message(
|
||||
STATUS "NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
|
||||
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -23,9 +23,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
|
||||
#--------------------------------
|
||||
# Demo: Spatial_searching_2
|
||||
#--------------------------------
|
||||
# UI files (Qt Designer files)
|
||||
qt5_wrap_ui(DT_UI_FILES Spatial_searching_2.ui)
|
||||
|
||||
|
|
@ -46,8 +43,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
cgal_add_compilation_test(Spatial_searching_2)
|
||||
else()
|
||||
|
||||
message(
|
||||
STATUS "NOTICE: This demo requires CGAL, and Qt5, and will not be compiled."
|
||||
)
|
||||
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
|
||||
#--------------------------------
|
||||
# UI files (Qt Designer files)
|
||||
qt5_wrap_ui(DT_UI_FILES Stream_lines_2.ui)
|
||||
|
||||
|
|
@ -48,7 +47,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
|
||||
else()
|
||||
|
||||
message(
|
||||
STATUS "NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -19,10 +19,8 @@ set(CMAKE_INCLUDE_CURRENT_DIR TRUE)
|
|||
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt5)
|
||||
find_package(Qt5 QUIET COMPONENTS Widgets)
|
||||
|
||||
if(NOT CGAL_Qt5_FOUND
|
||||
OR NOT Qt5_FOUND)
|
||||
message(
|
||||
STATUS "NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
if(NOT CGAL_Qt5_FOUND OR NOT Qt5_FOUND)
|
||||
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
return()
|
||||
endif()
|
||||
|
||||
|
|
|
|||
|
|
@ -7,25 +7,6 @@ project(Hash_map)
|
|||
# CGAL and its components
|
||||
find_package(CGAL REQUIRED)
|
||||
|
||||
# Boost and its components
|
||||
find_package(Boost REQUIRED)
|
||||
|
||||
if(NOT Boost_FOUND)
|
||||
|
||||
message(
|
||||
STATUS "This project requires the Boost library, and will not be compiled.")
|
||||
|
||||
return()
|
||||
|
||||
endif()
|
||||
|
||||
# include for local directory
|
||||
|
||||
# include for local package
|
||||
|
||||
# Creating entries for all .cpp/.C files with "main" routine
|
||||
# ##########################################################
|
||||
|
||||
create_single_source_cgal_program("hm.cpp")
|
||||
create_single_source_cgal_program("foreach.cpp")
|
||||
create_single_source_cgal_program("triangulation.cpp")
|
||||
|
|
|
|||
|
|
@ -7,35 +7,16 @@ project(Heat_method_3_Examples)
|
|||
# CGAL and its components
|
||||
find_package(CGAL REQUIRED)
|
||||
|
||||
# Boost and its components
|
||||
find_package(Boost REQUIRED)
|
||||
|
||||
if(NOT Boost_FOUND)
|
||||
|
||||
message(
|
||||
STATUS "This project requires the Boost library, and will not be compiled.")
|
||||
|
||||
return()
|
||||
|
||||
endif()
|
||||
|
||||
find_package(Eigen3 3.3.0)
|
||||
find_package(Eigen3 3.3.0 QUIET)
|
||||
include(CGAL_Eigen3_support)
|
||||
|
||||
if(NOT TARGET CGAL::Eigen3_support)
|
||||
message(
|
||||
STATUS
|
||||
"This project requires the Eigen library (3.3 or greater), and will not be compiled."
|
||||
)
|
||||
message("NOTICE: These examples require the Eigen library (3.3 or greater), and will not be compiled.")
|
||||
return()
|
||||
endif()
|
||||
|
||||
# include for local directory
|
||||
include_directories(BEFORE include)
|
||||
|
||||
# Creating entries for all C++ files with "main" routine
|
||||
# ##########################################################
|
||||
|
||||
create_single_source_cgal_program("heat_method.cpp")
|
||||
target_link_libraries(heat_method PUBLIC CGAL::Eigen3_support)
|
||||
create_single_source_cgal_program("heat_method_polyhedron.cpp")
|
||||
|
|
@ -43,5 +24,4 @@ target_link_libraries(heat_method_polyhedron PUBLIC CGAL::Eigen3_support)
|
|||
create_single_source_cgal_program("heat_method_surface_mesh.cpp")
|
||||
target_link_libraries(heat_method_surface_mesh PUBLIC CGAL::Eigen3_support)
|
||||
create_single_source_cgal_program("heat_method_surface_mesh_direct.cpp")
|
||||
target_link_libraries(heat_method_surface_mesh_direct
|
||||
PUBLIC CGAL::Eigen3_support)
|
||||
target_link_libraries(heat_method_surface_mesh_direct PUBLIC CGAL::Eigen3_support)
|
||||
|
|
|
|||
|
|
@ -7,42 +7,21 @@ project(Heat_method_3_Tests)
|
|||
# CGAL and its components
|
||||
find_package(CGAL REQUIRED)
|
||||
|
||||
# Boost and its components
|
||||
find_package(Boost REQUIRED)
|
||||
|
||||
if(NOT Boost_FOUND)
|
||||
|
||||
message(
|
||||
STATUS "This project requires the Boost library, and will not be compiled.")
|
||||
|
||||
return()
|
||||
|
||||
endif()
|
||||
|
||||
find_package(Eigen3 3.3.0)
|
||||
find_package(Eigen3 3.3.0 QUIET)
|
||||
include(CGAL_Eigen3_support)
|
||||
|
||||
if(NOT TARGET CGAL::Eigen3_support)
|
||||
message(
|
||||
STATUS
|
||||
"This project requires the Eigen library (3.3 or greater), and will not be compiled."
|
||||
)
|
||||
message("NOTICE: These tests require the Eigen library (3.3 or greater), and will not be compiled.")
|
||||
return()
|
||||
endif()
|
||||
|
||||
# include for local directory
|
||||
include_directories(BEFORE include)
|
||||
|
||||
# Creating entries for all C++ files with "main" routine
|
||||
# ##########################################################
|
||||
|
||||
create_single_source_cgal_program("heat_method_concept.cpp")
|
||||
target_link_libraries(heat_method_concept PUBLIC CGAL::Eigen3_support)
|
||||
create_single_source_cgal_program("heat_method_surface_mesh_test.cpp")
|
||||
target_link_libraries(heat_method_surface_mesh_test PUBLIC CGAL::Eigen3_support)
|
||||
create_single_source_cgal_program("heat_method_surface_mesh_direct_test.cpp")
|
||||
target_link_libraries(heat_method_surface_mesh_direct_test
|
||||
PUBLIC CGAL::Eigen3_support)
|
||||
target_link_libraries(heat_method_surface_mesh_direct_test PUBLIC CGAL::Eigen3_support)
|
||||
create_single_source_cgal_program("heat_method_surface_mesh_intrinsic_test.cpp")
|
||||
target_link_libraries(heat_method_surface_mesh_intrinsic_test
|
||||
PUBLIC CGAL::Eigen3_support)
|
||||
target_link_libraries(heat_method_surface_mesh_intrinsic_test PUBLIC CGAL::Eigen3_support)
|
||||
|
|
|
|||
|
|
@ -6,8 +6,4 @@ project(Hyperbolic_triangulation_2_benchmark)
|
|||
|
||||
find_package(CGAL REQUIRED COMPONENTS Core)
|
||||
|
||||
include(${CGAL_USE_FILE})
|
||||
|
||||
include(CGAL_CreateSingleSourceCGALProgram)
|
||||
|
||||
create_single_source_cgal_program("bench_insertion_with_different_kernels.cpp")
|
||||
|
|
|
|||
|
|
@ -11,13 +11,12 @@ if(POLICY CMP0071)
|
|||
cmake_policy(SET CMP0071 NEW)
|
||||
endif()
|
||||
|
||||
find_package(CGAL REQUIRED QUIET OPTIONAL_COMPONENTS Core Qt5)
|
||||
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Core Qt5)
|
||||
find_package(LEDA QUIET)
|
||||
|
||||
# Find Qt5 itself
|
||||
find_package(Qt5 QUIET COMPONENTS OpenGL Gui)
|
||||
|
||||
|
||||
if(CGAL_Qt5_FOUND
|
||||
AND Qt5_FOUND
|
||||
AND (CGAL_Core_FOUND OR LEDA_FOUND))
|
||||
|
|
@ -40,8 +39,5 @@ if(CGAL_Qt5_FOUND
|
|||
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
|
||||
cgal_add_compilation_test( HDT2 )
|
||||
else()
|
||||
message(
|
||||
STATUS
|
||||
"NOTICE: This demo requires CGAL, CGAL_Core (or LEDA), and Qt5 and will not be compiled."
|
||||
)
|
||||
message("NOTICE: This demo requires CGAL_Core (or LEDA), and Qt5 and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -142,9 +142,11 @@ Iso_rectangle_2 get_bounding_box();
|
|||
/// @{
|
||||
|
||||
/*!
|
||||
Inserts point `p` in the point set, if it is not already in the set.
|
||||
Inserts point `p` in the point set, if it is not already in the set
|
||||
and on the bounded side of the bounding rectangle.
|
||||
\note Points on the boundary can be ignored as they lead to the same result.
|
||||
*/
|
||||
void
|
||||
bool
|
||||
insert(const Point_2& p);
|
||||
|
||||
/*!
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Iso_rectangle_2.h>
|
||||
#include <CGAL/Largest_empty_iso_rectangle_2.h>
|
||||
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
|
||||
typedef double Number_Type;
|
||||
typedef CGAL::Simple_cartesian<Number_Type> K;
|
||||
|
|
|
|||
|
|
@ -762,7 +762,7 @@ bool
|
|||
Largest_empty_iso_rectangle_2<T>::insert(const Point_2& _p)
|
||||
{
|
||||
// check that the point is inside the bounding box
|
||||
if(bbox_p.has_on_unbounded_side(_p)) {
|
||||
if(! bbox_p.has_on_bounded_side(_p)) {
|
||||
return(false);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -14,6 +14,9 @@ Release date: June 2023
|
|||
|
||||
- Added a version that uses indices instead of handles as dart and attribute descriptors. As the indices are integers convertible from and to `std::size_t`, they can be used as index into vectors which store properties. To use the index version, `Use_index` must be defined and be equal to `CGAL::Tag_true` in the item class.
|
||||
|
||||
### [Linear Cell Complex](https://doc.cgal.org/5.6/Manual/packages.html#PkgLinearCellComplex)
|
||||
- Added the class `Linear_cell_complex_incremental_builder_3`.
|
||||
|
||||
### [Polygon Mesh Processing](https://doc.cgal.org/5.6/Manual/packages.html#PkgPolygonMeshProcessing)
|
||||
|
||||
- **Breaking change**: Deprecated the overloads of functions `CGAL::Polygon_mesh_processing::triangulate_hole()`,
|
||||
|
|
@ -26,6 +29,9 @@ Release date: June 2023
|
|||
- Added the function `CGAL::Polygon_mesh_processing::surface_Delaunay_remeshing()`, that remeshes a surface triangle mesh following the
|
||||
CGAL tetrahedral Delaunay refinement algorithm.
|
||||
|
||||
- Added the function `CGAL::Polygon_mesh_processing::surface_Delaunay_remeshing()`, that remeshes a surface triangle mesh using
|
||||
the Delaunay refinement algorithm from the 3D Mesh Generation package.
|
||||
|
||||
- Added the function `CGAL::Polygon_mesh_processing::remove_almost_degenerate_faces()` to remove badly shaped triangles faces in a mesh.
|
||||
|
||||
### [3D Simplicial Mesh Data Structure](https://doc.cgal.org/5.6/Manual/packages.html#PkgSMDS3) (new package)
|
||||
|
|
|
|||
|
|
@ -24,8 +24,7 @@ include(GNUInstallDirs)
|
|||
|
||||
if(CGAL_BRANCH_BUILD)
|
||||
|
||||
message(
|
||||
STATUS "Build CGAL from ${CGAL_SCM_NAME}-branch: ${CGAL_SCM_BRANCH_NAME}")
|
||||
message(STATUS "Build CGAL from ${CGAL_SCM_NAME}-branch: ${CGAL_SCM_BRANCH_NAME}")
|
||||
|
||||
# list packages
|
||||
file(
|
||||
|
|
@ -75,10 +74,8 @@ if(CGAL_BRANCH_BUILD)
|
|||
"${CGAL_SOURCE_DIR}/GraphicsView"
|
||||
CACHE INTERNAL "Directory containing the GraphicsView package")
|
||||
|
||||
message(
|
||||
STATUS "Installation package directory: ${CGAL_INSTALLATION_PACKAGE_DIR}")
|
||||
message(
|
||||
STATUS "Maintenance package directory: ${CGAL_MAINTENANCE_PACKAGE_DIR}")
|
||||
message(STATUS "Installation package directory: ${CGAL_INSTALLATION_PACKAGE_DIR}")
|
||||
message(STATUS "Maintenance package directory: ${CGAL_MAINTENANCE_PACKAGE_DIR}")
|
||||
message(STATUS "Core package directory: ${CGAL_CORE_PACKAGE_DIR}")
|
||||
|
||||
else(CGAL_BRANCH_BUILD)
|
||||
|
|
|
|||
|
|
@ -360,7 +360,7 @@ if( NOT CGAL_MACROS_FILE_INCLUDED )
|
|||
VERSION "${CGAL_MAJOR_VERSION}.${CGAL_MINOR_VERSION}.${CGAL_BUGFIX_VERSION}"
|
||||
COMPATIBILITY SameMajorVersion)
|
||||
|
||||
# There is also a version of CGALConfig.cmake that is prepared in case CGAL in installed in CMAKE_INSTALL_PREFIX.
|
||||
# There is also a version of CGALConfig.cmake that is prepared in case CGAL is installed in CMAKE_INSTALL_PREFIX.
|
||||
configure_file("${CGAL_MODULES_DIR}/CGALConfig_install.cmake.in" "${CMAKE_BINARY_DIR}/config/CGALConfig.cmake" @ONLY)
|
||||
|
||||
#write prefix exceptions
|
||||
|
|
|
|||
|
|
@ -11,6 +11,6 @@ if(libpointmatcher_FOUND AND NOT TARGET CGAL::pointmatcher_support)
|
|||
target_include_directories(CGAL::pointmatcher_support INTERFACE "${libpointmatcher_INCLUDE_DIR}")
|
||||
target_link_libraries(CGAL::pointmatcher_support INTERFACE ${libpointmatcher_LIBRARIES})
|
||||
else()
|
||||
message(STATUS "NOTICE : the libpointmatcher library requires the following boost components: thread filesystem system program_options date_time chrono.")
|
||||
message(STATUS "NOTICE: the libpointmatcher library requires the following boost components: thread filesystem system program_options date_time chrono.")
|
||||
endif()
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -115,6 +115,18 @@ include(${CGAL_MODULES_DIR}/CGAL_enable_end_of_configuration_hook.cmake)
|
|||
|
||||
set(CGAL_USE_FILE ${CGAL_MODULES_DIR}/UseCGAL.cmake)
|
||||
|
||||
include(${CGAL_CONFIG_DIR}/CGALConfigVersion.cmake)
|
||||
|
||||
# Temporary? Change the CMAKE module path
|
||||
cgal_setup_module_path()
|
||||
|
||||
include(${CGAL_MODULES_DIR}/CGAL_target_use_TBB.cmake)
|
||||
|
||||
if( CGAL_DEV_MODE OR RUNNING_CGAL_AUTO_TEST OR CGAL_TEST_SUITE )
|
||||
# Do not use -isystem for CGAL include paths
|
||||
set(CMAKE_NO_SYSTEM_FROM_IMPORTED TRUE)
|
||||
endif()
|
||||
|
||||
foreach(comp ${CGAL_FIND_COMPONENTS})
|
||||
if(NOT comp MATCHES "Core|ImageIO|Qt5")
|
||||
message(FATAL_ERROR "The requested CGAL component ${comp} does not exist!")
|
||||
|
|
@ -184,19 +196,3 @@ if (NOT TARGET CGAL::CGAL_Basic_viewer)
|
|||
INTERFACE_LINK_LIBRARIES CGAL::CGAL_Qt5)
|
||||
endif()
|
||||
|
||||
include(${CGAL_CONFIG_DIR}/CGALConfigVersion.cmake)
|
||||
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
# Temporary? Change the CMAKE module path
|
||||
cgal_setup_module_path()
|
||||
|
||||
set(CGAL_USE_FILE ${CGAL_MODULES_DIR}/UseCGAL.cmake)
|
||||
include(${CGAL_MODULES_DIR}/CGAL_target_use_TBB.cmake)
|
||||
|
||||
if( CGAL_DEV_MODE OR RUNNING_CGAL_AUTO_TEST OR CGAL_TEST_SUITE )
|
||||
# Do not use -isystem for CGAL include paths
|
||||
set(CMAKE_NO_SYSTEM_FROM_IMPORTED TRUE)
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -435,6 +435,22 @@ Segment_2_Segment_2_pair<K>::intersection_type() const
|
|||
: CGAL::make_array( _seg2->point(s2s2_id[c][2]), _seg2->point(s2s2_id[c][3]),
|
||||
_seg1->point(s2s2_id[c][0]), _seg1->point(s2s2_id[c][1]) );
|
||||
|
||||
// special case for vertical and horizontal segments
|
||||
if (std::is_floating_point<typename K::FT>::value &&
|
||||
std::is_same<typename K::Kernel_tag, Cartesian_tag>::value)
|
||||
{
|
||||
if (pts[0].x()==pts[1].x() && pts[2].y()==pts[3].y())
|
||||
{
|
||||
_intersection_point = K().construct_point_2_object()(pts[0].x(), pts[2].y());
|
||||
return _result;
|
||||
}
|
||||
if (pts[0].y()==pts[1].y() && pts[2].x()==pts[3].x())
|
||||
{
|
||||
_intersection_point = K().construct_point_2_object()(pts[2].x(), pts[0].y());
|
||||
return _result;
|
||||
}
|
||||
}
|
||||
|
||||
typename K::FT alpha = s2s2_alpha(pts[0].x(), pts[0].y(), pts[1].x(), pts[1].y(), pts[2].x(), pts[2].y(), pts[3].x(), pts[3].y());
|
||||
|
||||
_intersection_point = K().construct_barycenter_2_object()(pts[0], alpha, pts[1]);
|
||||
|
|
|
|||
|
|
@ -7,33 +7,27 @@ project(Jet_fitting_3_Examples)
|
|||
find_package(CGAL REQUIRED)
|
||||
|
||||
# use Eigen
|
||||
find_package(Eigen3 3.1.0) #(requires 3.1.0 or greater)
|
||||
find_package(Eigen3 3.1.0 QUIET) #(requires 3.1.0 or greater)
|
||||
include(CGAL_Eigen3_support)
|
||||
if(TARGET CGAL::Eigen3_support)
|
||||
|
||||
# Link with Boost.ProgramOptions (optional)
|
||||
find_package(Boost QUIET COMPONENTS program_options)
|
||||
|
||||
if(Boost_PROGRAM_OPTIONS_FOUND)
|
||||
create_single_source_cgal_program("Mesh_estimation.cpp")
|
||||
target_link_libraries(Mesh_estimation PUBLIC CGAL::Eigen3_support)
|
||||
if(TARGET Boost::filesystem)
|
||||
if(TARGET Boost::program_options)
|
||||
target_link_libraries(Mesh_estimation PRIVATE Boost::program_options)
|
||||
else()
|
||||
target_link_libraries(Mesh_estimation PRIVATE ${Boost_PROGRAM_OPTIONS_LIBRARY})
|
||||
endif()
|
||||
else()
|
||||
message(
|
||||
STATUS
|
||||
"NOTICE: This program requires Boost Program Options and will not be compiled."
|
||||
)
|
||||
message(STATUS "NOTICE: The example 'Mesh_estimation' requires Boost Program Options, and will not be compiled.")
|
||||
endif()
|
||||
|
||||
create_single_source_cgal_program("Single_estimation.cpp")
|
||||
target_link_libraries(Single_estimation PUBLIC CGAL::Eigen3_support)
|
||||
|
||||
else()
|
||||
message(
|
||||
STATUS
|
||||
"NOTICE: This program requires Eigen 3.1 (or greater) and will not be compiled."
|
||||
)
|
||||
message("NOTICE: These examples require Eigen 3.1 (or greater), and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -7,14 +7,11 @@ project(Jet_fitting_3_Tests)
|
|||
find_package(CGAL REQUIRED)
|
||||
|
||||
# use Eigen
|
||||
find_package(Eigen3 3.1.0) #(requires 3.1.0 or greater)
|
||||
find_package(Eigen3 3.1.0 QUIET) #(requires 3.1.0 or greater)
|
||||
include(CGAL_Eigen3_support)
|
||||
if(TARGET CGAL::Eigen3_support)
|
||||
create_single_source_cgal_program("blind_1pt.cpp")
|
||||
target_link_libraries(blind_1pt PUBLIC CGAL::Eigen3_support)
|
||||
else()
|
||||
message(
|
||||
STATUS
|
||||
"NOTICE: This program requires Eigen 3.1 (or greater) and will not be compiled."
|
||||
)
|
||||
message("NOTICE: This project requires Eigen 3.1 (or greater), and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -2,11 +2,8 @@
|
|||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.1...3.23)
|
||||
project( benchmark )
|
||||
project(Kernel_23_benchmark)
|
||||
|
||||
find_package(CGAL REQUIRED QUIET OPTIONAL_COMPONENTS Core )
|
||||
|
||||
include_directories (BEFORE "../include")
|
||||
find_package(CGAL QUIET OPTIONAL_COMPONENTS Core)
|
||||
|
||||
create_single_source_cgal_program( "cmp_epeck_points.cpp" )
|
||||
|
||||
|
|
|
|||
|
|
@ -8,13 +8,6 @@ endif()
|
|||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
||||
find_package(Boost 1.43.0)
|
||||
if(Boost_FOUND)
|
||||
include_directories(${Boost_INCLUDE_DIRS})
|
||||
else()
|
||||
set(USE_IN_SOURCE_TREE_BOOST true)
|
||||
endif()
|
||||
|
||||
add_subdirectory(openvolumemesh)
|
||||
|
||||
include_directories(BEFORE openvolumemesh/src)
|
||||
|
|
|
|||
|
|
@ -48,8 +48,7 @@ if(NOT
|
|||
(CGAL_Qt5_FOUND
|
||||
AND Qt5_FOUND))
|
||||
|
||||
message(STATUS "NOTICE: This demo requires CGAL, "
|
||||
"and Qt5, and will not be compiled.")
|
||||
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.")
|
||||
|
||||
else()
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,99 @@
|
|||
|
||||
namespace CGAL {
|
||||
|
||||
/*!
|
||||
\ingroup PkgLinearCellComplexClasses
|
||||
|
||||
The auxiliary class `Linear_cell_complex_incremental_builder_3` supports the incremental
|
||||
construction of linear cell complexes.
|
||||
|
||||
\tparam LCC must be a model of the concept `LinearCellComplex`
|
||||
*/
|
||||
|
||||
template < class LCC >
|
||||
class Linear_cell_complex_incremental_builder_3
|
||||
{
|
||||
public:
|
||||
typedef LCC_ LCC;
|
||||
typedef typename LCC::Dart_descriptor DH;
|
||||
typedef typename LCC::Vertex_attribute_descriptor VAH;
|
||||
typedef typename LCC::Point Point_3;
|
||||
typedef typename LCC::size_type size_type;
|
||||
|
||||
/// \name Creation
|
||||
/// @{
|
||||
|
||||
/*!
|
||||
* Constructor
|
||||
*/
|
||||
Linear_cell_complex_incremental_builder_3(LCC & alcc);
|
||||
|
||||
/// @}
|
||||
|
||||
/*!
|
||||
\name Surface Creation
|
||||
|
||||
To build a linear cell complex, the following regular expression gives
|
||||
the correct and allowed order and nesting of method calls from this
|
||||
section:
|
||||
|
||||
\code
|
||||
begin_surface ( add_vertex | ( begin_facet add_vertex_to_facet end_facet ) ) end_surface
|
||||
\endcode
|
||||
|
||||
When an edge is added in a facet, if the same edge exists in another facet of the same surface, then the two facets are glued along this edge.
|
||||
|
||||
When a facet is added, if the same facet exists in another surface, the two surfaces are glued along this facet.
|
||||
*/
|
||||
/// @{
|
||||
|
||||
|
||||
/*!
|
||||
* starts a new surface.
|
||||
*/
|
||||
void begin_surface();
|
||||
|
||||
|
||||
/*!
|
||||
* adds a new vertex for `p` and returns its handle.
|
||||
*/
|
||||
VAH add_vertex(const Point_3& p);
|
||||
|
||||
/*!
|
||||
* starts a new facet.
|
||||
*/
|
||||
void begin_facet();
|
||||
|
||||
/*!
|
||||
* adds vertex `i` at the end of the current facet.
|
||||
*/
|
||||
void add_vertex_to_facet(size_type i);
|
||||
|
||||
/*!
|
||||
* ends the construction of the facet and returns the first dart of this facet.
|
||||
*/
|
||||
DH end_facet();
|
||||
|
||||
|
||||
/*!
|
||||
* ends the construction of the surface and returns one dart of the created surface.
|
||||
*/
|
||||
DH end_surface();
|
||||
|
||||
/// @}
|
||||
|
||||
/// \name Additional Operations
|
||||
/// @{
|
||||
|
||||
/*!
|
||||
* is a synonym for `begin_facet()`, a call to `add_vertex_to_facet()` for each
|
||||
* value in the range `[first,beyond)`, and a call to `end_facet()`.
|
||||
*/
|
||||
DH add_facet(std::initializer_list<size_type> l);
|
||||
|
||||
|
||||
/// @}
|
||||
|
||||
};
|
||||
|
||||
} // namespace CGAL
|
||||
|
|
@ -141,6 +141,14 @@ Some examples of use of these operations are given in Section \ref ssec5dexample
|
|||
If \link GenericMap::set_automatic_attributes_management `set_automatic_attributes_management(false)`\endlink is called, all the future insertion or removal operations will not update non void attributes. These attributes will be updated latter by the call to \link GenericMap::set_automatic_attributes_management `set_automatic_attributes_management(true)`\endlink. This can be useful to speed up an algorithm which uses several successive insertion and removal operations. See example \ref ssecAttributesManagement "Automatic attributes management".
|
||||
\cgalAdvancedEnd
|
||||
|
||||
|
||||
\subsection Linear_cell_complexIncrementalBuilder Incremental Builder
|
||||
|
||||
A utility class `Linear_cell_complex_incremental_builder_3` helps in creating 2D and 3D linear cell complexes
|
||||
from a list of points followed by a list of facets that are represented as indices into the point list.
|
||||
Note that, compared to `Polyhedron_incremental_builder_3` it has only absolute indexing and no rollback
|
||||
mechanism.
|
||||
|
||||
\section Linear_cell_complexExamples Examples
|
||||
|
||||
\subsection Linear_cell_complexA3DLinearCellComplex A 3D Linear Cell Complex
|
||||
|
|
@ -264,10 +272,16 @@ Linking with the cmake target `CGAL::CGAL_Basic_viewer` will link with `CGAL_Qt5
|
|||
Result of the run of the draw_linear_cell_complex program. A window shows two 3D cubes and allows to navigate through the 3D scene.
|
||||
\cgalFigureEnd
|
||||
|
||||
\subsection Linear_cell_complexIncrementalBuilderExample Incremental Builder
|
||||
|
||||
The following example shows the incremental builder.
|
||||
|
||||
\cgalExample{Linear_cell_complex/linear_cell_complex_3_incremental_builder.cpp}
|
||||
|
||||
|
||||
\section Linear_cell_complexDesign Design and Implementation History
|
||||
|
||||
This package was developed by Guillaume Damiand, with the help of Andreas Fabri, Sébastien Loriot and Laurent Rineau. Monique Teillaud and Bernd Gärtner contributed to the manual.
|
||||
|
||||
*/
|
||||
} /* namespace CGAL */
|
||||
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@
|
|||
- `CGAL::Linear_cell_complex_traits<d,K>`
|
||||
- `CGAL::Cell_attribute_with_point<LCC,Info_,Tag,OnMerge,OnSplit>`
|
||||
- `CGAL::Cell_attribute_with_point_and_id<LCC,Info_,Tag,OnMerge,OnSplit>`
|
||||
- `CGAL::Linear_cell_complex<d,d2,LCCTraits,Items,Alloc>`
|
||||
- `CGAL::Linear_cell_complex_incremental_builder_3<LCC>`
|
||||
|
||||
\cgalCRPSection{Global Functions}
|
||||
\cgalCRPSubsection{Constructions for Linear Cell Complex}
|
||||
|
|
@ -78,4 +78,3 @@
|
|||
- \link PkgDrawLinearCellComplex CGAL::draw<LCC>() \endlink
|
||||
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -3,5 +3,6 @@
|
|||
\example Linear_cell_complex/linear_cell_complex_3.cpp
|
||||
\example Linear_cell_complex/linear_cell_complex_4.cpp
|
||||
\example Linear_cell_complex/linear_cell_complex_3_attributes_management.cpp
|
||||
\example Linear_cell_complex/linear_cell_complex_3_incremental_builder.cpp
|
||||
\example Linear_cell_complex/draw_linear_cell_complex.cpp
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ create_single_source_cgal_program("linear_cell_complex_3_operations.cpp")
|
|||
create_single_source_cgal_program(
|
||||
"linear_cell_complex_3_with_colored_vertices.cpp")
|
||||
create_single_source_cgal_program("linear_cell_complex_3_with_mypoint.cpp")
|
||||
create_single_source_cgal_program("linear_cell_complex_3_incremental_builder.cpp")
|
||||
create_single_source_cgal_program("linear_cell_complex_4.cpp")
|
||||
create_single_source_cgal_program("plane_graph_to_lcc_2.cpp")
|
||||
create_single_source_cgal_program("voronoi_2.cpp")
|
||||
|
|
@ -29,4 +30,5 @@ create_single_source_cgal_program("voronoi_3.cpp")
|
|||
create_single_source_cgal_program("draw_linear_cell_complex.cpp")
|
||||
if(CGAL_Qt5_FOUND)
|
||||
target_link_libraries(draw_linear_cell_complex PUBLIC CGAL::CGAL_Basic_viewer)
|
||||
target_link_libraries(linear_cell_complex_3_incremental_builder PUBLIC CGAL::CGAL_Basic_viewer)
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -0,0 +1,71 @@
|
|||
#include <CGAL/Linear_cell_complex_for_combinatorial_map.h>
|
||||
#include <CGAL/Linear_cell_complex_incremental_builder_3.h>
|
||||
#include <CGAL/draw_linear_cell_complex.h>
|
||||
|
||||
typedef CGAL::Linear_cell_complex_for_combinatorial_map<3, 3> LCC_3;
|
||||
using Point=LCC_3::Point;
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
LCC_3 lcc;
|
||||
CGAL::Linear_cell_complex_incremental_builder_3<LCC_3> ib(lcc);
|
||||
|
||||
ib.add_vertex(Point(0,0,0)); // vertex 0
|
||||
ib.add_vertex(Point(1,0,0)); // vertex 1
|
||||
ib.add_vertex(Point(1,1,0)); // vertex 2
|
||||
ib.add_vertex(Point(0,1,0)); // vertex 3
|
||||
|
||||
ib.add_vertex(Point(0,1,1)); // vertex 4
|
||||
ib.add_vertex(Point(0,0,1)); // vertex 5
|
||||
ib.add_vertex(Point(1,0,1)); // vertex 6
|
||||
ib.add_vertex(Point(1,1,1)); // vertex 7
|
||||
|
||||
// Create a cube
|
||||
ib.begin_surface();
|
||||
ib.add_facet({0,1,2,3}); // Create a new facet version 1: given all of its indices
|
||||
ib.add_facet({1,0,5,6});
|
||||
ib.add_facet({2,1,6,7});
|
||||
ib.add_facet({3,2,7,4});
|
||||
ib.add_facet({5,4,7,6});
|
||||
|
||||
ib.begin_facet(); // Create a new facet version 2: begin facet
|
||||
ib.add_vertex_to_facet(0); // add sucessively its indices
|
||||
ib.add_vertex_to_facet(3);
|
||||
ib.add_vertex_to_facet(4);
|
||||
ib.add_vertex_to_facet(5);
|
||||
ib.end_facet();
|
||||
|
||||
ib.end_surface();
|
||||
|
||||
ib.add_vertex(Point(-1, 0.5, 0.5)); // vertex 8
|
||||
|
||||
// Create a pyramid, sharing one of its facets with a facet of the cube
|
||||
ib.begin_surface();
|
||||
ib.add_facet({3,0,5,4});
|
||||
ib.add_facet({0,3,8});
|
||||
ib.add_facet({3,4,8});
|
||||
ib.add_facet({4,5,8});
|
||||
ib.add_facet({5,0,8});
|
||||
ib.end_surface();
|
||||
|
||||
|
||||
LCC_3::One_dart_per_cell_range<3,3> cells = lcc.one_dart_per_cell<3>();
|
||||
for (auto c = cells.begin(); c != cells.end(); ++c) {
|
||||
std::cout << "a cell"<< std::endl;
|
||||
LCC_3::One_dart_per_incident_cell_range<2,3> faces = lcc.one_dart_per_incident_cell<2,3>(c);
|
||||
for (auto f = faces.begin(); f != faces.end(); ++f) {
|
||||
std::cout << " a face"<< std::endl;
|
||||
LCC_3::One_dart_per_incident_cell_range<0,2> vertices = lcc.one_dart_per_incident_cell<0,2>(f);
|
||||
for(auto v = vertices.begin(); v!= vertices.end(); ++v){
|
||||
std::cout << " " << lcc.point(v) << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Draw the lcc and display its characteristics
|
||||
lcc.display_characteristics(std::cout)<<std::endl;
|
||||
CGAL::draw(lcc);
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
|
@ -13,7 +13,7 @@
|
|||
#define CGAL_LINEAR_CELL_COMPLEX_CONSTRUCTORS_H 1
|
||||
|
||||
#include <CGAL/IO/OFF.h>
|
||||
#include <CGAL/Linear_cell_complex_incremental_builder.h>
|
||||
#include <CGAL/Linear_cell_complex_incremental_builder_3.h>
|
||||
#include <CGAL/Unique_hash_map.h>
|
||||
#include <CGAL/assertions.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@
|
|||
//
|
||||
// Author(s) : Guillaume Damiand <guillaume.damiand@liris.cnrs.fr>
|
||||
//
|
||||
#ifndef CGAL_LINEAR_CELL_COMPLEX_INCREMENTAL_BUILDER_H
|
||||
#define CGAL_LINEAR_CELL_COMPLEX_INCREMENTAL_BUILDER_H 1
|
||||
#ifndef CGAL_LINEAR_CELL_COMPLEX_INCREMENTAL_BUILDER_3_H
|
||||
#define CGAL_LINEAR_CELL_COMPLEX_INCREMENTAL_BUILDER_3_H 1
|
||||
|
||||
#include <vector>
|
||||
#include <cstddef>
|
||||
|
|
@ -127,7 +127,7 @@ struct Find_opposite_2_with_control<LCC, CGAL::Combinatorial_map_tag>
|
|||
{
|
||||
if (!lcc.template is_free<2>(res))
|
||||
{ // Here a dart vah1->vah2 already exists, and it was already 2-sewn.
|
||||
std::cerr<<"ERROR in My_linear_cell_complex_incremental_builder_3: try to use a same oriented edge twice."<<std::endl;
|
||||
std::cerr<<"ERROR in Linear_cell_complex_incremental_builder_3: try to use a same oriented edge twice."<<std::endl;
|
||||
return lcc.null_descriptor;
|
||||
}
|
||||
}
|
||||
|
|
@ -135,7 +135,7 @@ struct Find_opposite_2_with_control<LCC, CGAL::Combinatorial_map_tag>
|
|||
vertex_to_dart_map_in_surface,
|
||||
vah2, vah1)!=lcc.null_descriptor)
|
||||
{ // Here a dart vah1->vah2 already exists (but it was not already 2-sewn).
|
||||
std::cerr<<"ERROR in My_linear_cell_complex_incremental_builder_3: try to use a same oriented edge twice."<<std::endl;
|
||||
std::cerr<<"ERROR in Linear_cell_complex_incremental_builder_3: try to use a same oriented edge twice."<<std::endl;
|
||||
return lcc.null_descriptor;
|
||||
}
|
||||
|
||||
|
|
@ -159,7 +159,7 @@ struct Find_opposite_2_with_control<LCC, CGAL::Generalized_map_tag>
|
|||
{
|
||||
if (!lcc.template is_free<2>(res))
|
||||
{ // Here a dart vah1->vah2 already exists, and it was already 2-sewn.
|
||||
std::cerr<<"ERROR in My_linear_cell_complex_incremental_builder_3: try to use a same oriented edge twice."<<std::endl;
|
||||
std::cerr<<"ERROR in Linear_cell_complex_incremental_builder_3: try to use a same oriented edge twice."<<std::endl;
|
||||
return lcc.null_descriptor;
|
||||
}
|
||||
}
|
||||
|
|
@ -209,7 +209,7 @@ struct Add_edge_in_associative_array<LCC, CGAL::Generalized_map_tag>
|
|||
};
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
template<class LCC_, unsigned int dim=LCC_::dimension>
|
||||
struct Sew3_for_LCC_incremental_builder
|
||||
struct Sew3_for_LCC_incremental_builder_3
|
||||
{
|
||||
static void run(LCC_& lcc,
|
||||
typename LCC_::Dart_descriptor dh1, typename LCC_::Dart_descriptor dh2)
|
||||
|
|
@ -218,8 +218,8 @@ struct Sew3_for_LCC_incremental_builder
|
|||
{
|
||||
if(!lcc.template is_free<3>(dh1))
|
||||
{
|
||||
std::cerr<<"ERROR in My_linear_cell_complex_incremental_builder_3: "
|
||||
<<"it exists more than 2 faces with same indices."<<std::endl;
|
||||
std::cerr<<"ERROR in Linear_cell_complex_incremental_builder_3: "
|
||||
<<"it exist more than 2 faces with same indices."<<std::endl;
|
||||
}
|
||||
else
|
||||
{ lcc.template sew<3>(lcc.other_orientation(dh1), dh2); }
|
||||
|
|
@ -227,7 +227,7 @@ struct Sew3_for_LCC_incremental_builder
|
|||
}
|
||||
};
|
||||
template<class LCC_>
|
||||
struct Sew3_for_LCC_incremental_builder<LCC_, 2>
|
||||
struct Sew3_for_LCC_incremental_builder_3<LCC_, 2>
|
||||
{
|
||||
static void run(LCC_&, typename LCC_::Dart_descriptor, typename LCC_::Dart_descriptor)
|
||||
{}
|
||||
|
|
@ -319,7 +319,7 @@ public:
|
|||
if(LCC::dimension>2)
|
||||
{
|
||||
opposite=opposite_face();
|
||||
Sew3_for_LCC_incremental_builder<LCC>::run(lcc, opposite, min_dart);
|
||||
Sew3_for_LCC_incremental_builder_3<LCC>::run(lcc, opposite, min_dart);
|
||||
add_face_in_array();
|
||||
}
|
||||
return first_dart;
|
||||
|
|
@ -404,5 +404,5 @@ private:
|
|||
|
||||
} //namespace CGAL
|
||||
|
||||
#endif // CGAL_LINEAR_CELL_COMPLEX_INCREMENTAL_BUILDER_H //
|
||||
#endif // CGAL_LINEAR_CELL_COMPLEX_INCREMENTAL_BUILDER_3_H //
|
||||
// EOF //
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
#include <CGAL/Linear_cell_complex_for_combinatorial_map.h>
|
||||
#include <CGAL/Linear_cell_complex_for_generalized_map.h>
|
||||
#include <CGAL/Linear_cell_complex_incremental_builder.h>
|
||||
#include <CGAL/Linear_cell_complex_incremental_builder_3.h>
|
||||
#include <CGAL/Combinatorial_map_save_load.h>
|
||||
|
||||
#include "Linear_cell_complex_3_test.h"
|
||||
|
|
|
|||
|
|
@ -21,11 +21,11 @@ LC_CTYPE=en_US.UTF-8
|
|||
# "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 --do-it --public || 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 --do-it || echo ERROR
|
||||
0 21 * * Mon,Tue,Wed 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.5
|
||||
0 21 * * Fri cd $HOME/CGAL/create_internal_release-5.5-branch && /usr/bin/time scl enable rh-git29 -- $HOME/bin/create_release $HOME/CGAL/branches/CGAL-5.5-branch.git --public --do-it || echo ERROR
|
||||
# from branch 5.4
|
||||
0 21 * * Sat cd $HOME/CGAL/create_internal_release-5.4-branch && /usr/bin/time scl enable rh-git29 -- $HOME/bin/create_release $HOME/CGAL/branches/CGAL-5.4-branch.git --public --do-it || echo ERROR
|
||||
0 21 * * Sat,Thu cd $HOME/CGAL/create_internal_release-5.4-branch && /usr/bin/time scl enable rh-git29 -- $HOME/bin/create_release $HOME/CGAL/branches/CGAL-5.4-branch.git --public --do-it || echo ERROR
|
||||
|
||||
|
||||
## Older stuff
|
||||
|
|
|
|||
|
|
@ -66,31 +66,20 @@ else()
|
|||
endif(LINK_WITH_TBB)
|
||||
endif()
|
||||
|
||||
# Compilable benchmark
|
||||
set(BENCHMARK_SOURCE_FILES "concurrency.cpp")
|
||||
add_msvc_precompiled_header("StdAfx.h" "StdAfx.cpp" BENCHMARK_SOURCE_FILES)
|
||||
create_single_source_cgal_program(${BENCHMARK_SOURCE_FILES})
|
||||
if(TARGET CGAL::TBB_support)
|
||||
target_link_libraries(concurrency PUBLIC CGAL::TBB_support)
|
||||
endif()
|
||||
|
||||
# Link with Boost.ProgramOptions (optional)
|
||||
find_package(Boost QUIET COMPONENTS program_options)
|
||||
if(Boost_PROGRAM_OPTIONS_FOUND)
|
||||
if(CGAL_AUTO_LINK_ENABLED)
|
||||
message(STATUS "Boost.ProgramOptions library: found")
|
||||
if(TARGET Boost::program_options)
|
||||
target_link_libraries(concurrency PRIVATE Boost::program_options)
|
||||
else()
|
||||
message(
|
||||
STATUS "Boost.ProgramOptions library: ${Boost_PROGRAM_OPTIONS_LIBRARY}")
|
||||
target_link_libraries(concurrency PRIVATE ${Boost_PROGRAM_OPTIONS_LIBRARY})
|
||||
endif()
|
||||
add_definitions("-DCGAL_USE_BOOST_PROGRAM_OPTIONS")
|
||||
list(APPEND CGAL_3RD_PARTY_LIBRARIES ${Boost_LIBRARIES})
|
||||
endif()
|
||||
|
||||
if(Boost_FOUND )
|
||||
# Compilable benchmark
|
||||
set(BENCHMARK_SOURCE_FILES "concurrency.cpp")
|
||||
add_msvc_precompiled_header("StdAfx.h" "StdAfx.cpp" BENCHMARK_SOURCE_FILES)
|
||||
create_single_source_cgal_program(${BENCHMARK_SOURCE_FILES})
|
||||
if(TARGET CGAL::TBB_support)
|
||||
target_link_libraries(concurrency PUBLIC CGAL::TBB_support)
|
||||
endif()
|
||||
|
||||
else()
|
||||
message(
|
||||
STATUS
|
||||
"NOTICE: This program requires Boost >= 1.34.1, and will not be compiled."
|
||||
)
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ if(CGAL_MESH_3_VERBOSE)
|
|||
endif()
|
||||
|
||||
find_package(CGAL REQUIRED COMPONENTS ImageIO)
|
||||
find_package(Boost)
|
||||
|
||||
option(CGAL_ACTIVATE_CONCURRENT_MESH_3 "Activate parallelism in Mesh_3" OFF)
|
||||
|
||||
|
|
@ -23,9 +22,9 @@ endif()
|
|||
find_package(Eigen3 3.1.0 QUIET) #(3.1.0 or greater)
|
||||
include(CGAL_Eigen3_support)
|
||||
if(NOT TARGET CGAL::Eigen3_support)
|
||||
message( STATUS "NOTICE: All examples need the Eigen3 library, and will not be compiled." )
|
||||
message("NOTICE: All examples require the Eigen3 library, and will not be compiled.")
|
||||
return()
|
||||
endif() #CGAL::Eigen_3_support
|
||||
endif()
|
||||
|
||||
find_package(VTK QUIET COMPONENTS vtkImagingGeneral vtkIOImage NO_MODULE)
|
||||
if(VTK_FOUND)
|
||||
|
|
@ -51,12 +50,10 @@ create_single_source_cgal_program("mesh_implicit_sphere.cpp")
|
|||
target_link_libraries(mesh_implicit_sphere PUBLIC CGAL::Eigen3_support)
|
||||
|
||||
create_single_source_cgal_program("mesh_implicit_sphere_variable_size.cpp")
|
||||
target_link_libraries(mesh_implicit_sphere_variable_size
|
||||
PUBLIC CGAL::Eigen3_support)
|
||||
target_link_libraries(mesh_implicit_sphere_variable_size PUBLIC CGAL::Eigen3_support)
|
||||
|
||||
create_single_source_cgal_program("mesh_two_implicit_spheres_with_balls.cpp")
|
||||
target_link_libraries(mesh_two_implicit_spheres_with_balls
|
||||
PUBLIC CGAL::Eigen3_support)
|
||||
target_link_libraries(mesh_two_implicit_spheres_with_balls PUBLIC CGAL::Eigen3_support)
|
||||
|
||||
create_single_source_cgal_program("mesh_implicit_domains_2.cpp"
|
||||
"implicit_functions.cpp")
|
||||
|
|
@ -66,8 +63,7 @@ create_single_source_cgal_program("mesh_cubes_intersection.cpp")
|
|||
target_link_libraries(mesh_cubes_intersection PUBLIC CGAL::Eigen3_support)
|
||||
|
||||
create_single_source_cgal_program("mesh_cubes_intersection_with_features.cpp")
|
||||
target_link_libraries(mesh_cubes_intersection_with_features
|
||||
PUBLIC CGAL::Eigen3_support)
|
||||
target_link_libraries(mesh_cubes_intersection_with_features PUBLIC CGAL::Eigen3_support)
|
||||
|
||||
create_single_source_cgal_program("mesh_implicit_domains.cpp"
|
||||
"implicit_functions.cpp")
|
||||
|
|
@ -169,21 +165,15 @@ if(TARGET CGAL::CGAL_ImageIO)
|
|||
target_link_libraries(mesh_3D_weighted_image
|
||||
PUBLIC CGAL::Eigen3_support CGAL::ITK_support)
|
||||
else(ITK_FOUND)
|
||||
message(STATUS "NOTICE: The examples that need ITK will not be compiled.")
|
||||
message(STATUS "NOTICE: The examples that need ITK will not be compiled.")
|
||||
endif(ITK_FOUND)
|
||||
|
||||
else()
|
||||
message(
|
||||
STATUS
|
||||
"NOTICE: The examples mesh_3D_image.cpp, mesh_3D_weighted_image.cpp, mesh_3D_image_variable_size.cpp, mesh_optimization_example.cpp and mesh_optimization_lloyd_example.cpp need CGAL_ImageIO to be configured with ZLIB support, and will not be compiled."
|
||||
)
|
||||
message(STATUS "NOTICE: The examples mesh_3D_image.cpp, mesh_3D_weighted_image.cpp, mesh_3D_image_variable_size.cpp, mesh_optimization_example.cpp and mesh_optimization_lloyd_example.cpp need CGAL_ImageIO to be configured with ZLIB support, and will not be compiled.")
|
||||
endif()
|
||||
|
||||
else()
|
||||
message(
|
||||
STATUS
|
||||
"NOTICE: Some examples need the CGAL_ImageIO library, and will not be compiled."
|
||||
)
|
||||
message(STATUS "NOTICE: Some examples need the CGAL_ImageIO library, and will not be compiled.")
|
||||
endif()
|
||||
|
||||
if(CGAL_ACTIVATE_CONCURRENT_MESH_3 AND TARGET CGAL::TBB_support)
|
||||
|
|
|
|||
|
|
@ -1,151 +1,146 @@
|
|||
# Created by the script cgal_create_cmake_script
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
|
||||
cmake_minimum_required(VERSION 3.1...3.23)
|
||||
project( Mesh_3_Tests )
|
||||
|
||||
find_package(CGAL QUIET COMPONENTS ImageIO)
|
||||
find_package(CGAL REQUIRED COMPONENTS ImageIO)
|
||||
|
||||
if ( CGAL_FOUND )
|
||||
# Use Eigen
|
||||
find_package(Eigen3 3.1.0 QUIET) #(3.1.0 or greater)
|
||||
include(CGAL_Eigen3_support)
|
||||
if (NOT TARGET CGAL::Eigen3_support)
|
||||
message("NOTICE: This project requires the Eigen library, and will not be compiled.")
|
||||
return()
|
||||
endif()
|
||||
|
||||
find_package( TBB QUIET )
|
||||
include(CGAL_TBB_support)
|
||||
find_package(TBB QUIET)
|
||||
include(CGAL_TBB_support)
|
||||
|
||||
find_package( ITT QUIET )
|
||||
find_package(ITT QUIET)
|
||||
|
||||
# Use Eigen
|
||||
find_package(Eigen3 3.1.0 REQUIRED) #(3.1.0 or greater)
|
||||
include(CGAL_Eigen3_support)
|
||||
if (NOT TARGET CGAL::Eigen3_support)
|
||||
message(STATUS "This project requires the Eigen library, and will not be compiled.")
|
||||
return()
|
||||
create_single_source_cgal_program( "test_boost_has_xxx.cpp" )
|
||||
create_single_source_cgal_program( "test_mesh_capsule_var_distance_bound.cpp" )
|
||||
create_single_source_cgal_program( "test_implicit_multi_domain_to_labeling_function_wrapper.cpp" )
|
||||
create_single_source_cgal_program( "test_criteria.cpp" )
|
||||
create_single_source_cgal_program( "test_domain_with_polyline_features.cpp" )
|
||||
create_single_source_cgal_program( "test_labeled_mesh_domain_3.cpp" )
|
||||
create_single_source_cgal_program( "test_mesh_criteria_creation.cpp" )
|
||||
create_single_source_cgal_program( "test_without_detect_features.cpp" )
|
||||
|
||||
if(CGAL_ImageIO_USE_ZLIB)
|
||||
create_single_source_cgal_program( "test_meshing_3D_image.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_3D_image_deprecated.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_3D_gray_image.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_3D_gray_image_deprecated.cpp" )
|
||||
else()
|
||||
message(STATUS "NOTICE: The test 'test_meshing_3D_image' requires the ZLIB library, and will not be compiled.")
|
||||
endif()
|
||||
|
||||
create_single_source_cgal_program( "test_meshing_implicit_function.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_implicit_function_deprecated.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_polyhedral_complex.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_polyhedron.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_polylines_only.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_polyhedron_with_features.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_verbose.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_unit_tetrahedron.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_with_default_edge_size.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_determinism.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_without_features_determinism.cpp" )
|
||||
create_single_source_cgal_program( "test_mesh_3_issue_1554.cpp" )
|
||||
create_single_source_cgal_program( "test_mesh_polyhedral_domain_with_features_deprecated.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_with_one_step.cpp" )
|
||||
create_single_source_cgal_program( "test_mesh_cell_base_3.cpp")
|
||||
|
||||
foreach(target
|
||||
test_boost_has_xxx
|
||||
test_mesh_capsule_var_distance_bound
|
||||
test_implicit_multi_domain_to_labeling_function_wrapper
|
||||
test_criteria
|
||||
test_domain_with_polyline_features
|
||||
test_labeled_mesh_domain_3
|
||||
test_mesh_criteria_creation
|
||||
test_without_detect_features
|
||||
test_meshing_3D_image
|
||||
test_meshing_3D_image_deprecated
|
||||
test_meshing_3D_gray_image
|
||||
test_meshing_3D_gray_image_deprecated
|
||||
test_meshing_implicit_function
|
||||
test_meshing_implicit_function_deprecated
|
||||
test_meshing_polyhedral_complex
|
||||
test_meshing_polyhedron
|
||||
test_meshing_polylines_only
|
||||
test_meshing_polyhedron_with_features
|
||||
test_meshing_verbose
|
||||
test_meshing_unit_tetrahedron
|
||||
test_meshing_with_default_edge_size
|
||||
test_meshing_determinism
|
||||
test_meshing_without_features_determinism
|
||||
test_mesh_3_issue_1554
|
||||
test_mesh_polyhedral_domain_with_features_deprecated
|
||||
test_mesh_cell_base_3
|
||||
test_meshing_with_one_step.cpp)
|
||||
if(TARGET ${target})
|
||||
target_link_libraries(${target} PUBLIC CGAL::Eigen3_support)
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
create_single_source_cgal_program( "test_boost_has_xxx.cpp" )
|
||||
create_single_source_cgal_program( "test_mesh_capsule_var_distance_bound.cpp" )
|
||||
create_single_source_cgal_program( "test_implicit_multi_domain_to_labeling_function_wrapper.cpp" )
|
||||
create_single_source_cgal_program( "test_criteria.cpp" )
|
||||
create_single_source_cgal_program( "test_domain_with_polyline_features.cpp" )
|
||||
create_single_source_cgal_program( "test_labeled_mesh_domain_3.cpp" )
|
||||
create_single_source_cgal_program( "test_mesh_criteria_creation.cpp" )
|
||||
create_single_source_cgal_program( "test_without_detect_features.cpp" )
|
||||
if(CGAL_ImageIO_USE_ZLIB)
|
||||
create_single_source_cgal_program( "test_meshing_3D_image.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_3D_image_deprecated.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_3D_gray_image.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_3D_gray_image_deprecated.cpp" )
|
||||
else()
|
||||
message(STATUS "test_meshing_3D_image requires the ZLIB library, and will not be compiled.")
|
||||
endif()
|
||||
create_single_source_cgal_program( "test_meshing_implicit_function.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_implicit_function_deprecated.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_polyhedral_complex.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_polyhedron.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_polylines_only.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_polyhedron_with_features.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_verbose.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_unit_tetrahedron.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_with_default_edge_size.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_determinism.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_without_features_determinism.cpp" )
|
||||
create_single_source_cgal_program( "test_mesh_3_issue_1554.cpp" )
|
||||
create_single_source_cgal_program( "test_mesh_polyhedral_domain_with_features_deprecated.cpp" )
|
||||
create_single_source_cgal_program( "test_meshing_with_one_step.cpp" )
|
||||
create_single_source_cgal_program( "test_mesh_cell_base_3.cpp")
|
||||
|
||||
if(TARGET CGAL::TBB_support)
|
||||
foreach(target
|
||||
test_boost_has_xxx
|
||||
test_mesh_capsule_var_distance_bound
|
||||
test_implicit_multi_domain_to_labeling_function_wrapper
|
||||
test_criteria
|
||||
test_domain_with_polyline_features
|
||||
test_labeled_mesh_domain_3
|
||||
test_mesh_criteria_creation
|
||||
test_without_detect_features
|
||||
test_meshing_3D_image
|
||||
test_meshing_3D_image_deprecated
|
||||
test_meshing_3D_gray_image
|
||||
test_meshing_3D_gray_image_deprecated
|
||||
test_meshing_implicit_function
|
||||
test_meshing_implicit_function_deprecated
|
||||
test_meshing_polyhedral_complex
|
||||
test_meshing_polyhedron
|
||||
test_meshing_polylines_only
|
||||
test_meshing_polyhedron_with_features
|
||||
test_meshing_verbose
|
||||
test_meshing_polyhedron_with_features
|
||||
test_meshing_utilities.h
|
||||
test_meshing_implicit_function
|
||||
test_meshing_3D_image
|
||||
test_meshing_3D_gray_image
|
||||
test_meshing_unit_tetrahedron
|
||||
test_meshing_with_default_edge_size
|
||||
test_meshing_polyhedron
|
||||
test_meshing_polyhedral_complex
|
||||
test_mesh_capsule_var_distance_bound
|
||||
test_meshing_determinism
|
||||
test_meshing_without_features_determinism
|
||||
test_mesh_3_issue_1554
|
||||
test_mesh_polyhedral_domain_with_features_deprecated
|
||||
test_mesh_cell_base_3
|
||||
test_meshing_with_one_step.cpp)
|
||||
)
|
||||
if(TARGET ${target})
|
||||
target_link_libraries(${target} PUBLIC CGAL::Eigen3_support)
|
||||
target_link_libraries(${target} PUBLIC CGAL::TBB_support)
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if(TARGET CGAL::TBB_support)
|
||||
foreach(target
|
||||
test_meshing_verbose
|
||||
test_meshing_polyhedron_with_features
|
||||
test_meshing_utilities.h
|
||||
test_meshing_implicit_function
|
||||
test_meshing_3D_image
|
||||
test_meshing_3D_gray_image
|
||||
test_meshing_unit_tetrahedron
|
||||
test_meshing_polyhedron
|
||||
test_meshing_polyhedral_complex
|
||||
test_mesh_capsule_var_distance_bound
|
||||
test_meshing_determinism
|
||||
test_meshing_without_features_determinism
|
||||
test_mesh_3_issue_1554
|
||||
test_mesh_polyhedral_domain_with_features_deprecated
|
||||
test_mesh_cell_base_3
|
||||
)
|
||||
if(TARGET ${target})
|
||||
target_link_libraries(${target} PUBLIC CGAL::TBB_support)
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if(BUILD_TESTING)
|
||||
if(BUILD_TESTING)
|
||||
set_property(TEST
|
||||
execution___of__test_meshing_verbose
|
||||
execution___of__test_meshing_polyhedron_with_features
|
||||
execution___of__test_meshing_implicit_function
|
||||
execution___of__test_meshing_unit_tetrahedron
|
||||
execution___of__test_meshing_polyhedron
|
||||
execution___of__test_meshing_polyhedral_complex
|
||||
execution___of__test_mesh_capsule_var_distance_bound
|
||||
execution___of__test_mesh_3_issue_1554
|
||||
execution___of__test_mesh_polyhedral_domain_with_features_deprecated
|
||||
execution___of__test_mesh_cell_base_3
|
||||
PROPERTY RUN_SERIAL 1)
|
||||
if(TARGET test_meshing_3D_image)
|
||||
set_property(TEST
|
||||
execution___of__test_meshing_verbose
|
||||
execution___of__test_meshing_polyhedron_with_features
|
||||
execution___of__test_meshing_implicit_function
|
||||
execution___of__test_meshing_unit_tetrahedron
|
||||
execution___of__test_meshing_polyhedron
|
||||
execution___of__test_meshing_polyhedral_complex
|
||||
execution___of__test_mesh_capsule_var_distance_bound
|
||||
execution___of__test_mesh_3_issue_1554
|
||||
execution___of__test_mesh_polyhedral_domain_with_features_deprecated
|
||||
execution___of__test_mesh_cell_base_3
|
||||
execution___of__test_meshing_3D_image
|
||||
execution___of__test_meshing_3D_gray_image
|
||||
PROPERTY RUN_SERIAL 1)
|
||||
if(TARGET test_meshing_3D_image)
|
||||
set_property(TEST
|
||||
execution___of__test_meshing_3D_image
|
||||
execution___of__test_meshing_3D_gray_image
|
||||
PROPERTY RUN_SERIAL 1)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
if(TARGET ITT::ITT)
|
||||
target_link_libraries(test_meshing_polyhedron_with_features PRIVATE ITT::ITT)
|
||||
target_compile_definitions(test_meshing_polyhedron_with_features PRIVATE CGAL_MESH_3_USE_INTEL_ITT)
|
||||
target_link_libraries(test_meshing_verbose PRIVATE ITT::ITT)
|
||||
target_compile_definitions(test_meshing_verbose PRIVATE CGAL_MESH_3_USE_INTEL_ITT)
|
||||
endif()
|
||||
|
||||
if(BUILD_TESTING)
|
||||
set_tests_properties(
|
||||
execution___of__test_meshing_polyhedron_with_features
|
||||
execution___of__test_meshing_verbose
|
||||
PROPERTIES RESOURCE_LOCK Mesh_3_Tests_IO)
|
||||
endif()
|
||||
else()
|
||||
|
||||
message(STATUS "This program requires the CGAL library, and will not be compiled.")
|
||||
|
||||
endif()
|
||||
|
||||
if(TARGET ITT::ITT)
|
||||
target_link_libraries(test_meshing_polyhedron_with_features PRIVATE ITT::ITT)
|
||||
target_compile_definitions(test_meshing_polyhedron_with_features PRIVATE CGAL_MESH_3_USE_INTEL_ITT)
|
||||
target_link_libraries(test_meshing_verbose PRIVATE ITT::ITT)
|
||||
target_compile_definitions(test_meshing_verbose PRIVATE CGAL_MESH_3_USE_INTEL_ITT)
|
||||
endif()
|
||||
|
||||
if(BUILD_TESTING)
|
||||
set_tests_properties(
|
||||
execution___of__test_meshing_polyhedron_with_features
|
||||
execution___of__test_meshing_verbose
|
||||
PROPERTIES RESOURCE_LOCK Mesh_3_Tests_IO)
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -4,13 +4,6 @@
|
|||
cmake_minimum_required(VERSION 3.1...3.23)
|
||||
project(Minkowski_sum_2_Tests)
|
||||
|
||||
# Commented out C++11 for now
|
||||
# list(FIND CMAKE_CXX_COMPILE_FEATURES cxx_generalized_initializers has_cpp11)
|
||||
# if (has_cpp11 LESS 0)
|
||||
# message(STATUS "NOTICE: These examples requires a C++11 compiler and will not be compiled.")
|
||||
# return()
|
||||
# endif()
|
||||
|
||||
find_package(CGAL REQUIRED COMPONENTS Core)
|
||||
|
||||
# create a target per cppfile
|
||||
|
|
|
|||
|
|
@ -6,16 +6,13 @@ cmake_minimum_required(VERSION 3.1...3.23)
|
|||
project(NewKernel_d_Tests)
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCCX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.4)
|
||||
message(
|
||||
STATUS
|
||||
"NOTICE: this directory requires a version of gcc >= 4.4, and will not be compiled."
|
||||
)
|
||||
message("NOTICE: this directory requires a version of gcc >= 4.4, and will not be compiled.")
|
||||
return()
|
||||
endif()
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
||||
find_package(Eigen3)
|
||||
find_package(Eigen3 QUIET)
|
||||
include(CGAL_Eigen3_support)
|
||||
if(TARGET CGAL::Eigen3_support)
|
||||
file(
|
||||
|
|
@ -28,10 +25,5 @@ if(TARGET CGAL::Eigen3_support)
|
|||
target_link_libraries(${target} PUBLIC CGAL::Eigen3_support)
|
||||
endforeach()
|
||||
else()
|
||||
|
||||
message(
|
||||
STATUS
|
||||
"NOTICE: These programs require the Eigen3 library, and will not be compiled."
|
||||
)
|
||||
|
||||
message("NOTICE: These programs require the Eigen3 library, and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
//
|
||||
// Author(s) : Michael Hemmer <hemmer@mpi-inf.mpg.de>
|
||||
|
||||
// This files adds an optional static cache to convert_to_bfi for Sqrt_extension
|
||||
// This file adds an optional static cache to convert_to_bfi for Sqrt_extension
|
||||
|
||||
#ifndef CGAL_SQRT_EXTENSION_CONVERT_TO_BFI_H
|
||||
#define CGAL_SQRT_EXTENSION_CONVERT_TO_BFI_H
|
||||
|
|
|
|||
|
|
@ -8,11 +8,8 @@ project(Number_types_Tests)
|
|||
|
||||
find_package(CGAL REQUIRED COMPONENTS Core)
|
||||
|
||||
include(CGAL_VersionUtils)
|
||||
|
||||
include_directories(BEFORE include)
|
||||
|
||||
|
||||
create_single_source_cgal_program("bench_interval.cpp")
|
||||
create_single_source_cgal_program("constant.cpp")
|
||||
create_single_source_cgal_program("CORE_BigFloat.cpp")
|
||||
|
|
@ -65,19 +62,21 @@ create_single_source_cgal_program("_test_valid_finite_float.cpp")
|
|||
create_single_source_cgal_program("to_interval_test.cpp")
|
||||
create_single_source_cgal_program("unsigned.cpp")
|
||||
create_single_source_cgal_program("utilities.cpp")
|
||||
|
||||
find_package( GMP )
|
||||
if( GMP_FOUND AND NOT CGAL_DISABLE_GMP )
|
||||
create_single_source_cgal_program( "CORE_Expr_ticket_4296.cpp" )
|
||||
find_package( MPFI )
|
||||
find_package(MPFI QUIET)
|
||||
if( MPFI_FOUND )
|
||||
include( ${MPFI_USE_FILE} )
|
||||
endif() #MPFI_FOUND
|
||||
endif() #GMP_FOUND AND NOT CGAL_DISABLE_GMP
|
||||
|
||||
if(NOT CGAL_DISABLE_GMP)
|
||||
create_single_source_cgal_program( "Gmpfi.cpp" )
|
||||
create_single_source_cgal_program( "Gmpfr_bug.cpp" )
|
||||
create_single_source_cgal_program( "test_eigen.cpp" )
|
||||
find_package(Eigen3 3.2.0) #(requires 3.2.0 or greater)
|
||||
find_package(Eigen3 3.2.0 QUIET) #(requires 3.2.0 or greater)
|
||||
include(CGAL_Eigen3_support)
|
||||
if (TARGET CGAL::Eigen3_support)
|
||||
target_link_libraries(test_eigen PUBLIC CGAL::Eigen3_support)
|
||||
|
|
@ -85,11 +84,8 @@ if(NOT CGAL_DISABLE_GMP)
|
|||
else()#NOT CGAL_DISABLE_GMP
|
||||
message(STATUS "NOTICE: Some tests require the CGAL_Core library, and will not be compiled.")
|
||||
endif()#NOT CGAL_DISABLE_GMP
|
||||
|
||||
# all the programs below will be linked against MPFI in case it is present
|
||||
create_single_source_cgal_program("Quotient_new.cpp")
|
||||
create_single_source_cgal_program("test_nt_Coercion_traits.cpp")
|
||||
|
||||
find_package(Boost)
|
||||
if(Boost_FOUND)
|
||||
create_single_source_cgal_program("to_interval_test_boost.cpp")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -7,14 +7,10 @@ project(Optimal_bounding_box_Benchmark)
|
|||
# CGAL and its components
|
||||
find_package(CGAL REQUIRED)
|
||||
|
||||
# include helper file
|
||||
include(${CGAL_USE_FILE})
|
||||
|
||||
find_package(Eigen3 3.1.0 REQUIRED) #(3.1.0 or greater)
|
||||
find_package(Eigen3 3.1.0 QUIET) #(3.1.0 or greater)
|
||||
include(CGAL_Eigen3_support)
|
||||
if(NOT TARGET CGAL::Eigen3_support)
|
||||
message(
|
||||
STATUS "This project requires the Eigen library, and will not be compiled.")
|
||||
message("NOTICE: This project requires the Eigen library, and will not be compiled.")
|
||||
return()
|
||||
endif()
|
||||
|
||||
|
|
|
|||
|
|
@ -6,11 +6,10 @@ project(Optimal_bounding_box_Examples)
|
|||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
||||
find_package(Eigen3 3.1.0 REQUIRED) #(3.1.0 or greater)
|
||||
find_package(Eigen3 3.1.0 QUIET) #(3.1.0 or greater)
|
||||
include(CGAL_Eigen3_support)
|
||||
if(NOT TARGET CGAL::Eigen3_support)
|
||||
message(
|
||||
STATUS "This project requires the Eigen library, and will not be compiled.")
|
||||
message("NOTICE: This project requires the Eigen library, and will not be compiled.")
|
||||
return()
|
||||
endif()
|
||||
|
||||
|
|
@ -18,7 +17,6 @@ create_single_source_cgal_program("obb_example.cpp")
|
|||
create_single_source_cgal_program("obb_with_point_maps_example.cpp")
|
||||
create_single_source_cgal_program("rotated_aabb_tree_example.cpp")
|
||||
|
||||
foreach(target obb_example obb_with_point_maps_example
|
||||
rotated_aabb_tree_example)
|
||||
foreach(target obb_example obb_with_point_maps_example rotated_aabb_tree_example)
|
||||
target_link_libraries(${target} PUBLIC CGAL::Eigen3_support)
|
||||
endforeach()
|
||||
|
|
|
|||
|
|
@ -6,11 +6,10 @@ project(Optimal_bounding_box_Tests)
|
|||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
||||
find_package(Eigen3 3.1.0 REQUIRED) #(3.1.0 or greater)
|
||||
find_package(Eigen3 3.1.0 QUIET) #(3.1.0 or greater)
|
||||
include(CGAL_Eigen3_support)
|
||||
if(NOT TARGET CGAL::Eigen3_support)
|
||||
message(
|
||||
STATUS "This project requires the Eigen library, and will not be compiled.")
|
||||
message("NOTICE: This project requires the Eigen library, and will not be compiled.")
|
||||
return()
|
||||
endif()
|
||||
|
||||
|
|
|
|||
|
|
@ -33,14 +33,10 @@ find_path(
|
|||
DOC "Path to the header of the CImg library")
|
||||
|
||||
if(CIMG_INCLUDE_DIR)
|
||||
message(
|
||||
STATUS "CImg library found, the demo can load point set from image files.")
|
||||
message(STATUS "NOTICE: CImg library found, the demo can load point set from image files.")
|
||||
else()
|
||||
message(
|
||||
STATUS
|
||||
"CImg library was not found, the demo will not be able to load point set from image files. "
|
||||
"Try setting the environment variable CIMG_INC_DIR to point to the path of the directory containing CImg.h."
|
||||
)
|
||||
message(STATUS "CImg library was not found, the demo will not be able to load point set from image files. "
|
||||
"Try setting the environment variable CIMG_INC_DIR to point to the path of the directory containing CImg.h.")
|
||||
endif()
|
||||
|
||||
if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
||||
|
|
@ -81,7 +77,7 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
target_include_directories(Otr2_demo PRIVATE ${CIMG_INCLUDE_DIR})
|
||||
# Is pthread around? If yes, we need to link against it
|
||||
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
|
||||
find_package(Threads)
|
||||
find_package(Threads QUIET)
|
||||
if(CMAKE_USE_PTHREADS_INIT)
|
||||
target_link_libraries(Otr2_demo PRIVATE ${CMAKE_THREAD_LIBS_INIT})
|
||||
endif()
|
||||
|
|
@ -105,10 +101,7 @@ else(
|
|||
set(OTR2_MISSING_DEPS "Qt5.4, ${OTR2_MISSING_DEPS}")
|
||||
endif()
|
||||
|
||||
message(
|
||||
STATUS
|
||||
"NOTICE: This demo requires ${OTR2_MISSING_DEPS}and will not be compiled."
|
||||
)
|
||||
message("NOTICE: This demo requires ${OTR2_MISSING_DEPS} and will not be compiled.")
|
||||
|
||||
endif(
|
||||
CGAL_Qt5_FOUND
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
cmake_minimum_required(VERSION 3.1...3.23)
|
||||
project(Orthtree_benchmarks)
|
||||
|
||||
find_package(CGAL REQUIRED QUIET OPTIONAL_COMPONENTS Core)
|
||||
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Core)
|
||||
|
||||
create_single_source_cgal_program("construction.cpp")
|
||||
create_single_source_cgal_program("nearest_neighbor.cpp")
|
||||
|
|
|
|||
|
|
@ -4,27 +4,21 @@
|
|||
cmake_minimum_required(VERSION 3.1...3.23)
|
||||
project(Orthtree_Examples)
|
||||
|
||||
find_package(CGAL REQUIRED QUIET OPTIONAL_COMPONENTS Core)
|
||||
if (CGAL_FOUND)
|
||||
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Core)
|
||||
|
||||
create_single_source_cgal_program("octree_build_from_point_set.cpp")
|
||||
create_single_source_cgal_program("octree_build_from_point_vector.cpp")
|
||||
create_single_source_cgal_program("octree_build_with_custom_split.cpp")
|
||||
create_single_source_cgal_program("octree_find_nearest_neighbor.cpp")
|
||||
create_single_source_cgal_program("octree_traversal_custom.cpp")
|
||||
create_single_source_cgal_program("octree_traversal_manual.cpp")
|
||||
create_single_source_cgal_program("octree_traversal_preorder.cpp")
|
||||
create_single_source_cgal_program("octree_grade.cpp")
|
||||
create_single_source_cgal_program("quadtree_build_from_point_vector.cpp")
|
||||
create_single_source_cgal_program("octree_build_from_point_set.cpp")
|
||||
create_single_source_cgal_program("octree_build_from_point_vector.cpp")
|
||||
create_single_source_cgal_program("octree_build_with_custom_split.cpp")
|
||||
create_single_source_cgal_program("octree_find_nearest_neighbor.cpp")
|
||||
create_single_source_cgal_program("octree_traversal_custom.cpp")
|
||||
create_single_source_cgal_program("octree_traversal_manual.cpp")
|
||||
create_single_source_cgal_program("octree_traversal_preorder.cpp")
|
||||
create_single_source_cgal_program("octree_grade.cpp")
|
||||
create_single_source_cgal_program("quadtree_build_from_point_vector.cpp")
|
||||
|
||||
find_package(Eigen3 3.1.91) #(requires 3.2.0 or greater)
|
||||
include(CGAL_Eigen_support)
|
||||
if (TARGET CGAL::Eigen_support)
|
||||
create_single_source_cgal_program("orthtree_build.cpp")
|
||||
target_link_libraries(orthtree_build PUBLIC CGAL::Eigen_support)
|
||||
endif()
|
||||
|
||||
else ()
|
||||
message(WARNING
|
||||
"This program requires the CGAL library, and will not be compiled.")
|
||||
endif ()
|
||||
find_package(Eigen3 3.1.91 QUIET) #(requires 3.1.91 or greater)
|
||||
include(CGAL_Eigen_support)
|
||||
if (TARGET CGAL::Eigen_support)
|
||||
create_single_source_cgal_program("orthtree_build.cpp")
|
||||
target_link_libraries(orthtree_build PUBLIC CGAL::Eigen_support)
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
cmake_minimum_required(VERSION 3.1...3.23)
|
||||
project(Orthtree_Tests)
|
||||
|
||||
find_package(CGAL REQUIRED QUIET OPTIONAL_COMPONENTS Core)
|
||||
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Core)
|
||||
|
||||
create_single_source_cgal_program("test_octree_equality.cpp")
|
||||
create_single_source_cgal_program("test_octree_refine.cpp")
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue