mirror of https://github.com/CGAL/cgal
merge cgal/master
This commit is contained in:
commit
6eaeb7a148
|
|
@ -0,0 +1,35 @@
|
|||
---
|
||||
Language: Cpp
|
||||
BasedOnStyle: LLVM
|
||||
AccessModifierOffset: -2
|
||||
AllowShortFunctionsOnASingleLine: true
|
||||
BinPackParameters: false
|
||||
BreakConstructorInitializers: BeforeComma
|
||||
BreakBeforeBraces: Custom
|
||||
BraceWrapping:
|
||||
AfterCaseLabel: false
|
||||
AfterClass: true
|
||||
AfterControlStatement: MultiLine
|
||||
AfterEnum: false
|
||||
AfterFunction: false
|
||||
AfterNamespace: false
|
||||
AfterObjCDeclaration: false
|
||||
AfterStruct: true
|
||||
AfterUnion: false
|
||||
AfterExternBlock: false
|
||||
BeforeCatch: false
|
||||
BeforeElse: false
|
||||
BeforeLambdaBody: false
|
||||
BeforeWhile: false
|
||||
IndentBraces: false
|
||||
SplitEmptyFunction: false
|
||||
SplitEmptyRecord: false
|
||||
SplitEmptyNamespace: false
|
||||
ColumnLimit: 120
|
||||
# Force pointers to the type for C++.
|
||||
DerivePointerAlignment: false
|
||||
PointerAlignment: Left
|
||||
# Control the spaces around conditionals
|
||||
SpacesInConditionalStatement: false
|
||||
SpaceBeforeParens: false
|
||||
...
|
||||
|
|
@ -44,11 +44,9 @@ Documentation/Doxyfile text eol=lf
|
|||
Documentation/pkglist_filter text eol=lf
|
||||
Installation/update_CHANGES text eol=lf
|
||||
Scripts/developer_scripts/autotest_cgal text eol=lf
|
||||
Scripts/developer_scripts/autotest_cgal_with_cmake text eol=lf
|
||||
Scripts/developer_scripts/cgal_build text eol=lf
|
||||
Scripts/developer_scripts/cgal_depend text eol=lf
|
||||
Scripts/developer_scripts/cgal_git_update_hooks_for_client text eol=lf
|
||||
Scripts/developer_scripts/cgal_test_with_cmake text eol=lf
|
||||
Scripts/developer_scripts/cgal2gml text eol=lf
|
||||
Scripts/developer_scripts/check_library_uses_no_gpl_files text eol=lf
|
||||
Scripts/developer_scripts/check_licenses text eol=lf
|
||||
|
|
@ -56,7 +54,6 @@ Scripts/developer_scripts/check_macro_names text eol=lf
|
|||
Scripts/developer_scripts/check_no_CGAL_USE_without_includes_before text eol=lf
|
||||
Scripts/developer_scripts/check_svn_keywords text eol=lf
|
||||
Scripts/developer_scripts/create_cgal_test text eol=lf
|
||||
Scripts/developer_scripts/create_cgal_test_with_cmake text eol=lf
|
||||
Scripts/developer_scripts/create_internal_release text eol=lf
|
||||
Scripts/developer_scripts/create_new_release text eol=lf
|
||||
Scripts/developer_scripts/detect_files_with_mixed_eol_styles text eol=lf
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ AABB_tree/demo/AABB_tree/Makefile
|
|||
AABB_tree/examples/AABB_tree/*.kdev*
|
||||
AABB_tree/examples/AABB_tree/*_example
|
||||
AABB_tree/examples/AABB_tree/Makefile
|
||||
AABB_tree/examples/AABB_tree/cgal_test_with_cmake
|
||||
AABB_tree/test/AABB_tree/*.kdev*
|
||||
AABB_tree/test/AABB_tree/Makefile
|
||||
AABB_tree/test/AABB_tree/aabb_correctness_triangle_test
|
||||
|
|
@ -18,17 +17,14 @@ AABB_tree/test/AABB_tree/aabb_distance_triangle_test
|
|||
AABB_tree/test/AABB_tree/aabb_intersection_triangle_test
|
||||
AABB_tree/test/AABB_tree/aabb_naive_vs_tree_distance_segment_test
|
||||
AABB_tree/test/AABB_tree/aabb_projection_triangle_test
|
||||
AABB_tree/test/AABB_tree/cgal_test_with_cmake
|
||||
Algebraic_foundations/test/Algebraic_foundations/Algebraic_extension_traits
|
||||
Algebraic_foundations/test/Algebraic_foundations/Algebraic_structure_traits
|
||||
Algebraic_foundations/test/Algebraic_foundations/Chinese_remainder_traits
|
||||
Algebraic_foundations/test/Algebraic_foundations/Coercion_traits
|
||||
Algebraic_foundations/test/Algebraic_foundations/Real_embeddable_traits
|
||||
Algebraic_foundations/test/Algebraic_foundations/Scalar_factor_traits
|
||||
Algebraic_foundations/test/Algebraic_foundations/cgal_test_with_cmake
|
||||
Algebraic_foundations/test/Algebraic_foundations/extended_euclidean_algorithm
|
||||
Algebraic_foundations/test/Algebraic_foundations/ipower
|
||||
Algebraic_kernel_d/test/Algebraic_kernel_d/cgal_test_with_cmake
|
||||
Algebraic_kernel_d/test/Algebraic_kernel_d/rs_isolator
|
||||
Alpha_shapes_2/demo/Alpha_shapes_2/Makefile
|
||||
Alpha_shapes_2/demo/Alpha_shapes_2/alpha_shapes_2
|
||||
|
|
@ -37,7 +33,6 @@ Alpha_shapes_2/examples/Alpha_shapes_2/alpha_shapes_2
|
|||
Alpha_shapes_3/demo/Alpha_shapes_3/Makefile
|
||||
Alpha_shapes_3/demo/Alpha_shapes_3/alpha_shapes_3
|
||||
Alpha_shapes_3/demo/Alpha_shapes_3/weighted_alpha_shapes_3
|
||||
Alpha_shapes_3/test/Alpha_shapes_3/cgal_test_with_cmake
|
||||
Alpha_shapes_3/test/Alpha_shapes_3/test_alpha_shape_3
|
||||
Alpha_shapes_3/test/Alpha_shapes_3/test_fixed_alpha_shape_3
|
||||
Alpha_shapes_3/test/Alpha_shapes_3/test_weighted_alpha_shape_3
|
||||
|
|
@ -60,7 +55,6 @@ Arrangement_on_surface_2/examples/Arrangement_on_surface_2/batched_point_locatio
|
|||
Arrangement_on_surface_2/examples/Arrangement_on_surface_2/bgl_dual_adapter
|
||||
Arrangement_on_surface_2/examples/Arrangement_on_surface_2/bgl_primal_adapter
|
||||
Arrangement_on_surface_2/examples/Arrangement_on_surface_2/bounded_planar_vertical_decomposition
|
||||
Arrangement_on_surface_2/examples/Arrangement_on_surface_2/cgal_test_with_cmake
|
||||
Arrangement_on_surface_2/examples/Arrangement_on_surface_2/circles
|
||||
Arrangement_on_surface_2/examples/Arrangement_on_surface_2/circular_arcs
|
||||
Arrangement_on_surface_2/examples/Arrangement_on_surface_2/circular_line_arcs
|
||||
|
|
@ -103,30 +97,24 @@ Arrangement_on_surface_2/examples/Arrangement_on_surface_2/unbounded_rational_fu
|
|||
Arrangement_on_surface_2/examples/Arrangement_on_surface_2/vertical_ray_shooting
|
||||
Arrangement_on_surface_2/test/Arrangement_on_surface_2/test_point_location.cpp
|
||||
BGL/examples/BGL_arrangement_2/Makefile
|
||||
BGL/examples/BGL_arrangement_2/cgal_test_with_cmake
|
||||
BGL/examples/BGL_arrangement_2/dual
|
||||
BGL/examples/BGL_arrangement_2/primal
|
||||
BGL/test/BGL/cgal_test_with_cmake
|
||||
Boolean_set_operations_2/demo/Boolean_set_operations_2/Makefile
|
||||
Boolean_set_operations_2/demo/Boolean_set_operations_2/boolean_operations_2
|
||||
Box_intersection_d/test/Box_intersection_d/automated_test
|
||||
Box_intersection_d/test/Box_intersection_d/benchmark.data
|
||||
Box_intersection_d/test/Box_intersection_d/benchmark_box_intersection
|
||||
Box_intersection_d/test/Box_intersection_d/box_grid
|
||||
Box_intersection_d/test/Box_intersection_d/cgal_test_with_cmake
|
||||
Box_intersection_d/test/Box_intersection_d/random_set_test
|
||||
CGAL_ImageIO/demo/CGALimageIO/Makefile
|
||||
CGAL_ImageIO/demo/CGALimageIO/cgal_test_with_cmake
|
||||
CGAL_ImageIO/demo/CGALimageIO/image_to_vtk_viewer
|
||||
CGAL_ImageIO/examples/CGALimageIO/Makefile
|
||||
CGAL_ImageIO/examples/CGALimageIO/cgal_test_with_cmake
|
||||
CGAL_ImageIO/examples/CGALimageIO/convert_raw_image_to_inr
|
||||
CGAL_ImageIO/examples/CGALimageIO/makefile
|
||||
CGAL_ImageIO/examples/CGALimageIO/test_imageio
|
||||
CGAL_ImageIO/src/CGAL_ImageIO/Makefile
|
||||
Circular_kernel_3/demo/Circular_kernel_3/Circular_kernel_3_demo
|
||||
Circular_kernel_3/demo/Circular_kernel_3/Makefile
|
||||
Circular_kernel_3/test/Circular_kernel_3/cgal_test_with_cmake
|
||||
Circular_kernel_3/test/Circular_kernel_3/test_Exact_spherical_kernel
|
||||
Circular_kernel_3/test/Circular_kernel_3/test_Lazy_Spherical_kernel
|
||||
Circular_kernel_3/test/Circular_kernel_3/test_Lazy_spherical_kernel_basics
|
||||
|
|
@ -137,7 +125,6 @@ Documentation/log/*.*
|
|||
Documentation/output
|
||||
Documentation/tags/*.*
|
||||
Generator/examples/Generator/ball_d
|
||||
Generator/examples/Generator/cgal_test_with_cmake
|
||||
Generator/examples/Generator/cube_d
|
||||
Generator/examples/Generator/grid_d
|
||||
Generator/examples/Generator/random_convex_set
|
||||
|
|
@ -149,7 +136,6 @@ Generator/examples/Generator/random_segments1
|
|||
Generator/examples/Generator/random_segments2
|
||||
Generator/examples/Generator/sphere_d
|
||||
Generator/test/Generator/bug
|
||||
Generator/test/Generator/cgal_test_with_cmake
|
||||
Generator/test/Generator/random_poly_test
|
||||
Generator/test/Generator/rcs_test
|
||||
Generator/test/Generator/test_combination_enumerator
|
||||
|
|
@ -178,7 +164,6 @@ GraphicsView/demo/Triangulation_2/Makefile
|
|||
GraphicsView/demo/Triangulation_2/Regular_triangulation_2
|
||||
GraphicsView/demo/Triangulation_2/qrc_*.cxx
|
||||
GraphicsView/demo/Triangulation_2/ui_*.h
|
||||
HalfedgeDS/test/HalfedgeDS/cgal_test_with_cmake
|
||||
HalfedgeDS/test/HalfedgeDS/test_hds
|
||||
HalfedgeDS/test/HalfedgeDS/test_hds_decorator
|
||||
Inscribed_areas/test/Inscribed_areas/Makefile
|
||||
|
|
@ -188,11 +173,8 @@ Installation/auxiliary/gdb/python/CGAL/printers.pyc
|
|||
Installation/auxiliary/gdb/test
|
||||
Installation/cmake/modules/*.tmp
|
||||
Installation/test/Installation/cgal_test
|
||||
/Installation/test/Installation/cgal_test_with_cmake
|
||||
Installation/test/Installation/deprecation_warning
|
||||
Interpolation/demo/Interpolation/cgal_test_with_cmake
|
||||
Intersections_3/test/Intersections_3/bbox_other_do_intersect_test
|
||||
Intersections_3/test/Intersections_3/cgal_test_with_cmake
|
||||
Intersections_3/test/Intersections_3/circle_other
|
||||
Intersections_3/test/Intersections_3/line_line
|
||||
Intersections_3/test/Intersections_3/segment_segment
|
||||
|
|
@ -206,7 +188,6 @@ Jet_fitting_3/examples/Jet_fitting_3/Single_estimation
|
|||
Jet_fitting_3/examples/Jet_fitting_3/VC
|
||||
Jet_fitting_3/test/Jet_fitting_3/Makefile
|
||||
Jet_fitting_3/test/Jet_fitting_3/blind_1pt
|
||||
/Jet_fitting_3/examples/Jet_fitting_3/cgal_test_with_cmake
|
||||
/Jet_fitting_3/examples/Jet_fitting_3/data_ellipe0.003.off.4ogl.txt
|
||||
Kernel_23/test/Kernel_23/Cartesian
|
||||
Kernel_23/test/Kernel_23/Dimension
|
||||
|
|
@ -220,7 +201,6 @@ Kernel_23/test/Kernel_23/Simple_cartesian
|
|||
Kernel_23/test/Kernel_23/Simple_homogeneous
|
||||
Kernel_23/test/Kernel_23/Test_IO.out
|
||||
/Kernel_23/test/Kernel_23/Test-*IO.out
|
||||
Kernel_23/test/Kernel_23/cgal_test_with_cmake
|
||||
Kernel_23/test/Kernel_23/test_kernel__
|
||||
Kinetic_data_structures/demo/Kinetic_data_structures/Delaunay_triangulation_2
|
||||
Kinetic_data_structures/demo/Kinetic_data_structures/Delaunay_triangulation_stable_subset_2
|
||||
|
|
@ -229,13 +209,11 @@ Kinetic_data_structures/demo/Kinetic_data_structures/KDS_Delaunay_triangulation_
|
|||
Kinetic_data_structures/demo/Kinetic_data_structures/KDS_generate_data
|
||||
Kinetic_data_structures/demo/Kinetic_data_structures/KDS_gui_2
|
||||
Kinetic_data_structures/demo/Kinetic_data_structures/Makefile
|
||||
Kinetic_data_structures/demo/Kinetic_data_structures/cgal_test_with_cmake
|
||||
Kinetic_data_structures/demo/Kinetic_data_structures/generate_data
|
||||
Kinetic_data_structures/demo/Kinetic_data_structures/gui_2
|
||||
Kinetic_data_structures/test/Kinetic_data_structures/Delaunay_triangulation_2
|
||||
Kinetic_data_structures/test/Kinetic_data_structures/Delaunay_triangulation_3
|
||||
Kinetic_data_structures/test/Kinetic_data_structures/active_objects_tables
|
||||
Kinetic_data_structures/test/Kinetic_data_structures/cgal_test_with_cmake
|
||||
Kinetic_data_structures/test/Kinetic_data_structures/exact_kds
|
||||
Kinetic_data_structures/test/Kinetic_data_structures/instantaneous_kernel
|
||||
Kinetic_data_structures/test/Kinetic_data_structures/numbers
|
||||
|
|
@ -248,8 +226,6 @@ Kinetic_data_structures/test/Kinetic_data_structures/test_KDS_Delaunay_triangula
|
|||
Kinetic_data_structures/test/Kinetic_data_structures/timings
|
||||
Linear_cell_complex/demo/Linear_cell_complex/Linear_cell_complex_3.qrc.depends
|
||||
Linear_cell_complex/demo/Linear_cell_complex/Linear_cell_complex_3_demo
|
||||
Linear_cell_complex/demo/Linear_cell_complex/cgal_test_with_cmake
|
||||
Linear_cell_complex/examples/Linear_cell_complex/cgal_test_with_cmake
|
||||
Linear_cell_complex/examples/Linear_cell_complex/linear_cell_complex_3
|
||||
Linear_cell_complex/examples/Linear_cell_complex/linear_cell_complex_3_triangulation
|
||||
Linear_cell_complex/examples/Linear_cell_complex/linear_cell_complex_3_with_colored_vertices
|
||||
|
|
@ -297,7 +273,6 @@ Mesh_2/demo/Mesh_2/*.core
|
|||
Mesh_2/demo/Mesh_2/*.moc
|
||||
Mesh_2/demo/Mesh_2/.*.deps
|
||||
Mesh_2/demo/Mesh_2/Makefile
|
||||
Mesh_2/demo/Mesh_2/cgal_test_with_cmake
|
||||
Mesh_2/demo/Mesh_2/conform
|
||||
Mesh_2/demo/Mesh_2/depends
|
||||
Mesh_2/demo/Mesh_2/filename.edg
|
||||
|
|
@ -309,7 +284,6 @@ Mesh_2/demo/Mesh_2/semantic.cache
|
|||
Mesh_2/doxygen
|
||||
Mesh_2/examples/Mesh_2/*.core
|
||||
Mesh_2/examples/Mesh_2/.*.deps
|
||||
Mesh_2/examples/Mesh_2/cgal_test_with_cmake
|
||||
Mesh_2/examples/Mesh_2/conform
|
||||
Mesh_2/examples/Mesh_2/conforming
|
||||
Mesh_2/examples/Mesh_2/depends
|
||||
|
|
@ -324,7 +298,6 @@ Mesh_2/test/Mesh_2/*.core
|
|||
Mesh_2/test/Mesh_2/.*.deps
|
||||
Mesh_2/test/Mesh_2/Makefile
|
||||
Mesh_2/test/Mesh_2/bench_double_map
|
||||
Mesh_2/test/Mesh_2/cgal_test_with_cmake
|
||||
Mesh_2/test/Mesh_2/conform_plus
|
||||
Mesh_2/test/Mesh_2/depends
|
||||
Mesh_2/test/Mesh_2/my_makefile
|
||||
|
|
@ -373,7 +346,6 @@ Mesh_3/examples/Mesh_3/.*.deps
|
|||
Mesh_3/examples/Mesh_3/random-image.inr
|
||||
Mesh_3/examples/Mesh_3/Makefile
|
||||
Mesh_3/examples/Mesh_3/applications
|
||||
Mesh_3/examples/Mesh_3/cgal_test_with_cmake
|
||||
Mesh_3/examples/Mesh_3/cgal_to_medit
|
||||
Mesh_3/examples/Mesh_3/chair-after.mesh
|
||||
Mesh_3/examples/Mesh_3/chair-after.png
|
||||
|
|
@ -411,7 +383,6 @@ Mesh_3/examples/Mesh_3/test_off
|
|||
/Mesh_3/test/Mesh_3/a.lua
|
||||
/Mesh_3/test/Mesh_3/applications
|
||||
/Mesh_3/test/Mesh_3/*.cgal
|
||||
/Mesh_3/test/Mesh_3/cgal_test_with_cmake
|
||||
/Mesh_3/test/Mesh_3/cgal_to_medit
|
||||
/Mesh_3/test/Mesh_3/combined_spheres
|
||||
/Mesh_3/test/Mesh_3/combined_spheres-with-sphere-oracle
|
||||
|
|
@ -513,11 +484,9 @@ Min_ellipse_2/.tmp
|
|||
Min_ellipse_2/Makefile
|
||||
Min_ellipse_2/bin
|
||||
Min_ellipse_2/doc_ps
|
||||
Minkowski_sum_3/test/Minkowski_sum_3/cgal_test_with_cmake
|
||||
Nef_2/test/Nef_2/EPoint-test
|
||||
Nef_2/test/Nef_2/Nef_polyhedron_2-test
|
||||
Nef_2/test/Nef_2/Polynomial-test
|
||||
Nef_2/test/Nef_2/cgal_test_with_cmake
|
||||
Nef_2/test/Nef_2/nef_2_point_location
|
||||
Nef_3/demo/Nef_3/Makefile
|
||||
Nef_3/examples/Nef_3/Makefile
|
||||
|
|
@ -575,7 +544,6 @@ Number_types/test/Number_types/_test_valid_finite_double
|
|||
Number_types/test/Number_types/_test_valid_finite_float
|
||||
Number_types/test/Number_types/bench_interval
|
||||
Number_types/test/Number_types/cgal_test
|
||||
Number_types/test/Number_types/cgal_test_with_cmake
|
||||
Number_types/test/Number_types/constant
|
||||
Number_types/test/Number_types/double
|
||||
Number_types/test/Number_types/doubletst
|
||||
|
|
@ -626,7 +594,6 @@ Periodic_3_triangulation_3/demo/Periodic_3_triangulation_3/moc_*.cpp
|
|||
Periodic_3_triangulation_3/demo/Periodic_3_triangulation_3/ui_*.h
|
||||
Periodic_3_triangulation_3/demo/Periodic_Lloyd_3/Periodic_Lloyd_3.qch
|
||||
Periodic_3_triangulation_3/test/Periodic_3_triangulation_3/Test_tds_IO_3
|
||||
Periodic_3_triangulation_3/test/Periodic_3_triangulation_3/cgal_test_with_cmake
|
||||
Periodic_3_triangulation_3/test/Periodic_3_triangulation_3/test_periodic_3_alpha_shape_3
|
||||
Periodic_3_triangulation_3/test/Periodic_3_triangulation_3/test_periodic_3_delaunay_3
|
||||
Periodic_3_triangulation_3/test/Periodic_3_triangulation_3/test_periodic_3_delaunay_hierarchy_3
|
||||
|
|
@ -637,7 +604,6 @@ Periodic_3_triangulation_3/test/Periodic_3_triangulation_3/test_periodic_3_trian
|
|||
Periodic_3_triangulation_3/test/Periodic_3_triangulation_3/test_periodic_3_triangulation_traits_H_3
|
||||
Periodic_3_triangulation_3/test/Periodic_3_triangulation_3/test_periodic_3_triangulation_traits_SC_3
|
||||
Periodic_3_triangulation_3/test/Periodic_3_triangulation_3/test_periodic_3_triangulation_traits_SH_3
|
||||
Point_set_2/test/Point_set_2/cgal_test_with_cmake
|
||||
Point_set_2/test/Point_set_2/nearest_nb1
|
||||
Point_set_2/test/Point_set_2/nearest_nb_fcn
|
||||
Point_set_2/test/Point_set_2/range_search_fcn
|
||||
|
|
@ -683,7 +649,6 @@ Point_set_processing_3/test/Point_set_processing_3/smoothing_test
|
|||
/Polygon_mesh_processing/test/Polygon_mesh_processing/elephant-oriented.off
|
||||
/Polygon_mesh_processing/test/Polygon_mesh_processing/elephant-shuffled.off
|
||||
/Polygon_mesh_processing/test/Polygon_mesh_processing/blobby_2cc_no_id.off
|
||||
/Polygon_mesh_processing/test/Polygon_mesh_processing/cgal_test_with_cmake
|
||||
/Polygon_mesh_processing/test/Polygon_mesh_processing/data/U.polylines.txt.off
|
||||
/Polygon_mesh_processing/test/Polygon_mesh_processing/data/hole1.txt.off
|
||||
/Polygon_mesh_processing/test/Polygon_mesh_processing/data/hole2.txt.off
|
||||
|
|
@ -707,7 +672,6 @@ Polyhedron/demo/Polyhedron/snapshot.*
|
|||
Polyhedron/demo/Polyhedron/ui_*.h
|
||||
Polyhedron/test/Polyhedron/*.kdev*
|
||||
Polyhedron/test/Polyhedron/Makefile
|
||||
Polyhedron/test/Polyhedron/cgal_test_with_cmake
|
||||
Polyhedron/test/Polyhedron/test_polyhedron
|
||||
Polynomial/test/Polynomial/Exponent_vector
|
||||
Polynomial/test/Polynomial/Interpolator
|
||||
|
|
@ -715,7 +679,6 @@ Polynomial/test/Polynomial/Polynomial_traits_d
|
|||
Polynomial/test/Polynomial/Polynomial_type_generator
|
||||
Polynomial/test/Polynomial/Polynomial_using_core
|
||||
Polynomial/test/Polynomial/Polynomial_using_leda
|
||||
Polynomial/test/Polynomial/cgal_test_with_cmake
|
||||
Polynomial/test/Polynomial/modular_gcd_utcf_algorithm_M
|
||||
Polynomial/test/Polynomial/modular_gcd_utcf_dfai
|
||||
Polynomial/test/Polynomial/modular_gcd_utcf_pure_wang
|
||||
|
|
@ -745,10 +708,8 @@ Polytope_distance_d/.obj
|
|||
Polytope_distance_d/.tmp
|
||||
Polytope_distance_d/Makefile
|
||||
Polytope_distance_d/bin
|
||||
Polytope_distance_d/test/Polytope_distance_d/cgal_test_with_cmake
|
||||
Polytope_distance_d/test/Polytope_distance_d/test_Polytope_distance_d_d
|
||||
Principal_component_analysis/test/Principal_component_analysis/bounding_box
|
||||
Principal_component_analysis/test/Principal_component_analysis/cgal_test_with_cmake
|
||||
Principal_component_analysis/test/Principal_component_analysis/linear_least_squares_fitting_circles_2
|
||||
Principal_component_analysis/test/Principal_component_analysis/linear_least_squares_fitting_cuboids_3
|
||||
Principal_component_analysis/test/Principal_component_analysis/linear_least_squares_fitting_points_2
|
||||
|
|
@ -773,7 +734,6 @@ Principal_component_analysis/test/Principal_component_analysis/test_linear_least
|
|||
Principal_component_analysis/test/Principal_component_analysis/test_linear_least_squares_fitting_tetrahedra_3
|
||||
Principal_component_analysis/test/Principal_component_analysis/test_linear_least_squares_fitting_triangles_2
|
||||
Principal_component_analysis/test/Principal_component_analysis/test_linear_least_squares_fitting_triangles_3
|
||||
/Profiling_tools/test/Profiling_tools/cgal_test_with_cmake
|
||||
/Profiling_tools/test/Profiling_tools/test_memory_sizer
|
||||
/Profiling_tools/test/Profiling_tools/test_timer
|
||||
QP_solver/documentation/Degeneracies.aux
|
||||
|
|
@ -805,7 +765,6 @@ Ridges_3/examples/Ridges_3/Compute_Ridges_Umbilics
|
|||
Ridges_3/examples/Ridges_3/Makefile
|
||||
Ridges_3/test/Ridges_3/Makefile
|
||||
Ridges_3/test/Ridges_3/ridge_test
|
||||
STL_Extension/test/STL_Extension/cgal_test_with_cmake
|
||||
STL_Extension/test/STL_Extension/test_Cache
|
||||
STL_Extension/test/STL_Extension/test_Compact_container
|
||||
STL_Extension/test/STL_Extension/test_Concatenate_iterator
|
||||
|
|
@ -827,7 +786,6 @@ STL_Extension/test/STL_Extension/test_nth_element
|
|||
STL_Extension/test/STL_Extension/test_stl_extension
|
||||
STL_Extension/test/STL_Extension/test_type_traits
|
||||
STL_Extension/test/STL_Extension/test_vector
|
||||
SearchStructures/test/RangeSegmentTrees/cgal_test_with_cmake
|
||||
SearchStructures/test/RangeSegmentTrees/test_segment_tree_set_2
|
||||
Skin_surface_3/.cdtproject
|
||||
Skin_surface_3/.project
|
||||
|
|
@ -838,7 +796,6 @@ Skin_surface_3/test/Skin_surface_3/err.txt
|
|||
Skin_surface_3/test/Skin_surface_3/makefile
|
||||
Skin_surface_3/test/Skin_surface_3/msgs.txt
|
||||
Skin_surface_3/test/Skin_surface_3/subdivision_test
|
||||
Spatial_sorting/test/Spatial_sorting/cgal_test_with_cmake
|
||||
Stream_lines_2/demo/Stream_lines_2/Makefile
|
||||
Stream_lines_2/demo/Stream_lines_2/streamlines
|
||||
Surface_mesh_parameterization/examples/Surface_mesh_parameterization/*.eps
|
||||
|
|
@ -966,20 +923,15 @@ Triangulation/test/Triangulation/output-pcds*
|
|||
Triangulation/test/Triangulation/pc
|
||||
Triangulation/test/Triangulation/pcds
|
||||
Triangulation/test/Triangulation/torture
|
||||
/Triangulation/examples/Triangulation/cgal_test_with_cmake
|
||||
/Triangulation/test/Triangulation/cgal_test_with_cmake
|
||||
/Triangulation/test/Triangulation/output-tds-*
|
||||
Triangulation_2/cgal_test_with_cmake
|
||||
Triangulation_2/demo/Triangulation_2/Makefile
|
||||
Triangulation_2/demo/Triangulation_2/constrained
|
||||
Triangulation_2/demo/Triangulation_2/constrained_delaunay_triangulation_2
|
||||
Triangulation_2/demo/Triangulation_2/delaunay_triangulation_2
|
||||
Triangulation_2/demo/Triangulation_2/regular_triangulation_2
|
||||
Triangulation_2/examples/Triangulation_2/cgal_test_with_cmake
|
||||
Triangulation_2/examples/Triangulation_2/regular
|
||||
Triangulation_2/test/Triangulation_2/Makefile
|
||||
Triangulation_2/test/Triangulation_2/T??.triangulation
|
||||
Triangulation_2/test/Triangulation_2/cgal_test_with_cmake
|
||||
Triangulation_2/test/Triangulation_2/file_tds*
|
||||
Triangulation_2/test/Triangulation_2/makefile
|
||||
Triangulation_2/test/Triangulation_2/test_cdt_degenerate_case
|
||||
|
|
@ -997,10 +949,8 @@ Triangulation_2/test/Triangulation_2/test_triangulation_2_bis
|
|||
Triangulation_2/test/Triangulation_2/test_triangulation_geom_traits
|
||||
Triangulation_2/test/Triangulation_2/test_triangulation_tds
|
||||
Triangulation_2/test/Triangulation_2/vrml_tds*
|
||||
Triangulation_3/benchmark/Triangulation_3/cgal_test_with_cmake
|
||||
Triangulation_3/benchmark/Triangulation_3/simple
|
||||
Triangulation_3/examples/Triangulation_3/adding_handles_3
|
||||
Triangulation_3/examples/Triangulation_3/cgal_test_with_cmake
|
||||
Triangulation_3/examples/Triangulation_3/color
|
||||
Triangulation_3/examples/Triangulation_3/fast_location_3
|
||||
Triangulation_3/examples/Triangulation_3/find_conflicts_3
|
||||
|
|
@ -1026,7 +976,6 @@ Triangulation_3/test/Triangulation_3/Test8_triangulation_IO_3_binary
|
|||
Triangulation_3/test/Triangulation_3/Test??_triangulation_IO_3
|
||||
Triangulation_3/test/Triangulation_3/Test?_triangulation_IO_3
|
||||
Triangulation_3/test/Triangulation_3/Test_tds_IO_3
|
||||
Triangulation_3/test/Triangulation_3/cgal_test_with_cmake
|
||||
Triangulation_3/test/Triangulation_3/makefile
|
||||
Triangulation_3/test/Triangulation_3/test_delaunay_3
|
||||
Triangulation_3/test/Triangulation_3/test_delaunay_hierarchy_3
|
||||
|
|
@ -1083,7 +1032,6 @@ ProgramOutput*
|
|||
ErrorOutput*
|
||||
CompilerOutput*
|
||||
error.txt
|
||||
cgal_test_with_cmake.log
|
||||
|
||||
# File created by the Semantic Bovinator (an Emacs package)
|
||||
semantic.cache
|
||||
|
|
@ -1140,9 +1088,7 @@ Doxyfile
|
|||
gmon.*
|
||||
|
||||
# Unsorted file names:
|
||||
/Point_set_processing_3/test/Point_set_processing_3/cgal_test_with_cmake
|
||||
/Point_set_processing_3/test/Point_set_processing_3/read_test
|
||||
/Nef_S2/test/Nef_S2/cgal_test_with_cmake
|
||||
/Arrangement_on_surface_2/test/Arrangement_on_surface_2/construction_test_suite_generator
|
||||
/Arrangement_on_surface_2/test/Arrangement_on_surface_2/ex_kernel_point
|
||||
/Arrangement_on_surface_2/test/Arrangement_on_surface_2/ex_kernel_segment
|
||||
|
|
@ -1190,15 +1136,11 @@ gmon.*
|
|||
/Principal_component_analysis/examples/Principal_component_analysis/barycenter
|
||||
/Principal_component_analysis/examples/Principal_component_analysis/bounding_box
|
||||
/Principal_component_analysis/examples/Principal_component_analysis/centroid
|
||||
/Principal_component_analysis/examples/Principal_component_analysis/cgal_test_with_cmake
|
||||
/Principal_component_analysis/examples/Principal_component_analysis/linear_least_squares_fitting_points_2
|
||||
/Principal_component_analysis/examples/Principal_component_analysis/linear_least_squares_fitting_triangles_3
|
||||
/Polygon/examples/Polygon/cgal_test_with_cmake
|
||||
/Polygon/test/Polygon/cgal_test_with_cmake
|
||||
/Polygon/test/Polygon/polytest.ascii
|
||||
/Polygon/test/Polygon/polytest.binary
|
||||
/Polygon/test/Polygon/polytest.pretty
|
||||
/Stream_support/test/Stream_support/cgal_test_with_cmake
|
||||
/*.html
|
||||
/Snap_rounding_2/test/Snap_rounding_2/data/out
|
||||
Polygonal_surface_reconstruction/examples/build*
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(AABB_traits_benchmark)
|
||||
|
||||
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Core)
|
||||
|
|
@ -13,7 +13,7 @@ create_single_source_cgal_program("tree_construction.cpp")
|
|||
find_package(benchmark QUIET)
|
||||
if(benchmark_FOUND)
|
||||
create_single_source_cgal_program("tree_creation.cpp")
|
||||
target_link_libraries(tree_creation benchmark::benchmark)
|
||||
target_link_libraries(tree_creation PRIVATE benchmark::benchmark)
|
||||
else()
|
||||
message(STATUS "NOTICE: The benchmark 'tree_creation.cpp' requires the Google benchmark library, and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# This is the CMake script for compiling the AABB tree demo.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(AABB_tree_Demo)
|
||||
|
||||
# Find includes in corresponding build directories
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(AABB_tree_Examples)
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(AABB_tree_Tests)
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Advancing_front_surface_reconstruction_Examples)
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Advancing_front_surface_reconstruction_Tests)
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@
|
|||
|
||||
/*!
|
||||
\addtogroup PkgAlgebraicFoundationsRef
|
||||
\todo check generated documentation
|
||||
|
||||
\cgalPkgDescriptionBegin{Algebraic Foundations,PkgAlgebraicFoundations}
|
||||
\cgalPkgPicture{Algebraic_foundations2.png}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Algebraic_foundations_Examples)
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Algebraic_foundations_Tests)
|
||||
|
||||
find_package(CGAL REQUIRED COMPONENTS Core)
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@
|
|||
|
||||
/*!
|
||||
\addtogroup PkgAlgebraicKernelDRef
|
||||
\todo check generated documentation
|
||||
\cgalPkgDescriptionBegin{Algebraic Kernel,PkgAlgebraicKernelD}
|
||||
\cgalPkgPicture{Algebraic_kernel_d.png}
|
||||
\cgalPkgSummaryBegin
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Algebraic_kernel_d_Examples)
|
||||
|
||||
find_package(CGAL REQUIRED COMPONENTS Core)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Algebraic_kernel_d_Tests)
|
||||
|
||||
# CGAL and its components
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Algebraic_kernel_for_circles_Tests)
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Algebraic_kernel_for_spheres_Tests)
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Alpha_shapes_2_Examples)
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Alpha_shapes_2_Tests)
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Alpha_shapes_3_Demo)
|
||||
|
||||
# Find includes in corresponding build directories
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Alpha_shapes_3_Examples)
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Alpha_shapes_3_Tests)
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Alpha_wrap_3_Benchmark)
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ double mean_min_angle(const Mesh& mesh)
|
|||
const Triangle_3 tr = surface_mesh_face_to_triangle(f, mesh);
|
||||
std::array<FT, 3> angles = triangle_angles(tr);
|
||||
|
||||
FT min_angle = std::min({angles[0], angles[1], angles[2]});
|
||||
FT min_angle = (std::min)({angles[0], angles[1], angles[2]});
|
||||
|
||||
min_angle = min_angle * (180.0 / CGAL_PI);
|
||||
mean_min_angle += min_angle;
|
||||
|
|
@ -93,7 +93,7 @@ double mean_max_angle(const Mesh& mesh)
|
|||
const Triangle_3 tr = surface_mesh_face_to_triangle(f, mesh);
|
||||
std::array<FT, 3> angles = triangle_angles(tr);
|
||||
|
||||
FT max_angle = std::max({angles[0], angles[1], angles[2]});
|
||||
FT max_angle = (std::max)({angles[0], angles[1], angles[2]});
|
||||
|
||||
max_angle = max_angle * (180.0 / CGAL_PI);
|
||||
mean_max_angle += max_angle;
|
||||
|
|
@ -151,8 +151,8 @@ double mean_edge_ratio(const Mesh& mesh,
|
|||
FT a = std::sqrt(CGAL::squared_distance(tr[0], tr[1]));
|
||||
FT b = std::sqrt(CGAL::squared_distance(tr[1], tr[2]));
|
||||
FT c = std::sqrt(CGAL::squared_distance(tr[2], tr[0]));
|
||||
FT min_edge = std::min({a, b, c});
|
||||
FT max_edge = std::max({a, b, c});
|
||||
FT min_edge = (std::min)({a, b, c});
|
||||
FT max_edge = (std::max)({a, b, c});
|
||||
FT edge_ratio = max_edge / min_edge;
|
||||
|
||||
mean_edge_ratio += edge_ratio;
|
||||
|
|
@ -181,7 +181,7 @@ double mean_aspect_ratio(const Mesh& mesh,
|
|||
FT c = std::sqrt(CGAL::squared_distance(tr[2], tr[0]));
|
||||
FT s = 0.5 * (a + b + c);
|
||||
FT inscribed_radius = std::sqrt((s * (s - a) * (s - b) * (s - c)) / s);
|
||||
FT max_edge = std::max({a, b, c});
|
||||
FT max_edge = (std::max)({a, b, c});
|
||||
FT aspect_ratio = max_edge / inscribed_radius;
|
||||
aspect_ratio /= (2. * std::sqrt(3.)); // normalized
|
||||
mean_aspect_ratio += aspect_ratio;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Alpha_wrap_3_Examples)
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ template <typename Cb>
|
|||
class Cell_base_with_timestamp
|
||||
: public Cb
|
||||
{
|
||||
std::size_t time_stamp_;
|
||||
std::size_t time_stamp_ = std::size_t(-2);
|
||||
|
||||
public:
|
||||
using Has_timestamp = CGAL::Tag_true;
|
||||
|
|
@ -112,7 +112,7 @@ public:
|
|||
public:
|
||||
template <typename... Args>
|
||||
Cell_base_with_timestamp(const Args&... args)
|
||||
: Cb(args...), time_stamp_(-1)
|
||||
: Cb(args...)
|
||||
{ }
|
||||
|
||||
Cell_base_with_timestamp(const Cell_base_with_timestamp& other)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Alpha_wrap_3_Tests)
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
/// \ingroup PkgApolloniusGraph2Ref
|
||||
/*!
|
||||
\addtogroup PkgApolloniusGraph2Ref
|
||||
\todo check generated documentation
|
||||
\cgalPkgDescriptionBegin{2D Apollonius Graphs (Delaunay Graphs of Disks),PkgApolloniusGraph2}
|
||||
\cgalPkgPicture{CircleVoronoi.png}
|
||||
\cgalPkgSummaryBegin
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Apollonius_graph_2_Examples)
|
||||
|
||||
find_package(CGAL REQUIRED COMPONENTS Core)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Apollonius_graph_2_Tests)
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Arithmetic_kernel_Tests)
|
||||
|
||||
find_package(CGAL REQUIRED COMPONENTS Core)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Arrangement_on_surface_2_Demo)
|
||||
|
||||
if(NOT POLICY CMP0070 AND POLICY CMP0053)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Arrangement_on_surface_2_earth_Demo)
|
||||
|
||||
if(NOT POLICY CMP0070 AND POLICY CMP0053)
|
||||
|
|
@ -16,27 +16,24 @@ find_package(Qt6 QUIET COMPONENTS Core Gui OpenGL OpenGLWidgets Widgets Xml)
|
|||
find_package(CGAL COMPONENTS Qt6)
|
||||
find_package(nlohmann_json QUIET 3.9)
|
||||
|
||||
if (NOT CGAL_FOUND OR NOT CGAL_Qt6_FOUND OR NOT Qt6_FOUND OR NOT Boost_FOUND OR NOT nlohmann_json_FOUND)
|
||||
if (NOT CGAL_FOUND)
|
||||
set(MISSING_DEPS "the CGAL library, ${MISSING_DEPS}")
|
||||
endif()
|
||||
if (NOT CGAL_Qt6_FOUND)
|
||||
set(MISSING_DEPS "the CGAL Qt6 component, ${MISSING_DEPS}")
|
||||
endif()
|
||||
if (NOT Qt6_FOUND)
|
||||
set(MISSING_DEPS "the Qt6 library, ${MISSING_DEPS}")
|
||||
endif()
|
||||
if (NOT Boost_FOUND)
|
||||
set(MISSING_DEPS "the Boost library, ${MISSING_DEPS}")
|
||||
endif()
|
||||
if (NOT nlohmann_json_FOUND)
|
||||
set(MISSING_DEPS "JSON for Modern C++ 3.9+ (know as nlohmann_json), ${MISSING_DEPS}")
|
||||
endif()
|
||||
|
||||
message(STATUS "NOTICE: This project requires ${MISSING_DEPS} and will not be compiled.")
|
||||
return()
|
||||
set(MISSING_DEPS "")
|
||||
if (NOT CGAL_FOUND)
|
||||
set(MISSING_DEPS "the CGAL library, ${MISSING_DEPS}")
|
||||
endif()
|
||||
if (NOT CGAL_Qt6_FOUND)
|
||||
set(MISSING_DEPS "the CGAL Qt6 component, ${MISSING_DEPS}")
|
||||
endif()
|
||||
if (NOT Qt6_FOUND)
|
||||
set(MISSING_DEPS "the Qt6 library, ${MISSING_DEPS}")
|
||||
endif()
|
||||
if (NOT nlohmann_json_FOUND)
|
||||
set(MISSING_DEPS "JSON for Modern C++ 3.9+ (know as nlohmann_json), ${MISSING_DEPS}")
|
||||
endif()
|
||||
|
||||
if (MISSING_DEPS)
|
||||
message(STATUS "NOTICE: This project requires ${MISSING_DEPS}and will not be compiled.")
|
||||
return()
|
||||
endif()
|
||||
|
||||
|
||||
add_compile_definitions(QT_NO_VERSION_TAGGING)
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ void GUI_country_pick_handler::mouse_press_event(QMouseEvent* e) {
|
|||
auto sd = sqrt(d);
|
||||
auto t1 = (-b - sd) / (2 * a);
|
||||
auto t2 = (-b + sd) / (2 * a);
|
||||
if (t1 > 0 && t2 > 0) ti = std::min(t1, t2);
|
||||
if (t1 > 0 && t2 > 0) ti = (std::min)(t1, t2);
|
||||
else if (t1 > 0) ti = t1;
|
||||
else ti = t2;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -140,7 +140,7 @@ void Main_widget::initializeGL() {
|
|||
for (auto& [country_name, triangle_points] : country_triangles_map) {
|
||||
auto country_triangles = std::make_unique<Triangles>(triangle_points);
|
||||
auto color = QVector4D(rndm(), rndm(), rndm(), 1);
|
||||
auto m = std::max(color.x(), std::max(color.y(), color.z()));
|
||||
auto m = (std::max)(color.x(), (std::max)(color.y(), color.z()));
|
||||
color /= m;
|
||||
color *= m_dimming_factor;
|
||||
color.setW(1);
|
||||
|
|
|
|||
|
|
@ -973,6 +973,7 @@ public:
|
|||
* u_1\f$ to \f$ u_2\f$.
|
||||
* \pre `e1` and `e2` share a common end-vertex, such that the two other
|
||||
* end-vertices of the two edges are associated with `c`'s endpoints.
|
||||
* \pre `e1` and `e2` have the same direction.
|
||||
*/
|
||||
Halfedge_handle merge_edge(Halfedge_handle e1,
|
||||
Halfedge_handle e2,
|
||||
|
|
|
|||
|
|
@ -66,7 +66,6 @@ namespace ArrTraits {}
|
|||
|
||||
/*!
|
||||
\addtogroup PkgArrangementOnSurface2Ref
|
||||
\todo check generated documentation
|
||||
\cgalPkgDescriptionBegin{2D Arrangements,PkgArrangementOnSurface2}
|
||||
\cgalPkgPicture{Arrangement_2.png}
|
||||
\cgalPkgSummaryBegin
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Arrangement_on_surface_2_Examples)
|
||||
|
||||
find_package(CGAL REQUIRED COMPONENTS Core OPTIONAL_COMPONENTS Qt6)
|
||||
|
|
|
|||
|
|
@ -411,7 +411,7 @@ public:
|
|||
m_object(base.construct_opposite_2_object()), m_counter(counter) {}
|
||||
|
||||
/*! operates */
|
||||
X_monotone_curve_2 operator()(const X_monotone_curve_2& xc)
|
||||
X_monotone_curve_2 operator()(const X_monotone_curve_2& xc) const
|
||||
{ ++m_counter; return m_object(xc); }
|
||||
};
|
||||
|
||||
|
|
@ -429,7 +429,7 @@ public:
|
|||
m_object(base.compare_endpoints_xy_2_object()), m_counter(counter) {}
|
||||
|
||||
/*! operates */
|
||||
Comparison_result operator()(const X_monotone_curve_2& xc)
|
||||
Comparison_result operator()(const X_monotone_curve_2& xc) const
|
||||
{ ++m_counter; return m_object(xc); }
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Arrangement_on_surface_2_Tests)
|
||||
|
||||
enable_testing()
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -88,7 +88,7 @@ boost::graph_traits<Graph>::edge_iterator ei;
|
|||
Algorithms obtain incidence information in graphs with the help of global
|
||||
functions such as:
|
||||
- `std::pair<vertex_iterator,vertex_iterator> vertices(const Graph& g);` to obtain an iterator range providing access to all the vertices, or
|
||||
- `int num_vertices(const Graph&);` to obtain the number of vertices of a graph, or
|
||||
- `vertices_size_type num_vertices(const Graph&);` to obtain the number of vertices of a graph, or
|
||||
- `vertex_descriptor source(edge_descriptor, const Graph&);` to obtain the source vertex of an edge.
|
||||
|
||||
Note, that the way we have written the types is a simplification; in reality,
|
||||
|
|
|
|||
|
|
@ -40,6 +40,6 @@ faces(const FaceListGraph& g);
|
|||
This is the case for implementations only marking faces deleted in the face container.
|
||||
*/
|
||||
template <typename FaceListGraph>
|
||||
boost::graph_traits<FaceListGraph>::face_size_type
|
||||
boost::graph_traits<FaceListGraph>::faces_size_type
|
||||
num_faces(const FaceListGraph& g);
|
||||
|
||||
|
|
|
|||
|
|
@ -40,6 +40,6 @@ halfedges(const HalfedgeListGraph& g);
|
|||
This is the case for implementations only marking halfedges deleted in the halfedge container.
|
||||
*/
|
||||
template <typename HalfedgeListGraph>
|
||||
boost::graph_traits<HalfedgeListGraph>::halfedge_size_type
|
||||
boost::graph_traits<HalfedgeListGraph>::halfedges_size_type
|
||||
num_halfedges(const HalfedgeListGraph& g);
|
||||
|
||||
|
|
|
|||
|
|
@ -741,6 +741,7 @@ user might encounter.
|
|||
- `CGAL::Euler::join_vertex()`
|
||||
- `CGAL::Euler::make_hole()`
|
||||
- `CGAL::Euler::remove_center_vertex()`
|
||||
- `CGAL::Euler::remove_degree_2_vertex()`
|
||||
- `CGAL::Euler::remove_face()`
|
||||
- `CGAL::Euler::split_edge()`
|
||||
- `CGAL::Euler::split_face()`
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_CMakeLists
|
||||
# This is the CMake script for compiling a set of CGAL applications.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(BGL_LCC_Examples)
|
||||
|
||||
# CGAL and its components
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ int main(int argc, char** argv)
|
|||
// Here we start at an arbitrary vertex
|
||||
// Any other vertex could be the starting point
|
||||
vertex_iterator vb, ve;
|
||||
boost::tie(vb,ve)=vertices(lcc);
|
||||
std::tie(vb,ve)=vertices(lcc);
|
||||
vertex_descriptor vd = *vb;
|
||||
|
||||
std::cout << "We compute distances to " << vd->point() << std::endl;
|
||||
|
|
@ -45,7 +45,7 @@ int main(int argc, char** argv)
|
|||
boost::on_tree_edge()))));
|
||||
|
||||
// Traverse all vertices and show at what distance they are
|
||||
for(boost::tie(vb,ve)=vertices(lcc); vb!=ve; ++vb)
|
||||
for(std::tie(vb,ve)=vertices(lcc); vb!=ve; ++vb)
|
||||
{
|
||||
vd = *vb;
|
||||
std::cout<<vd->point()<<" is "<<distance[vd->id()]<<" hops away."<<std::endl;
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ OutputIterator adjacent_vertices_V2(const LCC& g,
|
|||
OutputIterator out)
|
||||
{
|
||||
halfedge_around_target_iterator hi, he;
|
||||
for(boost::tie(hi, he) = halfedges_around_target(halfedge(vd,g),g); hi != he; ++hi)
|
||||
for(std::tie(hi, he) = halfedges_around_target(halfedge(vd,g),g); hi != he; ++hi)
|
||||
{
|
||||
*out++ = source(*hi,g);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ void kruskal(const LCC& lcc)
|
|||
"point [ \n";
|
||||
|
||||
vertex_iterator vb, ve;
|
||||
for(boost::tie(vb,ve) = vertices(lcc); vb!=ve; ++vb){
|
||||
for(std::tie(vb,ve) = vertices(lcc); vb!=ve; ++vb){
|
||||
std::cout << (*vb)->point() << "\n";
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ void calculate_face_normals(const HalfedgeGraph& g,
|
|||
typedef typename boost::property_traits<NormalMap>::value_type normal;
|
||||
|
||||
face_iterator fb, fe;
|
||||
for(boost::tie(fb, fe) = faces(g); fb != fe; ++fb)
|
||||
for(std::tie(fb, fe) = faces(g); fb != fe; ++fb)
|
||||
{
|
||||
halfedge_descriptor edg = halfedge(*fb, g);
|
||||
halfedge_descriptor edgb = edg;
|
||||
|
|
|
|||
|
|
@ -42,10 +42,10 @@ void fct(const LCC& lcc)
|
|||
std::cout << vd->point() << std::endl;
|
||||
}
|
||||
|
||||
std::cout << "boost::tie + std::for_each" << std::endl;
|
||||
std::cout << "std::tie + std::for_each" << std::endl;
|
||||
vertex_iterator vb, ve;
|
||||
|
||||
boost::tie(vb,ve) = vertices_range(lcc);
|
||||
std::tie(vb,ve) = vertices_range(lcc);
|
||||
std::for_each(vb,ve, Fct());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ int main(int argc, char** argv)
|
|||
typedef boost::transform_iterator<Source<LCC>,halfedge_around_target_iterator> adjacent_vertex_iterator;
|
||||
|
||||
halfedge_around_target_iterator hb,he;
|
||||
boost::tie(hb,he) = halfedges_around_target(halfedge(vd,lcc),lcc);
|
||||
std::tie(hb,he) = halfedges_around_target(halfedge(vd,lcc),lcc);
|
||||
adjacent_vertex_iterator avib, avie;
|
||||
avib = boost::make_transform_iterator(hb, Source<LCC>(lcc));
|
||||
avie = boost::make_transform_iterator(he, Source<LCC>(lcc));
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_CMakeLists
|
||||
# This is the CMake script for compiling a set of CGAL applications.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(BGL_OpenMesh_Examples)
|
||||
|
||||
# CGAL and its components
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(BGL_arrangement_2_Examples)
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_CMakeLists
|
||||
# This is the CMake script for compiling a set of CGAL applications.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
|
||||
project(BGL_graphcut_Examples)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_CMakeLists
|
||||
# This is the CMake script for compiling a set of CGAL applications.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(BGL_polyhedron_3_Examples)
|
||||
|
||||
# CGAL and its components
|
||||
|
|
|
|||
|
|
@ -24,9 +24,9 @@ int main(int argc, char** argv) {
|
|||
vertex_iterator vb, ve;
|
||||
int index = 0;
|
||||
|
||||
// boost::tie assigns the first and second element of the std::pair
|
||||
// std::tie assigns the first and second element of the std::pair
|
||||
// returned by boost::vertices to the variables vit and ve
|
||||
for(boost::tie(vb,ve)=vertices(P); vb!=ve; ++vb ){
|
||||
for(std::tie(vb,ve)=vertices(P); vb!=ve; ++vb ){
|
||||
vertex_descriptor vd = *vb;
|
||||
vd->id() = index++;
|
||||
}
|
||||
|
|
@ -37,7 +37,7 @@ int main(int argc, char** argv) {
|
|||
|
||||
// Here we start at an arbitrary vertex
|
||||
// Any other vertex could be the starting point
|
||||
boost::tie(vb,ve)=vertices(P);
|
||||
std::tie(vb,ve)=vertices(P);
|
||||
vertex_descriptor vd = *vb;
|
||||
|
||||
std::cout << "We compute distances to " << vd->point() << std::endl;
|
||||
|
|
@ -54,7 +54,7 @@ int main(int argc, char** argv) {
|
|||
|
||||
|
||||
// Traverse all vertices and show at what distance they are
|
||||
for(boost::tie(vb,ve)=vertices(P); vb!=ve; ++vb ){
|
||||
for(std::tie(vb,ve)=vertices(P); vb!=ve; ++vb ){
|
||||
vd = *vb;
|
||||
std::cout << vd->point() << " is " << distance[vd->id()] << " hops away" << std::endl;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ adjacent_vertices_V2(const Polyhedron& g,
|
|||
{
|
||||
halfedge_around_target_iterator hi, he;
|
||||
|
||||
for(boost::tie(hi, he) = halfedges_around_target(halfedge(vd,g),g); hi != he; ++hi)
|
||||
for(std::tie(hi, he) = halfedges_around_target(halfedge(vd,g),g); hi != he; ++hi)
|
||||
{
|
||||
*out++ = source(*hi,g);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,9 +33,9 @@ kruskal(const Polyhedron& P)
|
|||
vertex_iterator vb, ve;
|
||||
int index = 0;
|
||||
|
||||
// boost::tie assigns the first and second element of the std::pair
|
||||
// std::tie assigns the first and second element of the std::pair
|
||||
// returned by boost::vertices to the variables vb and ve
|
||||
for(boost::tie(vb, ve)=vertices(P); vb!=ve; ++vb){
|
||||
for(std::tie(vb, ve)=vertices(P); vb!=ve; ++vb){
|
||||
vertex_index_pmap[*vb]= index++;
|
||||
}
|
||||
|
||||
|
|
@ -59,7 +59,7 @@ kruskal(const Polyhedron& P)
|
|||
" coord Coordinate {\n"
|
||||
" point [ \n";
|
||||
|
||||
for(boost::tie(vb, ve) = vertices(P); vb!=ve; ++vb){
|
||||
for(std::tie(vb, ve) = vertices(P); vb!=ve; ++vb){
|
||||
std::cout << " " << (*vb)->point() << "\n";
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ kruskal( const Polyhedron& P)
|
|||
"point [ \n";
|
||||
|
||||
vertex_iterator vb, ve;
|
||||
for(boost::tie(vb,ve) = vertices(P); vb!=ve; ++vb){
|
||||
for(std::tie(vb,ve) = vertices(P); vb!=ve; ++vb){
|
||||
std::cout << (*vb)->point() << "\n";
|
||||
}
|
||||
|
||||
|
|
@ -75,9 +75,9 @@ int main() {
|
|||
vertex_iterator vb, ve;
|
||||
int index = 0;
|
||||
|
||||
// boost::tie assigns the first and second element of the std::pair
|
||||
// std::tie assigns the first and second element of the std::pair
|
||||
// returned by boost::vertices to the variables vit and ve
|
||||
for(boost::tie(vb,ve)=vertices(P); vb!=ve; ++vb ){
|
||||
for(std::tie(vb,ve)=vertices(P); vb!=ve; ++vb ){
|
||||
vertex_descriptor vd = *vb;
|
||||
vd->id() = index++;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ void calculate_face_normals(const HalfedgeGraph& g,
|
|||
typedef typename boost::property_traits<NormalMap>::value_type normal;
|
||||
|
||||
face_iterator fb, fe;
|
||||
for(boost::tie(fb, fe) = faces(g); fb != fe; ++fb)
|
||||
for(std::tie(fb, fe) = faces(g); fb != fe; ++fb)
|
||||
{
|
||||
halfedge_descriptor edg = halfedge(*fb, g);
|
||||
halfedge_descriptor edgb = edg;
|
||||
|
|
|
|||
|
|
@ -40,10 +40,10 @@ void fct(const Polyhedron& p)
|
|||
std::cout << vd->point() << std::endl;
|
||||
}
|
||||
|
||||
std::cout << "boost::tie + std::for_each" << std::endl;
|
||||
std::cout << "std::tie + std::for_each" << std::endl;
|
||||
vertex_iterator vb, ve;
|
||||
|
||||
boost::tie(vb,ve) = vertices_range(p);
|
||||
std::tie(vb,ve) = vertices_range(p);
|
||||
std::for_each(vb,ve, Fct());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ int main(int argc, char** argv)
|
|||
typedef boost::transform_iterator<Source<Polyhedron>,halfedge_around_target_iterator> adjacent_vertex_iterator;
|
||||
|
||||
halfedge_around_target_iterator hb,he;
|
||||
boost::tie(hb,he) = halfedges_around_target(halfedge(vd,P),P);
|
||||
std::tie(hb,he) = halfedges_around_target(halfedge(vd,P),P);
|
||||
adjacent_vertex_iterator avib, avie;
|
||||
avib = boost::make_transform_iterator(hb, Source<Polyhedron>(P));
|
||||
avie = boost::make_transform_iterator(he, Source<Polyhedron>(P));
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(BGL_surface_mesh_Examples)
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ int main(int argc, char** argv)
|
|||
std::ofstream outxyz("out.xyz");
|
||||
outxyz.precision(17);
|
||||
boost::graph_traits<SM>::vertex_iterator vit, ve;
|
||||
boost::tie(vit, ve) = vertices(sm);
|
||||
std::tie(vit, ve) = vertices(sm);
|
||||
for(; vit!=ve; ++vit)
|
||||
{
|
||||
if(get(vertex_pid_map, *vit) == 0)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(BGL_triangulation_2_Examples)
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
|
|
|||
|
|
@ -306,7 +306,7 @@ edge(typename boost::graph_traits<Dual<P> >::vertex_descriptor u,
|
|||
const Dual<P>& dual)
|
||||
{
|
||||
typename boost::graph_traits<Dual<P> >::out_edge_iterator e, e_end;
|
||||
for(boost::tie(e, e_end) = out_edges(u, dual); e != e_end; ++e) {
|
||||
for(std::tie(e, e_end) = out_edges(u, dual); e != e_end; ++e) {
|
||||
if(target(*e, dual) == v)
|
||||
return std::make_pair(*e, true);
|
||||
}
|
||||
|
|
@ -391,7 +391,7 @@ halfedge(typename boost::graph_traits<Dual<P> >::vertex_descriptor u,
|
|||
const Dual<P>& dual)
|
||||
{
|
||||
typename boost::graph_traits<Dual<P> >::out_edge_iterator e, e_end;
|
||||
for(boost::tie(e, e_end) = out_edges(u, dual); e != e_end; ++e) {
|
||||
for(std::tie(e, e_end) = out_edges(u, dual); e != e_end; ++e) {
|
||||
if(target(*e, dual) == v)
|
||||
return std::make_pair(halfedge(*e, dual), true);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,10 +12,6 @@
|
|||
#ifndef CGAL_EULER_OPERATIONS_H
|
||||
#define CGAL_EULER_OPERATIONS_H
|
||||
|
||||
#include <stdexcept>
|
||||
#include <algorithm>
|
||||
#include <vector>
|
||||
|
||||
#include <boost/graph/graph_traits.hpp>
|
||||
#include <CGAL/boost/graph/properties.h>
|
||||
|
||||
|
|
@ -27,6 +23,10 @@
|
|||
|
||||
#include <boost/container/small_vector.hpp>
|
||||
|
||||
#include <algorithm>
|
||||
#include <stdexcept>
|
||||
#include <vector>
|
||||
|
||||
namespace CGAL {
|
||||
|
||||
/// \cond SKIP_IN_MANUAL
|
||||
|
|
@ -136,7 +136,7 @@ join_vertex(typename boost::graph_traits<Graph>::halfedge_descriptor h,
|
|||
CGAL_assertion( halfedge(v_to_remove, v, g).first == h );
|
||||
|
||||
halfedge_around_vertex_iterator ieb, iee;
|
||||
for(boost::tie(ieb, iee) = halfedges_around_target(hop, g); ieb != iee; ++ieb) {
|
||||
for(std::tie(ieb, iee) = halfedges_around_target(hop, g); ieb != iee; ++ieb) {
|
||||
CGAL_assertion( target(*ieb,g) == v_to_remove);
|
||||
set_target(*ieb ,v , g);
|
||||
}
|
||||
|
|
@ -615,7 +615,7 @@ bool can_add_face(const VertexRange& vrange, const PMesh& sm)
|
|||
for(std::size_t i=0; i < N; ++i){
|
||||
halfedge_descriptor hd;
|
||||
bool found;
|
||||
boost::tie(hd,found) = halfedge(face[i],face[i+1],sm);
|
||||
std::tie(hd,found) = halfedge(face[i],face[i+1],sm);
|
||||
if(found && (! is_border(hd,sm))){
|
||||
return false;
|
||||
}
|
||||
|
|
@ -1149,7 +1149,7 @@ void make_hole(typename boost::graph_traits<Graph>::halfedge_descriptor h,
|
|||
|
||||
face_descriptor fd = face(h, g);
|
||||
halfedge_around_face_iterator hafib, hafie;
|
||||
for(boost::tie(hafib, hafie) = halfedges_around_face(h, g);
|
||||
for(std::tie(hafib, hafie) = halfedges_around_face(h, g);
|
||||
hafib != hafie;
|
||||
++hafib){
|
||||
CGAL_assertion(! is_border(opposite(*hafib,g),g));
|
||||
|
|
@ -1361,7 +1361,7 @@ add_vertex_and_face_to_border(typename boost::graph_traits<Graph>::halfedge_desc
|
|||
internal::set_border(he2,g);
|
||||
|
||||
CGAL::Halfedge_around_face_iterator<Graph> hafib,hafie;
|
||||
for(boost::tie(hafib, hafie) = halfedges_around_face(ohe1, g);
|
||||
for(std::tie(hafib, hafie) = halfedges_around_face(ohe1, g);
|
||||
hafib != hafie;
|
||||
++hafib){
|
||||
set_face(*hafib, f, g);
|
||||
|
|
@ -1421,7 +1421,7 @@ add_face_to_border(typename boost::graph_traits<Graph>::halfedge_descriptor h1,
|
|||
internal::set_border(newhop, g);
|
||||
|
||||
CGAL::Halfedge_around_face_iterator<Graph> hafib,hafie;
|
||||
for(boost::tie(hafib, hafie) = halfedges_around_face(newh, g);
|
||||
for(std::tie(hafib, hafie) = halfedges_around_face(newh, g);
|
||||
hafib != hafie;
|
||||
++hafib){
|
||||
set_face(*hafib, f, g);
|
||||
|
|
@ -1458,7 +1458,7 @@ does_satisfy_link_condition(typename boost::graph_traits<Graph>::edge_descriptor
|
|||
// The following loop checks the link condition for v0_v1.
|
||||
// Specifically, that for every vertex 'k' adjacent to both 'p and 'q', 'pkq' is a face of the mesh.
|
||||
//
|
||||
for ( boost::tie(eb1,ee1) = halfedges_around_source(v0,g) ; eb1 != ee1 ; ++ eb1 )
|
||||
for ( std::tie(eb1,ee1) = halfedges_around_source(v0,g) ; eb1 != ee1 ; ++ eb1 )
|
||||
{
|
||||
halfedge_descriptor v0_k = *eb1;
|
||||
|
||||
|
|
@ -1466,7 +1466,7 @@ does_satisfy_link_condition(typename boost::graph_traits<Graph>::edge_descriptor
|
|||
{
|
||||
vertex_descriptor k = target(v0_k,g);
|
||||
|
||||
for ( boost::tie(eb2,ee2) = halfedges_around_source(k,g) ; eb2 != ee2 ; ++ eb2 )
|
||||
for ( std::tie(eb2,ee2) = halfedges_around_source(k,g) ; eb2 != ee2 ; ++ eb2 )
|
||||
{
|
||||
halfedge_descriptor k_v1 = *eb2;
|
||||
|
||||
|
|
@ -1866,10 +1866,95 @@ bool satisfies_link_condition(typename boost::graph_traits<Graph>::edge_descript
|
|||
}
|
||||
/// \endcond
|
||||
#endif
|
||||
|
||||
/**
|
||||
* removes the target vertex of `h`, merging its incident edges into a single edge linking
|
||||
* the two vertices adjacent to the vertex being removed.
|
||||
*
|
||||
* \tparam Graph must be a model of `MutableFaceGraph`
|
||||
*
|
||||
* \param h halfedge descriptor
|
||||
* \param g the graph
|
||||
*
|
||||
* \returns an halfedge linking the two vertices adjacent to the vertex being removed.
|
||||
*
|
||||
* \pre `degree(target(h, g), g) == 2`.
|
||||
*
|
||||
* \sa `remove_center_vertex()`
|
||||
*/
|
||||
|
||||
template <typename Graph>
|
||||
typename boost::graph_traits<Graph>::halfedge_descriptor
|
||||
remove_degree_2_vertex(const typename boost::graph_traits<Graph>::halfedge_descriptor h,
|
||||
Graph& g)
|
||||
{
|
||||
typedef boost::graph_traits<Graph> Traits;
|
||||
typedef typename Traits::vertex_descriptor vertex_descriptor;
|
||||
typedef typename Traits::halfedge_descriptor halfedge_descriptor;
|
||||
typedef typename Traits::face_descriptor face_descriptor;
|
||||
|
||||
CGAL_precondition(degree(target(h, g), g) == 2);
|
||||
|
||||
vertex_descriptor v = target(h, g);
|
||||
halfedge_descriptor h1 = h;
|
||||
halfedge_descriptor h2 = opposite(next(h1, g), g);
|
||||
|
||||
if(is_border(h1, g))
|
||||
std::swap(h1, h2);
|
||||
|
||||
vertex_descriptor v1 = source(h1, g);
|
||||
vertex_descriptor v2 = source(h2, g);
|
||||
|
||||
bool exists;
|
||||
halfedge_descriptor huv;
|
||||
std::tie(huv, exists) = halfedge(v1, v2, g);
|
||||
|
||||
if(is_border(h2, g))
|
||||
{
|
||||
CGAL_assertion(!is_border(h1, g));
|
||||
|
||||
if(exists)
|
||||
{
|
||||
Euler::remove_face(h1, g);
|
||||
return huv;
|
||||
}
|
||||
else
|
||||
{
|
||||
halfedge_descriptor oh1 = opposite(h1, g);
|
||||
halfedge_descriptor nnh1 = next(next(h1, g), g);
|
||||
halfedge_descriptor ph2 = prev(h2, g);
|
||||
face_descriptor f1 = face(h1, g);
|
||||
|
||||
set_target(h1, v2, g);
|
||||
set_halfedge(v2, ph2, g);
|
||||
set_next(h1, nnh1, g);
|
||||
set_next(ph2, oh1, g);
|
||||
set_halfedge(f1, h1, g); // in case it was nh1
|
||||
|
||||
remove_edge(edge(h2, g), g);
|
||||
remove_vertex(v, g);
|
||||
|
||||
return h1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
CGAL_assertion(!is_border(h1, g) && !is_border(h2, g));
|
||||
|
||||
halfedge_descriptor ph1 = prev(h1, g);
|
||||
halfedge_descriptor ph2 = prev(h2, g);
|
||||
Euler::remove_center_vertex(h, g);
|
||||
|
||||
if(exists)
|
||||
return huv;
|
||||
else
|
||||
return Euler::split_face(ph1, ph2, g);
|
||||
}
|
||||
}
|
||||
|
||||
/// @}
|
||||
|
||||
} // namespace Euler
|
||||
|
||||
} // namespace CGAL
|
||||
|
||||
#endif /* CGAL_EULER_OPERATIONS_H */
|
||||
|
|
|
|||
|
|
@ -895,7 +895,7 @@ vertices(const Face_filtered_graph<Graph, FIMap, VIMap, HIMap> & w)
|
|||
|
||||
typename Face_filtered_graph<Graph, FIMap, VIMap, HIMap> ::Is_simplex_valid predicate(&w);
|
||||
g_vertex_iterator b,e;
|
||||
boost::tie(b,e) = vertices(w.graph());
|
||||
std::tie(b,e) = vertices(w.graph());
|
||||
return make_range(vertex_iterator(predicate, b, e),
|
||||
vertex_iterator(predicate, e, e));
|
||||
}
|
||||
|
|
@ -912,7 +912,7 @@ edges(const Face_filtered_graph<Graph, FIMap, VIMap, HIMap> & w)
|
|||
|
||||
typename Face_filtered_graph<Graph, FIMap, VIMap, HIMap> ::Is_simplex_valid predicate(&w);
|
||||
g_edge_iterator b,e;
|
||||
boost::tie(b,e) = edges(w.graph());
|
||||
std::tie(b,e) = edges(w.graph());
|
||||
return make_range(edge_iterator(predicate, b, e),
|
||||
edge_iterator(predicate, e, e));
|
||||
}
|
||||
|
|
@ -931,7 +931,7 @@ out_edges(typename boost::graph_traits<Face_filtered_graph<Graph, FIMap, VIMap,
|
|||
|
||||
typename Face_filtered_graph<Graph, FIMap, VIMap, HIMap> ::Is_simplex_valid predicate(&w);
|
||||
g_out_edge_iterator b,e;
|
||||
boost::tie(b,e) = out_edges(v, w.graph());
|
||||
std::tie(b,e) = out_edges(v, w.graph());
|
||||
return make_range(out_edge_iterator(predicate, b, e),
|
||||
out_edge_iterator(predicate, e, e));
|
||||
}
|
||||
|
|
@ -950,7 +950,7 @@ in_edges(typename boost::graph_traits<Face_filtered_graph<Graph, FIMap, VIMap, H
|
|||
|
||||
typename Face_filtered_graph<Graph, FIMap, VIMap, HIMap> ::Is_simplex_valid predicate(&w);
|
||||
g_in_edge_iterator b,e;
|
||||
boost::tie(b,e) = in_edges(v, w.graph());
|
||||
std::tie(b,e) = in_edges(v, w.graph());
|
||||
return make_range(in_edge_iterator(predicate, b, e),
|
||||
in_edge_iterator(predicate, e, e));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -310,7 +310,7 @@ edge(typename boost::graph_traits<Graph_with_descriptor_with_graph<Graph> >::ver
|
|||
CGAL_assertion(in_same_graph(v,w));
|
||||
bool b;
|
||||
g_edge_descriptor ed;
|
||||
boost::tie(ed,b) = edge(u.descriptor, v.descriptor, *w.graph);
|
||||
std::tie(ed,b) = edge(u.descriptor, v.descriptor, *w.graph);
|
||||
return std::make_pair(edge_descriptor(ed,*w.graph),b);
|
||||
}
|
||||
|
||||
|
|
@ -320,7 +320,7 @@ CGAL::Iterator_range<typename boost::graph_traits<Graph_with_descriptor_with_gra
|
|||
vertices(const Graph_with_descriptor_with_graph<Graph> & w)
|
||||
{
|
||||
typename boost::graph_traits<Graph>::vertex_iterator b,e;
|
||||
boost::tie(b,e) = vertices(*w.graph);
|
||||
std::tie(b,e) = vertices(*w.graph);
|
||||
return std::make_pair(boost::make_transform_iterator(b,typename boost::graph_traits<Graph_with_descriptor_with_graph<Graph> >::V2V(*w.graph)),
|
||||
boost::make_transform_iterator(e,typename boost::graph_traits<Graph_with_descriptor_with_graph<Graph> >::V2V(*w.graph)));
|
||||
}
|
||||
|
|
@ -330,7 +330,7 @@ CGAL::Iterator_range<typename boost::graph_traits<Graph_with_descriptor_with_gra
|
|||
edges(const Graph_with_descriptor_with_graph<Graph> & w)
|
||||
{
|
||||
typename boost::graph_traits<Graph>::edge_iterator b,e;
|
||||
boost::tie(b,e) = edges(*w.graph);
|
||||
std::tie(b,e) = edges(*w.graph);
|
||||
return std::make_pair(boost::make_transform_iterator(b,typename boost::graph_traits<Graph_with_descriptor_with_graph<Graph> >::E2E(*w.graph)),
|
||||
boost::make_transform_iterator(e,typename boost::graph_traits<Graph_with_descriptor_with_graph<Graph> >::E2E(*w.graph)));
|
||||
}
|
||||
|
|
@ -342,7 +342,7 @@ out_edges(typename boost::graph_traits<Graph_with_descriptor_with_graph<Graph> >
|
|||
{
|
||||
CGAL_assertion(in_same_graph(v,w));
|
||||
typename boost::graph_traits<Graph>::out_edge_iterator b,e;
|
||||
boost::tie(b,e) = out_edges(v.descriptor, *w.graph);
|
||||
std::tie(b,e) = out_edges(v.descriptor, *w.graph);
|
||||
return std::make_pair(boost::make_transform_iterator(b,typename boost::graph_traits<Graph_with_descriptor_with_graph<Graph> >::E2E(*w.graph)),
|
||||
boost::make_transform_iterator(e,typename boost::graph_traits<Graph_with_descriptor_with_graph<Graph> >::E2E(*w.graph)));
|
||||
}
|
||||
|
|
@ -354,7 +354,7 @@ in_edges(typename boost::graph_traits<Graph_with_descriptor_with_graph<Graph> >:
|
|||
{
|
||||
CGAL_assertion(in_same_graph(v,w));
|
||||
typename boost::graph_traits<Graph>::in_edge_iterator b,e;
|
||||
boost::tie(b,e) = in_edges(v.descriptor, *w.graph);
|
||||
std::tie(b,e) = in_edges(v.descriptor, *w.graph);
|
||||
return std::make_pair(boost::make_transform_iterator(b,typename boost::graph_traits<Graph_with_descriptor_with_graph<Graph> >::E2E(*w.graph)),
|
||||
boost::make_transform_iterator(e,typename boost::graph_traits<Graph_with_descriptor_with_graph<Graph> >::E2E(*w.graph)));
|
||||
}
|
||||
|
|
@ -557,7 +557,7 @@ halfedge(typename boost::graph_traits< Graph_with_descriptor_with_graph<Graph> >
|
|||
bool b;
|
||||
CGAL_assertion(in_same_graph(u,w));
|
||||
CGAL_assertion(in_same_graph(v,w));
|
||||
boost::tie(hd,b) = halfedge(u.descriptor, v.descriptor, *w.graph);
|
||||
std::tie(hd,b) = halfedge(u.descriptor, v.descriptor, *w.graph);
|
||||
return std::make_pair(halfedge_descriptor(hd,*w.graph),b);
|
||||
}
|
||||
|
||||
|
|
@ -621,7 +621,7 @@ CGAL::Iterator_range<typename boost::graph_traits<Graph_with_descriptor_with_gra
|
|||
halfedges(const Graph_with_descriptor_with_graph<Graph> & w)
|
||||
{
|
||||
typename boost::graph_traits<Graph>::halfedge_iterator b,e;
|
||||
boost::tie(b,e) = halfedges(*w.graph);
|
||||
std::tie(b,e) = halfedges(*w.graph);
|
||||
return std::make_pair(boost::make_transform_iterator(b, typename boost::graph_traits<Graph_with_descriptor_with_graph<Graph> >::H2H(*w.graph)),
|
||||
boost::make_transform_iterator(e, typename boost::graph_traits<Graph_with_descriptor_with_graph<Graph> >::H2H(*w.graph)));
|
||||
}
|
||||
|
|
@ -661,7 +661,7 @@ CGAL::Iterator_range<typename boost::graph_traits<Graph_with_descriptor_with_gra
|
|||
faces(const Graph_with_descriptor_with_graph<Graph> & w)
|
||||
{
|
||||
typename boost::graph_traits<Graph>::face_iterator b,e;
|
||||
boost::tie(b,e) = faces(*w.graph);
|
||||
std::tie(b,e) = faces(*w.graph);
|
||||
return std::make_pair(boost::make_transform_iterator(b,typename boost::graph_traits<Graph_with_descriptor_with_graph<Graph> >::F2F(*w.graph)),
|
||||
boost::make_transform_iterator(e,typename boost::graph_traits<Graph_with_descriptor_with_graph<Graph> >::F2F(*w.graph)));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ void partition_dual_graph(const TriangleMesh& tm,
|
|||
|
||||
// fill the adjacency info
|
||||
face_iterator fit, fe;
|
||||
boost::tie(fit, fe) = faces(tm);
|
||||
std::tie(fit, fe) = faces(tm);
|
||||
for(int i=0, j=0; fit!=fe; ++fit, ++i)
|
||||
{
|
||||
eptr[i] = j;
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ struct Output_vertex_partition_ids
|
|||
VertexPartitionIDPmap vertex_partition_id_map)
|
||||
{
|
||||
typename boost::graph_traits<TriangleMesh>::vertex_iterator vit, ve;
|
||||
boost::tie(vit, ve) = vertices(tm);
|
||||
std::tie(vit, ve) = vertices(tm);
|
||||
for(; vit!=ve; ++vit)
|
||||
put(vertex_partition_id_map, *vit, npart[get(indices, *vit)]);
|
||||
}
|
||||
|
|
@ -64,7 +64,7 @@ struct Output_face_partition_ids
|
|||
FacePartitionIDPmap face_partition_id_map)
|
||||
{
|
||||
typename boost::graph_traits<TriangleMesh>::face_iterator fit, fe;
|
||||
boost::tie(fit, fe) = faces(tm);
|
||||
std::tie(fit, fe) = faces(tm);
|
||||
for(int i=0; fit!=fe; ++fit, ++i)
|
||||
put(face_partition_id_map, *fit, epart[i]);
|
||||
}
|
||||
|
|
@ -98,7 +98,7 @@ void partition_graph(const TriangleMesh& tm,
|
|||
|
||||
// fill the adjacency info
|
||||
face_iterator fit, fe;
|
||||
boost::tie(fit, fe) = faces(tm);
|
||||
std::tie(fit, fe) = faces(tm);
|
||||
for(int i=0, j=0; fit!=fe; ++fit, ++i)
|
||||
{
|
||||
eptr[i] = j;
|
||||
|
|
|
|||
|
|
@ -238,7 +238,7 @@ public:
|
|||
// initialize vertex indices, it is necessary since we are using VertexList = listS
|
||||
Vertex_iterator v_begin, v_end;
|
||||
Traits::vertices_size_type index = 0;
|
||||
for(boost::tie(v_begin, v_end) = vertices(graph); v_begin != v_end; ++v_begin) {
|
||||
for(std::tie(v_begin, v_end) = vertices(graph); v_begin != v_end; ++v_begin) {
|
||||
boost::put(boost::vertex_index, graph, *v_begin, index++);
|
||||
}
|
||||
}
|
||||
|
|
@ -269,8 +269,8 @@ public:
|
|||
Edge_descriptor v1_v2, v2_v1;
|
||||
bool v1_v2_added, v2_v1_added;
|
||||
|
||||
boost::tie(v1_v2, v1_v2_added) = boost::add_edge(v1, v2, graph);
|
||||
boost::tie(v2_v1, v2_v1_added) = boost::add_edge(v2, v1, graph);
|
||||
std::tie(v1_v2, v1_v2_added) = boost::add_edge(v1, v2, graph);
|
||||
std::tie(v2_v1, v2_v1_added) = boost::add_edge(v2, v1, graph);
|
||||
|
||||
CGAL_assertion(v1_v2_added && v2_v1_added);
|
||||
//put edge capacities
|
||||
|
|
@ -360,7 +360,7 @@ public:
|
|||
// however from our edge_map, we know that each (2i, 2i + 1) is reverse pairs, how to facilitate that ?
|
||||
// will look it back
|
||||
Graph::edge_iterator ei, ee;
|
||||
for(boost::tie(ei, ee) = boost::edges(graph); ei != ee; ++ei) {
|
||||
for(std::tie(ei, ee) = boost::edges(graph); ei != ee; ++ei) {
|
||||
Graph::vertex_descriptor v1 = boost::source(*ei, graph);
|
||||
Graph::vertex_descriptor v2 = boost::target(*ei, graph);
|
||||
std::pair<Graph::edge_descriptor, bool> opp_edge = boost::edge(v2, v1, graph);
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ is_border(typename boost::graph_traits<FaceGraph>::vertex_descriptor vd,
|
|||
const FaceGraph& g)
|
||||
{
|
||||
CGAL::Halfedge_around_target_iterator<FaceGraph> havib, havie;
|
||||
for(boost::tie(havib, havie) = halfedges_around_target(halfedge(vd, g), g); havib != havie; ++havib) {
|
||||
for(std::tie(havib, havie) = halfedges_around_target(halfedge(vd, g), g); havib != havie; ++havib) {
|
||||
if(is_border(*havib,g)) {
|
||||
typename boost::graph_traits<FaceGraph>::halfedge_descriptor h = *havib;
|
||||
return h;
|
||||
|
|
|
|||
|
|
@ -147,7 +147,7 @@ void duplicate_terminal_vertices(Graph& graph,
|
|||
typedef typename boost::graph_traits<Graph>::out_edge_iterator out_edge_iterator;
|
||||
|
||||
vertex_iterator b,e;
|
||||
boost::tie(b,e) = vertices(graph);
|
||||
std::tie(b,e) = vertices(graph);
|
||||
std::vector<vertex_descriptor> V(b,e);
|
||||
for(vertex_descriptor v : V)
|
||||
{
|
||||
|
|
@ -156,7 +156,7 @@ void duplicate_terminal_vertices(Graph& graph,
|
|||
if (deg != 2 || is_terminal(orig_v, orig))
|
||||
{
|
||||
out_edge_iterator b, e;
|
||||
boost::tie(b, e) = out_edges(v, graph);
|
||||
std::tie(b, e) = out_edges(v, graph);
|
||||
std::vector<edge_descriptor> out_edges_of_v(b, e);
|
||||
for (unsigned int i = 1; i < out_edges_of_v.size(); ++i)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script_with_options
|
||||
# This is the CMake script for compiling a set of CGAL applications.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(BGL_Tests)
|
||||
|
||||
# CGAL and its components
|
||||
|
|
|
|||
|
|
@ -0,0 +1,52 @@
|
|||
OFF
|
||||
29 19 0
|
||||
|
||||
0 0 0
|
||||
0.20000000000000001 0 0
|
||||
0.40000000000000002 0 0
|
||||
0.59999999999999998 0 0
|
||||
0.80000000000000004 0 0
|
||||
1 0 0
|
||||
0 0.20000000000000001 0
|
||||
0.20000000000000001 0.20000000000000001 0
|
||||
0 1 0
|
||||
0.59999999999999998 0.20000000000000001 0
|
||||
0.80000000000000004 0.20000000000000001 0
|
||||
1 0.20000000000000001 0
|
||||
0 0.40000000000000002 0
|
||||
0.20000000000000001 1 0
|
||||
0.40000000000000002 0.40000000000000002 0
|
||||
0.59999999999999998 0.40000000000000002 0
|
||||
1 1 0
|
||||
1 0.40000000000000002 0
|
||||
0 0.59999999999999998 0
|
||||
1 0.80000000000000004 0
|
||||
0.59999999999999998 1 0
|
||||
0.59999999999999998 0.59999999999999998 0
|
||||
0.80000000000000004 1 0
|
||||
1 0.59999999999999998 0
|
||||
0 0.80000000000000004 0
|
||||
0.20000000000000001 0.80000000000000004 0
|
||||
0.40000000000000002 1 0
|
||||
0.59999999999999998 0.80000000000000004 0
|
||||
0.80000000000000004 0.80000000000000004 0
|
||||
4 1 7 6 0
|
||||
3 28 19 22
|
||||
3 6 7 12
|
||||
3 4 10 9
|
||||
3 3 4 9
|
||||
3 27 20 26
|
||||
3 9 15 14
|
||||
3 5 11 10
|
||||
3 24 25 8
|
||||
3 25 13 8
|
||||
3 1 2 7
|
||||
8 17 23 28 27 21 15 10 11
|
||||
3 9 10 15
|
||||
3 19 16 22
|
||||
12 25 24 18 12 7 2 3 9 14 15 21 27
|
||||
3 4 5 10
|
||||
3 28 22 20
|
||||
3 27 28 20
|
||||
3 23 19 28
|
||||
|
||||
|
|
@ -1,12 +1,15 @@
|
|||
|
||||
#include "test_Prefix.h"
|
||||
#include <boost/range/distance.hpp>
|
||||
|
||||
#include <CGAL/boost/graph/Euler_operations.h>
|
||||
#include <CGAL/boost/graph/generators.h>
|
||||
#include <CGAL/boost/graph/copy_face_graph.h>
|
||||
#include <CGAL/boost/graph/named_params_helper.h>
|
||||
#include <CGAL/Polygon_mesh_processing/border.h>
|
||||
|
||||
#include <CGAL/IO/OFF.h>
|
||||
#include <CGAL/Polygon_mesh_processing/border.h>
|
||||
#include <CGAL/boost/graph/copy_face_graph.h>
|
||||
|
||||
#include <boost/range/distance.hpp>
|
||||
|
||||
template <typename T>
|
||||
void
|
||||
|
|
@ -97,7 +100,7 @@ join_face_test()
|
|||
|
||||
bool found;
|
||||
halfedge_descriptor e;
|
||||
boost::tie(e, found) = halfedge(f.w, f.v, f.m);
|
||||
std::tie(e, found) = halfedge(f.w, f.v, f.m);
|
||||
assert(found);
|
||||
// manually set the halfedge of f.f1 to the edge that is to be
|
||||
// removed to provoke a special case
|
||||
|
|
@ -108,7 +111,7 @@ join_face_test()
|
|||
assert(CGAL::internal::exact_num_edges(f.m) == 6);
|
||||
|
||||
CGAL::Halfedge_around_face_iterator<T> begin, end;
|
||||
boost::tie(begin, end) = CGAL::halfedges_around_face(halfedge(f.f1, f.m), f.m);
|
||||
std::tie(begin, end) = CGAL::halfedges_around_face(halfedge(f.f1, f.m), f.m);
|
||||
assert(std::distance(begin, end) == 4);
|
||||
for(; begin != end; ++begin)
|
||||
{
|
||||
|
|
@ -119,7 +122,7 @@ join_face_test()
|
|||
}
|
||||
|
||||
face_iterator fit, fend;
|
||||
for(boost::tie(fit, fend) = faces(f.m); fit != fend; ++fit) {
|
||||
for(std::tie(fit, fend) = faces(f.m); fit != fend; ++fit) {
|
||||
assert(*fit == f.f1 || *fit == f.f3);
|
||||
}
|
||||
|
||||
|
|
@ -141,7 +144,7 @@ remove_face_test_1()
|
|||
// find the edge between x and y
|
||||
bool found;
|
||||
halfedge_descriptor e;
|
||||
boost::tie(e, found) = halfedge(f.x, f.y, f.m);
|
||||
std::tie(e, found) = halfedge(f.x, f.y, f.m);
|
||||
assert(found);
|
||||
assert(face(e, f.m) == f.f3);
|
||||
|
||||
|
|
@ -156,7 +159,7 @@ remove_face_test_1()
|
|||
assert_EQUAL(CGAL::internal::exact_num_vertices(f.m) == 4);
|
||||
halfedge_iterator eb, ee;
|
||||
int count = 0;
|
||||
for(boost::tie(eb, ee) = halfedges(f.m); eb != ee; ++eb) {
|
||||
for(std::tie(eb, ee) = halfedges(f.m); eb != ee; ++eb) {
|
||||
if(face(*eb,f.m) == boost::graph_traits<T>::null_face())
|
||||
++count;
|
||||
}
|
||||
|
|
@ -177,9 +180,9 @@ remove_face_test_2()
|
|||
bool found;
|
||||
halfedge_descriptor e;
|
||||
|
||||
boost::tie(e, found) = halfedge(f.x, f.w, f.m);
|
||||
std::tie(e, found) = halfedge(f.x, f.w, f.m);
|
||||
assert(found);
|
||||
boost::tie(e, found) = halfedge(f.x, f.v, f.m);
|
||||
std::tie(e, found) = halfedge(f.x, f.v, f.m);
|
||||
assert(found);
|
||||
assert(face(e, f.m) == f.f1);
|
||||
CGAL::Euler::remove_face(e,f.m);
|
||||
|
|
@ -189,7 +192,7 @@ remove_face_test_2()
|
|||
assert(CGAL::internal::exact_num_edges(f.m) == 7);
|
||||
assert(CGAL::internal::exact_num_vertices(f.m) == 5);
|
||||
|
||||
boost::tie(e, found) = halfedge(f.x, f.w, f.m);
|
||||
std::tie(e, found) = halfedge(f.x, f.w, f.m);
|
||||
assert(found);
|
||||
assert(face(e,f.m) == boost::graph_traits<T>::null_face());
|
||||
|
||||
|
|
@ -266,7 +269,7 @@ join_vertex_interior_test()
|
|||
halfedge_descriptor e;
|
||||
|
||||
bool found;
|
||||
boost::tie(e, found) = halfedge(f.w, f.x, f.m);
|
||||
std::tie(e, found) = halfedge(f.w, f.x, f.m);
|
||||
assert(found);
|
||||
CGAL::Euler::join_vertex(e,f.m);
|
||||
assert(CGAL::internal::exact_num_faces(f.m) == 2);
|
||||
|
|
@ -289,7 +292,7 @@ join_vertex_exterior_test()
|
|||
Surface_fixture_3<T> f;
|
||||
halfedge_descriptor e;
|
||||
bool found;
|
||||
boost::tie(e, found) = halfedge(f.w, f.y, f.m);
|
||||
std::tie(e, found) = halfedge(f.w, f.y, f.m);
|
||||
assert(source(e,f.m) == f.w);
|
||||
assert(target(e,f.m) == f.y);
|
||||
assert(found);
|
||||
|
|
@ -307,7 +310,7 @@ join_vertex_exterior_test()
|
|||
Surface_fixture_3<T> f;
|
||||
halfedge_descriptor e;
|
||||
bool found;
|
||||
boost::tie(e, found) = halfedge(f.y, f.w, f.m);
|
||||
std::tie(e, found) = halfedge(f.y, f.w, f.m);
|
||||
|
||||
assert(source(e,f.m) == f.y);
|
||||
assert(target(e,f.m) == f.w);
|
||||
|
|
@ -335,9 +338,9 @@ split_vertex()
|
|||
Surface_fixture_3<T> f;
|
||||
halfedge_descriptor h1, h2;
|
||||
bool found;
|
||||
boost::tie(h1, found) = halfedge(f.w, f.y, f.m);
|
||||
std::tie(h1, found) = halfedge(f.w, f.y, f.m);
|
||||
assert(found);
|
||||
boost::tie(h2, found) = halfedge(f.z, f.y, f.m);
|
||||
std::tie(h2, found) = halfedge(f.z, f.y, f.m);
|
||||
assert(found);
|
||||
assert(face(h2, f.m) == Traits::null_face());
|
||||
|
||||
|
|
@ -358,13 +361,13 @@ split_join_vertex_inverse()
|
|||
Surface_fixture_3<T> f;
|
||||
halfedge_descriptor h, h1, h2;
|
||||
bool found;
|
||||
boost::tie(h, found) = halfedge(f.w, f.x, f.m);
|
||||
std::tie(h, found) = halfedge(f.w, f.x, f.m);
|
||||
assert(found);
|
||||
CGAL::Euler::join_vertex(h,f.m);
|
||||
assert(CGAL::is_valid_polygon_mesh(f.m));
|
||||
boost::tie(h1, found) = halfedge(f.z, f.x, f.m);
|
||||
std::tie(h1, found) = halfedge(f.z, f.x, f.m);
|
||||
assert(found);
|
||||
boost::tie(h2, found) = halfedge(f.v, f.x, f.m);
|
||||
std::tie(h2, found) = halfedge(f.v, f.x, f.m);
|
||||
assert(found);
|
||||
CGAL::Euler::join_vertex(CGAL::Euler::split_vertex(h1, h2,f.m),f.m);
|
||||
assert(CGAL::is_valid_polygon_mesh(f.m));
|
||||
|
|
@ -448,6 +451,67 @@ remove_center_vertex_test()
|
|||
assert(CGAL::internal::exact_num_halfedges(f.m) == nh-(2*deg));
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
void
|
||||
remove_degree_2_vertex_test()
|
||||
{
|
||||
CGAL_GRAPH_TRAITS_MEMBERS(T);
|
||||
|
||||
// vertex at .first should be removable, and after removal,
|
||||
// there should .second[0] nv, .second[1] ne, and .second[2] nf
|
||||
// anything not in the map should not be removable
|
||||
std::map<std::size_t, std::array<std::size_t, 3> > removable;
|
||||
removable[0] = CGAL::make_array<std::size_t>(28, 92, 19);
|
||||
removable[13] = CGAL::make_array<std::size_t>(28, 90, 18);
|
||||
removable[14] = CGAL::make_array<std::size_t>(28, 90, 18);
|
||||
removable[16] = CGAL::make_array<std::size_t>(28, 90, 18);
|
||||
removable[17] = CGAL::make_array<std::size_t>(28, 92, 19);
|
||||
removable[18] = CGAL::make_array<std::size_t>(28, 92, 19);
|
||||
removable[21] = CGAL::make_array<std::size_t>(28, 92, 19);
|
||||
removable[26] = CGAL::make_array<std::size_t>(28, 90, 18);
|
||||
|
||||
auto test = [&removable](const std::size_t hi) // intentional copy of 'm'
|
||||
{
|
||||
T m;
|
||||
const bool ok = CGAL::IO::read_polygon_mesh("data/degree_2_collection.off", m);
|
||||
assert(ok);
|
||||
assert(CGAL::is_valid_polygon_mesh(m));
|
||||
|
||||
auto vim = CGAL::get_initialized_vertex_index_map(m);
|
||||
|
||||
const halfedge_descriptor h = *(std::next(halfedges(m).begin(), hi));
|
||||
const vertex_descriptor v = target(h, m);
|
||||
auto vid = get(vim, v);
|
||||
if(degree(v, m) != 2)
|
||||
{
|
||||
assert(removable.count(vid) == 0);
|
||||
return;
|
||||
}
|
||||
|
||||
const halfedge_descriptor res = CGAL::Euler::remove_degree_2_vertex(h, m);
|
||||
assert(res != boost::graph_traits<T>::null_halfedge());
|
||||
|
||||
const std::array<std::size_t, 3>& ns = removable.at(vid);
|
||||
|
||||
assert(ns[0] == vertices(m).size());
|
||||
assert(ns[1] == halfedges(m).size());
|
||||
assert(ns[2] == faces(m).size());
|
||||
};
|
||||
|
||||
T m;
|
||||
const bool ok = CGAL::IO::read_polygon_mesh("data/degree_2_collection.off", m);
|
||||
assert(ok);
|
||||
assert(CGAL::is_valid_polygon_mesh(m));
|
||||
|
||||
std::size_t nv = num_vertices(m);
|
||||
std::size_t nh = num_halfedges(m);
|
||||
std::size_t nf = num_faces(m);
|
||||
assert(nv == 29 && nh == 94 && nf == 19);
|
||||
|
||||
for(std::size_t hi=0; hi<num_halfedges(m); ++hi)
|
||||
test(hi);
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
void
|
||||
join_split_inverse()
|
||||
|
|
@ -670,6 +734,8 @@ template <typename Graph>
|
|||
void
|
||||
test_Euler_operations()
|
||||
{
|
||||
std::cout << "== Test with Graph: " << typeid(Graph).name() << std::endl;
|
||||
|
||||
test_copy_face_graph_nm_umbrella<Graph>();
|
||||
test_copy_face_graph_isolated_vertices<Graph>();
|
||||
join_face_test<Graph>();
|
||||
|
|
@ -684,6 +750,7 @@ test_Euler_operations()
|
|||
split_face_test<Graph>();
|
||||
make_hole_test<Graph>();
|
||||
remove_center_vertex_test<Graph>();
|
||||
remove_degree_2_vertex_test<Graph>();
|
||||
join_split_inverse<Graph>();
|
||||
does_satisfy_link_condition<Graph>();
|
||||
test_swap_edges<Graph>();
|
||||
|
|
|
|||
|
|
@ -29,9 +29,9 @@ void test_halfedge_around_vertex_iterator(const Graph& g)
|
|||
|
||||
Adapter fg(g, 0, boost::make_assoc_property_map(map));
|
||||
typename boost::graph_traits<Adapter >::vertex_iterator vit, vend;
|
||||
for(boost::tie(vit, vend) = vertices(fg); vit != vend; ++vit) {
|
||||
for(std::tie(vit, vend) = vertices(fg); vit != vend; ++vit) {
|
||||
halfedge_around_target_iterator havit, havend;
|
||||
for(boost::tie(havit, havend) = CGAL::halfedges_around_target(halfedge(*vit, fg), fg);
|
||||
for(std::tie(havit, havend) = CGAL::halfedges_around_target(halfedge(*vit, fg), fg);
|
||||
havit != havend; ++havit) {
|
||||
assert(target(*havit, fg) == *vit);
|
||||
|
||||
|
|
@ -56,11 +56,11 @@ void test_halfedge_around_face_iterator(const Graph& g)
|
|||
Adapter fg(g, 0, boost::make_assoc_property_map(map));
|
||||
|
||||
face_iterator fit, fend;
|
||||
for(boost::tie(fit, fend) = faces(fg); fit != fend; ++fit) {
|
||||
for(std::tie(fit, fend) = faces(fg); fit != fend; ++fit) {
|
||||
halfedge_around_face_iterator hafit, hafend;
|
||||
boost::tie(hafit, hafend) = CGAL::halfedges_around_face(halfedge(*fit, fg), fg);
|
||||
std::tie(hafit, hafend) = CGAL::halfedges_around_face(halfedge(*fit, fg), fg);
|
||||
assert(std::distance(hafit, hafend) != 0);
|
||||
for(boost::tie(hafit, hafend) = CGAL::halfedges_around_face(halfedge(*fit, fg), fg); hafit != hafend; ++hafit) {
|
||||
for(std::tie(hafit, hafend) = CGAL::halfedges_around_face(halfedge(*fit, fg), fg); hafit != hafend; ++hafit) {
|
||||
assert(face(*hafit, fg) == *fit);
|
||||
}
|
||||
}
|
||||
|
|
@ -78,11 +78,11 @@ void test_edge_iterators(const Graph& g)
|
|||
|
||||
// do we iterate as many as that?
|
||||
edge_iterator eb, ee;
|
||||
boost::tie(eb, ee) = edges(fg);
|
||||
std::tie(eb, ee) = edges(fg);
|
||||
assert(static_cast<edges_size_type>(std::distance(eb, ee)) == num_edges(g));
|
||||
id_map ids;
|
||||
unsigned int count = 0;
|
||||
for(boost::tie(eb, ee) = edges(fg); eb != ee; ++eb) {
|
||||
for(std::tie(eb, ee) = edges(fg); eb != ee; ++eb) {
|
||||
edge_descriptor e = *eb;
|
||||
std::pair<id_map::iterator, bool> r = ids.insert(get(boost::edge_index, g, e));
|
||||
// unique?
|
||||
|
|
@ -103,7 +103,7 @@ void test_vertex_iterators(Graph& g)
|
|||
Adapter fg(g, 0, boost::make_assoc_property_map(map));
|
||||
vertex_iterator vb, ve;
|
||||
std::size_t count = 0;
|
||||
for(boost::tie(vb, ve) = vertices(fg); vb != ve; ++vb){
|
||||
for(std::tie(vb, ve) = vertices(fg); vb != ve; ++vb){
|
||||
++count;
|
||||
}
|
||||
|
||||
|
|
@ -113,7 +113,7 @@ void test_vertex_iterators(Graph& g)
|
|||
id_map ids;
|
||||
|
||||
count = 0;
|
||||
for(boost::tie(vb, ve) = vertices(fg); vb != ve; ++vb) {
|
||||
for(std::tie(vb, ve) = vertices(fg); vb != ve; ++vb) {
|
||||
std::pair<id_map::iterator, bool> r = ids.insert(get(boost::vertex_index, g, *vb));
|
||||
assert(r.second);
|
||||
++count;
|
||||
|
|
@ -133,12 +133,12 @@ void test_out_edges(const Graph& g)
|
|||
Adapter fg(g, 0, boost::make_assoc_property_map(map));
|
||||
|
||||
vertex_iterator vb, ve;
|
||||
for(boost::tie(vb, ve) = vertices(fg); vb != ve; ++vb) {
|
||||
for(std::tie(vb, ve) = vertices(fg); vb != ve; ++vb) {
|
||||
id_map v_ids;
|
||||
|
||||
vertex_descriptor around = *vb;
|
||||
out_edge_iterator oeb, oee;
|
||||
for(boost::tie(oeb, oee) = out_edges(*vb, fg); oeb != oee; ++oeb) {
|
||||
for(std::tie(oeb, oee) = out_edges(*vb, fg); oeb != oee; ++oeb) {
|
||||
vertex_descriptor t = target(*oeb, fg);
|
||||
vertex_descriptor s = source(*oeb, fg);
|
||||
assert(s != t);
|
||||
|
|
@ -162,11 +162,11 @@ void test_in_edges(const Graph& g)
|
|||
Adapter fg(g, 0, boost::make_assoc_property_map(map));
|
||||
|
||||
vertex_iterator vb, ve;
|
||||
for(boost::tie(vb, ve) = vertices(fg); vb != ve; ++vb) {
|
||||
for(std::tie(vb, ve) = vertices(fg); vb != ve; ++vb) {
|
||||
id_map v_ids;
|
||||
vertex_descriptor around = *vb;
|
||||
in_edge_iterator ieb, iee;
|
||||
for(boost::tie(ieb, iee) = in_edges(*vb, fg); ieb != iee; ++ieb) {
|
||||
for(std::tie(ieb, iee) = in_edges(*vb, fg); ieb != iee; ++ieb) {
|
||||
vertex_descriptor t = target(*ieb, fg);
|
||||
vertex_descriptor s = source(*ieb, fg);
|
||||
assert(t == around);
|
||||
|
|
@ -190,18 +190,18 @@ void test_in_out_edges(const Graph& g)
|
|||
|
||||
// check that the sets of in out edges are the same
|
||||
vertex_iterator vb, ve;
|
||||
for(boost::tie(vb, ve) = vertices(fg); vb != ve; ++vb) {
|
||||
for(std::tie(vb, ve) = vertices(fg); vb != ve; ++vb) {
|
||||
id_map v_ids;
|
||||
std::vector<vertex_descriptor> in, out;
|
||||
in_edge_iterator ieb, iee;
|
||||
for(boost::tie(ieb, iee) = in_edges(*vb, fg); ieb != iee; ++ieb) {
|
||||
for(std::tie(ieb, iee) = in_edges(*vb, fg); ieb != iee; ++ieb) {
|
||||
std::pair<id_map::iterator, bool> r =
|
||||
v_ids.insert(get(boost::vertex_index, g, source(*ieb, fg)));
|
||||
assert(r.second);
|
||||
in.push_back(source(*ieb, fg));
|
||||
}
|
||||
out_edge_iterator oeb, oee;
|
||||
for(boost::tie(oeb, oee) = out_edges(*vb, fg); oeb != oee; ++oeb) {
|
||||
for(std::tie(oeb, oee) = out_edges(*vb, fg); oeb != oee; ++oeb) {
|
||||
std::pair<id_map::iterator, bool> r =
|
||||
v_ids.insert(get(boost::vertex_index, g, target(*oeb, fg)));
|
||||
// insertion must fail
|
||||
|
|
@ -232,7 +232,7 @@ void test_edge_find(const Graph& g)
|
|||
typedef std::pair<edge_descriptor, bool> ret;
|
||||
|
||||
edge_iterator eb, ee;
|
||||
for(boost::tie(eb, ee) = edges(fg); eb != ee; ++eb) {
|
||||
for(std::tie(eb, ee) = edges(fg); eb != ee; ++eb) {
|
||||
vertex_descriptor s = source(*eb, fg);
|
||||
vertex_descriptor t = target(*eb, fg);
|
||||
ret found = edge(s, t, fg);
|
||||
|
|
@ -256,14 +256,14 @@ void test_faces(const Graph& g)
|
|||
|
||||
unsigned int count = 0;
|
||||
face_iterator fb, fe;
|
||||
for(boost::tie(fb, fe) = faces(fg); fb != fe; ++fb) {
|
||||
for(std::tie(fb, fe) = faces(fg); fb != fe; ++fb) {
|
||||
++count;
|
||||
// reverse look-up
|
||||
halfedge_descriptor assoc = halfedge(*fb, fg);
|
||||
assert(face(assoc, fg) == *fb);
|
||||
// check the enclosure
|
||||
halfedge_around_face_iterator encb, ence;
|
||||
for(boost::tie(encb, ence) = CGAL::halfedges_around_face(halfedge(*fb, fg), fg); encb != ence; ++encb) {
|
||||
for(std::tie(encb, ence) = CGAL::halfedges_around_face(halfedge(*fb, fg), fg); encb != ence; ++encb) {
|
||||
assert(face(*encb, fg) == *fb);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,13 +10,29 @@ typedef Traits::edge_descriptor edge_descriptor;
|
|||
typedef Traits::halfedge_descriptor halfedge_descriptor;
|
||||
typedef Traits::vertex_descriptor vertex_descriptor;
|
||||
typedef Traits::face_descriptor face_descriptor;
|
||||
//typedef Kernel::Point_3 Point_3;
|
||||
|
||||
int main()
|
||||
{
|
||||
Om om;
|
||||
for (Om::EdgeHandle ed : edges(om)) {
|
||||
std::cout << "edge" << std::endl;
|
||||
for (Om::EdgeHandle ed : edges(om))
|
||||
{
|
||||
CGAL_USE(ed);
|
||||
}
|
||||
for (edge_descriptor ed : edges(om))
|
||||
{
|
||||
CGAL_USE(ed);
|
||||
}
|
||||
for (halfedge_descriptor hd : halfedges(om))
|
||||
{
|
||||
CGAL_USE(hd);
|
||||
}
|
||||
for (face_descriptor fd : faces(om))
|
||||
{
|
||||
CGAL_USE(fd);
|
||||
}
|
||||
for (vertex_descriptor vd : vertices(om))
|
||||
{
|
||||
CGAL_USE(vd);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -238,7 +238,7 @@ struct Surface_fixture_1 {
|
|||
pm = get(CGAL::vertex_point, const_cast<const Graph&>(m));
|
||||
|
||||
typename boost::graph_traits<Graph>::vertex_iterator vb, ve;
|
||||
for(boost::tie(vb, ve) = vertices(m); vb != ve; ++vb) {
|
||||
for(std::tie(vb, ve) = vertices(m); vb != ve; ++vb) {
|
||||
if (get(pm, *vb) == Point_3(0, 0, 0))
|
||||
u = *vb;
|
||||
else if(get(pm, *vb) == Point_3(1, 0, 0))
|
||||
|
|
@ -259,13 +259,13 @@ struct Surface_fixture_1 {
|
|||
f1 = CGAL::is_border(halfedge(u, m),m) ? face(opposite(halfedge(u, m), m), m) : face(halfedge(u, m), m);
|
||||
assert(f1 != boost::graph_traits<Graph>::null_face());
|
||||
CGAL::Halfedge_around_face_iterator<Graph> hafib, hafie;
|
||||
for(boost::tie(hafib, hafie) = CGAL::halfedges_around_face(halfedge(f1, m), m); hafib != hafie; ++hafib)
|
||||
for(std::tie(hafib, hafie) = CGAL::halfedges_around_face(halfedge(f1, m), m); hafib != hafie; ++hafib)
|
||||
{
|
||||
if(! CGAL::is_border(opposite(*hafib, m), m))
|
||||
f2 = face(opposite(*hafib, m), m);
|
||||
}
|
||||
typename boost::graph_traits<Graph>::face_iterator fb, fe;
|
||||
for(boost::tie(fb, fe) = faces(m); fb != fe; ++fb) {
|
||||
for(std::tie(fb, fe) = faces(m); fb != fe; ++fb) {
|
||||
if(*fb != f1 && *fb != f2)
|
||||
f3 = *fb;
|
||||
}
|
||||
|
|
@ -289,7 +289,7 @@ struct Surface_fixture_2 {
|
|||
pm = get(CGAL::vertex_point, const_cast<const Graph&>(m));
|
||||
|
||||
typename boost::graph_traits<Graph>::vertex_iterator vb, ve;
|
||||
for(boost::tie(vb, ve) = vertices(m); vb != ve; ++vb) {
|
||||
for(std::tie(vb, ve) = vertices(m); vb != ve; ++vb) {
|
||||
if (get(pm, *vb) == Point_3(0, 2, 0))
|
||||
u = *vb;
|
||||
else if(get(pm, *vb) == Point_3(2, 2, 0))
|
||||
|
|
@ -308,25 +308,25 @@ struct Surface_fixture_2 {
|
|||
assert(y != boost::graph_traits<Graph>::null_vertex());
|
||||
typename boost::graph_traits<Graph>::halfedge_descriptor h;
|
||||
bool found;
|
||||
boost::tie(h, found) = halfedge(x, v, m);
|
||||
std::tie(h, found) = halfedge(x, v, m);
|
||||
assert(found);
|
||||
assert(! CGAL::is_border(h,m));
|
||||
f1 = face(h, m);
|
||||
assert(f1 != boost::graph_traits<Graph>::null_face());
|
||||
|
||||
boost::tie(h, found) = halfedge(v, u, m);
|
||||
std::tie(h, found) = halfedge(v, u, m);
|
||||
assert(found);
|
||||
assert(!CGAL::is_border(h,m));
|
||||
f2 = face(h, m);
|
||||
assert(f2 != boost::graph_traits<Graph>::null_face());
|
||||
|
||||
boost::tie(h, found) = halfedge(u, w, m);
|
||||
std::tie(h, found) = halfedge(u, w, m);
|
||||
assert(found);
|
||||
assert(!CGAL::is_border(h,m));
|
||||
f3 = face(h, m);
|
||||
assert(f3 != boost::graph_traits<Graph>::null_face());
|
||||
|
||||
boost::tie(h, found) = halfedge(w, x, m);
|
||||
std::tie(h, found) = halfedge(w, x, m);
|
||||
assert(found);
|
||||
assert(!CGAL::is_border(h,m));
|
||||
f4 = face(h, m);
|
||||
|
|
@ -351,7 +351,7 @@ struct Surface_fixture_3 {
|
|||
pm = get(CGAL::vertex_point, const_cast<const Graph&>(m));
|
||||
|
||||
typename boost::graph_traits<Graph>::vertex_iterator vb, ve;
|
||||
for(boost::tie(vb, ve) = vertices(m); vb != ve; ++vb) {
|
||||
for(std::tie(vb, ve) = vertices(m); vb != ve; ++vb) {
|
||||
if (get(pm, *vb) == Point_3(0, 1, 0))
|
||||
u = *vb;
|
||||
else if(get(pm, *vb) == Point_3(0, 0, 0))
|
||||
|
|
@ -399,7 +399,7 @@ struct Surface_fixture_4 {
|
|||
|
||||
int found = 0;
|
||||
typename boost::graph_traits<Graph>::halfedge_iterator hb, he;
|
||||
for(boost::tie(hb, he) = halfedges(m); hb != he; ++hb) {
|
||||
for(std::tie(hb, he) = halfedges(m); hb != he; ++hb) {
|
||||
if(CGAL::is_border(*hb,m)){
|
||||
if(get(pm, target(*hb,m)) == Point_3(0,0,0)){
|
||||
if(found == 0){
|
||||
|
|
@ -435,7 +435,7 @@ struct Surface_fixture_5 {
|
|||
|
||||
int found = 0;
|
||||
typename boost::graph_traits<Graph>::halfedge_iterator hb, he;
|
||||
for(boost::tie(hb, he) = halfedges(m); hb != he; ++hb) {
|
||||
for(std::tie(hb, he) = halfedges(m); hb != he; ++hb) {
|
||||
if(CGAL::is_border(*hb,m)){
|
||||
if(get(pm, target(*hb,m)) == Point_3(2,1,0)){
|
||||
h1 = *hb;
|
||||
|
|
@ -500,7 +500,7 @@ struct Surface_fixture_8 {
|
|||
|
||||
int found = 0;
|
||||
typename boost::graph_traits<Graph>::halfedge_iterator hb, he;
|
||||
for(boost::tie(hb, he) = halfedges(m); hb != he; ++hb) {
|
||||
for(std::tie(hb, he) = halfedges(m); hb != he; ++hb) {
|
||||
if(get(pm, source(*hb,m)) == Point_3(0,0,0) &&
|
||||
get(pm, target(*hb,m)) == Point_3(1,0,0)){
|
||||
h1 = *hb;
|
||||
|
|
@ -521,8 +521,6 @@ struct Surface_fixture_8 {
|
|||
|
||||
Graph m;
|
||||
typename boost::graph_traits<Graph>::halfedge_descriptor h1, h2, h3;
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif /* CGAL_TEST_PREFIX_H */
|
||||
|
|
|
|||
|
|
@ -42,13 +42,13 @@ int main()
|
|||
|
||||
{
|
||||
out_edge_iterator b,e;
|
||||
boost::tie(b,e) = out_edges(vd,dual);
|
||||
std::tie(b,e) = out_edges(vd,dual);
|
||||
std::cerr << vd << " " << source(*b,dual) << std::endl;
|
||||
}
|
||||
|
||||
{
|
||||
in_edge_iterator b,e;
|
||||
boost::tie(b,e) = in_edges(vd,dual);
|
||||
std::tie(b,e) = in_edges(vd,dual);
|
||||
std::cerr << vd << " " << source(*b,dual) << std::endl;
|
||||
}
|
||||
std::cerr << "done"<< std::endl;
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ int main(int argc, char* argv[])
|
|||
{
|
||||
halfedge_around_target_iterator vit, end;
|
||||
vertex_descriptor vd = target(hd,P);
|
||||
boost::tie(vit,end) = halfedges_around_target(hd,P);
|
||||
std::tie(vit,end) = halfedges_around_target(hd,P);
|
||||
while(vit!= end) {
|
||||
halfedge_descriptor hd = *vit;
|
||||
assert(target(hd,P) == vd);
|
||||
|
|
@ -113,7 +113,7 @@ int main(int argc, char* argv[])
|
|||
|
||||
{
|
||||
halfedge_around_face_iterator vit, end;
|
||||
boost::tie(vit,end) = halfedges_around_face(hd,P);
|
||||
std::tie(vit,end) = halfedges_around_face(hd,P);
|
||||
|
||||
while(vit!= end) {
|
||||
halfedge_descriptor hd = *vit;
|
||||
|
|
@ -125,7 +125,7 @@ int main(int argc, char* argv[])
|
|||
|
||||
{
|
||||
out_edge_iterator ohi, end;
|
||||
for(boost::tie(ohi,end) = out_edges(target(hd,P),P); ohi != end; ++ohi){
|
||||
for(std::tie(ohi,end) = out_edges(target(hd,P),P); ohi != end; ++ohi){
|
||||
edge_descriptor ed = *ohi;
|
||||
halfedge_descriptor hd2 = halfedge(ed,P);
|
||||
std::cout << get(CGAL::vertex_point, P, target(hd2,P)) << std::endl;
|
||||
|
|
|
|||
|
|
@ -26,9 +26,9 @@ void test_halfedge_around_vertex_iterator(const Graph& g)
|
|||
{
|
||||
CGAL_GRAPH_TRAITS_MEMBERS(Graph);
|
||||
vertex_iterator vit, vend;
|
||||
for(boost::tie(vit, vend) = vertices(g); vit != vend; ++vit) {
|
||||
for(std::tie(vit, vend) = vertices(g); vit != vend; ++vit) {
|
||||
halfedge_around_target_iterator havit, havend;
|
||||
for(boost::tie(havit, havend) = CGAL::halfedges_around_target(halfedge(*vit, g), g);
|
||||
for(std::tie(havit, havend) = CGAL::halfedges_around_target(halfedge(*vit, g), g);
|
||||
havit != havend; ++havit) {
|
||||
assert(target(*havit, g) == *vit);
|
||||
|
||||
|
|
@ -47,11 +47,11 @@ void test_halfedge_around_face_iterator(const Graph& g)
|
|||
{
|
||||
CGAL_GRAPH_TRAITS_MEMBERS(Graph);
|
||||
face_iterator fit, fend;
|
||||
for(boost::tie(fit, fend) = faces(g); fit != fend; ++fit) {
|
||||
for(std::tie(fit, fend) = faces(g); fit != fend; ++fit) {
|
||||
halfedge_around_face_iterator hafit, hafend;
|
||||
boost::tie(hafit, hafend) = CGAL::halfedges_around_face(halfedge(*fit, g), g);
|
||||
std::tie(hafit, hafend) = CGAL::halfedges_around_face(halfedge(*fit, g), g);
|
||||
assert(std::distance(hafit, hafend) != 0);
|
||||
for(boost::tie(hafit, hafend) = CGAL::halfedges_around_face(halfedge(*fit, g), g); hafit != hafend; ++hafit) {
|
||||
for(std::tie(hafit, hafend) = CGAL::halfedges_around_face(halfedge(*fit, g), g); hafit != hafend; ++hafit) {
|
||||
assert(face(*hafit, g) == *fit);
|
||||
}
|
||||
}
|
||||
|
|
@ -66,12 +66,12 @@ void test_halfedge_iterators(const G& g)
|
|||
|
||||
// do we iterate as many as that?
|
||||
halfedge_iterator hb, he;
|
||||
boost::tie(hb, he) = halfedges(g);
|
||||
std::tie(hb, he) = halfedges(g);
|
||||
assert(static_cast<halfedges_size_type>(std::distance(hb, he)) == num_halfedges(g));
|
||||
|
||||
id_map ids;
|
||||
unsigned int count = 0;
|
||||
for(boost::tie(hb, he) = halfedges(g); hb != he; ++hb) {
|
||||
for(std::tie(hb, he) = halfedges(g); hb != he; ++hb) {
|
||||
std::pair<id_map::iterator, bool> r = ids.insert(get(boost::halfedge_index, g, *hb));
|
||||
// unique?
|
||||
assert(r.second);
|
||||
|
|
@ -92,12 +92,12 @@ void test_edge_iterators(const G& g)
|
|||
|
||||
// do we iterate as many as that?
|
||||
edge_iterator eb, ee;
|
||||
boost::tie(eb, ee) = edges(g);
|
||||
std::tie(eb, ee) = edges(g);
|
||||
assert(static_cast<edges_size_type>(std::distance(eb, ee)) == num_edges(g));
|
||||
|
||||
id_map ids;
|
||||
unsigned int count = 0;
|
||||
for(boost::tie(eb, ee) = edges(g); eb != ee; ++eb) {
|
||||
for(std::tie(eb, ee) = edges(g); eb != ee; ++eb) {
|
||||
edge_descriptor e = *eb;
|
||||
std::pair<id_map::iterator, bool> r = ids.insert(get(boost::edge_index, g, e));
|
||||
// unique?
|
||||
|
|
@ -115,7 +115,7 @@ void test_vertex_iterators(const G& g)
|
|||
|
||||
vertex_iterator vb, ve;
|
||||
std::size_t count = 0;
|
||||
for(boost::tie(vb, ve) = vertices(g); vb != ve; ++vb){
|
||||
for(std::tie(vb, ve) = vertices(g); vb != ve; ++vb){
|
||||
++count;
|
||||
}
|
||||
|
||||
|
|
@ -125,7 +125,7 @@ void test_vertex_iterators(const G& g)
|
|||
id_map ids;
|
||||
|
||||
count = 0;
|
||||
for(boost::tie(vb, ve) = vertices(g); vb != ve; ++vb) {
|
||||
for(std::tie(vb, ve) = vertices(g); vb != ve; ++vb) {
|
||||
std::pair<id_map::iterator, bool> r = ids.insert(get(boost::vertex_index, g, *vb));
|
||||
assert(r.second);
|
||||
++count;
|
||||
|
|
@ -142,12 +142,12 @@ void test_out_edges(const G& g)
|
|||
typedef typename Traits::vertex_descriptor vertex_descriptor;
|
||||
|
||||
vertex_iterator vb, ve;
|
||||
for(boost::tie(vb, ve) = vertices(g); vb != ve; ++vb) {
|
||||
for(std::tie(vb, ve) = vertices(g); vb != ve; ++vb) {
|
||||
id_map v_ids;
|
||||
|
||||
vertex_descriptor around = *vb;
|
||||
out_edge_iterator oeb, oee;
|
||||
for(boost::tie(oeb, oee) = out_edges(*vb, g); oeb != oee; ++oeb) {
|
||||
for(std::tie(oeb, oee) = out_edges(*vb, g); oeb != oee; ++oeb) {
|
||||
vertex_descriptor t = target(*oeb, g);
|
||||
vertex_descriptor s = source(*oeb, g);
|
||||
assert(s != t);
|
||||
|
|
@ -169,11 +169,11 @@ void test_in_edges(const G& g)
|
|||
typedef typename Traits::vertex_descriptor vertex_descriptor;
|
||||
|
||||
vertex_iterator vb, ve;
|
||||
for(boost::tie(vb, ve) = vertices(g); vb != ve; ++vb) {
|
||||
for(std::tie(vb, ve) = vertices(g); vb != ve; ++vb) {
|
||||
id_map v_ids;
|
||||
vertex_descriptor around = *vb;
|
||||
in_edge_iterator ieb, iee;
|
||||
for(boost::tie(ieb, iee) = in_edges(*vb, g); ieb != iee; ++ieb) {
|
||||
for(std::tie(ieb, iee) = in_edges(*vb, g); ieb != iee; ++ieb) {
|
||||
vertex_descriptor t = target(*ieb, g);
|
||||
vertex_descriptor s = source(*ieb, g);
|
||||
assert(t == around);
|
||||
|
|
@ -196,18 +196,18 @@ void test_in_out_edges(const G& g)
|
|||
|
||||
// check that the sets of in out edges are the same
|
||||
vertex_iterator vb, ve;
|
||||
for(boost::tie(vb, ve) = vertices(g); vb != ve; ++vb) {
|
||||
for(std::tie(vb, ve) = vertices(g); vb != ve; ++vb) {
|
||||
id_map v_ids;
|
||||
std::vector<vertex_descriptor> in, out;
|
||||
in_edge_iterator ieb, iee;
|
||||
for(boost::tie(ieb, iee) = in_edges(*vb, g); ieb != iee; ++ieb) {
|
||||
for(std::tie(ieb, iee) = in_edges(*vb, g); ieb != iee; ++ieb) {
|
||||
std::pair<id_map::iterator, bool> r =
|
||||
v_ids.insert(get(boost::vertex_index, g, source(*ieb, g)));
|
||||
assert(r.second);
|
||||
in.push_back(source(*ieb, g));
|
||||
}
|
||||
out_edge_iterator oeb, oee;
|
||||
for(boost::tie(oeb, oee) = out_edges(*vb, g); oeb != oee; ++oeb) {
|
||||
for(std::tie(oeb, oee) = out_edges(*vb, g); oeb != oee; ++oeb) {
|
||||
std::pair<id_map::iterator, bool> r =
|
||||
v_ids.insert(get(boost::vertex_index, g, target(*oeb, g)));
|
||||
// insertion must fail
|
||||
|
|
@ -239,13 +239,13 @@ void test_adjacent_vertices(const G& g)
|
|||
vertex_descriptor v = *(vertices(g).begin());
|
||||
|
||||
adjacency_iterator vb, ve;
|
||||
boost::tie(vb, ve) = adjacent_vertices(v, g);
|
||||
std::tie(vb, ve) = adjacent_vertices(v, g);
|
||||
|
||||
in_edge_iterator ieb, iee;
|
||||
boost::tie(ieb, iee) = in_edges(v, g);
|
||||
std::tie(ieb, iee) = in_edges(v, g);
|
||||
|
||||
out_edge_iterator oeb, oee;
|
||||
boost::tie(oeb, oee) = out_edges(v, g);
|
||||
std::tie(oeb, oee) = out_edges(v, g);
|
||||
|
||||
assert(std::distance(vb, ve) == std::distance(ieb, iee));
|
||||
assert(std::distance(vb, ve) == std::distance(oeb, oee));
|
||||
|
|
@ -271,7 +271,7 @@ void test_edge_find(const G& g)
|
|||
typedef std::pair<edge_descriptor, bool> ret;
|
||||
|
||||
edge_iterator eb, ee;
|
||||
for(boost::tie(eb, ee) = edges(g); eb != ee; ++eb) {
|
||||
for(std::tie(eb, ee) = edges(g); eb != ee; ++eb) {
|
||||
vertex_descriptor s = source(*eb, g);
|
||||
vertex_descriptor t = target(*eb, g);
|
||||
ret found = edge(s, t, g);
|
||||
|
|
@ -293,14 +293,14 @@ void test_faces(const G& g)
|
|||
|
||||
unsigned int count = 0;
|
||||
face_iterator fb, fe;
|
||||
for(boost::tie(fb, fe) = faces(g); fb != fe; ++fb) {
|
||||
for(std::tie(fb, fe) = faces(g); fb != fe; ++fb) {
|
||||
++count;
|
||||
// reverse look-up
|
||||
halfedge_descriptor assoc = halfedge(*fb, g);
|
||||
assert(face(assoc, g) == *fb);
|
||||
// check the enclosure
|
||||
halfedge_around_face_iterator encb, ence;
|
||||
for(boost::tie(encb, ence) = CGAL::halfedges_around_face(halfedge(*fb, g), g); encb != ence; ++encb) {
|
||||
for(std::tie(encb, ence) = CGAL::halfedges_around_face(halfedge(*fb, g), g); encb != ence; ++encb) {
|
||||
assert(face(*encb, g) == *fb);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
project(Barycentric_coordinates_2_Benchmarks)
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
|
||||
find_package(CGAL REQUIRED COMPONENTS Core)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script.
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
|
||||
project(Barycentric_coordinates_2_Examples)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script.
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
|
||||
project(Barycentric_coordinates_2_Tests)
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
# Used in /CGAL/Documentation/doc/Documentation/Developer_manual/create_and_use_a_cmakelist.txt.
|
||||
# Careful when modifying
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Basic_viewer_Examples)
|
||||
|
||||
#CGAL_Qt6 is needed for the drawing.
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ int main(int argc, char* argv[])
|
|||
|
||||
Mesh::Property_map<face_descriptor, FT> faces_size;
|
||||
bool created;
|
||||
boost::tie(faces_size, created)=sm.add_property_map<face_descriptor, FT>("f:size",0.);
|
||||
std::tie(faces_size, created)=sm.add_property_map<face_descriptor, FT>("f:size",0.);
|
||||
assert(created);
|
||||
|
||||
for(face_descriptor fd : sm.faces())
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ namespace ArrDirectionalTraits {}
|
|||
|
||||
/*!
|
||||
\addtogroup PkgBooleanSetOperations2Ref
|
||||
\todo check generated documentation
|
||||
\cgalPkgDescriptionBegin{2D Regularized Boolean Set-Operations,PkgBooleanSetOperations2}
|
||||
\cgalPkgPicture{Boolean_set_operations_2.png}
|
||||
\cgalPkgSummaryBegin
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Boolean_set_operations_2_Examples)
|
||||
|
||||
find_package(CGAL REQUIRED COMPONENTS Core OPTIONAL_COMPONENTS Qt6)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Created by the script cgal_create_cmake_script
|
||||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Boolean_set_operations_2_Tests)
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
/// \ingroup PkgBoundingVolumesRef
|
||||
/*!
|
||||
\addtogroup PkgBoundingVolumesRef
|
||||
\todo check generated documentation
|
||||
\cgalPkgDescriptionBegin{Bounding Volumes,PkgBoundingVolumes}
|
||||
\cgalPkgPicture{minCircle.png}
|
||||
\cgalPkgSummaryBegin
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Approximate_min_ellipsoid_d_Examples)
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Min_annulus_d_Examples)
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Min_circle_2_Examples)
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Min_ellipse_2_Examples)
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Min_quadrilateral_2_Examples)
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Min_sphere_d_Examples)
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
cmake_minimum_required(VERSION 3.12...3.29)
|
||||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
project(Min_sphere_of_spheres_d_Examples)
|
||||
|
||||
find_package(CGAL REQUIRED)
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue