diff --git a/BGL/include/CGAL/boost/graph/convert_nef_polyhedron_to_polygon_mesh.h b/BGL/include/CGAL/boost/graph/convert_nef_polyhedron_to_polygon_mesh.h index 888de1c2149..fe65be4b6e5 100644 --- a/BGL/include/CGAL/boost/graph/convert_nef_polyhedron_to_polygon_mesh.h +++ b/BGL/include/CGAL/boost/graph/convert_nef_polyhedron_to_polygon_mesh.h @@ -32,6 +32,7 @@ #include #include #include +#include namespace CGAL{ diff --git a/Classification/include/CGAL/Classification/Color.h b/Classification/include/CGAL/Classification/Color.h index 205daed3471..8b619b9c497 100644 --- a/Classification/include/CGAL/Classification/Color.h +++ b/Classification/include/CGAL/Classification/Color.h @@ -22,7 +22,8 @@ #define CGAL_CLASSIFICATION_COLOR_H #include - +#include +#include #include namespace CGAL { diff --git a/Classification/include/CGAL/Classification/Evaluation.h b/Classification/include/CGAL/Classification/Evaluation.h index 9c69b08cd6e..4e97b64bfff 100644 --- a/Classification/include/CGAL/Classification/Evaluation.h +++ b/Classification/include/CGAL/Classification/Evaluation.h @@ -25,6 +25,7 @@ #include #include +#include namespace CGAL { diff --git a/Classification/include/CGAL/Classification/Feature/Distance_to_plane.h b/Classification/include/CGAL/Classification/Feature/Distance_to_plane.h index 9c5b340004f..804a6eceda9 100644 --- a/Classification/include/CGAL/Classification/Feature/Distance_to_plane.h +++ b/Classification/include/CGAL/Classification/Feature/Distance_to_plane.h @@ -23,7 +23,9 @@ #define CGAL_CLASSIFICATION_FEATURE_DISTANCE_TO_PLANE_H #include - +#include +#include +#include #include namespace CGAL { @@ -54,7 +56,7 @@ template class Distance_to_plane : public Feature_base { - typedef typename Kernel_traits::Kernel Kernel; + typedef typename CGAL::Kernel_traits::Kernel Kernel; #ifdef CGAL_CLASSIFICATION_PRECOMPUTE_FEATURES std::vector distance_to_plane_feature; diff --git a/Classification/include/CGAL/Classification/Feature/Echo_scatter.h b/Classification/include/CGAL/Classification/Feature/Echo_scatter.h index 62425abfe75..1cd856166a5 100644 --- a/Classification/include/CGAL/Classification/Feature/Echo_scatter.h +++ b/Classification/include/CGAL/Classification/Feature/Echo_scatter.h @@ -23,8 +23,11 @@ #define CGAL_CLASSIFICATION_FEATURE_ECHO_SCATTER_H #include - +#include +#include +#include #include +#include namespace CGAL { diff --git a/Classification/include/CGAL/Classification/Feature/Eigen.h b/Classification/include/CGAL/Classification/Feature/Eigen.h index 1afa6a425c5..f7151d029c4 100644 --- a/Classification/include/CGAL/Classification/Feature/Eigen.h +++ b/Classification/include/CGAL/Classification/Feature/Eigen.h @@ -24,7 +24,7 @@ #include #include - +#include #include namespace CGAL { diff --git a/Classification/include/CGAL/Classification/Feature/Hsv.h b/Classification/include/CGAL/Classification/Feature/Hsv.h index f5a9bcfa04a..50cbad756a3 100644 --- a/Classification/include/CGAL/Classification/Feature/Hsv.h +++ b/Classification/include/CGAL/Classification/Feature/Hsv.h @@ -26,6 +26,7 @@ #include #include +#include namespace CGAL { diff --git a/Classification/include/CGAL/Classification/Feature/Vertical_dispersion.h b/Classification/include/CGAL/Classification/Feature/Vertical_dispersion.h index 6a68424ec9e..a838990301a 100644 --- a/Classification/include/CGAL/Classification/Feature/Vertical_dispersion.h +++ b/Classification/include/CGAL/Classification/Feature/Vertical_dispersion.h @@ -29,6 +29,9 @@ #include #include #include +#include +#include +#include "boost/tuple/tuple.hpp" namespace CGAL { diff --git a/Classification/include/CGAL/Classification/Feature/Verticality.h b/Classification/include/CGAL/Classification/Feature/Verticality.h index 54f4ed598fd..4ff0c3fecd2 100644 --- a/Classification/include/CGAL/Classification/Feature/Verticality.h +++ b/Classification/include/CGAL/Classification/Feature/Verticality.h @@ -24,7 +24,7 @@ #include #include - +#include #include namespace CGAL { diff --git a/Classification/include/CGAL/Classification/Local_eigen_analysis.h b/Classification/include/CGAL/Classification/Local_eigen_analysis.h index f200ff493d0..97e677aa2e7 100644 --- a/Classification/include/CGAL/Classification/Local_eigen_analysis.h +++ b/Classification/include/CGAL/Classification/Local_eigen_analysis.h @@ -30,6 +30,7 @@ #include #include #include +#include #ifdef CGAL_LINKED_WITH_TBB #include diff --git a/Classification/include/CGAL/Classification/OpenCV_random_forest_classifier.h b/Classification/include/CGAL/Classification/OpenCV_random_forest_classifier.h index ffe6a08933a..919481d5172 100644 --- a/Classification/include/CGAL/Classification/OpenCV_random_forest_classifier.h +++ b/Classification/include/CGAL/Classification/OpenCV_random_forest_classifier.h @@ -25,9 +25,13 @@ #include #include - +#if (CV_MAJOR_VERSION < 3) #include #include +#else +#include +#include +#endif namespace CGAL { diff --git a/Classification/include/CGAL/Classification/Point_set_feature_generator.h b/Classification/include/CGAL/Classification/Point_set_feature_generator.h index 006a4885edc..19b416a7fc1 100644 --- a/Classification/include/CGAL/Classification/Point_set_feature_generator.h +++ b/Classification/include/CGAL/Classification/Point_set_feature_generator.h @@ -37,7 +37,7 @@ #include #include #include - +#include #include #include diff --git a/Classification/include/CGAL/Classification/Point_set_neighborhood.h b/Classification/include/CGAL/Classification/Point_set_neighborhood.h index 79977a3eb43..dc59af3c9b0 100644 --- a/Classification/include/CGAL/Classification/Point_set_neighborhood.h +++ b/Classification/include/CGAL/Classification/Point_set_neighborhood.h @@ -33,9 +33,11 @@ #include #include #include +#include #include + namespace CGAL { namespace Classification { diff --git a/Classification/include/CGAL/Classification/Sum_of_weighted_features_classifier.h b/Classification/include/CGAL/Classification/Sum_of_weighted_features_classifier.h index 539cd299ec3..0a59f2778f1 100644 --- a/Classification/include/CGAL/Classification/Sum_of_weighted_features_classifier.h +++ b/Classification/include/CGAL/Classification/Sum_of_weighted_features_classifier.h @@ -27,6 +27,7 @@ #include #include #include +#include #include #include @@ -34,6 +35,8 @@ #include #include #include +#include +#include #ifdef CGAL_LINKED_WITH_TBB #include diff --git a/Classification/include/CGAL/Classification/classify.h b/Classification/include/CGAL/Classification/classify.h index 3e81182d326..2f08bbad185 100644 --- a/Classification/include/CGAL/Classification/classify.h +++ b/Classification/include/CGAL/Classification/classify.h @@ -25,7 +25,7 @@ #include #include - +#include #include #ifdef CGAL_LINKED_WITH_TBB diff --git a/Convex_hull_3/include/CGAL/convexity_check_3.h b/Convex_hull_3/include/CGAL/convexity_check_3.h index 888df75e3fd..8f35a1a0bf1 100644 --- a/Convex_hull_3/include/CGAL/convexity_check_3.h +++ b/Convex_hull_3/include/CGAL/convexity_check_3.h @@ -29,6 +29,7 @@ #include #include #include +#include namespace CGAL { diff --git a/Installation/CMakeLists.txt b/Installation/CMakeLists.txt index 257d983c9de..66f70006295 100644 --- a/Installation/CMakeLists.txt +++ b/Installation/CMakeLists.txt @@ -1055,6 +1055,7 @@ You must disable CGAL_ENABLE_CHECK_HEADERS and CGAL_COMPUTE_DEPENDENCIES.") endif() message( "== Setting header checking ==" ) + find_package(GMP REQUIRED) find_package(Doxygen REQUIRED) find_package(Eigen3 REQUIRED) find_package(Qt5 COMPONENTS Core Widgets Xml OpenGL REQUIRED) @@ -1064,6 +1065,7 @@ You must disable CGAL_ENABLE_CHECK_HEADERS and CGAL_COMPUTE_DEPENDENCIES.") find_package(RS3) find_package(LEDA) find_package(OpenMesh) + find_package(OpenCV) set(compile_options "\ ${CMAKE_CXX_FLAGS} -DCGAL_EIGEN3_ENABLED \ @@ -1133,8 +1135,10 @@ You must disable CGAL_ENABLE_CHECK_HEADERS and CGAL_COMPUTE_DEPENDENCIES.") ${VTK_INCLUDE_DIRS} ${LEDA_INCLUDE_DIR} ${OPENMESH_INCLUDE_DIR} + ${OpenCV_INCLUDE_DIRS} ${RS_INCLUDE_DIR} ${EIGEN3_INCLUDE_DIR} + ${GMP_INCLUDE_DIR} ${QGLVIEWER_INCLUDE_DIR} ${Qt5OpenGL_INCLUDE_DIRS} ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Xml_INCLUDE_DIRS} ${CGAL_3RD_PARTY_INCLUDE_DIRS} ${CGAL_Qt5_3RD_PARTY_INCLUDE_DIRS} @@ -1154,9 +1158,6 @@ You must disable CGAL_ENABLE_CHECK_HEADERS and CGAL_COMPUTE_DEPENDENCIES.") ##Get the list of the documented headers - # include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/list_of_documented_headers.cmake - # OPTIONAL RESULT_VARIABLE has_list_of_documented_headers) - file(GLOB html_files RELATIVE "${DOC_DIR}/doc_output/" "${DOC_DIR}/doc_output/*/*.html") file(GLOB example_files RELATIVE "${CMAKE_SOURCE_DIR}/" "${CMAKE_SOURCE_DIR}/*/examples/*/*.cpp") find_program(AWK awk) @@ -1165,26 +1166,31 @@ You must disable CGAL_ENABLE_CHECK_HEADERS and CGAL_COMPUTE_DEPENDENCIES.") message("listing headers from html files") foreach(f ${html_files}) execute_process(COMMAND "${AWK}" "${arguments}" "${DOC_DIR}/doc_output/${f}" - OUTPUT_VARIABLE list_of_documented_headers) - if (NOT "${list_of_documented_headers}" STREQUAL "") - string(REPLACE "\n" ";" list_of_documented_headers ${list_of_documented_headers}) - LIST( APPEND list_of_documented_headers_txt ${list_of_documented_headers}) + OUTPUT_VARIABLE tmp_list) + if (NOT "${tmp_list}" STREQUAL "") + string(REPLACE "\n" ";" tmp_list ${tmp_list}) + LIST( APPEND list_of_documented_headers ${tmp_list}) endif() endforeach() message("listing headers from examples files") foreach(f ${example_files}) execute_process(COMMAND "${AWK}" "${arguments}" "${CMAKE_SOURCE_DIR}/${f}" - OUTPUT_VARIABLE list_of_documented_headers) - if (NOT "${list_of_documented_headers}" STREQUAL "") - string(REPLACE "\n" ";" list_of_documented_headers ${list_of_documented_headers}) - LIST( APPEND list_of_documented_headers_txt ${list_of_documented_headers}) + OUTPUT_VARIABLE tmp_list) + if (NOT "${tmp_list}" STREQUAL "") + string(REPLACE "\n" ";" tmp_list ${tmp_list}) + LIST( APPEND list_of_documented_headers ${tmp_list}) endif() endforeach() message("removing duplicates:") - list(REMOVE_DUPLICATES list_of_documented_headers_txt) + list(REMOVE_DUPLICATES list_of_documented_headers) message("sorting:") - list(SORT list_of_documented_headers_txt) - string(REPLACE ";" " \n" list_of_documented_headers_txt "${list_of_documented_headers_txt}") + list(SORT list_of_documented_headers) + #string(REPLACE ";" " \n" list_of_documented_headers "${list_of_documented_headers}") + if (NOT "${list_of_documented_headers}" STREQUAL "") + set(has_list_of_documented_headers TRUE) + else() + set(has_list_of_documented_headers FALSE) + endif() include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/list_of_whitelisted_headers.cmake OPTIONAL RESULT_VARIABLE has_list_of_whitelisted_headers) message("list_of_whitelisted_headers: ${list_of_whitelisted_headers}") @@ -1322,3 +1328,4 @@ if(NOT CGAL_BRANCH_BUILD AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/doc") # in a non-branch build this is the top-level CMakeLists.txt add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/doc") endif() + diff --git a/Installation/cmake/modules/list_of_whitelisted_headers.cmake b/Installation/cmake/modules/list_of_whitelisted_headers.cmake index b12e83415f3..84422e5dc46 100644 --- a/Installation/cmake/modules/list_of_whitelisted_headers.cmake +++ b/Installation/cmake/modules/list_of_whitelisted_headers.cmake @@ -5,6 +5,7 @@ set(list_of_whitelisted_headers_txt [=[ CGAL/IO/write_las_points.h CGAL/IO/read_ply_points.h CGAL/IO/write_ply_points.h + CGAL/Surface_mesh_parameterization/internal/shortest_path.h ]=]) separate_arguments(list_of_whitelisted_headers UNIX_COMMAND ${list_of_whitelisted_headers_txt}) diff --git a/Kernel_23/include/CGAL/Weighted_point_2.h b/Kernel_23/include/CGAL/Weighted_point_2.h index 63f7fbe4107..751a2ed5cdf 100644 --- a/Kernel_23/include/CGAL/Weighted_point_2.h +++ b/Kernel_23/include/CGAL/Weighted_point_2.h @@ -33,6 +33,8 @@ #include #include #include +#include +#include namespace CGAL { diff --git a/Kernel_23/include/CGAL/Weighted_point_3.h b/Kernel_23/include/CGAL/Weighted_point_3.h index c953f53fb84..cb828b93a99 100644 --- a/Kernel_23/include/CGAL/Weighted_point_3.h +++ b/Kernel_23/include/CGAL/Weighted_point_3.h @@ -33,6 +33,7 @@ #include #include #include +#include namespace CGAL { diff --git a/Linear_cell_complex/include/CGAL/Linear_cell_complex_bgl_min_items.h b/Linear_cell_complex/include/CGAL/Linear_cell_complex_bgl_min_items.h index 024a9be7440..67f241b4ed5 100644 --- a/Linear_cell_complex/include/CGAL/Linear_cell_complex_bgl_min_items.h +++ b/Linear_cell_complex/include/CGAL/Linear_cell_complex_bgl_min_items.h @@ -23,6 +23,7 @@ #include #include +#include namespace CGAL { diff --git a/Point_set_3/include/CGAL/Point_set_3/IO.h b/Point_set_3/include/CGAL/Point_set_3/IO.h index 7b33dd85343..b4da7160293 100644 --- a/Point_set_3/include/CGAL/Point_set_3/IO.h +++ b/Point_set_3/include/CGAL/Point_set_3/IO.h @@ -24,6 +24,7 @@ #include +#include #include #include #include diff --git a/Point_set_processing_3/include/CGAL/IO/write_off_points.h b/Point_set_processing_3/include/CGAL/IO/write_off_points.h index 579d7334780..3f9ebfd728d 100644 --- a/Point_set_processing_3/include/CGAL/IO/write_off_points.h +++ b/Point_set_processing_3/include/CGAL/IO/write_off_points.h @@ -26,6 +26,8 @@ #include #include +#include +#include #include #include diff --git a/Point_set_processing_3/include/CGAL/structure_point_set.h b/Point_set_processing_3/include/CGAL/structure_point_set.h index 34fad87e79c..0cf8acd2d1a 100644 --- a/Point_set_processing_3/include/CGAL/structure_point_set.h +++ b/Point_set_processing_3/include/CGAL/structure_point_set.h @@ -36,6 +36,7 @@ #include #include #include +#include #include #include @@ -43,6 +44,8 @@ #include #include +#include + #include #include #include diff --git a/Point_set_shape_detection_3/include/CGAL/Shape_detection_3/Region_growing.h b/Point_set_shape_detection_3/include/CGAL/Shape_detection_3/Region_growing.h index d01ce1d726c..afa12822083 100644 --- a/Point_set_shape_detection_3/include/CGAL/Shape_detection_3/Region_growing.h +++ b/Point_set_shape_detection_3/include/CGAL/Shape_detection_3/Region_growing.h @@ -34,8 +34,10 @@ #include #include -#include -#include +#include +#include +#include +#include namespace CGAL { namespace Shape_detection_3 { diff --git a/Point_set_shape_detection_3/include/CGAL/Shape_detection_3/property_maps.h b/Point_set_shape_detection_3/include/CGAL/Shape_detection_3/property_maps.h index b099dbd3578..8f787a03822 100644 --- a/Point_set_shape_detection_3/include/CGAL/Shape_detection_3/property_maps.h +++ b/Point_set_shape_detection_3/include/CGAL/Shape_detection_3/property_maps.h @@ -21,6 +21,8 @@ // #include +#include +#include #ifndef CGAL_SHAPE_DETECTION_3_PROPERTY_MAPS_H #define CGAL_SHAPE_DETECTION_3_PROPERTY_MAPS_H diff --git a/Polyhedron/include/CGAL/Polyhedron_3_to_lcc.h b/Polyhedron/include/CGAL/Polyhedron_3_to_lcc.h index 779ceb05814..80e2d53929c 100644 --- a/Polyhedron/include/CGAL/Polyhedron_3_to_lcc.h +++ b/Polyhedron/include/CGAL/Polyhedron_3_to_lcc.h @@ -25,6 +25,7 @@ #include #include #include +#include namespace CGAL { diff --git a/Subdivision_method_3/include/CGAL/Subdivision_method_3/subdivision_masks_3.h b/Subdivision_method_3/include/CGAL/Subdivision_method_3/subdivision_masks_3.h index da9ad657d87..e6353e38b61 100644 --- a/Subdivision_method_3/include/CGAL/Subdivision_method_3/subdivision_masks_3.h +++ b/Subdivision_method_3/include/CGAL/Subdivision_method_3/subdivision_masks_3.h @@ -30,6 +30,7 @@ #include #include +#include namespace CGAL { diff --git a/Surface_mesh_parameterization/examples/Surface_mesh_parameterization/orbifold.cpp b/Surface_mesh_parameterization/examples/Surface_mesh_parameterization/orbifold.cpp index b9da99fc9e1..1a7f2ff7676 100644 --- a/Surface_mesh_parameterization/examples/Surface_mesh_parameterization/orbifold.cpp +++ b/Surface_mesh_parameterization/examples/Surface_mesh_parameterization/orbifold.cpp @@ -3,8 +3,6 @@ #include #include -#include -#include #include #include diff --git a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Two_vertices_parameterizer_3.h b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Two_vertices_parameterizer_3.h index 15f1b978b27..c94cad60938 100644 --- a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Two_vertices_parameterizer_3.h +++ b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Two_vertices_parameterizer_3.h @@ -27,7 +27,9 @@ #include #include +#include #include +#include #include #include diff --git a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/internal/Containers_filler.h b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/internal/Containers_filler.h index 2f715b8b3ad..a6be5b12e74 100644 --- a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/internal/Containers_filler.h +++ b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/internal/Containers_filler.h @@ -26,7 +26,7 @@ #include #include "boost/tuple/tuple.hpp" #include - +#include #include namespace CGAL { diff --git a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Bounded_normal_change_placement.h b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Bounded_normal_change_placement.h index fad6778c1fc..8682fbd7953 100644 --- a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Bounded_normal_change_placement.h +++ b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Bounded_normal_change_placement.h @@ -21,7 +21,7 @@ #define CGAL_SURFACE_MESH_SIMPLIFICATION_POLICIES_EDGE_COLLAPSE_BOUNDED_NORMAL_CHANGE_PLACEMENT_H #include - +#include namespace CGAL { @@ -42,10 +42,10 @@ public: {} template - optional + boost::optional operator()( Profile const& aProfile) const { - optional op = mPlacement(aProfile); + boost::optional op = mPlacement(aProfile); if(op){ // triangles returns the triangles of the star of the vertices of the edge to collapse // First the two trianges incident to the edge, then the other triangles @@ -78,7 +78,7 @@ public: Vector n1 = Traits().construct_cross_product_vector_3_object()(eqp,eqr); Vector n2 = Traits().construct_cross_product_vector_3_object()(eq2p,eq2r); if(! is_positive(Traits().compute_scalar_product_3_object()(n1, n2))){ - return optional(); + return boost::optional(); } ++it; } diff --git a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_length_stop_predicate.h b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_length_stop_predicate.h index 50ffe9ae18d..511fe9f40d1 100644 --- a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_length_stop_predicate.h +++ b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_length_stop_predicate.h @@ -21,7 +21,7 @@ #define CGAL_SURFACE_MESH_SIMPLIFICATION_POLICIES_EDGE_COLLAPSE_EDGE_LENGTH_STOP_PREDICATE_H 1 #include - +#include namespace CGAL { diff --git a/Surface_mesher/include/CGAL/IO/facets_in_complex_2_to_triangle_mesh.h b/Surface_mesher/include/CGAL/IO/facets_in_complex_2_to_triangle_mesh.h index 6714ab72948..dd7935fb224 100644 --- a/Surface_mesher/include/CGAL/IO/facets_in_complex_2_to_triangle_mesh.h +++ b/Surface_mesher/include/CGAL/IO/facets_in_complex_2_to_triangle_mesh.h @@ -26,6 +26,7 @@ #include #include #include +#include namespace CGAL{ /*!