diff --git a/.gitattributes b/.gitattributes index 654ae2c9fb8..7c5f948fa79 100644 --- a/.gitattributes +++ b/.gitattributes @@ -38,11 +38,7 @@ AABB_tree/examples/AABB_tree/cleanup.bat -text AABB_tree/include/CGAL/AABB_intersections.h -text AABB_tree/include/CGAL/AABB_polyhedron_segment_primitive.h -text AABB_tree/include/CGAL/AABB_polyhedron_triangle_primitive.h -text -AABB_tree/include/CGAL/AABB_segment_primitive.h -text AABB_tree/include/CGAL/AABB_traits.h -text -AABB_tree/include/CGAL/AABB_triangle_primitive.h -text -AABB_tree/include/CGAL/internal/AABB_tree/AABB_search_tree.h -text -AABB_tree/include/CGAL/internal/AABB_tree/nearest_point_segment_3.h -text AABB_tree/test/AABB_tree/AABB_test_util.h -text AABB_tree/test/AABB_tree/aabb_correctness_triangle_test.cpp -text AABB_tree/test/AABB_tree/aabb_distance_edge_test.cpp -text @@ -1710,8 +1706,6 @@ HalfedgeDS/doc_tex/HalfedgeDS_ref/fig/euler_vertex.gif -text svneol=unset#image/ HalfedgeDS/doc_tex/HalfedgeDS_ref/fig/hds_optional.gif -text svneol=unset#image/gif HalfedgeDS/doc_tex/HalfedgeDS_ref/fig/hds_optional.pdf -text svneol=unset#application/pdf HalfedgeDS/doc_tex/HalfedgeDS_ref/fig/hds_optional_small.gif -text svneol=unset#image/gif -HalfedgeDS/examples/HalfedgeDS/hds_prog_default_with_ccb.cpp -text -HalfedgeDS/examples/HalfedgeDS/hds_prog_graph_with_ccb.cpp -text Installation/INSTALL -text Installation/LICENSE.BSL -text Installation/LICENSE.FREE_USE -text @@ -1865,7 +1859,9 @@ Kernel_23/examples/Kernel_23/MyPointC2_iostream.h -text Kernel_23/examples/Kernel_23/cartesian_converter.cpp -text Kernel_23/include/CGAL/functions_on_enums.h -text Kernel_23/include/CGAL/internal/Projection_traits_3.h -text +Kernel_23/test/Kernel_23/include/CGAL/_Result_of_kernel.h -text Kernel_23/test/Kernel_23/overload_bug.cpp -text +Kernel_23/test/Kernel_23/test_result_of.cpp -text Kernel_d/doc_tex/Kernel_d/hypercube.png -text Kernel_d/doc_tex/Kernel_d_ref/Kernel_Compute_coordinate_d.tex -text Kernel_d/doc_tex/Kernel_d_ref/Kernel_Less_coordinate_d.tex -text @@ -1944,6 +1940,7 @@ Largest_empty_rect_2/doc_tex/Inscribed_areas_ref/ler-detail.png -text Largest_empty_rect_2/doc_tex/Inscribed_areas_ref/ler.png -text Largest_empty_rect_2/test/Largest_empty_rect_2/cgal_test eol=lf Largest_empty_rect_2/test/Largest_empty_rect_2/cgal_test_with_cmake eol=lf +Linear_cell_complex/demo/Linear_cell_complex/CreateMenger.ui -text Linear_cell_complex/demo/Linear_cell_complex/CreateMesh.ui -text Linear_cell_complex/demo/Linear_cell_complex/Linear_cell_complex_3.qrc -text Linear_cell_complex/demo/Linear_cell_complex/Linear_cell_complex_3_subdivision.cpp -text @@ -2094,9 +2091,9 @@ Maintenance/deb/sid/debian/control -text Maintenance/deb/sid/debian/libcgal-demo.install -text Maintenance/deb/sid/debian/libcgal-dev.install -text Maintenance/deb/sid/debian/libcgal-ipelets.install -text -Maintenance/deb/sid/debian/libcgal8.install -text -Maintenance/deb/sid/debian/libcgal8.shlibs -text -Maintenance/deb/sid/debian/patches/00list -text +Maintenance/deb/sid/debian/libcgal9.install -text +Maintenance/deb/sid/debian/libcgal9.shlibs -text +Maintenance/deb/sid/debian/patches/series -text Maintenance/deb/sid/debian/rules -text Maintenance/deb/sid/debian/source/format -text Maintenance/deb/sid/debian/watch -text @@ -2108,9 +2105,9 @@ Maintenance/deb/squeeze/debian/control -text Maintenance/deb/squeeze/debian/libcgal-demo.install -text Maintenance/deb/squeeze/debian/libcgal-dev.install -text Maintenance/deb/squeeze/debian/libcgal-ipelets.install -text -Maintenance/deb/squeeze/debian/libcgal8.install -text -Maintenance/deb/squeeze/debian/libcgal8.shlibs -text -Maintenance/deb/squeeze/debian/patches/00list -text +Maintenance/deb/squeeze/debian/libcgal9.install -text +Maintenance/deb/squeeze/debian/libcgal9.shlibs -text +Maintenance/deb/squeeze/debian/patches/series -text Maintenance/deb/squeeze/debian/rules -text Maintenance/deb/squeeze/debian/source/format -text Maintenance/deb/squeeze/debian/watch -text @@ -2122,9 +2119,9 @@ Maintenance/deb/wheezy/debian/control -text Maintenance/deb/wheezy/debian/libcgal-demo.install -text Maintenance/deb/wheezy/debian/libcgal-dev.install -text Maintenance/deb/wheezy/debian/libcgal-ipelets.install -text -Maintenance/deb/wheezy/debian/libcgal8.install -text -Maintenance/deb/wheezy/debian/libcgal8.shlibs -text -Maintenance/deb/wheezy/debian/patches/00list -text +Maintenance/deb/wheezy/debian/libcgal9.install -text +Maintenance/deb/wheezy/debian/libcgal9.shlibs -text +Maintenance/deb/wheezy/debian/patches/series -text Maintenance/deb/wheezy/debian/rules -text Maintenance/deb/wheezy/debian/source/format -text Maintenance/deb/wheezy/debian/watch -text @@ -2136,6 +2133,7 @@ Maintenance/infrastructure/cgal.geometryfactory.com/bin/create_release -text Maintenance/infrastructure/cgal.geometryfactory.com/bin/dump_crontab -text Maintenance/infrastructure/cgal.geometryfactory.com/bin/update_manual_tools -text Maintenance/infrastructure/cgal.geometryfactory.com/crontab -text +Maintenance/infrastructure/cgal.geometryfactory.com/partition-table-sda.txt -text Maintenance/infrastructure/cgal.geometryfactory.com/reference-platforms/boostrap -text Maintenance/infrastructure/cgal.geometryfactory.com/reference-platforms/common-setup -text Maintenance/infrastructure/cgal.geometryfactory.com/reference-platforms/i686_Linux-2.6_g++-3.4.6_CentOS-5.1-O2/CMakeCache.txt -text @@ -2159,6 +2157,8 @@ Maintenance/infrastructure/delaunay.geometryfactory.com/reference-platforms/x64_ Maintenance/infrastructure/delaunay.geometryfactory.com/scripts/compile-boost-i686 -text Maintenance/infrastructure/delaunay.geometryfactory.com/scripts/compile-boost-x64 -text Maintenance/infrastructure/renoir.geometryfactory.com/.autocgalrc -text +Maintenance/infrastructure/renoir.geometryfactory.com/boost/compile-boost -text +Maintenance/infrastructure/renoir.geometryfactory.com/boost/user-config.jam -text Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/setup-common -text Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi/setup -text Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/setup -text @@ -2192,6 +2192,8 @@ Maintenance/public_release/announcement/CGAL-3.8-beta -text Maintenance/public_release/announcement/CGAL-3.8.1 -text Maintenance/public_release/announcement/CGAL-3.9 -text Maintenance/public_release/announcement/CGAL-3.9-beta1 -text +Maintenance/public_release/announcement/CGAL-4.0 -text +Maintenance/public_release/announcement/CGAL-4.0-beta1 -text Maintenance/public_release/scripts/precompiled_demos_zips -text Maintenance/public_release/scripts/prepare_release -text Maintenance/release_building/BUGFIX_NUMBER -text @@ -3215,12 +3217,17 @@ Polyhedron/doc_tex/Polyhedron_ref/fig/add_facet.pdf -text svneol=unset#applicati Polyhedron/doc_tex/Polyhedron_ref/fig/add_facet1.gif -text svneol=unset#image/gif Polyhedron/doc_tex/Polyhedron_ref/fig/add_facet2.gif -text svneol=unset#image/gif Polyhedron/doc_tex/Polyhedron_ref/fig/euler.pdf -text svneol=unset#application/pdf +Polyhedron/doc_tex/Polyhedron_ref/fig/euler.svg -text Polyhedron/doc_tex/Polyhedron_ref/fig/euler_center.gif -text svneol=unset#image/gif Polyhedron/doc_tex/Polyhedron_ref/fig/euler_center.pdf -text svneol=unset#application/pdf Polyhedron/doc_tex/Polyhedron_ref/fig/euler_facet.gif -text svneol=unset#image/gif +Polyhedron/doc_tex/Polyhedron_ref/fig/euler_facet.pdf -text svneol=unset#application/pdf +Polyhedron/doc_tex/Polyhedron_ref/fig/euler_facet.svg -text Polyhedron/doc_tex/Polyhedron_ref/fig/euler_loop.gif -text svneol=unset#image/gif Polyhedron/doc_tex/Polyhedron_ref/fig/euler_loop.pdf -text svneol=unset#application/pdf Polyhedron/doc_tex/Polyhedron_ref/fig/euler_vertex.gif -text svneol=unset#image/gif +Polyhedron/doc_tex/Polyhedron_ref/fig/euler_vertex.pdf -text svneol=unset#application/pdf +Polyhedron/doc_tex/Polyhedron_ref/fig/euler_vertex.svg -text Polyhedron/doc_tex/Polyhedron_ref/fig/halfedge.gif -text svneol=unset#image/gif Polyhedron/doc_tex/Polyhedron_ref/fig/halfedge.pdf -text svneol=unset#application/pdf Polyhedron/doc_tex/Polyhedron_ref/fig/halfedge_small.gif -text svneol=unset#image/gif @@ -3439,6 +3446,8 @@ QP_solver/test/QP_solver/test_default_bounds.cpp -text QP_solver/test/QP_solver/test_random_qp.cpp -text QP_solver/test/QP_solver/test_random_qp2.cpp -text QP_solver/test/QP_solver/test_solver.cout -text +QP_solver/test/QP_solver/test_solver_data/cycle_cases/bug_stich.mps -text +QP_solver/test/QP_solver/test_solver_data/cycle_cases/bug_taysom.mps -text QP_solver/test/QP_solver/test_solver_data/cycle_cases/helbling_001.mps -text QP_solver/test/QP_solver/test_solver_data/cycle_cases/helbling_248.mps -text QP_solver/test/QP_solver/test_solver_data/cycle_cases/helbling_39.mps -text @@ -3482,8 +3491,8 @@ Scripts/developer_scripts/cgal_build -text Scripts/developer_scripts/cgal_git_svn_clone -text Scripts/developer_scripts/cgal_header_clean_up.py -text Scripts/developer_scripts/cgal_test_with_cmake eol=lf -Scripts/developer_scripts/check_library_uses_no_qpl_files -text -Scripts/developer_scripts/check_library_uses_no_qpl_files.exceptions -text +Scripts/developer_scripts/check_library_uses_no_gpl_files -text +Scripts/developer_scripts/check_library_uses_no_gpl_files.exceptions -text Scripts/developer_scripts/check_macro_names -text Scripts/developer_scripts/check_no_CGAL_USE_without_includes_before -text Scripts/developer_scripts/check_svn_keywords -text diff --git a/.gitignore b/.gitignore index 2f88d7d2f45..86dbe03bb1a 100644 --- a/.gitignore +++ b/.gitignore @@ -75,6 +75,7 @@ CGALimageIO/demo/CGALimageIO/cmake_install.cmake CGALimageIO/demo/CGALimageIO/image_to_vtk_viewer CGALimageIO/examples/CGALimageIO/*.exe CGALimageIO/examples/CGALimageIO/Makefile +CGALimageIO/examples/CGALimageIO/cgal_test_with_cmake CGALimageIO/examples/CGALimageIO/convert_raw_image_to_inr CGALimageIO/examples/CGALimageIO/makefile CGALimageIO/examples/CGALimageIO/test_imageio @@ -89,6 +90,13 @@ Circular_kernel_3/demo/Circular_kernel_3/*.sln Circular_kernel_3/demo/Circular_kernel_3/*.vcproj 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 +Circular_kernel_3/test/Circular_kernel_3/test_Spherical_kernel +Circular_kernel_3/test/Circular_kernel_3/test_Spherical_kernel_basics +Circular_kernel_3/test/Circular_kernel_3/test_Spherical_kernel_with_core Distance_3/include Generator/examples/Generator/CMakeLists.txt Generator/examples/Generator/ball_d @@ -156,6 +164,10 @@ Installation/auxiliary/gdb/test Installation/cmake/modules/*.tmp Installation/test/Installation/cgal_test Installation/test/Installation/deprecation_warning +Interpolation/demo/Interpolation/cgal_test_with_cmake +Intersections_3/test/Intersections_3/CMakeLists.txt +Intersections_3/test/Intersections_3/bbox_other_do_intersect_test +Intersections_3/test/Intersections_3/cgal_test_with_cmake Jet_fitting_3/examples/Jet_fitting_3/*.exe Jet_fitting_3/examples/Jet_fitting_3/*.sln Jet_fitting_3/examples/Jet_fitting_3/*.vcproj @@ -497,6 +509,8 @@ Mesh_2/doc_tex/Mesh_2_ref/semantic.cache Mesh_2/doxygen Mesh_2/examples/Mesh_2/*.core Mesh_2/examples/Mesh_2/.*.deps +Mesh_2/examples/Mesh_2/CMakeLists.txt +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 @@ -563,6 +577,7 @@ Mesh_3/examples/Mesh_3/*.png Mesh_3/examples/Mesh_3/.*.deps 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 @@ -578,6 +593,16 @@ Mesh_3/examples/Mesh_3/implicit_surfaces_mesher_3 Mesh_3/examples/Mesh_3/lanteri Mesh_3/examples/Mesh_3/lanteri_output_tet_mesh Mesh_3/examples/Mesh_3/medit_to_cgal +Mesh_3/examples/Mesh_3/mesh_3D_gray_image +Mesh_3/examples/Mesh_3/mesh_3D_image +Mesh_3/examples/Mesh_3/mesh_3D_image_variable_size +Mesh_3/examples/Mesh_3/mesh_implicit_sphere +Mesh_3/examples/Mesh_3/mesh_implicit_sphere_variable_size +Mesh_3/examples/Mesh_3/mesh_optimization_example +Mesh_3/examples/Mesh_3/mesh_optimization_lloyd_example +Mesh_3/examples/Mesh_3/mesh_polyhedral_domain +Mesh_3/examples/Mesh_3/mesh_polyhedral_domain_with_features +Mesh_3/examples/Mesh_3/mesh_two_implicit_spheres_with_balls Mesh_3/examples/Mesh_3/my_makefile Mesh_3/examples/Mesh_3/off_to_ghs Mesh_3/examples/Mesh_3/out*.mesh.* @@ -678,6 +703,8 @@ Min_ellipse_2/.tmp Min_ellipse_2/Makefile Min_ellipse_2/bin Min_ellipse_2/doc_ps +Minkowski_sum_3/test/Minkowski_sum_3/CMakeLists.txt +Minkowski_sum_3/test/Minkowski_sum_3/cgal_test_with_cmake Modular_arithmetic/doc_html Modular_arithmetic/doc_pdf Modular_arithmetic/doc_ps @@ -812,6 +839,16 @@ Periodic_3_triangulation_3/demo/Periodic_Lloyd_3/Periodic_Lloyd_3.qch Periodic_3_triangulation_3/test/Periodic_3_triangulation_3/CMakeLists.txt 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 +Periodic_3_triangulation_3/test/Periodic_3_triangulation_3/test_periodic_3_offset_3 +Periodic_3_triangulation_3/test/Periodic_3_triangulation_3/test_periodic_3_triangulation_3 +Periodic_3_triangulation_3/test/Periodic_3_triangulation_3/test_periodic_3_triangulation_tds +Periodic_3_triangulation_3/test/Periodic_3_triangulation_3/test_periodic_3_triangulation_traits_C_3 +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_processing_3/doc_doxygen Point_set_processing_3/doc_html Point_set_processing_3/doc_pdf @@ -949,6 +986,28 @@ Ridges_3/test/Ridges_3/*.sln Ridges_3/test/Ridges_3/*.vcproj Ridges_3/test/Ridges_3/Makefile Ridges_3/test/Ridges_3/ridge_test +STL_Extension/test/STL_Extension/CMakeLists.txt +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 +STL_Extension/test/STL_Extension/test_Flattening_iterator +STL_Extension/test/STL_Extension/test_Handle_with_policy +STL_Extension/test/STL_Extension/test_In_place_list +STL_Extension/test/STL_Extension/test_Modifiable_priority_queue +STL_Extension/test/STL_Extension/test_Nested_iterator +STL_Extension/test/STL_Extension/test_Uncertain +STL_Extension/test/STL_Extension/test_complexity_tags +STL_Extension/test/STL_Extension/test_composition +STL_Extension/test/STL_Extension/test_dispatch_output +STL_Extension/test/STL_Extension/test_is_iterator +STL_Extension/test/STL_Extension/test_is_streamable +STL_Extension/test/STL_Extension/test_lexcompare_outputrange +STL_Extension/test/STL_Extension/test_multiset +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 Skin_surface_3/.cdtproject Skin_surface_3/.project Skin_surface_3/.settings @@ -961,6 +1020,8 @@ Skin_surface_3/test/Skin_surface_3/error.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/CMakeLists.txt +Spatial_sorting/test/Spatial_sorting/cgal_test_with_cmake Stream_lines_2/demo/Stream_lines_2/*.exe Stream_lines_2/demo/Stream_lines_2/*.sln Stream_lines_2/demo/Stream_lines_2/*.vcproj @@ -1169,12 +1230,17 @@ Surface_reconstruction_points_3/test/Surface_reconstruction_points_3/error.txt Surface_reconstruction_points_3/test/Surface_reconstruction_points_3/poisson_reconstruction_test Surface_reconstruction_points_3/test/Surface_reconstruction_points_3/release Testsuite/test/myrun_testsuite_with_cmake +Triangulation_2/CMakeLists.txt +Triangulation_2/cgal_test_with_cmake Triangulation_2/demo/Triangulation_2/*.exe 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/CMakeLists.txt +Triangulation_2/examples/Triangulation_2/cgal_test_with_cmake +Triangulation_2/examples/Triangulation_2/regular Triangulation_2/test/Triangulation_2/*.exe Triangulation_2/test/Triangulation_2/CMakeLists.txt Triangulation_2/test/Triangulation_2/Makefile @@ -1195,6 +1261,9 @@ 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/CMakeLists.txt +Triangulation_3/benchmark/Triangulation_3/cgal_test_with_cmake +Triangulation_3/benchmark/Triangulation_3/simple Triangulation_3/examples/Triangulation_3/*.exe Triangulation_3/examples/Triangulation_3/CMakeLists.txt Triangulation_3/examples/Triangulation_3/adding_handles_3 @@ -1230,6 +1299,7 @@ Triangulation_3/test/Triangulation_3/makefile Triangulation_3/test/Triangulation_3/test_delaunay_3 Triangulation_3/test/Triangulation_3/test_delaunay_hierarchy_3 Triangulation_3/test/Triangulation_3/test_delaunay_hierarchy_3_old +Triangulation_3/test/Triangulation_3/test_dt_deterministic_3 Triangulation_3/test/Triangulation_3/test_regular_3 Triangulation_3/test/Triangulation_3/test_regular_as_delaunay_3 Triangulation_3/test/Triangulation_3/test_regular_remove_3 diff --git a/AABB_tree/doc_tex/AABB_tree_ref/AABBTraits.tex b/AABB_tree/doc_tex/AABB_tree_ref/AABBTraits.tex index 0be28c2830a..095f8f5a732 100644 --- a/AABB_tree/doc_tex/AABB_tree_ref/AABBTraits.tex +++ b/AABB_tree/doc_tex/AABB_tree_ref/AABBTraits.tex @@ -95,10 +95,10 @@ for which the class \ccc{AABB_tree} may receive a distance query. \ccMethod{Closest_point closest_point_object();}{Returns the closest point constructor.} \ccHasModels -\ccc{AABB_traits}. +\ccc{AABB_traits}. \ccSeeAlso -\ccc{AABB_traits}\\ +\ccc{AABB_traits}\\ \ccc{AABB_tree} \ccc{AABBPrimitive} diff --git a/AABB_tree/include/CGAL/AABB_segment_primitive.h b/AABB_tree/include/CGAL/AABB_segment_primitive.h index 279a93b53ad..7e1a5edcd71 100644 --- a/AABB_tree/include/CGAL/AABB_segment_primitive.h +++ b/AABB_tree/include/CGAL/AABB_segment_primitive.h @@ -1,71 +1,71 @@ -// Copyright (c) 2009 INRIA Sophia-Antipolis (France). -// All rights reserved. -// +// Copyright (c) 2009 INRIA Sophia-Antipolis (France). +// All rights reserved. +// // This file is part of CGAL (www.cgal.org). // You can redistribute it and/or modify it under the terms of the GNU // General Public License as published by the Free Software Foundation, // either version 3 of the License, or (at your option) any later version. -// -// Licensees holding a valid commercial license may use this file in -// accordance with the commercial license agreement provided with the software. -// -// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -// -// $URL$ -// $Id$ -// -// -// Author(s) : Pierre Alliez, Stephane Tayeb -// -//****************************************************************************** -// File Description : -// -//****************************************************************************** - -#ifndef CGAL_AABB_SEGMENT_PRIMITIVE_H_ -#define CGAL_AABB_SEGMENT_PRIMITIVE_H_ - -namespace CGAL { - -template -class AABB_segment_primitive -{ - // types -public: - typedef typename GeomTraits::Point_3 Point; // point type - typedef typename GeomTraits::Segment_3 Datum; // datum type - typedef Iterator Id; // Id type - - // member data -private: - Id m_it; - Datum m_datum; - -public: - // constructors - AABB_segment_primitive() {} - AABB_segment_primitive(Id it) - : m_it(it) - { - m_datum = *it; // copy segment - } - AABB_segment_primitive(const AABB_segment_primitive& primitive) - { - m_it = primitive.id(); - m_datum = primitive.datum(); - } -public: - Id& id() { return m_it; } - const Id& id() const { return m_it; } - Datum& datum() { return m_datum; } - const Datum& datum() const { return m_datum; } - - /// Returns a point on the primitive - Point reference_point() const { return m_datum.source(); } -}; - -} // end namespace CGAL - -#endif // CGAL_AABB_SEGMENT_PRIMITIVE_H_ - +// +// Licensees holding a valid commercial license may use this file in +// accordance with the commercial license agreement provided with the software. +// +// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +// +// $URL$ +// $Id$ +// +// +// Author(s) : Pierre Alliez, Stephane Tayeb +// +//****************************************************************************** +// File Description : +// +//****************************************************************************** + +#ifndef CGAL_AABB_SEGMENT_PRIMITIVE_H_ +#define CGAL_AABB_SEGMENT_PRIMITIVE_H_ + +namespace CGAL { + +template +class AABB_segment_primitive +{ + // types +public: + typedef typename GeomTraits::Point_3 Point; // point type + typedef typename GeomTraits::Segment_3 Datum; // datum type + typedef Iterator Id; // Id type + + // member data +private: + Id m_it; + Datum m_datum; + +public: + // constructors + AABB_segment_primitive() {} + AABB_segment_primitive(Id it) + : m_it(it) + { + m_datum = *it; // copy segment + } + AABB_segment_primitive(const AABB_segment_primitive& primitive) + { + m_it = primitive.id(); + m_datum = primitive.datum(); + } +public: + Id& id() { return m_it; } + const Id& id() const { return m_it; } + Datum& datum() { return m_datum; } + const Datum& datum() const { return m_datum; } + + /// Returns a point on the primitive + Point reference_point() const { return m_datum.source(); } +}; + +} // end namespace CGAL + +#endif // CGAL_AABB_SEGMENT_PRIMITIVE_H_ + diff --git a/AABB_tree/include/CGAL/AABB_triangle_primitive.h b/AABB_tree/include/CGAL/AABB_triangle_primitive.h index 0a5be985c10..6238297d24b 100644 --- a/AABB_tree/include/CGAL/AABB_triangle_primitive.h +++ b/AABB_tree/include/CGAL/AABB_triangle_primitive.h @@ -1,72 +1,72 @@ -// Copyright (c) 2009 INRIA Sophia-Antipolis (France). -// All rights reserved. -// +// Copyright (c) 2009 INRIA Sophia-Antipolis (France). +// All rights reserved. +// // This file is part of CGAL (www.cgal.org). // You can redistribute it and/or modify it under the terms of the GNU // General Public License as published by the Free Software Foundation, // either version 3 of the License, or (at your option) any later version. -// -// Licensees holding a valid commercial license may use this file in -// accordance with the commercial license agreement provided with the software. -// -// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -// -// $URL$ -// $Id$ -// -// -// Author(s) : Pierre Alliez, Stephane Tayeb -// -//****************************************************************************** -// File Description : -// -//****************************************************************************** - -#ifndef CGAL_AABB_TRIANGLE_PRIMITIVE_H_ -#define CGAL_AABB_TRIANGLE_PRIMITIVE_H_ - -namespace CGAL { - - template - class AABB_triangle_primitive - { - public: - // types - typedef Iterator Id; // Id type - typedef typename GeomTraits::Point_3 Point; // point type - typedef typename GeomTraits::Triangle_3 Datum; // datum type - - private: - // member data - Id m_it; // iterator - Datum m_datum; // 3D triangle - - // constructor - public: - AABB_triangle_primitive() {} - AABB_triangle_primitive(Id it) - : m_it(it) - { - m_datum = *it; // copy triangle - } - AABB_triangle_primitive(const AABB_triangle_primitive& primitive) - { - m_datum = primitive.datum(); - m_it = primitive.id(); - } - public: - Id& id() { return m_it; } - const Id& id() const { return m_it; } - Datum& datum() { return m_datum; } - const Datum& datum() const { return m_datum; } - - /// Returns a point on the primitive - Point reference_point() const { return m_datum.vertex(0); } - }; - -} // end namespace CGAL - - -#endif // CGAL_AABB_TRIANGLE_PRIMITIVE_H_ - +// +// Licensees holding a valid commercial license may use this file in +// accordance with the commercial license agreement provided with the software. +// +// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +// +// $URL$ +// $Id$ +// +// +// Author(s) : Pierre Alliez, Stephane Tayeb +// +//****************************************************************************** +// File Description : +// +//****************************************************************************** + +#ifndef CGAL_AABB_TRIANGLE_PRIMITIVE_H_ +#define CGAL_AABB_TRIANGLE_PRIMITIVE_H_ + +namespace CGAL { + + template + class AABB_triangle_primitive + { + public: + // types + typedef Iterator Id; // Id type + typedef typename GeomTraits::Point_3 Point; // point type + typedef typename GeomTraits::Triangle_3 Datum; // datum type + + private: + // member data + Id m_it; // iterator + Datum m_datum; // 3D triangle + + // constructor + public: + AABB_triangle_primitive() {} + AABB_triangle_primitive(Id it) + : m_it(it) + { + m_datum = *it; // copy triangle + } + AABB_triangle_primitive(const AABB_triangle_primitive& primitive) + { + m_datum = primitive.datum(); + m_it = primitive.id(); + } + public: + Id& id() { return m_it; } + const Id& id() const { return m_it; } + Datum& datum() { return m_datum; } + const Datum& datum() const { return m_datum; } + + /// Returns a point on the primitive + Point reference_point() const { return m_datum.vertex(0); } + }; + +} // end namespace CGAL + + +#endif // CGAL_AABB_TRIANGLE_PRIMITIVE_H_ + diff --git a/AABB_tree/include/CGAL/internal/AABB_tree/AABB_search_tree.h b/AABB_tree/include/CGAL/internal/AABB_tree/AABB_search_tree.h index 926c436cf0d..944fb5a82b9 100644 --- a/AABB_tree/include/CGAL/internal/AABB_tree/AABB_search_tree.h +++ b/AABB_tree/include/CGAL/internal/AABB_tree/AABB_search_tree.h @@ -1,137 +1,137 @@ -// Copyright (c) 2009 INRIA Sophia-Antipolis (France) -// All rights reserved. -// +// Copyright (c) 2009 INRIA Sophia-Antipolis (France) +// All rights reserved. +// // This file is part of CGAL (www.cgal.org). // You can redistribute it and/or modify it under the terms of the GNU // General Public License as published by the Free Software Foundation, // either version 3 of the License, or (at your option) any later version. -// -// Licensees holding a valid commercial license may use this file in -// accordance with the commercial license agreement provided with the software. -// -// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -// -// $URL$ -// $Id$ -// -// -// Author(s) : Pierre Alliez, Camille Wormser - -#ifndef CGAL_AABB_SEARCH_TREE_H -#define CGAL_AABB_SEARCH_TREE_H - -#include -#include - -namespace CGAL -{ - template - class Add_decorated_point: public Underlying - { - class Decorated_point: public Underlying::Point_3 - { - public: - const Id& id() const { return m_id; } - - Decorated_point() - : Underlying::Point_3() - , m_id() - , m_is_id_initialized(false) {} - - // Allows the user not to provide the id - // so that we don't break existing code - Decorated_point(const typename Underlying::Point_3& p) - : Underlying::Point_3(p) - , m_id() - , m_is_id_initialized(false) {} - - Decorated_point(const typename Underlying::Point_3& p, - const Id& id) - : Underlying::Point_3(p) - , m_id(id) - , m_is_id_initialized(true) {} - - Decorated_point(const Decorated_point& rhs) - : Underlying::Point_3(rhs) - , m_id() - , m_is_id_initialized(rhs.m_is_id_initialized) - { - if ( m_is_id_initialized ) - m_id = rhs.m_id; - } - - private: - Id m_id; - - // Needed to avoid exception (depending on Id type) - // "error: attempt to copy-construct an iterator from a singular iterator." - // This exception may appear if we copy-construct an Id - // which has Id() as value (It is done when constructing - // Neighbor_search since we pass the Point only as query) - bool m_is_id_initialized; - }; - public: - typedef Decorated_point Point_3; - }; - - template - class AABB_search_tree - { - public: - typedef typename Traits::FT FT; - typedef typename Traits::Point_3 Point; - typedef typename Traits::Primitive Primitive; - typedef typename Traits::Point_and_primitive_id Point_and_primitive_id; - typedef typename CGAL::Search_traits_3 > TreeTraits; - typedef typename CGAL::Orthogonal_k_neighbor_search Neighbor_search; - typedef typename Neighbor_search::Tree Tree; - private: - Tree* m_p_tree; - - - Point_and_primitive_id get_p_and_p(const Point_and_primitive_id& p) - { - return p; - } - Point_and_primitive_id get_p_and_p(const Point& p) - { - return Point_and_primitive_id(p, typename Primitive::Id()); - } - - public: - template - AABB_search_tree(ConstPointIterator begin, ConstPointIterator beyond) - : m_p_tree(NULL) - { - typedef typename Add_decorated_point::Point_3 Decorated_point; - std::vector points; - while(begin != beyond) { - Point_and_primitive_id pp = get_p_and_p(*begin); - points.push_back(Decorated_point(pp.first,pp.second)); - ++begin; - } - m_p_tree = new Tree(points.begin(), points.end()); - if(m_p_tree != NULL) - m_p_tree->build(); - else - std::cerr << "unable to build the search tree!" << std::endl; - } - - ~AABB_search_tree() { - delete m_p_tree; - } - - - Point_and_primitive_id closest_point(const Point& query) const - { - typedef typename Add_decorated_point::Point_3 Decorated_point; - Neighbor_search search(*m_p_tree, query, 1); - return Point_and_primitive_id(static_cast(search.begin()->first), search.begin()->first.id()); - } - }; - -} - -#endif // CGAL_AABB_SEARCH_TREE_H - +// +// Licensees holding a valid commercial license may use this file in +// accordance with the commercial license agreement provided with the software. +// +// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +// +// $URL$ +// $Id$ +// +// +// Author(s) : Pierre Alliez, Camille Wormser + +#ifndef CGAL_AABB_SEARCH_TREE_H +#define CGAL_AABB_SEARCH_TREE_H + +#include +#include + +namespace CGAL +{ + template + class Add_decorated_point: public Underlying + { + class Decorated_point: public Underlying::Point_3 + { + public: + const Id& id() const { return m_id; } + + Decorated_point() + : Underlying::Point_3() + , m_id() + , m_is_id_initialized(false) {} + + // Allows the user not to provide the id + // so that we don't break existing code + Decorated_point(const typename Underlying::Point_3& p) + : Underlying::Point_3(p) + , m_id() + , m_is_id_initialized(false) {} + + Decorated_point(const typename Underlying::Point_3& p, + const Id& id) + : Underlying::Point_3(p) + , m_id(id) + , m_is_id_initialized(true) {} + + Decorated_point(const Decorated_point& rhs) + : Underlying::Point_3(rhs) + , m_id() + , m_is_id_initialized(rhs.m_is_id_initialized) + { + if ( m_is_id_initialized ) + m_id = rhs.m_id; + } + + private: + Id m_id; + + // Needed to avoid exception (depending on Id type) + // "error: attempt to copy-construct an iterator from a singular iterator." + // This exception may appear if we copy-construct an Id + // which has Id() as value (It is done when constructing + // Neighbor_search since we pass the Point only as query) + bool m_is_id_initialized; + }; + public: + typedef Decorated_point Point_3; + }; + + template + class AABB_search_tree + { + public: + typedef typename Traits::FT FT; + typedef typename Traits::Point_3 Point; + typedef typename Traits::Primitive Primitive; + typedef typename Traits::Point_and_primitive_id Point_and_primitive_id; + typedef typename CGAL::Search_traits_3 > TreeTraits; + typedef typename CGAL::Orthogonal_k_neighbor_search Neighbor_search; + typedef typename Neighbor_search::Tree Tree; + private: + Tree* m_p_tree; + + + Point_and_primitive_id get_p_and_p(const Point_and_primitive_id& p) + { + return p; + } + Point_and_primitive_id get_p_and_p(const Point& p) + { + return Point_and_primitive_id(p, typename Primitive::Id()); + } + + public: + template + AABB_search_tree(ConstPointIterator begin, ConstPointIterator beyond) + : m_p_tree(NULL) + { + typedef typename Add_decorated_point::Point_3 Decorated_point; + std::vector points; + while(begin != beyond) { + Point_and_primitive_id pp = get_p_and_p(*begin); + points.push_back(Decorated_point(pp.first,pp.second)); + ++begin; + } + m_p_tree = new Tree(points.begin(), points.end()); + if(m_p_tree != NULL) + m_p_tree->build(); + else + std::cerr << "unable to build the search tree!" << std::endl; + } + + ~AABB_search_tree() { + delete m_p_tree; + } + + + Point_and_primitive_id closest_point(const Point& query) const + { + typedef typename Add_decorated_point::Point_3 Decorated_point; + Neighbor_search search(*m_p_tree, query, 1); + return Point_and_primitive_id(static_cast(search.begin()->first), search.begin()->first.id()); + } + }; + +} + +#endif // CGAL_AABB_SEARCH_TREE_H + diff --git a/AABB_tree/include/CGAL/internal/AABB_tree/nearest_point_segment_3.h b/AABB_tree/include/CGAL/internal/AABB_tree/nearest_point_segment_3.h index a5773dec8ec..08372a62fbd 100644 --- a/AABB_tree/include/CGAL/internal/AABB_tree/nearest_point_segment_3.h +++ b/AABB_tree/include/CGAL/internal/AABB_tree/nearest_point_segment_3.h @@ -1,144 +1,165 @@ -// Copyright (c) 2009 INRIA Sophia-Antipolis (France). -// All rights reserved. -// +// Copyright (c) 2009 INRIA Sophia-Antipolis (France). +// All rights reserved. +// // This file is part of CGAL (www.cgal.org). // You can redistribute it and/or modify it under the terms of the GNU // General Public License as published by the Free Software Foundation, // either version 3 of the License, or (at your option) any later version. -// -// Licensees holding a valid commercial license may use this file in -// accordance with the commercial license agreement provided with the software. -// -// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -// -// $URL$ -// $Id$ -// -// -// Author(s) : Camille Wormser, Stephane Tayeb, Pierre Alliez -// -//****************************************************************************** -// File Description : -// -//****************************************************************************** - -#ifndef NEAREST_POINT_SEGMENT_3_H_ -#define NEAREST_POINT_SEGMENT_3_H_ - -#include -#include - - -namespace CGAL { - - - namespace internal { - - /** - * @brief returns true if p is inside segment s. If p is not inside s, - * result is the nearest point of s from p. WARNING: it is assumed that - * t and p are on the same line. - * @param query the query point - * @param s the segment - * @param closest_point_on_segment if query is not inside s, the nearest point of s from p - * @param k the kernel - * @return true if p is inside s - */ - template - inline - bool - is_inside_segment_3(const typename K::Point_3& query, - const typename K::Segment_3 & s, - typename K::Point_3& closest_point_on_segment, - const K&) - { - typedef typename K::FT FT; - typedef typename K::Point_3 Point; - - const Point& a = s.source(); - const Point& b = s.target(); - if((b-a)*(query-a) < FT(0)) - { - closest_point_on_segment = a; - return false; - } - if((a-b)*(query-b) < FT(0)) - { - closest_point_on_segment = b; - return false; - } - - // query is on segment - return true; - } - - /** - * @brief Computes the closest_point from query between bound and - * any point of segment. - * @param query the query point - * @param segment the segment - * @param bound the farthest point - * @param k the kernel - * @return nearest point: bound or a point inside segment - */ - template - typename K::Point_3 - nearest_point_3(const typename K::Point_3& query, - const typename K::Segment_3& segment, - const typename K::Point_3& bound, - const K& k) - { - typedef typename K::Point_3 Point_3; - typedef typename K::Vector_3 Vector_3; - typedef typename K::FT FT; - - typename K::Compute_squared_distance_3 sq_distance = - k.compute_squared_distance_3_object(); - typename K::Compare_squared_distance_3 compare_sq_distance = - k.compare_squared_distance_3_object(); - typename K::Construct_projected_point_3 projection = - k.construct_projected_point_3_object(); - - // Square distance from query to bound - const FT bound_sq_dist = sq_distance(query, bound); - - // Project query on segment supporting line - const Point_3 proj = projection(segment.supporting_line(), query); - - // If point is projected outside, return bound - if ( compare_sq_distance(query, proj, bound_sq_dist) == CGAL::LARGER ) - return bound; - - Point_3 closest_point_on_segment; - bool inside = is_inside_segment_3(proj,segment,closest_point_on_segment,k); - - // If proj is inside segment, returns it - if ( inside ) - return proj; - - // Else returns the constructed point (nearest segment' point from proj), - // if it is closest to query than bound - if ( compare_sq_distance(query, closest_point_on_segment, bound_sq_dist) == CGAL::LARGER ) - return bound; - - return closest_point_on_segment; - } - - } // end namespace internal - - - template - inline - Point_3 - nearest_point_3(const Point_3& origin, - const Segment_3& segment, - const Point_3& bound) - { - return internal::nearest_point_3(origin, segment, bound, K()); - } - -} // end namespace CGAL - - -#endif // NEAREST_POINT_SEGMENT_3_H_ +// +// Licensees holding a valid commercial license may use this file in +// accordance with the commercial license agreement provided with the software. +// +// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +// +// $URL$ +// $Id$ +// +// +// Author(s) : Camille Wormser, Stephane Tayeb, Pierre Alliez +// +//****************************************************************************** +// File Description : +// +//****************************************************************************** + +#ifndef NEAREST_POINT_SEGMENT_3_H_ +#define NEAREST_POINT_SEGMENT_3_H_ + +#include +#include + + +namespace CGAL { + + + namespace internal { + + /** + * @brief returns true if p is inside segment s. If p is not inside s, + * result is the nearest point of s from p. WARNING: it is assumed that + * t and p are on the same line. + * @param query the query point + * @param s the segment + * @param closest_point_on_segment if query is not inside s, the nearest point of s from p + * @param k the kernel + * @return true if p is inside s + */ + template + inline + bool + is_inside_segment_3(const typename K::Point_3& query, + const typename K::Segment_3 & s, + typename K::Point_3& closest_point_on_segment, + const K&) + { + typedef typename K::FT FT; + typedef typename K::Point_3 Point; + + const Point& a = s.source(); + const Point& b = s.target(); + if((b-a)*(query-a) < FT(0)) + { + closest_point_on_segment = a; + return false; + } + if((a-b)*(query-b) < FT(0)) + { + closest_point_on_segment = b; + return false; + } + + // query is on segment + return true; + } + + /** + * @brief Computes the closest_point from query between bound and + * any point of segment. + * @param query the query point + * @param segment the segment + * @param bound the farthest point + * @param k the kernel + * @return nearest point: bound or a point inside segment + */ + template + typename K::Point_3 + nearest_point_3(const typename K::Point_3& query, + const typename K::Segment_3& segment, + const typename K::Point_3& bound, + const K& k) + { + typedef typename K::Point_3 Point_3; + typedef typename K::Vector_3 Vector_3; + typedef typename K::FT FT; + + typename K::Compute_squared_distance_3 sq_distance = + k.compute_squared_distance_3_object(); + typename K::Compare_squared_distance_3 compare_sq_distance = + k.compare_squared_distance_3_object(); + typename K::Construct_projected_point_3 projection = + k.construct_projected_point_3_object(); + typename K::Is_degenerate_3 is_degenerate = + k.is_degenerate_3_object(); + typename K::Construct_vertex_3 vertex = + k.construct_vertex_3_object(); + + // Square distance from query to bound + const FT bound_sq_dist = sq_distance(query, bound); + + if(is_degenerate(segment)) { + const Point_3& p_on_seg = vertex(segment, 0); + if(compare_sq_distance(query, + p_on_seg, + bound_sq_dist) == CGAL::LARGER) { + return bound; + } else { + return p_on_seg; + } + } + // Project query on segment supporting line + const Point_3 proj = projection(segment.supporting_line(), query); + + // If point is projected outside, return bound + if ( compare_sq_distance(query, proj, bound_sq_dist) == CGAL::LARGER ) + return bound; + + Point_3 closest_point_on_segment; + bool inside = is_inside_segment_3(proj,segment,closest_point_on_segment,k); + + // If proj is inside segment, returns it + if ( inside ) + return proj; + + // Else returns the constructed point (nearest segment' point from proj), + // if it is closest to query than bound + if ( compare_sq_distance(query, closest_point_on_segment, bound_sq_dist) == CGAL::LARGER ) + return bound; + + return closest_point_on_segment; + } + + } // end namespace internal + + + template + inline + Point_3 + nearest_point_3(const Point_3& origin, + const Segment_3& segment, + const Point_3& bound) + { + return internal::nearest_point_3(origin, segment, bound, K()); + } + +} // end namespace CGAL + + +#endif // NEAREST_POINT_SEGMENT_3_H_ + +// This file uses an indentation width of 4, instead of 2. +// Sets that preference for GNU/Emacs, in a file-local variable. +// +// Local Variables: +// c-basic-offset: 4 +// End: diff --git a/Algebraic_kernel_d/include/CGAL/RS/algebraic_1_comparisons.h b/Algebraic_kernel_d/include/CGAL/RS/algebraic_1_comparisons.h index b525c0e667a..de029659810 100644 --- a/Algebraic_kernel_d/include/CGAL/RS/algebraic_1_comparisons.h +++ b/Algebraic_kernel_d/include/CGAL/RS/algebraic_1_comparisons.h @@ -25,11 +25,19 @@ namespace CGAL{ +#if CGAL_USE_RS3 inline bool operator<(const Algebraic_1 &n1,const Algebraic_1 &n2){ typedef CGAL::Rsgcd_1 Gcd; return(CGAL::RS_COMPARE::compare_1(n1,n2)==SMALLER); } +#else +inline +bool operator<(const Algebraic_1 &n1,const Algebraic_1 &n2){ + typedef CGAL::Cgalgcd_1 Gcd; + return(CGAL::RS_COMPARE::compare_1(n1,n2)==SMALLER); +} +#endif inline bool operator==(const Algebraic_1 &n1,const Algebraic_1 &n2){ diff --git a/Algebraic_kernel_d/include/CGAL/RS/compare_1.h b/Algebraic_kernel_d/include/CGAL/RS/compare_1.h index c1242579803..dc9a4d97bca 100644 --- a/Algebraic_kernel_d/include/CGAL/RS/compare_1.h +++ b/Algebraic_kernel_d/include/CGAL/RS/compare_1.h @@ -36,6 +36,7 @@ namespace RS_COMPARE{ // compare two algebraic numbers, knowing they are not equal //template +inline Comparison_result compare_1_unequal(const Algebraic_1 &r1,const Algebraic_1 &r2){ /*typedef _Gcd_policy Gcd; diff --git a/Algebraic_kernel_d/include/CGAL/RS/polynomial_1_io.h b/Algebraic_kernel_d/include/CGAL/RS/polynomial_1_io.h index baa659d6f40..ad51fba722d 100644 --- a/Algebraic_kernel_d/include/CGAL/RS/polynomial_1_io.h +++ b/Algebraic_kernel_d/include/CGAL/RS/polynomial_1_io.h @@ -65,6 +65,7 @@ std::ostream& operator<<(std::ostream &os,const RS_polynomial_1 &p){ } } +inline std::istream& operator>>(std::istream &is,RS_polynomial_1 &pol){ std::istream::int_type c; std::ios::fmtflags old_flags=is.flags(); diff --git a/Algebraic_kernel_d/include/CGAL/RS/polynomial_1_utils.h b/Algebraic_kernel_d/include/CGAL/RS/polynomial_1_utils.h index b5b24196bb6..9c0c02ad138 100644 --- a/Algebraic_kernel_d/include/CGAL/RS/polynomial_1_utils.h +++ b/Algebraic_kernel_d/include/CGAL/RS/polynomial_1_utils.h @@ -19,13 +19,16 @@ #ifndef CGAL_RS_POLYNOMIAL_1_UTILS_H #define CGAL_RS_POLYNOMIAL_1_UTILS_H +#include #include -#include #include #include #include #include #include +#ifdef CGAL_USE_RS3 +#include +#endif namespace CGAL{ diff --git a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_x_monotone_traits.tex b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_x_monotone_traits.tex index a1db1051a5a..9a8cadf6e42 100644 --- a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_x_monotone_traits.tex +++ b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_x_monotone_traits.tex @@ -9,7 +9,7 @@ \ccDefinition % =========== -The concept\ccRefName{} refines the basic arrangement-traits concept. +The concept \ccRefName{} refines the basic arrangement-traits concept. A model of this concept is able to handle $x$-monotone curves that intersect in their interior (and points that coincide with curve interiors). This is necessary for constructing arrangements of sets of diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_batched_point_location.h b/Arrangement_on_surface_2/include/CGAL/Arr_batched_point_location.h index fb9436edbf6..88fbd6a6414 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_batched_point_location.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_batched_point_location.h @@ -52,7 +52,7 @@ OutputIterator locate // Arrangement types: typedef Arrangement_on_surface_2 Arr; typedef typename TopTraits::template - Sweep_line_bacthed_point_location_visitor + Sweep_line_batched_point_location_visitor Bpl_visitor; typedef typename Arr::Halfedge_const_handle Halfedge_const_handle; diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_bounded_planar_topology_traits_2.h b/Arrangement_on_surface_2/include/CGAL/Arr_bounded_planar_topology_traits_2.h index e1655baf6f7..f1d342da74f 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_bounded_planar_topology_traits_2.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_bounded_planar_topology_traits_2.h @@ -298,7 +298,7 @@ public: Sweep_line_non_intersecting_insertion_visitor; template - struct Sweep_line_bacthed_point_location_visitor : + struct Sweep_line_batched_point_location_visitor : public Arr_batched_pl_sl_visitor { typedef OutputIterator_ Output_iterator; @@ -309,7 +309,7 @@ public: typedef typename Base::Event Event; typedef typename Base::Subcurve Subcurve; - Sweep_line_bacthed_point_location_visitor (const Arr *arr, + Sweep_line_batched_point_location_visitor (const Arr *arr, Output_iterator *oi) : Base (arr, oi) {} diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_circular_line_arc_traits_2.h b/Arrangement_on_surface_2/include/CGAL/Arr_circular_line_arc_traits_2.h index 2886b0c42be..25666fc86bc 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_circular_line_arc_traits_2.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_circular_line_arc_traits_2.h @@ -508,7 +508,8 @@ namespace CGAL { // in Arr_circular_line_arc_traits_2. namespace internal_Argt_traits{ struct Not_X_Monotone{}; - std::ostream& operator<<(std::ostream& os,const Not_X_Monotone&) {return os;} + inline std::ostream& operator << (std::ostream& os, const Not_X_Monotone&) + {return os;} } /// Traits class for CGAL::Arrangement_2 (and similar) based on a CircularKernel. diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_spherical_gaussian_map_3/Arr_polyhedral_sgm.h b/Arrangement_on_surface_2/include/CGAL/Arr_spherical_gaussian_map_3/Arr_polyhedral_sgm.h index 612445215ba..7877cd716c6 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_spherical_gaussian_map_3/Arr_polyhedral_sgm.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_spherical_gaussian_map_3/Arr_polyhedral_sgm.h @@ -607,9 +607,7 @@ public: /*! */ template -#endif class T_Dcel = Arr_polyhedral_sgm_arr_dcel> class Arr_polyhedral_sgm : public Arr_spherical_gaussian_map_3 @@ -621,11 +619,7 @@ public: typedef typename Geometry_traits_2::Point_3 Point_3; typedef typename Geometry_traits_2::Vector_3 Vector_3; -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM typedef T_Dcel Dcel; -#else - typedef typename T_Dcel::template Dcel Dcel; -#endif // For some reason MSVC barfs on the friend statement below. Therefore, // we declare the Base to be public to overcome the problem. diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_spherical_gaussian_map_3/Arr_spherical_gaussian_map_3.h b/Arrangement_on_surface_2/include/CGAL/Arr_spherical_gaussian_map_3/Arr_spherical_gaussian_map_3.h index 21331c8e902..3e8f798a1e4 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_spherical_gaussian_map_3/Arr_spherical_gaussian_map_3.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_spherical_gaussian_map_3/Arr_spherical_gaussian_map_3.h @@ -331,18 +331,12 @@ protected: * embedded on the sphere. */ template -#endif class T_Dcel = Arr_default_dcel> class Arr_spherical_gaussian_map_3 : public Arrangement_on_surface_2 -#else - typename T_Dcel::template Dcel -#endif > > { diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_spherical_topology_traits_2.h b/Arrangement_on_surface_2/include/CGAL/Arr_spherical_topology_traits_2.h index 49a40600ea8..2f7080d9d4b 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_spherical_topology_traits_2.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_spherical_topology_traits_2.h @@ -433,7 +433,7 @@ public: Sweep_line_non_intersecting_insertion_visitor; template - struct Sweep_line_bacthed_point_location_visitor : + struct Sweep_line_batched_point_location_visitor : public Arr_batched_pl_sl_visitor { typedef OutputIterator_ Output_iterator; @@ -443,7 +443,7 @@ public: typedef typename Base::Event Event; typedef typename Base::Subcurve Subcurve; - Sweep_line_bacthed_point_location_visitor(const Arr * arr, + Sweep_line_batched_point_location_visitor(const Arr * arr, Output_iterator * oi) : Base(arr, oi) {} diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_unb_planar_topology_traits_2.h b/Arrangement_on_surface_2/include/CGAL/Arr_unb_planar_topology_traits_2.h index 086b2f6552f..c7b6cc51314 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_unb_planar_topology_traits_2.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_unb_planar_topology_traits_2.h @@ -317,7 +317,7 @@ public: Sweep_line_non_intersecting_insertion_visitor; template - struct Sweep_line_bacthed_point_location_visitor : + struct Sweep_line_batched_point_location_visitor : public Arr_batched_pl_sl_visitor { typedef OutputIterator_ Output_iterator; @@ -328,7 +328,7 @@ public: typedef typename Base::Event Event; typedef typename Base::Subcurve Subcurve; - Sweep_line_bacthed_point_location_visitor (const Arr *arr, + Sweep_line_batched_point_location_visitor (const Arr *arr, Output_iterator *oi) : Base (arr, oi) {} diff --git a/Arrangement_on_surface_2/include/CGAL/Sweep_line_2/Basic_sweep_line_2_impl.h b/Arrangement_on_surface_2/include/CGAL/Sweep_line_2/Basic_sweep_line_2_impl.h index f34e7549469..76b9601f05d 100644 --- a/Arrangement_on_surface_2/include/CGAL/Sweep_line_2/Basic_sweep_line_2_impl.h +++ b/Arrangement_on_surface_2/include/CGAL/Sweep_line_2/Basic_sweep_line_2_impl.h @@ -218,9 +218,12 @@ void Basic_sweep_line_2::_init_structures() { CGAL_assertion(m_queue->empty()); CGAL_assertion((m_statusLine.size() == 0)); - - // Allocate all of the Subcurve objects as one block. - m_subCurves = m_subCurveAlloc.allocate(m_num_of_subCurves); + + // Allocate all of the Subcurve objects as one block. Don't allocate + // anything when there are no subcurves. + if (m_num_of_subCurves > 0) { + m_subCurves = m_subCurveAlloc.allocate(m_num_of_subCurves); + } return; } diff --git a/Arrangement_on_surface_2/include/CGAL/Sweep_line_2/Sweep_line_2_visitors.h b/Arrangement_on_surface_2/include/CGAL/Sweep_line_2/Sweep_line_2_visitors.h index bbc28fcc9f5..73ce9ca60b0 100644 --- a/Arrangement_on_surface_2/include/CGAL/Sweep_line_2/Sweep_line_2_visitors.h +++ b/Arrangement_on_surface_2/include/CGAL/Sweep_line_2/Sweep_line_2_visitors.h @@ -40,13 +40,13 @@ namespace CGAL { * A simple sweep-line visitor that reports all intersection points among a * set of input curves. */ -template +template class Sweep_line_points_visitor : public Sweep_line_empty_visitor { typedef Traits_ Traits_2; - typedef OutputIerator_ OutputIerator; - typedef Sweep_line_points_visitor Self; + typedef OutputIerator_ Output_ierator; + typedef Sweep_line_points_visitor Self; typedef Sweep_line_empty_visitor Base; typedef typename Base::Event Event; @@ -61,44 +61,37 @@ class Sweep_line_points_visitor : typedef CGAL::Sweep_line_2 Sweep_line_2; protected: - - OutputIerator m_out; // The output points. + Output_ierator m_out; // The output points. bool m_includeEndPoints; // Should we include endpoints. public: - - - Sweep_line_points_visitor (OutputIerator out, - bool endpoints) : + Sweep_line_points_visitor(Output_ierator out, bool endpoints) : m_out(out), - m_includeEndPoints (endpoints) + m_includeEndPoints(endpoints) {} template - void sweep (CurveIterator begin, CurveIterator end) + void sweep(CurveIterator begin, CurveIterator end) { std::vector curves_vec; std::vector points_vec; - curves_vec.reserve (std::distance (begin,end)); - make_x_monotone (begin, - end, - std::back_inserter(curves_vec), - std::back_inserter(points_vec), - this->traits()); + curves_vec.reserve(std::distance(begin,end)); + make_x_monotone(begin, end, + std::back_inserter(curves_vec), + std::back_inserter(points_vec), + this->traits()); //Perform the sweep - Sweep_line_2 *sl = reinterpret_cast (this->sweep_line()); + Sweep_line_2* sl = reinterpret_cast(this->sweep_line()); - sl->sweep (curves_vec.begin(), - curves_vec.end(), - points_vec.begin(), - points_vec.end()); + sl->sweep(curves_vec.begin(), curves_vec.end(), + points_vec.begin(), points_vec.end()); } - bool after_handle_event (Event* event, - Status_line_iterator /* iter */, - bool /* flag */) + bool after_handle_event(Event* event, + Status_line_iterator /* iter */, + bool /* flag */) { if ((m_includeEndPoints || event->is_intersection() || @@ -107,15 +100,10 @@ public: *m_out = event->point(); ++m_out; } - return (true); - } - - - OutputIerator output_iterator() - { - return (m_out); + return true; } + Output_ierator output_iterator() { return m_out; } }; /*! \class @@ -126,9 +114,9 @@ template class Sweep_line_subcurves_visitor : public Sweep_line_empty_visitor { - typedef Traits_ Traits_2; - typedef OutputIerator_ OutputIerator; - typedef Sweep_line_subcurves_visitor Self; + typedef Traits_ Traits_2; + typedef OutputIerator_ Output_ierator; + typedef Sweep_line_subcurves_visitor Self; typedef typename Traits_2::X_monotone_curve_2 X_monotone_curve_2; typedef typename Traits_2::Point_2 Point_2; @@ -141,66 +129,52 @@ class Sweep_line_subcurves_visitor : typedef CGAL::Sweep_line_2 Sweep_line_2; protected: - // Data members: - OutputIerator m_out; // The output curves. - bool m_overlapping; // Should we report overlapping curves twice. + Output_ierator m_out; // The output curves. + bool m_overlapping; // Should we report overlapping curves twice. public: - - Sweep_line_subcurves_visitor (OutputIerator out, - bool overlapping) : + Sweep_line_subcurves_visitor(Output_ierator out, bool overlapping) : m_out(out), m_overlapping(overlapping) {} template - void sweep (CurveIterator begin, CurveIterator end) + void sweep(CurveIterator begin, CurveIterator end) { std::vector curves_vec; std::vector points_vec; - curves_vec.reserve (std::distance(begin,end)); - make_x_monotone (begin, - end, - std::back_inserter(curves_vec), - std::back_inserter(points_vec), - this->traits()); + curves_vec.reserve(std::distance(begin,end)); + make_x_monotone(begin, end, + std::back_inserter(curves_vec), + std::back_inserter(points_vec), + this->traits()); // Perform the sweep. - Sweep_line_2 *sl = reinterpret_cast (this->sweep_line()); + Sweep_line_2* sl = reinterpret_cast(this->sweep_line()); - sl->sweep (curves_vec.begin(), - curves_vec.end(), - points_vec.begin(), - points_vec.end()); + sl->sweep(curves_vec.begin(), curves_vec.end(), + points_vec.begin(), points_vec.end()); } - void add_subcurve (const X_monotone_curve_2& cv, Subcurve *sc) + void add_subcurve(const X_monotone_curve_2& cv, Subcurve *sc) { - if (!m_overlapping) - { + if (!m_overlapping) { // Report the curve once, whether it represents an overlap or not. *m_out = cv; ++m_out; } - else - { + else { unsigned int overlap_depth = sc->overlap_depth(); - for(unsigned int i = 0 ; i < overlap_depth ; ++i) - { + for (unsigned int i = 0; i < overlap_depth; ++i) { *m_out = cv; ++m_out; } } - - return; } - OutputIerator output_iterator() - { - return (m_out); - } + Output_ierator output_iterator() { return m_out; } }; /*! \class @@ -225,12 +199,10 @@ class Sweep_line_do_curves_x_visitor : typedef CGAL::Sweep_line_2 Sweep_line_2; protected: - // Data members: bool m_found_x; // Have we found an intersection so far. public: - Sweep_line_do_curves_x_visitor() : m_found_x(false) {} @@ -241,80 +213,72 @@ public: std::vector curves_vec; std::vector points_vec; - curves_vec.reserve (std::distance (begin,end)); - make_x_monotone (begin, - end, - std::back_inserter(curves_vec), - std::back_inserter(points_vec), - this-> traits()); + curves_vec.reserve(std::distance(begin,end)); + make_x_monotone(begin, end, + std::back_inserter(curves_vec), + std::back_inserter(points_vec), + this-> traits()); // Perform the sweep. - Sweep_line_2 *sl = reinterpret_cast (this->sweep_line()); + Sweep_line_2* sl = reinterpret_cast(this->sweep_line()); - sl->sweep (curves_vec.begin(), - curves_vec.end(), - points_vec.begin(), - points_vec.end()); + sl->sweep(curves_vec.begin(), curves_vec.end(), + points_vec.begin(), points_vec.end()); } - void update_event (Event* /* e */, - Subcurve* /* sc1 */, - Subcurve* /* sc2 */, - bool /* is_new */) - { - m_found_x = true; - } + void update_event(Event* /* e */, + Subcurve* /* sc1 */, + Subcurve* /* sc2 */, + bool /* is_new */) + { m_found_x = true; } - void update_event (Event* /* e */, - Subcurve* /* sc1 */) - { - m_found_x = true; - } + void update_event(Event* /* e */, + Subcurve* /* sc1 */) + { m_found_x = true; } - void update_event (Event* /* e */, - const Point_2& /* end_point */, - const X_monotone_curve_2& /* cv */, - Arr_curve_end /* cv_end */, - bool /* is_new */) + void update_event(Event* /* e */, + const Point_2& /* end_point */, + const X_monotone_curve_2& /* cv */, + Arr_curve_end /* cv_end */, + bool /* is_new */) {} - void update_event (Event* /* e */, - const Point_2& /* pt */, - bool /* is_new */) + void update_event(Event* /* e */, + const X_monotone_curve_2& /* cv */, + Arr_curve_end /* cv_end */, + bool /* is_new */) + {} + + void update_event(Event* /* e */, + const Point_2& /* pt */, + bool /* is_new */) {} template - void sweep_xcurves (XCurveIterator begin, XCurveIterator end) + void sweep_xcurves(XCurveIterator begin, XCurveIterator end) { // Perform the sweep. - Sweep_line_2 *sl = reinterpret_cast (this->sweep_line()); - + Sweep_line_2* sl = reinterpret_cast(this->sweep_line()); sl->sweep(begin, end); } - void found_overlap (Subcurve* /* sc1 */, - Subcurve* /* sc2 */, - Subcurve* /* ov_sc */) - { - m_found_x = true; - } + void found_overlap(Subcurve* /* sc1 */, + Subcurve* /* sc2 */, + Subcurve* /* ov_sc */) + { m_found_x = true; } - bool after_handle_event (Event* /* event */, - Status_line_iterator /* iter */, - bool /* flag */) + bool after_handle_event(Event* /* event */, + Status_line_iterator /* iter */, + bool /* flag */) { - if(m_found_x) - { - Sweep_line_2 *sl = reinterpret_cast (this->sweep_line()); + if (m_found_x) { + Sweep_line_2* sl = reinterpret_cast(this->sweep_line()); sl->stop_sweep(); } - return (true); + return true; } - bool found_intersection () - { - return (m_found_x); - } + bool found_intersection() { return m_found_x; } }; } //namespace CGAL diff --git a/Arrangement_on_surface_2/test/Arrangement_on_surface_2/test_rational_function_traits_2.cpp b/Arrangement_on_surface_2/test/Arrangement_on_surface_2/test_rational_function_traits_2.cpp index d830411e96e..6ba223f4fe0 100644 --- a/Arrangement_on_surface_2/test/Arrangement_on_surface_2/test_rational_function_traits_2.cpp +++ b/Arrangement_on_surface_2/test/Arrangement_on_surface_2/test_rational_function_traits_2.cpp @@ -11,10 +11,18 @@ typedef CORE::BigInt Number_type; typedef CGAL::Algebraic_kernel_d_1 AK1; typedef CGAL::Arr_rational_function_traits_2 Traits_2; typedef CGAL::Arrangement_2 Arrangement_2; +typedef Traits_2::Point_2 Point_2; + +template +struct Cmp { + const Cmp_object& m_cmp_object; + Cmp(const Cmp_object& cmp_object) : m_cmp_object(cmp_object) {} + bool operator()(const Point_2& p1, const Point_2& p2) const + { return (m_cmp_object(p1, p2) == CGAL::LARGER); } +}; int main(int argc, char* argv[]) { - // testing that all types are present: // Traits @@ -60,12 +68,10 @@ int main(int argc, char* argv[]) const Algebraic_kernel_d_1* ak (traits.algebraic_kernel_d_1()); (void) ak; } - // construction from pointer to AK Algebraic_kernel_d_1 ak; Traits_2 traits(&ak); - traits.cleanup_cache(); Construct_curve_2 construct_curve_2 = traits.construct_curve_2_object(); @@ -98,17 +104,19 @@ int main(int argc, char* argv[]) {Curve_2 curve = construct_curve_2(P.begin(),P.end(),Q.begin(),Q.end(),one,true);} {Curve_2 curve = construct_curve_2(P.begin(),P.end(),Q.begin(),Q.end(),one,false);} {Curve_2 curve = construct_curve_2(P.begin(),P.end(),Q.begin(),Q.end(),one,two);} - Construct_x_monotone_curve_2 construct_x_monotone_curve_2 = traits.construct_x_monotone_curve_2_object(); { typedef Construct_x_monotone_curve_2::Polynomial_1 Polynomial_1; typedef Construct_x_monotone_curve_2::Algebraic_real_1 Algebraic_real_1; - typedef Construct_x_monotone_curve_2::X_monotone_curve_2 X_monotone_curve_2; + typedef Construct_x_monotone_curve_2::X_monotone_curve_2 + X_monotone_curve_2; typedef Construct_x_monotone_curve_2::argument_type argument_type; - typedef Construct_x_monotone_curve_2::first_argument_type first_argument_type; - typedef Construct_x_monotone_curve_2::second_argument_type second_argument_type; + typedef Construct_x_monotone_curve_2::first_argument_type + first_argument_type; + typedef Construct_x_monotone_curve_2::second_argument_type + second_argument_type; } {X_monotone_curve_2 x_monotone_curve = construct_x_monotone_curve_2(P);} @@ -134,7 +142,6 @@ int main(int argc, char* argv[]) } { - Curve_2 curve = construct_curve_2(P,Q); {Curve_2 dummy;} {Curve_2 dummy(curve);} @@ -156,6 +163,7 @@ int main(int argc, char* argv[]) assert(one == curve.left_x()); assert(two == curve.right_x()); } + // X_monotone_curve_2 { typedef X_monotone_curve_2::Polynomial_1 Polynomial_1; @@ -168,10 +176,10 @@ int main(int argc, char* argv[]) {X_monotone_curve_2 dummy(xcurve);} {X_monotone_curve_2 dummy = xcurve;} - assert(CGAL::degree(xcurve.numerator()) >=0); - assert(CGAL::degree(xcurve.denominator())>=0); - assert(xcurve.source_parameter_space_in_x()==CGAL::ARR_INTERIOR); - assert(xcurve.source_parameter_space_in_y()==CGAL::ARR_INTERIOR); + assert(CGAL::degree(xcurve.numerator()) >= 0); + assert(CGAL::degree(xcurve.denominator()) >=0); + assert(xcurve.source_parameter_space_in_x() == CGAL::ARR_INTERIOR); + assert(xcurve.source_parameter_space_in_y() == CGAL::ARR_INTERIOR); xcurve.source(); xcurve.target(); xcurve.left(); @@ -183,14 +191,13 @@ int main(int argc, char* argv[]) assert(xcurve.is_left_to_right()); } - // Point_2 { typedef Point_2::Polynomial_1 Polynomial_1; typedef Point_2::Algebraic_real_1 Algebraic_real_1; typedef Point_2::Bound Bound; - X_monotone_curve_2 xcurve= construct_x_monotone_curve_2(P,Q,one,two); + X_monotone_curve_2 xcurve= construct_x_monotone_curve_2(P, Q, one, two); Point_2 p = xcurve.left(); Point_2 q = xcurve.right(); @@ -207,22 +214,21 @@ int main(int argc, char* argv[]) {Point_2 dummy = p;} {Point_2 dummy(p);} } - + { Arrangement_2 arr; const Traits_2* traits = arr.traits();(void) traits; } - { - + { const Traits_2 traits; traits.cleanup_cache(); - assert( traits.cache().rat_func_map().size()==0); - assert( traits.cache().rat_pair_map().size()==0); + assert(traits.cache().rat_func_map().size()==0); + assert(traits.cache().rat_pair_map().size()==0); Construct_curve_2 construct_curve_2 = traits.construct_curve_2_object(); - Polynomial_1 x = CGAL::shift(Polynomial_1(1),1); + Polynomial_1 x = CGAL::shift(Polynomial_1(1), 1); { std::vector curves; @@ -231,25 +237,27 @@ int main(int argc, char* argv[]) curves.push_back(construct_curve_2(Polynomial_1(1))); curves.push_back(construct_curve_2(x*x-2)); curves.push_back(construct_curve_2(x*x*x)); - curves.push_back(construct_curve_2(x*x*x,x*x-2)); + curves.push_back(construct_curve_2(x*x*x, x*x-2)); - BOOST_FOREACH(const Curve_2& curve, curves){ - assert(CGAL::degree(curve.numerator())>=0); + assert(CGAL::degree(curve.numerator()) >= 0); } - CGAL::compute_subcurves(curves.begin(),curves.end(),std::back_inserter(xcurves),false,traits); - BOOST_FOREACH(const X_monotone_curve_2& xcurve, xcurves){ - assert(CGAL::degree(xcurve.numerator())>=0); + CGAL::compute_subcurves(curves.begin(),curves.end(), + std::back_inserter(xcurves),false,traits); + BOOST_FOREACH(const X_monotone_curve_2& xcurve, xcurves) { + assert(CGAL::degree(xcurve.numerator()) >= 0); } - CGAL::compute_intersection_points (curves.begin(),curves.end(),std::back_inserter(points),false,traits); - BOOST_FOREACH(const Point_2& point, points){ - assert(CGAL::degree(point.numerator())>=0); - } + CGAL::compute_intersection_points(curves.begin(),curves.end(), + std::back_inserter(points), false, + traits); + BOOST_FOREACH(const Point_2& point, points) { + assert(CGAL::degree(point.numerator()) >= 0); + } } traits.cleanup_cache(); - assert( traits.cache().rat_func_map().size()==0); - assert( traits.cache().rat_pair_map().size()==0); + assert(traits.cache().rat_func_map().size() == 0); + assert(traits.cache().rat_pair_map().size() == 0); { std::vector curves; std::vector xcurves; @@ -258,22 +266,32 @@ int main(int argc, char* argv[]) curves.push_back(construct_curve_2(Polynomial_1(1))); curves.push_back(construct_curve_2(x*x-2)); curves.push_back(construct_curve_2(x*x*x)); - curves.push_back(construct_curve_2(x*x*x,x*x-2)); + curves.push_back(construct_curve_2(x*x*x, x*x-2)); traits.cleanup_cache(); BOOST_FOREACH(const Curve_2& curve, curves){ - assert(CGAL::degree(curve.numerator())>=0); + assert(CGAL::degree(curve.numerator()) >= 0); } - CGAL::compute_subcurves(curves.begin(),curves.end(),std::back_inserter(xcurves),false,traits); - BOOST_FOREACH(const X_monotone_curve_2& xcurve, xcurves){ - assert(CGAL::degree(xcurve.numerator())>=0); + CGAL::compute_subcurves(curves.begin(), curves.end(), + std::back_inserter(xcurves), false, traits); + BOOST_FOREACH(const X_monotone_curve_2& xcurve, xcurves) { + assert(CGAL::degree(xcurve.numerator()) >= 0); } - CGAL::compute_intersection_points (curves.begin(),curves.end(),std::back_inserter(points),false,traits); - BOOST_FOREACH(const Point_2& point, points){ - assert(CGAL::degree(point.numerator())>=0); - } - std::sort(points.begin(),points.end(), traits.compare_xy_2_object()); - std::sort(points.begin(),points.end(), traits.compare_x_2_object()); + CGAL::compute_intersection_points(curves.begin(), curves.end(), + std::back_inserter(points), false, + traits); + BOOST_FOREACH(const Point_2& point, points) { + assert(CGAL::degree(point.numerator()) >= 0); + } + + // For some reason some versions of MSVC don't like the auto + // conversion from Comparison_result to bool. + //std::sort(points.begin(), points.end(), traits.compare_xy_2_object()); + //std::sort(points.begin(), points.end(), traits.compare_x_2_object()); + std::sort(points.begin(), points.end(), + Cmp(traits.compare_x_2_object())); + std::sort(points.begin(), points.end(), + Cmp(traits.compare_xy_2_object())); } } return 0; diff --git a/BGL/include/CGAL/boost/graph/graph_traits_Polyhedron_3.h b/BGL/include/CGAL/boost/graph/graph_traits_Polyhedron_3.h index 3bae9465832..9b6e37fe93f 100644 --- a/BGL/include/CGAL/boost/graph/graph_traits_Polyhedron_3.h +++ b/BGL/include/CGAL/boost/graph/graph_traits_Polyhedron_3.h @@ -24,12 +24,7 @@ #include -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM -# define CGAL_HDS_PARAM_ template < class Traits, class Items, class Alloc> class HDS -#else -# define CGAL_HDS_PARAM_ class HDS -#endif - +#define CGAL_HDS_PARAM_ template < class Traits, class Items, class Alloc> class HDS // // NOTE: The BGL algorithms are NOT const-correct: i.e., they take a "G const&" diff --git a/BGL/include/CGAL/boost/graph/halfedge_graph_traits_Polyhedron_3.h b/BGL/include/CGAL/boost/graph/halfedge_graph_traits_Polyhedron_3.h index d03eaa8d53b..6707078bdad 100644 --- a/BGL/include/CGAL/boost/graph/halfedge_graph_traits_Polyhedron_3.h +++ b/BGL/include/CGAL/boost/graph/halfedge_graph_traits_Polyhedron_3.h @@ -26,11 +26,7 @@ #include #include -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM -# define CGAL_HDS_PARAM_ template < class Traits, class Items, class Alloc> class HDS -#else -# define CGAL_HDS_PARAM_ class HDS -#endif +#define CGAL_HDS_PARAM_ template < class Traits, class Items, class Alloc> class HDS // // NOTE: The BGL algorithms are NOT const-correct: i.e., they take a "G const&" diff --git a/BGL/include/CGAL/boost/graph/properties_Polyhedron_3.h b/BGL/include/CGAL/boost/graph/properties_Polyhedron_3.h index 03b4540e0dd..9e606e605f1 100644 --- a/BGL/include/CGAL/boost/graph/properties_Polyhedron_3.h +++ b/BGL/include/CGAL/boost/graph/properties_Polyhedron_3.h @@ -24,11 +24,7 @@ #include #include -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM -# define CGAL_HDS_PARAM_ template < class Traits, class Items, class Alloc> class HDS -#else -# define CGAL_HDS_PARAM_ class HDS -#endif +#define CGAL_HDS_PARAM_ template < class Traits, class Items, class Alloc> class HDS namespace CGAL { diff --git a/CGALimageIO/include/CGAL/Image_3.h b/CGALimageIO/include/CGAL/Image_3.h index c726062decc..bf897af6228 100644 --- a/CGALimageIO/include/CGAL/Image_3.h +++ b/CGALimageIO/include/CGAL/Image_3.h @@ -247,7 +247,7 @@ Image_3::trilinear_interpolation(const Coord_type& x, lz < 0 || lz >= dimz-1 || ly >= dimy-1 || - lz >= dimx-1) + lx >= dimx-1) { return transform(value_outside); } diff --git a/Cartesian_kernel/include/CGAL/Cartesian/function_objects.h b/Cartesian_kernel/include/CGAL/Cartesian/function_objects.h index 7f3e1f30e60..e0dbe23b017 100644 --- a/Cartesian_kernel/include/CGAL/Cartesian/function_objects.h +++ b/Cartesian_kernel/include/CGAL/Cartesian/function_objects.h @@ -988,36 +988,35 @@ namespace CartesianKernelFunctors { typedef typename K::Point_2 Point_2; typedef typename K::Circle_2 Circle_2; public: - typedef FT result_type; + template + struct result { + typedef FT type; + }; + + template + struct result { + typedef const FT& type; + }; - const result_type& + const FT& operator()( const Circle_2& c) const { return c.rep().squared_radius(); } - result_type + FT operator()( const Point_2& /*p*/) const { return FT(0); } - result_type + FT operator()( const Point_2& p, const Point_2& q) const { return squared_radiusC2(p.x(), p.y(), q.x(), q.y()); } - result_type + FT operator()( const Point_2& p, const Point_2& q, const Point_2& r) const { return squared_radiusC2(p.x(), p.y(), q.x(), q.y(), r.x(), r.y()); } }; } //namespace CartesianKernelFunctors -#ifndef CGAL_CFG_DONT_OVERLOAD_TOO_MUCH -template < typename K> -struct Qualified_result_of, - typename K::Circle_2> -{ - typedef typename K::FT const & type; -}; -#endif - // For the non specialized template will do the right thing, // namely return a copy of an FT @@ -1104,22 +1103,22 @@ namespace CartesianKernelFunctors { template - class Compute_x_2 : Has_qrt + class Compute_x_2 { typedef typename K::FT FT; typedef typename K::Point_2 Point_2; typedef typename K::Vector_2 Vector_2; public: - typedef FT result_type; + typedef const FT& result_type; - const result_type & + result_type operator()(const Point_2& p) const { return p.rep().x(); } - const result_type & + result_type operator()(const Vector_2& v) const { return v.rep().x(); @@ -1127,22 +1126,22 @@ namespace CartesianKernelFunctors { }; template - class Compute_x_3 : Has_qrt + class Compute_x_3 { typedef typename K::FT FT; typedef typename K::Point_3 Point_3; typedef typename K::Vector_3 Vector_3; public: - typedef FT result_type; + typedef const FT& result_type; - const result_type & + result_type operator()(const Point_3& p) const { return p.rep().x(); } - const result_type & + result_type operator()(const Vector_3& v) const { return v.rep().x(); @@ -1151,22 +1150,22 @@ namespace CartesianKernelFunctors { template - class Compute_y_2 : Has_qrt + class Compute_y_2 { typedef typename K::FT FT; typedef typename K::Point_2 Point_2; typedef typename K::Vector_2 Vector_2; public: - typedef FT result_type; + typedef const FT& result_type; - const result_type & + result_type operator()(const Point_2& p) const { return p.rep().y(); } - const result_type & + result_type operator()(const Vector_2& v) const { return v.rep().y(); @@ -1175,22 +1174,22 @@ namespace CartesianKernelFunctors { template - class Compute_y_3 : Has_qrt + class Compute_y_3 { typedef typename K::FT FT; typedef typename K::Point_3 Point_3; typedef typename K::Vector_3 Vector_3; public: - typedef FT result_type; + typedef const FT& result_type; - const result_type & + result_type operator()(const Point_3& p) const { return p.rep().y(); } - const result_type & + result_type operator()(const Vector_3& v) const { return v.rep().y(); @@ -1198,22 +1197,22 @@ namespace CartesianKernelFunctors { }; template - class Compute_z_3 : Has_qrt + class Compute_z_3 { typedef typename K::FT FT; typedef typename K::Point_3 Point_3; typedef typename K::Vector_3 Vector_3; public: - typedef FT result_type; + typedef const FT& result_type; - const result_type & + result_type operator()(const Point_3& p) const { return p.rep().z(); } - const result_type & + result_type operator()(const Vector_3& v) const { return v.rep().z(); @@ -1223,15 +1222,15 @@ namespace CartesianKernelFunctors { template - class Compute_dx_2 : public Has_qrt + class Compute_dx_2 { typedef typename K::FT FT; - typedef typename K::Direction_2 Direction_2; + typedef typename K::Direction_2 Direction_2; public: - typedef FT result_type; + typedef const FT& result_type; - const result_type & + result_type operator()(const Direction_2& d) const { return d.rep().dx(); @@ -1239,15 +1238,15 @@ namespace CartesianKernelFunctors { }; template - class Compute_dx_3 : public Has_qrt + class Compute_dx_3 { typedef typename K::FT FT; - typedef typename K::Direction_3 Direction_3; + typedef typename K::Direction_3 Direction_3; public: - typedef FT result_type; + typedef const FT& result_type; - const result_type & + result_type operator()(const Direction_3& d) const { return d.rep().dx(); @@ -1255,15 +1254,15 @@ namespace CartesianKernelFunctors { }; template - class Compute_dy_2 : public Has_qrt + class Compute_dy_2 { typedef typename K::FT FT; - typedef typename K::Direction_2 Direction_2; + typedef typename K::Direction_2 Direction_2; public: - typedef FT result_type; + typedef const FT& result_type; - const result_type & + result_type operator()(const Direction_2& d) const { return d.rep().dy(); @@ -1271,15 +1270,15 @@ namespace CartesianKernelFunctors { }; template - class Compute_dy_3 : public Has_qrt + class Compute_dy_3 { typedef typename K::FT FT; - typedef typename K::Direction_3 Direction_3; + typedef typename K::Direction_3 Direction_3; public: - typedef FT result_type; + typedef const FT& result_type; - const result_type & + result_type operator()(const Direction_3& d) const { return d.rep().dy(); @@ -1287,15 +1286,15 @@ namespace CartesianKernelFunctors { }; template - class Compute_dz_3 : public Has_qrt + class Compute_dz_3 { typedef typename K::FT FT; typedef typename K::Direction_3 Direction_3; public: - typedef FT result_type; + typedef const FT& result_type; - const result_type & + result_type operator()(const Direction_3& d) const { return d.rep().dz(); @@ -1303,68 +1302,68 @@ namespace CartesianKernelFunctors { }; template - class Compute_hx_2 : public Has_qrt - { - typedef typename K::FT FT; - typedef typename K::Point_2 Point_2; - typedef typename K::Vector_2 Vector_2; - - public: - typedef FT result_type; - - const result_type & - operator()(const Point_2& p) const - { - return p.rep().hx(); - } - - const result_type & - operator()(const Vector_2& v) const - { - return v.rep().hx(); - } - }; - - template - class Compute_hx_3 : public Has_qrt - { - typedef typename K::FT FT; - typedef typename K::Point_3 Point_3; - typedef typename K::Vector_3 Vector_3; - - public: - typedef FT result_type; - - const result_type & - operator()(const Point_3& p) const - { - return p.rep().hx(); - } - - const result_type & - operator()(const Vector_3& v) const - { - return v.rep().hx(); - } - }; - - template - class Compute_hy_2 : public Has_qrt + class Compute_hx_2 { typedef typename K::FT FT; typedef typename K::Point_2 Point_2; typedef typename K::Vector_2 Vector_2; public: - typedef FT result_type; + typedef const FT& result_type; - const result_type & + result_type + operator()(const Point_2& p) const + { + return p.rep().hx(); + } + + result_type + operator()(const Vector_2& v) const + { + return v.rep().hx(); + } + }; + + template + class Compute_hx_3 + { + typedef typename K::FT FT; + typedef typename K::Point_3 Point_3; + typedef typename K::Vector_3 Vector_3; + + public: + typedef const FT& result_type; + + result_type + operator()(const Point_3& p) const + { + return p.rep().hx(); + } + + result_type + operator()(const Vector_3& v) const + { + return v.rep().hx(); + } + }; + + template + class Compute_hy_2 + { + typedef typename K::FT FT; + typedef typename K::Point_2 Point_2; + typedef typename K::Vector_2 Vector_2; + + public: + typedef const FT& result_type; + + result_type operator()(const Point_2& p) const { return p.rep().hy(); } - const result_type & + result_type operator()(const Vector_2& v) const { return v.rep().hy(); @@ -1372,22 +1371,22 @@ namespace CartesianKernelFunctors { }; template - class Compute_hy_3 : public Has_qrt + class Compute_hy_3 { typedef typename K::FT FT; typedef typename K::Point_3 Point_3; typedef typename K::Vector_3 Vector_3; public: - typedef FT result_type; + typedef const FT& result_type; - const result_type & + result_type operator()(const Point_3& p) const { return p.rep().hy(); } - const result_type & + result_type operator()(const Vector_3& v) const { return v.rep().hy(); @@ -1395,22 +1394,22 @@ namespace CartesianKernelFunctors { }; template - class Compute_hz_3 : public Has_qrt + class Compute_hz_3 { typedef typename K::FT FT; typedef typename K::Point_3 Point_3; typedef typename K::Vector_3 Vector_3; public: - typedef FT result_type; + typedef const FT& result_type; - const result_type & + result_type operator()(const Point_3& p) const { return p.rep().hz(); } - const result_type & + result_type operator()(const Vector_3& v) const { return v.rep().hz(); @@ -1418,22 +1417,22 @@ namespace CartesianKernelFunctors { }; template - class Compute_hw_2 : public Has_qrt + class Compute_hw_2 { typedef typename K::FT FT; typedef typename K::Point_2 Point_2; typedef typename K::Vector_2 Vector_2; public: - typedef FT result_type; + typedef const FT& result_type; - const result_type & + result_type operator()(const Point_2& p) const { return p.rep().hw(); } - const result_type & + result_type operator()(const Vector_2& v) const { return v.rep().hw(); @@ -1441,22 +1440,22 @@ namespace CartesianKernelFunctors { }; template - class Compute_hw_3 : public Has_qrt + class Compute_hw_3 { typedef typename K::FT FT; typedef typename K::Point_3 Point_3; typedef typename K::Vector_3 Vector_3; public: - typedef FT result_type; + typedef const FT& result_type; - const result_type & + result_type operator()(const Point_3& p) const { return p.rep().hw(); } - const result_type & + result_type operator()(const Vector_3& v) const { return v.rep().hw(); @@ -1465,15 +1464,15 @@ namespace CartesianKernelFunctors { template - class Compute_xmin_2 : public Has_qrt + class Compute_xmin_2 { typedef typename K::FT FT; typedef typename K::Iso_rectangle_2 Iso_rectangle_2; public: - typedef FT result_type; + typedef const FT& result_type; - const result_type & + result_type operator()(const Iso_rectangle_2& r) const { return (r.min)().x(); @@ -1481,15 +1480,15 @@ namespace CartesianKernelFunctors { }; template - class Compute_xmax_2 : public Has_qrt + class Compute_xmax_2 { typedef typename K::FT FT; typedef typename K::Iso_rectangle_2 Iso_rectangle_2; public: - typedef FT result_type; + typedef const FT& result_type; - const result_type & + result_type operator()(const Iso_rectangle_2& r) const { return (r.max)().x(); @@ -1497,15 +1496,15 @@ namespace CartesianKernelFunctors { }; template - class Compute_ymin_2 : public Has_qrt + class Compute_ymin_2 { typedef typename K::FT FT; typedef typename K::Iso_rectangle_2 Iso_rectangle_2; public: - typedef FT result_type; + typedef const FT& result_type; - const result_type & + result_type operator()(const Iso_rectangle_2& r) const { return (r.min)().y(); @@ -1513,15 +1512,15 @@ namespace CartesianKernelFunctors { }; template - class Compute_ymax_2 : public Has_qrt + class Compute_ymax_2 { typedef typename K::FT FT; typedef typename K::Iso_rectangle_2 Iso_rectangle_2; public: - typedef FT result_type; + typedef const FT& result_type; - const result_type & + result_type operator()(const Iso_rectangle_2& r) const { return (r.max)().y(); @@ -3346,7 +3345,15 @@ namespace CartesianKernelFunctors { typedef typename K::Iso_rectangle_2 Iso_rectangle_2; typedef typename K::Triangle_2 Triangle_2; public: - typedef Point_2 result_type; + template + struct result { + typedef const Point_2& type; + }; + + template + struct result { + typedef Point_2 type; + }; const Point_2 & operator()( const Segment_2& s, int i) const @@ -3370,22 +3377,6 @@ namespace CartesianKernelFunctors { } //namespace CartesianKernelFunctors -#ifndef CGAL_CFG_DONT_OVERLOAD_TOO_MUCH -template < typename K> -struct Qualified_result_of, typename K::Segment_2, int > -{ - typedef typename K::Point_2 const & type; -}; - -template < typename K> -struct Qualified_result_of, typename K::Triangle_2, int > -{ - typedef typename K::Point_2 const & type; -}; -#endif - -// For Iso_rectangle the non specialized template will do the right thing, namely return a copy of a point - namespace CartesianKernelFunctors { template diff --git a/Circular_kernel_2/include/CGAL/Circular_arc_2.h b/Circular_kernel_2/include/CGAL/Circular_arc_2.h index 6385d19eee7..067a6058e4f 100644 --- a/Circular_kernel_2/include/CGAL/Circular_arc_2.h +++ b/Circular_kernel_2/include/CGAL/Circular_arc_2.h @@ -110,33 +110,25 @@ public: {} - typename Qualified_result_of - ::type - //const Circular_arc_point_2 & + typename boost::result_of::type source() const { return typename R::Construct_circular_source_vertex_2()(*this); } - typename Qualified_result_of - ::type - //const Circular_arc_point_2 & + typename boost::result_of::type target() const { return typename R::Construct_circular_target_vertex_2()(*this); } - typename Qualified_result_of - ::type - //const Circular_arc_point_2 & + typename boost::result_of::type left() const { return typename R::Construct_circular_min_vertex_2()(*this); } - typename Qualified_result_of - ::type - //const Circular_arc_point_2 & + typename boost::result_of::type right() const { return typename R::Construct_circular_max_vertex_2()(*this); @@ -152,25 +144,19 @@ public: return typename R::Is_y_monotone_2()(*this); } - typename Qualified_result_of - ::type - // const Circle_2 & + typename boost::result_of::type supporting_circle() const { return typename R::Construct_circle_2()(*this); } - typename Qualified_result_of - ::type - // const Point_2 & + typename boost::result_of::type center() const { return typename R::Construct_center_2()(*this); } - typename Qualified_result_of - ::type - // const FT & + typename boost::result_of::type squared_radius() const { return typename R::Compute_squared_radius_2()(*this); diff --git a/Circular_kernel_2/include/CGAL/Circular_arc_point_2.h b/Circular_kernel_2/include/CGAL/Circular_arc_point_2.h index 778bc28e71c..356198f1aa9 100644 --- a/Circular_kernel_2/include/CGAL/Circular_arc_point_2.h +++ b/Circular_kernel_2/include/CGAL/Circular_arc_point_2.h @@ -73,17 +73,15 @@ public: : RCircular_arc_point_2(typename R::Construct_circular_arc_point_2()(p)) {} - typename Qualified_result_of - ::type - //const Root_of_2 & + typename + boost::result_of::type x() const { return typename R::Compute_circular_x_2()(*this); } - typename Qualified_result_of - ::type - //const Root_of_2 & + typename + boost::result_of::type y() const { return typename R::Compute_circular_y_2()(*this); diff --git a/Circular_kernel_2/include/CGAL/Circular_kernel_2/function_objects_on_circle_2.h b/Circular_kernel_2/include/CGAL/Circular_kernel_2/function_objects_on_circle_2.h index 7657c0afd34..ded5728096b 100644 --- a/Circular_kernel_2/include/CGAL/Circular_kernel_2/function_objects_on_circle_2.h +++ b/Circular_kernel_2/include/CGAL/Circular_kernel_2/function_objects_on_circle_2.h @@ -36,41 +36,33 @@ namespace CGAL { namespace CircularFunctors { template < class CK > - class Construct_circle_2 : public CK::Linear_kernel::Construct_circle_2 + class Construct_circle_2 : public CK::Linear_kernel::Construct_circle_2 { - public: - - typedef typename CK::Circular_arc_2 Circular_arc_2; - typedef typename CK::Linear_kernel::Construct_circle_2::result_type - result_type; + typedef typename CK::Linear_kernel::Construct_circle_2 Base_functor; - using CK::Linear_kernel::Construct_circle_2::operator(); + typedef typename CK::FT FT; + typedef typename CK::Linear_kernel::Point_2 Point_2; + public: + typedef typename Base_functor::result_type result_type; + + using Base_functor::operator(); + + typedef typename CK::Circular_arc_2 Circular_arc_2; result_type - operator() ( const typename CK::Polynomial_for_circles_2_2 &eq ) - { - return construct_circle_2(eq); - } + operator() ( const typename CK::Polynomial_for_circles_2_2 &eq ) { + return construct_circle_2(eq); + } - const result_type& - operator() (const Circular_arc_2 & a) const - { - return (a.rep().supporting_circle()); - } + result_type + operator() (const Circular_arc_2 & a) const { + return (a.rep().supporting_circle()); + } }; } // namespace CircularFunctors -#ifndef CGAL_CFG_DONT_OVERLOAD_TOO_MUCH - template < typename K> - struct Qualified_result_of, - typename K::Circular_arc_2> - { - typedef const typename K::Circle_2 & type; - }; -#endif - } // namespace CGAL #endif // CGAL_CIRCULAR_KERNEL_FUNCTION_OBJECTS_ON_CIRCLE_2_H diff --git a/Circular_kernel_2/include/CGAL/Circular_kernel_2/function_objects_polynomial_circular.h b/Circular_kernel_2/include/CGAL/Circular_kernel_2/function_objects_polynomial_circular.h index 70084c4cea3..eed5c7a4d01 100644 --- a/Circular_kernel_2/include/CGAL/Circular_kernel_2/function_objects_polynomial_circular.h +++ b/Circular_kernel_2/include/CGAL/Circular_kernel_2/function_objects_polynomial_circular.h @@ -830,17 +830,15 @@ namespace CircularFunctors { template - class Compute_circular_x_2: Has_qrt + class Compute_circular_x_2 { typedef typename CK::Circular_arc_point_2 Circular_arc_point_2; typedef typename CK::Root_of_2 Root_of_2; public: + typedef const Root_of_2& result_type; - typedef Root_of_2 result_type; - typedef const result_type & qualified_result_type; - - qualified_result_type operator() (const Circular_arc_point_2 & a) const + result_type operator() (const Circular_arc_point_2 & a) const { return (a.rep().x()); } @@ -848,17 +846,16 @@ namespace CircularFunctors { template - class Compute_circular_y_2: Has_qrt - { + class Compute_circular_y_2 + { typedef typename CK::Circular_arc_point_2 Circular_arc_point_2; typedef typename CK::Root_of_2 Root_of_2; public: - typedef Root_of_2 result_type; - typedef const result_type & qualified_result_type; + typedef const Root_of_2& result_type; - qualified_result_type operator() (const Circular_arc_point_2 & a) const + result_type operator() (const Circular_arc_point_2 & a) const { return (a.rep().y()); } @@ -866,27 +863,21 @@ namespace CircularFunctors { template - class Construct_circular_min_vertex_2 : Has_qrt + class Construct_circular_min_vertex_2 { typedef typename CK::Circular_arc_2 Circular_arc_2; typedef typename CK::Line_arc_2 Line_arc_2; typedef typename CK::Circular_arc_point_2 Circular_arc_point_2; public: + typedef const Circular_arc_point_2 & result_type; - typedef Circular_arc_point_2 result_type; - typedef const result_type & qualified_result_type; - - qualified_result_type operator() (const Circular_arc_2 & a) const + result_type operator() (const Circular_arc_2 & a) const { -// if (a.rep().Cache_minmax == 't') -// return (a.rep().source()); -// if (a.rep().Cache_minmax == 's') -// return (a.rep().target()); return (a.rep().left()); } - qualified_result_type operator() (const Line_arc_2 & a) const + result_type operator() (const Line_arc_2 & a) const { return (a.rep().left()); } @@ -894,7 +885,7 @@ namespace CircularFunctors { }; template - class Construct_circular_max_vertex_2: Has_qrt + class Construct_circular_max_vertex_2 { typedef typename CK::Circular_arc_2 Circular_arc_2; typedef typename CK::Line_arc_2 Line_arc_2; @@ -902,19 +893,14 @@ namespace CircularFunctors { public: - typedef Circular_arc_point_2 result_type; - typedef const result_type & qualified_result_type; + typedef const Circular_arc_point_2& result_type; - qualified_result_type operator() (const Circular_arc_2 & a) const + result_type operator() (const Circular_arc_2 & a) const { -// if (a.rep().Cache_minmax == 's') -// return (a.rep().source()); -// if (a.rep().Cache_minmax == 't') -// return (a.rep().target()); return (a.rep().right()); } - qualified_result_type operator() (const Line_arc_2 & a) const + result_type operator() (const Line_arc_2 & a) const { return (a.rep().right()); } @@ -922,7 +908,7 @@ namespace CircularFunctors { }; template - class Construct_circular_source_vertex_2: Has_qrt + class Construct_circular_source_vertex_2 { typedef typename CK::Circular_arc_2 Circular_arc_2; typedef typename CK::Line_arc_2 Line_arc_2; @@ -930,20 +916,19 @@ namespace CircularFunctors { public: - typedef Circular_arc_point_2 result_type; - typedef const result_type & qualified_result_type; + typedef const Circular_arc_point_2& result_type; - qualified_result_type operator() (const Circular_arc_2 & a) const + result_type operator() (const Circular_arc_2 & a) const { return a.rep().source(); } - qualified_result_type operator() (const Line_arc_2 & a) const + result_type operator() (const Line_arc_2 & a) const { return a.rep().source();} }; template - class Construct_circular_target_vertex_2: Has_qrt + class Construct_circular_target_vertex_2 { typedef typename CK::Circular_arc_2 Circular_arc_2; typedef typename CK::Line_arc_2 Line_arc_2; @@ -951,13 +936,12 @@ namespace CircularFunctors { public: - typedef Circular_arc_point_2 result_type; - typedef const result_type & qualified_result_type; + typedef const Circular_arc_point_2& result_type; - qualified_result_type operator() (const Circular_arc_2 & a) const + result_type operator() (const Circular_arc_2 & a) const { return a.rep().target();} - qualified_result_type operator() (const Line_arc_2 & a) const + result_type operator() (const Line_arc_2 & a) const { return a.rep().target();} }; @@ -1195,7 +1179,7 @@ namespace CircularFunctors { #ifndef CGAL_NO_DEPRECATED_CODE template - class Construct_supporting_circle_2: Has_qrt + class Construct_supporting_circle_2 { typedef typename CK::Circular_arc_2 Circular_arc_2; typedef typename CK::Circle_2 Circle_2; @@ -1212,7 +1196,7 @@ namespace CircularFunctors { template - class Construct_supporting_line_2: Has_qrt + class Construct_supporting_line_2 { typedef typename CK::Line_arc_2 Line_arc_2; typedef typename CK::Line_2 Line_2; @@ -1233,32 +1217,27 @@ namespace CircularFunctors { class Construct_center_2 #ifndef CGAL_CFG_MATCHING_BUG_6 : public CK::Linear_kernel::Construct_center_2 - #else - : public Has_qrt #endif { typedef typename CK::Circular_arc_2 Circular_arc_2; - public: - - #ifndef CGAL_CFG_MATCHING_BUG_6 - typedef typename CK::Linear_kernel::Construct_center_2::result_type result_type; - using CK::Linear_kernel::Construct_center_2::operator(); - #else + public: + typedef typename CK::Linear_kernel::Construct_center_2::result_type result_type; +#ifndef CGAL_CFG_MATCHING_BUG_6 + using CK::Linear_kernel::Construct_center_2::operator(); +#else typedef typename CK::Linear_kernel LK; typedef typename LK::Construct_center_2 LK_Construct_center_2; - typedef typename CK::Point_2 Point_2; - typedef typename CK::Circle_2 Circle_2; - public: - typedef Point_2 result_type; + typedef typename CK::Point_2 Point_2; + typedef typename CK::Circle_2 Circle_2; - const result_type& - operator()( const Circle_2& c) const - { return LK_Construct_center_2()(c); } - - #endif - - const result_type& + public: + result_type + operator()( const Circle_2& c) const + { return LK_Construct_center_2()(c); } + +#endif + result_type operator()(const Circular_arc_2& c) const { return c.rep().center(); } @@ -1266,75 +1245,55 @@ namespace CircularFunctors { template class Compute_squared_radius_2 -#ifndef CGAL_CFG_MATCHING_BUG_6 - : public CK::Linear_kernel::Compute_squared_radius_2 -#endif { + + private: typedef typename CK::Circular_arc_2 Circular_arc_2; - public: - -#ifndef CGAL_CFG_MATCHING_BUG_6 - typedef typename CK::Linear_kernel::Compute_squared_radius_2::result_type result_type; - using CK::Linear_kernel::Compute_squared_radius_2::operator(); -#else - typedef typename CK::Linear_kernel LK; typedef typename LK::Compute_squared_radius_2 LK_Compute_squared_radius_2; typedef typename CK::FT FT; typedef typename CK::Point_2 Point_2; typedef typename CK::Circle_2 Circle_2; + typedef FT forwarded_result_type; public: - typedef FT result_type; + template + struct result { + typedef forwarded_result_type type; + }; + + template + struct result { + typedef const forwarded_result_type& type; + }; + + template + struct result { + typedef const forwarded_result_type& type; + }; - const result_type& + const forwarded_result_type& operator()( const Circle_2& c) const { return LK_Compute_squared_radius_2()(c); } - result_type + forwarded_result_type operator()( const Point_2& p) const { return LK_Compute_squared_radius_2()(p); } - result_type + forwarded_result_type operator()( const Point_2& p, const Point_2& q) const { return LK_Compute_squared_radius_2()(p, q); } - result_type + forwarded_result_type operator()( const Point_2& p, const Point_2& q, const Point_2& r) const { return LK_Compute_squared_radius_2()(p, q, r); } -#endif - - const result_type& + const forwarded_result_type& operator()(const Circular_arc_2& c) const { return c.rep().squared_radius(); } }; } // namespace CircularFunctors - -#ifndef CGAL_CFG_DONT_OVERLOAD_TOO_MUCH - template < typename K> - struct Qualified_result_of, - typename K::Circular_arc_2> - { - typedef typename K::Point_2 const & type; - }; - - template < typename K> - struct Qualified_result_of, - typename K::Circular_arc_2> - { - typedef typename K::FT const & type; - }; - - template < typename K> - struct Qualified_result_of, - typename K::Circle_2> - { - typedef typename K::FT const & type; - }; -#endif - } // namespace CGAL #endif // CGAL_CIRCULAR_KERNEL_FUNCTION_OBJECTS_POLYNOMIAL_CIRCULAR_H diff --git a/Circular_kernel_2/include/CGAL/Line_arc_2.h b/Circular_kernel_2/include/CGAL/Line_arc_2.h index d6904caf8b3..071c4aeb4b9 100644 --- a/Circular_kernel_2/include/CGAL/Line_arc_2.h +++ b/Circular_kernel_2/include/CGAL/Line_arc_2.h @@ -93,33 +93,25 @@ public: : RLine_arc_2(a) {} - typename Qualified_result_of - ::type - //const Circular_arc_point_2 & + typename boost::result_of< typename R::Construct_circular_source_vertex_2(Line_arc_2)>::type source() const { return typename R::Construct_circular_source_vertex_2()(*this); } - typename Qualified_result_of - ::type - //const Circular_arc_point_2 & + typename boost::result_of< typename R::Construct_circular_target_vertex_2(Line_arc_2)>::type target() const { return typename R::Construct_circular_target_vertex_2()(*this); } - typename Qualified_result_of - ::type - //const Circular_arc_point_2 & left() const + typename boost::result_of< typename R::Construct_circular_min_vertex_2(Line_arc_2)>::type left() const { return typename R::Construct_circular_min_vertex_2()(*this); } - typename Qualified_result_of - ::type - //const Circular_arc_point_2 & right() const + typename boost::result_of< typename R::Construct_circular_max_vertex_2(Line_arc_2)>::type right() const { return typename R::Construct_circular_max_vertex_2()(*this); diff --git a/Circular_kernel_3/include/CGAL/Circular_arc_3.h b/Circular_kernel_3/include/CGAL/Circular_arc_3.h index 29862577adb..97b4631c342 100644 --- a/Circular_kernel_3/include/CGAL/Circular_arc_3.h +++ b/Circular_kernel_3/include/CGAL/Circular_arc_3.h @@ -120,22 +120,19 @@ namespace CGAL { : RCircular_arc_3(a) {} - typename Qualified_result_of - ::type + typename boost::result_of::type source() const { return typename R::Construct_circular_source_vertex_3()(*this); } - typename Qualified_result_of - ::type + typename boost::result_of::type target() const { return typename R::Construct_circular_target_vertex_3()(*this); } - typename Qualified_result_of - ::type + typename boost::result_of::type supporting_circle() const { return typename R::Construct_circle_3()(*this); diff --git a/Circular_kernel_3/include/CGAL/Circular_arc_point_3.h b/Circular_kernel_3/include/CGAL/Circular_arc_point_3.h index 6bc00d08866..2fb83aea446 100644 --- a/Circular_kernel_3/include/CGAL/Circular_arc_point_3.h +++ b/Circular_kernel_3/include/CGAL/Circular_arc_point_3.h @@ -197,18 +197,15 @@ public: - typename Qualified_result_of::type - //const Root_of_2 & + typename boost::result_of::type x() const { return typename R::Compute_circular_x_3()(*this);} - typename Qualified_result_of::type - //const Root_of_2 & + typename boost::result_of::type y() const { return typename R::Compute_circular_y_3()(*this);} - typename Qualified_result_of::type - //const Root_of_2 & + typename boost::result_of::type z() const { return typename R::Compute_circular_z_3()(*this);} diff --git a/Circular_kernel_3/include/CGAL/Circular_kernel_3/function_objects_polynomial_sphere.h b/Circular_kernel_3/include/CGAL/Circular_kernel_3/function_objects_polynomial_sphere.h index bfdc46386f9..d4d25291b50 100644 --- a/Circular_kernel_3/include/CGAL/Circular_kernel_3/function_objects_polynomial_sphere.h +++ b/Circular_kernel_3/include/CGAL/Circular_kernel_3/function_objects_polynomial_sphere.h @@ -107,47 +107,44 @@ template < class SK > \ CGAL_SPHERICAL_KERNEL_MACRO_FUNCTOR_COMPARE_(xyz) template - class Compute_circular_x_3: Has_qrt + class Compute_circular_x_3 { typedef typename SK::Circular_arc_point_3 Circular_arc_point_3; - typedef typename SK::Root_of_2 Root_of_2; + typedef typename SK::Root_of_2 Root_of_2; public: - typedef Root_of_2 result_type; - typedef const result_type & qualified_result_type; + typedef const Root_of_2& result_type; - qualified_result_type operator() (const Circular_arc_point_3 & a) const + result_type operator() (const Circular_arc_point_3 & a) const { return (a.rep().x()); } }; template - class Compute_circular_y_3: Has_qrt + class Compute_circular_y_3 { typedef typename SK::Circular_arc_point_3 Circular_arc_point_3; typedef typename SK::Root_of_2 Root_of_2; public: - typedef Root_of_2 result_type; - typedef const result_type & qualified_result_type; + typedef const Root_of_2& result_type; - qualified_result_type operator() (const Circular_arc_point_3 & a) const + result_type operator() (const Circular_arc_point_3 & a) const { return (a.rep().y()); } }; template - class Compute_circular_z_3: Has_qrt + class Compute_circular_z_3 { typedef typename SK::Circular_arc_point_3 Circular_arc_point_3; typedef typename SK::Root_of_2 Root_of_2; public: - typedef Root_of_2 result_type; - typedef const result_type & qualified_result_type; + typedef const Root_of_2& result_type; - qualified_result_type operator() (const Circular_arc_point_3 & a) const + result_type operator() (const Circular_arc_point_3 & a) const { return (a.rep().z()); } }; @@ -415,25 +412,18 @@ template < class SK > \ template < class SK > class Construct_sphere_3 -#ifndef CGAL_CFG_MATCHING_BUG_6 - : public SK::Linear_kernel::Construct_sphere_3 -#endif { - typedef typename SK::Circular_arc_3 Circular_arc_3; - - public: - - typedef typename SK::Linear_kernel::Construct_sphere_3::result_type result_type; -#ifndef CGAL_CFG_MATCHING_BUG_6 - using SK::Linear_kernel::Construct_sphere_3::operator(); -#else + typedef typename SK::Circular_arc_3 Circular_arc_3; typedef typename SK::Linear_kernel LK; typedef typename LK::Point_3 Point_3; typedef typename LK::Circle_3 Circle_3; typedef typename LK::Sphere_3 Sphere_3; typedef typename LK::Construct_sphere_3 LK_Construct_sphere_3; typedef typename LK::FT FT; - + + public: + + typedef typename SK::Linear_kernel::Construct_sphere_3::result_type result_type; result_type operator()( Return_base_tag tag, const Point_3& center, const FT& squared_radius, @@ -496,11 +486,6 @@ template < class SK > \ operator() (const Circle_3 & c) const { return LK_Construct_sphere_3()(c); } - - - -#endif - result_type operator() ( const typename SK::Polynomial_for_spheres_2_3 &eq ) { return SphericalFunctors::construct_sphere_3(eq); } @@ -512,19 +497,8 @@ template < class SK > \ template < class SK > class Construct_plane_3 -#ifndef CGAL_CFG_MATCHING_BUG_6 - : public SK::Linear_kernel::Construct_plane_3 -#endif { - typedef typename SK::Circular_arc_3 Circular_arc_3; - - public: - - typedef typename SK::Linear_kernel::Construct_plane_3::result_type result_type; - -#ifndef CGAL_CFG_MATCHING_BUG_6 - using SK::Linear_kernel::Construct_plane_3::operator(); -#else + typedef typename SK::Circular_arc_3 Circular_arc_3; typedef typename SK::Linear_kernel LK; typedef typename LK::Construct_plane_3 LK_Construct_plane_3; typedef typename LK::RT RT; @@ -537,6 +511,10 @@ template < class SK > \ typedef typename LK::Plane_3 Plane_3; typedef typename LK::Circle_3 Circle_3; + public: + + typedef typename SK::Linear_kernel::Construct_plane_3::result_type result_type; + public: result_type @@ -603,8 +581,6 @@ template < class SK > \ operator()(const Circle_3 & c) const { return this->operator()(Return_base_tag(), c); } -#endif - result_type operator() ( const typename SK::Polynomial_1_3 &eq ) { return SphericalFunctors::construct_plane_3(eq); } @@ -617,32 +593,18 @@ template < class SK > \ template class Construct_line_3 -#ifndef CGAL_CFG_MATCHING_BUG_6 - - : public SK::Linear_kernel::Construct_line_3 -#endif { typedef typename SK::Line_arc_3 Line_arc_3; typedef typename SK::Line_3 Line_3; - - public: - - typedef typename SK::Linear_kernel::Construct_line_3::result_type - result_type; - - typedef const result_type & qualified_result_type; - -#ifndef CGAL_CFG_MATCHING_BUG_6 - using SK::Linear_kernel::Construct_line_3::operator(); -#else - typedef typename SK::Point_3 Point_3; typedef typename SK::Direction_3 Direction_3; typedef typename SK::Vector_3 Vector_3; typedef typename SK::Segment_3 Segment_3; typedef typename SK::Ray_3 Ray_3; + public: typedef typename SK::Linear_kernel::Construct_line_3 LK_Construct_line_3; - + typedef typename LK_Construct_line_3::result_type result_type; + result_type operator()(Return_base_tag, const Point_3& p, const Point_3& q) const { return LK_Construct_line_3()(p, Vector_3(p, q)); } @@ -684,9 +646,8 @@ template < class SK > \ operator()(const Ray_3& r) const { return this->operator()(Return_base_tag(), r); } - -#endif - qualified_result_type operator() (const Line_arc_3 & a) const + const result_type& + operator() (const Line_arc_3 & a) const { return (a.rep().supporting_line()); } result_type @@ -696,10 +657,10 @@ template < class SK > \ }; template < class SK > - class Construct_circle_3 : public SK::Linear_kernel::Construct_circle_3 + class Construct_circle_3 { - public: - + typedef typename SK::Linear_kernel::Construct_circle_3 Extended; + typedef typename Extended::result_type forwarded_result_type; typedef typename SK::FT FT; typedef typename SK::Point_3 Point_3; typedef typename SK::Plane_3 Plane_3; @@ -710,17 +671,61 @@ template < class SK > \ typedef typename SK::Circular_arc_3 Circular_arc_3; typedef typename SK::Kernel_base::Circle_3 RCircle_3; typedef typename Circle_3::Rep Rep; + public: + template + struct result { + typedef forwarded_result_type type; + }; + + template + struct result { + typedef const forwarded_result_type& type; + }; - typedef typename SK::Linear_kernel::Construct_circle_3::result_type result_type; - typedef const result_type & qualified_result_type; + forwarded_result_type + operator()(const Point_3& p, const FT& sr, + const Plane_3& plane) const + { return Extended()(p, sr, plane); } - using SK::Linear_kernel::Construct_circle_3::operator(); + forwarded_result_type + operator() (const Point_3& p, const FT& sr, + const Vector_3& v) const + { return Extended()(p, sr, v); } - result_type + forwarded_result_type + operator() (const Point_3& p, const FT& sr, + const Direction_3& d) const + { return Extended()(p, sr, d); } + + forwarded_result_type + operator() (const Sphere_3& s1, const Sphere_3& s2) const + { return Extended()(s1, s2); } + + forwarded_result_type + operator() (const Plane_3& p, const Sphere_3& s) const + { return Extended()(p, s); } + + forwarded_result_type + operator() (const Sphere_3& s, const Plane_3& p) const + { return Extended()(p, s); } + + forwarded_result_type + operator() (const Plane_3& p, const Sphere_3& s, int a) const + { return Extended()(p, s, a); } + + forwarded_result_type + operator() (const Sphere_3& s, const Plane_3& p, int a) const + { return Extended()(p, s, a); } + + forwarded_result_type + operator()( const Point_3& p1, const Point_3& p2, const Point_3& p3) const + { return Extended()(p1, p2, p3); } + + forwarded_result_type operator() ( const typename SK::Polynomials_for_circle_3 &eq ) { return Rep(construct_circle_3(eq)); } - qualified_result_type + const forwarded_result_type& operator() (const Circular_arc_3 & a) const { return (a.rep().supporting_circle()); } @@ -882,39 +887,37 @@ template < class SK > \ }; template - class Construct_circular_min_vertex_3 : Has_qrt + class Construct_circular_min_vertex_3 { typedef typename SK::Line_arc_3 Line_arc_3; typedef typename SK::Circular_arc_point_3 Circular_arc_point_3; public: - typedef Circular_arc_point_3 result_type; - typedef const result_type & qualified_result_type; + typedef const Circular_arc_point_3& result_type; - qualified_result_type operator() (const Line_arc_3 & a) const + result_type operator() (const Line_arc_3 & a) const { return (a.rep().lower_xyz_extremity()); } }; template - class Construct_circular_max_vertex_3 : Has_qrt + class Construct_circular_max_vertex_3 { typedef typename SK::Line_arc_3 Line_arc_3; typedef typename SK::Circular_arc_point_3 Circular_arc_point_3; public: - typedef Circular_arc_point_3 result_type; - typedef const result_type & qualified_result_type; + typedef const Circular_arc_point_3& result_type; - qualified_result_type operator() (const Line_arc_3 & a) const + result_type operator() (const Line_arc_3 & a) const { return (a.rep().higher_xyz_extremity()); } }; template - class Construct_circular_source_vertex_3 : Has_qrt + class Construct_circular_source_vertex_3 { typedef typename SK::Line_arc_3 Line_arc_3; typedef typename SK::Circular_arc_3 Circular_arc_3; @@ -922,19 +925,18 @@ template < class SK > \ public: - typedef Circular_arc_point_3 result_type; - typedef const result_type & qualified_result_type; + typedef const Circular_arc_point_3& result_type; - qualified_result_type operator() (const Line_arc_3 & a) const + result_type operator() (const Line_arc_3 & a) const { return (a.rep().source()); } - qualified_result_type operator() (const Circular_arc_3 & a) const + result_type operator() (const Circular_arc_3 & a) const { return (a.rep().source()); } }; template - class Construct_circular_target_vertex_3 : Has_qrt + class Construct_circular_target_vertex_3 { typedef typename SK::Line_arc_3 Line_arc_3; typedef typename SK::Circular_arc_point_3 Circular_arc_point_3; @@ -942,13 +944,12 @@ template < class SK > \ public: - typedef Circular_arc_point_3 result_type; - typedef const result_type & qualified_result_type; + typedef const Circular_arc_point_3& result_type; - qualified_result_type operator() (const Line_arc_3 & a) const + result_type operator() (const Line_arc_3 & a) const { return (a.rep().target()); } - qualified_result_type operator() (const Circular_arc_3 & a) const + result_type operator() (const Circular_arc_3 & a) const { return (a.rep().target()); } }; @@ -1845,20 +1846,6 @@ template < class SK > \ } // namespace SphericalFunctors -template < typename K > -struct Qualified_result_of, - typename K::Line_arc_3> -{ - typedef typename K::Line_3 const & type; -}; - -template < typename K > -struct Qualified_result_of, - typename K::Circular_arc_3> -{ - typedef typename K::Circle_3 const & type; -}; - } // namespace CGAL #endif // CGAL_SPHERICAL_KERNEL_FUNCTION_OBJECTS_POLYNOMIAL_SPHERE_H diff --git a/Circular_kernel_3/include/CGAL/Line_arc_3.h b/Circular_kernel_3/include/CGAL/Line_arc_3.h index 1cee87bbe3a..70cd6ebfe17 100644 --- a/Circular_kernel_3/include/CGAL/Line_arc_3.h +++ b/Circular_kernel_3/include/CGAL/Line_arc_3.h @@ -122,37 +122,32 @@ namespace CGAL { Line_arc_3(const RLine_arc_3 &a) : RLine_arc_3(a) {} - - typename Qualified_result_of - ::type + + typename boost::result_of::type source() const { return typename R::Construct_circular_source_vertex_3()(*this); } - typename Qualified_result_of - ::type + typename boost::result_of::type target() const { return typename R::Construct_circular_target_vertex_3()(*this); } - typename Qualified_result_of - ::type + typename boost::result_of::type lower_xyz_extremity() const { return typename R::Construct_circular_min_vertex_3()(*this); } - typename Qualified_result_of - ::type + typename boost::result_of::type higher_xyz_extremity() const { return typename R::Construct_circular_max_vertex_3()(*this); } - typename Qualified_result_of - ::type + typename boost::result_of::type supporting_line() const { return typename R::Construct_line_3()(*this); diff --git a/Circular_kernel_3/test/Circular_kernel_3/include/CGAL/_test_sphere_compute.h b/Circular_kernel_3/test/Circular_kernel_3/include/CGAL/_test_sphere_compute.h index 90c94258fc9..a6dba644e10 100644 --- a/Circular_kernel_3/test/Circular_kernel_3/include/CGAL/_test_sphere_compute.h +++ b/Circular_kernel_3/test/Circular_kernel_3/include/CGAL/_test_sphere_compute.h @@ -53,16 +53,16 @@ void _test_spherical_kernel_compute(SK sk) std::cout << "TESTING COMPUTATIONS" << std::endl; - Equal_3 theEqual_3 = sk.equal_3_object(); - Get_equation theGet_equation = sk.get_equation_object(); + (void)/* Equal_3 theEqual_3 = */ sk.equal_3_object(); + (void)/* Get_equation theGet_equation = */ sk.get_equation_object(); Construct_circle_3 theConstruct_circle_3 = sk.construct_circle_3_object(); - Construct_sphere_3 theConstruct_sphere_3 = sk.construct_sphere_3_object(); + (void)/* Construct_sphere_3 theConstruct_sphere_3 = */ sk.construct_sphere_3_object(); Construct_circular_arc_3 theConstruct_circular_arc_3 = sk.construct_circular_arc_3_object(); Construct_circular_arc_point_3 theConstruct_circular_arc_point_3 = sk.construct_circular_arc_point_3_object(); - Compute_area_divided_by_pi_3 theCompute_area_divided_by_pi_3 = sk.compute_area_divided_by_pi_3_object(); - Compute_squared_length_divided_by_pi_square_3 theCompute_squared_length_divided_by_pi_square_3 = + (void)/* Compute_area_divided_by_pi_3 theCompute_area_divided_by_pi_3 = */ sk.compute_area_divided_by_pi_3_object(); + (void)/* Compute_squared_length_divided_by_pi_square_3 theCompute_squared_length_divided_by_pi_square_3 = */ sk.compute_squared_length_divided_by_pi_square_3_object(); - Compute_approximate_area_3 theCompute_approximate_area_3 = sk.compute_approximate_area_3_object(); + (void)/* Compute_approximate_area_3 theCompute_approximate_area_3 = */ sk.compute_approximate_area_3_object(); Compute_approximate_squared_length_3 theCompute_approximate_squared_length_3 = sk.compute_approximate_squared_length_3_object(); Compute_approximate_angle_3 theCompute_approximate_angle_3 = sk.compute_approximate_angle_3_object(); diff --git a/Circular_kernel_3/test/Circular_kernel_3/include/CGAL/_test_sphere_constructions.h b/Circular_kernel_3/test/Circular_kernel_3/include/CGAL/_test_sphere_constructions.h index 2c89e6628cb..ed5942cf5fb 100644 --- a/Circular_kernel_3/test/Circular_kernel_3/include/CGAL/_test_sphere_constructions.h +++ b/Circular_kernel_3/test/Circular_kernel_3/include/CGAL/_test_sphere_constructions.h @@ -41,7 +41,7 @@ void _test_circular_arc_point_construct(SK sk) { typedef typename AK::Polynomials_for_line_3 Polynomials_for_line_3; typedef typename AK::Root_for_spheres_2_3 Root_for_spheres_2_3; - Construct_sphere_3 theConstruct_sphere_3 = sk.construct_sphere_3_object(); + (void)/* Construct_sphere_3 theConstruct_sphere_3 = */ sk.construct_sphere_3_object(); Construct_circular_arc_point_3 theConstruct_circular_arc_point_3 = sk.construct_circular_arc_point_3_object(); Equal_3 theEqual_3 = sk.equal_3_object(); @@ -265,7 +265,7 @@ void _test_circle_construct(SK sk) { Equal_3 theEqual_3 = sk.equal_3_object(); Get_equation theGet_equation = sk.get_equation_object(); Construct_circle_3 theConstruct_circle_3 = sk.construct_circle_3_object(); - Construct_sphere_3 theConstruct_sphere_3 = sk.construct_sphere_3_object(); + (void)/* Construct_sphere_3 theConstruct_sphere_3 = */ sk.construct_sphere_3_object(); CGAL::Random generatorOfgenerator; int random_seed = generatorOfgenerator.get_int(0, 123456); @@ -427,9 +427,9 @@ void _test_circular_arc_construct(SK sk) { typedef typename AK::Root_for_spheres_2_3 Root_for_spheres_2_3; Equal_3 theEqual_3 = sk.equal_3_object(); - Get_equation theGet_equation = sk.get_equation_object(); + (void)/* Get_equation theGet_equation = */sk.get_equation_object(); Construct_circle_3 theConstruct_circle_3 = sk.construct_circle_3_object(); - Construct_sphere_3 theConstruct_sphere_3 = sk.construct_sphere_3_object(); + (void)/* Construct_sphere_3 theConstruct_sphere_3 = */ sk.construct_sphere_3_object(); Construct_circular_arc_3 theConstruct_circular_arc_3 = sk.construct_circular_arc_3_object(); CGAL::Random generatorOfgenerator; @@ -2176,14 +2176,14 @@ void _test_bbox(const typename SK::Circle_3 &c) typedef typename AK::Root_for_spheres_2_3 Root_for_spheres_2_3; typedef CGAL::Bbox_3 Bbox_3; - Has_on_3 theHas_on_3 = SK().has_on_3_object(); - Equal_3 theEqual_3 = SK().equal_3_object(); - Intersect_3 theIntersect_3 = SK().intersect_3_object(); - Get_equation theGet_equation = SK().get_equation_object(); - Construct_circle_3 theConstruct_circle_3 = SK().construct_circle_3_object(); - Construct_sphere_3 theConstruct_sphere_3 = SK().construct_sphere_3_object(); - Construct_plane_3 theConstruct_plane_3 = SK().construct_plane_3_object(); - Construct_line_3 theConstruct_line_3 = SK().construct_line_3_object(); + (void)/* Has_on_3 theHas_on_3 = */ SK().has_on_3_object(); + (void)/* Equal_3 theEqual_3 = */ SK().equal_3_object(); + (void)/* Intersect_3 theIntersect_3 = */ SK().intersect_3_object(); + (void)/* Get_equation theGet_equation = */ SK().get_equation_object(); + (void)/* Construct_circle_3 theConstruct_circle_3 = */ SK().construct_circle_3_object(); + (void)/* Construct_sphere_3 theConstruct_sphere_3 = */ SK().construct_sphere_3_object(); + (void)/* Construct_plane_3 theConstruct_plane_3 = */ SK().construct_plane_3_object(); + (void)/* Construct_line_3 theConstruct_line_3 = */ SK().construct_line_3_object(); Construct_bbox_3 theConstruct_bbox_3 = SK().construct_bbox_3_object(); Bbox_3 b = theConstruct_bbox_3(c); @@ -2264,13 +2264,13 @@ void _test_bounding_box_construct(SK sk) typedef typename AK::Root_for_spheres_2_3 Root_for_spheres_2_3; typedef CGAL::Bbox_3 Bbox_3; - Has_on_3 theHas_on_3 = sk.has_on_3_object(); - Equal_3 theEqual_3 = sk.equal_3_object(); + (void)/* Has_on_3 theHas_on_3 = */ sk.has_on_3_object(); + (void)/* Equal_3 theEqual_3 = */ sk.equal_3_object(); Intersect_3 theIntersect_3 = sk.intersect_3_object(); - Get_equation theGet_equation = sk.get_equation_object(); + (void)/* Get_equation theGet_equation = */ sk.get_equation_object(); Construct_circle_3 theConstruct_circle_3 = sk.construct_circle_3_object(); Construct_sphere_3 theConstruct_sphere_3 = sk.construct_sphere_3_object(); - Construct_plane_3 theConstruct_plane_3 = sk.construct_plane_3_object(); + (void)/* Construct_plane_3 theConstruct_plane_3 = */ sk.construct_plane_3_object(); Construct_line_3 theConstruct_line_3 = sk.construct_line_3_object(); Construct_line_arc_3 theConstruct_line_arc_3 = sk.construct_line_arc_3_object(); Construct_bbox_3 theConstruct_bbox_3 = sk.construct_bbox_3_object(); @@ -2434,14 +2434,14 @@ void _test_split_construct(SK sk) { typedef typename AK::Polynomials_for_line_3 Polynomials_for_line_3; typedef typename AK::Root_for_spheres_2_3 Root_for_spheres_2_3; - Has_on_3 theHas_on_3 = sk.has_on_3_object(); + (void)/* Has_on_3 theHas_on_3 = */ sk.has_on_3_object(); Equal_3 theEqual_3 = sk.equal_3_object(); Split_3 theSplit_3 = sk.split_3_object(); - Intersect_3 theIntersect_3 = sk.intersect_3_object(); - Get_equation theGet_equation = sk.get_equation_object(); + (void)/* Intersect_3 theIntersect_3 = */ sk.intersect_3_object(); + (void)/* Get_equation theGet_equation = */ sk.get_equation_object(); Construct_circle_3 theConstruct_circle_3 = sk.construct_circle_3_object(); - Construct_sphere_3 theConstruct_sphere_3 = sk.construct_sphere_3_object(); - Construct_plane_3 theConstruct_plane_3 = sk.construct_plane_3_object(); + (void)/* Construct_sphere_3 theConstruct_sphere_3 = */ sk.construct_sphere_3_object(); + (void)/* Construct_plane_3 theConstruct_plane_3 = */ sk.construct_plane_3_object(); Construct_line_3 theConstruct_line_3 = sk.construct_line_3_object(); Construct_line_arc_3 theConstruct_line_arc_3 = sk.construct_line_arc_3_object(); Construct_circular_arc_3 theConstruct_circular_arc_3 = sk.construct_circular_arc_3_object(); diff --git a/Circular_kernel_3/test/Circular_kernel_3/include/CGAL/_test_sphere_predicates.h b/Circular_kernel_3/test/Circular_kernel_3/include/CGAL/_test_sphere_predicates.h index aacef86d6dd..1be03129b0f 100644 --- a/Circular_kernel_3/test/Circular_kernel_3/include/CGAL/_test_sphere_predicates.h +++ b/Circular_kernel_3/test/Circular_kernel_3/include/CGAL/_test_sphere_predicates.h @@ -41,7 +41,7 @@ void _test_circular_arc_point_equal(SK sk) { typedef typename AK::Polynomials_for_line_3 Polynomials_for_line_3; typedef typename AK::Root_for_spheres_2_3 Root_for_spheres_2_3; - Construct_sphere_3 theConstruct_sphere_3 = sk.construct_sphere_3_object(); + (void)/* Construct_sphere_3 theConstruct_sphere_3 = */ sk.construct_sphere_3_object(); Construct_circular_arc_point_3 theConstruct_circular_arc_point_3 = sk.construct_circular_arc_point_3_object(); Equal_3 theEqual_3 = sk.equal_3_object(); @@ -94,11 +94,11 @@ void _test_line_arc_equal(SK sk) { Equal_3 theEqual_3 = sk.equal_3_object(); Get_equation theGet_equation = sk.get_equation_object(); - Construct_circle_3 theConstruct_circle_3 = sk.construct_circle_3_object(); - Construct_sphere_3 theConstruct_sphere_3 = sk.construct_sphere_3_object(); + (void)/* Construct_circle_3 theConstruct_circle_3 = */ sk.construct_circle_3_object(); + (void)/* Construct_sphere_3 theConstruct_sphere_3 = */ sk.construct_sphere_3_object(); Construct_line_arc_3 theConstruct_line_arc_3 = sk.construct_line_arc_3_object(); Construct_line_3 theConstruct_line_3 = sk.construct_line_3_object(); - Construct_plane_3 theConstruct_plane_3 = sk.construct_plane_3_object(); + (void)/* Construct_plane_3 theConstruct_plane_3 = */ sk.construct_plane_3_object(); Construct_circular_arc_point_3 theConstruct_circular_arc_point_3 = sk.construct_circular_arc_point_3_object(); @@ -165,9 +165,9 @@ void _test_circular_arc_equal(SK sk) { typedef typename AK::Root_for_spheres_2_3 Root_for_spheres_2_3; Equal_3 theEqual_3 = sk.equal_3_object(); - Get_equation theGet_equation = sk.get_equation_object(); + (void)/* Get_equation theGet_equation = */ sk.get_equation_object(); Construct_circle_3 theConstruct_circle_3 = sk.construct_circle_3_object(); - Construct_sphere_3 theConstruct_sphere_3 = sk.construct_sphere_3_object(); + (void)/* Construct_sphere_3 theConstruct_sphere_3 = */ sk.construct_sphere_3_object(); Construct_circular_arc_3 theConstruct_circular_arc_3 = sk.construct_circular_arc_3_object(); CGAL::Random generatorOfgenerator; @@ -528,13 +528,13 @@ void _test_do_overlap_predicate(SK sk) { typedef typename AK::Root_for_spheres_2_3 Root_for_spheres_2_3; Construct_circle_3 theConstruct_circle_3 = sk.construct_circle_3_object(); - Construct_sphere_3 theConstruct_sphere_3 = sk.construct_sphere_3_object(); - Construct_plane_3 theConstruct_plane_3 = sk.construct_plane_3_object(); + (void)/* Construct_sphere_3 theConstruct_sphere_3 = */ sk.construct_sphere_3_object(); + (void)/* Construct_plane_3 theConstruct_plane_3 = */ sk.construct_plane_3_object(); Construct_line_3 theConstruct_line_3 = sk.construct_line_3_object(); Construct_line_arc_3 theConstruct_line_arc_3 = sk.construct_line_arc_3_object(); Construct_circular_arc_3 theConstruct_circular_arc_3 = sk.construct_circular_arc_3_object(); Construct_circular_arc_point_3 theConstruct_circular_arc_point_3 = sk.construct_circular_arc_point_3_object(); - Has_on_3 theHas_on_3 = sk.has_on_3_object(); + (void)/* Has_on_3 theHas_on_3 = */ sk.has_on_3_object(); Do_overlap_3 theDo_overlap_3 = sk.do_overlap_3_object(); std::cout << "Testing do_overlap(Line_arc, Line_arc)..." << std::endl; @@ -694,7 +694,7 @@ void _test_lexico_operations(SK sk) { typedef typename AK::Polynomials_for_line_3 Polynomials_for_line_3; typedef typename AK::Root_for_spheres_2_3 Root_for_spheres_2_3; - Construct_circular_arc_point_3 theConstruct_circular_arc_point_3 = + (void)// Construct_circular_arc_point_3 theConstruct_circular_arc_point_3 = sk.construct_circular_arc_point_3_object(); Circular_arc_point_3 p[3]; diff --git a/Combinatorial_map/include/CGAL/Cell_iterators.h b/Combinatorial_map/include/CGAL/Cell_iterators.h index 9704d74f527..aa6f20b7886 100644 --- a/Combinatorial_map/include/CGAL/Cell_iterators.h +++ b/Combinatorial_map/include/CGAL/Cell_iterators.h @@ -149,8 +149,8 @@ namespace CGAL { } /// Postfix ++ operator. - void operator++(int) - { operator++(); } + Self operator++(int) + { Self res=*this; operator ++(); return res; } private: /// A mark used to mark treated cells. @@ -237,8 +237,8 @@ namespace CGAL { } /// Postfix ++ operator. - void operator++(int) - { operator++(); } + Self operator++(int) + { Self res=*this; operator ++(); return res; } /// Prefix ++ operator. Self& operator++() @@ -339,8 +339,8 @@ namespace CGAL { } /// Postfix ++ operator. - void operator++(int) - { operator++(); } + Self operator++(int) + { Self res=*this; operator ++(); return res; } /// Prefix ++ operator. Self& operator++() diff --git a/Combinatorial_map/include/CGAL/Combinatorial_map.h b/Combinatorial_map/include/CGAL/Combinatorial_map.h index 214cfcf959a..46a60735856 100644 --- a/Combinatorial_map/include/CGAL/Combinatorial_map.h +++ b/Combinatorial_map/include/CGAL/Combinatorial_map.h @@ -51,12 +51,6 @@ namespace CGAL { class Alloc_=CGAL_ALLOCATOR(int) > class Combinatorial_map_base { - template - friend struct internal::sew_functor; - - template - friend struct internal::unsew_functor; - template friend struct Remove_cell_functor; @@ -834,6 +828,38 @@ namespace CGAL { (mattribute_containers); } + /** Double link a dart with beta 0 to a second dart. + * \em adart1 is 0-linked to \em adart2 and \em adart2 is 1-linked + * with \em adart1. Attributes are not updated, thus we can obtain + * a non-valid map with darts belonging to a same orbit and having + * different attributes. + * @param adart1 a first dart. + * @param adart2 a second dart. + */ + void basic_link_beta_0(Dart_handle adart1, Dart_handle adart2) + { + CGAL_assertion(adart1 != NULL && adart2 != NULL); + CGAL_assertion(adart1 != null_dart_handle && adart2 != null_dart_handle); + adart1->basic_link_beta(adart2, 0); + adart2->basic_link_beta(adart1, 1); + } + + /** Double link a dart with beta 0 to a second dart. + * \em adart1 is 0-linked to \em adart2 and \em adart2 is 1-linked + * with \em adart1. Attributes are not updated, thus we can obtain + * a non-valid map with darts belonging to a same orbit and having + * different attributes. + * @param adart1 a first dart. + * @param adart2 a second dart. + */ + void basic_link_beta_1(Dart_handle adart1, Dart_handle adart2) + { + CGAL_assertion(adart1 != NULL && adart2 != NULL); + CGAL_assertion(adart1 != null_dart_handle && adart2 != null_dart_handle); + adart1->basic_link_beta(adart2, 1); + adart2->basic_link_beta(adart1, 0); + } + /** Double link a dart with beta i to a second dart, when i>=2. * \em adart1 is i-linked to \em adart2 and \em adart2 is i-linked * with \em adart1. Attributes are not updated, thus we can obtain @@ -841,9 +867,10 @@ namespace CGAL { * different attributes. * @param adart1 a first dart. * @param adart2 a second dart. - * @param i the dimension of the beta + * @param i the dimension of the beta. */ - void basic_link_beta(Dart_handle adart1, Dart_handle adart2, unsigned int i) + void basic_link_beta_for_involution(Dart_handle adart1, Dart_handle adart2, + unsigned int i) { CGAL_assertion( i>=2 && i<=dimension ); CGAL_assertion(adart1 != NULL && adart2 != NULL && adart1!=adart2); @@ -862,34 +889,81 @@ namespace CGAL { */ template void basic_link_beta(Dart_handle adart1, Dart_handle adart2) - { internal::basic_link_beta_functor::run(*this,adart1,adart2); } - - /** Double unlink a dart with beta0. - * beta0(\em adart) is 1-unlinked and \em adart is 0-unlinked. - * The attributes are not updated, thus we can obtain a non-valid map - * with darts belonging to different orbits and having the same - * attributes. - * @param adart a dart. - */ - template - void unlink_beta(Dart_handle adart) - { internal::unlink_beta_functor::run(*this,adart); } - - /** Double unlink a dart with beta i, for i>=2. - * betai(\em adart) is i-unlinked and \em adart is i-unlinked. - * The attributes are not updated, thus we can obtain a non-valid map - * with darts belonging to different orbits and having the same - * attributes. - * @param adart a dart. - * @param i the dimension of the beta - */ - void unlink_beta(Dart_handle adart, unsigned int i) { - CGAL_assertion(adart!=NULL && adart!=null_dart_handle && - !adart->is_free(i)); - CGAL_assertion(2<=i && i<=dimension); - adart->beta(i)->unlink_beta(i); - adart->unlink_beta(i); + if ( i==0 ) basic_link_beta_0(adart1, adart2); + else if ( i==1 ) basic_link_beta_1(adart1, adart2); + else basic_link_beta_for_involution(adart1, adart2, i); + } + void basic_link_beta(Dart_handle adart1, Dart_handle adart2, + unsigned int i) + { + if ( i==0 ) basic_link_beta_0(adart1, adart2); + else if ( i==1 ) basic_link_beta_1(adart1, adart2); + else basic_link_beta_for_involution(adart1, adart2, i); + } + + /** Double link two darts, and update the NULL attributes. + * \em adart1 is 0-linked to \em adart2 and \em adart2 is 1-linked + * with \em adart1. The NULL attributes of \em adart1 are updated to + * non NULL attributes associated to \em adart2, and vice-versa. + * We can obtain a non-valid map with darts belonging to a same cell + * and having different attributes. + * @param adart1 a first dart. + * @param adart2 a second dart. + */ + void link_beta_0(Dart_handle adart1, Dart_handle adart2) + { + CGAL_assertion(adart1 != NULL && adart2 != NULL); + CGAL_assertion(adart1 != null_dart_handle && adart2 != null_dart_handle); + Helper::template Foreach_enabled_attributes + >:: + run(this,adart1,adart2,0); + adart1->basic_link_beta(adart2, 0); + adart2->basic_link_beta(adart1, 1); + } + + /** Double link two darts, and update the NULL attributes. + * \em adart1 is 1-linked to \em adart2 and \em adart2 is 0-linked + * with \em adart1. The NULL attributes of \em adart1 are updated to + * non NULL attributes associated to \em adart2, and vice-versa. + * We can obtain a non-valid map with darts belonging to a same cell + * and having different attributes. + * @param adart1 a first dart. + * @param adart2 a second dart. + */ + void link_beta_1(Dart_handle adart1, Dart_handle adart2) + { + CGAL_assertion(adart1 != NULL && adart2 != NULL); + CGAL_assertion(adart1 != null_dart_handle && adart2 != null_dart_handle); + Helper::template Foreach_enabled_attributes + >:: + run(this,adart1,adart2,1); + adart1->basic_link_beta(adart2, 1); + adart2->basic_link_beta(adart1, 0); + } + + /** Double link two darts, and update the NULL attributes. + * \em adart1 is i-linked to \em adart2 and \em adart2 is i^-1-linked + * with \em adart1. The NULL attributes of \em adart1 are updated to + * non NULL attributes associated to \em adart2, and vice-versa. + * We can obtain a non-valid map with darts belonging to a same cell + * and having different attributes. + * @param adart1 a first dart. + * @param adart2 a second dart. + * @param i the dimension of the beta. + * @pre 2<=i<=dimension. + */ + void link_beta_for_involution(Dart_handle adart1, Dart_handle adart2, + unsigned int i) + { + CGAL_assertion(adart1 != NULL && adart2 != NULL && adart1!=adart2 ); + CGAL_assertion(adart1 != null_dart_handle && adart2 != null_dart_handle); + CGAL_assertion( 2<=i && i<=dimension ); + Helper::template Foreach_enabled_attributes + >:: + run(this,adart1,adart2,i); + adart1->basic_link_beta(adart2, i); + adart2->basic_link_beta(adart1, i); } /** Double link two darts, and update the NULL attributes. @@ -903,29 +977,16 @@ namespace CGAL { */ template void link_beta(Dart_handle adart1, Dart_handle adart2) - { internal::link_beta_functor::run(*this,adart1,adart2); } - - /** Double link two darts, and update the NULL attributes. - * \em adart1 is i-linked to \em adart2 and \em adart2 is i^-1-linked - * with \em adart1. The NULL attributes of \em adart1 are updated to - * non NULL attributes associated to \em adart2, and vice-versa. - * We can obtain a non-valid map with darts belonging to a same cell - * and having different attributes. - * @param adart1 a first dart. - * @param adart2 a second dart. - * @param i the dimension of the beta. - * @pre 2<=i<=dimension - */ + { + if ( i==0 ) link_beta_0(adart1, adart2); + else if ( i==1 ) link_beta_1(adart1, adart2); + else link_beta_for_involution(adart1, adart2, i); + } void link_beta(Dart_handle adart1, Dart_handle adart2, unsigned int i) { - CGAL_assertion(adart1 != NULL && adart2 != NULL && adart1!=adart2 ); - CGAL_assertion(adart1 != null_dart_handle && adart2 != null_dart_handle); - CGAL_assertion( 2<=i && i<=dimension ); - adart1->basic_link_beta(adart2, i); - adart2->basic_link_beta(adart1, i); - Helper::template Foreach_enabled_attributes - >:: - run(this,adart1,adart2,i); + if ( i==0 ) link_beta_0(adart1, adart2); + else if ( i==1 ) link_beta_1(adart1, adart2); + else link_beta_for_involution(adart1, adart2, i); } /** Double link a dart with betai to a second dart. @@ -935,7 +996,7 @@ namespace CGAL { * if update_attributes==true. * @param adart1 a first dart. * @param adart2 a second dart. - * @param update_attributes a boolean to update the enabled attributes + * @param update_attributes a boolean to update the enabled attributes. */ template void link_beta(Dart_handle adart1, Dart_handle adart2, @@ -945,6 +1006,167 @@ namespace CGAL { else basic_link_beta(adart1, adart2); } + /** Double unlink a dart with beta 0. + * beta0(\em adart) is 1-unlinked and \em adart is 0-unlinked. + * The attributes are not updated, thus we can obtain a non-valid map + * with darts belonging to different orbits and having the same + * attributes. + * @param adart a dart. + */ + void unlink_beta_0(Dart_handle adart) + { + CGAL_assertion(adart != NULL && !adart->is_free(0)); + adart->beta(0)->unlink_beta(1); + adart->unlink_beta(0); + } + + /** Double unlink a dart with beta 1. + * beta1(\em adart) is 0-unlinked and \em adart is 1-unlinked. + * The attributes are not updated, thus we can obtain a non-valid map + * with darts belonging to different orbits and having the same + * attributes. + * @param adart a dart. + */ + void unlink_beta_1(Dart_handle adart) + { + CGAL_assertion(adart != NULL && !adart->is_free(1)); + adart->beta(1)->unlink_beta(0); + adart->unlink_beta(1); + } + + /** Double unlink a dart with beta i, for i>=2. + * betai(\em adart) is i-unlinked and \em adart is i-unlinked. + * The attributes are not updated, thus we can obtain a non-valid map + * with darts belonging to different orbits and having the same + * attributes. + * @param adart a dart. + * @param i the dimension of the beta. + */ + void unlink_beta_for_involution(Dart_handle adart, unsigned int i) + { + CGAL_assertion(adart!=NULL && adart!=null_dart_handle && + !adart->is_free(i)); + CGAL_assertion(2<=i && i<=dimension); + adart->beta(i)->unlink_beta(i); + adart->unlink_beta(i); + } + + /** Double unlink a dart with beta i. + * betai(\em adart) is i-1-unlinked and \em adart is i-unlinked. + * The attributes are not updated, thus we can obtain a non-valid map + * with darts belonging to different orbits and having the same + * attributes. + * @param adart a dart. + * @param i the dimension of the beta. + */ + template + void unlink_beta(Dart_handle adart) + { + if ( i==0 ) unlink_beta_0(adart); + else if ( i==1 ) unlink_beta_1(adart); + else unlink_beta_for_involution(adart, i); + } + void unlink_beta(Dart_handle adart, unsigned int i) + { + if ( i==0 ) unlink_beta_0(adart); + else if ( i==1 ) unlink_beta_1(adart); + else unlink_beta_for_involution(adart, i); + } + + /** Test if it is possible to sew by beta1 the two given darts + * @param adart1 the first dart. + * @param adart2 the second dart. + * @return true iff \em adart1 can be 1-sewn with \em adart2. + */ + bool is_sewable_1(Dart_const_handle adart1, Dart_const_handle adart2) const + { + CGAL_assertion(adart1!=NULL && adart2!=NULL); + + if ( !adart1->is_free(1) || !adart2->is_free(0) ) + return false; + + if ( adart1 == adart2 ) return true; + + CMap_dart_const_iterator_of_involution I1(*this, adart1); + CMap_dart_const_iterator_of_involution_inv I2(*this, adart2); + bool res = true; + while (res && I1.cont() && I2.cont()) + { + // We can remove this constraint which is not required for + // combinatorial map definition, but which imposes quite "normal" + // configurations + if ( I1==adart2 || I2==adart1 ) res=false; + + for (unsigned int j=3;res && j<=Self::dimension; ++j) + { + if ( I1->is_free(j)!=I2->is_free(j) ) + { + res = false; + } + } + ++I1; ++I2; + } + if (I1.cont() != I2.cont()) + res = false; + + return res; + } + + /** Test if it is possible to sew by beta0 the two given darts + * @param adart1 the first dart. + * @param adart2 the second dart. + * @return true iff \em adart1 can be 0-sewn with \em adart2. + */ + bool is_sewable_0(Dart_const_handle adart1, Dart_const_handle adart2) const + { return is_sewable_1(adart2, adart1); } + + /** Test if it is possible to sew by betai the two given darts + * for 2<=i<=dimension. + * @param adart1 the first dart. + * @param adart2 the second dart. + * @return true iff \em adart1 can be 1-sewn with \em adart2. + */ + template + bool is_sewable_for_involution(Dart_const_handle adart1, + Dart_const_handle adart2) const + { + CGAL_assertion(2<=i && i<=Self::dimension); + CGAL_assertion(adart1!=NULL && adart2!=NULL); + + if ( !adart1->is_free(i) || !adart2->is_free(i) || adart1==adart2 ) + return false; + + CMap_dart_const_iterator_of_involution I1(*this, adart1); + CMap_dart_const_iterator_of_involution_inv I2(*this, adart2); + bool res = true; + while (res && I1.cont() && I2.cont()) + { + // We can remove this constraint which is not required for + // combinatorial map definition, but which is quite "normal" + if ( I1==adart2 || I2==adart1 ) res=false; + + // Special case to consider beta0 and beta1 + if ( i>2 ) + { + if ( I1->is_free(0)!=I2->is_free(1) ) res = false; + else if ( I1->is_free(1)!=I2->is_free(0) ) res = false; + } + + // General case + for (unsigned int j=2;res && j<=Self::dimension; ++j) + { + if ( j+1!=i && j!=i && j!=i+1 && + I1->is_free(j)!=I2->is_free(j) ) + { res = false; } + } + ++I1; ++I2; + } + if (I1.cont() != I2.cont()) + res = false; + + return res; + } + /** Test if it is possible to sew by betai the two given darts * @param adart1 the first dart. * @param adart2 the second dart. @@ -952,9 +1174,84 @@ namespace CGAL { */ template bool is_sewable(Dart_const_handle adart1, Dart_const_handle adart2) const - { return internal::is_sewable_functor::run(*this,adart1,adart2); } + { + if ( i==0 ) return is_sewable_0(adart1, adart2); + else if ( i==1 ) return is_sewable_1(adart1, adart2); + else return is_sewable_for_involution(adart1, adart2); + } - /** Topological sew by betai the two given darts plus all the required darts + /** Topological sew by beta1 the two given darts plus all the required darts + * to satisfy the combinatorial map validity: but do not update attributes + * thus the map can be non valid. + * @param adart1 the first dart. + * @param adart2 the second dart. + * @pre is_sewable_1(adart1, adart2). + */ + void topo_sew_1(Dart_handle adart1, Dart_handle adart2) + { + CGAL_assertion( (is_sewable_1(adart1,adart2)) ); + + int m = get_new_mark(); + std::vector dartv; + for (CMap_dart_iterator_basic_of_cell it(*this,adart1,m); + it.cont(); ++it) + { + mark(it,m); + dartv.push_back(it); + } + + CMap_dart_iterator_of_involution I1(*this, adart1); + CMap_dart_iterator_of_involution_inv I2(*this, adart2); + while ( I1.cont() ) + { + if ( is_marked(I1,m) ) + basic_link_beta_1(I1, I2); + else + basic_link_beta_0(I1, I2); + ++I1; ++I2; + } + + for (typename std::vector::iterator + it=dartv.begin(); it!=dartv.end(); ++it) + { unmark(*it,m); } + CGAL_assertion( is_whole_map_unmarked(m) ); + free_mark(m); + } + + /** Topological sew by beta0 two given darts plus all the required darts + * to satisfy the combinatorial map validity: but do not update attributes + * thus the map can be non valid. + * @param adart1 the first dart. + * @param adart2 the second dart. + * @pre is_sewable_0(adart1, adart2). + */ + void topo_sew_0(Dart_handle adart1, Dart_handle adart2) + { topo_sew_1(adart2, adart1); } + + /** Topological sew by betai two given darts plus all the required darts + * to satisfy the combinatorial map validity: but do not update attributes + * thus the map can be non valid. + * @param adart1 the first dart. + * @param adart2 the second dart. + * @pre 2<=i<=dimension. + * @pre is_sewable_for_involution(adart1, adart2). + */ + template + void topo_sew_for_involution(Dart_handle adart1, Dart_handle adart2) + { + CGAL_assertion(2<=i && i<=Self::dimension); + CGAL_assertion( (is_sewable_for_involution(adart1,adart2)) ); + + CMap_dart_iterator_of_involution I1(*this, adart1); + CMap_dart_iterator_of_involution_inv I2(*this, adart2); + while ( I1.cont() ) + { + basic_link_beta_for_involution(I1, I2, i); + ++I1; ++I2; + } + } + + /** Topological sew by betai two given darts plus all the required darts * to satisfy the combinatorial map validity: but do not update attributes * thus the map can be non valid. * @param adart1 the first dart. @@ -963,7 +1260,136 @@ namespace CGAL { */ template void topo_sew(Dart_handle adart1, Dart_handle adart2) - { return internal::topo_sew_functor::run(*this,adart1,adart2); } + { + if ( i==0 ) topo_sew_0(adart1, adart2); + else if ( i==1 ) topo_sew_1(adart1, adart2); + else topo_sew_for_involution(adart1, adart2); + } + + /** Sew by beta0 the two given darts plus all the required darts + * to satisfy the combinatorial map validity, and updates enabled + * attributes when necessary so that the final map is valid. + * @param adart1 the first dart. + * @param adart2 the second dart. + * @pre is_sewable_0(adart1, adart2). + * @post is_valid() + */ + void sew_0(Dart_handle adart1, Dart_handle adart2) + { + CGAL_assertion( (is_sewable_0(adart1,adart2)) ); + + int m = get_new_mark(); + std::vector dartv; + for (CMap_dart_iterator_basic_of_cell it(*this,adart1,m); + it.cont(); ++it) + { + mark(it,m); + dartv.push_back(it); + } + + CMap_dart_iterator_of_involution I1(*this, adart1); + CMap_dart_iterator_of_involution_inv I2(*this, adart2); + while ( I1.cont() ) + { + Dart_handle od1=I1->other_extremity(); + Dart_handle od2=I2->other_extremity(); + if (od1!=NULL && od2!=NULL) + group_all_attributes_except(od1, od2, 1); + ++I1; ++I2; + } + + I1.rewind(); I2.rewind(); + while ( I1.cont() ) + { + if ( is_marked(I1,m) ) + basic_link_beta_0(I1, I2); + else + basic_link_beta_1(I1, I2); + ++I1; ++I2; + } + + for (typename std::vector::iterator + it=dartv.begin(); it!=dartv.end(); ++it) + { unmark(*it,m); } + CGAL_assertion( is_whole_map_unmarked(m) ); + free_mark(m); + } + + /** Sew by beta1 the two given darts plus all the required darts + * to satisfy the combinatorial map validity, and updates enabled + * attributes when necessary so that the final map is valid. + * @param adart1 the first dart. + * @param adart2 the second dart. + * @pre is_sewable_1(adart1, adart2). + * @post is_valid() + */ + void sew_1(Dart_handle adart1, Dart_handle adart2) + { + CGAL_assertion( (is_sewable_1(adart1,adart2)) ); + int m = get_new_mark(); + std::vector dartv; + for (CMap_dart_iterator_basic_of_cell it(*this,adart1,m); + it.cont(); ++it) + { + mark(it,m); + dartv.push_back(it); + } + + CMap_dart_iterator_of_involution I1(*this, adart1); + CMap_dart_iterator_of_involution_inv I2(*this, adart2); + while ( I1.cont() ) + { + group_all_attributes_except(I1,I2,1); + ++I1; ++I2; + } + + I1.rewind(); I2.rewind(); + while ( I1.cont() ) + { + if ( is_marked(I1,m) ) + basic_link_beta_1(I1, I2); + else + basic_link_beta_0(I1, I2); + ++I1; ++I2; + } + + for (typename std::vector::iterator + it=dartv.begin(); it!=dartv.end(); ++it) + { unmark(*it,m); } + CGAL_assertion( is_whole_map_unmarked(m) ); + free_mark(m); + } + + /** Sew by betai the two given darts plus all the required darts + * to satisfy the combinatorial map validity, and updates enabled + * attributes when necessary so that the final map is valid. + * @param adart1 the first dart. + * @param adart2 the second dart. + * @pre is_sewable(adart1, adart2). + * @pre 2<=i<=dimension. + * @post is_valid() + */ + template + void sew_for_involution(Dart_handle adart1, Dart_handle adart2) + { + CGAL_assertion(2<=i && i<=dimension); + CGAL_assertion( (is_sewable_for_involution(adart1,adart2)) ); + + CMap_dart_iterator_of_involution I1(*this, adart1); + CMap_dart_iterator_of_involution_inv I2(*this, adart2); + while ( I1.cont() ) + { + group_all_attributes_except(I1,I2,i); + ++I1; ++I2; + } + + I1.rewind(); I2.rewind(); + while ( I1.cont() ) + { + basic_link_beta_for_involution(I1, I2, i); + ++I1; ++I2; + } + } /** Sew by betai the two given darts plus all the required darts * to satisfy the combinatorial map validity, and updates enabled @@ -975,7 +1401,11 @@ namespace CGAL { */ template void sew(Dart_handle adart1, Dart_handle adart2) - { return internal::sew_functor::run(*this,adart1,adart2); } + { + if ( i==0 ) sew_0(adart1, adart2); + else if ( i==1 ) sew_1(adart1, adart2); + else sew_for_involution(adart1, adart2); + } /** Sew by betai the two given darts plus all the required darts * to satisfy the combinatorial map validity. Enabled attributes @@ -988,8 +1418,77 @@ namespace CGAL { template void sew(Dart_handle adart1, Dart_handle adart2, bool update_attributes) { - if ( update_attributes ) sew(adart1, adart2); - else topo_sew(adart1, adart2); + if ( update_attributes ) sew(adart1, adart2); + else topo_sew(adart1, adart2); + } + + /** Topological unsew by beta1 the given dart plus all the required darts + * to satisfy the combinatorial map validity: but do not update attributes + * thus the map can be non valid + * @param adart first dart. + * @pre !adart->is_free(1). + */ + void topo_unsew_1(Dart_handle adart) + { + CGAL_assertion( adart!=NULL && !adart->is_free(1) ); + + int m = get_new_mark(); + std::vector dartv; + for (CMap_dart_iterator_basic_of_cell it(*this,adart,m); + it.cont(); ++it) + { + mark(*it,m); + dartv.push_back(*it); + } + + { + CMap_dart_iterator_of_involution it(*this, adart); + while ( it.cont() ) + { + if ( is_marked(*it,m) ) basic_unlink_beta_1(*it); + else basic_unlink_beta_0(*it); + ++it; + } + } + + for (typename std::vector::iterator + it=dartv.begin(); it!=dartv.end(); ++it) + { unmark(*it,m); } + CGAL_assertion( is_whole_map_unmarked(m) ); + free_mark(m); + } + + /** Topological unsew by beta0 the given dart plus all the required darts + * to satisfy the combinatorial map validity: but do not update attributes + * thus the map can be non valid + * @param adart first dart. + * @pre !adart->is_free(0). + */ + void topo_unsew_0(Dart_handle adart) + { + CGAL_assertion( adart!=NULL && !adart->is_free(0) ); + topo_unsew_1(adart->beta(0)); + } + + /** Topological unsew by betai the given dart plus all the required darts + * to satisfy the combinatorial map validity: but do not update attributes + * thus the map can be non valid + * @param adart first dart. + * @pre !adart->is_free(i). + * @pre 2<=i<=dimension. + */ + template + void topo_unsew_for_involution(Dart_handle adart) + { + CGAL_assertion( adart!=NULL && !adart->is_free(i) ); + CGAL_assertion(2<=i && i<=Self::dimension); + + CMap_dart_iterator_of_involution it(*this, adart); + while ( it.cont() ) + { + unlink_beta(*it, i); + ++it; + } } /** Topological unsew by betai the given dart plus all the required darts @@ -1000,7 +1499,140 @@ namespace CGAL { */ template void topo_unsew(Dart_handle adart) - { return internal::topo_unsew_functor::run(*this,adart); } + { + if ( i==0 ) topo_unsew_0(adart); + else if ( i==1 ) topo_unsew_1(adart); + else topo_unsew_for_involution(adart); + } + + /** Unsew by beta0 the given dart plus all the required darts + * to satisfy the combinatorial map validity, and update enabled + * attributes when necessary so that the final map is valid. + * @param adart first dart. + * @pre !adart->is_free(0). + * @post is_valid() + */ + void unsew_0(Dart_handle adart) + { + CGAL_assertion( adart!=NULL && !adart->is_free(0) ); + Dart_handle d2 = NULL; + + int m = get_new_mark(); + std::vector dartv; + for (CMap_dart_iterator_basic_of_cell it(*this,adart,m); + it.cont(); ++it) + { + mark(it,m); + dartv.push_back(it); + } + + { + CMap_dart_iterator_of_involution it(*this, adart); + while ( it.cont() ) + { + if ( is_marked(it,m) ) + { + d2 = it->beta(0); + unlink_beta_0(it); + } + else + { + d2 = it->beta(1); + unlink_beta_1(it); + } + + // TODO do the degroup after the loop (cf unsew_for_involution) + Dart_handle od1=it->other_extremity(); + Dart_handle od2=d2->other_extremity(); + if ( od1!=NULL && od2!=NULL ) + degroup_all_attributes_except(od1,od2,1); + + ++it; + } + } + + for (typename std::vector::iterator + it=dartv.begin(); it!=dartv.end(); ++it) + { unmark(*it,m); } + + CGAL_assertion( is_whole_map_unmarked(m) ); + free_mark(m); + } + + /** Unsew by beta1 the given dart plus all the required darts + * to satisfy the combinatorial map validity, and update enabled + * attributes when necessary so that the final map is valid. + * @param adart first dart. + * @pre !adart->is_free(1). + * @post is_valid() + */ + void unsew_1(Dart_handle adart) + { + CGAL_assertion( adart!=NULL && !adart->is_free(1) ); + Dart_handle d2 = NULL; + + int m = get_new_mark(); + std::vector dartv; + for (CMap_dart_iterator_basic_of_cell it(*this,adart,m); + it.cont(); ++it) + { + mark(it,m); + dartv.push_back(it); + } + + { + CMap_dart_iterator_of_involution it(*this, adart); + while ( it.cont() ) + { + if ( is_marked(it,m) ) + { d2 = it->beta(1); unlink_beta_1(it); } + else + { d2 = it->beta(0); unlink_beta_0(it); } + // TODO do the degroup after the loop (cf unsew_for_involution) + degroup_all_attributes_except(it,d2,1); + ++it; + } + } + + for (typename std::vector::iterator + it=dartv.begin(); it!=dartv.end(); ++it) + { unmark(*it,m); } + CGAL_assertion( is_whole_map_unmarked(m) ); + free_mark(m); + } + + /** Unsew by betai the given dart plus all the required darts + * to satisfy the combinatorial map validity, and update enabled + * attributes when necessary so that the final map is valid. + * @param adart first dart. + * @pre !adart->is_free(i). + * @post is_valid() + * @pre 2<=i<=dimension + */ + template + void unsew_for_involution(Dart_handle adart) + { + CGAL_assertion(2<=i && i<=Self::dimension); + CGAL_assertion( adart!=NULL && !adart->is_free(i) ); + + std::stack > todegroup; + + CMap_dart_iterator_of_involution it(*this, adart); + while ( it.cont() ) + { + todegroup.push(internal::Couple_dart_and_dim + (it,it->beta(i),i)); + unlink_beta_for_involution(it,i); + ++it; + } + + while (!todegroup.empty() ) + { + internal::Couple_dart_and_dim c=todegroup.top(); + todegroup.pop(); + degroup_all_attributes_except(c.d1,c.d2,c.dim); + } + } /** Unsew by betai the given dart plus all the required darts * to satisfy the combinatorial map validity, and update enabled @@ -1011,7 +1643,11 @@ namespace CGAL { */ template void unsew(Dart_handle adart) - { return internal::unsew_functor::run(*this,adart); } + { + if ( i==0 ) unsew_0(adart); + else if ( i==1 ) unsew_1(adart); + else unsew_for_involution(adart); + } /** Unsew by betai the given dart plus all the required darts * to satisfy the combinatorial map validity. Enabled attributes @@ -1023,8 +1659,8 @@ namespace CGAL { template void unsew(Dart_handle adart, bool update_attributes) { - if ( update_attributes ) unsew(adart); - else topo_unsew(adart); + if ( update_attributes ) unsew(adart); + else topo_unsew(adart); } /** Count the marked cells (at least one marked dart). @@ -1298,10 +1934,24 @@ namespace CGAL { // If the two attributes are equal, nothing to do. if ( a1 == a2 ) return; - if ( a1==NULL ) - set_attribute_of_dart(dh1, a2); - else - set_attribute_of_dart(dh2, a1); + if ( a1==NULL ) set_attribute_of_dart(dh1, a2); + else set_attribute_of_dart(dh2, a1); + } + + /** Group all the dart attributes of adart1 and adart2, except the + * adim-cell attribute. + * @param adart1 the first dart. + * @param adart1 the second dart. + * @param adim the dimension to not group (-1 to group all dimensions). + * note that 0-attr are always grouped if adart1-> other_extremity()!=NULL. + */ + void group_all_dart_attributes_except(Dart_handle adart1, + Dart_handle adart2, int adim) + { + CGAL_assertion( adim==-1 || (1<=adim && (unsigned int)adim<=dimension) ); + Helper::template Foreach_enabled_attributes + >:: + run(this,adart1,adart2,adim); } /** Group all the cells attributes of adart1 and adart2, except the @@ -1309,6 +1959,7 @@ namespace CGAL { * @param adart1 the first dart. * @param adart1 the second dart. * @param adim the dimension to not group (-1 to group all dimensions). + * note that 0-attr are always grouped if adart1-> other_extremity()!=NULL. */ void group_all_attributes_except(Dart_handle adart1, Dart_handle adart2, int adim) @@ -1455,6 +2106,7 @@ namespace CGAL { " are disabled"); if ( is_marked(adart, amark) ) return true; bool valid = true; + bool found_dart = false; typename Attribute_const_handle::type a=adart->template attribute(); @@ -1466,6 +2118,8 @@ namespace CGAL { if ( it->template attribute() != a ) valid = false; + if ( a!=NULL && it==a->dart() ) found_dart = true; + mark(it, amark); ++nb; } @@ -1473,6 +2127,9 @@ namespace CGAL { if ( a!=NULL && a->get_nb_refs()!=nb ) valid = false; + if ( a!=NULL && a->dart()!=NULL && !found_dart ) + valid = false; + return valid; } diff --git a/Combinatorial_map/include/CGAL/Combinatorial_map_constructors.h b/Combinatorial_map/include/CGAL/Combinatorial_map_constructors.h index b78836b8468..19d2edba896 100644 --- a/Combinatorial_map/include/CGAL/Combinatorial_map_constructors.h +++ b/Combinatorial_map/include/CGAL/Combinatorial_map_constructors.h @@ -36,7 +36,7 @@ namespace CGAL { { typename Map::Dart_handle d1 = amap.create_dart(); typename Map::Dart_handle d2 = amap.create_dart(); - amap.template basic_link_beta<2>(d1, d2); + amap.basic_link_beta_for_involution(d1, d2, 2); return d1; } @@ -56,11 +56,11 @@ namespace CGAL { for ( unsigned int nb=1; nb(prev, cur); + amap.basic_link_beta_1(prev, cur); prev=cur; } - amap.template basic_link_beta<1>(prev, start); + amap.basic_link_beta_1(prev, start); return start; } @@ -80,12 +80,12 @@ namespace CGAL { typename Map::Dart_handle d3, typename Map::Dart_handle d4) { - amap.basic_link_beta(d1, d2, 2); - amap.basic_link_beta(d3, d2->beta(0), 2); - amap.basic_link_beta(d1->beta(1), d3->beta(0), 2); - amap.basic_link_beta(d4, d2->beta(1), 2); - amap.basic_link_beta(d4->beta(0), d3->beta(1), 2); - amap.basic_link_beta(d4->beta(1), d1->beta(0), 2); + amap.basic_link_beta_for_involution(d1, d2, 2); + amap.basic_link_beta_for_involution(d3, d2->beta(0), 2); + amap.basic_link_beta_for_involution(d1->beta(1), d3->beta(0), 2); + amap.basic_link_beta_for_involution(d4, d2->beta(1), 2); + amap.basic_link_beta_for_involution(d4->beta(0), d3->beta(1), 2); + amap.basic_link_beta_for_involution(d4->beta(1), d1->beta(0), 2); return d1; } @@ -125,21 +125,33 @@ namespace CGAL { typename Map::Dart_handle d5, typename Map::Dart_handle d6) { - amap.basic_link_beta(d1, d4->beta(1)->beta(1), 2); - amap.basic_link_beta(d1->beta(1), d6->beta(0) , 2); - amap.basic_link_beta(d1->beta(1)->beta(1), d2 , 2); - amap.basic_link_beta(d1->beta(0), d5 , 2); + amap.basic_link_beta_for_involution(d1, + d4->beta(1)->beta(1), 2); + amap.basic_link_beta_for_involution(d1->beta(1), + d6->beta(0) , 2); + amap.basic_link_beta_for_involution(d1->beta(1)->beta(1), + d2 , 2); + amap.basic_link_beta_for_involution(d1->beta(0), + d5 , 2); - amap.basic_link_beta(d3, d2->beta(1)->beta(1), 2); - amap.basic_link_beta(d3->beta(1), d6->beta(1) , 2); - amap.basic_link_beta(d3->beta(1)->beta(1), d4 , 2); - amap.basic_link_beta(d3->beta(0), d5->beta(1)->beta(1), 2); + amap.basic_link_beta_for_involution(d3, + d2->beta(1)->beta(1), 2); + amap.basic_link_beta_for_involution(d3->beta(1), + d6->beta(1) , 2); + amap.basic_link_beta_for_involution(d3->beta(1)->beta(1), + d4 , 2); + amap.basic_link_beta_for_involution(d3->beta(0), + d5->beta(1)->beta(1), 2); - amap.basic_link_beta(d6, d4->beta(1) , 2); - amap.basic_link_beta(d6->beta(1)->beta(1), d2->beta(1) , 2); + amap.basic_link_beta_for_involution(d6, + d4->beta(1) , 2); + amap.basic_link_beta_for_involution(d6->beta(1)->beta(1), + d2->beta(1) , 2); - amap.basic_link_beta(d5->beta(0), d4->beta(0) , 2); - amap.basic_link_beta(d5->beta(1), d2->beta(0) , 2); + amap.basic_link_beta_for_involution(d5->beta(0), + d4->beta(0) , 2); + amap.basic_link_beta_for_involution(d5->beta(1), + d2->beta(0) , 2); return d1; } diff --git a/Combinatorial_map/include/CGAL/Combinatorial_map_iterators_base.h b/Combinatorial_map/include/CGAL/Combinatorial_map_iterators_base.h index bc8f54ac4fc..a3a733dc85e 100644 --- a/Combinatorial_map/include/CGAL/Combinatorial_map_iterators_base.h +++ b/Combinatorial_map/include/CGAL/Combinatorial_map_iterators_base.h @@ -128,8 +128,8 @@ namespace CGAL { Self& operator--() { return *this; } /// operator -- in private to invalidate the base operator. - void operator--(int) - {} + Self operator--(int) + { return *this; } protected: /// test if adart->beta(ai) exists and is not marked for amark @@ -388,8 +388,8 @@ namespace CGAL { using Base::operator++; /// Postfix ++ operator. - void operator++(int) - { operator ++(); } + Self operator++(int) + { Self res=*this; operator ++(); return res; } protected: /// Unmark all the marked darts during the iterator. diff --git a/Combinatorial_map/include/CGAL/Combinatorial_map_operations.h b/Combinatorial_map/include/CGAL/Combinatorial_map_operations.h index 21cb39a7dd7..6457c94fa49 100644 --- a/Combinatorial_map/include/CGAL/Combinatorial_map_operations.h +++ b/Combinatorial_map/include/CGAL/Combinatorial_map_operations.h @@ -84,22 +84,22 @@ namespace CGAL { if (!cur->is_free(0)) { n1 = amap.create_dart(); - amap.template link_beta<0>(cur, n1); + amap.link_beta_0(cur, n1); } else n1 = NULL; if (!cur->is_free(1)) { n2 = amap.create_dart(); - amap.template link_beta<1>(cur, n2); + amap.link_beta_1(cur, n2); } else n2 = NULL; if (n1 != NULL && n2 != NULL) - amap.template link_beta<0>(n1, n2); + amap.link_beta_0(n1, n2); if (n1 != NULL && prev != NULL) - amap.link_beta(prev, n1, 2); + amap.link_beta_for_involution(prev, n1, 2); for (unsigned int dim=3; dim<=Map::dimension; ++dim) { @@ -110,24 +110,24 @@ namespace CGAL { if (n1!=NULL) { nn1=amap.create_dart(); - amap.template link_beta<1>(cur->beta(dim), nn1); - amap.link_beta(n1, nn1, dim); + amap.link_beta_1(cur->beta(dim), nn1); + amap.link_beta_for_involution(n1, nn1, dim); } else nn1=NULL; if (n2!=NULL) { nn2=amap.create_dart(); - amap.template link_beta<0>(cur->beta(dim), nn2); - amap.link_beta(n2, nn2, dim); + amap.link_beta_0(cur->beta(dim), nn2); + amap.link_beta_for_involution(n2, nn2, dim); } else nn2=NULL; if (nn1 != NULL && nn2 != NULL) - amap.template basic_link_beta<1>(nn1, nn2); + amap.basic_link_beta_1(nn1, nn2); if (nn1 != NULL && prev != NULL) - amap.link_beta(nn1, prev->beta(dim), 2); + amap.link_beta_for_involution(nn1, prev->beta(dim), 2); amap.mark(cur->beta(dim), treated); tounmark.push(cur->beta(dim)); @@ -135,9 +135,9 @@ namespace CGAL { else { if ( n1!=NULL ) - amap.link_beta(n1, cur->beta(dim)->beta(1), dim); + amap.link_beta_for_involution(n1, cur->beta(dim)->beta(1), dim); if ( n2!=NULL ) - amap.link_beta(n2, cur->beta(dim)->beta(0), dim); + amap.link_beta_for_involution(n2, cur->beta(dim)->beta(0), dim); } } } @@ -147,12 +147,12 @@ namespace CGAL { if (n2 != NULL) { - amap.link_beta(first->beta(0), n2, 2); + amap.link_beta_for_involution(first->beta(0), n2, 2); for (unsigned int dim=3; dim<=Map::dimension; ++dim) { if ( !adart->is_free(dim) ) { - amap.link_beta(first->beta(0)->beta(dim), n2->beta(dim), 2); + amap.link_beta_for_involution(first->beta(0)->beta(dim), n2->beta(dim), 2); } } } @@ -282,7 +282,8 @@ namespace CGAL { { if ( !d1->is_free(i) ) { - todegroup.push(Dart_pair(d1, d1->beta(i))); + if ( !amap.is_marked(d1->beta(i), mark) ) + todegroup.push(Dart_pair(d1, d1->beta(i))); d1->unlink_beta(i); } } @@ -291,7 +292,8 @@ namespace CGAL { { if ( !d2->is_free(CGAL_BETAINV(i)) ) { - todegroup.push(Dart_pair(d2, d2->beta_inv(i))); + if ( !amap.is_marked(d2->beta_inv(i), mark) ) + todegroup.push(Dart_pair(d2, d2->beta_inv(i))); d2->unlink_beta(CGAL_BETAINV(i)); } } @@ -301,7 +303,8 @@ namespace CGAL { d1 = (*it)->beta(i); if ( !d1->is_free(CGAL_BETAINV(i)) ) { - todegroup.push(Dart_pair(d1, d1->beta_inv(i))); + if ( !amap.is_marked(d1->beta_inv(i), mark)) + todegroup.push(Dart_pair(d1, d1->beta_inv(i))); d1->unlink_beta(CGAL_BETAINV(i)); } } @@ -372,7 +375,7 @@ namespace CGAL { if ( !(*it)->is_free(Map::dimension) ) { todegroup.push(Dart_pair(*it, (*it)->beta(Map::dimension))); - amap.unlink_beta(*it,Map::dimension); + amap.unlink_beta_for_involution(*it,Map::dimension); } } @@ -607,8 +610,6 @@ namespace CGAL { if (!(*it)->is_free(1)) { amap.template basic_link_beta<1>(d1, (*it)->beta(1)); } - - amap.template link_beta<1>(*it, d1); for ( unsigned int dim = 2; dim<=Map::dimension; ++dim ) { @@ -618,7 +619,10 @@ namespace CGAL { amap.basic_link_beta(*it, (*it)->beta(dim)->beta(1), dim); } } - + + amap.template basic_link_beta<1>(*it, d1); + amap.group_all_dart_attributes_except(*it, d1, 1); + amap.mark(*it, mark); } @@ -628,8 +632,6 @@ namespace CGAL { amap.free_mark(mark); amap.template degroup_attribute<1>(adart, adart->beta(1)); - - // CGAL_postcondition(amap.is_valid()); return adart->beta(1); } @@ -689,16 +691,17 @@ namespace CGAL { amap.template basic_link_beta<1>(d1,d2); } - amap.link_beta(d1, d2, 2); + amap.link_beta_for_involution(d1, d2, 2); for ( unsigned int dim=3; dim<=Map::dimension; ++dim) { if ( !it1->is_free(dim) && amap.is_marked(it1->beta(dim), treated) ) { - amap.basic_link_beta(it1->beta(dim)->beta_inv(s1), d1, dim); - amap.basic_link_beta(it1->beta(dim)->beta_inv(s1)->beta(2), - d2, dim); + amap.basic_link_beta_for_involution(it1->beta(dim)->beta_inv(s1), d1, + dim); + amap.basic_link_beta_for_involution + (it1->beta(dim)->beta_inv(s1)->beta(2), d2, dim); } } @@ -778,36 +781,37 @@ namespace CGAL { if ( !it1->is_free(s1) ) { - if ( s1==0 ) amap.template basic_link_beta<1>(it1->beta(0), d2); - else amap.template link_beta<0>(it1->beta(1), d2); + if ( s1==0 ) amap.basic_link_beta_1(it1->beta(0), d2); + else amap.link_beta_0(it1->beta(1), d2); } if ( !it2->is_free(s1) ) { - if ( s1==0 ) amap.template basic_link_beta<1>(it2->beta(0), d1); - else amap.template link_beta<0>(it2->beta(1), d1); + if ( s1==0 ) amap.basic_link_beta_1(it2->beta(0), d1); + else amap.link_beta_0(it2->beta(1), d1); } if ( s1==0 ) { - amap.template link_beta<0>(it1, d1); - amap.template link_beta<0>(it2, d2); + amap.link_beta_0(it1, d1); + amap.link_beta_0(it2, d2); } else { - amap.template basic_link_beta<1>(it1, d1); - amap.template basic_link_beta<1>(it2, d2); + amap.basic_link_beta_1(it1, d1); + amap.basic_link_beta_1(it2, d2); } - amap.link_beta(d2, d1, 2); + amap.link_beta_for_involution(d2, d1, 2); for ( unsigned int dim=3; dim<=CMap::dimension; ++dim) { if ( !it1->is_free(dim) && amap.is_marked(it1->beta(dim), treated) ) { - amap.basic_link_beta(it1->beta(dim)->beta_inv(s1), d1, dim); - amap.basic_link_beta(it1->beta(dim)->beta_inv(s1)->beta(2), - d2, dim); + amap.basic_link_beta_for_involution + (it1->beta(dim)->beta_inv(s1), d1, dim); + amap.basic_link_beta_for_involution + (it1->beta(dim)->beta_inv(s1)->beta(2), d2, dim); } } @@ -875,7 +879,7 @@ namespace CGAL { if (withBeta3) { dd = amap.create_dart(); - amap.basic_link_beta(d, dd, 3); + amap.basic_link_beta_for_involution(d, dd, 3); } if (prec != NULL) @@ -886,9 +890,9 @@ namespace CGAL { else first = d; if (!(*it)->is_free(2)) - amap.link_beta((*it)->beta(2), dd, 2); + amap.link_beta_for_involution((*it)->beta(2), dd, 2); - amap.link_beta(*it, d, 2); + amap.link_beta_for_involution(*it, d, 2); prec = d; } @@ -911,19 +915,19 @@ namespace CGAL { it.cont(); ++it ) { d = amap.create_dart(); - amap.link_beta(it->beta(2),d,dim); + amap.link_beta_for_involution(it->beta(2),d,dim); if ( withBeta3 ) { dd = amap.create_dart(); - amap.link_beta(it->beta(2)->beta(3),dd,dim); - amap.basic_link_beta(d, dd, 3); + amap.link_beta_for_involution(it->beta(2)->beta(3),dd,dim); + amap.basic_link_beta_for_involution(d, dd, 3); } if ( prec!=NULL ) { - amap.template link_beta<0>(prec,d); + amap.link_beta_0(prec,d); if ( withBeta3 ) { - amap.template link_beta<1>(prec->beta(3),dd); + amap.link_beta_1(prec->beta(3),dd); } } else first2 = prec; @@ -934,11 +938,12 @@ namespace CGAL { { if ( !it->is_free(dim2) && it->beta(dim2)->is_free(dim) ) - amap.basic_link_beta(it->beta(dim2)->beta(dim), d, dim2); + amap.basic_link_beta_for_involution(it->beta(dim2)->beta(dim), + d, dim2); if ( withBeta3 && !it->beta(3)->is_free(dim2) && it->beta(3)->beta(dim2)->is_free(dim) ) - amap.basic_link_beta(it->beta(3)->beta(dim2)->beta(dim), - dd, dim2); + amap.basic_link_beta_for_involution + (it->beta(3)->beta(dim2)->beta(dim), dd, dim2); } } prec = d; diff --git a/Combinatorial_map/include/CGAL/Dart.h b/Combinatorial_map/include/CGAL/Dart.h index cba87c1d3b3..6deaac48151 100644 --- a/Combinatorial_map/include/CGAL/Dart.h +++ b/Combinatorial_map/include/CGAL/Dart.h @@ -67,15 +67,9 @@ namespace CGAL { template friend struct Remove_cell_functor; - template - friend struct internal::basic_link_beta_functor; - template friend struct internal::link_beta_functor; - template - friend struct internal::unlink_beta_functor; - public: typedef Dart Self; typedef typename Refs::Dart_handle Dart_handle; diff --git a/Combinatorial_map/include/CGAL/Dart_iterators.h b/Combinatorial_map/include/CGAL/Dart_iterators.h index 8f59b9a7ad3..3acc93c54bf 100644 --- a/Combinatorial_map/include/CGAL/Dart_iterators.h +++ b/Combinatorial_map/include/CGAL/Dart_iterators.h @@ -1891,8 +1891,8 @@ namespace CGAL { Base(amap, adart), mmark_number(amark) { - CGAL_static_assertion( d>=3 && d<=Map::dimension ); - CGAL_static_assertion( i>=3 && i<=Map::dimension ); + CGAL_assertion( d>=3 && d<=Map::dimension ); + CGAL_assertion( i>=3 && i<=Map::dimension ); if (adart!=NULL) this->mmap->mark(adart, mmark_number); } @@ -1913,7 +1913,7 @@ namespace CGAL { Dart_handle nd = NULL; - for ( unsigned int k=0; k<2; ++k ) + for ( int k=0; k<2; ++k ) { if ( this->is_unmarked((*this), k, mmark_number) ) { @@ -1932,7 +1932,7 @@ namespace CGAL { } } - for ( unsigned int k=2; k<=d; ++k ) + for ( int k=2; k<=d; ++k ) { if ( k!=i-1 && k!=i && k!=i+1 && this->is_unmarked((*this), k, mmark_number) ) @@ -2011,7 +2011,7 @@ namespace CGAL { Base(amap, adart), mmark_number(amark) { - CGAL_static_assertion( i>=3 && i<=Map::dimension ); + CGAL_assertion( i>=3 && i<=Map::dimension ); if (adart!=NULL) this->mmap->mark(adart, mmark_number); } @@ -2050,7 +2050,7 @@ namespace CGAL { } } } - for ( unsigned int k=2; k<=d; ++k ) + for ( int k=2; k<=d; ++k ) { if ( k!=i-1 && k!=i && k!=i+1 && this->is_unmarked((*this), k, mmark_number) ) diff --git a/Combinatorial_map/include/CGAL/internal/Combinatorial_map_functors.h b/Combinatorial_map/include/CGAL/internal/Combinatorial_map_functors.h index 1189dc0c1da..b6712355f0c 100644 --- a/Combinatorial_map/include/CGAL/internal/Combinatorial_map_functors.h +++ b/Combinatorial_map/include/CGAL/internal/Combinatorial_map_functors.h @@ -42,520 +42,6 @@ namespace CGAL { int dim; }; - - /// Functor used to test if it is possible to i-sew two darts, - /// 2<=i<=dimension - template - struct is_sewable_functor{ - static bool run(const Map& amap, - typename Map::Dart_const_handle adart1, - typename Map::Dart_const_handle adart2) - { - CGAL_static_assertion(2<=i && i<=Map::dimension); - CGAL_assertion(adart1!=NULL && adart2!=NULL); - - if ( !adart1->is_free(i) || !adart2->is_free(i) || adart1==adart2 ) - return false; - - CMap_dart_const_iterator_of_involution I1(amap, adart1); - CMap_dart_const_iterator_of_involution_inv I2(amap, adart2); - bool res = true; - while (res && I1.cont() && I2.cont()) - { - // We can remove this constraint which is not required for - // combinatorial map definition, but which is quite "normal" - if ( I1==adart2 || I2==adart1 ) res=false; - - // Special case to consider beta0 and beta1 - if ( i>2 ) - { - if ( I1->is_free(0)!=I2->is_free(1) ) res = false; - else if ( I1->is_free(1)!=I2->is_free(0) ) res = false; - } - - // General case - for (unsigned int j=2;res && j<=Map::dimension; ++j) - { - if ( j+1!=i && j!=i && j!=i+1 && - I1->is_free(j)!=I2->is_free(j) ) - { res = false; } - } - ++I1; ++I2; - } - if (I1.cont() != I2.cont()) - res = false; - - return res; - } - }; - - /// Functor used to test if it is possible to 1-sew two darts. - template - struct is_sewable_functor{ - static bool run(const Map& amap, - typename Map::Dart_const_handle adart1, - typename Map::Dart_const_handle adart2) - { - CGAL_assertion(adart1!=NULL && adart2!=NULL); - - if ( !adart1->is_free(1) || !adart2->is_free(0) ) - return false; - - if ( adart1 == adart2 ) return true; - - CMap_dart_const_iterator_of_involution I1(amap, adart1); - CMap_dart_const_iterator_of_involution_inv I2(amap, adart2); - bool res = true; - while (res && I1.cont() && I2.cont()) - { - // We can remove this constraint which is not required for - // combinatorial map definition, but which imposes quite "normal" - // configurations - if ( I1==adart2 || I2==adart1 ) res=false; - - for (unsigned int j=3;res && j<=Map::dimension; ++j) - { - if ( I1->is_free(j)!=I2->is_free(j) ) - { - res = false; - } - } - ++I1; ++I2; - } - if (I1.cont() != I2.cont()) - res = false; - - return res; - } - }; - - /// Functor used to test if it is possible to 0-sew two darts. - template - struct is_sewable_functor{ - static bool run(const Map& amap, - typename Map::Dart_const_handle adart1, - typename Map::Dart_const_handle adart2) - { return is_sewable_functor::run(amap,adart2,adart1); } - }; - - /// Functor used to i-topo_sew two darts, 2<=i<=dimension. - template - struct topo_sew_functor{ - static void run(Map& amap,typename Map::Dart_handle adart1, - typename Map::Dart_handle adart2) - { - CGAL_static_assertion(2<=i && i<=Map::dimension); - CGAL_assertion( (is_sewable_functor::run(amap,adart1,adart2)) ); - - CMap_dart_iterator_of_involution I1(amap, adart1); - CMap_dart_iterator_of_involution_inv I2(amap, adart2); - while ( I1.cont() ) - { - amap.basic_link_beta(I1, I2, i); - ++I1; ++I2; - } - } - }; - - /// Functor used to 1-topo_sew two darts. - template - struct topo_sew_functor{ - static void run(Map& amap,typename Map::Dart_handle adart1, - typename Map::Dart_handle adart2) - { - CGAL_assertion( (is_sewable_functor::run(amap,adart1,adart2)) ); - - int mark = amap.get_new_mark(); - std::vector dartv; - for (CMap_dart_iterator_basic_of_cell it(amap,adart1,mark); - it.cont(); ++it) - { - amap.mark(*it,mark); - dartv.push_back(*it); - } - - CMap_dart_iterator_of_involution I1(amap, adart1); - CMap_dart_iterator_of_involution_inv I2(amap, adart2); - while ( I1.cont() ) - { - if ( amap.is_marked(*I1,mark) ) - amap.template basic_link_beta<1>(*I1, *I2); - else - amap.template basic_link_beta<0>(*I1, *I2); - ++I1; ++I2; - } - - for (typename std::vector::iterator - it=dartv.begin(); it!=dartv.end(); ++it) - { amap.unmark(*it,mark); } - CGAL_assertion( amap.is_whole_map_unmarked(mark) ); - amap.free_mark(mark); - } - }; - - /// Functor used to 0-topo_sew two darts. - template - struct topo_sew_functor{ - static void run(Map& amap,typename Map::Dart_handle adart1, - typename Map::Dart_handle adart2) - { topo_sew_functor::run(amap,adart2,adart1); } - }; - - /// Functor used to i-sew two darts, 2<=i<=dimension. - template - struct sew_functor{ - static void run(Map& amap,typename Map::Dart_handle adart1, - typename Map::Dart_handle adart2) - { - CGAL_static_assertion(2<=i && i<=Map::dimension); - CGAL_assertion( (is_sewable_functor::run(amap,adart1,adart2)) ); - - CMap_dart_iterator_of_involution I1(amap, adart1); - CMap_dart_iterator_of_involution_inv I2(amap, adart2); - while ( I1.cont() ) - { - amap.group_all_attributes_except(I1,I2,i); - ++I1; ++I2; - } - - I1.rewind(); I2.rewind(); - while ( I1.cont() ) - { - amap.basic_link_beta(I1, I2, i); - ++I1; ++I2; - } - } - }; - - /// Functor used to 0-sew two darts. - template - struct sew_functor{ - static void run(Map& amap,typename Map::Dart_handle adart1, - typename Map::Dart_handle adart2) - { - CGAL_assertion( (is_sewable_functor::run(amap,adart1,adart2)) ); - - int mark = amap.get_new_mark(); - std::vector dartv; - for (CMap_dart_iterator_basic_of_cell it(amap,adart1,mark); - it.cont(); ++it) - { - amap.mark(it,mark); - dartv.push_back(it); - } - - CMap_dart_iterator_of_involution I1(amap, adart1); - CMap_dart_iterator_of_involution_inv I2(amap, adart2); - while ( I1.cont() ) - { - typename Map::Dart_handle od1=I1->other_extremity(); - typename Map::Dart_handle od2=I2->other_extremity(); - if (od1!=NULL && od2!=NULL) - amap.group_all_attributes_except(od1, od2, 1); - ++I1; ++I2; - } - - I1.rewind(); I2.rewind(); - while ( I1.cont() ) - { - if ( amap.is_marked(I1,mark) ) - amap.template basic_link_beta<0>(I1, I2); - else - amap.template basic_link_beta<1>(I1, I2); - ++I1; ++I2; - } - - for (typename std::vector::iterator - it=dartv.begin(); it!=dartv.end(); ++it) - { amap.unmark(*it,mark); } - CGAL_assertion( amap.is_whole_map_unmarked(mark) ); - amap.free_mark(mark); - } - }; - - /// Functor used to 1-sew two darts. - template - struct sew_functor{ - static void run(Map& amap,typename Map::Dart_handle adart1, - typename Map::Dart_handle adart2) - { - CGAL_assertion( (is_sewable_functor::run(amap,adart1,adart2)) ); - int mark = amap.get_new_mark(); - std::vector dartv; - for (CMap_dart_iterator_basic_of_cell it(amap,adart1,mark); - it.cont(); ++it) - { - amap.mark(it,mark); - dartv.push_back(it); - } - - CMap_dart_iterator_of_involution I1(amap, adart1); - CMap_dart_iterator_of_involution_inv I2(amap, adart2); - while ( I1.cont() ) - { - amap.group_all_attributes_except(I1,I2,1); - ++I1; ++I2; - } - - I1.rewind(); I2.rewind(); - while ( I1.cont() ) - { - if ( amap.is_marked(I1,mark) ) - amap.template basic_link_beta<1>(I1, I2); - else - amap.template basic_link_beta<0>(I1, I2); - ++I1; ++I2; - } - - for (typename std::vector::iterator - it=dartv.begin(); it!=dartv.end(); ++it) - { amap.unmark(*it,mark); } - CGAL_assertion( amap.is_whole_map_unmarked(mark) ); - amap.free_mark(mark); - } - }; - - /// Functor used to i-topo_unsew one dart, 2<=i<=dimension. - template - struct topo_unsew_functor{ - static void run(Map& amap,typename Map::Dart_handle adart) - { - CGAL_assertion( adart!=NULL && !adart->is_free(i) ); - CGAL_static_assertion(2<=i && i<=Map::dimension); - - CMap_dart_iterator_of_involution it(amap, adart); - while ( it.cont() ) - { - amap.unlink_beta(*it, i); - ++it; - } - } - }; - - /// Functor used to 1-topo_unsew one dart. - template - struct topo_unsew_functor{ - static void run(Map& amap,typename Map::Dart_handle adart) - { - CGAL_assertion( adart!=NULL && !adart->is_free(1) ); - - int mark = amap.get_new_mark(); - std::vector dartv; - for (CMap_dart_iterator_basic_of_cell it(amap,adart,mark); - it.cont(); ++it) - { - amap.mark(*it,mark); - dartv.push_back(*it); - } - - { - CMap_dart_iterator_of_involution it(amap, adart); - while ( it.cont() ) - { - if ( amap.is_marked(*it,mark) ) amap.unlink_beta<1>(*it); - else amap.unlink_beta<0>(*it); - ++it; - } - } - - for (typename std::vector::iterator - it=dartv.begin(); it!=dartv.end(); ++it) - { amap.unmark(*it,mark); } - CGAL_assertion( amap.is_whole_map_unmarked(mark) ); - amap.free_mark(mark); - } - }; - - /// Functor used to 1-topo_unsew one dart. - template - struct topo_unsew_functor{ - static void run(Map& amap,typename Map::Dart_handle adart) - { - CGAL_assertion( adart!=NULL && !adart->is_free(0) ); - topo_unsew_functor::run(adart->beta(0)); - } - }; - - /// Functor used to i-unsew one dart, 2<=i<=dimension. - template - struct unsew_functor{ - static void run(Map& amap,typename Map::Dart_handle adart) - { - CGAL_static_assertion(2<=i && i<=Map::dimension); - CGAL_assertion( adart!=NULL && !adart->is_free(i) ); - - std::stack > todegroup; - - CMap_dart_iterator_of_involution it(amap, adart); - while ( it.cont() ) - { - todegroup.push(Couple_dart_and_dim - (it,it->beta(i),i)); - amap.unlink_beta(it, i); - ++it; - } - - while (!todegroup.empty() ) - { - Couple_dart_and_dim c=todegroup.top(); - todegroup.pop(); - amap.degroup_all_attributes_except(c.d1,c.d2,c.dim); - } - } - }; - - /// Functor used to 1-unsew one dart. - template - struct unsew_functor{ - static void run(Map& amap,typename Map::Dart_handle adart) - { - CGAL_assertion( adart!=NULL && !adart->is_free(1) ); - typename Map::Dart_handle d2 = NULL; - - int mark = amap.get_new_mark(); - std::vector dartv; - for (CMap_dart_iterator_basic_of_cell it(amap,adart,mark); - it.cont(); ++it) - { - amap.mark(it,mark); - dartv.push_back(it); - } - - { - CMap_dart_iterator_of_involution it(amap, adart); - while ( it.cont() ) - { - if ( amap.is_marked(it,mark) ) - { d2 = it->beta(1); amap.template unlink_beta<1>(it); } - else - { d2 = it->beta(0); amap.template unlink_beta<0>(it); } - amap.degroup_all_attributes_except(it,d2,1); - ++it; - } - } - - for (typename std::vector::iterator - it=dartv.begin(); it!=dartv.end(); ++it) - { amap.unmark(*it,mark); } - CGAL_assertion( amap.is_whole_map_unmarked(mark) ); - amap.free_mark(mark); - } - }; - - /// Functor used to 0-unsew one dart. - template - struct unsew_functor{ - static void run(Map& amap,typename Map::Dart_handle adart) - { - CGAL_assertion( adart!=NULL && !adart->is_free(0) ); - typename Map::Dart_handle d2 = NULL; - - int mark = amap.get_new_mark(); - std::vector dartv; - for (CMap_dart_iterator_basic_of_cell it(amap,adart,mark); - it.cont(); ++it) - { - amap.mark(it,mark); - dartv.push_back(it); - } - - { - CMap_dart_iterator_of_involution it(amap, adart); - while ( it.cont() ) - { - if ( amap.is_marked(it,mark) ) - { d2 = it->beta(0); amap.template unlink_beta<0>(it); } - else - { d2 = it->beta(1); amap.template unlink_beta<1>(it); } - - typename Map::Dart_handle od1=it->other_extremity(); - typename Map::Dart_handle od2=d2->other_extremity(); - if ( od1!=NULL && od2!=NULL ) - amap.degroup_all_attributes_except(od1,od2,1); - - ++it; - } - } - - for (typename std::vector::iterator - it=dartv.begin(); it!=dartv.end(); ++it) - { amap.unmark(*it,mark); } - CGAL_assertion( amap.is_whole_map_unmarked(mark) ); - amap.free_mark(mark); - } - }; - - /// Functor used to i-link two darts, 2<=i<=dimension. - template - struct basic_link_beta_functor{ - static void run(Map&,typename Map::Dart_handle adart1, - typename Map::Dart_handle adart2) - { - CGAL_assertion(adart1 != NULL && adart2 != NULL && adart1!=adart2); - CGAL_static_assertion( i>=2 && i<=Map::dimension ); - adart1->basic_link_beta(adart2, i); - adart2->basic_link_beta(adart1, i); - } - }; - - /// Functor used to 0-link two darts. - template - struct basic_link_beta_functor{ - static void run(Map&,typename Map::Dart_handle adart1, - typename Map::Dart_handle adart2) - { - CGAL_assertion(adart1 != NULL && adart2 != NULL ); - adart1->basic_link_beta(adart2, 0); - adart2->basic_link_beta(adart1, 1); - } - }; - - /// Functor used to 1-link two darts. - template - struct basic_link_beta_functor{ - static void run(Map& ,typename Map::Dart_handle adart1, - typename Map::Dart_handle adart2) - { - CGAL_assertion(adart1 != NULL && adart2 != NULL); - adart1->basic_link_beta(adart2, 1); - adart2->basic_link_beta(adart1, 0); - } - }; - - /// Functor used to i-unlink one dart. - template - struct unlink_beta_functor{ - static void run(Map&,typename Map::Dart_handle adart) - { - CGAL_assertion(adart != NULL && !adart->is_free(i)); - CGAL_static_assertion(2<=i && i<=Map::dimension); - adart->beta(i)->unlink_beta(i); - adart->unlink_beta(i); - } - }; - - /// Functor used to 0-unlink one dart. - template - struct unlink_beta_functor{ - static void run(Map&,typename Map::Dart_handle adart) - { - CGAL_assertion(adart != NULL && !adart->is_free(0)); - adart->beta(0)->unlink_beta(1); - adart->unlink_beta(0); - } - }; - - /// Functor used to 1-unlink one dart. - template - struct unlink_beta_functor{ - static void run(Map&,typename Map::Dart_handle adart) - { - CGAL_assertion(adart != NULL && !adart->is_free(1)); - adart->beta(1)->unlink_beta(0); - adart->unlink_beta(1); - } - }; - // Functor used to group one attribute of two given darts template struct Group_one_attribute_functor @@ -855,7 +341,7 @@ namespace CGAL { { CGAL_assertion( adim==-1 || (0<=adim && (unsigned int)adim<=CMap::dimension) ); - + // todo ASSERT (1<=adim && ...) ??? if ( adim!=0 ) { typename CMap::Dart_handle od = dh1->other_extremity(); @@ -897,49 +383,6 @@ namespace CGAL { } }; - /// Functor used to i-link two darts, 2<=i<=dimension. - template - struct link_beta_functor{ - static void run(CMap& amap,typename CMap::Dart_handle adart1, - typename CMap::Dart_handle adart2) - { - CGAL_assertion(adart1 != NULL && adart2 != NULL && adart1!=adart2 ); - CGAL_static_assertion( 2<=i && i<=CMap::dimension ); - adart1->basic_link_beta(adart2, i); - adart2->basic_link_beta(adart1, i); - CMap::Helper::template Foreach_enabled_attributes - >::run(&amap,adart1,adart2,i); - } - }; - - /// Functor used to 0-link two darts. - template - struct link_beta_functor{ - static void run(Map& amap,typename Map::Dart_handle adart1, - typename Map::Dart_handle adart2) - { - CGAL_assertion(adart1 != NULL && adart2 != NULL); - adart1->basic_link_beta(adart2,0); - adart2->basic_link_beta(adart1, 1); - Map::Helper::template Foreach_enabled_attributes - >::run(&amap,adart1,adart2,0); - } - }; - - /// Functor used to 1-link two darts. - template - struct link_beta_functor{ - static void run(Map& amap,typename Map::Dart_handle adart1, - typename Map::Dart_handle adart2) - { - CGAL_assertion(adart1 != NULL && adart2 != NULL); - adart1->basic_link_beta(adart2,1); - adart2->basic_link_beta(adart1,0); - Map::Helper::template Foreach_enabled_attributes - >::run(&amap,adart1,adart2,1); - } - }; - // Functor used to call the On_split functor between the two given darts. templatepoint().hx() > 0) @@ -138,7 +138,7 @@ void convex_decomposition_3(Nef_polyhedron& N) } } - i=0; + // i=0; for(prei=res2.positive_redges_begin(); prei!=res2.positive_redges_end(); ++prei) { Halfedge_handle e = (*prei); Single_wall W(e,Vector_3(1,0,0)); diff --git a/Developers_manual/doc_tex/Developers_manual/chapters.tex b/Developers_manual/doc_tex/Developers_manual/chapters.tex index 873923bc826..8c0f9af88a0 100644 --- a/Developers_manual/doc_tex/Developers_manual/chapters.tex +++ b/Developers_manual/doc_tex/Developers_manual/chapters.tex @@ -41,6 +41,6 @@ \include{Developers_manual/submission_process} \InternalOnly{ \include{Developers_manual/releases} -\include{Developers_manual/addresses} +%\include{Developers_manual/addresses} } \include{Developers_manual/information_sources} diff --git a/Developers_manual/doc_tex/Developers_manual/code_format.tex b/Developers_manual/doc_tex/Developers_manual/code_format.tex index 5c21924982b..dfd7d608a6d 100644 --- a/Developers_manual/doc_tex/Developers_manual/code_format.tex +++ b/Developers_manual/doc_tex/Developers_manual/code_format.tex @@ -338,6 +338,32 @@ The first list of items are meant as rules, \ie,~you should follow them. ... #endif // CGAL_THIS_IS_AN_EXAMPLE_H \end{verbatim} + \item Support the + \ccAnchor{http://www.boost.org/doc/libs/release/libs/utility/utility.htm#result_of}{result\_of} + protocol whenever your functors have more than one return type + otherwise provide a \ccStyle{result_type} member typedef. + + An example for this is a C++03 style \ccStyle{identity} + functor: + + \begin{cprog} + struct Identity { + template + T& operator()(T& t) { return t; } + template + const T& operator()(const T& t) { return t; } + template + struct result; + template + struct result { + typedef T& type; + }; + template + struct result { + typedef const T& type; + }; + }; + \end{cprog} \end{itemize} The following items can be seen as recommendations diff --git a/Distance_2/include/CGAL/squared_distance_2_1.h b/Distance_2/include/CGAL/squared_distance_2_1.h index 17590b17369..9851623ab28 100644 --- a/Distance_2/include/CGAL/squared_distance_2_1.h +++ b/Distance_2/include/CGAL/squared_distance_2_1.h @@ -32,10 +32,6 @@ #include -#include -#include -#include -#include #include #include #include diff --git a/Envelope_3/include/CGAL/Envelope_3/Envelope_divide_and_conquer_3.h b/Envelope_3/include/CGAL/Envelope_3/Envelope_divide_and_conquer_3.h index 42365004a72..c0f036d40a5 100644 --- a/Envelope_3/include/CGAL/Envelope_3/Envelope_divide_and_conquer_3.h +++ b/Envelope_3/include/CGAL/Envelope_3/Envelope_divide_and_conquer_3.h @@ -163,7 +163,7 @@ public: m_is_lower = ((type == ENVELOPE_LOWER) ? true : false); } - Envelope_divide_and_conquer_3(const Traits * geom_traits, + Envelope_divide_and_conquer_3(const Traits* geom_traits, Envelope_type type = ENVELOPE_LOWER) { // Set the traits. @@ -191,7 +191,7 @@ public: // dividor template void construct_lu_envelope(SurfaceIterator begin, SurfaceIterator end, - Minimization_diagram_2 &result) + Minimization_diagram_2& result) { Envelope_3::Arbitrary_dividor dividor; construct_lu_envelope(begin, end, result, dividor); @@ -201,7 +201,7 @@ public: // compute the envelope of surfaces in 3D using the given set dividor template void construct_lu_envelope(SurfaceIterator begin, SurfaceIterator end, - Minimization_diagram_2 &result, + Minimization_diagram_2& result, SetDividor& dividor) { if (begin == end) @@ -228,7 +228,7 @@ public: template void construct_envelope_xy_monotone(SurfaceIterator begin, SurfaceIterator end, - Minimization_diagram_2 &result) + Minimization_diagram_2& result) { Envelope_3::Arbitrary_dividor dividor; construct_envelope_xy_monotone(begin, end, result, dividor); @@ -239,7 +239,7 @@ public: template void construct_envelope_xy_monotone(SurfaceIterator begin, SurfaceIterator end, - Minimization_diagram_2 &result, + Minimization_diagram_2& result, SetDividor& dividor) { if (begin == end) @@ -251,7 +251,7 @@ public: } /*! Access the traits object. */ - const Traits * get_traits() const + const Traits* get_traits() const { return m_geom_traits; } @@ -267,7 +267,7 @@ protected: template void construct_lu_envelope_xy_monotones(SurfaceIterator begin, SurfaceIterator end, - Minimization_diagram_2 &result, + Minimization_diagram_2& result, SetDividor& dividor) { if (begin == end) @@ -324,8 +324,8 @@ protected: if (boundary.empty()) { //one infinite surface - CGAL_assertion_msg (result.number_of_faces() == 1, - "In the beginning there should be only one face"); + CGAL_assertion_msg(result.number_of_faces() == 1, + "In the beginning there should be only one face"); result.faces_begin()->set_data(surf); return; } @@ -539,16 +539,16 @@ public: // efficiency gain by the conclusion mechanism of // compare_distance_to_envelope results // Create a mapping of result faces to indices. - CGAL::Arr_face_index_map index_map (result); + CGAL::Arr_face_index_map index_map(result); // Perform breadth-first search from the unbounded face, and use the BFS // visitor to associate each arrangement face with its discover time. Faces_order_bfs_visitor > bfs_visitor(index_map, faces_to_split, this); Face_handle first_face = result.faces_begin(); - /*if (result.number_of_faces() > 1) - first_face = ++(result.faces_begin()); - */ + /* if (result.number_of_faces() > 1) + * first_face = ++(result.faces_begin()); + */ boost::breadth_first_search(Dual_Minimization_diagram_2(result), first_face, @@ -675,19 +675,15 @@ protected: // and split the face typename std::list::iterator li; for (li = faces_to_split.begin(); li != faces_to_split.end(); ++li) - { - resolver->resolve(*li, result); - - } faces_to_split.clear(); } template - bool is_equal_data(const InputIterator & begin1, - const InputIterator & end1, - const InputIterator & begin2, - const InputIterator & end2) + bool is_equal_data(const InputIterator& begin1, + const InputIterator& end1, + const InputIterator& begin2, + const InputIterator& end2) { // insert the input data objects into a set std::set first(begin1, end1); @@ -701,10 +697,10 @@ protected: // todo: should remove the uses of this method from this class template - bool has_equal_data(const InputIterator & begin1, - const InputIterator & end1, - const InputIterator & begin2, - const InputIterator & end2) + bool has_equal_data(const InputIterator& begin1, + const InputIterator& end1, + const InputIterator& begin2, + const InputIterator& end2) { // insert the input data objects into a set std::set first(begin1, end1); @@ -739,11 +735,8 @@ protected: for (; hi != result.halfedges_end(); ++hi, ++hi) { Halfedge_handle hh = hi; - if (can_remove_edge(hh)) - { edges.push_back(hh); - } } for (typename std::list::iterator ci = edges.begin(); @@ -752,8 +745,9 @@ protected: // if the endpoints become isolated after the removal we need to remove // them if they have the same data as the edge Halfedge_handle h = *ci; - Vertex_handle src = h->source(), trg = h->target(); - Face_handle h_face = h->face(); + Vertex_handle src = h->source(); + Vertex_handle trg = h->target(); + CGAL_assertion_code(Face_handle h_face = h->face()); bool remove_src = can_remove_edge_target(h->twin()); bool remove_trg = can_remove_edge_target(h); bool src_is_equal_0 = (h->twin()->get_is_equal_aux_data_in_face(0) && @@ -981,11 +975,11 @@ protected: CGAL_assertion(he1 != he2); CGAL_assertion(he1->is_decision_set() && he2->is_decision_set()); - /*if (vh->get_is_fake()) - { - CGAL_assertion(he1->get_decision() == he2->get_decision()); - return true; - }*/ + /* if (vh->get_is_fake()) { + * CGAL_assertion(he1->get_decision() == he2->get_decision()); + * return true; + * } + */ CGAL_assertion(vh->is_decision_set()); // if the decision done on the vertex and its incident halfedges are @@ -1112,12 +1106,14 @@ protected: (1, he1->twin()->get_has_equal_aux_data_in_target_and_face(1)); // order of halfedges for merge doesn't matter - Halfedge_handle new_edge = result.merge_edge(he1, he2 ,c); - +#if !defined(CGAL_NO_ASSERTIONS) + Halfedge_handle new_edge = +#endif + result.merge_edge(he1, he2 ,c); CGAL_assertion(new_edge->is_decision_set()); CGAL_expensive_assertion_msg(result.is_valid(), - "after remove vertex result is not valid"); + "after remove vertex result is not valid"); } // remove isolated vertices @@ -1168,16 +1164,12 @@ protected: // vertices Vertex_iterator vi = result.vertices_begin(); for (; vi != result.vertices_end(); ++vi) - { update_envelope_surfaces_by_decision(vi); - } // edges Halfedge_iterator hi = result.halfedges_begin(); for (; hi != result.halfedges_end(); ++hi) - { update_envelope_surfaces_by_decision(hi); - } // faces Face_iterator fi = result.faces_begin(); @@ -1513,9 +1505,9 @@ protected: for (; vi != result.vertices_end(); ++vi) { Vertex_handle vh = vi; - /*if (vh->get_is_fake()) - continue; - */ + /* if (vh->get_is_fake()) + * continue; + */ all_ok &= (vh->get_aux_is_set(0)); CGAL_assertion_msg(all_ok, "aux source (0) not set over vertex"); @@ -1530,7 +1522,7 @@ protected: { Halfedge_handle hh = hi; /* if (hh->get_is_fake()) - * continue; + * continue; */ all_ok &= (hh->get_aux_is_set(0)); @@ -1647,12 +1639,12 @@ protected: CGAL_assertion(base != NULL); } - /*virtual void before_split_edge (Halfedge_handle e, - Vertex_handle v, - const X_monotone_curve_2& c1, - const X_monotone_curve_2& c2) - { - }*/ + /* virtual void before_split_edge (Halfedge_handle e, + * Vertex_handle v, + * const X_monotone_curve_2& c1, + * const X_monotone_curve_2& c2) + * {} + */ virtual void after_split_edge(Halfedge_handle he1, Halfedge_handle he2) { @@ -1756,8 +1748,9 @@ protected: new_he->twin()->set_has_equal_aux_data_in_target_and_face (1, org_he->twin()->get_has_equal_aux_data_in_face(1)); } + protected: - Self *base; + Self* base; }; #ifdef CGAL_ENVELOPE_USE_BFS_FACE_ORDER @@ -1775,16 +1768,16 @@ protected: Overlay_2>::Self Self; protected: - const IndexMap *index_map; // Mapping vertices to indices + const IndexMap* index_map; // Mapping vertices to indices std::list& faces; // The ordered faces list - Self *base; + Self* base; public: // Constructor. Faces_order_bfs_visitor(const IndexMap& imap, std::list& f, Self* b) : - index_map (&imap), + index_map(&imap), faces(f), base(b) { @@ -1794,7 +1787,7 @@ protected: // Write the discover time for a given vertex. template - void discover_vertex (Vertex fh, const Graph& ) + void discover_vertex(Vertex fh, const Graph&) { // first we check if we can set the decision immediately // if a surface of one map doesn't exist, then we set the second surface @@ -1818,10 +1811,10 @@ protected: #endif protected: - Envelope_resolver *resolver; - const Traits * m_geom_traits; + Envelope_resolver* resolver; + const Traits* m_geom_traits; bool m_own_traits; - bool m_is_lower; + bool m_is_lower; }; } //namespace CGAL diff --git a/Filtered_kernel/include/CGAL/Lazy.h b/Filtered_kernel/include/CGAL/Lazy.h index 86ac1f0018e..c41589af468 100644 --- a/Filtered_kernel/include/CGAL/Lazy.h +++ b/Filtered_kernel/include/CGAL/Lazy.h @@ -38,6 +38,16 @@ # include #endif +#include + +#include +#include +#include +#include +#include +#include + + namespace CGAL { template class Lazy; @@ -98,7 +108,7 @@ CGAL_LAZY_FORWARD(Orientation) CGAL_LAZY_FORWARD(Bbox_2) CGAL_LAZY_FORWARD(Bbox_3) - +#undef CGAL_LAZY_FORWARD #ifdef CGAL_LAZY_KERNEL_DEBUG template @@ -208,10 +218,10 @@ public: mutable ET *et; Lazy_rep () - : at(), et(NULL) {} + : at(), et(NULL){} Lazy_rep (const AT& a) - : at(a), et(NULL) {} + : at(a), et(NULL){} Lazy_rep (const AT& a, const ET& e) : at(a), et(new ET(e)) {} @@ -270,7 +280,6 @@ public: //____________________________________________________________ // The rep for the leaf node -// FIXME TODO : Factorize all the Lazy_rep_[0-8] !!! template class Lazy_rep_0 : public Lazy_rep @@ -304,16 +313,25 @@ public: } }; +// Macro helpers to build the kernel objects +#define CGAL_TYPEMAP_AC(z, n, t) typedef typename Type_mapper< t##n, LK, AK >::type A##n; +#define CGAL_TYPEMAP_EC(z, n, t) typedef typename Type_mapper< t##n, LK, EK >::type E##n; +#define CGAL_LEXACT(z,n,t) CGAL::exact( l##n ) +#define CGAL_LARGS(z, n, t) L##n const& l##n + +#define CGAL_TMAP(z, n, d) typename Type_mapper< L##n, d##K, LK >::type +#define CGAL_PRUNE_TREE(z, n, d) l##n = L##n (); +#define CGAL_LINIT(z, n, d) l##n(l##n) +#define CGAL_LN(z, n, d) d(l##n) +#define CGAL_MLIST(z, n, d) mutable L##n l##n; //____________________________________________________________ -template +template class Lazy_rep_1 - : public Lazy_rep + : public Lazy_rep , private EC { - typedef typename AC::result_type AT; - typedef typename EC::result_type ET; typedef Lazy_rep Base; mutable L1 l1_; @@ -351,485 +369,34 @@ public: }; - -//____________________________________________________________ - -template -class Lazy_rep_2 - : public Lazy_rep - , private EC -{ - typedef typename AC::result_type AT; - typedef typename EC::result_type ET; - typedef Lazy_rep Base; - - mutable L1 l1_; - mutable L2 l2_; - - const EC& ec() const { return *this; } - -public: - - void - update_exact() const - { - this->et = new ET(ec()(CGAL::exact(l1_), CGAL::exact(l2_))); - this->at = E2A()(*(this->et)); - // Prune lazy tree - l1_ = L1(); - l2_ = L2(); - } - - Lazy_rep_2(const AC& ac, const EC& /*ec*/, const L1& l1, const L2& l2) - : Lazy_rep(ac(CGAL::approx(l1), CGAL::approx(l2))), - l1_(l1), l2_(l2) - { - this->set_depth(max_n(CGAL::depth(l1_), CGAL::depth(l2_)) + 1); - } - -#ifdef CGAL_LAZY_KERNEL_DEBUG - void - print_dag(std::ostream& os, int level) const - { - this->print_at_et(os, level); - if(this->is_lazy()){ - CGAL::msg(os, level, "DAG with two child nodes:"); - CGAL::print_dag(l1_, os, level+1); - CGAL::print_dag(l2_, os, level+1); - } - } -#endif +#define CGAL_LAZY_REP(z, n, d) \ + template< typename AT, typename ET, typename AC, typename EC, typename E2A, BOOST_PP_ENUM_PARAMS(n, typename L)> \ +class Lazy_rep_##n :public Lazy_rep< AT, \ + ET, \ + E2A >, \ + private EC \ +{ \ + BOOST_PP_REPEAT(n, CGAL_MLIST, _) \ + const EC& ec() const { return *this; } \ +public: \ + void update_exact() const { \ + this->et = new ET(ec()( BOOST_PP_ENUM(n, CGAL_LEXACT, _) ) ); \ + this->at = E2A()(*(this->et)); \ + BOOST_PP_REPEAT(n, CGAL_PRUNE_TREE, _) \ + } \ + Lazy_rep_##n(const AC& ac, const EC&, BOOST_PP_ENUM(n, CGAL_LARGS, _)) \ + : Lazy_rep(ac( BOOST_PP_ENUM(n, CGAL_LN, CGAL::approx) )), BOOST_PP_ENUM(n, CGAL_LINIT, _) \ + { this->set_depth(max_n( BOOST_PP_ENUM(n, CGAL_LN, CGAL::depth) ) + 1); } \ }; +BOOST_PP_REPEAT_FROM_TO(2, 9, CGAL_LAZY_REP, _) -//____________________________________________________________ - -template -class Lazy_rep_3 - : public Lazy_rep - , private EC -{ - typedef typename AC::result_type AT; - typedef typename EC::result_type ET; - typedef Lazy_rep Base; - - mutable L1 l1_; - mutable L2 l2_; - mutable L3 l3_; - - const EC& ec() const { return *this; } - -public: - - void - update_exact() const - { - this->et = new ET(ec()(CGAL::exact(l1_), CGAL::exact(l2_), - CGAL::exact(l3_))); - this->at = E2A()(*(this->et)); - // Prune lazy tree - l1_ = L1(); - l2_ = L2(); - l3_ = L3(); - } - - Lazy_rep_3(const AC& ac, const EC& /*ec*/, - const L1& l1, const L2& l2, const L3& l3) - : Lazy_rep(ac(CGAL::approx(l1), CGAL::approx(l2), - CGAL::approx(l3))), - l1_(l1), l2_(l2), l3_(l3) - { - this->set_depth(max_n(CGAL::depth(l1_), - CGAL::depth(l2_), - CGAL::depth(l3_)) + 1); - } - -#ifdef CGAL_LAZY_KERNEL_DEBUG - void - print_dag(std::ostream& os, int level) const - { - this->print_at_et(os, level); - if(this->is_lazy()){ - CGAL::msg(os, level, "DAG with three child nodes:"); - CGAL::print_dag(l1_, os, level+1); - CGAL::print_dag(l2_, os, level+1); - CGAL::print_dag(l3_, os, level+1); - } - } -#endif -}; - - -//____________________________________________________________ - -template -class Lazy_rep_4 - : public Lazy_rep - , private EC -{ - typedef typename AC::result_type AT; - typedef typename EC::result_type ET; - typedef Lazy_rep Base; - - mutable L1 l1_; - mutable L2 l2_; - mutable L3 l3_; - mutable L4 l4_; - - const EC& ec() const { return *this; } - -public: - - void - update_exact() const - { - this->et = new ET(ec()(CGAL::exact(l1_), CGAL::exact(l2_), - CGAL::exact(l3_), CGAL::exact(l4_))); - this->at = E2A()(*(this->et)); - // Prune lazy tree - l1_ = L1(); - l2_ = L2(); - l3_ = L3(); - l4_ = L4(); - } - - Lazy_rep_4(const AC& ac, const EC& /*ec*/, - const L1& l1, const L2& l2, const L3& l3, const L4& l4) - : Lazy_rep(ac(CGAL::approx(l1), CGAL::approx(l2), - CGAL::approx(l3), CGAL::approx(l4))), - l1_(l1), l2_(l2), l3_(l3), l4_(l4) - { - this->set_depth(max_n(CGAL::depth(l1_), - CGAL::depth(l2_), - CGAL::depth(l3_), - CGAL::depth(l4_)) + 1); - } - -#ifdef CGAL_LAZY_KERNEL_DEBUG - void - print_dag(std::ostream& os, int level) const - { - this->print_at_et(os, level); - - if(this->is_lazy()){ - CGAL::msg(os, level, "DAG with four child nodes:"); - CGAL::print_dag(l1_, os, level+1); - CGAL::print_dag(l2_, os, level+1); - CGAL::print_dag(l3_, os, level+1); - CGAL::print_dag(l4_, os, level+1); - } - } -#endif -}; - -//____________________________________________________________ - - -template -class Lazy_rep_5 - : public Lazy_rep - , private EC -{ - typedef typename AC::result_type AT; - typedef typename EC::result_type ET; - typedef Lazy_rep Base; - - mutable L1 l1_; - mutable L2 l2_; - mutable L3 l3_; - mutable L4 l4_; - mutable L5 l5_; - - const EC& ec() const { return *this; } - -public: - - void - update_exact() const - { - this->et = new ET(ec()(CGAL::exact(l1_), CGAL::exact(l2_), - CGAL::exact(l3_), CGAL::exact(l4_), - CGAL::exact(l5_))); - this->at = E2A()(*(this->et)); - // Prune lazy tree - l1_ = L1(); - l2_ = L2(); - l3_ = L3(); - l4_ = L4(); - l5_ = L5(); - } - - Lazy_rep_5(const AC& ac, const EC& /*ec*/, - const L1& l1, const L2& l2, const L3& l3, const L4& l4, - const L5& l5) - : Lazy_rep(ac(CGAL::approx(l1), CGAL::approx(l2), - CGAL::approx(l3), CGAL::approx(l4), - CGAL::approx(l5))), - l1_(l1), l2_(l2), l3_(l3), l4_(l4), l5_(l5) - { - this->set_depth(max_n(CGAL::depth(l1_), - CGAL::depth(l2_), - CGAL::depth(l3_), - CGAL::depth(l4_), - CGAL::depth(l5_)) + 1); - } - -#ifdef CGAL_LAZY_KERNEL_DEBUG - void - print_dag(std::ostream& os, int level) const - { - this->print_at_et(os, level); - - if(this->is_lazy()){ - CGAL::msg(os, level, "DAG with five child nodes:"); - CGAL::print_dag(l1_, os, level+1); - CGAL::print_dag(l2_, os, level+1); - CGAL::print_dag(l3_, os, level+1); - CGAL::print_dag(l4_, os, level+1); - CGAL::print_dag(l5_, os, level+1); - } - } -#endif -}; - -template -class Lazy_rep_6 - : public Lazy_rep - , private EC -{ - typedef typename AC::result_type AT; - typedef typename EC::result_type ET; - typedef Lazy_rep Base; - - mutable L1 l1_; - mutable L2 l2_; - mutable L3 l3_; - mutable L4 l4_; - mutable L5 l5_; - mutable L6 l6_; - - const EC& ec() const { return *this; } - -public: - - void - update_exact() const - { - this->et = new ET(ec()(CGAL::exact(l1_), CGAL::exact(l2_), - CGAL::exact(l3_), CGAL::exact(l4_), - CGAL::exact(l5_), CGAL::exact(l6_))); - this->at = E2A()(*(this->et)); - // Prune lazy tree - l1_ = L1(); - l2_ = L2(); - l3_ = L3(); - l4_ = L4(); - l5_ = L5(); - l6_ = L6(); - } - - Lazy_rep_6(const AC& ac, const EC& /*ec*/, - const L1& l1, const L2& l2, const L3& l3, const L4& l4, - const L5& l5, const L6& l6) - : Lazy_rep(ac(CGAL::approx(l1), CGAL::approx(l2), - CGAL::approx(l3), CGAL::approx(l4), - CGAL::approx(l5), CGAL::approx(l6))), - l1_(l1), l2_(l2), l3_(l3), l4_(l4), l5_(l5), l6_(l6) - { - this->set_depth(max_n(CGAL::depth(l1_), - CGAL::depth(l2_), - CGAL::depth(l3_), - CGAL::depth(l4_), - CGAL::depth(l5_), - CGAL::depth(l6_)) + 1); - } - -#ifdef CGAL_LAZY_KERNEL_DEBUG - void - print_dag(std::ostream& os, int level) const - { - this->print_at_et(os, level); - - if(this->is_lazy()){ - CGAL::msg(os, level, "DAG with 6 child nodes:"); - CGAL::print_dag(l1_, os, level+1); - CGAL::print_dag(l2_, os, level+1); - CGAL::print_dag(l3_, os, level+1); - CGAL::print_dag(l4_, os, level+1); - CGAL::print_dag(l5_, os, level+1); - CGAL::print_dag(l6_, os, level+1); - } - } -#endif -}; - -template -class Lazy_rep_7 - : public Lazy_rep - , private EC -{ - typedef typename AC::result_type AT; - typedef typename EC::result_type ET; - typedef Lazy_rep Base; - - mutable L1 l1_; - mutable L2 l2_; - mutable L3 l3_; - mutable L4 l4_; - mutable L5 l5_; - mutable L6 l6_; - mutable L7 l7_; - - const EC& ec() const { return *this; } - -public: - - void - update_exact() const - { - this->et = new ET(ec()(CGAL::exact(l1_), CGAL::exact(l2_), - CGAL::exact(l3_), CGAL::exact(l4_), - CGAL::exact(l5_), CGAL::exact(l6_), - CGAL::exact(l7_))); - this->at = E2A()(*(this->et)); - // Prune lazy tree - l1_ = L1(); - l2_ = L2(); - l3_ = L3(); - l4_ = L4(); - l5_ = L5(); - l6_ = L6(); - l7_ = L7(); - } - - Lazy_rep_7(const AC& ac, const EC& /*ec*/, - const L1& l1, const L2& l2, const L3& l3, const L4& l4, - const L5& l5, const L6& l6, const L7& l7) - : Lazy_rep(ac(CGAL::approx(l1), CGAL::approx(l2), - CGAL::approx(l3), CGAL::approx(l4), - CGAL::approx(l5), CGAL::approx(l6), - CGAL::approx(l7))), - l1_(l1), l2_(l2), l3_(l3), l4_(l4), l5_(l5), l6_(l6), l7_(l7) - { - this->set_depth(max_n(CGAL::depth(l1_), - CGAL::depth(l2_), - CGAL::depth(l3_), - CGAL::depth(l4_), - CGAL::depth(l5_), - CGAL::depth(l6_), - CGAL::depth(l7_)) + 1); - } - -#ifdef CGAL_LAZY_KERNEL_DEBUG - void - print_dag(std::ostream& os, int level) const - { - this->print_at_et(os, level); - - if(this->is_lazy()){ - CGAL::msg(os, level, "DAG with 7 child nodes:"); - CGAL::print_dag(l1_, os, level+1); - CGAL::print_dag(l2_, os, level+1); - CGAL::print_dag(l3_, os, level+1); - CGAL::print_dag(l4_, os, level+1); - CGAL::print_dag(l5_, os, level+1); - CGAL::print_dag(l6_, os, level+1); - CGAL::print_dag(l7_, os, level+1); - } - } -#endif -}; - -template -class Lazy_rep_8 - : public Lazy_rep - , private EC -{ - typedef typename AC::result_type AT; - typedef typename EC::result_type ET; - typedef Lazy_rep Base; - - mutable L1 l1_; - mutable L2 l2_; - mutable L3 l3_; - mutable L4 l4_; - mutable L5 l5_; - mutable L6 l6_; - mutable L7 l7_; - mutable L8 l8_; - - const EC& ec() const { return *this; } - -public: - - void - update_exact() const - { - this->et = new ET(ec()(CGAL::exact(l1_), CGAL::exact(l2_), - CGAL::exact(l3_), CGAL::exact(l4_), - CGAL::exact(l5_), CGAL::exact(l6_), - CGAL::exact(l7_), CGAL::exact(l8_))); - this->at = E2A()(*(this->et)); - // Prune lazy tree - l1_ = L1(); - l2_ = L2(); - l3_ = L3(); - l4_ = L4(); - l5_ = L5(); - l6_ = L6(); - l7_ = L7(); - l8_ = L8(); - } - - Lazy_rep_8(const AC& ac, const EC& /*ec*/, - const L1& l1, const L2& l2, const L3& l3, const L4& l4, - const L5& l5, const L6& l6, const L7& l7, const L8& l8) - : Lazy_rep(ac(CGAL::approx(l1), CGAL::approx(l2), - CGAL::approx(l3), CGAL::approx(l4), - CGAL::approx(l5), CGAL::approx(l6), - CGAL::approx(l7), CGAL::approx(l8))), - l1_(l1), l2_(l2), l3_(l3), l4_(l4), l5_(l5), l6_(l6), l7_(l7), l8_(l8) - { - this->set_depth(max_n(CGAL::depth(l1_), - CGAL::depth(l2_), - CGAL::depth(l3_), - CGAL::depth(l4_), - CGAL::depth(l5_), - CGAL::depth(l6_), - CGAL::depth(l7_), - CGAL::depth(l8_)) + 1); - } - -#ifdef CGAL_LAZY_KERNEL_DEBUG - void - print_dag(std::ostream& os, int level) const - { - this->print_at_et(os, level); - - if(this->is_lazy()){ - CGAL::msg(os, level, "DAG with 8 child nodes:"); - CGAL::print_dag(l1_, os, level+1); - CGAL::print_dag(l2_, os, level+1); - CGAL::print_dag(l3_, os, level+1); - CGAL::print_dag(l4_, os, level+1); - CGAL::print_dag(l5_, os, level+1); - CGAL::print_dag(l6_, os, level+1); - CGAL::print_dag(l7_, os, level+1); - CGAL::print_dag(l8_, os, level+1); - } - } -#endif -}; - +#undef CGAL_TMAP +#undef CGAL_PRUNE_TREE +#undef CGAL_LINIT +#undef CGAL_LAZY_REP +#undef CGAL_LN +#undef CGAL_MLIST template < typename K1, typename K2 > struct Approx_converter @@ -1184,10 +751,6 @@ private: Self_rep * ptr() const { return (Self_rep*) PTR; } }; - - - - // The magic functor for Construct_bbox_[2,3], as there is no Lazy template @@ -1217,6 +780,7 @@ struct Lazy_construction_bbox } }; + template struct Lazy_construction_nt { @@ -1225,82 +789,49 @@ struct Lazy_construction_nt { typedef typename LK::Approximate_kernel AK; typedef typename LK::Exact_kernel EK; typedef typename LK::E2A E2A; - typedef typename AC::result_type AT; - typedef typename EC::result_type ET; - typedef Lazy_exact_nt result_type; AC ac; EC ec; - template - result_type operator()(const L1& l1) const - { - CGAL_BRANCH_PROFILER(std::string(" failures/calls to : ") + std::string(CGAL_PRETTY_FUNCTION), tmp); - Protect_FPU_rounding P; - try { - return new Lazy_rep_1, L1>(ac, ec, l1); - } catch (Uncertain_conversion_exception) { - CGAL_BRANCH_PROFILER_BRANCH(tmp); - Protect_FPU_rounding P2(CGAL_FE_TONEAREST); - return new Lazy_rep_0 >(ec(CGAL::exact(l1))); - } - } + template + struct result { }; - template - result_type operator()(const L1& l1, const L2& l2) const - { - CGAL_BRANCH_PROFILER(std::string(" failures/calls to : ") + std::string(CGAL_PRETTY_FUNCTION), tmp); - Protect_FPU_rounding P; - try { - return new Lazy_rep_2, L1,L2>(ac, ec, l1,l2); - } catch (Uncertain_conversion_exception) { - CGAL_BRANCH_PROFILER_BRANCH(tmp); - Protect_FPU_rounding P2(CGAL_FE_TONEAREST); - return new Lazy_rep_0 >(ec(CGAL::exact(l1), CGAL::exact(l2))); - } - } +#define CGAL_RESULT_NT(z, n, d) \ + template< typename F, BOOST_PP_ENUM_PARAMS(n, class T) > \ + struct result { \ + BOOST_PP_REPEAT(n, CGAL_TYPEMAP_EC, T) \ + typedef Lazy_exact_nt< \ + typename boost::remove_cv< typename boost::remove_reference < \ + typename boost::result_of::type >::type >::type > type; \ + }; - template - result_type operator()(const L1& l1, const L2& l2, const L3& l3) const - { - CGAL_BRANCH_PROFILER(std::string(" failures/calls to : ") + std::string(CGAL_PRETTY_FUNCTION), tmp); - Protect_FPU_rounding P; - try { - return new Lazy_rep_3, L1,L2,L3>(ac, ec, l1,l2,l3); - } catch (Uncertain_conversion_exception) { - CGAL_BRANCH_PROFILER_BRANCH(tmp); - Protect_FPU_rounding P2(CGAL_FE_TONEAREST); - return new Lazy_rep_0 >(ec(CGAL::exact(l1), CGAL::exact(l2), CGAL::exact(l3))); - } - } + BOOST_PP_REPEAT_FROM_TO(1, 6, CGAL_RESULT_NT, _) - template - result_type operator()(const L1& l1, const L2& l2, const L3& l3, const L4& l4) const - { - CGAL_BRANCH_PROFILER(std::string(" failures/calls to : ") + std::string(CGAL_PRETTY_FUNCTION), tmp); - Protect_FPU_rounding P; - try { - return new Lazy_rep_4, L1,L2,L3,L4>(ac, ec, l1,l2,l3,l4); - } catch (Uncertain_conversion_exception) { - CGAL_BRANCH_PROFILER_BRANCH(tmp); - Protect_FPU_rounding P2(CGAL_FE_TONEAREST); - return new Lazy_rep_0 >(ec(CGAL::exact(l1), CGAL::exact(l2), CGAL::exact(l3), CGAL::exact(l4))); - } - } +#define CGAL_NT_OPERATOR(z, n, d) \ + template \ + typename boost::result_of::type \ + operator()( BOOST_PP_ENUM(n, CGAL_LARGS, _) ) const { \ + BOOST_PP_REPEAT(n, CGAL_TYPEMAP_EC, L) \ + BOOST_PP_REPEAT(n, CGAL_TYPEMAP_AC, L) \ + typedef typename boost::remove_cv< typename boost::remove_reference < \ + typename boost::result_of< EC(BOOST_PP_ENUM_PARAMS(n, E)) >::type >::type >::type ET; \ + typedef typename boost::remove_cv< typename boost::remove_reference < \ + typename boost::result_of< AC(BOOST_PP_ENUM_PARAMS(n, A)) >::type >::type >::type AT; \ + CGAL_BRANCH_PROFILER(std::string(" failures/calls to : ") + std::string(CGAL_PRETTY_FUNCTION), tmp); \ + Protect_FPU_rounding P; \ + try { \ + return new Lazy_rep_##n, BOOST_PP_ENUM_PARAMS(n, L) >(ac, ec, BOOST_PP_ENUM_PARAMS(n, l)); \ + } catch (Uncertain_conversion_exception) { \ + CGAL_BRANCH_PROFILER_BRANCH(tmp); \ + Protect_FPU_rounding P2(CGAL_FE_TONEAREST); \ + return new Lazy_rep_0 >(ec( BOOST_PP_ENUM(n, CGAL_LEXACT, _) )); \ + } \ + } \ - template - result_type operator()(const L1& l1, const L2& l2, const L3& l3, const L4& l4, const L5& l5) const - { - CGAL_BRANCH_PROFILER(std::string(" failures/calls to : ") + std::string(CGAL_PRETTY_FUNCTION), tmp); - Protect_FPU_rounding P; - try { - return new Lazy_rep_5, L1,L2,L3,L4,L5>(ac, ec, l1,l2,l3,l4,l5); - } catch (Uncertain_conversion_exception) { - CGAL_BRANCH_PROFILER_BRANCH(tmp); - Protect_FPU_rounding P2(CGAL_FE_TONEAREST); - return new Lazy_rep_0 >(ec(CGAL::exact(l1), CGAL::exact(l2), CGAL::exact(l3), CGAL::exact(l4), CGAL::exact(l5))); - } - } + BOOST_PP_REPEAT_FROM_TO(1, 6, CGAL_NT_OPERATOR, _) + +#undef INTERVAL_OPERATOR +#undef CGAL_RESULT_NT }; @@ -1558,8 +1089,8 @@ public: typedef Lazy, std::pair, EFT, E2A> Lazy_pair; Lazy_pair lv(new Lazy_rep_2_2(ac, ec, l1, l2)); // lv->approx() is a std::pair; - r1 = R1(Handle_1(new Lazy_rep_1 >, First >, E2A, Lazy_pair>(First >(), First >(), lv))); - r2 = R2(Handle_2(new Lazy_rep_1 >, Second >, E2A, Lazy_pair>(Second >(), Second >(), lv))); + r1 = R1(Handle_1(new Lazy_rep_1 >, First >, E2A, Lazy_pair>(First >(), First >(), lv))); + r2 = R2(Handle_2(new Lazy_rep_1 >, Second >, E2A, Lazy_pair>(Second >(), Second >(), lv))); } catch (Uncertain_conversion_exception) { CGAL_BRANCH_PROFILER_BRANCH(tmp); Protect_FPU_rounding P2(CGAL_FE_TONEAREST); @@ -1606,7 +1137,7 @@ public: for (unsigned int i = 0; i < lv.approx().size(); i++) { // FIXME : I'm not sure how this work... #define CGAL_Kernel_obj(X) if (object_cast(& (lv.approx()[i]))) { \ - *it++ = make_object(typename LK::X(new Lazy_rep_1, \ + *it++ = make_object(typename LK::X(new Lazy_rep_1, \ Ith, E2A, Lazy_vector> \ (Ith(i), Ith(i), lv))); \ continue; \ @@ -1679,14 +1210,14 @@ public: CGAL_BRANCH_PROFILER(std::string(" failures/calls to : ") + std::string(CGAL_PRETTY_FUNCTION), tmp); Protect_FPU_rounding P; try { - Lazy_object lo(new Lazy_rep_1(ac, ec, l1)); + Lazy_object lo(new Lazy_rep_1(ac, ec, l1)); if(lo.approx().is_empty()) return Object(); #define CGAL_Kernel_obj(X) \ if (object_cast(& (lo.approx()))) { \ - typedef Lazy_rep_1, Object_cast, E2A, Lazy_object> Lcr; \ + typedef Lazy_rep_1< typename AK::X, typename EK::X, Object_cast, Object_cast, E2A, Lazy_object> Lcr; \ Lcr * lcr = new Lcr(Object_cast(), Object_cast(), lo); \ return make_object(typename LK::X(lcr)); \ } @@ -1712,14 +1243,14 @@ public: CGAL_BRANCH_PROFILER(std::string(" failures/calls to : ") + std::string(CGAL_PRETTY_FUNCTION), tmp); Protect_FPU_rounding P; try { - Lazy_object lo(new Lazy_rep_2(ac, ec, l1, l2)); + Lazy_object lo(new Lazy_rep_2(ac, ec, l1, l2)); if(lo.approx().is_empty()) return Object(); #define CGAL_Kernel_obj(X) \ if (object_cast(& (lo.approx()))) { \ - typedef Lazy_rep_1, Object_cast, E2A, Lazy_object> Lcr; \ + typedef Lazy_rep_1, Object_cast, E2A, Lazy_object> Lcr; \ Lcr * lcr = new Lcr(Object_cast(), Object_cast(), lo); \ return make_object(typename LK::X(lcr)); \ } @@ -1735,8 +1266,8 @@ public: std::vector V;\ V.resize(v_ptr->size()); \ for (unsigned int i = 0; i < v_ptr->size(); i++) { \ - V[i] = typename LK::X(new Lazy_rep_1, \ - Ith_for_intersection, E2A, Lazy_object> \ + V[i] = typename LK::X(new Lazy_rep_1, \ + Ith_for_intersection, E2A, Lazy_object> \ (Ith_for_intersection(i), Ith_for_intersection(i), lo)); \ } \ return make_object(V); \ @@ -1766,14 +1297,14 @@ CGAL_Kernel_obj(Point_3) CGAL_BRANCH_PROFILER(std::string(" failures/calls to : ") + std::string(CGAL_PRETTY_FUNCTION), tmp); Protect_FPU_rounding P; try { - Lazy_object lo(new Lazy_rep_3(ac, ec, l1, l2, l3)); + Lazy_object lo(new Lazy_rep_3(ac, ec, l1, l2, l3)); if(lo.approx().is_empty()) return Object(); #define CGAL_Kernel_obj(X) \ if (object_cast(& (lo.approx()))) { \ - typedef Lazy_rep_1, Object_cast, E2A, Lazy_object> Lcr; \ + typedef Lazy_rep_1, Object_cast, E2A, Lazy_object> Lcr; \ Lcr * lcr = new Lcr(Object_cast(), Object_cast(), lo); \ return make_object(typename LK::X(lcr)); \ } @@ -1797,10 +1328,75 @@ CGAL_Kernel_obj(Point_3) //____________________________________________________________ -// The magic functor that has Lazy as result type +// The magic functor that has Lazy as result type. +// Two versions are distinguished: one that needs to fiddle +// with result_of and another that can forward the result types. -template -struct Lazy_construction +namespace internal { + BOOST_MPL_HAS_XXX_TRAIT_DEF(result_type) +} + +template::value && internal::has_result_type::value > +struct Lazy_construction; + + +// we have a result type, low effort +template +struct Lazy_construction { + static const bool Protection = true; + + typedef typename LK::Approximate_kernel AK; + typedef typename LK::Exact_kernel EK; + typedef typename boost::remove_cv< + typename boost::remove_reference < typename AC::result_type >::type >::type AT; + typedef typename boost::remove_cv< + typename boost::remove_reference < typename EC::result_type >::type >::type ET; + + typedef typename EK::FT EFT; + typedef typename Default::Get::type E2A; + + typedef typename Type_mapper::type result_type; + + AC ac; + EC ec; + +#define CGAL_CONSTRUCTION_OPERATOR(z, n, d ) \ + template \ + result_type \ + operator()( BOOST_PP_ENUM(n, CGAL_LARGS, _) ) const { \ + BOOST_PP_REPEAT(n, CGAL_TYPEMAP_EC, L) \ + BOOST_PP_REPEAT(n, CGAL_TYPEMAP_AC, L) \ + typedef Lazy< AT, ET, EFT, E2A> Handle; \ + CGAL_BRANCH_PROFILER(std::string(" failures/calls to : ") + std::string(CGAL_PRETTY_FUNCTION), tmp); \ + Protect_FPU_rounding P; \ + try { \ + return result_type( Handle(new Lazy_rep_##n(ac, ec, BOOST_PP_ENUM_PARAMS(n, l)))); \ + } catch (Uncertain_conversion_exception) { \ + CGAL_BRANCH_PROFILER_BRANCH(tmp); \ + Protect_FPU_rounding P2(CGAL_FE_TONEAREST); \ + return result_type( Handle(new Lazy_rep_0(ec( BOOST_PP_ENUM(n, CGAL_LEXACT, _) ))) ); \ + } \ + } + + // arity 1-8 + BOOST_PP_REPEAT_FROM_TO(1, 9, CGAL_CONSTRUCTION_OPERATOR, _) + + // nullary + result_type + operator()() const + { + typedef Lazy Handle; + return result_type( Handle(new Lazy_rep_0()) ); + } + +#undef CGAL_CONSTRUCTION_OPERATOR + +}; + + +template +struct Lazy_construction { static const bool Protection = true; @@ -1808,144 +1404,71 @@ struct Lazy_construction typedef typename LK::Exact_kernel EK; typedef typename EK::FT EFT; typedef typename Default::Get::type E2A; - typedef typename AC::result_type AT; - typedef typename EC::result_type ET; - typedef Lazy Handle; - typedef typename Type_mapper::type result_type; + + template + struct result { + // this does not default, if you want to make a lazy lazy-kernel, + // you are on your own + }; AC ac; EC ec; -public: + // acquire the result_type of the approximate kernel, map it back to the lazy kernel object +#define CGAL_RESULT(z, n, d) \ +template< typename F, BOOST_PP_ENUM_PARAMS(n, class T) > \ +struct result { \ + BOOST_PP_REPEAT(n, CGAL_TYPEMAP_AC, T) \ + typedef typename Type_mapper< typename boost::result_of::type, AK, LK>::type type; \ +}; - result_type + BOOST_PP_REPEAT_FROM_TO(1, 9, CGAL_RESULT, _) + +#define CGAL_CONSTRUCTION_OPERATOR(z, n, d) \ + template \ + typename boost::result_of::type \ + operator()( BOOST_PP_ENUM(n, CGAL_LARGS, _) ) { \ + BOOST_PP_REPEAT(n, CGAL_TYPEMAP_EC, L) \ + BOOST_PP_REPEAT(n, CGAL_TYPEMAP_AC, L) \ + typedef typename boost::remove_cv< typename boost::remove_reference < \ + typename boost::result_of< EC(BOOST_PP_ENUM_PARAMS(n, E)) >::type >::type >::type ET; \ + typedef typename boost::remove_cv< typename boost::remove_reference < \ + typename boost::result_of< AC(BOOST_PP_ENUM_PARAMS(n, A)) >::type >::type >::type AT; \ + typedef Lazy< AT, ET, EFT, E2A> Handle; \ + typedef typename boost::result_of::type result_type; \ + CGAL_BRANCH_PROFILER(std::string(" failures/calls to : ") + std::string(CGAL_PRETTY_FUNCTION), tmp); \ + Protect_FPU_rounding P; \ + try { \ + return result_type( Handle(new Lazy_rep_##n(ac, ec, BOOST_PP_ENUM_PARAMS(n, l)))); \ + } catch (Uncertain_conversion_exception) { \ + CGAL_BRANCH_PROFILER_BRANCH(tmp); \ + Protect_FPU_rounding P2(CGAL_FE_TONEAREST); \ + return result_type( Handle(new Lazy_rep_0(ec( BOOST_PP_ENUM(n, CGAL_LEXACT, _) ))) ); \ + } \ + } + + // arity 1-8 + BOOST_PP_REPEAT_FROM_TO(1, 9, CGAL_CONSTRUCTION_OPERATOR, _) + + // nullary + typename Type_mapper< typename boost::result_of::type ,AK, LK>::type operator()() const { + typedef typename boost::result_of::type AT; + typedef typename boost::result_of::type ET; + typedef Lazy Handle; + typedef typename Type_mapper< typename boost::result_of::type ,AK, LK>::type result_type; + return result_type( Handle(new Lazy_rep_0()) ); } - - template - result_type - operator()(const L1& l1) const - { - CGAL_BRANCH_PROFILER(std::string(" failures/calls to : ") + std::string(CGAL_PRETTY_FUNCTION), tmp); - Protect_FPU_rounding P; - try { - return result_type( Handle(new Lazy_rep_1(ac, ec, l1)) ); - } catch (Uncertain_conversion_exception) { - CGAL_BRANCH_PROFILER_BRANCH(tmp); - Protect_FPU_rounding P2(CGAL_FE_TONEAREST); - return result_type( Handle(new Lazy_rep_0(ec(CGAL::exact(l1)))) ); - } - } - - template - result_type - operator()(const L1& l1, const L2& l2) const - { - CGAL_BRANCH_PROFILER(std::string(" failures/calls to : ") + std::string(CGAL_PRETTY_FUNCTION), tmp); - Protect_FPU_rounding P; - try { - return result_type( Handle(new Lazy_rep_2(ac, ec, l1, l2)) ); - } catch (Uncertain_conversion_exception) { - CGAL_BRANCH_PROFILER_BRANCH(tmp); - Protect_FPU_rounding P2(CGAL_FE_TONEAREST); - return result_type( Handle(new Lazy_rep_0(ec(CGAL::exact(l1), CGAL::exact(l2)))) ); - } - } - - template - result_type - operator()(const L1& l1, const L2& l2, const L3& l3) const - { - CGAL_BRANCH_PROFILER(std::string(" failures/calls to : ") + std::string(CGAL_PRETTY_FUNCTION), tmp); - Protect_FPU_rounding P; - try { - return result_type( Handle(new Lazy_rep_3(ac, ec, l1, l2, l3)) ); - } catch (Uncertain_conversion_exception) { - CGAL_BRANCH_PROFILER_BRANCH(tmp); - Protect_FPU_rounding P2(CGAL_FE_TONEAREST); - return result_type( Handle(new Lazy_rep_0(ec(CGAL::exact(l1), CGAL::exact(l2), CGAL::exact(l3)))) ); - } - } - - template - result_type - operator()(const L1& l1, const L2& l2, const L3& l3, const L4& l4) const - { - CGAL_BRANCH_PROFILER(std::string(" failures/calls to : ") + std::string(CGAL_PRETTY_FUNCTION), tmp); - Protect_FPU_rounding P; - try { - return result_type( Handle(new Lazy_rep_4(ac, ec, l1, l2, l3, l4)) ); - } catch (Uncertain_conversion_exception) { - CGAL_BRANCH_PROFILER_BRANCH(tmp); - Protect_FPU_rounding P2(CGAL_FE_TONEAREST); - return result_type( Handle(new Lazy_rep_0(ec(CGAL::exact(l1), CGAL::exact(l2), CGAL::exact(l3), CGAL::exact(l4)))) ); - } - } - - template - result_type - operator()(const L1& l1, const L2& l2, const L3& l3, const L4& l4, const L5& l5) const - { - CGAL_BRANCH_PROFILER(std::string(" failures/calls to : ") + std::string(CGAL_PRETTY_FUNCTION), tmp); - Protect_FPU_rounding P; - try { - return result_type( Handle(new Lazy_rep_5(ac, ec, l1, l2, l3, l4, l5)) ); - } catch (Uncertain_conversion_exception) { - CGAL_BRANCH_PROFILER_BRANCH(tmp); - Protect_FPU_rounding P2(CGAL_FE_TONEAREST); - return result_type( Handle(new Lazy_rep_0(ec(CGAL::exact(l1), CGAL::exact(l2), CGAL::exact(l3), CGAL::exact(l4), CGAL::exact(l5)))) ); - } - } - - template - result_type - operator()(const L1& l1, const L2& l2, const L3& l3, const L4& l4, const L5& l5, const L6& l6) const - { - CGAL_BRANCH_PROFILER(std::string(" failures/calls to : ") + std::string(CGAL_PRETTY_FUNCTION), tmp); - Protect_FPU_rounding P; - try { - return result_type( Handle(new Lazy_rep_6(ac, ec, l1, l2, l3, l4, l5, l6)) ); - } catch (Uncertain_conversion_exception) { - CGAL_BRANCH_PROFILER_BRANCH(tmp); - Protect_FPU_rounding P2(CGAL_FE_TONEAREST); - return result_type( Handle(new Lazy_rep_0(ec(CGAL::exact(l1), CGAL::exact(l2), CGAL::exact(l3), CGAL::exact(l4), CGAL::exact(l5), CGAL::exact(l6)))) ); - } - } - - template - result_type - operator()(const L1& l1, const L2& l2, const L3& l3, const L4& l4, const L5& l5, const L6& l6, const L7& l7) const - { - CGAL_BRANCH_PROFILER(std::string(" failures/calls to : ") + std::string(CGAL_PRETTY_FUNCTION), tmp); - Protect_FPU_rounding P; - try { - return result_type( Handle(new Lazy_rep_7(ac, ec, l1, l2, l3, l4, l5, l6, l7)) ); - } catch (Uncertain_conversion_exception) { - CGAL_BRANCH_PROFILER_BRANCH(tmp); - Protect_FPU_rounding P2(CGAL_FE_TONEAREST); - return result_type( Handle(new Lazy_rep_0(ec(CGAL::exact(l1), CGAL::exact(l2), CGAL::exact(l3), CGAL::exact(l4), CGAL::exact(l5), CGAL::exact(l6), CGAL::exact(l7)))) ); - } - } - - template - result_type - operator()(const L1& l1, const L2& l2, const L3& l3, const L4& l4, const L5& l5, const L6& l6, const L7& l7, const L8& l8) const - { - CGAL_BRANCH_PROFILER(std::string(" failures/calls to : ") + std::string(CGAL_PRETTY_FUNCTION), tmp); - Protect_FPU_rounding P; - try { - return result_type( Handle(new Lazy_rep_8(ac, ec, l1, l2, l3, l4, l5, l6, l7, l8)) ); - } catch (Uncertain_conversion_exception) { - CGAL_BRANCH_PROFILER_BRANCH(tmp); - Protect_FPU_rounding P2(CGAL_FE_TONEAREST); - return result_type( Handle(new Lazy_rep_0(ec(CGAL::exact(l1), CGAL::exact(l2), CGAL::exact(l3), CGAL::exact(l4), CGAL::exact(l5), CGAL::exact(l6), CGAL::exact(l7), CGAL::exact(l8)))) ); - } - } - }; } //namespace CGAL +#undef CGAL_TYPEMAP_AC +#undef CGAL_TYPEMAP_EC +#undef CGAL_LEXACT +#undef CGAL_LARGS + + #endif // CGAL_LAZY_H diff --git a/Filtered_kernel/include/CGAL/Lazy_kernel.h b/Filtered_kernel/include/CGAL/Lazy_kernel.h index aab2d57d2cd..b18fc340d01 100644 --- a/Filtered_kernel/include/CGAL/Lazy_kernel.h +++ b/Filtered_kernel/include/CGAL/Lazy_kernel.h @@ -31,10 +31,70 @@ #include #include #include + #include +#include +#include + namespace CGAL { +namespace internal { + +// SFINAE way to detect result_type typedefs. +template +class Has_result_type_helper +{ + typedef char one; + typedef struct { char arr[2]; } two; + + template + struct Wrapper {}; + + template + static one test(Wrapper*); + + template + static two test(...); + +public: + static const bool value = sizeof(test(0)) == 1; +}; + +template +struct Has_result_type + : boost::integral_constant< bool, + Has_result_type_helper< typename boost::remove_cv::type>::value> +{}; + +template +struct Maybe_result_type { + // This is incredibly evil. It relies on the fact that we always + // have a type in the primary result template but it looks like the + // only way out given the current design. + typedef typename F::template result::type type; +}; + +template +struct Maybe_result_type { + typedef typename F::result_type type; +}; + +// goes through the standard process of selecting the right +// Lazy_something after the kind of the return type has been +// determined +template +struct Standard_pick { + typedef typename boost::remove_cv< typename boost::remove_reference< typename T::type >::type >::type T_; + typedef typename boost::mpl::if_< boost::is_same< T_, typename AK::FT >, + Lazy_construction_nt, + typename boost::mpl::if_< boost::is_same< T_, Object >, + Lazy_construction_object, + Lazy_construction >::type + >::type type; +}; +} // internal + // Exact_kernel = exact kernel that will be made lazy // Kernel = lazy kernel @@ -46,6 +106,7 @@ class Lazy_kernel_generic_base // TODO : Static_filters_base too ? Check performance { public: + typedef AK_ Approximate_kernel; typedef EK_ Exact_kernel; typedef E2A_ E2A; @@ -128,7 +189,6 @@ public: typedef Filtered_predicate P; \ P Pf() const { return P(); } - // We change the constructions. #ifdef CGAL_INTERSECT_WITH_ITERATORS_2 #define CGAL_Kernel_cons(C, Cf) \ @@ -147,18 +207,15 @@ public: intersect_with_iterators_2_object) #else #define CGAL_Kernel_cons(C, Cf) \ - typedef typename boost::mpl::if_< boost::is_same,\ - Lazy_construction_nt,\ - typename boost::mpl::if_,\ - Lazy_construction_object,\ - Lazy_construction >::type >::type C; \ - C Cf() const { return C(); } + typedef typename internal::Standard_pick< internal::Maybe_result_type< internal::Has_result_type< typename Approximate_kernel::C >::value, \ + typename Approximate_kernel::C >, \ + Approximate_kernel, Exact_kernel, Kernel, typename Approximate_kernel::C, typename Exact_kernel::C \ + >::type C; \ + C Cf() const { return C(); } #endif //CGAL_INTERSECT_WITH_ITERATORS_2 - #include - }; template < typename EK_, typename AK_, typename E2A_, typename Kernel_ > diff --git a/HalfedgeDS/doc_tex/HalfedgeDS/main.tex b/HalfedgeDS/doc_tex/HalfedgeDS/main.tex index c3f509db26c..33a6d005949 100644 --- a/HalfedgeDS/doc_tex/HalfedgeDS/main.tex +++ b/HalfedgeDS/doc_tex/HalfedgeDS/main.tex @@ -254,12 +254,6 @@ One can later resize the data structure with further calls to the \ccc{reserve()} member function, but only if the data structure is in a consistent, i.e., {\em valid}, state. -Unfortunately this example has also to expose the workaround necessary -for compilers that do not support templates as template parameters. -The workaround is necessary if the symbolic constant -\verb|CGAL_CFG_NO_TMPL_IN_TMPL_PARAM| is set. It uses a member -template instead of the class template. - \ccIncludeExampleCode{HalfedgeDS/hds_prog_vector.cpp} diff --git a/HalfedgeDS/doc_tex/HalfedgeDS_ref/HalfedgeDS.tex b/HalfedgeDS/doc_tex/HalfedgeDS_ref/HalfedgeDS.tex index 091d09732f8..25f5e75b63b 100644 --- a/HalfedgeDS/doc_tex/HalfedgeDS_ref/HalfedgeDS.tex +++ b/HalfedgeDS/doc_tex/HalfedgeDS_ref/HalfedgeDS.tex @@ -21,16 +21,6 @@ \ccCreationVariable{hds} \ccTagFullDeclarations -% +-----------------------------------+ -\ccHeading{Release Note} - -Beginning with \cgal\ R2.3, this package has a new design. The old -design is still available for backwards compatibility and to support -older compiler, such as MSVC++6.0. However its use is deprecated and -the manual pages are not converted into this new manual -format. Instead, see its old documentation in the manual of -deprecated packages. The two designs are not interchangeable. - % +-----------------------------------+ \ccDefinition @@ -500,40 +490,6 @@ a halfedge. There is no automatic update required. \ccRefIdfierPage{CGAL::HalfedgeDS_decorator}\\ \ccRefIdfierPage{CGAL::HalfedgeDS_const_decorator} -% +-----------------------------------+ -\ccImplementation - -Classes parameterized with a halfedge data structure, such as -\ccc{CGAL::Polyhedron_3}, need to declare a class template as one of its -template parameters for the \ccRefName. For compilers not supporting -this (i.e.~the flag \ccc{CGAL_CFG_NO_TMPL_IN_TMPL_PARAM} is set), the -following workaround is required, which defines a \ccRefName\ as a -normal class that contains a member class template named \ccc{HDS}, -which is the actual halfedge data structure as defined here. The -following program fragment illustrates this workaround: - -\begin{ccExampleCode} -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM - template - class HalfedgeDS { - public: - typedef HalfedgeDS Self; - HalfedgeDS_vector(); // constructors -#else - struct HalfedgeDS { - template - class HDS { - public: - typedef HDS Self; - HDS(); // constructors -#endif - // ... further member functions. Self denotes the HalfedgeDS. - }; -#ifdef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM - }; -#endif -\end{ccExampleCode} - \ccTagDefaults \end{ccRefConcept} diff --git a/HalfedgeDS/doc_tex/HalfedgeDS_ref/HalfedgeDS_default.tex b/HalfedgeDS/doc_tex/HalfedgeDS_ref/HalfedgeDS_default.tex index 48df5d8145b..4b7ae180eae 100644 --- a/HalfedgeDS/doc_tex/HalfedgeDS_ref/HalfedgeDS_default.tex +++ b/HalfedgeDS/doc_tex/HalfedgeDS_ref/HalfedgeDS_default.tex @@ -61,7 +61,6 @@ removal. \ccRefIdfierPage{CGAL::HalfedgeDS_decorator}\\ \ccRefIdfierPage{CGAL::HalfedgeDS_const_decorator} - \ccImplementation Currently, \ccRefName\ is derived from \ccc{CGAL::HalfedgeDS_list}. @@ -70,25 +69,6 @@ $n$ the total number of vertices, halfedges, and faces. The former suboptimal implementation with an $O(n \log n)$ runtime has been replaced with a faster implementation based on hashing for the pointer lookup. -Due to a workaround for the flag \ccc{CGAL_CFG_NO_TMPL_IN_TMPL_PARAM}, -a halfedge data structure cannot be instantiated directly. For the -\ccRefName\ a macro simplifies its direct use. However, when using a -halfedge data structure as an argument for another class template, -the class template name \ccc{HalfedgeDS_default} must be used, not -the macro. - -\begin{ccExampleCode} -// The macro definition. -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM - #define CGAL_HALFEDGEDS_DEFAULT ::CGAL::HalfedgeDS_default -#else - #define CGAL_HALFEDGEDS_DEFAULT ::CGAL::HalfedgeDS_default::HDS -#endif - -// The direct instantiation of the default HalfedgeDS given a Traits class. -typedef CGAL_HALFEDGEDS_DEFAULT HDS; -\end{ccExampleCode} - \end{ccRefClass} % +------------------------------------------------------------------------+ diff --git a/HalfedgeDS/dont_submit b/HalfedgeDS/dont_submit deleted file mode 100644 index d0aa28a2774..00000000000 --- a/HalfedgeDS/dont_submit +++ /dev/null @@ -1,2 +0,0 @@ -hds_prog_default_with_ccb.cpp -hds_prog_graph_with_ccb.cpp \ No newline at end of file diff --git a/HalfedgeDS/examples/HalfedgeDS/hds_prog_default_with_ccb.cpp b/HalfedgeDS/examples/HalfedgeDS/hds_prog_default_with_ccb.cpp deleted file mode 100644 index a48a326c227..00000000000 --- a/HalfedgeDS/examples/HalfedgeDS/hds_prog_default_with_ccb.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include -#include -#include - -struct Traits { typedef int Point_2; }; -typedef CGAL::HalfedgeDS_default HDS; -typedef CGAL::HalfedgeDS_decorator Decorator; - -int main() { - HDS hds; - Decorator decorator(hds); - decorator.create_loop(); - CGAL_assertion( decorator.is_valid()); - return 0; -} diff --git a/HalfedgeDS/examples/HalfedgeDS/hds_prog_graph_with_ccb.cpp b/HalfedgeDS/examples/HalfedgeDS/hds_prog_graph_with_ccb.cpp deleted file mode 100644 index c2852fe9744..00000000000 --- a/HalfedgeDS/examples/HalfedgeDS/hds_prog_graph_with_ccb.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include -#include -#include - -// no traits needed, argument can be arbitrary dummy. -typedef CGAL::HalfedgeDS_default HDS; -typedef CGAL::HalfedgeDS_decorator Decorator; - -int main() { - HDS hds; - Decorator decorator(hds); - decorator.create_loop(); - CGAL_assertion( decorator.is_valid()); - return 0; -} diff --git a/HalfedgeDS/include/CGAL/HalfedgeDS_default.h b/HalfedgeDS/include/CGAL/HalfedgeDS_default.h index c325485f332..1f7c37112c9 100644 --- a/HalfedgeDS/include/CGAL/HalfedgeDS_default.h +++ b/HalfedgeDS/include/CGAL/HalfedgeDS_default.h @@ -31,8 +31,6 @@ namespace CGAL { -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM - template class HalfedgeDS_default @@ -47,26 +45,6 @@ public: }; #define CGAL_HALFEDGEDS_DEFAULT ::CGAL::HalfedgeDS_default -#else // CGAL_CFG_NO_TMPL_IN_TMPL_PARAM // - -struct HalfedgeDS_default { - template - class HDS : public HalfedgeDS_list::HDS { - public: - typedef Traits_ Traits; - typedef HalfedgeDS_list::HDS D_S; - typedef typename D_S::size_type size_type; - HDS() {} - HDS( size_type v, size_type h, size_type f) - : HalfedgeDS_list::HDS(v,h,f) {} - }; -}; - -#define CGAL_HALFEDGEDS_DEFAULT ::CGAL::HalfedgeDS_default::HDS - -#endif // CGAL_CFG_NO_TMPL_IN_TMPL_PARAM // - } //namespace CGAL #endif // CGAL_HALFEDGEDS_DEFAULT_H // // EOF // diff --git a/HalfedgeDS/include/CGAL/HalfedgeDS_list.h b/HalfedgeDS/include/CGAL/HalfedgeDS_list.h index 2250c3714e0..d17d890bed8 100644 --- a/HalfedgeDS/include/CGAL/HalfedgeDS_list.h +++ b/HalfedgeDS/include/CGAL/HalfedgeDS_list.h @@ -181,21 +181,12 @@ public: } }; -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM template < class Traits_, class HalfedgeDSItems, class Alloc = CGAL_ALLOCATOR(int)> class HalfedgeDS_list : public HalfedgeDS_list_types { public: typedef HalfedgeDS_list Self; -#else -struct HalfedgeDS_list { -template < class Traits_, class HalfedgeDSItems, - class Alloc = CGAL_ALLOCATOR(int)> -class HDS : public HalfedgeDS_list_types { -public: - typedef HDS Self; -#endif public: typedef HalfedgeDS_list_types Types; typedef typename Types::Traits Traits; @@ -374,7 +365,6 @@ private: } public: -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM HalfedgeDS_list() : nb_border_halfedges(0), nb_border_edges(0) {} // the empty polyhedron `P'. @@ -389,13 +379,6 @@ public: ~HalfedgeDS_list() { clear(); } HalfedgeDS_list( const Self& hds) -#else - HDS() : nb_border_halfedges(0), nb_border_edges(0) {} - HDS( size_type, size_type, size_type) - : nb_border_halfedges(0), nb_border_edges(0) {} - ~HDS() { clear(); } - HDS( const Self& hds) -#endif // CGAL_CFG_NO_TMPL_IN_TMPL_PARAM // : vertices( hds.vertices), //halfedges( hds.halfedges), faces( hds.faces), @@ -688,9 +671,6 @@ public: border_halfedges = i; } }; -#ifdef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM -}; -#endif // #ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM diff --git a/HalfedgeDS/include/CGAL/HalfedgeDS_vector.h b/HalfedgeDS/include/CGAL/HalfedgeDS_vector.h index f6cf04b215d..c61e09aef01 100644 --- a/HalfedgeDS/include/CGAL/HalfedgeDS_vector.h +++ b/HalfedgeDS/include/CGAL/HalfedgeDS_vector.h @@ -143,21 +143,12 @@ public: }; -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM template < class Traits_, class HalfedgeDSItems, class Alloc = CGAL_ALLOCATOR(int)> class HalfedgeDS_vector : public HalfedgeDS_vector_types { public: typedef HalfedgeDS_vector Self; -#else -struct HalfedgeDS_vector { -template < class Traits_, class HalfedgeDSItems, - class Alloc = CGAL_ALLOCATOR(int)> -class HDS : public HalfedgeDS_vector_types { -public: - typedef HDS Self; -#endif typedef HalfedgeDS_vector_types Types; typedef typename Types::Traits Traits; typedef typename Types::Items Items; @@ -292,7 +283,6 @@ private: public: -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM HalfedgeDS_vector() : nb_border_halfedges(0), nb_border_edges(0) {} // empty halfedge data structure. @@ -308,16 +298,6 @@ public: } HalfedgeDS_vector( const Self& hds) -#else - HDS() : nb_border_halfedges(0), nb_border_edges(0) {} - HDS( size_type v, size_type h, size_type f) - : nb_border_halfedges(0), nb_border_edges(0) { - vertices.reserve(v); - halfedges.reserve(h); - faces.reserve(f); - } - HDS( const Self& hds) -#endif // CGAL_CFG_NO_TMPL_IN_TMPL_PARAM // : vertices( hds.vertices), halfedges( hds.halfedges), faces( hds.faces), @@ -669,9 +649,6 @@ public: } } }; -#ifdef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM -}; -#endif } //namespace CGAL diff --git a/HalfedgeDS/test/HalfedgeDS/test_hds.cpp b/HalfedgeDS/test/HalfedgeDS/test_hds.cpp index 3131796c522..6055f20bf90 100644 --- a/HalfedgeDS/test/HalfedgeDS/test_hds.cpp +++ b/HalfedgeDS/test/HalfedgeDS/test_hds.cpp @@ -108,13 +108,8 @@ void test_HalfedgeDS_default() { void test_HalfedgeDS_vector() { // Instantiation of the halfedge data structure using vector // and maximal bases for polyhedral surfaces. -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM typedef CGAL::HalfedgeDS_vector< Dummy_traits_3, CGAL::Polyhedron_items_3> HDS; -#else - typedef CGAL::HalfedgeDS_vector::HDS< Dummy_traits_3, - CGAL::Polyhedron_items_3> HDS; -#endif typedef HDS::Halfedge Halfedge; typedef Halfedge::Base HBase; typedef HDS::Face_handle Face_handle; @@ -152,13 +147,8 @@ void test_HalfedgeDS_vector() { void test_HalfedgeDS_vector_min() { // Instantiation of the halfedge data structure using vector // and minimal bases as for an undirected graph. -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM typedef CGAL::HalfedgeDS_vector< Empty_traits, CGAL::HalfedgeDS_min_items> HDS; -#else - typedef CGAL::HalfedgeDS_vector::HDS< Empty_traits, - CGAL::HalfedgeDS_min_items> HDS; -#endif typedef HDS::Halfedge Halfedge; typedef Halfedge::Base HBase; diff --git a/HalfedgeDS/test/HalfedgeDS/test_hds_decorator.cpp b/HalfedgeDS/test/HalfedgeDS/test_hds_decorator.cpp index 61ed8bc0ab3..5b1eb944178 100644 --- a/HalfedgeDS/test/HalfedgeDS/test_hds_decorator.cpp +++ b/HalfedgeDS/test/HalfedgeDS/test_hds_decorator.cpp @@ -150,13 +150,8 @@ struct Dummy_traits_3 { void test_HalfedgeDS_decorator2() { // Instantiation of the halfedge data structure using vector // with max-bases for a polyhedral surface. -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM typedef CGAL::HalfedgeDS_vector< Dummy_traits_3, CGAL::Polyhedron_items_3> HDS; -#else - typedef CGAL::HalfedgeDS_vector::HDS< Dummy_traits_3, - CGAL::Polyhedron_items_3> HDS; -#endif typedef CGAL::HalfedgeDS_decorator Decorator; typedef HDS::Halfedge_handle Halfedge_handle; typedef HDS::Face_handle Face_handle; diff --git a/Homogeneous_kernel/include/CGAL/Homogeneous/function_objects.h b/Homogeneous_kernel/include/CGAL/Homogeneous/function_objects.h index fe7292d5051..70a180afd92 100644 --- a/Homogeneous_kernel/include/CGAL/Homogeneous/function_objects.h +++ b/Homogeneous_kernel/include/CGAL/Homogeneous/function_objects.h @@ -1560,15 +1560,15 @@ namespace HomogeneousKernelFunctors { }; template - class Compute_dx_2 : public Has_qrt + class Compute_dx_2 { typedef typename K::RT RT; typedef typename K::Direction_2 Direction_2; public: - typedef RT result_type; + typedef const RT& result_type; - const result_type & + result_type operator()(const Direction_2& d) const { return d.rep().dx(); @@ -1576,15 +1576,15 @@ namespace HomogeneousKernelFunctors { }; template - class Compute_dx_3 : public Has_qrt + class Compute_dx_3 { typedef typename K::RT RT; typedef typename K::Direction_3 Direction_3; public: - typedef RT result_type; + typedef const RT& result_type; - const result_type & + result_type operator()(const Direction_3& d) const { return d.rep().dx(); @@ -1592,15 +1592,15 @@ namespace HomogeneousKernelFunctors { }; template - class Compute_dy_2 : public Has_qrt + class Compute_dy_2 { typedef typename K::RT RT; typedef typename K::Direction_2 Direction_2; public: - typedef RT result_type; + typedef const RT& result_type; - const result_type & + result_type operator()(const Direction_2& d) const { return d.rep().dy(); @@ -1608,15 +1608,15 @@ namespace HomogeneousKernelFunctors { }; template - class Compute_dy_3 : public Has_qrt + class Compute_dy_3 { typedef typename K::RT RT; typedef typename K::Direction_3 Direction_3; public: - typedef RT result_type; + typedef const RT& result_type; - const result_type & + result_type operator()(const Direction_3& d) const { return d.rep().dy(); @@ -1624,15 +1624,15 @@ namespace HomogeneousKernelFunctors { }; template - class Compute_dz_3 : public Has_qrt + class Compute_dz_3 { typedef typename K::RT RT; typedef typename K::Direction_3 Direction_3; public: - typedef RT result_type; + typedef const RT& result_type; - const result_type & + result_type operator()(const Direction_3& d) const { return d.rep().dz(); @@ -1640,7 +1640,7 @@ namespace HomogeneousKernelFunctors { }; template - class Compute_hx_2 : public Has_qrt + class Compute_hx_2 { typedef typename K::FT FT; typedef typename K::RT RT; @@ -1648,15 +1648,15 @@ namespace HomogeneousKernelFunctors { typedef typename K::Vector_2 Vector_2; public: - typedef RT result_type; + typedef const RT& result_type; - const result_type & + result_type operator()(const Point_2& p) const { return p.rep().hx(); } - const result_type & + result_type operator()(const Vector_2& v) const { return v.rep().hx(); @@ -1664,7 +1664,7 @@ namespace HomogeneousKernelFunctors { }; template - class Compute_hx_3 : public Has_qrt + class Compute_hx_3 { typedef typename K::FT FT; typedef typename K::RT RT; @@ -1672,15 +1672,15 @@ namespace HomogeneousKernelFunctors { typedef typename K::Vector_3 Vector_3; public: - typedef RT result_type; + typedef const RT& result_type; - const result_type & + result_type operator()(const Point_3& p) const { return p.rep().hx(); } - const result_type & + result_type operator()(const Vector_3& v) const { return v.rep().hx(); @@ -1688,7 +1688,7 @@ namespace HomogeneousKernelFunctors { }; template - class Compute_hy_2 : public Has_qrt + class Compute_hy_2 { typedef typename K::FT FT; typedef typename K::RT RT; @@ -1696,15 +1696,15 @@ namespace HomogeneousKernelFunctors { typedef typename K::Vector_2 Vector_2; public: - typedef RT result_type; + typedef const RT& result_type; - const result_type & + result_type operator()(const Point_2& p) const { return p.rep().hy(); } - const result_type & + result_type operator()(const Vector_2& v) const { return v.rep().hy(); @@ -1712,7 +1712,7 @@ namespace HomogeneousKernelFunctors { }; template - class Compute_hy_3 : public Has_qrt + class Compute_hy_3 { typedef typename K::FT FT; typedef typename K::RT RT; @@ -1720,15 +1720,15 @@ namespace HomogeneousKernelFunctors { typedef typename K::Vector_3 Vector_3; public: - typedef RT result_type; + typedef const RT & result_type; - const result_type & + result_type operator()(const Point_3& p) const { return p.rep().hy(); } - const result_type & + result_type operator()(const Vector_3& v) const { return v.rep().hy(); @@ -1736,7 +1736,7 @@ namespace HomogeneousKernelFunctors { }; template - class Compute_hz_3 : public Has_qrt + class Compute_hz_3 { typedef typename K::FT FT; typedef typename K::RT RT; @@ -1744,15 +1744,15 @@ namespace HomogeneousKernelFunctors { typedef typename K::Vector_3 Vector_3; public: - typedef RT result_type; + typedef const RT& result_type; - const result_type & + result_type operator()(const Point_3& p) const { return p.rep().hz(); } - const result_type & + result_type operator()(const Vector_3& v) const { return v.rep().hz(); @@ -1760,7 +1760,7 @@ namespace HomogeneousKernelFunctors { }; template - class Compute_hw_2 : public Has_qrt + class Compute_hw_2 { typedef typename K::FT FT; typedef typename K::RT RT; @@ -1768,15 +1768,15 @@ namespace HomogeneousKernelFunctors { typedef typename K::Vector_2 Vector_2; public: - typedef RT result_type; + typedef const RT& result_type; - const result_type & + result_type operator()(const Point_2& p) const { return p.rep().hw(); } - const result_type & + result_type operator()(const Vector_2& v) const { return v.rep().hw(); @@ -1784,7 +1784,7 @@ namespace HomogeneousKernelFunctors { }; template - class Compute_hw_3 : public Has_qrt + class Compute_hw_3 { typedef typename K::FT FT; typedef typename K::RT RT; @@ -1792,15 +1792,15 @@ namespace HomogeneousKernelFunctors { typedef typename K::Vector_3 Vector_3; public: - typedef RT result_type; + typedef const RT& result_type; - const result_type & + result_type operator()(const Point_3& p) const { return p.rep().hw(); } - const result_type & + result_type operator()(const Vector_3& v) const { return v.rep().hw(); @@ -3517,7 +3517,15 @@ namespace HomogeneousKernelFunctors { typedef typename K::Iso_rectangle_2 Iso_rectangle_2; typedef typename K::Triangle_2 Triangle_2; public: - typedef Point_2 result_type; + template + struct result { + typedef const Point_2& type; + }; + + template + struct result { + typedef Point_2 type; + }; const Point_2 & operator()( const Segment_2& s, int i) const @@ -3527,7 +3535,7 @@ namespace HomogeneousKernelFunctors { operator()( const Triangle_2& t, int i) const { return t.rep().vertex(i); } - const Point_2 + Point_2 operator()( const Iso_rectangle_2& r, int i) const { switch (i%4) { @@ -3547,22 +3555,6 @@ namespace HomogeneousKernelFunctors { } //namespace HomogeneousKernelFunctors -#ifndef CGAL_CFG_DONT_OVERLOAD_TOO_MUCH -template < typename K> -struct Qualified_result_of, typename K::Segment_2, int > -{ - typedef typename K::Point_2 const & type; -}; - -template < typename K> -struct Qualified_result_of, typename K::Triangle_2, int > -{ - typedef typename K::Point_2 const & type; -}; -#endif - -// For Iso_rectangle the non specialized template will do the right thing, namely return a copy of a point - namespace HomogeneousKernelFunctors { template diff --git a/Interpolation/demo/Interpolation/CMakeLists.txt b/Interpolation/demo/Interpolation/CMakeLists.txt new file mode 100644 index 00000000000..8a138527bac --- /dev/null +++ b/Interpolation/demo/Interpolation/CMakeLists.txt @@ -0,0 +1,34 @@ +# Created by the script cgal_create_cmake_script +# This is the CMake script for compiling a CGAL application. + + +project( Interpolation_ ) + +cmake_minimum_required(VERSION 2.6.2) +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" VERSION_GREATER 2.6) + if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER 2.8.3) + cmake_policy(VERSION 2.8.4) + else() + cmake_policy(VERSION 2.6) + endif() +endif() + +find_package(CGAL QUIET COMPONENTS Core ) + +if ( CGAL_FOUND ) + + include( ${CGAL_USE_FILE} ) + + include( CGAL_CreateSingleSourceCGALProgram ) + + include_directories (BEFORE "../../include") + + create_single_source_cgal_program( "interpolation_2_demo.cpp" ) + create_single_source_cgal_program( "surface_voronoi.cpp" ) + +else() + + message(STATUS "This program requires the CGAL library, and will not be compiled.") + +endif() + diff --git a/Interpolation/demo/Interpolation/interpolation_2.cpp b/Interpolation/demo/Interpolation/interpolation_2_demo.cpp similarity index 100% rename from Interpolation/demo/Interpolation/interpolation_2.cpp rename to Interpolation/demo/Interpolation/interpolation_2_demo.cpp diff --git a/Intersections_3/include/CGAL/internal/Intersections_3/Triangle_3_Segment_3_intersection.h b/Intersections_3/include/CGAL/internal/Intersections_3/Triangle_3_Segment_3_intersection.h index 86c83351dfe..841499dd6c1 100644 --- a/Intersections_3/include/CGAL/internal/Intersections_3/Triangle_3_Segment_3_intersection.h +++ b/Intersections_3/include/CGAL/internal/Intersections_3/Triangle_3_Segment_3_intersection.h @@ -156,26 +156,36 @@ t3s3_intersection_collinear_aux(const typename K::Point_3& a, typename K::Equal_3 equals = k.equal_3_object(); - // possible orders: [p,a,b,q], [p,a,q,b], [a,p,b,q], [a,p,q,b] - if ( collinear_ordered(p,a,q) ) + // possible orders: [p,a,b,q], [p,a,q,b], [p,q,a,b], [a,p,b,q], [a,p,q,b], [a,b,p,q] + if ( collinear_ordered(p,a,b) ) { // p is before a - if ( collinear_ordered(p,b,q) ) - return make_object(segment(a,b)); - else - return equals(a,q)? - make_object(a): - make_object(segment(a,q)); + //possible orders: [p,a,b,q], [p,a,q,b], [p,q,a,b] + if ( collinear_ordered(a,b,q) ) + return make_object(segment(a,b)); //[p,a,b,q] + else{ + if ( collinear_ordered(q,a,b) ) + return equals(a,q)? //[p,q,a,b] + make_object(a): + Object(); + return make_object(segment(a,q)); //[p,a,q,b] + } } else { // p is after a + //possible orders: [a,p,b,q], [a,p,q,b], [a,b,p,q] if ( collinear_ordered(p,b,q) ) - return equals(p,b)? + return equals(p,b)? // [a,p,b,q] make_object(p): make_object(segment(p,b)); - else - return make_object(segment(p,q)); + else{ + if ( collinear_ordered(a,b,p) ) + return equals(p,b)? // [a,b,p,q] + make_object(p): + Object(); + return make_object(segment(p,q)); // [a,p,q,b] + } } } diff --git a/Intersections_3/test/Intersections_3/bbox_other_do_intersect_test.cpp b/Intersections_3/test/Intersections_3/bbox_other_do_intersect_test.cpp index ba3c575e73a..936afd1b6ed 100644 --- a/Intersections_3/test/Intersections_3/bbox_other_do_intersect_test.cpp +++ b/Intersections_3/test/Intersections_3/bbox_other_do_intersect_test.cpp @@ -99,20 +99,24 @@ void speed(const std::string& name) CGAL::Timer timer; timer.start(); + std::size_t success = 0; while ( timer.time() < 0.1 ) { for ( typename std::vector::iterator it = segment_vector.begin(); it != segment_vector.end() ; ++it ) { - do_intersect(bbox_small, *it); + success += do_intersect(bbox_small, *it); } ++nb_loops; } timer.stop(); + std::cout << std::fixed << std::setprecision(1); std::cout << "\tDo_intersect(bbox, " << name << "): " << (nb_loops*segment_vector.size()) / (timer.time()*1000) - << " computations / ms " << std::endl; + << " computations / ms " + << (success / ((0.+ nb_loops*segment_vector.size()) / 100)) + << "% of intersection" << std::endl; } template @@ -336,6 +340,10 @@ int main() b &= test >(); test_speed >(); + std::cout << std::endl << "Testing with Simple_cartesian..." << std::endl ; + b &= test >(); + test_speed >(); + std::cout << std::endl << "Testing with Cartesian..." << std::endl ; b &= test >(); test_speed >(); @@ -344,6 +352,11 @@ int main() b &= test >(); test_speed >(); + std::cout << std::endl << "Testing with Filtered_kernel > without static filters..." << std::endl ; + typedef CGAL::Filtered_kernel, false> Fk_no_static; + b &= test(); + test_speed(); + std::cout << std::endl << "Testing with Exact_predicates_inexact_constructions_kernel..." << std::endl ; b &= test(); test_speed(); diff --git a/Intersections_3/test/Intersections_3/triangle_other_intersection_test.cpp b/Intersections_3/test/Intersections_3/triangle_other_intersection_test.cpp index 57036f2e574..6f29a180e18 100644 --- a/Intersections_3/test/Intersections_3/triangle_other_intersection_test.cpp +++ b/Intersections_3/test/Intersections_3/triangle_other_intersection_test.cpp @@ -216,15 +216,20 @@ void random_test() // Precomputed results test // ----------------------------------- template -bool test_aux(const Triangle t, +bool test_aux(bool is_kernel_exact, + const Triangle t, const Query& q, const std::string& name, - const Result& expected) + const Result& expected, + double sq_espilon = 1e-20) { CGAL::Object object = CGAL::intersection(t,q); const Result* pr = CGAL::object_cast(&object); - if ( (NULL != pr) && (expected == *pr) ) + if ( (NULL != pr) && + (is_kernel_exact ? + (expected == *pr) : + CGAL::to_double(CGAL::squared_distance(expected, *pr)) < sq_espilon ) ) { return true; } @@ -243,7 +248,7 @@ bool test_aux(const Triangle t, } template -bool test() +bool test(bool is_kernel_exact = true) { // types typedef typename K::FT FT; @@ -281,10 +286,10 @@ bool test() Segment s32(p3,p2); Segment s31(p3,p1); - bool b = test_aux(t,s12,"t-s12",s12); - b &= test_aux(t,s21,"t-s21",s21); - b &= test_aux(t,s13,"t-s13",s13); - b &= test_aux(t,s23,"t-s23",s23); + bool b = test_aux(is_kernel_exact,t,s12,"t-s12",s12); + b &= test_aux(is_kernel_exact,t,s21,"t-s21",s21); + b &= test_aux(is_kernel_exact,t,s13,"t-s13",s13); + b &= test_aux(is_kernel_exact,t,s23,"t-s23",s23); // Inside points Point p4(FT(0.5), FT(0.5), FT(0.)); @@ -318,30 +323,30 @@ bool test() Segment s78(p7,p8); Segment s87(p8,p7); - b &= test_aux(t,s14,"t-s14",s14); - b &= test_aux(t,s41,"t-s41",s41); - b &= test_aux(t,s24,"t-s24",s24); - b &= test_aux(t,s42,"t-s42",s42); - b &= test_aux(t,s15,"t-s15",s15); - b &= test_aux(t,s25,"t-s25",s25); - b &= test_aux(t,s34,"t-s34",s34); - b &= test_aux(t,s35,"t-s35",s35); - b &= test_aux(t,s36,"t-s36",s36); - b &= test_aux(t,s45,"t-s45",s45); - b &= test_aux(t,s16,"t-s16",s16); - b &= test_aux(t,s26,"t-s26",s26); - b &= test_aux(t,s62,"t-s62",s62); - b &= test_aux(t,s46,"t-s46",s46); - b &= test_aux(t,s65,"t-s65",s65); - b &= test_aux(t,s64,"t-s64",s64); - b &= test_aux(t,s48,"t-s48",s48); - b &= test_aux(t,s56,"t-s56",s56); - b &= test_aux(t,s17,"t-t17",s17); - b &= test_aux(t,s67,"t-t67",s67); - b &= test_aux(t,s68,"t-s68",s68); - b &= test_aux(t,s86,"t-s86",s86); - b &= test_aux(t,s78,"t-t78",s78); - b &= test_aux(t,s87,"t-t87",s87); + b &= test_aux(is_kernel_exact,t,s14,"t-s14",s14); + b &= test_aux(is_kernel_exact,t,s41,"t-s41",s41); + b &= test_aux(is_kernel_exact,t,s24,"t-s24",s24); + b &= test_aux(is_kernel_exact,t,s42,"t-s42",s42); + b &= test_aux(is_kernel_exact,t,s15,"t-s15",s15); + b &= test_aux(is_kernel_exact,t,s25,"t-s25",s25); + b &= test_aux(is_kernel_exact,t,s34,"t-s34",s34); + b &= test_aux(is_kernel_exact,t,s35,"t-s35",s35); + b &= test_aux(is_kernel_exact,t,s36,"t-s36",s36); + b &= test_aux(is_kernel_exact,t,s45,"t-s45",s45); + b &= test_aux(is_kernel_exact,t,s16,"t-s16",s16); + b &= test_aux(is_kernel_exact,t,s26,"t-s26",s26); + b &= test_aux(is_kernel_exact,t,s62,"t-s62",s62); + b &= test_aux(is_kernel_exact,t,s46,"t-s46",s46); + b &= test_aux(is_kernel_exact,t,s65,"t-s65",s65); + b &= test_aux(is_kernel_exact,t,s64,"t-s64",s64); + b &= test_aux(is_kernel_exact,t,s48,"t-s48",s48); + b &= test_aux(is_kernel_exact,t,s56,"t-s56",s56); + b &= test_aux(is_kernel_exact,t,s17,"t-t17",s17); + b &= test_aux(is_kernel_exact,t,s67,"t-t67",s67); + b &= test_aux(is_kernel_exact,t,s68,"t-s68",s68); + b &= test_aux(is_kernel_exact,t,s86,"t-s86",s86); + b &= test_aux(is_kernel_exact,t,s78,"t-t78",s78); + b &= test_aux(is_kernel_exact,t,s87,"t-t87",s87); // Outside points (in triangle plane) Point pA(FT(-0.5), FT(1.), FT(0.5)); @@ -362,17 +367,17 @@ bool test() Segment s1F(p1,pF); Segment sF6(pF,p6); - b &= test_aux(t,sAB,"t-sAB",p2); - b &= test_aux(t,sBC,"t-sBC",s46); - b &= test_aux(t,s2E,"t-s2E",s26); - b &= test_aux(t,sE2,"t-sE2",s62); - b &= test_aux(t,s2A,"t-s2A",p2); - b &= test_aux(t,s6E,"t-s6E",p6); - b &= test_aux(t,sB8,"t-sB8",s48); - b &= test_aux(t,sC8,"t-sC8",s68); - b &= test_aux(t,s8C,"t-s8C",s86); - b &= test_aux(t,s1F,"t-s1F",s13); - b &= test_aux(t,sF6,"t-sF6",s36); + b &= test_aux(is_kernel_exact,t,sAB,"t-sAB",p2); + b &= test_aux(is_kernel_exact,t,sBC,"t-sBC",s46); + b &= test_aux(is_kernel_exact,t,s2E,"t-s2E",s26); + b &= test_aux(is_kernel_exact,t,sE2,"t-sE2",s62); + b &= test_aux(is_kernel_exact,t,s2A,"t-s2A",p2); + b &= test_aux(is_kernel_exact,t,s6E,"t-s6E",p6); + b &= test_aux(is_kernel_exact,t,sB8,"t-sB8",s48); + b &= test_aux(is_kernel_exact,t,sC8,"t-sC8",s68); + b &= test_aux(is_kernel_exact,t,s8C,"t-s8C",s86); + b &= test_aux(is_kernel_exact,t,s1F,"t-s1F",s13); + b &= test_aux(is_kernel_exact,t,sF6,"t-sF6",s36); // Outside triangle plane Point pa(FT(0.), FT(0.), FT(0.)); @@ -386,11 +391,11 @@ bool test() Segment sa8(pa,p8); Segment sb2(pb,p2); - b &= test_aux(t,sab,"t-sab",p1); - b &= test_aux(t,sac,"t-sac",p6); - b &= test_aux(t,sae,"t-sae",p8); - b &= test_aux(t,sa8,"t-sa8",p8); - b &= test_aux(t,sb2,"t-sb2",p2); + b &= test_aux(is_kernel_exact,t,sab,"t-sab",p1); + b &= test_aux(is_kernel_exact,t,sac,"t-sac",p6); + b &= test_aux(is_kernel_exact,t,sae,"t-sae",p8); + b &= test_aux(is_kernel_exact,t,sa8,"t-sa8",p8); + b &= test_aux(is_kernel_exact,t,sb2,"t-sb2",p2); // ----------------------------------- // ray queries @@ -401,10 +406,10 @@ bool test() Ray r13(p1,p3); Ray r23(p2,p3); - b &= test_aux(t,r12,"t-r12",s12); - b &= test_aux(t,r21,"t-r21",s21); - b &= test_aux(t,r13,"t-r13",s13); - b &= test_aux(t,r23,"t-r23",s23); + b &= test_aux(is_kernel_exact,t,r12,"t-r12",s12); + b &= test_aux(is_kernel_exact,t,r21,"t-r21",s21); + b &= test_aux(is_kernel_exact,t,r13,"t-r13",s13); + b &= test_aux(is_kernel_exact,t,r23,"t-r23",s23); // In triangle Point p9_(FT(0.), FT(0.5), FT(0.5)); @@ -432,26 +437,26 @@ bool test() Ray r68(p6,p8); Segment r89_res(p8,p9_); - b &= test_aux(t,r14,"t-r14",s12); - b &= test_aux(t,r41,"t-r41",s41); - b &= test_aux(t,r24,"t-r24",s21); - b &= test_aux(t,r42,"t-r42",s42); - b &= test_aux(t,r15,"t-r15",s15); - b &= test_aux(t,r25,"t-r25",s23); - b &= test_aux(t,r34,"t-r34",s34); - b &= test_aux(t,r35,"t-r35",s32); - b &= test_aux(t,r36,"t-r36",s31); - b &= test_aux(t,r45,"t-r45",s45); - b &= test_aux(t,r16,"t-r16",s13); - b &= test_aux(t,r26,"t-r26",s26); - b &= test_aux(t,r62,"t-r62",s62); - b &= test_aux(t,r46,"t-r46",s46); - b &= test_aux(t,r48,"t-r48",s46); - b &= test_aux(t,r56,"t-r56",s56); - b &= test_aux(t,r47,"t-r47",s45); - b &= test_aux(t,r89,"t-t89",r89_res); - b &= test_aux(t,r68,"t-r68",s64); - b &= test_aux(t,r86,"t-r86",s86); + b &= test_aux(is_kernel_exact,t,r14,"t-r14",s12); + b &= test_aux(is_kernel_exact,t,r41,"t-r41",s41); + b &= test_aux(is_kernel_exact,t,r24,"t-r24",s21); + b &= test_aux(is_kernel_exact,t,r42,"t-r42",s42); + b &= test_aux(is_kernel_exact,t,r15,"t-r15",s15); + b &= test_aux(is_kernel_exact,t,r25,"t-r25",s23); + b &= test_aux(is_kernel_exact,t,r34,"t-r34",s34); + b &= test_aux(is_kernel_exact,t,r35,"t-r35",s32); + b &= test_aux(is_kernel_exact,t,r36,"t-r36",s31); + b &= test_aux(is_kernel_exact,t,r45,"t-r45",s45); + b &= test_aux(is_kernel_exact,t,r16,"t-r16",s13); + b &= test_aux(is_kernel_exact,t,r26,"t-r26",s26); + b &= test_aux(is_kernel_exact,t,r62,"t-r62",s62); + b &= test_aux(is_kernel_exact,t,r46,"t-r46",s46); + b &= test_aux(is_kernel_exact,t,r48,"t-r48",s46); + b &= test_aux(is_kernel_exact,t,r56,"t-r56",s56); + b &= test_aux(is_kernel_exact,t,r47,"t-r47",s45); + b &= test_aux(is_kernel_exact,t,r89,"t-t89",r89_res); + b &= test_aux(is_kernel_exact,t,r68,"t-r68",s64); + b &= test_aux(is_kernel_exact,t,r86,"t-r86",s86); // Outside points (in triangre prane) @@ -467,17 +472,17 @@ bool test() Ray r1F(p1,pF); Ray rF6(pF,p6); - b &= test_aux(t,rAB,"t-rAB",p2); - b &= test_aux(t,rBC,"t-rBC",s46); - b &= test_aux(t,r2E,"t-r2E",s26); - b &= test_aux(t,rE2,"t-rE2",s62); - b &= test_aux(t,r2A,"t-r2A",p2); - b &= test_aux(t,r6E,"t-r6E",p6); - b &= test_aux(t,rB8,"t-rB8",s46); - b &= test_aux(t,rC8,"t-rC8",s64); - b &= test_aux(t,r8C,"t-r8C",s86); - b &= test_aux(t,r1F,"t-r1F",s13); - b &= test_aux(t,rF6,"t-rF6",s31); + b &= test_aux(is_kernel_exact,t,rAB,"t-rAB",p2); + b &= test_aux(is_kernel_exact,t,rBC,"t-rBC",s46); + b &= test_aux(is_kernel_exact,t,r2E,"t-r2E",s26); + b &= test_aux(is_kernel_exact,t,rE2,"t-rE2",s62); + b &= test_aux(is_kernel_exact,t,r2A,"t-r2A",p2); + b &= test_aux(is_kernel_exact,t,r6E,"t-r6E",p6); + b &= test_aux(is_kernel_exact,t,rB8,"t-rB8",s46); + b &= test_aux(is_kernel_exact,t,rC8,"t-rC8",s64); + b &= test_aux(is_kernel_exact,t,r8C,"t-r8C",s86); + b &= test_aux(is_kernel_exact,t,r1F,"t-r1F",s13); + b &= test_aux(is_kernel_exact,t,rF6,"t-rF6",s31); // Outside triangle plane Ray rab(pa,pb); @@ -486,11 +491,11 @@ bool test() Ray ra8(pa,p8); Ray rb2(pb,p2); - b &= test_aux(t,rab,"t-rab",p1); - b &= test_aux(t,rac,"t-rac",p6); - b &= test_aux(t,rae,"t-rae",p8); - b &= test_aux(t,ra8,"t-ra8",p8); - b &= test_aux(t,rb2,"t-rb2",p2); + b &= test_aux(is_kernel_exact,t,rab,"t-rab",p1); + b &= test_aux(is_kernel_exact,t,rac,"t-rac",p6); + b &= test_aux(is_kernel_exact,t,rae,"t-rae",p8); + b &= test_aux(is_kernel_exact,t,ra8,"t-ra8",p8); + b &= test_aux(is_kernel_exact,t,rb2,"t-rb2",p2); // ----------------------------------- // Line queries @@ -501,10 +506,10 @@ bool test() Line l13(p1,p3); Line l23(p2,p3); - b &= test_aux(t,l12,"t-l12",s12); - b &= test_aux(t,l21,"t-l21",s21); - b &= test_aux(t,l13,"t-l13",s13); - b &= test_aux(t,l23,"t-l23",s23); + b &= test_aux(is_kernel_exact,t,l12,"t-l12",s12); + b &= test_aux(is_kernel_exact,t,l21,"t-l21",s21); + b &= test_aux(is_kernel_exact,t,l13,"t-l13",s13); + b &= test_aux(is_kernel_exact,t,l23,"t-l23",s23); // In triangle Line l14(p1,p4); @@ -530,26 +535,26 @@ bool test() Segment l89_res(p1,p9_); - b &= test_aux(t,l14,"t-l14",s12); - b &= test_aux(t,l41,"t-l41",s21); - b &= test_aux(t,l24,"t-l24",s21); - b &= test_aux(t,l42,"t-l42",s12); - b &= test_aux(t,l15,"t-l15",s15); - b &= test_aux(t,l25,"t-l25",s23); - b &= test_aux(t,l34,"t-l34",s34); - b &= test_aux(t,l35,"t-l35",s32); - b &= test_aux(t,l36,"t-l36",s31); - b &= test_aux(t,l45,"t-l45",s45); - b &= test_aux(t,l16,"t-l16",s13); - b &= test_aux(t,l26,"t-l26",s26); - b &= test_aux(t,l62,"t-l62",s62); - b &= test_aux(t,l46,"t-l46",s46); - b &= test_aux(t,l48,"t-l48",s46); - b &= test_aux(t,l56,"t-l56",s56); - b &= test_aux(t,l47,"t-l47",s45); - b &= test_aux(t,l89,"t-t89",l89_res); - b &= test_aux(t,l68,"t-l68",s64); - b &= test_aux(t,l86,"t-l86",s46); + b &= test_aux(is_kernel_exact,t,l14,"t-l14",s12); + b &= test_aux(is_kernel_exact,t,l41,"t-l41",s21); + b &= test_aux(is_kernel_exact,t,l24,"t-l24",s21); + b &= test_aux(is_kernel_exact,t,l42,"t-l42",s12); + b &= test_aux(is_kernel_exact,t,l15,"t-l15",s15); + b &= test_aux(is_kernel_exact,t,l25,"t-l25",s23); + b &= test_aux(is_kernel_exact,t,l34,"t-l34",s34); + b &= test_aux(is_kernel_exact,t,l35,"t-l35",s32); + b &= test_aux(is_kernel_exact,t,l36,"t-l36",s31); + b &= test_aux(is_kernel_exact,t,l45,"t-l45",s45); + b &= test_aux(is_kernel_exact,t,l16,"t-l16",s13); + b &= test_aux(is_kernel_exact,t,l26,"t-l26",s26); + b &= test_aux(is_kernel_exact,t,l62,"t-l62",s62); + b &= test_aux(is_kernel_exact,t,l46,"t-l46",s46); + b &= test_aux(is_kernel_exact,t,l48,"t-l48",s46); + b &= test_aux(is_kernel_exact,t,l56,"t-l56",s56); + b &= test_aux(is_kernel_exact,t,l47,"t-l47",s45); + b &= test_aux(is_kernel_exact,t,l89,"t-t89",l89_res); + b &= test_aux(is_kernel_exact,t,l68,"t-l68",s64); + b &= test_aux(is_kernel_exact,t,l86,"t-l86",s46); // Outside points (in triangle plane) @@ -565,17 +570,17 @@ bool test() Line l1F(p1,pF); Line lF6(pF,p6); - b &= test_aux(t,lAB,"t-lAB",p2); - b &= test_aux(t,lBC,"t-lBC",s46); - b &= test_aux(t,l2E,"t-l2E",s26); - b &= test_aux(t,lE2,"t-lE2",s62); - b &= test_aux(t,l2A,"t-l2A",p2); - b &= test_aux(t,l6E,"t-l6E",s26); - b &= test_aux(t,lB8,"t-lB8",s46); - b &= test_aux(t,lC8,"t-lC8",s64); - b &= test_aux(t,l8C,"t-l8C",s46); - b &= test_aux(t,l1F,"t-l1F",s13); - b &= test_aux(t,lF6,"t-lF6",s31); + b &= test_aux(is_kernel_exact,t,lAB,"t-lAB",p2); + b &= test_aux(is_kernel_exact,t,lBC,"t-lBC",s46); + b &= test_aux(is_kernel_exact,t,l2E,"t-l2E",s26); + b &= test_aux(is_kernel_exact,t,lE2,"t-lE2",s62); + b &= test_aux(is_kernel_exact,t,l2A,"t-l2A",p2); + b &= test_aux(is_kernel_exact,t,l6E,"t-l6E",s26); + b &= test_aux(is_kernel_exact,t,lB8,"t-lB8",s46); + b &= test_aux(is_kernel_exact,t,lC8,"t-lC8",s64); + b &= test_aux(is_kernel_exact,t,l8C,"t-l8C",s46); + b &= test_aux(is_kernel_exact,t,l1F,"t-l1F",s13); + b &= test_aux(is_kernel_exact,t,lF6,"t-lF6",s31); // Outside triangle plane Line lab(pa,pb); @@ -584,11 +589,11 @@ bool test() Line la8(pa,p8); Line lb2(pb,p2); - b &= test_aux(t,lab,"t-lab",p1); - b &= test_aux(t,lac,"t-lac",p6); - b &= test_aux(t,lae,"t-lae",p8); - b &= test_aux(t,la8,"t-la8",p8); - b &= test_aux(t,lb2,"t-lb2",p2); + b &= test_aux(is_kernel_exact,t,lab,"t-lab",p1); + b &= test_aux(is_kernel_exact,t,lac,"t-lac",p6); + b &= test_aux(is_kernel_exact,t,lae,"t-lae",p8); + b &= test_aux(is_kernel_exact,t,la8,"t-la8",p8); + b &= test_aux(is_kernel_exact,t,lb2,"t-lb2",p2); return b; @@ -606,23 +611,28 @@ int main() // ----------------------------------- std::cout << "Test precomputed intersection results" << std::endl; std::cout << "\tTesting with Simple_cartesian..." << std::endl ; - bool b = test(); + bool b = test(false); std::cout << "\tTesting with Simple_cartesian..." << std::endl ; - b &= test(); + b &= test(false); std::cout << "\tTesting with Cartesian..." << std::endl ; - b &= test(); + b &= test(false); std::cout << "\tTesting with Cartesian..." << std::endl ; - b &= test(); + b &= test(false); std::cout << "\tTesting with Exact_predicates_inexact_constructions_kernel..." << std::endl ; - b &= test(); + b &= test(false); std::cout << "\tTesting with Exact_predicates_exact_constructions_kernel..." << std::endl ; - b &= test(); - + b &= test(true); + //test with a coplanar segment + b &= CGAL::intersection( + Epec::Segment_3(Epec::Point_3(0.125, 0, -0.125),Epec::Point_3(0.25, 0, -0.125) ), + Epec::Triangle_3( Epec::Point_3(0.2500001, 0, -0.125), + Epec::Point_3(1.0278171, 0, -0.125) /* vertex 10*/, + Epec::Point_3(1.0278171, 0, -0.250001) /* vertex 9*/ ) ).empty(); // ----------------------------------- // Test random intersection // ----------------------------------- diff --git a/Kernel_23/doc_tex/Kernel_23_ref/intersection.tex b/Kernel_23/doc_tex/Kernel_23_ref/intersection.tex index 8cd6320dbdd..0e6ddab751e 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/intersection.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/intersection.tex @@ -37,27 +37,48 @@ following: \hline type A & type B & \parbox{4 cm}{\vspace{1 mm}{return type}} \\ \hline +\ccStyle{Iso_rectangle_2} & \ccStyle{Iso_rectangle_2} & \parbox{4 cm}{\vspace{1 mm} + \ccStyle{Iso_rectangle_2} + \vspace{1 mm}} \\ +\hline +\ccStyle{Iso_rectangle_2} & \ccStyle{Line_2} & \parbox{4 cm}{\vspace{1 mm} + \ccStyle{Point_2} + \\ \ccStyle{Segment_2} + \vspace{1 mm}} \\ +\hline +\ccStyle{Iso_rectangle_2} & \ccStyle{Ray_2} & \parbox{4 cm}{\vspace{1 mm} + \ccStyle{Point_2} + \\ \ccStyle{Segment_2} + \vspace{1 mm}} \\ +\hline +\ccStyle{Iso_rectangle_2} & \ccStyle{Segment_2} & \parbox{4 cm}{\vspace{1 mm} + \ccStyle{Point_2} + \\ \ccStyle{Segment_2} + \vspace{1 mm}} \\ +\hline +\ccStyle{Iso_rectangle_2} & \ccStyle{Triangle_2} & \parbox{4 cm}{\vspace{1 mm} + \ccStyle{Point_2} + \\ \ccStyle{Segment_2} + \\ \ccStyle{Triangle_2} + \\ \ccStyle{std::vector} + \vspace{1 mm}} \\ +\hline \ccStyle{Line_2} & \ccStyle{Line_2} & \parbox{4 cm}{\vspace{1 mm} \ccStyle{Point_2} \\ \ccStyle{Line_2} \vspace{1 mm}} \\ \hline -\ccStyle{Segment_2} & \ccStyle{Line_2} & \parbox{4 cm}{\vspace{1 mm} - \ccStyle{Point_2} - \\ \ccStyle{Segment_2} - \vspace{1 mm}} \\ -\hline -\ccStyle{Segment_2} & \ccStyle{Segment_2} & \parbox{4 cm}{\vspace{1 mm} - \ccStyle{Point_2} - \\ \ccStyle{Segment_2} - \vspace{1 mm}} \\ -\hline -\ccStyle{Ray_2} & \ccStyle{Line_2} & \parbox{4 cm}{\vspace{1 mm} +\ccStyle{Line_2} & \ccStyle{Ray_2} & \parbox{4 cm}{\vspace{1 mm} \ccStyle{Point_2} \\ \ccStyle{Ray_2} \vspace{1 mm}} \\ \hline -\ccStyle{Ray_2} & \ccStyle{Segment_2} & \parbox{4 cm}{\vspace{1 mm} +\ccStyle{Line_2} & \ccStyle{Segment_2} & \parbox{4 cm}{\vspace{1 mm} + \ccStyle{Point_2} + \\ \ccStyle{Segment_2} + \vspace{1 mm}} \\ +\hline +\ccStyle{Line_2} & \ccStyle{Triangle_2} & \parbox{4 cm}{\vspace{1 mm} \ccStyle{Point_2} \\ \ccStyle{Segment_2} \vspace{1 mm}} \\ @@ -68,17 +89,22 @@ type A & type B & \parbox{4 cm}{\vspace{1 mm}{return type}} \\ \\ \ccStyle{Ray_2} \vspace{1 mm}} \\ \hline -\ccStyle{Triangle_2} & \ccStyle{Line_2} & \parbox{4 cm}{\vspace{1 mm} +\ccStyle{Ray_2} & \ccStyle{Segment_2} & \parbox{4 cm}{\vspace{1 mm} \ccStyle{Point_2} \\ \ccStyle{Segment_2} \vspace{1 mm}} \\ \hline -\ccStyle{Triangle_2} & \ccStyle{Segment_2} & \parbox{4 cm}{\vspace{1 mm} +\ccStyle{Ray_2} & \ccStyle{Triangle_2} & \parbox{4 cm}{\vspace{1 mm} \ccStyle{Point_2} \\ \ccStyle{Segment_2} \vspace{1 mm}} \\ \hline -\ccStyle{Triangle_2} & \ccStyle{Ray_2} & \parbox{4 cm}{\vspace{1 mm} +\ccStyle{Segment_2} & \ccStyle{Segment_2} & \parbox{4 cm}{\vspace{1 mm} + \ccStyle{Point_2} + \\ \ccStyle{Segment_2} + \vspace{1 mm}} \\ +\hline +\ccStyle{Segment_2} & \ccStyle{Triangle_2} & \parbox{4 cm}{\vspace{1 mm} \ccStyle{Point_2} \\ \ccStyle{Segment_2} \vspace{1 mm}} \\ @@ -90,25 +116,6 @@ type A & type B & \parbox{4 cm}{\vspace{1 mm}{return type}} \\ \\ \ccStyle{std::vector} \vspace{1 mm}} \\ \hline -\ccStyle{Iso_rectangle_2} & \ccStyle{Line_2} & \parbox{4 cm}{\vspace{1 mm} - \ccStyle{Point_2} - \\ \ccStyle{Segment_2} - \vspace{1 mm}} \\ -\hline -\ccStyle{Iso_rectangle_2} & \ccStyle{Segment_2} & \parbox{4 cm}{\vspace{1 mm} - \ccStyle{Point_2} - \\ \ccStyle{Segment_2} - \vspace{1 mm}} \\ -\hline -\ccStyle{Iso_rectangle_2} & \ccStyle{Ray_2} & \parbox{4 cm}{\vspace{1 mm} - \ccStyle{Point_2} - \\ \ccStyle{Segment_2} - \vspace{1 mm}} \\ -\hline -\ccStyle{Iso_rectangle_2} & \ccStyle{Iso_rectangle_2} & \parbox{4 cm}{\vspace{1 mm} - \ccStyle{Iso_rectangle_2} - \vspace{1 mm}} \\ -\hline {\ccStyle{Line_3}} & {\ccStyle{Line_3}} & \parbox{4 cm}{\vspace{1 mm} \ccStyle{Point_3} \\ \ccStyle{Line_3} @@ -209,6 +216,48 @@ type A & type B & \parbox{4 cm}{\vspace{1 mm}{return type}} \\ type B return type + + Iso_rectangle_2 + Iso_rectangle_2 + + +
Iso_rectangle_2
+ + + + Iso_rectangle_2 + Line_2 + + + +
Point_2
Segment_2
+ + + Iso_rectangle_2 + Ray_2 + + + +
Point_2
Segment_2
+ + + Iso_rectangle_2 + Segment_2 + + + +
Point_2
Segment_2
+ + + Iso_rectangle_2 + Triangle_2 + + + + + +
Point_2
Segment_2
Triangle_2
std::vector<Point_2>
+ Line_2 Line_2 @@ -218,37 +267,29 @@ type A & type B & \parbox{4 cm}{\vspace{1 mm}{return type}} \\ - Segment_2 Line_2 - - - -
Point_2
Segment_2
- - - Segment_2 - Segment_2 - - - -
Point_2
Segment_2
- - Ray_2 - Line_2
Point_2
Ray_2
- Ray_2 + Line_2 Segment_2
Point_2
Segment_2
+ + Line_2 + Triangle_2 + + + +
Point_2
Segment_2
+ Ray_2 Ray_2 @@ -259,15 +300,7 @@ type A & type B & \parbox{4 cm}{\vspace{1 mm}{return type}} \\ - Triangle_2 - Line_2 - - - -
Point_2
Segment_2
- - - Triangle_2 + Ray_2 Segment_2 @@ -275,8 +308,24 @@ type A & type B & \parbox{4 cm}{\vspace{1 mm}{return type}} \\
Point_2
- Triangle_2 Ray_2 + Triangle_2 + + + +
Point_2
Segment_2
+ + + Segment_2 + Segment_2 + + + +
Point_2
Segment_2
+ + + Segment_2 + Triangle_2 @@ -292,37 +341,6 @@ type A & type B & \parbox{4 cm}{\vspace{1 mm}{return type}} \\
Point_2
Segment_2
std::vector<Point_2>
- - Iso_rectangle_2 - Line_2 - - - -
Point_2
Segment_2
- - - Iso_rectangle_2 - Segment_2 - - - -
Point_2
Segment_2
- - - Iso_rectangle_2 - Ray_2 - - - -
Point_2
Segment_2
- - - Iso_rectangle_2 - Iso_rectangle_2 - - -
Iso_rectangle_2
- Line_3 Line_3 diff --git a/Kernel_23/include/CGAL/Circle_2.h b/Kernel_23/include/CGAL/Circle_2.h index 6bfe2864d03..e8279ff6dc1 100644 --- a/Kernel_23/include/CGAL/Circle_2.h +++ b/Kernel_23/include/CGAL/Circle_2.h @@ -95,13 +95,13 @@ public: Circle_2(const Point_2 & center) : RCircle_2(typename R::Construct_circle_2()(Return_base_tag(), center, FT(0), COUNTERCLOCKWISE)) {} - typename Qualified_result_of::type + typename boost::result_of::type center() const { return R().construct_center_2_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type squared_radius() const { return R().compute_squared_radius_2_object()(*this); diff --git a/Kernel_23/include/CGAL/Circle_3.h b/Kernel_23/include/CGAL/Circle_3.h index 0f82025e592..846a6791b02 100644 --- a/Kernel_23/include/CGAL/Circle_3.h +++ b/Kernel_23/include/CGAL/Circle_3.h @@ -101,8 +101,8 @@ public: Circle_3(const Rep& r) : Rep(r) {} - typename Qualified_result_of - ::type + typename boost::result_of + ::type diametral_sphere() const { return typename R::Construct_sphere_3()(*this); @@ -118,8 +118,8 @@ public: return typename R::Construct_sphere_3()(*this).squared_radius(); } - typename Qualified_result_of - ::type + typename boost::result_of + ::type supporting_plane() const { return typename R::Construct_plane_3()(*this); diff --git a/Kernel_23/include/CGAL/Direction_2.h b/Kernel_23/include/CGAL/Direction_2.h index 3ca857319ab..3b8d5533caf 100644 --- a/Kernel_23/include/CGAL/Direction_2.h +++ b/Kernel_23/include/CGAL/Direction_2.h @@ -98,19 +98,19 @@ public: return R().construct_perpendicular_direction_2_object()(*this,o); } - typename Qualified_result_of::type + typename boost::result_of::type dx() const { return R().compute_dx_2_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type dy() const { return R().compute_dy_2_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type delta(int i) const { CGAL_kernel_precondition( ( i == 0 ) || ( i == 1 ) ); diff --git a/Kernel_23/include/CGAL/Direction_3.h b/Kernel_23/include/CGAL/Direction_3.h index 1fb9410f8f1..511eebb48cb 100644 --- a/Kernel_23/include/CGAL/Direction_3.h +++ b/Kernel_23/include/CGAL/Direction_3.h @@ -104,25 +104,25 @@ public: Vector_3 vector() const { return to_vector(); } - typename Qualified_result_of::type + typename boost::result_of::type dx() const { return R().compute_dx_3_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type dy() const { return R().compute_dy_3_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type dz() const { return R().compute_dz_3_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type delta(int i) const { CGAL_kernel_precondition( i >= 0 && i <= 2 ); diff --git a/Kernel_23/include/CGAL/Iso_cuboid_3.h b/Kernel_23/include/CGAL/Iso_cuboid_3.h index 95bb36bf89f..5c7102f124f 100644 --- a/Kernel_23/include/CGAL/Iso_cuboid_3.h +++ b/Kernel_23/include/CGAL/Iso_cuboid_3.h @@ -90,75 +90,67 @@ public: : Rep(typename R::Construct_iso_cuboid_3()(Return_base_tag(), min_hx, min_hy, min_hz, max_hx, max_hy, max_hz)) {} -// TODO FIXME : why is Qrt not working here ? -// TODO : the Cartesian and Homogeneous functors should be split here -// given that the Qrt differs. -// (or is the Homogeneous optimization simply not worth it ?) - //typename Qualified_result_of::type - Point_3 + typename boost::result_of::type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return R().construct_min_vertex_3_object()(*this); } - //typename Qualified_result_of::type - Point_3 + typename boost::result_of::type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return R().construct_max_vertex_3_object()(*this); } - //typename Qualified_result_of::type - Point_3 + typename boost::result_of::type vertex(int i) const { return R().construct_vertex_3_object()(*this,i); } - //typename Qualified_result_of::type - Point_3 + typename boost::result_of::type operator[](int i) const { return R().construct_vertex_3_object()(*this,i); } - typename Qualified_result_of::type + typename boost::result_of::type xmin() const { return R().compute_xmin_3_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type xmax() const { return R().compute_xmax_3_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type ymin() const { return R().compute_ymin_3_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type ymax() const { return R().compute_ymax_3_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type zmin() const { return R().compute_zmin_3_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type zmax() const { return R().compute_zmax_3_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type min_coord(int i) const { CGAL_kernel_precondition( i == 0 || i == 1 || i == 2 ); @@ -170,7 +162,7 @@ public: return zmin(); } - typename Qualified_result_of::type + typename boost::result_of::type max_coord(int i) const { CGAL_kernel_precondition( i == 0 || i == 1 || i == 2 ); @@ -218,7 +210,7 @@ public: return R().is_degenerate_3_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type volume() const { return R().compute_volume_3_object()(*this); diff --git a/Kernel_23/include/CGAL/Iso_rectangle_2.h b/Kernel_23/include/CGAL/Iso_rectangle_2.h index f13381a12e3..5dea113923b 100644 --- a/Kernel_23/include/CGAL/Iso_rectangle_2.h +++ b/Kernel_23/include/CGAL/Iso_rectangle_2.h @@ -87,13 +87,13 @@ public: : Rep(typename R::Construct_iso_rectangle_2()(Return_base_tag(), min_hx, min_hy, max_hx, max_hy, hw)) {} - typename Qualified_result_of::type + typename boost::result_of::type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return R().construct_min_vertex_2_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return R().construct_max_vertex_2_object()(*this); @@ -112,43 +112,43 @@ public: } - typename Qualified_result_of::type + typename boost::result_of::type vertex(int i) const { return R().construct_vertex_2_object()(*this,i); } - typename Qualified_result_of::type + typename boost::result_of::type operator[](int i) const { return R().construct_vertex_2_object()(*this,i); } - typename Qualified_result_of::type + typename boost::result_of::type xmin() const { return R().compute_xmin_2_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type xmax() const { return R().compute_xmax_2_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type ymin() const { return R().compute_ymin_2_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type ymax() const { return R().compute_ymax_2_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type min_coord(int i) const { CGAL_kernel_precondition( i == 0 || i == 1 ); @@ -158,7 +158,7 @@ public: return ymin(); } - typename Qualified_result_of::type + typename boost::result_of::type max_coord(int i) const { CGAL_kernel_precondition( i == 0 || i == 1 ); diff --git a/Kernel_23/include/CGAL/Kernel/Type_mapper.h b/Kernel_23/include/CGAL/Kernel/Type_mapper.h index 0fc8f6e7334..ac217612db9 100644 --- a/Kernel_23/include/CGAL/Kernel/Type_mapper.h +++ b/Kernel_23/include/CGAL/Kernel/Type_mapper.h @@ -26,28 +26,38 @@ #define CGAL_KERNEL_TYPE_MAPPER_H #include +#include +#include namespace CGAL { +namespace internal { + template + struct Type_mapper_impl { + typedef T type; + }; + +// Then we specialize for all kernel objects. +#define CGAL_Kernel_obj(X) \ + template < typename K1, typename K2 > \ + struct Type_mapper_impl < typename K1::X, K1, K2 > \ + { typedef typename K2::X type; }; + +#include + +} // internal + // This is a tool to obtain the K2::Point_2 from K1 and K1::Point_2. // Similarly for other kernel types. // TODO : add more specializations ? Use a different mechanism ? template < typename T, typename K1, typename K2 > -struct Type_mapper -{ - typedef T type; // By default, assume same type (e.g. Object). -}; - -// Then we specialize for all kernel objects. - -#define CGAL_Kernel_obj(X) \ - template < typename K1, typename K2 > \ - struct Type_mapper < typename K1::X, K1, K2 > \ - { typedef typename K2::X type; }; - -#include +struct Type_mapper : + internal::Type_mapper_impl< typename boost::remove_cv< + typename boost::remove_reference < T >::type + >::type, K1, K2 > +{ }; } //namespace CGAL diff --git a/Kernel_23/include/CGAL/Kernel/function_objects.h b/Kernel_23/include/CGAL/Kernel/function_objects.h index b80d4045b50..8939078661f 100644 --- a/Kernel_23/include/CGAL/Kernel/function_objects.h +++ b/Kernel_23/include/CGAL/Kernel/function_objects.h @@ -766,32 +766,32 @@ namespace CommonKernelFunctors { }; template - class Construct_center_2 : Has_qrt + class Construct_center_2 { typedef typename K::Point_2 Point_2; typedef typename K::Circle_2 Circle_2; public: - typedef Point_2 result_type; + typedef const Point_2& result_type; - const Point_2 & + result_type operator()(const Circle_2& c) const { return c.rep().center(); } }; template - class Construct_center_3 : Has_qrt + class Construct_center_3 { typedef typename K::Point_3 Point_3; typedef typename K::Sphere_3 Sphere_3; typedef typename K::Circle_3 Circle_3; public: - typedef Point_3 result_type; + typedef const Point_3& result_type; - const Point_3 & + result_type operator()(const Sphere_3& s) const { return s.rep().center(); } - const Point_3 & + result_type operator()(const Circle_3& c) const { return c.rep().center(); } @@ -1064,38 +1064,38 @@ namespace CommonKernelFunctors { }; template - class Construct_max_vertex_2 : Has_qrt + class Construct_max_vertex_2 { typedef typename K::Point_2 Point_2; typedef typename K::Segment_2 Segment_2; typedef typename K::Iso_rectangle_2 Iso_rectangle_2; public: - typedef Point_2 result_type; + typedef const Point_2& result_type; - const Point_2& + result_type operator()(const Iso_rectangle_2& r) const { return (r.rep().max)(); } - const Point_2& + result_type operator()(const Segment_2& s) const { return (s.max)(); } }; template - class Construct_min_vertex_2 : Has_qrt + class Construct_min_vertex_2 { typedef typename K::Point_2 Point_2; typedef typename K::Segment_2 Segment_2; typedef typename K::Iso_rectangle_2 Iso_rectangle_2; public: - typedef Point_2 result_type; + typedef const Point_2& result_type; - const Point_2& + result_type operator()(const Iso_rectangle_2& r) const { return (r.rep().min)(); } - const Point_2& + result_type operator()(const Segment_2& s) const { return (s.min)(); } }; @@ -1109,13 +1109,13 @@ namespace CommonKernelFunctors { typedef typename K::Segment_3 Segment_3; typedef typename K::Iso_cuboid_3 Iso_cuboid_3; public: - typedef Point_3 result_type; + typedef const Point_3& result_type; - Point_3 + result_type operator()(const Iso_cuboid_3& r) const { return (r.rep().max)(); } - const Point_3& + result_type operator()(const Segment_3& s) const { return (s.rep().max)(); } }; @@ -1127,13 +1127,13 @@ namespace CommonKernelFunctors { typedef typename K::Segment_3 Segment_3; typedef typename K::Iso_cuboid_3 Iso_cuboid_3; public: - typedef Point_3 result_type; + typedef const Point_3& result_type; - Point_3 + result_type operator()(const Iso_cuboid_3& r) const { return (r.rep().min)(); } - const Point_3& + result_type operator()(const Segment_3& s) const { return (s.rep().min)(); } }; @@ -1633,83 +1633,83 @@ namespace CommonKernelFunctors { template - class Construct_source_2 : Has_qrt + class Construct_source_2 { typedef typename K::Segment_2 Segment_2; typedef typename K::Ray_2 Ray_2; typedef typename K::Point_2 Point_2; public: - typedef Point_2 result_type; + typedef const Point_2& result_type; - const result_type& + result_type operator()(const Segment_2& s) const { return s.rep().source(); } - const result_type& + result_type operator()(const Ray_2& r) const { return r.rep().source(); } }; template - class Construct_source_3 : Has_qrt + class Construct_source_3 { typedef typename K::Segment_3 Segment_3; typedef typename K::Ray_3 Ray_3; typedef typename K::Point_3 Point_3; public: - typedef Point_3 result_type; + typedef const Point_3& result_type; - const result_type& + result_type operator()(const Segment_3& s) const { return s.rep().source(); } - const result_type& + result_type operator()(const Ray_3& r) const { return r.rep().source(); } }; template - class Construct_target_2 : Has_qrt + class Construct_target_2 { typedef typename K::Segment_2 Segment_2; typedef typename K::Point_2 Point_2; public: - typedef Point_2 result_type; + typedef const Point_2& result_type; - const result_type& + result_type operator()(const Segment_2& s) const { return s.rep().target(); } }; template - class Construct_target_3 : Has_qrt + class Construct_target_3 { typedef typename K::Segment_3 Segment_3; typedef typename K::Point_3 Point_3; public: - typedef Point_3 result_type; + typedef const Point_3& result_type; - const result_type& + result_type operator()(const Segment_3& s) const { return s.rep().target(); } }; template - class Construct_second_point_2 : Has_qrt + class Construct_second_point_2 { typedef typename K::Ray_2 Ray_2; typedef typename K::Point_2 Point_2; public: - typedef Point_2 result_type; + typedef const Point_2& result_type; - const result_type& + result_type operator()(const Ray_2& r) const { return r.rep().second_point(); } }; template - class Construct_second_point_3 // : Has_qrt + class Construct_second_point_3 { typedef typename K::Ray_3 Ray_3; typedef typename K::Point_3 Point_3; @@ -1881,7 +1881,7 @@ namespace CommonKernelFunctors { }; template - class Construct_vertex_3 : Has_qrt + class Construct_vertex_3 { typedef typename K::Point_3 Point_3; typedef typename K::Segment_3 Segment_3; @@ -1889,21 +1889,29 @@ namespace CommonKernelFunctors { typedef typename K::Triangle_3 Triangle_3; typedef typename K::Tetrahedron_3 Tetrahedron_3; public: - typedef Point_3 result_type; + template + struct result { + typedef const Point_3& type; + }; - const Point_3 & + template + struct result { + typedef Point_3 type; + }; + + const Point_3& operator()( const Segment_3& s, int i) const { return s.rep().vertex(i); } - const Point_3 & + const Point_3& operator()( const Triangle_3& t, int i) const { return t.rep().vertex(i); } Point_3 operator()( const Iso_cuboid_3& r, int i) const - { return r.rep().vertex(i); } + { return r.rep().vertex(i); } - const Point_3 & + const Point_3& operator()( const Tetrahedron_3& t, int i) const { return t.rep().vertex(i); } }; @@ -2755,12 +2763,6 @@ namespace CommonKernelFunctors { }; } // namespace CommonKernelFunctors - - template - struct Qualified_result_of,Iso_cuboid_3 > : - qrt_or_not,false> - {}; - } //namespace CGAL #endif // CGAL_KERNEL_FUNCTION_OBJECTS_H diff --git a/Kernel_23/include/CGAL/Kernel_traits.h b/Kernel_23/include/CGAL/Kernel_traits.h index 065b32dd94a..2ab73d5a12a 100644 --- a/Kernel_23/include/CGAL/Kernel_traits.h +++ b/Kernel_23/include/CGAL/Kernel_traits.h @@ -31,6 +31,7 @@ template struct Kernel_traits { typedef typename T::R Kernel; + typedef Kernel type; }; } // end namespace CGAL diff --git a/Kernel_23/include/CGAL/Plane_3.h b/Kernel_23/include/CGAL/Plane_3.h index 39018b2e12c..a7e76834688 100644 --- a/Kernel_23/include/CGAL/Plane_3.h +++ b/Kernel_23/include/CGAL/Plane_3.h @@ -113,25 +113,25 @@ public: return Direction_3(a(), b(), c()); } - typename Qualified_result_of::type + typename boost::result_of::type a() const { return R().compute_a_3_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type b() const { return R().compute_b_3_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type c() const { return R().compute_c_3_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type d() const { return R().compute_d_3_object()(*this); diff --git a/Kernel_23/include/CGAL/Point_2.h b/Kernel_23/include/CGAL/Point_2.h index a7c53ee5a05..fde20f8c606 100644 --- a/Kernel_23/include/CGAL/Point_2.h +++ b/Kernel_23/include/CGAL/Point_2.h @@ -85,26 +85,26 @@ public: : RPoint_2(typename R::Construct_point_2()(Return_base_tag(), hx, hy, hw)) {} - typename Qualified_result_of::type + typename boost::result_of::type x() const { return typename R::Compute_x_2()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type y() const { return typename R::Compute_y_2()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type cartesian(int i) const { CGAL_kernel_precondition( (i == 0) || (i == 1) ); return (i==0) ? x() : y(); } - typename Qualified_result_of::type + typename boost::result_of::type operator[](int i) const { return cartesian(i); @@ -122,19 +122,19 @@ public: - typename Qualified_result_of::type + typename boost::result_of::type hx() const { return typename R::Compute_hx_2()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type hy() const { return typename R::Compute_hy_2()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type hw() const { return typename R::Compute_hw_2()(*this); @@ -145,7 +145,7 @@ public: return 2; } - typename Qualified_result_of::type + typename boost::result_of::type homogeneous(int i) const { CGAL_kernel_precondition( (i >= 0) || (i <= 2) ); diff --git a/Kernel_23/include/CGAL/Point_3.h b/Kernel_23/include/CGAL/Point_3.h index c18a1e5ec5c..82ee3090254 100644 --- a/Kernel_23/include/CGAL/Point_3.h +++ b/Kernel_23/include/CGAL/Point_3.h @@ -31,7 +31,6 @@ #include #include #include -#include #include namespace CGAL { @@ -85,49 +84,49 @@ public: : Rep(typename R::Construct_point_3()(Return_base_tag(), hx, hy, hz, hw)) {} - typename Qualified_result_of::type + typename boost::result_of::type x() const { return typename R::Compute_x_3()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type y() const { return typename R::Compute_y_3()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type z() const { return typename R::Compute_z_3()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type hx() const { return R().compute_hx_3_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type hy() const { return R().compute_hy_3_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type hz() const { return R().compute_hz_3_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type hw() const { return R().compute_hw_3_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type cartesian(int i) const { CGAL_kernel_precondition( (i == 0) || (i == 1) || (i == 2) ); @@ -146,7 +145,7 @@ public: return hw(); } - typename Qualified_result_of::type + typename boost::result_of::type operator[](int i) const { return cartesian(i); diff --git a/Kernel_23/include/CGAL/Qualified_result_of.h b/Kernel_23/include/CGAL/Qualified_result_of.h deleted file mode 100644 index 7d0391dc286..00000000000 --- a/Kernel_23/include/CGAL/Qualified_result_of.h +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright (c) 1999,2003 -// Utrecht University (The Netherlands), -// ETH Zurich (Switzerland), -// INRIA Sophia-Antipolis (France), -// Max-Planck-Institute Saarbruecken (Germany), -// and Tel-Aviv University (Israel). All rights reserved. -// -// This file is part of CGAL (www.cgal.org); you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public License as -// published by the Free Software Foundation; either version 3 of the License, -// or (at your option) any later version. -// -// Licensees holding a valid commercial license may use this file in -// accordance with the commercial license agreement provided with the software. -// -// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -// -// $URL$ -// $Id$ -// -// -// Author(s) : Sylvain Pion - - -#ifndef CGAL_QUALIFIED_RESULT_OF_H -#define CGAL_QUALIFIED_RESULT_OF_H - -#include - -namespace CGAL { - -struct Has_qrt {}; - -template < typename F, bool b > -struct qrt_or_not -{ typedef typename F::result_type type; }; - -template < typename F > -struct qrt_or_not -{ typedef const typename F::result_type & type; }; - -template -struct Qualified_result_of - : qrt_or_not::value> -{}; - -} //namespace CGAL - -#endif // CGAL_QUALIFIED_RESULT_OF_H diff --git a/Kernel_23/include/CGAL/Ray_2.h b/Kernel_23/include/CGAL/Ray_2.h index f78ebcc189c..a0a988c55ba 100644 --- a/Kernel_23/include/CGAL/Ray_2.h +++ b/Kernel_23/include/CGAL/Ray_2.h @@ -86,13 +86,13 @@ public: : RRay_2(typename R::Construct_ray_2()(Return_base_tag(), sp, l)) {} - typename Qualified_result_of::type + typename boost::result_of::type source() const { return R().construct_source_2_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type second_point() const { return R().construct_second_point_2_object()(*this); @@ -116,7 +116,7 @@ public: } - typename Qualified_result_of::type + typename boost::result_of::type start() const { return source(); diff --git a/Kernel_23/include/CGAL/Ray_3.h b/Kernel_23/include/CGAL/Ray_3.h index d1241cb9d00..b53b37ad516 100644 --- a/Kernel_23/include/CGAL/Ray_3.h +++ b/Kernel_23/include/CGAL/Ray_3.h @@ -105,25 +105,25 @@ public: bool collinear_has_on(const Point_3 &p) const; */ - Point_3 point(int i) const // TODO : use Qrt + typename boost::result_of::type + point(int i) const // TODO : use Qrt { return R().construct_point_on_3_object()(*this, i); } - // FIXME : Use Qrt - //typename Qualified_result_of::type - Point_3 + typename boost::result_of::type source() const { return R().construct_source_3_object()(*this); } - Point_3 second_point() const // TODO : use Qrt + typename boost::result_of::type + second_point() const { return R().construct_second_point_3_object()(*this); } - Point_3 // FIXME : Use Qrt + typename boost::result_of::type start() const { return source(); diff --git a/Kernel_23/include/CGAL/Segment_2.h b/Kernel_23/include/CGAL/Segment_2.h index f44f67c63f9..4cae9992148 100644 --- a/Kernel_23/include/CGAL/Segment_2.h +++ b/Kernel_23/include/CGAL/Segment_2.h @@ -76,44 +76,44 @@ public: Segment_2(const Point_2 &sp, const Point_2 &ep) : RSegment_2(typename R::Construct_segment_2()(Return_base_tag(), sp,ep)) {} - typename Qualified_result_of::type + typename boost::result_of::type source() const { return R_().construct_source_2_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type target() const { return R_().construct_target_2_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type start() const { return source(); } - typename Qualified_result_of::type + typename boost::result_of::type end() const { return target(); } - typename Qualified_result_of::type + typename boost::result_of::type min BOOST_PREVENT_MACRO_SUBSTITUTION () const; - typename Qualified_result_of::type + typename boost::result_of::type max BOOST_PREVENT_MACRO_SUBSTITUTION () const; - typename Qualified_result_of::type + typename boost::result_of::type vertex(int i) const; - typename Qualified_result_of::type + typename boost::result_of::type point(int i) const; - typename Qualified_result_of::type + typename boost::result_of::type operator[](int i) const; bool is_horizontal() const; @@ -178,7 +178,7 @@ public: template < class R_ > CGAL_KERNEL_INLINE -typename Qualified_result_of >::type +typename boost::result_of )>::type Segment_2::min BOOST_PREVENT_MACRO_SUBSTITUTION () const { typename R_::Less_xy_2 less_xy; @@ -187,7 +187,7 @@ Segment_2::min BOOST_PREVENT_MACRO_SUBSTITUTION () const template < class R_ > CGAL_KERNEL_INLINE -typename Qualified_result_of >::type +typename boost::result_of )>::type Segment_2::max BOOST_PREVENT_MACRO_SUBSTITUTION () const { typename R_::Less_xy_2 less_xy; @@ -196,7 +196,7 @@ Segment_2::max BOOST_PREVENT_MACRO_SUBSTITUTION () const template < class R_ > CGAL_KERNEL_INLINE -typename Qualified_result_of, int >::type +typename boost::result_of, int )>::type Segment_2::vertex(int i) const { return (i%2 == 0) ? source() : target(); @@ -204,7 +204,7 @@ Segment_2::vertex(int i) const template < class R_ > inline -typename Qualified_result_of, int >::type +typename boost::result_of, int )>::type Segment_2::point(int i) const { return vertex(i); @@ -212,7 +212,7 @@ Segment_2::point(int i) const template < class R_ > inline -typename Qualified_result_of, int >::type +typename boost::result_of, int )>::type Segment_2::operator[](int i) const { return vertex(i); diff --git a/Kernel_23/include/CGAL/Segment_3.h b/Kernel_23/include/CGAL/Segment_3.h index 2d8fa6008be..3777752ec64 100644 --- a/Kernel_23/include/CGAL/Segment_3.h +++ b/Kernel_23/include/CGAL/Segment_3.h @@ -74,54 +74,44 @@ public: Segment_3(const Point_3& sp, const Point_3& ep) : Rep(typename R::Construct_segment_3()(Return_base_tag(), sp, ep)) {} -// FIXME TODO : Use Qrt here ! - //typename Qualified_result_of::type - Point_3 + typename boost::result_of::type source() const { return R_().construct_source_3_object()(*this); } - //typename Qualified_result_of::type - Point_3 + typename boost::result_of::type target() const { return R_().construct_target_3_object()(*this); } - //typename Qualified_result_of::type - Point_3 + typename boost::result_of::type start() const { return source(); } - //typename Qualified_result_of::type - Point_3 + typename boost::result_of::type end() const { return target(); } - //typename Qualified_result_of::type - Point_3 + typename boost::result_of::type min BOOST_PREVENT_MACRO_SUBSTITUTION () const; - //typename Qualified_result_of::type - Point_3 + typename boost::result_of::type max BOOST_PREVENT_MACRO_SUBSTITUTION () const; - //typename Qualified_result_of::type - Point_3 + typename boost::result_of::type vertex(int i) const; - //typename Qualified_result_of::type - Point_3 + typename boost::result_of::type point(int i) const { return vertex(i); } - //typename Qualified_result_of::type - Point_3 + typename boost::result_of::type operator[](int i) const { return vertex(i); } @@ -179,8 +169,7 @@ public: template < class R_ > CGAL_KERNEL_INLINE -//typename Qualified_result_of >::type -typename R_::Point_3 +typename boost::result_of ) >::type Segment_3::min BOOST_PREVENT_MACRO_SUBSTITUTION () const { typename R_::Less_xyz_3 less_xyz; @@ -189,8 +178,7 @@ Segment_3::min BOOST_PREVENT_MACRO_SUBSTITUTION () const template < class R_ > CGAL_KERNEL_INLINE -//typename Qualified_result_of >::type -typename R_::Point_3 +typename boost::result_of ) >::type Segment_3::max BOOST_PREVENT_MACRO_SUBSTITUTION () const { typename R_::Less_xyz_3 less_xyz; @@ -199,8 +187,7 @@ Segment_3::max BOOST_PREVENT_MACRO_SUBSTITUTION () const template < class R_ > CGAL_KERNEL_INLINE -//typename Qualified_result_of, int >::type -typename R_::Point_3 +typename boost::result_of, int ) >::type Segment_3::vertex(int i) const { return (i%2 == 0) ? source() : target(); diff --git a/Kernel_23/include/CGAL/Sphere_3.h b/Kernel_23/include/CGAL/Sphere_3.h index 621189239bd..0ff186ce44b 100644 --- a/Kernel_23/include/CGAL/Sphere_3.h +++ b/Kernel_23/include/CGAL/Sphere_3.h @@ -94,9 +94,7 @@ public: Sphere_3 orthogonal_transform(const Aff_transformation_3 &t) const; - // FIXME : why doesn't Qrt work here ? We loose optimization ! - //typename Qualified_result_of::type - Point_3_ + typename boost::result_of::type center() const { return R().construct_center_3_object()(*this); diff --git a/Kernel_23/include/CGAL/Tetrahedron_3.h b/Kernel_23/include/CGAL/Tetrahedron_3.h index 06c87448f04..d03ae1d5088 100644 --- a/Kernel_23/include/CGAL/Tetrahedron_3.h +++ b/Kernel_23/include/CGAL/Tetrahedron_3.h @@ -78,16 +78,13 @@ public: t.transform(this->vertex(3))); } - // FIXME TODO : Why doesn't Qrt work here ??? - //typename Qualified_result_of::type - Point_3 + typename boost::result_of::type vertex(int i) const { return R().construct_vertex_3_object()(*this,i); } - //typename Qualified_result_of::type - Point_3 + typename boost::result_of::type operator[](int i) const { return vertex(i); @@ -139,7 +136,7 @@ public: return R().has_on_unbounded_side_3_object()(*this, p); } - typename Qualified_result_of::type + typename boost::result_of::type volume() const { return R().compute_volume_3_object()(*this); diff --git a/Kernel_23/include/CGAL/Triangle_2.h b/Kernel_23/include/CGAL/Triangle_2.h index 94d903f8a3f..46251f19b5d 100644 --- a/Kernel_23/include/CGAL/Triangle_2.h +++ b/Kernel_23/include/CGAL/Triangle_2.h @@ -107,13 +107,13 @@ public: return !(*this == t); } - typename Qualified_result_of::type + typename boost::result_of::type vertex(int i) const { return R().construct_vertex_2_object()(*this,i); } - typename Qualified_result_of::type + typename boost::result_of::type operator[](int i) const { return vertex(i); diff --git a/Kernel_23/include/CGAL/Triangle_3.h b/Kernel_23/include/CGAL/Triangle_3.h index 9ec2cd25500..ee1dc80d86f 100644 --- a/Kernel_23/include/CGAL/Triangle_3.h +++ b/Kernel_23/include/CGAL/Triangle_3.h @@ -90,13 +90,13 @@ public: } - typename Qualified_result_of::type + typename boost::result_of::type vertex(int i) const { return R().construct_vertex_3_object()(*this, i); } - typename Qualified_result_of::type + typename boost::result_of::type operator[](int i) const { return vertex(i); diff --git a/Kernel_23/include/CGAL/Vector_2.h b/Kernel_23/include/CGAL/Vector_2.h index 8c11272e5ff..80b7ee70001 100644 --- a/Kernel_23/include/CGAL/Vector_2.h +++ b/Kernel_23/include/CGAL/Vector_2.h @@ -99,26 +99,26 @@ public: : RVector_2(typename R::Construct_vector_2()(Return_base_tag(), x,y,w)) {} - typename Qualified_result_of::type + typename boost::result_of::type x() const { return R().compute_x_2_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type y() const { return R().compute_y_2_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type cartesian(int i) const { CGAL_kernel_precondition( (i == 0) || (i == 1) ); return (i==0) ? x() : y(); } - typename Qualified_result_of::type + typename boost::result_of::type operator[](int i) const { return cartesian(i); @@ -134,26 +134,26 @@ public: return typename R::Construct_cartesian_const_iterator_2()(*this,2); } - typename Qualified_result_of::type + typename boost::result_of::type hx() const { return R().compute_hx_2_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type hy() const { return R().compute_hy_2_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type hw() const { return R().compute_hw_2_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type homogeneous(int i) const { CGAL_kernel_precondition( (i >= 0) || (i <= 2) ); diff --git a/Kernel_23/include/CGAL/Vector_3.h b/Kernel_23/include/CGAL/Vector_3.h index c4a17994f55..fe1c2b865a9 100644 --- a/Kernel_23/include/CGAL/Vector_3.h +++ b/Kernel_23/include/CGAL/Vector_3.h @@ -133,49 +133,49 @@ public: return R().construct_divided_vector_3_object()(*this,c); } - typename Qualified_result_of::type + typename boost::result_of::type x() const { return R().compute_x_3_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type y() const { return R().compute_y_3_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type z() const { return R().compute_z_3_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type hx() const { return R().compute_hx_3_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type hy() const { return R().compute_hy_3_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type hz() const { return R().compute_hz_3_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type hw() const { return R().compute_hw_3_object()(*this); } - typename Qualified_result_of::type + typename boost::result_of::type cartesian(int i) const { CGAL_kernel_precondition( (i == 0) || (i == 1) || (i == 2) ); @@ -184,7 +184,7 @@ public: return z(); } - typename Qualified_result_of::type + typename boost::result_of::type homogeneous(int i) const { CGAL_kernel_precondition( (i >= 0) || (i <= 3) ); @@ -199,7 +199,7 @@ public: return 3; } - typename Qualified_result_of::type + typename boost::result_of::type operator[](int i) const { return cartesian(i); @@ -215,7 +215,7 @@ public: return typename R::Construct_cartesian_const_iterator_3()(*this,3); } - typename Qualified_result_of::type + typename boost::result_of::type squared_length() const { return R().compute_squared_length_3_object()(*this); diff --git a/Kernel_23/include/CGAL/basic.h b/Kernel_23/include/CGAL/basic.h index 275cecdfc94..e05c6e3b28a 100644 --- a/Kernel_23/include/CGAL/basic.h +++ b/Kernel_23/include/CGAL/basic.h @@ -31,6 +31,14 @@ #include #include +// This cannot be disabled for now until we have a clear idea which +// compilers implement N3276. + +// #if !defined(CGAL_CFG_NO_CPP0X_DECLTYPE) +// #define BOOST_RESULT_OF_USE_DECLTYPE +// #endif +#include + #include #include #include diff --git a/Kernel_23/include/CGAL/kernel_basic.h b/Kernel_23/include/CGAL/kernel_basic.h index d89730f47e2..ee3f4b37973 100644 --- a/Kernel_23/include/CGAL/kernel_basic.h +++ b/Kernel_23/include/CGAL/kernel_basic.h @@ -41,7 +41,6 @@ #include #include #include -#include #include #endif // CGAL_KERNEL_BASIC_H diff --git a/Kernel_23/test/Kernel_23/include/CGAL/_Result_of_kernel.h b/Kernel_23/test/Kernel_23/include/CGAL/_Result_of_kernel.h new file mode 100644 index 00000000000..2a7fa122309 --- /dev/null +++ b/Kernel_23/test/Kernel_23/include/CGAL/_Result_of_kernel.h @@ -0,0 +1,204 @@ +#ifndef CGAL_RESULT_OF_KERNEL_H +#define CGAL_RESULT_OF_KERNEL_H + +#include + +#if !defined(CGAL_CFG_NO_CPP0X_VARIADIC_TEMPLATES) && !defined(CGAL_CFG_NO_CPP0X_RVALUE_REFERENCE) && !defined(CGAL_CFG_NO_CPP0X_STATIC_ASSERT) + +#define CGAL_RESULT_OF_KERNEL 1 + +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +#include + + +// Unfortunately this test is only an approximation. At this point +// boost::result_of behaves as C++11 result_of and we cannot force it +// back into an old mode thanks to the include guards. We instead use +// a TR1 implementation of result_of to compare the types. This is the +// best we can go for. + +namespace CGAL { + // avoid crashes with what we already have in namespace internal + namespace result_of_kernel { + // required for smooth wrapping of the functors + BOOST_MPL_HAS_XXX_TRAIT_DEF(result_type) + BOOST_MPL_HAS_XXX_TRAIT_DEF(Rep) + + template + struct Lazy_is_same { + typedef boost::is_same type; + }; + + // trickery to get rid of the inequality that appears with the + // return_base_tag versions of construct calls + template, + typename + boost::mpl::eval_if< has_Rep, + Lazy_is_same, + boost::false_type >::type + >::value > + struct Rep_equal; + + template + struct Rep_equal : boost::true_type {}; + template + struct Rep_equal : boost::false_type {}; + } + + // This functor can wrap any DefaultConstructible functor. Iff there + // is a result_type typedef it needs to be forwarded. In all other + // cases boost::result_of is necessary to determine the return type. + template::value > + struct AnyFunctor; + + template + struct AnyFunctor { + typedef typename F::result_type result_type; + + template + auto operator()(Args&&... args) const -> typename std::result_of::type { + F f; + // check the equality of a c++03 std::tr1::result_of and a c++11 result_of + typedef typename std::result_of::type c11_return_type; + typedef typename F::result_type c03_return_type; + + static_assert((result_of_kernel::Rep_equal::value), + "Type difference between actual return type and boost::result_of<>::type"); + + return f(std::forward(args)...); + } + }; + + template + struct AnyFunctor { + template + struct result; + + template + struct result { + typedef typename boost::result_of::type type; + }; + + // same as above + template + auto operator()(Args&&... args) const -> typename std::result_of::type { + F f; + typedef typename std::result_of::type c11_return_type; + typedef typename std::tr1::result_of::type + >::type ... + )>::type c03_return_type; + + static_assert((result_of_kernel::Rep_equal::value), + "Type difference between actual return type and boost::result_of<>::type"); + + return f(std::forward(args)...); + } + }; + + // usual copy pasta from simple_cartesian and cartesian plus an + // template template parameter to inject the true base + template < typename RT_, typename FT_, typename Kernel_, template class Inject> + struct Result_of_base + : public Inject< RT_, FT_, Kernel_> + { + typedef RT_ RT; + typedef FT_ FT; + + // The mechanism that allows to specify reference-counting or not. + template < typename T > + struct Handle { typedef T type; }; + + template < typename Kernel2 > + struct Base { typedef Result_of_base Type; }; + }; + + // alias cartesian to something similar to Homogeneous. Requires gcc 4.7. + // NB. Kernel is either last of first argument to add a little more confusion. + + // template + // using Cartesian_base_3 = Cartesian_base; + + // hack instead + template + struct Cartesian_base_3 : public Cartesian_base { }; + + template < typename FT_, typename Kernel_ > + struct Result_of_cartesian_base : public Result_of_base + { + typedef Kernel_ K; + + #define CGAL_Kernel_pred(Y,Z) typedef CartesianKernelFunctors::Y Y; \ + Y Z() const { return Y(); } + #define CGAL_Kernel_cons(Y,Z) CGAL_Kernel_pred(Y,Z) + + #include + }; + + template < typename RT_, typename FT_, typename Kernel_ > + struct Result_of_homogeneous_base : public Result_of_base + { + typedef Kernel_ K; + + #define CGAL_Kernel_pred(Y,Z) typedef HomogeneousKernelFunctors::Y Y; \ + Y Z() const { return Y(); } + #define CGAL_Kernel_cons(Y,Z) CGAL_Kernel_pred(Y,Z) + + #include + }; + + template < typename FT_ > + struct Result_of_cartesian + : public Type_equality_wrapper< + Result_of_cartesian_base >, + Result_of_cartesian > + { + // this has to be delayed until here as AnyFunctor will + // instantiate its arguments and only here lookup for all the + // typedefs inside the functor will be possible + typedef Result_of_cartesian K; + #define CGAL_Kernel_pred(Y,Z) typedef AnyFunctor< CartesianKernelFunctors::Y > Y; \ + Y Z() const { return Y(); } + #define CGAL_Kernel_cons(Y,Z) CGAL_Kernel_pred(Y,Z) + + #include + }; + + // same as above + template < typename RT_, typename FT_ > + struct Result_of_homogeneous + : public Type_equality_wrapper< + Result_of_homogeneous_base >, + Result_of_homogeneous > + { + typedef Result_of_homogeneous K; + #define CGAL_Kernel_pred(Y,Z) typedef AnyFunctor< HomogeneousKernelFunctors::Y > Y; \ + Y Z() const { return Y(); } + #define CGAL_Kernel_cons(Y,Z) CGAL_Kernel_pred(Y,Z) + + #include + }; +} + +#endif /* C++11 GUARD */ +#endif /* CGAL_RESULT_OF_KERNEL_H */ diff --git a/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_circle_2.h b/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_circle_2.h index 299076c7974..d121f5c63eb 100644 --- a/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_circle_2.h +++ b/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_circle_2.h @@ -37,10 +37,8 @@ void _test_construct_radical_line(const K &k) { typedef typename K::Construct_circle_2 Construct_circle_2; typedef typename K::Construct_radical_line_2 Construct_radical_line_2; - Intersect_2 theIntersect_2 = k.intersect_2_object(); Construct_circle_2 theConstruct_circle_2 = k.construct_circle_2_object(); Construct_radical_line_2 theConstruct_radical_line_2 = k.construct_radical_line_2_object(); - Has_on_2 theHas_on_2 = k.has_on_2_object(); std::cout << "Testing radical_line(Circle,Circle)..." << std::endl; Circle_2 s = theConstruct_circle_2(Point_2(0,0),1); diff --git a/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_circle_3.h b/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_circle_3.h index 4db57065987..a413b22d7d9 100644 --- a/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_circle_3.h +++ b/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_circle_3.h @@ -46,9 +46,7 @@ void _test_bounding_box_construct(const K &k) typedef typename K::Construct_circle_3 Construct_circle_3; typedef CGAL::Bbox_3 Bbox_3; - Intersect_3 theIntersect_3 = k.intersect_3_object(); Construct_circle_3 theConstruct_circle_3 = k.construct_circle_3_object(); - Construct_bbox_3 theConstruct_bbox_3 = k.construct_bbox_3_object(); std::cout << "Testing the bbox of Circle_3..." << std::endl; @@ -89,8 +87,7 @@ void _test_circle_construct(const K &k) { Equal_3 theEqual_3 = k.equal_3_object(); Construct_circle_3 theConstruct_circle_3 = k.construct_circle_3_object(); - Compute_squared_distance_3 squared_distance = k.compute_squared_distance_3_object(); - Collinear_3 collinear = k.collinear_3_object(); + Compute_squared_distance_3 squared_distance = k.compute_squared_distance_3_object(); CGAL::Random generatorOfgenerator; int random_seed = generatorOfgenerator.get_int(0, 123456); diff --git a/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_iso_cuboid_3.h b/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_iso_cuboid_3.h index d36687a5b49..c1e911ff2c4 100644 --- a/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_iso_cuboid_3.h +++ b/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_iso_cuboid_3.h @@ -100,6 +100,7 @@ _test_cls_iso_cuboid_3(const R& ) assert( (r2.max)() == p3 ); assert( r1.vertex(0) == p1 ); + assert( r1[0] == p1 ); assert( r1.vertex(1) == p5 ); assert( r1.vertex(2) == p10); assert( r1.vertex(3) == p11); diff --git a/Kernel_23/test/Kernel_23/test_result_of.cpp b/Kernel_23/test/Kernel_23/test_result_of.cpp new file mode 100644 index 00000000000..db467ed8452 --- /dev/null +++ b/Kernel_23/test/Kernel_23/test_result_of.cpp @@ -0,0 +1,48 @@ +// Copyright (c) 2011 GeometryFactory (France). All rights reserved. +// All rights reserved. +// +// Licensees holding a valid commercial license may use this file in +// accordance with the commercial license agreement provided with the software. +// +// This file is part of CGAL (www.cgal.org); you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public License as +// published by the Free Software Foundation; version 2.1 of the License. +// See the file LICENSE.LGPL distributed with CGAL. +// +// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +// +// $URL$ +// $Id$ +// +// +// Author(s) : Philipp Moeller + +#include +#include +#include + +#include "CGAL/_Result_of_kernel.h" +#include "CGAL/_test_2.h" +#include "CGAL/_test_3.h" + +#include + +#include "CGAL/Precise_numbers.h" + +template +bool test(const K& k) { + return _test_2(k) && _test_3(k); +} + +int main() +{ +#if defined(CGAL_RESULT_OF_KERNEL) + typedef CGAL::Result_of_cartesian< CGAL::Quotient > A; + typedef CGAL::Result_of_homogeneous< Precise_integer, CGAL::Quotient > B; + + test( A() ); + test( B() ); +#endif + return 0; +} diff --git a/Linear_cell_complex/demo/Linear_cell_complex/CMakeLists.txt b/Linear_cell_complex/demo/Linear_cell_complex/CMakeLists.txt index a36fb0a315a..a980f41e81e 100644 --- a/Linear_cell_complex/demo/Linear_cell_complex/CMakeLists.txt +++ b/Linear_cell_complex/demo/Linear_cell_complex/CMakeLists.txt @@ -37,8 +37,11 @@ include(${QT_USE_FILE}) include_directories(${QGLVIEWER_INCLUDE_DIR}) include_directories(BEFORE . ../../include/) +# Option allowing to profile each operation of the demo. +add_definitions(-DCGAL_PROFILE_LCC_DEMO) + # ui file, created wih Qt Designer -qt4_wrap_ui(uis MainWindow.ui CreateMesh.ui) +qt4_wrap_ui(uis MainWindow.ui CreateMesh.ui CreateMenger.ui) # qrc files (resources files, that contain icons, at least) qt4_add_resources (RESOURCE_FILES ./Linear_cell_complex_3.qrc) diff --git a/Linear_cell_complex/demo/Linear_cell_complex/CreateMenger.ui b/Linear_cell_complex/demo/Linear_cell_complex/CreateMenger.ui new file mode 100644 index 00000000000..3ee4051775d --- /dev/null +++ b/Linear_cell_complex/demo/Linear_cell_complex/CreateMenger.ui @@ -0,0 +1,106 @@ + + + createMenger + + + + 0 + 0 + 227 + 76 + + + + Dialog + + + + + -142 + 40 + 341 + 32 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + 150 + 10 + 51 + 27 + + + + false + + + false + + + 0 + + + 6 + + + 0 + + + + + + 23 + 15 + 121 + 17 + + + + Menger Complexity + + + + + + + buttonBox + accepted() + createMenger + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + createMenger + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/Linear_cell_complex/demo/Linear_cell_complex/CreateMesh.ui b/Linear_cell_complex/demo/Linear_cell_complex/CreateMesh.ui index 664fec1c299..683560d4eea 100644 --- a/Linear_cell_complex/demo/Linear_cell_complex/CreateMesh.ui +++ b/Linear_cell_complex/demo/Linear_cell_complex/CreateMesh.ui @@ -6,7 +6,7 @@ 0 0 - 220 + 230 65 @@ -18,13 +18,13 @@ - 220 + 230 65 - 220 + 230 65 @@ -37,8 +37,8 @@ - 20 - 30 + 33 + 34 171 32 @@ -56,8 +56,8 @@ - 0 - 0 + 6 + 2 221 31 diff --git a/Linear_cell_complex/demo/Linear_cell_complex/Linear_cell_complex_3_demo.cpp b/Linear_cell_complex/demo/Linear_cell_complex/Linear_cell_complex_3_demo.cpp index da3737a51ed..52a205c5053 100644 --- a/Linear_cell_complex/demo/Linear_cell_complex/Linear_cell_complex_3_demo.cpp +++ b/Linear_cell_complex/demo/Linear_cell_complex/Linear_cell_complex_3_demo.cpp @@ -21,10 +21,15 @@ #include "typedefs.h" #include #include +#include + +// Global random +CGAL::Random myrandom; int main(int argc, char** argv) { - std::cout<<"Size of dart: "<is_free (2)); + CGAL_assertion ( d!=NULL && !d->is_free(2) ); + CGAL_assertion ( !d->is_free(1) && !d->is_free(0) ); + CGAL_assertion ( !d->beta(2)->is_free(0) && !d->beta(2)->is_free(1) ); + + if (!CGAL::is_removable(m,d)) return NULL; - if (!CGAL::is_removable(m,d)) - return NULL; + Dart_handle d1 = d->beta(1); + Dart_handle d2 = d->beta(2)->beta(0); - Dart_handle d2 = d->beta(1)->beta(1); - CGAL::remove_cell(m, d); + CGAL_assertion ( !d1->is_free(1) && !d2->is_free(0) ); - insert_cell_1_in_cell_2(m, d2, d2->beta(1)->beta(1)); + Dart_handle d3 = d1->beta(1); + Dart_handle d4 = d2->beta(0); - return d2->beta (0); + // We isolated the edge + m.basic_link_beta_1(d->beta(0), d->beta(2)->beta(1)); + m.basic_link_beta_0(d->beta(1), d->beta(2)->beta(0)); + if ( !d->is_free(3) ) + { + m.basic_link_beta_0(d->beta(0)->beta(3), d->beta(2)->beta(1)->beta(3)); + m.basic_link_beta_1(d->beta(1)->beta(3), d->beta(2)->beta(0)->beta(3)); + } + + // Then we push the two extremities. + m.basic_link_beta_0(d3, d); + m.basic_link_beta_0(d2, d->beta(2)); + m.link_beta_1(d4, d); + m.link_beta_1(d1, d->beta(2)); + + if ( !d->is_free(3) ) + { + m.basic_link_beta_0(d4->beta(3), d->beta(3)); + m.basic_link_beta_0(d1->beta(3), d->beta(2)->beta(3)); + m.link_beta_1(d3->beta(3), d->beta(3)); + m.link_beta_1(d2->beta(3), d->beta(2)->beta(3)); + } + + // CGAL::remove_cell(m, d); + // insert_cell_1_in_cell_2(m, d1, d1->beta(1)->beta(1)); + + return d; } // Subdivide each facet of the lcc by using sqrt(3)-subdivision. @@ -156,9 +186,8 @@ subdivide_lcc_3 (LCC & m) (m.is_marked(d2->beta(3), mark) && m.is_marked(d2->beta(2)->beta(3), mark)))) { - m.negate_mark (mark); // thus new darts will be marked flip_edge (m, d2); - m.negate_mark (mark); + m.mark(d2, mark); } else m.mark (d2, mark); diff --git a/Linear_cell_complex/demo/Linear_cell_complex/MainWindow.cpp b/Linear_cell_complex/demo/Linear_cell_complex/MainWindow.cpp index d348f9750de..8b69b48b82a 100644 --- a/Linear_cell_complex/demo/Linear_cell_complex/MainWindow.cpp +++ b/Linear_cell_complex/demo/Linear_cell_complex/MainWindow.cpp @@ -21,82 +21,54 @@ #include "MainWindow.h" #include #include +#include "MainWindow.moc" +#include // Function defined in Linear_cell_complex_3_subivision.cpp void subdivide_lcc_3 (LCC & m); #define DELAY_STATUSMSG 1500 -bool isVisibleAndFilled(char property) -{ return (property & LCC_DEMO_FILLED) && (property & LCC_DEMO_VISIBLE); } - -bool isVisible(char property) -{ return (property & LCC_DEMO_VISIBLE); } - -bool isFilled(char property) -{ return (property & LCC_DEMO_FILLED); } - -char setVisible(char property) -{ return property | LCC_DEMO_VISIBLE; } - -char setHidden(char property) -{ - if ( !isVisible(property) ) return property; - return property ^ LCC_DEMO_VISIBLE; -} - -char setFilled(char property) -{ return property | LCC_DEMO_FILLED; } - -char setWireframe(char property) -{ - if ( !isFilled(property) ) return property; - return property ^ LCC_DEMO_FILLED; -} - -char setVisibleAndFilled(char property) -{ return property | LCC_DEMO_FILLED | LCC_DEMO_VISIBLE; } - -char negateVisible(char property) -{ return property ^ LCC_DEMO_VISIBLE; } - -char negateFilled(char property) -{ return property ^ LCC_DEMO_FILLED; } - - MainWindow::MainWindow (QWidget * parent):CGAL::Qt::DemosMainWindow (parent), - nbcube (0), - dialogmesh(this), - volumeUid(1) + nbcube (0), + dialogmesh (this), + dialogmenger(this) { setupUi (this); + scene.lcc = new LCC; volumeListDock = new QDockWidget(QString(tr("Volume List")),this); volumeListDock->setAllowedAreas(Qt::RightDockWidgetArea | Qt::LeftDockWidgetArea); - volumeList = new QTableWidget(0,3,volumeListDock); + volumeList = new QTableWidget(0,4,volumeListDock); volumeList->verticalHeader()->hide(); + volumeList->setColumnHidden(3,true); QObject::connect(this->volumeList, SIGNAL(cellChanged(int,int)), this, SLOT(onCellChanged(int,int))); - QStringList labels(QString(tr("Volume"))); + QStringList labels(QString(tr("Color"))); labels.append(QString(tr("Filled"))); labels.append(QString(tr("Hidden"))); volumeList->setHorizontalHeaderLabels(labels); - // volumeList->resizeColumnsToContents(); - volumeList->setFixedWidth(170); + //volumeList->resizeColumnsToContents(); + volumeList->setFixedWidth(200); +/* volumeList->setColumnWidth(0,85); + volumeList->setColumnWidth(1,35); + volumeList->setColumnWidth(2,35);*/ volumeList->horizontalHeader()->setResizeMode(QHeaderView::Stretch); - volumeList->setSelectionMode(QAbstractItemView::SingleSelection); - volumeList->setSelectionBehavior(QAbstractItemView::SelectRows); + volumeList->setSelectionMode(QAbstractItemView::NoSelection); + //volumeList->setSelectionBehavior(QAbstractItemView::SelectRows); volumeListDock->setWidget(volumeList); addDockWidget(Qt::RightDockWidgetArea,volumeListDock); menuView->addAction(volumeListDock->toggleViewAction()); - this->viewer->setScene (&scene); - this->viewer->setVectorPointers(&volumeDartIndex,&volumeProperties); + QObject::connect(&dialogmesh, SIGNAL(accepted()), + this, SLOT(onCreateMeshOk())); + + this->viewer->setScene(&scene); - connectActions (); + connect_actions (); this->addAboutDemo (":/cgal/help/about_Linear_cell_complex_3.html"); this->addAboutCGAL (); @@ -105,79 +77,47 @@ MainWindow::MainWindow (QWidget * parent):CGAL::Qt::DemosMainWindow (parent), this, SLOT (load_off (QString))); statusMessage = new QLabel - ("Darts: 0, Vertices: 0 (Points: 0), Edges: 0, Facets: 0," - " Volume: 0 (Vol color: 0), Connected components: 0"); + ("Darts: 0, Vertices: 0 (Points: 0), Edges: 0, Facets: 0," + " Volume: 0 (Vol color: 0), Connected components: 0"); statusBar ()->addWidget (statusMessage); } -void MainWindow::connectActions () -{ - QObject::connect (this->actionImportOFF, SIGNAL (triggered ()), - this, SLOT (import_off ())); - - QObject::connect (this->actionAddOFF, SIGNAL (triggered ()), - this, SLOT (add_off ())); - - QObject::connect (this->actionCompute_Voronoi_3D, SIGNAL (triggered ()), - this, SLOT (voronoi_3 ())); - - QObject::connect (this->actionImport3DTDS, SIGNAL (triggered ()), - this, SLOT (import_3DTDS ())); - +void MainWindow::connect_actions () +{ QObject::connect (this->actionQuit, SIGNAL (triggered ()), qApp, SLOT (quit ())); - QObject::connect (this->actionSubdivide, SIGNAL (triggered ()), - this, SLOT (subdivide ())); - - QObject::connect (this->actionCreate_cube, SIGNAL (triggered ()), - this, SLOT (create_cube ())); - - QObject::connect (this->actionCreate_mesh, SIGNAL (triggered ()), - this, SLOT (create_mesh ())); - - QObject::connect (this->actionCreate3Cubes, SIGNAL (triggered ()), - this, SLOT (create_3cubes ())); - - QObject::connect (this->actionCreate2Volumes, SIGNAL (triggered ()), - this, SLOT (create_2volumes ())); - QObject::connect (this, SIGNAL (sceneChanged ()), this, SLOT (onSceneChanged ())); - QObject::connect (this->actionClear, SIGNAL (triggered ()), - this, SLOT (clear ())); - - QObject::connect (this->actionDual_3, SIGNAL (triggered ()), - this, SLOT (dual_3 ())); - - QObject::connect (this->actionClose_volume, SIGNAL (triggered ()), - this, SLOT (close_volume ())); - - QObject::connect (this->actionRemove_filled_volumes, SIGNAL (triggered ()), - this, SLOT (remove_filled_volumes ())); - - QObject::connect (this->actionRemove_selected_volume, SIGNAL (triggered ()), - this, SLOT (remove_selected_volume ())); - - QObject::connect (this->actionSew3_same_facets, SIGNAL (triggered ()), - this, SLOT (sew3_same_facets ())); - - QObject::connect (this->actionUnsew3_all, SIGNAL (triggered ()), - this, SLOT (unsew3_all ())); - - QObject::connect (this->actionTriangulate_all_facets, SIGNAL (triggered ()), - this, SLOT (triangulate_all_facets ())); - - QObject::connect (this->actionExtend_filled_volumes, SIGNAL (triggered ()), - this, SLOT (extendFilledVolumes())); - QObject::connect (this->actionExtend_hidden_volumes, SIGNAL (triggered ()), - this, SLOT (extendHiddenVolumes())); - QObject::connect(this->volumeList->horizontalHeader(), SIGNAL(sectionClicked(int)), this, SLOT(onHeaderClicked(int))); + + QObject::connect(dialogmenger.mengerLevel, SIGNAL(valueChanged(int)), + this, SLOT(onMengerChange(int))); + QObject::connect(&dialogmenger, SIGNAL(accepted()), + this, SLOT(onMengerOk())); + QObject::connect(&dialogmenger, SIGNAL(rejected()), + this, SLOT(onMengerCancel())); +} + +void MainWindow::connectVolumeListHandlers() +{ + QObject::connect(this->volumeList, SIGNAL(cellChanged(int,int)), + this, SLOT(onCellChanged(int,int))); +} + +void MainWindow::update_operations_entries(bool show) +{ + actionImportOFF->setEnabled(show); + actionAddOFF->setEnabled(show); + actionImport3DTDS->setEnabled(show); + actionCompute_Voronoi_3D->setEnabled(show); + actionClear->setEnabled(show); + menuCreations->setEnabled(show); + menuOperations->setEnabled(show); } void MainWindow::onSceneChanged () @@ -198,12 +138,12 @@ void MainWindow::onSceneChanged () os << "Darts: " << scene.lcc->number_of_darts () << ", Vertices:" << res[0] <<", (Points:"<number_of_attributes<0>()<<")" - << ", Edges:" << res[1] - << ", Facets:" << res[2] - << ", Volumes:" << res[3] - <<", (Vol color:"<number_of_attributes<3>()<<")" - << ", Connected components:" << res[4] - <<", Valid:"<<(scene.lcc->is_valid()?"true":"FALSE"); + << ", Edges:" << res[1] + << ", Facets:" << res[2] + << ", Volumes:" << res[3] + <<", (Vol color:"<number_of_attributes<3>()<<")" + << ", Connected components:" << res[4] + <<", Valid:"<<(scene.lcc->is_valid()?"true":"FALSE"); scene.lcc->negate_mark (mark); scene.lcc->free_mark (mark); @@ -213,7 +153,32 @@ void MainWindow::onSceneChanged () statusMessage->setText (os.str().c_str ()); } -void MainWindow::import_off () +void MainWindow::clear_all() +{ + scene.lcc->clear(); + nbcube=0; + + volumeList->clearContents(); + volumeList->setRowCount(0); +} + +void MainWindow::on_new_volume(Dart_handle adart) +{ + assert( adart->attribute<3>()==NULL); + scene.lcc->set_attribute<3>(adart,scene.lcc->create_attribute<3>()); + update_volume_list_add(adart->attribute<3>()); +} + +void MainWindow::init_all_new_volumes() +{ + for (LCC::One_dart_per_cell_range<3>::iterator + it(scene.lcc->one_dart_per_cell<3>().begin()); + it.cont(); ++it) + if ( it->attribute<3>()==NULL ) + { on_new_volume(it); } +} + +void MainWindow::on_actionImportOFF_triggered () { QString fileName = QFileDialog::getOpenFileName (this, tr ("Import OFF"), @@ -226,7 +191,7 @@ void MainWindow::import_off () } } -void MainWindow::import_3DTDS () +void MainWindow::on_actionImport3DTDS_triggered () { QString fileName = QFileDialog::getOpenFileName (this, tr ("Import 3DTDS"), @@ -241,7 +206,7 @@ void MainWindow::import_3DTDS () } } -void MainWindow::add_off () +void MainWindow::on_actionAddOFF_triggered() { QString fileName = QFileDialog::getOpenFileName (this, tr ("Add OFF"), @@ -257,14 +222,25 @@ void MainWindow::add_off () void MainWindow::load_off (const QString & fileName, bool clear) { QApplication::setOverrideCursor (Qt::WaitCursor); + + if (clear) this->clear_all(); - if (clear) - this->clear(false); - +#ifdef CGAL_PROFILE_LCC_DEMO + CGAL::Timer timer; + timer.start(); +#endif + std::ifstream ifs (qPrintable (fileName)); CGAL::import_from_polyhedron_3_flux < LCC > (*scene.lcc, ifs); - initAllNewVolumes(); + +#ifdef CGAL_PROFILE_LCC_DEMO + timer.stop(); + std::cout<<"Time to load off "<addToRecentFiles (fileName); QApplication::restoreOverrideCursor (); @@ -278,30 +254,16 @@ void MainWindow::load_off (const QString & fileName, bool clear) emit (sceneChanged ()); } -void MainWindow::onNewVolume(Dart_handle adart) -{ - scene.lcc->set_attribute<3>(adart,scene.lcc->create_attribute<3> - (CGAL::Color(random.get_int(0,256), - random.get_int(0,256), - random.get_int(0,256)))); - update_volume_list_add(adart); -} - -void MainWindow::initAllNewVolumes() -{ - for (LCC::One_dart_per_cell_range<3>::iterator - it(scene.lcc->one_dart_per_cell<3>().begin()); - it.cont(); ++it) - if ( it->attribute<3>()==NULL ) - { onNewVolume(it); } -} - void MainWindow::load_3DTDS (const QString & fileName, bool clear) { QApplication::setOverrideCursor (Qt::WaitCursor); - if (clear) - this->clear(false); + if (clear) this->clear_all(); + +#ifdef CGAL_PROFILE_LCC_DEMO + CGAL::Timer timer; + timer.start(); +#endif typedef CGAL::Delaunay_triangulation_3 < LCC::Traits > Triangulation; Triangulation T; @@ -311,7 +273,16 @@ void MainWindow::load_3DTDS (const QString & fileName, bool clear) T.insert (begin, end); CGAL::import_from_triangulation_3 < LCC, Triangulation >(*scene.lcc, T); - initAllNewVolumes(); + +#ifdef CGAL_PROFILE_LCC_DEMO + timer.stop(); + std::cout<<"Time to import the 3DTDS from "<showMessage (QString ("Cube created"),DELAY_STATUSMSG); emit (sceneChanged ()); + + return d; } -void MainWindow::create_3cubes () +void MainWindow::on_actionCreate3Cubes_triggered () { Dart_handle d1 = make_iso_cuboid (Point_3 (nbcube, nbcube, nbcube),1); Dart_handle d2 = make_iso_cuboid (Point_3 (nbcube + 1, nbcube, nbcube),1); Dart_handle d3 = make_iso_cuboid (Point_3 (nbcube, nbcube + 1, nbcube), 1); - onNewVolume(d1); - onNewVolume(d2); - onNewVolume(d3); + on_new_volume(d1); + on_new_volume(d2); + on_new_volume(d3); scene.lcc->sew<3> (d1->beta(1)->beta(1)->beta(2), d2->beta(2)); scene.lcc->sew<3> (d1->beta(2)->beta(1)->beta(1)->beta(2), d3); @@ -372,7 +345,7 @@ void MainWindow::create_3cubes () emit (sceneChanged ()); } -void MainWindow::create_2volumes () +void MainWindow::on_actionCreate2Volumes_triggered () { Dart_handle d1 = make_iso_cuboid(Point_3(nbcube, nbcube, nbcube),1); Dart_handle d2 = make_iso_cuboid(Point_3(nbcube + 1, nbcube, nbcube), 1); @@ -388,62 +361,78 @@ void MainWindow::create_2volumes () CGAL::remove_cell(*scene.lcc, d3); CGAL::remove_cell(*scene.lcc, d2->beta (2)); - onNewVolume(d1); - onNewVolume(d4); + on_new_volume(d1); + on_new_volume(d4); ++nbcube; statusBar ()->showMessage (QString ("2 volumes were created"), DELAY_STATUSMSG); + emit (sceneChanged()); +} + +void MainWindow::on_actionCreate_mesh_triggered () +{ + dialogmesh.show(); +} + +void MainWindow::onCreateMeshOk() +{ +#ifdef CGAL_PROFILE_LCC_DEMO + CGAL::Timer timer; + timer.start(); +#endif + + for (int x=0; xshowMessage (QString ("mesh created"),DELAY_STATUSMSG); + emit (sceneChanged ()); } -void MainWindow::create_mesh () +void MainWindow::on_actionSubdivide_triggered () { - if ( dialogmesh.exec()==QDialog::Accepted ) - { - for (int x=0; xshowMessage (QString ("mesh created"),DELAY_STATUSMSG); - - emit (sceneChanged ()); - } -} +#ifdef CGAL_PROFILE_LCC_DEMO + CGAL::Timer timer; + timer.start(); +#endif -void MainWindow::subdivide () -{ subdivide_lcc_3 (*(scene.lcc)); + +#ifdef CGAL_PROFILE_LCC_DEMO + timer.stop(); + std::cout<<"Time to subdivide the current LCC: " + <showMessage (QString ("Objects were subdivided"), - DELAY_STATUSMSG); + DELAY_STATUSMSG); } -void MainWindow::clear (bool msg) +void MainWindow::on_actionClear_triggered() { - scene.lcc->clear (); - volumeUid = 1; - nbcube=0; - if (msg) - { - statusBar ()->showMessage (QString ("Scene was cleared"), DELAY_STATUSMSG); - emit (sceneChanged ()); - } - - volumeDartIndex.clear(); - volumeProperties.clear(); - volumeList->clearContents(); - volumeList->setRowCount(0); + clear_all(); + statusBar ()->showMessage (QString ("Scene cleared"), DELAY_STATUSMSG); + emit (sceneChanged ()); } -void MainWindow::voronoi_3 () +void MainWindow::on_actionCompute_Voronoi_3D_triggered () { QString fileName = QFileDialog::getOpenFileName (this, tr ("Voronoi 3D"), @@ -452,7 +441,13 @@ void MainWindow::voronoi_3 () if (fileName.isEmpty ()) return; - this->clear(false); + this->clear_all(); + +#ifdef CGAL_PROFILE_LCC_DEMO + CGAL::Timer timer; + timer.start(); +#endif + typedef CGAL::Delaunay_triangulation_3 < LCC::Traits > Triangulation; Triangulation T; @@ -464,10 +459,10 @@ void MainWindow::voronoi_3 () T.insert (begin, end); std::map vol_to_dart; + LCC::Dart_handle > vol_to_dart; dh = CGAL::import_from_triangulation_3 < LCC, Triangulation > - (delaunay_lcc, T, &vol_to_dart); + (delaunay_lcc, T, &vol_to_dart); Dart_handle ddh=delaunay_lcc.dual(*scene.lcc, dh); @@ -485,15 +480,15 @@ void MainWindow::voronoi_3 () // We update the geometry of dual_lcc by using the std::map face_to_dart. for ( std::map - ::iterator it=vol_to_dart.begin(), itend=vol_to_dart.end(); + ::iterator it=vol_to_dart.begin(), itend=vol_to_dart.end(); it!=itend; ++it) { - vol_to_dart[it->first]=dual[it->second]; - if ( !T.is_infinite(it->first) ) - scene.lcc->set_vertex_attribute - (it->second,scene.lcc->create_vertex_attribute(T.dual(it->first))); - /* else - alcc.set_vertex_attribute(it->second,alcc.create_vertex_attribute());*/ + vol_to_dart[it->first]=dual[it->second]; + if ( !T.is_infinite(it->first) ) + scene.lcc->set_vertex_attribute + (it->second,scene.lcc->create_vertex_attribute(T.dual(it->first))); + /* else + alcc.set_vertex_attribute(it->second,alcc.create_vertex_attribute());*/ } } @@ -504,8 +499,8 @@ void MainWindow::voronoi_3 () toremove.push(ddh); CGAL::mark_cell(*scene.lcc, ddh, mark_toremove); for (LCC::Dart_of_cell_range<3>::iterator - it=scene.lcc->darts_of_cell<3>(ddh).begin(), - itend=scene.lcc->darts_of_cell<3>(ddh).end(); it!=itend; ++it) + it=scene.lcc->darts_of_cell<3>(ddh).begin(), + itend=scene.lcc->darts_of_cell<3>(ddh).end(); it!=itend; ++it) { if ( !scene.lcc->is_marked(it->beta(3), mark_toremove) ) { @@ -521,241 +516,373 @@ void MainWindow::voronoi_3 () CGAL_assertion(scene.lcc->is_whole_map_unmarked(mark_toremove)); scene.lcc->free_mark(mark_toremove); } + +#ifdef CGAL_PROFILE_LCC_DEMO + timer.stop(); + std::cout<<"Time to compute Voronor 3D from "<showMessage (QString ("Voronoi 3D of points in ") + fileName, DELAY_STATUSMSG); } -void MainWindow::dual_3 () +void MainWindow::on_actionDual_3_triggered () { if ( !scene.lcc->is_without_boundary(3) ) { statusBar()->showMessage - (QString ("Dual impossible: the lcc has some 3-boundary"), - DELAY_STATUSMSG); + (QString ("Dual impossible: the lcc has some 3-boundary"), + DELAY_STATUSMSG); return; } +#ifdef CGAL_PROFILE_LCC_DEMO + CGAL::Timer timer; + timer.start(); +#endif + LCC* duallcc = new LCC; scene.lcc->dual_points_at_barycenter(*duallcc); - this->clear(false); +#ifdef CGAL_PROFILE_LCC_DEMO + timer.stop(); + std::cout<<"Time to compute the dual: " + <clear_all(); delete scene.lcc; scene.lcc = duallcc; this->viewer->setScene(&scene); - initAllNewVolumes(); + init_all_new_volumes(); statusBar ()->showMessage (QString ("Dual_3 computed"), DELAY_STATUSMSG); emit (sceneChanged ()); } -void MainWindow::close_volume() +void MainWindow::on_actionClose_volume_triggered() { +#ifdef CGAL_PROFILE_LCC_DEMO + CGAL::Timer timer; + timer.start(); +#endif + if ( scene.lcc->close(3) > 0 ) - { - initAllNewVolumes(); - statusBar ()->showMessage (QString ("Volume are closed"), DELAY_STATUSMSG); + { + init_all_new_volumes(); + statusBar ()->showMessage (QString ("All volume(s) closed"), + DELAY_STATUSMSG); emit (sceneChanged ()); } else statusBar ()->showMessage - (QString ("LCC already 3-closed"), DELAY_STATUSMSG); + (QString ("LCC already 3-closed"), DELAY_STATUSMSG); + +#ifdef CGAL_PROFILE_LCC_DEMO + timer.stop(); + std::cout<<"Time to 3-close the current lcc: " + <sew3_same_facets() > 0 ) + int mymark = scene.lcc->get_new_mark(); + mark_all_filled_and_visible_volumes(mymark); + +#ifdef CGAL_PROFILE_LCC_DEMO + CGAL::Timer timer; + timer.start(); +#endif + + if ( scene.lcc->sew3_same_facets(mymark) > 0 ) { statusBar()->showMessage - (QString ("Same facets are 3-sewn"), DELAY_STATUSMSG); + (QString ("Same facets of visible and filled volume(s) are 3-sewn"), + DELAY_STATUSMSG); emit (sceneChanged ()); } else statusBar()->showMessage (QString ("No facets 3-sewn"), DELAY_STATUSMSG); - // timer.stop(); - // std::cout<<"sew3_same_facets in "<free_mark(mymark); + +#ifdef CGAL_PROFILE_LCC_DEMO + timer.stop(); + std::cout<<"Time to sew3 all same facets: " + <darts().begin(); it!=scene.lcc->darts().end(); ++it) { - if ( !it->is_free(3) ) + if ( !it->is_free(3) && + it->attribute<3>()->info().is_filled_and_visible() && + it->beta(3)->attribute<3>()->info().is_filled_and_visible()) { scene.lcc->unsew<3>(it); ++nb; } } +#ifdef CGAL_PROFILE_LCC_DEMO + timer.stop(); + std::cout<<"Time to unsew3 all filled volumes: " + < 0 ) { statusBar()->showMessage - (QString ("All darts are 3-unsewn"), DELAY_STATUSMSG); + (QString ("Darts between visible and filled volume(s) are 3-unsewn"), + DELAY_STATUSMSG); emit (sceneChanged ()); } else statusBar()->showMessage (QString ("No dart 3-unsewn"), DELAY_STATUSMSG); } -void MainWindow::remove_filled_volumes() +void MainWindow::on_actionRemove_filled_volumes_triggered() { +#ifdef CGAL_PROFILE_LCC_DEMO + CGAL::Timer timer; + timer.start(); +#endif + unsigned int count = 0; - if(volumeDartIndex.size() > 0) + for (LCC::Attribute_range<3>::type::iterator + it=scene.lcc->attributes<3>().begin(), + itend=scene.lcc->attributes<3>().end(); it!=itend; ) { - for(unsigned int i = 0; i < volumeDartIndex.size();) + LCC::Attribute_handle<3>::type cur = it++; + if( cur->info().is_filled_and_visible() ) { - if( isVisibleAndFilled(volumeProperties[i]) ) - { - CGAL::remove_cell(*scene.lcc,volumeDartIndex[i].second); - update_volume_list_remove(i); - ++count; - } - else - { - i++; - } + CGAL::remove_cell(*scene.lcc,cur->dart()); + ++count; } - emit(sceneChanged()); } + +#ifdef CGAL_PROFILE_LCC_DEMO + timer.stop(); + std::cout<<"Time to remove all filled volumes: " + <showMessage - (QString::number(count)+QString(" visible volume(s) removed"), - DELAY_STATUSMSG); + (QString::number(count)+QString("Visible and filled volume(s) removed"), + DELAY_STATUSMSG); } -void MainWindow::remove_selected_volume() +void MainWindow::on_actionTriangulate_all_facets_triggered() { - bool nothingSelected = true; - int row = 0; - for(; row < volumeList->rowCount(); row++) - { - if(volumeList->item(row,0)->isSelected()) - { - nothingSelected = false; - break; - } - } +#ifdef CGAL_PROFILE_LCC_DEMO + CGAL::Timer timer; + timer.start(); +#endif - if(nothingSelected) - statusBar()->showMessage (QString("Nothing Selected"), DELAY_STATUSMSG); - else - { - if(::isVisible(volumeProperties[row])) - { - CGAL::remove_cell(*scene.lcc,volumeDartIndex[row].second); - update_volume_list_remove(row); - emit(sceneChanged()); - } - else - { - statusBar()->showMessage (QString("Volume is hidden"), DELAY_STATUSMSG); - } - } -} - -void MainWindow::triangulate_all_facets() -{ std::vector v; - for (LCC::One_dart_per_cell_range<2>::iterator - it(scene.lcc->one_dart_per_cell<2>().begin()); it.cont(); ++it) + for (LCC::One_dart_per_cell_range<2>::iterator + it(scene.lcc->one_dart_per_cell<2>().begin()); it.cont(); ++it) { - v.push_back(it); + if ( it->attribute<3>()->info().is_filled_and_visible() ) + v.push_back(it); } for (std::vector::iterator itv(v.begin()); itv!=v.end(); ++itv) scene.lcc->insert_barycenter_in_cell<2>(*itv); +#ifdef CGAL_PROFILE_LCC_DEMO + timer.stop(); + std::cout<<"Time to triangulate all filled faces: " + <showMessage - (QString ("All facets were triangulated"), DELAY_STATUSMSG); + (QString ("Facets of visible and filled volume(s) triangulated"), + DELAY_STATUSMSG); } -void MainWindow::update_volume_list_add(Dart_handle it) +void MainWindow::on_actionMerge_all_volumes_triggered() { - volumeDartIndex.push_back(std::pair(volumeUid,it)); - volumeProperties.push_back(setVisibleAndFilled(0)); +#ifdef CGAL_PROFILE_LCC_DEMO + CGAL::Timer timer; + timer.start(); +#endif + + Dart_handle prev = NULL; + for (LCC::Dart_range::iterator it(scene.lcc->darts().begin()), + itend=scene.lcc->darts().end(); it!=itend; ) + { + if ( !it->is_free(3) && + it->attribute<3>()->info().is_filled_and_visible() && + it->beta(3)->attribute<3>()->info().is_filled_and_visible() ) + { + CGAL::remove_cell(*scene.lcc,it); + itend=scene.lcc->darts().end(); + if ( prev==NULL ) it=scene.lcc->darts().begin(); + else { it=prev; if ( it!=itend ) ++it; } + } + else + ++it; + } + +#ifdef CGAL_PROFILE_LCC_DEMO + timer.stop(); + std::cout<<"Time to unsew3merge all filled volumes: " + <showMessage + (QString ("All volume(s) merged"), DELAY_STATUSMSG); +} + +bool MainWindow::is_volume_in_list(LCC::Attribute_handle<3>::type ah) +{ + for(int row=0; row < volumeList->rowCount(); ++row) + { + LCC::Attribute_type<3>::type* ptr= + reinterpret_cast::type*> + ( volumeList->item(row,3)->data(Qt::UserRole).value() ); + + if(ptr==&*ah) return true; + } + + return false; +} + +void MainWindow::update_volume_list_add(LCC::Attribute_handle<3>::type ah) +{ + assert( !is_volume_in_list(ah) ); + + volumeList->disconnect(this); + int newRow = volumeList->rowCount(); volumeList->setRowCount(newRow+1); - volumeList->disconnect(this); - - QTableWidgetItem* volumeLabel = - new QTableWidgetItem(QString::number(volumeUid)); + QTableWidgetItem* volumeLabel = new QTableWidgetItem + (QString(ah->info().color_name().c_str())); volumeLabel->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable); volumeLabel->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); volumeList->setItem(newRow,0,volumeLabel); - + QTableWidgetItem* fillCB = new QTableWidgetItem; fillCB->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled); - fillCB->setCheckState(Qt::Checked); + if ( ah->info().is_filled() ) fillCB->setCheckState(Qt::Checked); + else fillCB->setCheckState(Qt::Unchecked); volumeList->setItem(newRow,1, fillCB); - + QTableWidgetItem* hiddenCB = new QTableWidgetItem(); hiddenCB->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled); - hiddenCB->setCheckState(Qt::Unchecked); + if ( ah->info().is_visible() ) hiddenCB->setCheckState(Qt::Unchecked); + else hiddenCB->setCheckState(Qt::Checked); volumeList->setItem(newRow,2,hiddenCB); - - volumeUid++; + + QTableWidgetItem* attribHandle = new QTableWidgetItem; + attribHandle->setData + (Qt::UserRole, reinterpret_cast(&*(ah))); + + volumeList->setItem(newRow,3,attribHandle); connectVolumeListHandlers(); - -} - -void MainWindow::connectVolumeListHandlers() -{ - QObject::connect(this->volumeList, SIGNAL(cellChanged(int,int)), - this, SLOT(onCellChanged(int,int))); - QObject::connect(this->volumeList, SIGNAL(itemSelectionChanged()), - this, SLOT(onItemSelectionChanged())); - - } void MainWindow::update_volume_list_remove(int i) -{ - volumeDartIndex.erase(volumeDartIndex.begin()+i); - volumeProperties.erase(volumeProperties.begin()+i); +{ + assert(irowCount()); volumeList->removeRow(i); +} - this->viewer->setSelectedVolumeIndex(-1); - if(volumeList->rowCount() > i) - volumeList->item(i,0)->setSelected(false); +void MainWindow::update_volume_list_remove(LCC::Attribute_handle<3>::type ah) +{ + for(int row=0; row < volumeList->rowCount(); ++row) + { + LCC::Attribute_type<3>::type* ptr= + reinterpret_cast::type*> + ( volumeList->item(row,3)->data(Qt::UserRole).value() ); + if(ptr==&*ah) + { + update_volume_list_remove(row); + return; + } + } +} + +void MainWindow::update_volume_list_all_ckeckstates() +{ + volumeList->disconnect(this); + + for(int row=0; row < volumeList->rowCount(); ++row) + { + LCC::Attribute_type<3>::type* ptr= + reinterpret_cast::type*> + ( volumeList->item(row,3)->data(Qt::UserRole).value() ); + + if ( ptr->info().is_filled() ) + volumeList->item(row,1)->setCheckState(Qt::Checked); + else + volumeList->item(row,1)->setCheckState(Qt::Unchecked); + + if ( !ptr->info().is_visible() ) + volumeList->item(row,2)->setCheckState(Qt::Checked); + else + volumeList->item(row,2)->setCheckState(Qt::Unchecked); + } + + connectVolumeListHandlers(); +} + +void MainWindow::recreate_whole_volume_list() +{ + volumeList->clearContents(); + volumeList->setRowCount(0); + + for (LCC::Attribute_range<3>::type::iterator + it=scene.lcc->attributes<3>().begin(), + itend=scene.lcc->attributes<3>().end(); it!=itend; ++it) + update_volume_list_add(it); } void MainWindow::onCellChanged(int row, int col) { + LCC::Attribute_type<3>::type* ptr= + reinterpret_cast::type*> + ( volumeList->item(row,3)->data(Qt::UserRole).value() ); - volumeProperties[row] = - (volumeList->item(row,2)->checkState() == Qt::Unchecked ? ::setVisible(0) : 0) | - (volumeList->item(row,1)->checkState() == Qt::Checked ? ::setFilled(0) : 0 ); - - // Change selection when toggling any checkbox? - // volumeList->item(row,0)->setSelected(true); - - emit(sceneChanged()); -} - -void MainWindow::onItemSelectionChanged() -{ - // This gives a QList index out of range assert fail if volumeUid is selected - // and some other volume checkbox is clicked - // QItemSelectionModel* selectionModel = volumeList->selectionModel(); - // QModelIndexList selectedRow = selectionModel->selectedIndexes(); - - int row = 0; - for(; row < volumeList->rowCount(); row++) + if ( col==1 ) { - if(volumeList->item(row,0)->isSelected()) - break; + ptr->info().negate_filled(); + } + else if ( col==2 ) + { + ptr->info().negate_visible(); + if ( !ptr->info().is_visible() ) + volumeList->item(row,1)->setFlags + (volumeList->item(row,1)->flags()^Qt::ItemIsEnabled); + else + volumeList->item(row,1)->setFlags + (volumeList->item(row,1)->flags()|Qt::ItemIsEnabled); } - this->viewer->setSelectedVolumeIndex(row); emit(sceneChanged()); - // statusBar()->showMessage (QString::number(row)+QString(" is selected"), DELAY_STATUSMSG); } void MainWindow::onHeaderClicked(int col) @@ -764,28 +891,51 @@ void MainWindow::onHeaderClicked(int col) { volumeList->disconnect(this); - for(unsigned int i = 0; i < volumeProperties.size(); i++) + for(int i = 0; i < volumeList->rowCount(); ++i) { + LCC::Attribute_type<3>::type* ptr= + reinterpret_cast::type*> + ( volumeList->item(i,3)->data(Qt::UserRole).value() ); + switch(qApp->keyboardModifiers()) { case(Qt::ShiftModifier): - volumeProperties[i] = - (col == 1 ? ::setWireframe(volumeProperties[i]) : - ::setVisible(volumeProperties[i])); - volumeList->item(i,col)->setCheckState( Qt::Unchecked); + if (col==1) ptr->info().set_filled(false); + else if (col==2) + { + ptr->info().set_visible(true); + volumeList->item(i,1)->setFlags + (volumeList->item(i,1)->flags()|Qt::ItemIsEnabled); + } + volumeList->item(i,col)->setCheckState(Qt::Unchecked); break; case(Qt::ControlModifier): - volumeProperties[i] = - ( col == 1 ? ::negateFilled(volumeProperties[i]) : - ::negateVisible(volumeProperties[i])); + if (col==1) ptr->info().negate_filled(); + else if (col==2) + { + ptr->info().negate_visible(); + if ( !ptr->info().is_visible() ) + volumeList->item(i,1)->setFlags + (volumeList->item(i,1)->flags()^Qt::ItemIsEnabled); + else + volumeList->item(i,1)->setFlags + (volumeList->item(i,1)->flags()|Qt::ItemIsEnabled); + } volumeList->item(i,col)-> - setCheckState(volumeList->item(i,col)->checkState() ? - Qt::Unchecked: Qt::Checked); + setCheckState(volumeList->item(i,col)->checkState() ? + Qt::Unchecked: Qt::Checked); break; default: - volumeProperties[i] = - (col == 1 ? ::setFilled(volumeProperties[i]) : - ::setHidden(volumeProperties[i])); + if (col==1) ptr->info().set_filled(true); + else if (col==2) + { + if ( ptr->info().is_visible() ) + { + ptr->info().set_visible(false); + volumeList->item(i,1)->setFlags + (volumeList->item(i,1)->flags()^Qt::ItemIsEnabled); + } + } volumeList->item(i,col)->setCheckState(Qt::Checked); break; } @@ -796,63 +946,664 @@ void MainWindow::onHeaderClicked(int col) } } -void MainWindow::extendVolumesSatisfying(char amask, char negatemask) +void MainWindow::mark_all_filled_and_visible_volumes(int amark) +{ + for (LCC::Attribute_range<3>::type::iterator + it=scene.lcc->attributes<3>().begin(), + itend=scene.lcc->attributes<3>().end(); it!=itend; ++it) + { + if ( it->info().is_filled_and_visible() && + !scene.lcc->is_marked(it->dart(), amark) ) + CGAL::mark_cell(*scene.lcc, it->dart(), amark); + } +} + +void MainWindow::on_actionExtend_filled_volumes_triggered() { - bool changed = false; - volumeList->disconnect(this); - int mark_volume = scene.lcc->get_new_mark(); + std::vector::type> tofill; - for(unsigned int i = 0; i < volumeProperties.size(); i++) + int mark_volume = scene.lcc->get_new_mark(); + bool already_tofill; + + for (LCC::Attribute_range<3>::type::iterator + it=scene.lcc->attributes<3>().begin(), + itend=scene.lcc->attributes<3>().end(); it!=itend; ++it) { - if ( ((volumeProperties[i] & amask) == amask) && - ((volumeProperties[i] & negatemask) ==0 ) ) + if ( !scene.lcc->is_marked(it->dart(), mark_volume) ) { - for (LCC::Dart_of_cell_range<3>::iterator - it=scene.lcc->darts_of_cell<3>(volumeDartIndex[i].second).begin(), - itend=scene.lcc->darts_of_cell<3>(volumeDartIndex[i].second).end(); - it!=itend; ++it ) + if ( !it->info().is_filled() ) { - scene.lcc->mark(it, mark_volume); - if ( !it->is_free(3) && - !scene.lcc->is_marked( it->beta(3), mark_volume) ) + already_tofill = false; + for (LCC::Dart_of_cell_basic_range<3>::iterator it2= + scene.lcc->darts_of_cell_basic<3>(it->dart(), mark_volume).begin(); + it2.cont(); ++it2 ) { - CGAL::mark_cell(*scene.lcc, it->beta(3), mark_volume); - changed = true; + scene.lcc->mark(it2, mark_volume); + if ( !it2->is_free(3) && + it2->beta(3)->attribute<3>()->info().is_filled() && + !already_tofill) + { + tofill.push_back(it2->attribute<3>()); + already_tofill = true; + } } } + else + CGAL::mark_cell(*scene.lcc, it->dart(), mark_volume); + } + } + + CGAL_assertion( scene.lcc->is_whole_map_marked(mark_volume) ); + scene.lcc->free_mark(mark_volume); + + if ( tofill.size()>0 ) + { + for ( std::vector::type>::iterator + it=tofill.begin(), itend=tofill.end(); it!=itend; ++it ) + { + (*it)->info().set_filled(true); + } + + update_volume_list_all_ckeckstates(); + emit(sceneChanged()); + } + + connectVolumeListHandlers(); +} + +void MainWindow::on_actionExtend_hidden_volumes_triggered() +{ + volumeList->disconnect(this); + + std::vector::type> tohide; + + int mark_volume = scene.lcc->get_new_mark(); + bool already_tohide; + + for (LCC::Attribute_range<3>::type::iterator + it=scene.lcc->attributes<3>().begin(), + itend=scene.lcc->attributes<3>().end(); it!=itend; ++it) + { + if ( !scene.lcc->is_marked(it->dart(), mark_volume) ) + { + if ( it->info().is_visible() ) + { + already_tohide = false; + for (LCC::Dart_of_cell_basic_range<3>::iterator it2= + scene.lcc->darts_of_cell_basic<3>(it->dart(), mark_volume).begin(); + it2.cont(); ++it2 ) + { + scene.lcc->mark(it2, mark_volume); + if ( !it2->is_free(3) && + !it2->beta(3)->attribute<3>()->info().is_visible() && + !already_tohide) + { + tohide.push_back(it2->attribute<3>()); + already_tohide = true; + } + } + } + else + CGAL::mark_cell(*scene.lcc, it->dart(), mark_volume); + } + } + + CGAL_assertion( scene.lcc->is_whole_map_marked(mark_volume) ); + scene.lcc->free_mark(mark_volume); + + if ( tohide.size()>0 ) + { + for ( std::vector::type>::iterator + it=tohide.begin(), itend=tohide.end(); it!=itend; ++it ) + { + (*it)->info().set_visible(false); + } + + update_volume_list_all_ckeckstates(); + emit(sceneChanged()); + } + + connectVolumeListHandlers(); +} + +void MainWindow::on_actionCreate_Menger_Sponge_triggered () +{ + dialogmenger.mengerLevel->disconnect(this); + + dialogmenger.mengerLevel->setValue(0); + mengerLevel=0; + assert( mengerVolumes.empty() ); + mengerVolumes.push_back(on_actionCreate_cube_triggered()); + update_operations_entries(false); + + QObject::connect(dialogmenger.mengerLevel, SIGNAL(valueChanged(int)), + this, SLOT(onMengerChange(int))); + + dialogmenger.show(); +} + +void MainWindow::onMengerCancel() +{ + for(std::vector::iterator it=mengerVolumes.begin(); + it!=mengerVolumes.end(); ++it) + { + CGAL::remove_cell(*scene.lcc, *it); + } + + recreate_whole_volume_list(); + mengerVolumes.clear(); + emit(sceneChanged()); +} + +void MainWindow::onMengerOk() +{ + update_operations_entries(true); + mengerVolumes.clear(); +} + +void MainWindow::onMengerChange(int newLevel) +{ + while ( newLevel > mengerLevel ) onMengerInc(); + while ( newLevel < mengerLevel ) onMengerDec(); +} + +void MainWindow::onMengerInc() +{ +#ifdef CGAL_PROFILE_LCC_DEMO + CGAL::Timer timer; + timer.start(); +#endif + + this->mengerLevel++; + + std::vector edges; + std::vector faces; + unsigned int nbvolinit = (unsigned int)mengerVolumes.size(); + + int markEdges = (scene.lcc)->get_new_mark(); + int markFaces = (scene.lcc)->get_new_mark(); + int markVols = (scene.lcc)->get_new_mark(); + + for(std::vector::iterator itvol=mengerVolumes.begin(); + itvol!=mengerVolumes.end(); ++itvol) + { + assert( !(scene.lcc)->is_marked(*itvol, markVols) ); + for (LCC::Dart_of_cell_basic_range<3>::iterator + it=(scene.lcc)->darts_of_cell_basic<3>(*itvol, markVols).begin(), + itend=(scene.lcc)->darts_of_cell_basic<3>(*itvol, markVols).end(); + it!=itend; ++it) + { + if ( !(scene.lcc)->is_marked(it, markEdges) ) + { + edges.push_back(it); + CGAL::mark_cell(*(scene.lcc), it, markEdges); + } + if ( !(scene.lcc)->is_marked(it, markFaces) ) + { + faces.push_back(it); + CGAL::mark_cell(*(scene.lcc), it, markFaces); + } } } - for(unsigned int i = 0; i < volumeProperties.size(); i++) + (scene.lcc)->negate_mark(markVols); + for(std::vector::iterator itvol=mengerVolumes.begin(); + itvol!=mengerVolumes.end(); ++itvol) { - if ( scene.lcc->is_marked(volumeDartIndex[i].second, mark_volume) ) + for (LCC::Dart_of_cell_basic_range<3>::iterator + it=(scene.lcc)->darts_of_cell_basic<3>(*itvol, markVols).begin(), + itend=(scene.lcc)->darts_of_cell_basic<3>(*itvol, markVols).end(); + it!=itend; ++it) { - volumeProperties[i] |= amask; - volumeProperties[i] ^= (volumeProperties[i] & negatemask); - CGAL::unmark_cell(*scene.lcc, volumeDartIndex[i].second, - mark_volume); - - volumeList->item(i,1)->setCheckState - ( (::isFilled(volumeProperties[i])? Qt::Checked : Qt::Unchecked) ); - volumeList->item(i,2)->setCheckState - ( (::isVisible(volumeProperties[i])? Qt::Unchecked: Qt::Checked) ); + (scene.lcc)->unmark(it, markEdges); + (scene.lcc)->unmark(it, markFaces); } } - CGAL_assertion( scene.lcc->is_whole_map_unmarked(mark_volume) ); - scene.lcc->free_mark(mark_volume); - - connectVolumeListHandlers(); - if ( changed ) emit(sceneChanged()); + (scene.lcc)->negate_mark(markVols); + assert( (scene.lcc)->is_whole_map_unmarked(markVols) ); + assert( (scene.lcc)->is_whole_map_unmarked(markFaces) ); + assert( (scene.lcc)->is_whole_map_unmarked(markEdges) ); + + (scene.lcc)->free_mark(markEdges); + (scene.lcc)->free_mark(markFaces); + (scene.lcc)->free_mark(markVols); + + for(unsigned int i = 0; i < (unsigned int)edges.size(); i++) + { + split_edge_in_three(edges[i]); + } + edges.clear(); + + for(unsigned int i = 0; i < (unsigned int)faces.size(); i++) + { + split_face_in_nine(faces[i]); + } + faces.clear(); + + for(unsigned int i = 0; i < nbvolinit; i++) + { + split_vol_in_twentyseven(mengerVolumes[i]); + } + +#ifdef CGAL_PROFILE_LCC_DEMO + timer.stop(); + std::cout<<"Time to increase the level of menger sponge (" + <mengerLevel-1<<" -> "<mengerLevel<<"): " + <is_valid() ); + + emit(sceneChanged()); +} + +void MainWindow::split_edge_in_three(Dart_handle dh) +{ + LCC::Point p1 = LCC::point(dh); + LCC::Point p2 = LCC::point(dh->other_extremity()); + + LCC::Vector v1 = LCC::Traits::Construct_vector() (p1,p2); + LCC::Vector v2 = LCC::Traits::Construct_scaled_vector() (v1,1.0/3); + LCC::Vector v3 = LCC::Traits::Construct_scaled_vector() (v1,2.0/3); + + LCC::Point p3 = LCC::Traits::Construct_translated_point() (p1,v2); + LCC::Point p4 = LCC::Traits::Construct_translated_point() (p1,v3); + + (scene.lcc)->insert_point_in_cell<1>(dh,p4); + (scene.lcc)->insert_point_in_cell<1>(dh,p3); +} + +void MainWindow::split_face_in_three(Dart_handle dh) +{ + CGAL::insert_cell_1_in_cell_2(*(scene.lcc),dh->beta(1)->beta(1)->beta(1), + dh->beta(0)->beta(0)); + CGAL::insert_cell_1_in_cell_2(*(scene.lcc),dh->beta(1)->beta(1),dh->beta(0)); +} + +void MainWindow::split_face_in_nine(Dart_handle dh) +{ + Dart_handle d2 = dh->beta(1)->beta(1)->beta(1)->beta(1) + ->beta(1)->beta(1)->beta(1); + + Dart_handle e2= CGAL::insert_cell_1_in_cell_2(*(scene.lcc), + dh->beta(1)->beta(1),d2); + Dart_handle e1= CGAL::insert_cell_1_in_cell_2(*(scene.lcc), + dh->beta(1),d2->beta(1)); + + split_edge_in_three(e1); + split_edge_in_three(e2); + + split_face_in_three(dh); + split_face_in_three(d2); + split_face_in_three(e2->beta(0)); +} + +void MainWindow::split_vol_in_three(Dart_handle dh, bool removecenter) +{ + std::vector edges1; + std::vector edges2; + + Dart_handle curd = dh->beta(2)->beta(1)->beta(1)->beta(2); + for (unsigned int i=0;i<4;++i) + { + edges1.push_back(curd); + curd=curd->beta(1)->beta(2)->beta(1); + } + assert( curd==dh->beta(2)->beta(1)->beta(1)->beta(2) ); + + curd = curd->beta(1)->beta(1)->beta(2); + for (unsigned int i=0;i<4;++i) + { + edges2.push_back(curd); + curd=curd->beta(1)->beta(2)->beta(1); + } + assert( curd== + dh->beta(2)->beta(1)->beta(1)->beta(2)->beta(1)->beta(1)->beta(2) ); + + Dart_handle f1= + insert_cell_2_in_cell_3(*(scene.lcc),edges1.begin(),edges1.end()); + + Dart_handle f2= + insert_cell_2_in_cell_3(*(scene.lcc),edges2.begin(),edges2.end()); + + f1->attribute<3>()->info().color()= + (CGAL::Color(myrandom.get_int(0,256), + myrandom.get_int(0,256), + myrandom.get_int(0,256))); + f2->attribute<3>()->info().color()= + (CGAL::Color(myrandom.get_int(0,256), + myrandom.get_int(0,256), + myrandom.get_int(0,256))); + + update_volume_list_add(dh->attribute<3>()); + + if ( removecenter ) + CGAL::remove_cell(*scene.lcc,f1); + else + { + mengerVolumes.push_back(f1); + update_volume_list_add(f1->attribute<3>()); + } + + mengerVolumes.push_back(f2); +} + +void MainWindow::split_vol_in_nine(Dart_handle dh, bool removecenter) +{ + std::vector edges1; + std::vector edges2; + + Dart_handle curd = dh->beta(1)->beta(2); + for (unsigned int i=0;i<8;++i) + { + edges1.push_back(curd); + curd=curd->beta(1)->beta(2)->beta(1); + } + assert( curd==dh->beta(1)->beta(2) ); + + curd = curd->beta(1)->beta(1)->beta(2); + for (unsigned int i=0;i<8;++i) + { + edges2.push_back(curd); + curd=curd->beta(1)->beta(2)->beta(1); + } + assert( curd==dh->beta(1)->beta(2)->beta(1)->beta(1)->beta(2) ); + + Dart_handle f1= + insert_cell_2_in_cell_3(*(scene.lcc),edges1.begin(),edges1.end()); + + Dart_handle f2= + insert_cell_2_in_cell_3(*(scene.lcc),edges2.begin(),edges2.end()); + + f1->attribute<3>()->info().color()= + (CGAL::Color(myrandom.get_int(0,256), + myrandom.get_int(0,256), + myrandom.get_int(0,256))); + f2->attribute<3>()->info().color()= + (CGAL::Color(myrandom.get_int(0,256), + myrandom.get_int(0,256), + myrandom.get_int(0,256))); + + update_volume_list_add(dh->attribute<3>()); + if ( !removecenter) + update_volume_list_add(f1->attribute<3>()); + + split_face_in_three(f1); + split_face_in_three(f2); + + split_vol_in_three(dh,removecenter); + + mengerVolumes.push_back(f2->beta(2)->beta(1)); + split_vol_in_three(f2->beta(2)->beta(1),removecenter); + + if ( removecenter ) + CGAL::remove_cell(*scene.lcc,f1); + else + { + mengerVolumes.push_back(f1->beta(2)->beta(1)); + split_vol_in_three(f1->beta(2)->beta(1),true); + } +} + +void MainWindow::split_vol_in_twentyseven(Dart_handle dh) +{ + std::vector edges1; + std::vector edges2; + + Dart_handle curd = dh->beta(1)->beta(1)->beta(2); + for (unsigned int i=0;i<12;++i) + { + edges1.push_back(curd); + curd=curd->beta(1)->beta(2)->beta(1); + } + assert( curd==dh->beta(1)->beta(1)->beta(2) ); + + curd = curd->beta(1)->beta(1)->beta(2); + for (unsigned int i=0;i<12;++i) + { + edges2.push_back(curd); + curd=curd->beta(1)->beta(2)->beta(1); + } + assert( curd==dh->beta(1)->beta(1)->beta(2)->beta(1)->beta(1)->beta(2) ); + + Dart_handle f1= + insert_cell_2_in_cell_3(*(scene.lcc),edges1.begin(),edges1.end()); + + Dart_handle f2= + insert_cell_2_in_cell_3(*(scene.lcc),edges2.begin(),edges2.end()); + + f1->attribute<3>()->info().color()= + (CGAL::Color(myrandom.get_int(0,256), + myrandom.get_int(0,256), + myrandom.get_int(0,256))); + f2->attribute<3>()->info().color()= + (CGAL::Color(myrandom.get_int(0,256), + myrandom.get_int(0,256), + myrandom.get_int(0,256))); + + update_volume_list_add(dh->attribute<3>()); + update_volume_list_add(f1->attribute<3>()); + + mengerVolumes.push_back(f1->beta(2)); + mengerVolumes.push_back(f2->beta(2)); + + split_face_in_nine(f1->beta(1)); + split_face_in_nine(f2->beta(1)); + + split_vol_in_nine(dh,false); + split_vol_in_nine(f1->beta(2),true); + split_vol_in_nine(f2->beta(2),false); +} + +void MainWindow::process_full_slice(Dart_handle init, + std::vector& faces, + int markVols) +{ + Dart_handle d[12]; + d[0]=init->beta(1)->beta(2); + d[1]=d[0]->beta(3)->beta(1)->beta(2)->beta(1); + d[2]=d[1]->beta(1)->beta(2)->beta(1); + d[3]=d[2]->beta(3)->beta(1)->beta(2)->beta(1); + + d[4]=init->beta(1)->beta(1)->beta(2); + d[5]=d[4]->beta(3)->beta(0)->beta(2)->beta(0); + d[6]=d[5]->beta(0)->beta(2)->beta(0); + + d[7]=d[6]->beta(3)->beta(0)->beta(2)->beta(0); + d[8]=d[7]->beta(3)->beta(0)->beta(2)->beta(0); + d[9]=d[8]->beta(0)->beta(2)->beta(0); + + d[10]=d[9]->beta(3)->beta(0)->beta(2)->beta(0); + d[11]=d[10]->beta(3)->beta(0)->beta(2)->beta(0); + + for (unsigned int j=0; j<12; ++j) + { + if ( !(scene.lcc)->is_marked(d[j], markVols) ) + { + CGAL::mark_cell(*(scene.lcc), d[j], markVols); + } + faces.push_back(d[j]); + } +} + +void MainWindow::process_inter_slice(Dart_handle init, + std::vector& faces, + int markVols) +{ + Dart_handle d[24]; + d[0]=init; + d[1]=d[0]->beta(0)->beta(2)->beta(3)->beta(2)->beta(0); + d[2]=d[1]->beta(0)->beta(2)->beta(3)->beta(2)->beta(0); + d[3]=d[2]->beta(1)->beta(1)->beta(2)->beta(3)->beta(2); + d[4]=d[3]->beta(1)->beta(1)->beta(2)->beta(3)->beta(2); + d[5]=d[0]->beta(1)->beta(1)->beta(2)->beta(3)->beta(2); + d[6]=d[5]->beta(1)->beta(1)->beta(2)->beta(3)->beta(2); + d[7]=d[6]->beta(0)->beta(2)->beta(3)->beta(2)->beta(0); + + init = init->beta(3)->beta(2)->beta(1)->beta(1)->beta(2); + d[8]=init; + d[9]=d[8]->beta(3)->beta(1)->beta(2)->beta(3)->beta(2)->beta(1); + d[10]=d[9]->beta(1)->beta(2)->beta(3)->beta(2)->beta(1)->beta(3); + d[11]=d[10]->beta(3)->beta(0)->beta(0)->beta(2)->beta(3)->beta(2); + d[12]=d[11]->beta(0)->beta(0)->beta(2)->beta(3)->beta(2)->beta(3); + d[13]=d[8]->beta(3)->beta(0)->beta(0)->beta(2)->beta(3)->beta(2); + d[14]=d[13]->beta(0)->beta(0)->beta(2)->beta(3)->beta(2)->beta(3); + d[15]=d[14]->beta(3)->beta(1)->beta(2)->beta(3)->beta(2)->beta(1); + + d[16]=d[0]->beta(3)->beta(1)->beta(2); + d[17]=d[0]->beta(3)->beta(1)->beta(1)->beta(2); + + d[18]=d[4]->beta(3)->beta(2); + d[19]=d[4]->beta(3)->beta(0)->beta(2); + + d[20]=d[2]->beta(3)->beta(0)->beta(2); + d[21]=d[2]->beta(3)->beta(1)->beta(1)->beta(2); + + d[22]=d[6]->beta(3)->beta(2); + d[23]=d[6]->beta(3)->beta(1)->beta(2); + + for (unsigned int j=0; j<24; ++j) + { + assert( d[j]!=LCC::null_dart_handle ); + if ( !(scene.lcc)->is_marked(d[j], markVols) ) + { + CGAL::mark_cell(*(scene.lcc), d[j], markVols); + } + faces.push_back(d[j]); + } +} + +void MainWindow::onMengerDec() +{ +#ifdef CGAL_PROFILE_LCC_DEMO + CGAL::Timer timer; + timer.start(); +#endif + + this->mengerLevel--; + + // We know here the number of Menger volume: 20^mengerLevel + // thus we can directly "cut" the std::vector to the correct size. + mengerVolumes.resize(CGAL::ipower(20,mengerLevel)); + + int markVols = (scene.lcc)->get_new_mark(); + int markVertices = (scene.lcc)->get_new_mark(); + + std::vector faces; + std::vector edges; + std::vector vertices; + + // First we remove faces. + for ( std::vector::iterator itvol=mengerVolumes.begin(); + itvol!=mengerVolumes.end(); ++itvol) + { + if ( !(scene.lcc)->is_marked(*itvol, markVols) ) + { + Dart_handle init=*itvol; + CGAL::mark_cell(*(scene.lcc), init, markVols); + process_full_slice(init, faces, markVols); + init=init->beta(2)->beta(1)->beta(1)->beta(2); + process_inter_slice(init, faces, markVols); + init=init->beta(3)->beta(2)->beta(1)->beta(1)->beta(2)->beta(3); + process_full_slice(init, faces, markVols); + } + } + + for(unsigned int i = 0; i < faces.size(); i++) + { + CGAL::remove_cell(*scene.lcc, faces[i]); + } + faces.clear(); + + // Now we remove edges. + for ( std::vector::iterator itvol=mengerVolumes.begin(); + itvol!=mengerVolumes.end(); ++itvol) + { + if ( (scene.lcc)->is_marked(*itvol, markVols) ) + CGAL::unmark_cell(*(scene.lcc), *itvol, markVols); + + for (LCC::Dart_of_cell_range<3>::iterator + it=scene.lcc->darts_of_cell<3>(*itvol).begin(), + itend=scene.lcc->darts_of_cell<3>(*itvol).end(); + it!=itend; ++it) + { + if ( it->is_free(2) && ( it->is_free(3) || &*it<&*it->beta(3) ) ) + edges.push_back(it); + } + } + + assert( (scene.lcc)->is_whole_map_unmarked(markVols) ); + + for(unsigned int i = 0; i < edges.size(); i++) + { + CGAL::remove_cell(*scene.lcc, edges[i]->beta(0)); + CGAL::remove_cell(*scene.lcc, edges[i]->beta(1)); + CGAL::remove_cell(*scene.lcc, edges[i]); + } + edges.clear(); + + // Lastly we remove vertices. + for ( std::vector::iterator itvol=mengerVolumes.begin(); + itvol!=mengerVolumes.end(); ++itvol) + { + for (LCC::Dart_of_cell_basic_range<3>::iterator + it=(scene.lcc)->darts_of_cell_basic<3> + (*itvol, markVols).begin(), + itend=(scene.lcc)->darts_of_cell_basic<3> + (*itvol, markVols).end(); it!=itend; ++it) + { + if ( !(scene.lcc)->is_marked(it, markVertices) ) + { + if ( CGAL::is_removable(*scene.lcc, it) ) + vertices.push_back(it); + CGAL::mark_cell(*scene.lcc, it, markVertices); + } + } + } + + (scene.lcc)->negate_mark(markVols); + for ( std::vector::iterator itvol=mengerVolumes.begin(); + itvol!=mengerVolumes.end(); ++itvol) + { + for (LCC::Dart_of_cell_basic_range<3>::iterator + it=(scene.lcc)->darts_of_cell_basic<3> + (*itvol, markVols).begin(), + itend=(scene.lcc)->darts_of_cell_basic<3> + (*itvol, markVols).end(); it!=itend; ++it) + { + if ( (scene.lcc)->is_marked(it, markVertices) ) + CGAL::unmark_cell(*scene.lcc, it, markVertices); + } + } + + (scene.lcc)->negate_mark(markVols); + assert( (scene.lcc)->is_whole_map_unmarked(markVols) ); + assert( (scene.lcc)->is_whole_map_unmarked(markVertices) ); + + for(unsigned int i = 0; i < vertices.size(); i++) + { + CGAL::remove_cell(*scene.lcc, vertices[i]); + } + vertices.clear(); + + (scene.lcc)->free_mark(markVols); + (scene.lcc)->free_mark(markVertices); + +#ifdef CGAL_PROFILE_LCC_DEMO + timer.stop(); + std::cout<<"Time to decrease the level of menger sponge (" + <mengerLevel+1<<" -> "<mengerLevel<<"): " + <showMessage (QString ("Menger Dec"),DELAY_STATUSMSG); + emit(sceneChanged()); } -void MainWindow::extendFilledVolumes() -{ extendVolumesSatisfying( LCC_DEMO_VISIBLE | LCC_DEMO_FILLED, 0 ); } -void MainWindow::extendHiddenVolumes() -{ extendVolumesSatisfying( 0, LCC_DEMO_VISIBLE ); } #undef DELAY_STATUSMSG - -#include "MainWindow.moc" diff --git a/Linear_cell_complex/demo/Linear_cell_complex/MainWindow.h b/Linear_cell_complex/demo/Linear_cell_complex/MainWindow.h index e56516824f6..5275916986b 100644 --- a/Linear_cell_complex/demo/Linear_cell_complex/MainWindow.h +++ b/Linear_cell_complex/demo/Linear_cell_complex/MainWindow.h @@ -24,9 +24,9 @@ #include "typedefs.h" #include "ui_MainWindow.h" #include "ui_CreateMesh.h" +#include "ui_CreateMenger.h" #include -#include #include #include @@ -39,21 +39,27 @@ class QWidget; -class DialogMesh : public QDialog, private Ui::createMesh +class DialogMesh : public QDialog, public Ui::createMesh { Q_OBJECT public: - DialogMesh(QWidget* parent) - { - setupUi (this); - } + DialogMesh(QWidget* /*parent*/) + { setupUi (this); } int getX() { return xvalue->value(); } int getY() { return yvalue->value(); } int getZ() { return zvalue->value(); } }; +class DialogMenger : public QDialog, public Ui::createMenger +{ + Q_OBJECT + +public: + DialogMenger(QWidget* /*parent*/) + { setupUi(this); } +}; class MainWindow : public CGAL::Qt::DemosMainWindow, private Ui::MainWindow { @@ -63,72 +69,99 @@ public: MainWindow(QWidget* parent = 0); public slots: - void import_off(); - void add_off(); - void load_off(const QString& fileName, bool clear=true); - - void import_3DTDS(); - void load_3DTDS(const QString& fileName, bool clear=true); + // File menu + void on_actionImportOFF_triggered(); + void on_actionAddOFF_triggered(); + void on_actionImport3DTDS_triggered(); + void on_actionCompute_Voronoi_3D_triggered(); + void on_actionClear_triggered(); - void clear(bool msg=true); + // Creations menu + Dart_handle on_actionCreate_cube_triggered(); + void on_actionCreate3Cubes_triggered(); + void on_actionCreate2Volumes_triggered(); + void on_actionCreate_mesh_triggered(); + void on_actionCreate_Menger_Sponge_triggered(); - void create_cube(); - void create_3cubes(); - void create_2volumes(); - void create_mesh(); + // Operations menu + void on_actionSubdivide_triggered(); + void on_actionDual_3_triggered(); + void on_actionClose_volume_triggered(); + void on_actionTriangulate_all_facets_triggered(); + void on_actionSew3_same_facets_triggered(); + void on_actionUnsew3_all_triggered(); + void on_actionMerge_all_volumes_triggered(); + void on_actionRemove_filled_volumes_triggered(); - void subdivide(); - void dual_3(); - void voronoi_3(); - void close_volume(); - void remove_filled_volumes(); - void remove_selected_volume(); - void sew3_same_facets(); - void unsew3_all(); - void triangulate_all_facets(); + // View menu + void on_actionExtend_filled_volumes_triggered(); + void on_actionExtend_hidden_volumes_triggered(); - void onSceneChanged(); + // Other slots + void load_off(const QString& fileName, bool clear=true); + void load_3DTDS(const QString& fileName, bool clear=true); + + void onSceneChanged(); void connectVolumeListHandlers(); void onCellChanged(int, int); - void onItemSelectionChanged(); void onHeaderClicked(int); - void extendVolumesSatisfying(char amask, char negatemask); - void extendFilledVolumes(); - void extendHiddenVolumes(); + void onCreateMeshOk(); - + void onMengerInc(); + void onMengerDec(); + void onMengerChange(int); + void onMengerOk(); + void onMengerCancel(); + signals: void sceneChanged(); protected: - void onNewVolume(Dart_handle adart); - void onDeleteVolume(Dart_handle adart); - void initAllNewVolumes(); - + void clear_all(); + void on_new_volume(Dart_handle adart); + void on_delete_volume(Dart_handle adart); + void init_all_new_volumes(); + void mark_all_filled_and_visible_volumes(int amark); + Dart_handle make_iso_cuboid(const Point_3 basepoint, LCC::FT lg); - void connectActions(); + void connect_actions(); + void update_operations_entries(bool show); - void update_volume_list(); - void update_volume_list_add(Dart_handle); + bool is_volume_in_list(LCC::Attribute_handle<3>::type ah); + void recreate_whole_volume_list(); + void update_volume_list_all_ckeckstates(); + void update_volume_list_add(LCC::Attribute_handle<3>::type ah); void update_volume_list_remove(int); + void update_volume_list_remove(LCC::Attribute_handle<3>::type ah); + void split_edge_in_three (Dart_handle dh); + void split_face_in_three (Dart_handle dh); + void split_face_in_nine (Dart_handle dh); + void split_vol_in_three (Dart_handle dh, bool removecenter); + void split_vol_in_nine (Dart_handle dh, bool removecenter); + void split_vol_in_twentyseven(Dart_handle dh); + void process_full_slice(Dart_handle init, + std::vector& faces, + int markVols); + void process_inter_slice(Dart_handle init, + std::vector& faces, + int markVols); + Scene scene; - Timer timer; unsigned int nbcube; - QLabel* statusMessage; - DialogMesh dialogmesh; - CGAL::Random random; + QLabel* statusMessage; + DialogMesh dialogmesh; + DialogMenger dialogmenger; + + int mengerLevel; + std::vector mengerVolumes; QDockWidget* volumeListDock; QTableWidget* volumeList; - - int volumeUid; - std::vector< std::pair > volumeDartIndex; - std::vector< char > volumeProperties; }; #endif diff --git a/Linear_cell_complex/demo/Linear_cell_complex/MainWindow.ui b/Linear_cell_complex/demo/Linear_cell_complex/MainWindow.ui index 4934037987b..8cafbed37e7 100644 --- a/Linear_cell_complex/demo/Linear_cell_complex/MainWindow.ui +++ b/Linear_cell_complex/demo/Linear_cell_complex/MainWindow.ui @@ -54,15 +54,15 @@ &Operations - - - - - + + + + + @@ -72,6 +72,7 @@ + @@ -105,7 +106,7 @@ - &Subdivide + &Subdivide all volumes @@ -118,11 +119,6 @@ Import 3D&TS - - - Display info - - &Clear @@ -140,7 +136,7 @@ - &Close volumes + &Close all volumes @@ -150,7 +146,7 @@ - S&ew3 same facets + S&ew3 all same facets @@ -158,24 +154,24 @@ Create &mesh + + + Create Menger Sponge + + - &Remove filled volumes + &Remove volumes - &Triangulate all facets + &Triangulate facets - &Unsew3 all - - - - - Remove selected &volume + &Unsew3 volumes @@ -191,11 +187,6 @@ Extend &filled volumes - - - Extend &wireframe volumes - - Extend &hidden volumes @@ -206,6 +197,11 @@ Compute Voronoi 3D + + + &Merge volumes + + @@ -214,8 +210,6 @@
Viewer.h
- - - + diff --git a/Linear_cell_complex/demo/Linear_cell_complex/Viewer.cpp b/Linear_cell_complex/demo/Linear_cell_complex/Viewer.cpp index 31560097106..953aa895ee7 100644 --- a/Linear_cell_complex/demo/Linear_cell_complex/Viewer.cpp +++ b/Linear_cell_complex/demo/Linear_cell_complex/Viewer.cpp @@ -28,23 +28,25 @@ CGAL::Bbox_3 Viewer::bbox() { CGAL::Bbox_3 bb; - if ( scene->lcc->is_empty() ) + bool empty = true; + for (LCC::Attribute_range<3>::type::iterator + it=scene->lcc->attributes<3>().begin(), + itend=scene->lcc->attributes<3>().end(); it!=itend; ++it ) + { + if ( it->info().is_visible() ) + { + empty = false; + for( LCC::Dart_of_cell_range<3>::iterator + it2=scene->lcc->darts_of_cell<3>(it->dart()).begin(); + it2.cont(); ++it2) + bb = bb + LCC::point(it2).bbox(); + } + } + + if ( empty ) { bb = LCC::Point(CGAL::ORIGIN).bbox(); - } - else - { - for(unsigned int i = 0; i < pVolumeDartIndex->size(); i++) - { - if( ::isVisible((*pVolumeProperties)[i])) - { - for( LCC::Dart_of_cell_range<3>::iterator - it=scene->lcc->darts_of_cell<3>((*pVolumeDartIndex)[i].second).begin(), - itend=scene->lcc->darts_of_cell<3>((*pVolumeDartIndex)[i].second).end(); - it.cont(); ++it) - bb = bb + LCC::point(it).bbox(); - } - } + bb = bb + LCC::Point(1,1,1).bbox(); // To avoid a warning from Qglviewer } return bb; @@ -73,14 +75,14 @@ void Viewer::drawFacet(Dart_const_handle ADart) assert( ADart->attribute<3>()!=NULL ); // double r = (double)ADart->attribute<3>()->info().r()/255.0; - double r = (double)ADart->attribute<3>()->info().r()/255.0; - double g = (double)ADart->attribute<3>()->info().g()/255.0; - double b = (double)ADart->attribute<3>()->info().b()/255.0; + double r = (double)ADart->attribute<3>()->info().color().r()/255.0; + double g = (double)ADart->attribute<3>()->info().color().g()/255.0; + double b = (double)ADart->attribute<3>()->info().color().b()/255.0; if ( !ADart->is_free(3) ) { - r += (double)ADart->beta(3)->attribute<3>()->info().r()/255.0; - g += (double)ADart->beta(3)->attribute<3>()->info().g()/255.0; - b += (double)ADart->beta(3)->attribute<3>()->info().b()/255.0; + r += (double)ADart->beta(3)->attribute<3>()->info().color().r()/255.0; + g += (double)ADart->beta(3)->attribute<3>()->info().color().g()/255.0; + b += (double)ADart->beta(3)->attribute<3>()->info().color().b()/255.0; r /= 2; g /= 2; b /= 2; } @@ -142,8 +144,7 @@ void Viewer::draw_one_vol(Dart_const_handle adart, bool filled) it.cont(); ++it) { drawFacet(it); - if(edges) drawEdges(it); - + if (edges) drawEdges(it); } } else @@ -171,21 +172,23 @@ void Viewer::draw() if ( m.is_empty() ) return; - for(unsigned int i = 0; i < pVolumeDartIndex->size(); i++) + for (LCC::Attribute_range<3>::type::iterator + it=m.attributes<3>().begin(), + itend=m.attributes<3>().end(); it!=itend; ++it ) { - if( ::isVisible((*pVolumeProperties)[i])) + if ( it->info().is_visible() ) { - if(selectedVolumeIndex == (int)i) glLineWidth(5.0f); - draw_one_vol((*pVolumeDartIndex)[i].second, - ::isFilled((*pVolumeProperties)[i])); - if(selectedVolumeIndex == (int)i) glLineWidth(1.4f); + // TODO allow to select one volume ? + // if(selectedVolumeIndex == (int)i) glLineWidth(5.0f); + draw_one_vol(it->dart(), it->info().is_filled()); + // if(selectedVolumeIndex == (int)i) glLineWidth(1.4f); if(vertices) { for( LCC::One_dart_per_incident_cell_range<0,3>::iterator - it(m, (*pVolumeDartIndex)[i].second); it.cont(); ++it) + it2(m, it->dart()); it2.cont(); ++it2) { - LCC::Point p = m.point(it); + LCC::Point p = m.point(it2); glBegin(GL_POINTS); glColor3f(.6f,.2f,.8f); glVertex3f( p.x(),p.y(),p.z()); @@ -209,8 +212,6 @@ void Viewer::init() setKeyDescription(Qt::Key_F, "Toggles flat shading display"); setKeyDescription(Qt::Key_E, "Toggles edges display"); setKeyDescription(Qt::Key_V, "Toggles vertices display"); - setKeyDescription(Qt::Key_Z, "Next mode filled facet"); - setKeyDescription(Qt::Key_R, "Select next volume, used for filled facet"); // Light default parameters ::glLineWidth(1.4f); diff --git a/Linear_cell_complex/demo/Linear_cell_complex/Viewer.h b/Linear_cell_complex/demo/Linear_cell_complex/Viewer.h index 93ffeee7424..6569a10547e 100644 --- a/Linear_cell_complex/demo/Linear_cell_complex/Viewer.h +++ b/Linear_cell_complex/demo/Linear_cell_complex/Viewer.h @@ -24,7 +24,6 @@ #include "typedefs.h" #include #include -#include class Viewer : public QGLViewer { @@ -36,20 +35,15 @@ class Viewer : public QGLViewer bool flatShading; bool edges; bool vertices; - unsigned int modeFilledFacet; - int selectedVolumeIndex; typedef LCC::Dart_handle Dart_handle; typedef LCC::Dart_const_handle Dart_const_handle; - std::vector >* pVolumeDartIndex; - std::vector* pVolumeProperties; - public: Viewer(QWidget* parent) : QGLViewer(parent), wireframe(false), flatShading(true), - edges(true), vertices(true), modeFilledFacet(0), selectedVolumeIndex(-1) + edges(true), vertices(true) {} void setScene(Scene* scene_) @@ -57,18 +51,6 @@ public: scene = scene_; } - void setVectorPointers(std::vector >* v1, - std::vector* v2) - { - pVolumeDartIndex = v1; - pVolumeProperties = v2; - } - - void setSelectedVolumeIndex(int index) - { - selectedVolumeIndex = index; - } - public: void draw(); diff --git a/Linear_cell_complex/demo/Linear_cell_complex/typedefs.h b/Linear_cell_complex/demo/Linear_cell_complex/typedefs.h index 14b6ae8c23a..d047a95fe5a 100644 --- a/Linear_cell_complex/demo/Linear_cell_complex/typedefs.h +++ b/Linear_cell_complex/demo/Linear_cell_complex/typedefs.h @@ -27,6 +27,7 @@ #include #include +#include #include #include @@ -35,17 +36,66 @@ #include #include -template -struct Average_functor : public std::binary_function +// Global random +extern CGAL::Random myrandom; + +// Use to define properties on volumes. +#define LCC_DEMO_VISIBLE 1 // if not visible => hidden +#define LCC_DEMO_FILLED 2 // if not filled, wireframe + +class Volume_info { - void operator()(Cell& acell1,Cell& acell2) - { - acell1.attribute()= - CGAL::Color((acell1.attribute().r()+acell2.attribute().r())/2, - (acell1.attribute().g()+acell2.attribute().g())/2, - (acell1.attribute().b()+acell2.attribute().b())/2); +public: + Volume_info() : m_color(CGAL::Color(myrandom.get_int(0,256), + myrandom.get_int(0,256), + myrandom.get_int(0,256))), + m_status( LCC_DEMO_VISIBLE | LCC_DEMO_FILLED ) + {} + + CGAL::Color& color() + { return m_color; } + const CGAL::Color& color() const + { return m_color; } + + std::string color_name() const + { + std::ostringstream ss; + ss< Dart; typedef CGAL::Cell_attribute_with_point< Refs > Vertex_attrib; - typedef CGAL::Cell_attribute< Refs, CGAL::Color > Volume_attrib; + typedef CGAL::Cell_attribute< Refs, Volume_info> Volume_attrib; typedef CGAL::cpp0x::tuple Attributes; @@ -78,19 +128,4 @@ struct Scene { LCC* lcc; }; -// Use to define properties on volumes. -#define LCC_DEMO_VISIBLE 1 // if not visible => hidden -#define LCC_DEMO_FILLED 2 // if not filled, wireframe - -bool isVisibleAndFilled(char property); -bool isVisible(char property); -bool isFilled(char property); -char setVisible(char property); -char setHidden(char property); -char setFilled(char property); -char setWireframe(char property); -char setVisibleAndFilled(char property); -char negateVisible(char property); -char negateFilled(char property); - #endif diff --git a/Linear_cell_complex/doc_tex/Linear_cell_complex/PkgDescription.tex b/Linear_cell_complex/doc_tex/Linear_cell_complex/PkgDescription.tex index 66b75db24f6..7e702d271bc 100644 --- a/Linear_cell_complex/doc_tex/Linear_cell_complex/PkgDescription.tex +++ b/Linear_cell_complex/doc_tex/Linear_cell_complex/PkgDescription.tex @@ -1,6 +1,6 @@ \begin{ccPkgDescription}{Linear Cell Complex\label{Pkg:LinearCellComplex}} - \ccPkgHowToCiteCgal{cgal:d-lcc-11} + \ccPkgHowToCiteCgal{cgal:d-lcc-12} \ccPkgSummary{This package implements linear cell complexes, objects in \emph{d}-dimension with linear geometry. The combinatorial part diff --git a/Linear_cell_complex/include/CGAL/Cell_attribute_with_point.h b/Linear_cell_complex/include/CGAL/Cell_attribute_with_point.h index abb7ca90938..52bccaf3fc1 100644 --- a/Linear_cell_complex/include/CGAL/Cell_attribute_with_point.h +++ b/Linear_cell_complex/include/CGAL/Cell_attribute_with_point.h @@ -85,10 +85,6 @@ namespace CGAL { Cell_attribute_with_point(const Point& apoint) : Base2(apoint) {} - /// Contructor with an attribute in parameter. - Cell_attribute_with_point(const Info& ainfo) : Base1(ainfo) - {} - /// Contructor with a point and an attribute in parameters. Cell_attribute_with_point(const Point& apoint, const Info& ainfo) : Base1(ainfo), diff --git a/Linear_cell_complex/include/CGAL/Linear_cell_complex.h b/Linear_cell_complex/include/CGAL/Linear_cell_complex.h index 20651bd7381..167b72e2126 100644 --- a/Linear_cell_complex/include/CGAL/Linear_cell_complex.h +++ b/Linear_cell_complex/include/CGAL/Linear_cell_complex.h @@ -230,8 +230,9 @@ namespace CGAL { return samegeometry; } - /// Sew3 the facets having same geometry. - unsigned int sew3_same_facets() + /// Sew3 the marked facets having same geometry + /// (a facet is considered marked if one of its dart is marked). + unsigned int sew3_same_facets(int AMark) { unsigned int res = 0; @@ -244,7 +245,7 @@ namespace CGAL { for (typename Dart_range::iterator it(this->darts().begin()), itend(this->darts().end()); it!=itend; ++it ) { - if ( !this->is_marked(it, mymark) ) + if ( !this->is_marked(it, mymark) && this->is_marked(it, AMark) ) { Point min_point=point(it); Dart_handle min_dart = it; @@ -264,6 +265,8 @@ namespace CGAL { } one_dart_per_facet[min_point].push_back(min_dart); } + else + this->mark(it, mymark); } // Second we run through the map: candidates for sew3 have necessary the diff --git a/Linear_cell_complex/include/CGAL/Linear_cell_complex_operations.h b/Linear_cell_complex/include/CGAL/Linear_cell_complex_operations.h index ed4dc6cbb39..ea9381f0c60 100644 --- a/Linear_cell_complex/include/CGAL/Linear_cell_complex_operations.h +++ b/Linear_cell_complex/include/CGAL/Linear_cell_complex_operations.h @@ -38,7 +38,7 @@ namespace CGAL { */ template typename LCC::Vector compute_normal_of_cell_2 - (const LCC& amap, typename LCC::Dart_const_handle adart) + (const LCC& /*amap*/, typename LCC::Dart_const_handle adart) { // TODO Better approximation by using Newell's method // Nx += (Vy - V'y) * (Vz + V'z); diff --git a/Maintenance/deb/ANNOUNCEMENT.beta b/Maintenance/deb/ANNOUNCEMENT.beta index fef024305a8..5b5e17fa4e4 100644 --- a/Maintenance/deb/ANNOUNCEMENT.beta +++ b/Maintenance/deb/ANNOUNCEMENT.beta @@ -1,27 +1,24 @@ -Debian packages for CGAL 3.6 Beta 1 are now available for i386 and +Debian packages for CGAL 4.0 Beta 1 are now available for i386 and amd64. To download the packages via apt-get you need to add -deb http://www.joachim-reichel.de/debian/repository lenny non-free -deb-src http://www.joachim-reichel.de/debian/repository lenny non-free + deb http://www.joachim-reichel.de/debian/repository squeeze main + deb-src http://www.joachim-reichel.de/debian/repository squeeze main -or + deb http://www.joachim-reichel.de/debian/repository wheezy main + deb-src http://www.joachim-reichel.de/debian/repository wheezy main -deb http://www.joachim-reichel.de/debian/repository squeeze non-free -deb-src http://www.joachim-reichel.de/debian/repository squeeze non-free - -or - -deb http://www.joachim-reichel.de/debian/repository sid non-free -deb-src http://www.joachim-reichel.de/debian/repository sid non-free + deb http://www.joachim-reichel.de/debian/repository sid main + deb-src http://www.joachim-reichel.de/debian/repository sid main to /etc/apt/sources.list (you only need the pair of lines corresponding -to the release you are using). The packages are called libcgal7, -libcgal-dev, libcgal-demo, and libcgal-ipelets. +to the release you are using). The packages are called libcgal9, +libcgal-dev, libcgal-demo, and libcgal-ipelets. (Note: the repository +component has changed from "non-free" to "main".) In case you want to download the packages manually, have a look at -http://www.joachim-reichel.de/debian/repository/pool/non-free/c/cgal/ +http://www.joachim-reichel.de/debian/repository/pool/main/c/cgal/ -For the final 3.8 release, similar packages will be uploaded to the +For the final 4.0 release, similar packages will be uploaded to the official Debian repository and/or be available from the CGAL web site. See also http://www.cgal.org/FAQ.html#debian_packages . diff --git a/Maintenance/deb/ANNOUNCEMENT.final b/Maintenance/deb/ANNOUNCEMENT.final index fb3b9939636..631602f75f1 100644 --- a/Maintenance/deb/ANNOUNCEMENT.final +++ b/Maintenance/deb/ANNOUNCEMENT.final @@ -1,15 +1,18 @@ -Debian packages for CGAL 3.8 are now available as well. Simply add +Debian packages for CGAL 4.0 are now available as well. Simply add -deb ftp://ftp.mpi-sb.mpg.de/pub/outgoing/CGAL/debian squeeze main contrib non-free -deb-src ftp://ftp.mpi-sb.mpg.de/pub/outgoing/CGAL/debian squeeze main contrib non-free + deb ftp://ftp.mpi-sb.mpg.de/pub/outgoing/CGAL/debian squeeze main + deb-src ftp://ftp.mpi-sb.mpg.de/pub/outgoing/CGAL/debian squeeze main -or - -deb ftp://ftp.mpi-sb.mpg.de/pub/outgoing/CGAL/debian wheezy main contrib non-free -deb-src ftp://ftp.mpi-sb.mpg.de/pub/outgoing/CGAL/debian wheezy main contrib non-free + deb ftp://ftp.mpi-sb.mpg.de/pub/outgoing/CGAL/debian wheezy main + deb-src ftp://ftp.mpi-sb.mpg.de/pub/outgoing/CGAL/debian wheezy main to /etc/apt/sources list (you only need the pair of lines corresponding to the release you are using). For sid, packages should be available -from the official Debian repository in a few days. +from the official Debian repository in a few days. The packages are called +libcgal9, libcgal-dev, libcgal-demo, and libcgal-ipelets. (Note: the +repository component has changed from "non-free" to "main".) + +In case you want to download the packages manually, have a look at +ftp://ftp.mpi-sb.mpg.de/pub/outgoing/CGAL/debian/pool/main/c/cgal/ See also http://www.cgal.org/FAQ.html#debian_packages . diff --git a/Maintenance/deb/README b/Maintenance/deb/README index bf8ce0bd22a..a6c92ea89ee 100644 --- a/Maintenance/deb/README +++ b/Maintenance/deb/README @@ -21,22 +21,23 @@ backport for squeeze: Tags ---- -svn copy $SVNROOT/branches/next/Maintenance/deb/sid/debian $SVNROOT/tags/debian/3.9-1 -svn copy $SVNROOT/branches/next/Maintenance/deb/wheezy/debian $SVNROOT/tags/debian/3.9-1~wheezy1 -svn copy $SVNROOT/branches/next/Maintenance/deb/squeeze/debian $SVNROOT/tags/debian/3.9-1~squeeze1 +svn copy $SVNROOT/branches/next/Maintenance/deb/sid/debian $SVNROOT/tags/debian/4.0-1 -m "Tag for revision 4.0-1" +svn copy $SVNROOT/branches/next/Maintenance/deb/wheezy/debian $SVNROOT/tags/debian/4.0-1~wheezy1 -m "Tag for revision 4.0-1~wheezy1" +svn copy $SVNROOT/branches/next/Maintenance/deb/squeeze/debian $SVNROOT/tags/debian/4.0-1~squeeze1 -m "Tag for revision 4.0-1~squeeze1" or: -svn copy $SVNROOT/branches/CGAL-3.9-branch/Maintenance/deb/sid/debian $SVNROOT/tags/debian/3.9-1 -svn copy $SVNROOT/branches/CGAL-3.9-branch/Maintenance/deb/wheezy/debian $SVNROOT/tags/debian/3.9-1~wheezy1 -svn copy $SVNROOT/branches/CGAL-3.9-branch/Maintenance/deb/squeeze/debian $SVNROOT/tags/debian/3.9-1~squeeze1 +svn copy $SVNROOT/branches/CGAL-4.0-branch/Maintenance/deb/sid/debian $SVNROOT/tags/debian/4.0-1 -m "Tag for revision 4.0-1" +svn copy $SVNROOT/branches/CGAL-4.0-branch/Maintenance/deb/wheezy/debian $SVNROOT/tags/debian/4.0-1~wheezy1 -m "Tag for revision 4.0-1~wheezy1" +svn copy $SVNROOT/branches/CGAL-4.0-branch/Maintenance/deb/squeeze/debian $SVNROOT/tags/debian/4.0-1~squeeze1 -m "Tag for revision 4.0-1~squeeze1" FTP server ---------- -wget http://www.joachim-reichel.de/tmp/cgal-3.9.tar.bz2 +wget http://www.joachim-reichel.de/tmp/cgal-4.0.tar.bz2 su cgal cd /ftp/pub/outgoing/CGAL/debian -mv pool/non-free/c/cgal/* archive +mv pool/main/c/cgal/* archive rm -fr dists pool tar xjf /path/to/downloaded/tarball +# There should be 3 subdirectories "archive", "dists", and "pool" now. diff --git a/Maintenance/deb/sid/debian/README.source b/Maintenance/deb/sid/debian/README.source index d191338a4aa..662cd01c5da 100644 --- a/Maintenance/deb/sid/debian/README.source +++ b/Maintenance/deb/sid/debian/README.source @@ -1,7 +1,11 @@ -README.source -------------- +normalize-audio for Debian +-------------------------- -The package uses dpatch to manage patches to the original source. -See /usr/share/doc/dpatch/README.source.gz for details. +This package uses quilt to manage all modifications to the upstream source. +Changes are stored in the source package as diffs in debian/patches and +applied during the build. + +See /usr/share/doc/quilt/README.source for a detailed explanation. + + -- Joachim Reichel Sun, 15 Jan 2012 14:38:04 +0100 - -- Joachim Reichel Mon, 28 Sep 2009 21:19:03 +0200 diff --git a/Maintenance/deb/sid/debian/changelog b/Maintenance/deb/sid/debian/changelog index ae845463e7d..002950ebb83 100644 --- a/Maintenance/deb/sid/debian/changelog +++ b/Maintenance/deb/sid/debian/changelog @@ -1,3 +1,44 @@ +cgal (4.0-1) unstable; urgency=low + + * New upstream release. + * Move from non-free to main due to upstream license change from QPL + to GPL 3+ (and from LGPL 2.1 to LGPL 3+), updated debian/copyright + accordingly. + * Rename binary package libcgal8 to libcgal9 to reflect SONAME change. + * Update Standards-Version to 3.9.3 (no changes needed). + * Remove fix-ipe-version-detection.dpatch and + fix-qt-moc-parse-error.dpatch (fixed upstream). + * Removed libmagick++9-dev from Suggests: of libcgal-demo, because + that package does no longer exists. + + -- Joachim Reichel Mon, 12 Mar 2012 19:14:55 +0100 + +cgal (3.9-4) unstable; urgency=low + + * Rebuild against boost 1.48 (Closes: #659358). + * Add fix-qt-moc-parse-error.dpatch as workaround for + https://bugreports.qt-project.org/browse/QTBUG-22829. + + -- Joachim Reichel Fri, 10 Feb 2012 22:41:26 +0100 + +cgal (3.9-3) unstable; urgency=low + + * Fix FTBFS when building only architecture dependent packages caused + by recent transition to the new packaging format (Closes: #658191). + + -- Joachim Reichel Wed, 01 Feb 2012 00:07:03 +0100 + +cgal (3.9-2) unstable; urgency=low + + * Changed packaging format to "3.0 (quilt)". + * Add fix-ipe-version-detection.dpatch: upstream patch for bug #643278. + Remove workaround. + * Tighten Depends: of libcgal-ipelets on ipe (Closes: #657720). + * Move libcgal-ipelets to Section: graphics. + * Add libqt4-opengl-dev to Suggests: of libcgal-demo. + + -- Joachim Reichel Mon, 30 Jan 2012 19:04:18 +0100 + cgal (3.9-1) unstable; urgency=low * New upstream release. diff --git a/Maintenance/deb/sid/debian/compat b/Maintenance/deb/sid/debian/compat index 7f8f011eb73..45a4fb75db8 100644 --- a/Maintenance/deb/sid/debian/compat +++ b/Maintenance/deb/sid/debian/compat @@ -1 +1 @@ -7 +8 diff --git a/Maintenance/deb/sid/debian/control b/Maintenance/deb/sid/debian/control index 10afacf861c..96968eeb5c7 100644 --- a/Maintenance/deb/sid/debian/control +++ b/Maintenance/deb/sid/debian/control @@ -1,16 +1,16 @@ Source: cgal -Section: non-free/libs Priority: optional Maintainer: Joachim Reichel # "ipe" is only needed because it contains goodies.lua which is needed by FindIPE.cmake -Build-Depends: debhelper (>= 7), dpatch, cmake, libboost-dev, - libboost-thread-dev, libboost-program-options-dev, libgmp10-dev, libmpfr-dev, - libqt4-dev, libqt4-opengl-dev, zlib1g-dev, libipe-dev (>= 7), ipe -Standards-Version: 3.9.2 +Build-Depends: debhelper (>= 8), dpkg-awk, cmake, libboost-dev, + libboost-thread-dev, libboost-program-options-dev, libgmp10-dev, libmpfr-dev, + libqt4-dev, libqt4-opengl-dev, zlib1g-dev, libipe-dev (>= 7), ipe +Standards-Version: 3.9.3 +Section: libs Homepage: http://www.cgal.org/ XS-Autobuild: yes -Package: libcgal8 +Package: libcgal9 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: C++ library for computational geometry @@ -31,9 +31,9 @@ Description: C++ library for computational geometry visualisation, and I/O, and other support facilities. Package: libcgal-dev -Section: non-free/libdevel +Section: libdevel Architecture: any -Depends: libcgal8 (= ${binary:Version}), libboost-dev, +Depends: libcgal9 (= ${binary:Version}), libboost-dev, libboost-thread-dev, libboost-program-options-dev, libgmp10-dev, libmpfr-dev, libqt4-dev, zlib1g-dev, ${misc:Depends} Description: C++ library for computational geometry (development files) @@ -45,13 +45,13 @@ Description: C++ library for computational geometry (development files) This package contains the header files and static libraries. Package: libcgal-demo -Section: non-free/devel +Section: devel Architecture: all -Depends: libcgal-dev (>= ${binary:Version}), libcgal8 (>= ${binary:Version}), - ${misc:Depends} +Depends: libcgal-dev (>= ${binary:Version}), libcgal9 (>= ${binary:Version}), + ${misc:Depends} Suggests: liblapack-dev, libatlas-base-dev | libatlas.so.3gf, gfortran, geomview, libqglviewer-qt4-dev, libipe-dev (>= 7), libglew1.5-dev | libglew-dev, - libmagick++-dev | libmagick++9-dev, qt4-dev-tools + libmagick++-dev, qt4-dev-tools, libqt4-opengl-dev Description: C++ library for computational geometry (demos) CGAL (Computational Geometry Algorithms Library) makes the most important of the solutions and methods developed in computational geometry available @@ -61,8 +61,10 @@ Description: C++ library for computational geometry (demos) This package contains the demos and examples. Package: libcgal-ipelets +Section: graphics Architecture: any -Depends: libcgal8 (>= ${binary:Version}), ipe (>= 7), ${shlibs:Depends}, ${misc:Depends} +Depends: libcgal9 (>= ${binary:Version}), ipe (>= ${Ipe-Version}), ipe (<< ${Ipe-Version}+), + ${shlibs:Depends}, ${misc:Depends} Conflicts: libcgal5-ipelets Replaces: libcgal5-ipelets Description: C++ library for computational geometry (ipelets) diff --git a/Maintenance/deb/sid/debian/copyright b/Maintenance/deb/sid/debian/copyright index 9d0295b8ecf..269a926c941 100644 --- a/Maintenance/deb/sid/debian/copyright +++ b/Maintenance/deb/sid/debian/copyright @@ -3,14 +3,10 @@ Thu, 29 Apr 2004 18:43:18 +0200. It was downloaded from http://www.cgal.org/download/index.html. -The Debian packaging is Copyright (c) 2004, 2005, 2006, 2007, 2008, 2009 -Joachim Reichel and is licensed under the LGPL license, -either version 3 or later (at your option), which can be found in -/usr/share/common-licenses/LGPL-3. - -The package is not in main, but in non-free since parts of it are licensed -under the QPL. This license is not DFSG-free, but it permits one to autobuild -the package and to redistribute it in the non-free archive. +The Debian packaging is Copyright (c) 2004, 2005, 2006, 2007, 2008, 2009, +2010, 2011, 2012 Joachim Reichel and is licensed +under the LGPL license, version 2.1 or later (at your option), which can +be found in /usr/share/common-licenses/LGPL-2.1. @@ -156,23 +152,24 @@ Copyright (from upstream file LICENSE) The source code of the CGAL library can be found in the directories "src/CGAL", "src/CGALQt", "src/CGALQt4" and "include/CGAL" (with the - exception of "include/CGAL/CORE", and "include/CGAL/OpenNL"). + exception of "include/CGAL/CORE", "include/CGAL/OpenNL"). It is specified in each file of the CGAL library which - license applies to it. This is either the GNU Lesser General Public License - (as published by the Free Software Foundation; version 3 of the License) - or the Q Public License (version 1.0), *depending on each file*. The texts - of both licenses can be found in the files LICENSE.LGPL and LICENSE.QPL. + license applies to it. This is either the GNU General Public License + or the GNU Lesser General Public License (as published by the Free Software + Foundation; either version 3 of the License or (at your option) any later + version). The texts of both licenses can be found in the files LICENSE.GPL + and LICENSE.LGPL. Distributed along with CGAL (for the users' convenience), but not part of CGAL, are the following third-party libraries, available under their own licenses: - CORE, in the directories "include/CGAL/CORE" and "src/CGALCore", is - licensed under the QPL (see LICENSE.QPL). + licensed under the LGPL (see LICENSE.LGPL). - ImageIO, in the directory "src/CGALimageIO", is licensed under the LGPL (see LICENSE.LGPL). - OpenNL, in the directory "include/CGAL/OpenNL", is licensed under the LGPL - (see LICENSE.LGPL). + (see LICENSE.LGPL). All other files that do not have an explicit copyright notice (e.g., all examples and some demos) are licensed under a very permissive license. The @@ -190,10 +187,11 @@ The following copyright statement is taken from include/CGAL/config.h. The year numbers and the set of copyright holders (see list above) varies from file to file. - Copyright (c) 1997-2004 Utrecht University (The Netherlands), - ETH Zurich (Switzerland), Freie Universitaet Berlin (Germany), - INRIA Sophia-Antipolis (France), Martin-Luther-University Halle-Wittenberg - (Germany), Max-Planck-Institute Saarbruecken (Germany), RISC Linz (Austria), + Copyright (c) 1997-2010 + Utrecht University (The Netherlands), + ETH Zurich (Switzerland), + INRIA Sophia-Antipolis (France), + Max-Planck-Institute Saarbruecken (Germany), and Tel-Aviv University (Israel). All rights reserved. This file is part of CGAL (www.cgal.org); you can redistribute it and/or @@ -209,7 +207,7 @@ file to file. -Copyright statement for QPL'd files +Copyright statement for GPL'd files =================================== The following copyright statement is taken from include/CGAL/Width_3.h. The @@ -219,9 +217,10 @@ file to file. Copyright (c) 1997-2000 ETH Zurich (Switzerland). All rights reserved. - This file is part of CGAL (www.cgal.org); you may redistribute it under - the terms of the Q Public License version 1.0. - See the file LICENSE.QPL distributed with CGAL. + This file is part of CGAL (www.cgal.org). + You can redistribute it and/or modify it under the terms of the GNU + General Public License as published by the Free Software Foundation, + either version 3 of the License, or (at your option) any later version. Licensees holding a valid commercial license may use this file in accordance with the commercial license agreement provided with the software. @@ -236,9 +235,9 @@ Copright statement for files under the FREE_USE license Copyright (c) 1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007 Utrecht University (The Netherlands), - ETH Zurich (Switzerland), Freie Universitaet Berlin (Germany), - INRIA Sophia-Antipolis (France), Martin-Luther-University Halle-Wittenberg - (Germany), Max-Planck-Institute Saarbruecken (Germany), RISC Linz (Austria), + ETH Zurich (Switzerland), + INRIA Sophia-Antipolis (France), + Max-Planck-Institute Saarbruecken (Germany), and Tel-Aviv University (Israel). All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a @@ -264,6 +263,51 @@ distributed with CGAL: +Boost +===== + +The following files are modified versions originating from Boost: + + ./include/CGAL/internal/boost/mutable_heap.hpp + ./include/CGAL/internal/boost/array_binary_tree.hpp + ./include/CGAL/internal/boost/mutable_queue.hpp + Copyright 1997, 1998, 1999, 2000 University of Notre Dame. + + ./include/CGAL/internal/container_fwd_fixed.hpp + Copyright 2005-2008 Daniel James. + + ./include/CGAL/auto_link/auto_link.h + (C) Copyright John Maddock 2003. + +All of these files are distributed under the Boost Software License, +version 1.0. + + Boost Software License - Version 1.0 - August 17th, 2003 + + Permission is hereby granted, free of charge, to any person or organization + obtaining a copy of the software and accompanying documentation covered by + this license (the "Software") to use, reproduce, display, distribute, + execute, and transmit the Software, and to prepare derivative works of the + Software, and to permit third-parties to whom the Software is furnished to + do so, all subject to the following: + + The copyright notices in the Software and this entire statement, including + the above license grant, this restriction and the following disclaimer, + must be included in all copies of the Software, in whole or in part, and + all derivative works of the Software, unless such copies or derivative + works are solely in the form of machine-executable object code generated by + a source language processor. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT + SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE + FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + CORE ==== @@ -274,9 +318,10 @@ src/CGALCore and include/CGAL/CORE. Copyright (c) 1995-2004 Exact Computation Project All rights reserved. - This file is part of CORE (http://cs.nyu.edu/exact/core/); you may - redistribute it under the terms of the Q Public License version 1.0. - See the file LICENSE.QPL distributed with CORE. + This file is part of CORE (http://cs.nyu.edu/exact/core/). + You can redistribute it and/or modify it under the terms of the GNU + General Public License as published by the Free Software Foundation, + either version 3 of the License, or (at your option) any later version. Licensees holding a valid commercial license may use this file in accordance with the commercial license agreement provided with the @@ -315,8 +360,7 @@ OpenNL The following copyright statement applies to the OpenNL library in include/CGAL/OpenNL. - author: Bruno Levy, INRIA, project ALICE - website: http://www.loria.fr/~levy/software + Copyright (c) 2005-2008 Inria Loria (France). This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -327,116 +371,6 @@ include/CGAL/OpenNL. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - You should have received a copy of the GNU Lesser General Public License - along with this library; see the file /usr/share/common-licenses/LGPL-3. - If not, write to the Free Software Foundation, Inc., 51 Franklin St, - Fifth Floor, Boston, MA 02110-1301, USA - - - -LICENSE.QPL -=========== - - THE Q PUBLIC LICENSE - version 1.0 - - Copyright (C) 1999-2000 Troll Tech AS, Norway. - Everyone is permitted to copy and - distribute this license document. - -The intent of this license is to establish freedom to share and change the -software regulated by this license under the open source model. - -This license applies to any software containing a notice placed by the -copyright holder saying that it may be distributed under the terms of -the Q Public License version 1.0. Such software is herein referred to as -the Software. This license covers modification and distribution of the -Software, use of third-party application programs based on the Software, -and development of free software which uses the Software. - - Granted Rights - -1. You are granted the non-exclusive rights set forth in this license - provided you agree to and comply with any and all conditions in this - license. Whole or partial distribution of the Software, or software - items that link with the Software, in any form signifies acceptance of - this license. - -2. You may copy and distribute the Software in unmodified form provided - that the entire package, including - but not restricted to - copyright, - trademark notices and disclaimers, as released by the initial developer - of the Software, is distributed. - -3. You may make modifications to the Software and distribute your - modifications, in a form that is separate from the Software, such as - patches. The following restrictions apply to modifications: - - a. Modifications must not alter or remove any copyright notices in - the Software. - - b. When modifications to the Software are released under this - license, a non-exclusive royalty-free right is granted to the - initial developer of the Software to distribute your modification - in future versions of the Software provided such versions remain - available under these terms in addition to any other license(s) of - the initial developer. - -4. You may distribute machine-executable forms of the Software or - machine-executable forms of modified versions of the Software, provided - that you meet these restrictions: - - a. You must include this license document in the distribution. - - b. You must ensure that all recipients of the machine-executable forms - are also able to receive the complete machine-readable source code - to the distributed Software, including all modifications, without - any charge beyond the costs of data transfer, and place prominent - notices in the distribution explaining this. - - c. You must ensure that all modifications included in the - machine-executable forms are available under the terms of this - license. - -5. You may use the original or modified versions of the Software to - compile, link and run application programs legally developed by you - or by others. - -6. You may develop application programs, reusable components and other - software items that link with the original or modified versions of the - Software. These items, when distributed, are subject to the following - requirements: - - a. You must ensure that all recipients of machine-executable forms of - these items are also able to receive and use the complete - machine-readable source code to the items without any charge - beyond the costs of data transfer. - - b. You must explicitly license all recipients of your items to use - and re-distribute original and modified versions of the items in - both machine-executable and source code forms. The recipients must - be able to do so without any charges whatsoever, and they must be - able to re-distribute to anyone they choose. - - - c. If the items are not available to the general public, and the - initial developer of the Software requests a copy of the items, - then you must supply one. - - Limitations of Liability - -In no event shall the initial developers or copyright holders be liable -for any damages whatsoever, including - but not restricted to - lost -revenue or profits or other direct, indirect, special, incidental or -consequential damages, even if they have been advised of the possibility -of such damages, except to the extent invariable law, if any, provides -otherwise. - - No Warranty - -The Software and this license document are provided AS IS with NO WARRANTY -OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE. - Choice of Law - -This license is governed by the Laws of Norway. Disputes shall be settled -by Oslo City Court. + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA diff --git a/Maintenance/deb/sid/debian/libcgal-demo.install b/Maintenance/deb/sid/debian/libcgal-demo.install index b942c0b1210..8370a7dad2c 100644 --- a/Maintenance/deb/sid/debian/libcgal-demo.install +++ b/Maintenance/deb/sid/debian/libcgal-demo.install @@ -1,2 +1,2 @@ -usr/share/doc/cgal/demo.tar.gz usr/share/doc/libcgal8 -usr/share/doc/cgal/examples.tar.gz usr/share/doc/libcgal8 +usr/share/doc/cgal/demo.tar.gz usr/share/doc/libcgal9 +usr/share/doc/cgal/examples.tar.gz usr/share/doc/libcgal9 diff --git a/Maintenance/deb/sid/debian/libcgal8.install b/Maintenance/deb/sid/debian/libcgal8.install deleted file mode 100644 index f59a64a1671..00000000000 --- a/Maintenance/deb/sid/debian/libcgal8.install +++ /dev/null @@ -1,2 +0,0 @@ -usr/lib/lib*.so.* usr/lib -usr/share/doc/cgal/changelog usr/share/doc/libcgal8 diff --git a/Maintenance/deb/sid/debian/libcgal8.shlibs b/Maintenance/deb/sid/debian/libcgal8.shlibs deleted file mode 100644 index 2ccec271602..00000000000 --- a/Maintenance/deb/sid/debian/libcgal8.shlibs +++ /dev/null @@ -1,4 +0,0 @@ -libCGAL 8 libcgal8 -libCGAL_Core 8 libcgal8 -libCGAL_ImageIO 8 libcgal8 -libCGAL_Qt4 8 libcgal8 diff --git a/Maintenance/deb/sid/debian/libcgal9.install b/Maintenance/deb/sid/debian/libcgal9.install new file mode 100644 index 00000000000..26d5c3fe99c --- /dev/null +++ b/Maintenance/deb/sid/debian/libcgal9.install @@ -0,0 +1,2 @@ +usr/lib/lib*.so.* usr/lib +usr/share/doc/cgal/changelog usr/share/doc/libcgal9 diff --git a/Maintenance/deb/sid/debian/libcgal9.shlibs b/Maintenance/deb/sid/debian/libcgal9.shlibs new file mode 100644 index 00000000000..a313a97e930 --- /dev/null +++ b/Maintenance/deb/sid/debian/libcgal9.shlibs @@ -0,0 +1,4 @@ +libCGAL 9 libcgal9 +libCGAL_Core 9 libcgal9 +libCGAL_ImageIO 9 libcgal9 +libCGAL_Qt4 9 libcgal9 diff --git a/Maintenance/deb/sid/debian/patches/00list b/Maintenance/deb/sid/debian/patches/series similarity index 100% rename from Maintenance/deb/sid/debian/patches/00list rename to Maintenance/deb/sid/debian/patches/series diff --git a/Maintenance/deb/sid/debian/rules b/Maintenance/deb/sid/debian/rules index 6ad78108520..09da40e7bfa 100755 --- a/Maintenance/deb/sid/debian/rules +++ b/Maintenance/deb/sid/debian/rules @@ -1,24 +1,11 @@ #!/usr/bin/make -f -.NOTPARALLEL: - -# Uncomment this to turn on verbose mode. # export DH_VERBOSE=1 -ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) - CXXFLAGS += -g -endif +%: + dh $@ -ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) - INSTALL_PROGRAM += -s -endif - -ifeq ($(DEB_BUILD_ARCH),alpha) - IEEE_FPU_OPTION = -mieee -mfp-rounding-mode=d -endif - -configure-stamp: patch-stamp - dh_testdir +override_dh_auto_configure: mkdir -p static cd static && QTDIR= cmake .. \ -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release \ @@ -29,56 +16,33 @@ configure-stamp: patch-stamp -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SKIP_RPATH=TRUE -DBUILD_SHARED_LIBS=TRUE \ -DWITH_CGAL_Qt3=OFF -DWITH_demos=OFF -DWITH_examples=OFF - touch configure-stamp - -build: build-arch build-indep -build-arch: build-stamp -build-indep: build-stamp -build-stamp: configure-stamp - dh_testdir - dh_prep - $(MAKE) -C static - $(MAKE) -C shared - mkdir -p shared/demo/CGAL_ipelets cd shared/demo/CGAL_ipelets && QTDIR= cmake ../../../demo/CGAL_ipelets \ -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SKIP_RPATH=TRUE -DBUILD_SHARED_LIBS=TRUE \ - -DWITH_CGAL_Qt3=OFF -DCGAL_DIR=$(CURDIR)/shared + -DWITH_CGAL_Qt3=OFF -DCGAL_DIR=$(CURDIR)/shared + +override_dh_auto_build: + $(MAKE) -C static + $(MAKE) -C shared $(MAKE) -C shared/demo/CGAL_ipelets +override_dh_auto_test: ifneq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) $(MAKE) -C debian/tests IEEE_FPU_OPTION="$(IEEE_FPU_OPTION)" rounding_modes1 LD_LIBRARY_PATH=shared/lib debian/tests/rounding_modes1 $(MAKE) -C debian/tests IEEE_FPU_OPTION="$(IEEE_FPU_OPTION)" rounding_modes2 LD_LIBRARY_PATH=shared/lib debian/tests/rounding_modes2 endif - touch build-stamp -clean: clean-patched unpatch -clean-patched: patch - dh_testdir - dh_testroot - $(MAKE) -C debian/tests clean - rm -fr shared static ipelets - rm -f build-stamp configure-stamp - dh_clean - -install: build - dh_testdir - dh_testroot -# dh_prep - dh_installdirs +override_dh_auto_clean: + dh_auto_clean + rm -fr shared static +override_dh_install: $(MAKE) -C static DESTDIR=$(CURDIR)/debian/tmp install $(MAKE) -C shared DESTDIR=$(CURDIR)/debian/tmp install - - # see bug #643278 - # $(MAKE) -C shared/demo/CGAL_ipelets DESTDIR=$(CURDIR)/debian/tmp install - IPE_VERSION=`dpkg-query -W -f='$${Version}' libipe-dev | sed 's/-.*$$//'`; \ - mkdir -p debian/tmp/usr/lib/ipe/$$IPE_VERSION/ipelets; \ - cp demo/CGAL_ipelets/lua/libCGAL_*.lua shared/demo/CGAL_ipelets/libCGAL_*.so \ - debian/tmp/usr/lib/ipe/$$IPE_VERSION/ipelets + $(MAKE) -C shared/demo/CGAL_ipelets DESTDIR=$(CURDIR)/debian/tmp install mkdir -p debian/tmp/usr/share/cmake-2.8/Modules cp cmake/modules/FindCGAL.cmake debian/tmp/usr/share/cmake-2.8/Modules @@ -95,49 +59,21 @@ install: build dh_install --sourcedir=debian/tmp --list-missing - ln -s libcgal8 debian/libcgal-demo/usr/share/doc/libcgal-demo + mkdir -p debian/libcgal-demo/usr/share/doc + ln -s libcgal9 debian/libcgal-demo/usr/share/doc/libcgal-demo mkdir -p debian/libcgal-dev/usr/share/doc - ln -s libcgal8 debian/libcgal-dev/usr/share/doc/libcgal-dev + ln -s libcgal9 debian/libcgal-dev/usr/share/doc/libcgal-dev mkdir -p debian/libcgal-ipelets/usr/share/doc - ln -s libcgal8 debian/libcgal-ipelets/usr/share/doc/libcgal-ipelets + ln -s libcgal9 debian/libcgal-ipelets/usr/share/doc/libcgal-ipelets -binary-indep: build install - dh_testdir -i - dh_testroot -i - dh_link -i - dh_compress -i - dh_fixperms -i - dh_installdeb -i - dh_gencontrol -i - dh_md5sums -i - dh_builddeb -i +override_dh_installdocs: + dh_installdocs -plibcgal9 debian/copyright -binary-arch: build install - dh_testdir -a - dh_testroot -a - dh_installdocs -plibcgal8 debian/copyright - dh_installchangelogs -plibcgal8 - dh_installman -a - dh_link -a - dh_strip -a - dh_compress -a - dh_fixperms -a - dh_makeshlibs -a - dh_installdeb -a - dh_shlibdeps -a -ldebian/libcgal8/usr/lib - dh_gencontrol -a - dh_md5sums -a - dh_builddeb -a +override_dh_installchangelogs: + dh_installchangelogs -plibcgal9 -binary: binary-indep binary-arch +override_dh_shlibdeps: + dh_shlibdeps -a -ldebian/libcgal9/usr/lib -patch: patch-stamp -patch-stamp: - dpatch apply-all - touch patch-stamp - -unpatch: - dpatch deapply-all - rm -fr patch-stamp debian/patched - -.PHONY: build clean binary-indep binary-arch binary install configure patch unpatch +override_dh_gencontrol: + dh_gencontrol -- -VIpe-Version=`dpkg-awk 'Package:^ipe$$' -- Version | grep Version | sed 's/Version: //;s/-[^-]*$$//'` diff --git a/Maintenance/deb/sid/debian/source/format b/Maintenance/deb/sid/debian/source/format index d3827e75a5c..163aaf8d82b 100644 --- a/Maintenance/deb/sid/debian/source/format +++ b/Maintenance/deb/sid/debian/source/format @@ -1 +1 @@ -1.0 +3.0 (quilt) diff --git a/Maintenance/deb/squeeze/debian/README.source b/Maintenance/deb/squeeze/debian/README.source index d191338a4aa..662cd01c5da 100644 --- a/Maintenance/deb/squeeze/debian/README.source +++ b/Maintenance/deb/squeeze/debian/README.source @@ -1,7 +1,11 @@ -README.source -------------- +normalize-audio for Debian +-------------------------- -The package uses dpatch to manage patches to the original source. -See /usr/share/doc/dpatch/README.source.gz for details. +This package uses quilt to manage all modifications to the upstream source. +Changes are stored in the source package as diffs in debian/patches and +applied during the build. + +See /usr/share/doc/quilt/README.source for a detailed explanation. + + -- Joachim Reichel Sun, 15 Jan 2012 14:38:04 +0100 - -- Joachim Reichel Mon, 28 Sep 2009 21:19:03 +0200 diff --git a/Maintenance/deb/squeeze/debian/changelog b/Maintenance/deb/squeeze/debian/changelog index d79af6748f1..db0555acf86 100644 --- a/Maintenance/deb/squeeze/debian/changelog +++ b/Maintenance/deb/squeeze/debian/changelog @@ -1,4 +1,44 @@ -cgal (3.9-1~squeeze1) stable; urgency=low +cgal (4.0-1~squeeze1) stable; urgency=low + + * New upstream release. + * Move from non-free to main due to upstream license change from QPL + to GPL 3+ (and from LGPL 2.1 to LGPL 3+), updated debian/copyright + accordingly. + * Rename binary package libcgal8 to libcgal9 to reflect SONAME change. + * Remove fix-ipe-version-detection.dpatch and + fix-qt-moc-parse-error.dpatch (fixed upstream). + * Removed libmagick++9-dev from Suggests: of libcgal-demo, because + that package does no longer exists. + + -- Joachim Reichel Mon, 12 Mar 2012 19:14:55 +0100 + +cgal (3.9-4) unstable; urgency=low + + * Rebuild against boost 1.48 (Closes: #659358). + * Add fix-qt-moc-parse-error.dpatch as workaround for + https://bugreports.qt-project.org/browse/QTBUG-22829. + + -- Joachim Reichel Fri, 10 Feb 2012 22:41:26 +0100 + +cgal (3.9-3) unstable; urgency=low + + * Fix FTBFS when building only architecture dependent packages caused + by recent transition to the new packaging format (Closes: #658191). + + -- Joachim Reichel Wed, 01 Feb 2012 00:07:03 +0100 + +cgal (3.9-2) unstable; urgency=low + + * Changed packaging format to "3.0 (quilt)". + * Add fix-ipe-version-detection.dpatch: upstream patch for bug #643278. + Remove workaround. + * Tighten Depends: of libcgal-ipelets on ipe (Closes: #657720). + * Move libcgal-ipelets to Section: graphics. + * Add libqt4-opengl-dev to Suggests: of libcgal-demo. + + -- Joachim Reichel Mon, 30 Jan 2012 19:04:18 +0100 + +cgal (3.9-1) unstable; urgency=low * New upstream release. * Rename binary package libcgal7 to libcgal8 to reflect SONAME change. diff --git a/Maintenance/deb/squeeze/debian/compat b/Maintenance/deb/squeeze/debian/compat index 7f8f011eb73..45a4fb75db8 100644 --- a/Maintenance/deb/squeeze/debian/compat +++ b/Maintenance/deb/squeeze/debian/compat @@ -1 +1 @@ -7 +8 diff --git a/Maintenance/deb/squeeze/debian/control b/Maintenance/deb/squeeze/debian/control index e42346f1d49..ceeda03e0cd 100644 --- a/Maintenance/deb/squeeze/debian/control +++ b/Maintenance/deb/squeeze/debian/control @@ -1,16 +1,16 @@ Source: cgal -Section: non-free/libs Priority: optional Maintainer: Joachim Reichel # "ipe" is only needed because it contains goodies.lua which is needed by FindIPE.cmake -Build-Depends: debhelper (>= 7), dpatch, cmake, libboost-dev, - libboost-thread-dev, libboost-program-options-dev, libgmp3-dev, libmpfr-dev, - libqt4-dev, libqt4-opengl-dev, zlib1g-dev, libipe-dev (>= 7), ipe +Build-Depends: debhelper (>= 8), dpkg-awk, cmake, libboost-dev, + libboost-thread-dev, libboost-program-options-dev, libgmp3-dev, libmpfr-dev, + libqt4-dev, libqt4-opengl-dev, zlib1g-dev, libipe-dev (>= 7), ipe Standards-Version: 3.9.1 +Section: libs Homepage: http://www.cgal.org/ XS-Autobuild: yes -Package: libcgal8 +Package: libcgal9 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: C++ library for computational geometry @@ -31,9 +31,9 @@ Description: C++ library for computational geometry visualisation, and I/O, and other support facilities. Package: libcgal-dev -Section: non-free/libdevel +Section: libdevel Architecture: any -Depends: libcgal8 (= ${binary:Version}), libboost-dev, +Depends: libcgal9 (= ${binary:Version}), libboost-dev, libboost-thread-dev, libboost-program-options-dev, libgmp3-dev, libmpfr-dev, libqt4-dev, zlib1g-dev, ${misc:Depends} Description: C++ library for computational geometry (development files) @@ -45,13 +45,13 @@ Description: C++ library for computational geometry (development files) This package contains the header files and static libraries. Package: libcgal-demo -Section: non-free/devel +Section: devel Architecture: all -Depends: libcgal-dev (>= ${binary:Version}), libcgal8 (>= ${binary:Version}), - ${misc:Depends} +Depends: libcgal-dev (>= ${binary:Version}), libcgal9 (>= ${binary:Version}), + ${misc:Depends} Suggests: liblapack-dev, libatlas-base-dev | libatlas.so.3gf, gfortran, geomview, libqglviewer-qt4-dev, libipe-dev (>= 7), libglew1.5-dev | libglew-dev, - libmagick++-dev | libmagick++9-dev, qt4-dev-tools + libmagick++-dev, qt4-dev-tools, libqt4-opengl-dev Description: C++ library for computational geometry (demos) CGAL (Computational Geometry Algorithms Library) makes the most important of the solutions and methods developed in computational geometry available @@ -61,8 +61,10 @@ Description: C++ library for computational geometry (demos) This package contains the demos and examples. Package: libcgal-ipelets +Section: graphics Architecture: any -Depends: libcgal8 (>= ${binary:Version}), ipe (>= 7), ${shlibs:Depends}, ${misc:Depends} +Depends: libcgal9 (>= ${binary:Version}), ipe (>= ${Ipe-Version}), ipe (<< ${Ipe-Version}+), + ${shlibs:Depends}, ${misc:Depends} Conflicts: libcgal5-ipelets Replaces: libcgal5-ipelets Description: C++ library for computational geometry (ipelets) diff --git a/Maintenance/deb/squeeze/debian/copyright b/Maintenance/deb/squeeze/debian/copyright index 9fc477c69da..269a926c941 100644 --- a/Maintenance/deb/squeeze/debian/copyright +++ b/Maintenance/deb/squeeze/debian/copyright @@ -3,14 +3,10 @@ Thu, 29 Apr 2004 18:43:18 +0200. It was downloaded from http://www.cgal.org/download/index.html. -The Debian packaging is Copyright (c) 2004, 2005, 2006, 2007, 2008, 2009 -Joachim Reichel and is licensed under the LGPL license, -eihter version 3 or later (at your option), which can be found in -/usr/share/common-licenses/LGPL-3. - -The package is not in main, but in non-free since parts of it are licensed -under the QPL. This license is not DFSG-free, but it permits one to autobuild -the package and to redistribute it in the non-free archive. +The Debian packaging is Copyright (c) 2004, 2005, 2006, 2007, 2008, 2009, +2010, 2011, 2012 Joachim Reichel and is licensed +under the LGPL license, version 2.1 or later (at your option), which can +be found in /usr/share/common-licenses/LGPL-2.1. @@ -156,23 +152,24 @@ Copyright (from upstream file LICENSE) The source code of the CGAL library can be found in the directories "src/CGAL", "src/CGALQt", "src/CGALQt4" and "include/CGAL" (with the - exception of "include/CGAL/CORE", and "include/CGAL/OpenNL"). + exception of "include/CGAL/CORE", "include/CGAL/OpenNL"). It is specified in each file of the CGAL library which - license applies to it. This is either the GNU Lesser General Public License - (as published by the Free Software Foundation; version 3 of the License) - or the Q Public License (version 1.0), *depending on each file*. The texts - of both licenses can be found in the files LICENSE.LGPL and LICENSE.QPL. + license applies to it. This is either the GNU General Public License + or the GNU Lesser General Public License (as published by the Free Software + Foundation; either version 3 of the License or (at your option) any later + version). The texts of both licenses can be found in the files LICENSE.GPL + and LICENSE.LGPL. Distributed along with CGAL (for the users' convenience), but not part of CGAL, are the following third-party libraries, available under their own licenses: - CORE, in the directories "include/CGAL/CORE" and "src/CGALCore", is - licensed under the QPL (see LICENSE.QPL). + licensed under the LGPL (see LICENSE.LGPL). - ImageIO, in the directory "src/CGALimageIO", is licensed under the LGPL (see LICENSE.LGPL). - OpenNL, in the directory "include/CGAL/OpenNL", is licensed under the LGPL - (see LICENSE.LGPL). + (see LICENSE.LGPL). All other files that do not have an explicit copyright notice (e.g., all examples and some demos) are licensed under a very permissive license. The @@ -190,10 +187,11 @@ The following copyright statement is taken from include/CGAL/config.h. The year numbers and the set of copyright holders (see list above) varies from file to file. - Copyright (c) 1997-2004 Utrecht University (The Netherlands), - ETH Zurich (Switzerland), Freie Universitaet Berlin (Germany), - INRIA Sophia-Antipolis (France), Martin-Luther-University Halle-Wittenberg - (Germany), Max-Planck-Institute Saarbruecken (Germany), RISC Linz (Austria), + Copyright (c) 1997-2010 + Utrecht University (The Netherlands), + ETH Zurich (Switzerland), + INRIA Sophia-Antipolis (France), + Max-Planck-Institute Saarbruecken (Germany), and Tel-Aviv University (Israel). All rights reserved. This file is part of CGAL (www.cgal.org); you can redistribute it and/or @@ -209,7 +207,7 @@ file to file. -Copyright statement for QPL'd files +Copyright statement for GPL'd files =================================== The following copyright statement is taken from include/CGAL/Width_3.h. The @@ -219,9 +217,10 @@ file to file. Copyright (c) 1997-2000 ETH Zurich (Switzerland). All rights reserved. - This file is part of CGAL (www.cgal.org); you may redistribute it under - the terms of the Q Public License version 1.0. - See the file LICENSE.QPL distributed with CGAL. + This file is part of CGAL (www.cgal.org). + You can redistribute it and/or modify it under the terms of the GNU + General Public License as published by the Free Software Foundation, + either version 3 of the License, or (at your option) any later version. Licensees holding a valid commercial license may use this file in accordance with the commercial license agreement provided with the software. @@ -236,9 +235,9 @@ Copright statement for files under the FREE_USE license Copyright (c) 1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007 Utrecht University (The Netherlands), - ETH Zurich (Switzerland), Freie Universitaet Berlin (Germany), - INRIA Sophia-Antipolis (France), Martin-Luther-University Halle-Wittenberg - (Germany), Max-Planck-Institute Saarbruecken (Germany), RISC Linz (Austria), + ETH Zurich (Switzerland), + INRIA Sophia-Antipolis (France), + Max-Planck-Institute Saarbruecken (Germany), and Tel-Aviv University (Israel). All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a @@ -264,6 +263,51 @@ distributed with CGAL: +Boost +===== + +The following files are modified versions originating from Boost: + + ./include/CGAL/internal/boost/mutable_heap.hpp + ./include/CGAL/internal/boost/array_binary_tree.hpp + ./include/CGAL/internal/boost/mutable_queue.hpp + Copyright 1997, 1998, 1999, 2000 University of Notre Dame. + + ./include/CGAL/internal/container_fwd_fixed.hpp + Copyright 2005-2008 Daniel James. + + ./include/CGAL/auto_link/auto_link.h + (C) Copyright John Maddock 2003. + +All of these files are distributed under the Boost Software License, +version 1.0. + + Boost Software License - Version 1.0 - August 17th, 2003 + + Permission is hereby granted, free of charge, to any person or organization + obtaining a copy of the software and accompanying documentation covered by + this license (the "Software") to use, reproduce, display, distribute, + execute, and transmit the Software, and to prepare derivative works of the + Software, and to permit third-parties to whom the Software is furnished to + do so, all subject to the following: + + The copyright notices in the Software and this entire statement, including + the above license grant, this restriction and the following disclaimer, + must be included in all copies of the Software, in whole or in part, and + all derivative works of the Software, unless such copies or derivative + works are solely in the form of machine-executable object code generated by + a source language processor. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT + SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE + FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + CORE ==== @@ -274,9 +318,10 @@ src/CGALCore and include/CGAL/CORE. Copyright (c) 1995-2004 Exact Computation Project All rights reserved. - This file is part of CORE (http://cs.nyu.edu/exact/core/); you may - redistribute it under the terms of the Q Public License version 1.0. - See the file LICENSE.QPL distributed with CORE. + This file is part of CORE (http://cs.nyu.edu/exact/core/). + You can redistribute it and/or modify it under the terms of the GNU + General Public License as published by the Free Software Foundation, + either version 3 of the License, or (at your option) any later version. Licensees holding a valid commercial license may use this file in accordance with the commercial license agreement provided with the @@ -315,8 +360,7 @@ OpenNL The following copyright statement applies to the OpenNL library in include/CGAL/OpenNL. - author: Bruno Levy, INRIA, project ALICE - website: http://www.loria.fr/~levy/software + Copyright (c) 2005-2008 Inria Loria (France). This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -327,116 +371,6 @@ include/CGAL/OpenNL. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - You should have received a copy of the GNU Lesser General Public License - along with this library; see the file /usr/share/common-licenses/LGPL-3. - If not, write to the Free Software Foundation, Inc., 51 Franklin St, - Fifth Floor, Boston, MA 02110-1301, USA - - - -LICENSE.QPL -=========== - - THE Q PUBLIC LICENSE - version 1.0 - - Copyright (C) 1999-2000 Troll Tech AS, Norway. - Everyone is permitted to copy and - distribute this license document. - -The intent of this license is to establish freedom to share and change the -software regulated by this license under the open source model. - -This license applies to any software containing a notice placed by the -copyright holder saying that it may be distributed under the terms of -the Q Public License version 1.0. Such software is herein referred to as -the Software. This license covers modification and distribution of the -Software, use of third-party application programs based on the Software, -and development of free software which uses the Software. - - Granted Rights - -1. You are granted the non-exclusive rights set forth in this license - provided you agree to and comply with any and all conditions in this - license. Whole or partial distribution of the Software, or software - items that link with the Software, in any form signifies acceptance of - this license. - -2. You may copy and distribute the Software in unmodified form provided - that the entire package, including - but not restricted to - copyright, - trademark notices and disclaimers, as released by the initial developer - of the Software, is distributed. - -3. You may make modifications to the Software and distribute your - modifications, in a form that is separate from the Software, such as - patches. The following restrictions apply to modifications: - - a. Modifications must not alter or remove any copyright notices in - the Software. - - b. When modifications to the Software are released under this - license, a non-exclusive royalty-free right is granted to the - initial developer of the Software to distribute your modification - in future versions of the Software provided such versions remain - available under these terms in addition to any other license(s) of - the initial developer. - -4. You may distribute machine-executable forms of the Software or - machine-executable forms of modified versions of the Software, provided - that you meet these restrictions: - - a. You must include this license document in the distribution. - - b. You must ensure that all recipients of the machine-executable forms - are also able to receive the complete machine-readable source code - to the distributed Software, including all modifications, without - any charge beyond the costs of data transfer, and place prominent - notices in the distribution explaining this. - - c. You must ensure that all modifications included in the - machine-executable forms are available under the terms of this - license. - -5. You may use the original or modified versions of the Software to - compile, link and run application programs legally developed by you - or by others. - -6. You may develop application programs, reusable components and other - software items that link with the original or modified versions of the - Software. These items, when distributed, are subject to the following - requirements: - - a. You must ensure that all recipients of machine-executable forms of - these items are also able to receive and use the complete - machine-readable source code to the items without any charge - beyond the costs of data transfer. - - b. You must explicitly license all recipients of your items to use - and re-distribute original and modified versions of the items in - both machine-executable and source code forms. The recipients must - be able to do so without any charges whatsoever, and they must be - able to re-distribute to anyone they choose. - - - c. If the items are not available to the general public, and the - initial developer of the Software requests a copy of the items, - then you must supply one. - - Limitations of Liability - -In no event shall the initial developers or copyright holders be liable -for any damages whatsoever, including - but not restricted to - lost -revenue or profits or other direct, indirect, special, incidental or -consequential damages, even if they have been advised of the possibility -of such damages, except to the extent invariable law, if any, provides -otherwise. - - No Warranty - -The Software and this license document are provided AS IS with NO WARRANTY -OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE. - Choice of Law - -This license is governed by the Laws of Norway. Disputes shall be settled -by Oslo City Court. + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA diff --git a/Maintenance/deb/squeeze/debian/libcgal-demo.install b/Maintenance/deb/squeeze/debian/libcgal-demo.install index b942c0b1210..8370a7dad2c 100644 --- a/Maintenance/deb/squeeze/debian/libcgal-demo.install +++ b/Maintenance/deb/squeeze/debian/libcgal-demo.install @@ -1,2 +1,2 @@ -usr/share/doc/cgal/demo.tar.gz usr/share/doc/libcgal8 -usr/share/doc/cgal/examples.tar.gz usr/share/doc/libcgal8 +usr/share/doc/cgal/demo.tar.gz usr/share/doc/libcgal9 +usr/share/doc/cgal/examples.tar.gz usr/share/doc/libcgal9 diff --git a/Maintenance/deb/squeeze/debian/libcgal8.install b/Maintenance/deb/squeeze/debian/libcgal8.install deleted file mode 100644 index f59a64a1671..00000000000 --- a/Maintenance/deb/squeeze/debian/libcgal8.install +++ /dev/null @@ -1,2 +0,0 @@ -usr/lib/lib*.so.* usr/lib -usr/share/doc/cgal/changelog usr/share/doc/libcgal8 diff --git a/Maintenance/deb/squeeze/debian/libcgal8.shlibs b/Maintenance/deb/squeeze/debian/libcgal8.shlibs deleted file mode 100644 index 2ccec271602..00000000000 --- a/Maintenance/deb/squeeze/debian/libcgal8.shlibs +++ /dev/null @@ -1,4 +0,0 @@ -libCGAL 8 libcgal8 -libCGAL_Core 8 libcgal8 -libCGAL_ImageIO 8 libcgal8 -libCGAL_Qt4 8 libcgal8 diff --git a/Maintenance/deb/squeeze/debian/libcgal9.install b/Maintenance/deb/squeeze/debian/libcgal9.install new file mode 100644 index 00000000000..26d5c3fe99c --- /dev/null +++ b/Maintenance/deb/squeeze/debian/libcgal9.install @@ -0,0 +1,2 @@ +usr/lib/lib*.so.* usr/lib +usr/share/doc/cgal/changelog usr/share/doc/libcgal9 diff --git a/Maintenance/deb/squeeze/debian/libcgal9.shlibs b/Maintenance/deb/squeeze/debian/libcgal9.shlibs new file mode 100644 index 00000000000..a313a97e930 --- /dev/null +++ b/Maintenance/deb/squeeze/debian/libcgal9.shlibs @@ -0,0 +1,4 @@ +libCGAL 9 libcgal9 +libCGAL_Core 9 libcgal9 +libCGAL_ImageIO 9 libcgal9 +libCGAL_Qt4 9 libcgal9 diff --git a/Maintenance/deb/squeeze/debian/patches/ipe-default-to-version-7.dpatch b/Maintenance/deb/squeeze/debian/patches/ipe-default-to-version-7.dpatch deleted file mode 100755 index 107a81c83bb..00000000000 --- a/Maintenance/deb/squeeze/debian/patches/ipe-default-to-version-7.dpatch +++ /dev/null @@ -1,19 +0,0 @@ -#! /bin/sh /usr/share/dpatch/dpatch-run -## ipe-default-to-version-7.dpatch by Joachim Reichel -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Change default for WITH_IPE_7 to ON. - -@DPATCH@ -diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' cgal-3.6~beta1~/demo/CGAL_ipelets/CMakeLists.txt cgal-3.6~beta1/demo/CGAL_ipelets/CMakeLists.txt ---- cgal-3.6~beta1~/demo/CGAL_ipelets/CMakeLists.txt 2010-01-28 21:00:13.000000000 +0100 -+++ cgal-3.6~beta1/demo/CGAL_ipelets/CMakeLists.txt 2010-03-08 21:34:59.000000000 +0100 -@@ -6,7 +6,7 @@ - set(CMAKE_LIBRARY_OUTPUT_DIRECTORY .build/ipelets) - - find_package(CGAL QUIET COMPONENTS Core ) --option( WITH_IPE_7 "Use the version 7 of Ipe" OFF ) -+option( WITH_IPE_7 "Use the version 7 of Ipe" ON ) - - if ( CGAL_FOUND ) - include( ${CGAL_USE_FILE} ) diff --git a/Maintenance/deb/squeeze/debian/patches/00list b/Maintenance/deb/squeeze/debian/patches/series similarity index 100% rename from Maintenance/deb/squeeze/debian/patches/00list rename to Maintenance/deb/squeeze/debian/patches/series diff --git a/Maintenance/deb/squeeze/debian/rules b/Maintenance/deb/squeeze/debian/rules index 6ad78108520..09da40e7bfa 100755 --- a/Maintenance/deb/squeeze/debian/rules +++ b/Maintenance/deb/squeeze/debian/rules @@ -1,24 +1,11 @@ #!/usr/bin/make -f -.NOTPARALLEL: - -# Uncomment this to turn on verbose mode. # export DH_VERBOSE=1 -ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) - CXXFLAGS += -g -endif +%: + dh $@ -ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) - INSTALL_PROGRAM += -s -endif - -ifeq ($(DEB_BUILD_ARCH),alpha) - IEEE_FPU_OPTION = -mieee -mfp-rounding-mode=d -endif - -configure-stamp: patch-stamp - dh_testdir +override_dh_auto_configure: mkdir -p static cd static && QTDIR= cmake .. \ -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release \ @@ -29,56 +16,33 @@ configure-stamp: patch-stamp -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SKIP_RPATH=TRUE -DBUILD_SHARED_LIBS=TRUE \ -DWITH_CGAL_Qt3=OFF -DWITH_demos=OFF -DWITH_examples=OFF - touch configure-stamp - -build: build-arch build-indep -build-arch: build-stamp -build-indep: build-stamp -build-stamp: configure-stamp - dh_testdir - dh_prep - $(MAKE) -C static - $(MAKE) -C shared - mkdir -p shared/demo/CGAL_ipelets cd shared/demo/CGAL_ipelets && QTDIR= cmake ../../../demo/CGAL_ipelets \ -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SKIP_RPATH=TRUE -DBUILD_SHARED_LIBS=TRUE \ - -DWITH_CGAL_Qt3=OFF -DCGAL_DIR=$(CURDIR)/shared + -DWITH_CGAL_Qt3=OFF -DCGAL_DIR=$(CURDIR)/shared + +override_dh_auto_build: + $(MAKE) -C static + $(MAKE) -C shared $(MAKE) -C shared/demo/CGAL_ipelets +override_dh_auto_test: ifneq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) $(MAKE) -C debian/tests IEEE_FPU_OPTION="$(IEEE_FPU_OPTION)" rounding_modes1 LD_LIBRARY_PATH=shared/lib debian/tests/rounding_modes1 $(MAKE) -C debian/tests IEEE_FPU_OPTION="$(IEEE_FPU_OPTION)" rounding_modes2 LD_LIBRARY_PATH=shared/lib debian/tests/rounding_modes2 endif - touch build-stamp -clean: clean-patched unpatch -clean-patched: patch - dh_testdir - dh_testroot - $(MAKE) -C debian/tests clean - rm -fr shared static ipelets - rm -f build-stamp configure-stamp - dh_clean - -install: build - dh_testdir - dh_testroot -# dh_prep - dh_installdirs +override_dh_auto_clean: + dh_auto_clean + rm -fr shared static +override_dh_install: $(MAKE) -C static DESTDIR=$(CURDIR)/debian/tmp install $(MAKE) -C shared DESTDIR=$(CURDIR)/debian/tmp install - - # see bug #643278 - # $(MAKE) -C shared/demo/CGAL_ipelets DESTDIR=$(CURDIR)/debian/tmp install - IPE_VERSION=`dpkg-query -W -f='$${Version}' libipe-dev | sed 's/-.*$$//'`; \ - mkdir -p debian/tmp/usr/lib/ipe/$$IPE_VERSION/ipelets; \ - cp demo/CGAL_ipelets/lua/libCGAL_*.lua shared/demo/CGAL_ipelets/libCGAL_*.so \ - debian/tmp/usr/lib/ipe/$$IPE_VERSION/ipelets + $(MAKE) -C shared/demo/CGAL_ipelets DESTDIR=$(CURDIR)/debian/tmp install mkdir -p debian/tmp/usr/share/cmake-2.8/Modules cp cmake/modules/FindCGAL.cmake debian/tmp/usr/share/cmake-2.8/Modules @@ -95,49 +59,21 @@ install: build dh_install --sourcedir=debian/tmp --list-missing - ln -s libcgal8 debian/libcgal-demo/usr/share/doc/libcgal-demo + mkdir -p debian/libcgal-demo/usr/share/doc + ln -s libcgal9 debian/libcgal-demo/usr/share/doc/libcgal-demo mkdir -p debian/libcgal-dev/usr/share/doc - ln -s libcgal8 debian/libcgal-dev/usr/share/doc/libcgal-dev + ln -s libcgal9 debian/libcgal-dev/usr/share/doc/libcgal-dev mkdir -p debian/libcgal-ipelets/usr/share/doc - ln -s libcgal8 debian/libcgal-ipelets/usr/share/doc/libcgal-ipelets + ln -s libcgal9 debian/libcgal-ipelets/usr/share/doc/libcgal-ipelets -binary-indep: build install - dh_testdir -i - dh_testroot -i - dh_link -i - dh_compress -i - dh_fixperms -i - dh_installdeb -i - dh_gencontrol -i - dh_md5sums -i - dh_builddeb -i +override_dh_installdocs: + dh_installdocs -plibcgal9 debian/copyright -binary-arch: build install - dh_testdir -a - dh_testroot -a - dh_installdocs -plibcgal8 debian/copyright - dh_installchangelogs -plibcgal8 - dh_installman -a - dh_link -a - dh_strip -a - dh_compress -a - dh_fixperms -a - dh_makeshlibs -a - dh_installdeb -a - dh_shlibdeps -a -ldebian/libcgal8/usr/lib - dh_gencontrol -a - dh_md5sums -a - dh_builddeb -a +override_dh_installchangelogs: + dh_installchangelogs -plibcgal9 -binary: binary-indep binary-arch +override_dh_shlibdeps: + dh_shlibdeps -a -ldebian/libcgal9/usr/lib -patch: patch-stamp -patch-stamp: - dpatch apply-all - touch patch-stamp - -unpatch: - dpatch deapply-all - rm -fr patch-stamp debian/patched - -.PHONY: build clean binary-indep binary-arch binary install configure patch unpatch +override_dh_gencontrol: + dh_gencontrol -- -VIpe-Version=`dpkg-awk 'Package:^ipe$$' -- Version | grep Version | sed 's/Version: //;s/-[^-]*$$//'` diff --git a/Maintenance/deb/squeeze/debian/source/format b/Maintenance/deb/squeeze/debian/source/format index d3827e75a5c..163aaf8d82b 100644 --- a/Maintenance/deb/squeeze/debian/source/format +++ b/Maintenance/deb/squeeze/debian/source/format @@ -1 +1 @@ -1.0 +3.0 (quilt) diff --git a/Maintenance/deb/wheezy/debian/README.source b/Maintenance/deb/wheezy/debian/README.source index d191338a4aa..662cd01c5da 100644 --- a/Maintenance/deb/wheezy/debian/README.source +++ b/Maintenance/deb/wheezy/debian/README.source @@ -1,7 +1,11 @@ -README.source -------------- +normalize-audio for Debian +-------------------------- -The package uses dpatch to manage patches to the original source. -See /usr/share/doc/dpatch/README.source.gz for details. +This package uses quilt to manage all modifications to the upstream source. +Changes are stored in the source package as diffs in debian/patches and +applied during the build. + +See /usr/share/doc/quilt/README.source for a detailed explanation. + + -- Joachim Reichel Sun, 15 Jan 2012 14:38:04 +0100 - -- Joachim Reichel Mon, 28 Sep 2009 21:19:03 +0200 diff --git a/Maintenance/deb/wheezy/debian/changelog b/Maintenance/deb/wheezy/debian/changelog index b7b83875e45..68f1184f38f 100644 --- a/Maintenance/deb/wheezy/debian/changelog +++ b/Maintenance/deb/wheezy/debian/changelog @@ -1,4 +1,45 @@ -cgal (3.9-1~wheezy1) testing; urgency=low +cgal (4.0-1~wheezy1) testing; urgency=low + + * New upstream release. + * Move from non-free to main due to upstream license change from QPL + to GPL 3+ (and from LGPL 2.1 to LGPL 3+), updated debian/copyright + accordingly. + * Rename binary package libcgal8 to libcgal9 to reflect SONAME change. + * Update Standards-Version to 3.9.3 (no changes needed). + * Remove fix-ipe-version-detection.dpatch and + fix-qt-moc-parse-error.dpatch (fixed upstream). + * Removed libmagick++9-dev from Suggests: of libcgal-demo, because + that package does no longer exists. + + -- Joachim Reichel Mon, 12 Mar 2012 19:14:55 +0100 + +cgal (3.9-4) unstable; urgency=low + + * Rebuild against boost 1.48 (Closes: #659358). + * Add fix-qt-moc-parse-error.dpatch as workaround for + https://bugreports.qt-project.org/browse/QTBUG-22829. + + -- Joachim Reichel Fri, 10 Feb 2012 22:41:26 +0100 + +cgal (3.9-3) unstable; urgency=low + + * Fix FTBFS when building only architecture dependent packages caused + by recent transition to the new packaging format (Closes: #658191). + + -- Joachim Reichel Wed, 01 Feb 2012 00:07:03 +0100 + +cgal (3.9-2) unstable; urgency=low + + * Changed packaging format to "3.0 (quilt)". + * Add fix-ipe-version-detection.dpatch: upstream patch for bug #643278. + Remove workaround. + * Tighten Depends: of libcgal-ipelets on ipe (Closes: #657720). + * Move libcgal-ipelets to Section: graphics. + * Add libqt4-opengl-dev to Suggests: of libcgal-demo. + + -- Joachim Reichel Mon, 30 Jan 2012 19:04:18 +0100 + +cgal (3.9-1) unstable; urgency=low * New upstream release. * Rename binary package libcgal7 to libcgal8 to reflect SONAME change. diff --git a/Maintenance/deb/wheezy/debian/compat b/Maintenance/deb/wheezy/debian/compat index 7f8f011eb73..45a4fb75db8 100644 --- a/Maintenance/deb/wheezy/debian/compat +++ b/Maintenance/deb/wheezy/debian/compat @@ -1 +1 @@ -7 +8 diff --git a/Maintenance/deb/wheezy/debian/control b/Maintenance/deb/wheezy/debian/control index 10afacf861c..96968eeb5c7 100644 --- a/Maintenance/deb/wheezy/debian/control +++ b/Maintenance/deb/wheezy/debian/control @@ -1,16 +1,16 @@ Source: cgal -Section: non-free/libs Priority: optional Maintainer: Joachim Reichel # "ipe" is only needed because it contains goodies.lua which is needed by FindIPE.cmake -Build-Depends: debhelper (>= 7), dpatch, cmake, libboost-dev, - libboost-thread-dev, libboost-program-options-dev, libgmp10-dev, libmpfr-dev, - libqt4-dev, libqt4-opengl-dev, zlib1g-dev, libipe-dev (>= 7), ipe -Standards-Version: 3.9.2 +Build-Depends: debhelper (>= 8), dpkg-awk, cmake, libboost-dev, + libboost-thread-dev, libboost-program-options-dev, libgmp10-dev, libmpfr-dev, + libqt4-dev, libqt4-opengl-dev, zlib1g-dev, libipe-dev (>= 7), ipe +Standards-Version: 3.9.3 +Section: libs Homepage: http://www.cgal.org/ XS-Autobuild: yes -Package: libcgal8 +Package: libcgal9 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: C++ library for computational geometry @@ -31,9 +31,9 @@ Description: C++ library for computational geometry visualisation, and I/O, and other support facilities. Package: libcgal-dev -Section: non-free/libdevel +Section: libdevel Architecture: any -Depends: libcgal8 (= ${binary:Version}), libboost-dev, +Depends: libcgal9 (= ${binary:Version}), libboost-dev, libboost-thread-dev, libboost-program-options-dev, libgmp10-dev, libmpfr-dev, libqt4-dev, zlib1g-dev, ${misc:Depends} Description: C++ library for computational geometry (development files) @@ -45,13 +45,13 @@ Description: C++ library for computational geometry (development files) This package contains the header files and static libraries. Package: libcgal-demo -Section: non-free/devel +Section: devel Architecture: all -Depends: libcgal-dev (>= ${binary:Version}), libcgal8 (>= ${binary:Version}), - ${misc:Depends} +Depends: libcgal-dev (>= ${binary:Version}), libcgal9 (>= ${binary:Version}), + ${misc:Depends} Suggests: liblapack-dev, libatlas-base-dev | libatlas.so.3gf, gfortran, geomview, libqglviewer-qt4-dev, libipe-dev (>= 7), libglew1.5-dev | libglew-dev, - libmagick++-dev | libmagick++9-dev, qt4-dev-tools + libmagick++-dev, qt4-dev-tools, libqt4-opengl-dev Description: C++ library for computational geometry (demos) CGAL (Computational Geometry Algorithms Library) makes the most important of the solutions and methods developed in computational geometry available @@ -61,8 +61,10 @@ Description: C++ library for computational geometry (demos) This package contains the demos and examples. Package: libcgal-ipelets +Section: graphics Architecture: any -Depends: libcgal8 (>= ${binary:Version}), ipe (>= 7), ${shlibs:Depends}, ${misc:Depends} +Depends: libcgal9 (>= ${binary:Version}), ipe (>= ${Ipe-Version}), ipe (<< ${Ipe-Version}+), + ${shlibs:Depends}, ${misc:Depends} Conflicts: libcgal5-ipelets Replaces: libcgal5-ipelets Description: C++ library for computational geometry (ipelets) diff --git a/Maintenance/deb/wheezy/debian/copyright b/Maintenance/deb/wheezy/debian/copyright index 3fabef4d23e..269a926c941 100644 --- a/Maintenance/deb/wheezy/debian/copyright +++ b/Maintenance/deb/wheezy/debian/copyright @@ -3,14 +3,10 @@ Thu, 29 Apr 2004 18:43:18 +0200. It was downloaded from http://www.cgal.org/download/index.html. -The Debian packaging is Copyright (c) 2004, 2005, 2006, 2007, 2008, 2009 -Joachim Reichel and is licensed under the LGPL license, -either version 3 or later (at your option), which can be found in -/usr/share/common-licenses/LGPL-3. - -The package is not in main, but in non-free since parts of it are licensed -under the QPL. This license is not DFSG-free, but it permits one to autobuild -the package and to redistribute it in the non-free archive. +The Debian packaging is Copyright (c) 2004, 2005, 2006, 2007, 2008, 2009, +2010, 2011, 2012 Joachim Reichel and is licensed +under the LGPL license, version 2.1 or later (at your option), which can +be found in /usr/share/common-licenses/LGPL-2.1. @@ -156,23 +152,24 @@ Copyright (from upstream file LICENSE) The source code of the CGAL library can be found in the directories "src/CGAL", "src/CGALQt", "src/CGALQt4" and "include/CGAL" (with the - exception of "include/CGAL/CORE", and "include/CGAL/OpenNL"). + exception of "include/CGAL/CORE", "include/CGAL/OpenNL"). It is specified in each file of the CGAL library which - license applies to it. This is either the GNU Lesser General Public License - (as published by the Free Software Foundation; version 3 of the License) - or the Q Public License (version 1.0), *depending on each file*. The texts - of both licenses can be found in the files LICENSE.LGPL and LICENSE.QPL. + license applies to it. This is either the GNU General Public License + or the GNU Lesser General Public License (as published by the Free Software + Foundation; either version 3 of the License or (at your option) any later + version). The texts of both licenses can be found in the files LICENSE.GPL + and LICENSE.LGPL. Distributed along with CGAL (for the users' convenience), but not part of CGAL, are the following third-party libraries, available under their own licenses: - CORE, in the directories "include/CGAL/CORE" and "src/CGALCore", is - licensed under the QPL (see LICENSE.QPL). + licensed under the LGPL (see LICENSE.LGPL). - ImageIO, in the directory "src/CGALimageIO", is licensed under the LGPL (see LICENSE.LGPL). - OpenNL, in the directory "include/CGAL/OpenNL", is licensed under the LGPL - (see LICENSE.LGPL). + (see LICENSE.LGPL). All other files that do not have an explicit copyright notice (e.g., all examples and some demos) are licensed under a very permissive license. The @@ -190,15 +187,16 @@ The following copyright statement is taken from include/CGAL/config.h. The year numbers and the set of copyright holders (see list above) varies from file to file. - Copyright (c) 1997-2004 Utrecht University (The Netherlands), - ETH Zurich (Switzerland), Freie Universitaet Berlin (Germany), - INRIA Sophia-Antipolis (France), Martin-Luther-University Halle-Wittenberg - (Germany), Max-Planck-Institute Saarbruecken (Germany), RISC Linz (Austria), + Copyright (c) 1997-2010 + Utrecht University (The Netherlands), + ETH Zurich (Switzerland), + INRIA Sophia-Antipolis (France), + Max-Planck-Institute Saarbruecken (Germany), and Tel-Aviv University (Israel). All rights reserved. This file is part of CGAL (www.cgal.org); you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as - published by the Free Software Foundation; either version 3 of the License. + published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. Licensees holding a valid commercial license may use this file in @@ -209,7 +207,7 @@ file to file. -Copyright statement for QPL'd files +Copyright statement for GPL'd files =================================== The following copyright statement is taken from include/CGAL/Width_3.h. The @@ -219,9 +217,10 @@ file to file. Copyright (c) 1997-2000 ETH Zurich (Switzerland). All rights reserved. - This file is part of CGAL (www.cgal.org); you may redistribute it under - the terms of the Q Public License version 1.0. - See the file LICENSE.QPL distributed with CGAL. + This file is part of CGAL (www.cgal.org). + You can redistribute it and/or modify it under the terms of the GNU + General Public License as published by the Free Software Foundation, + either version 3 of the License, or (at your option) any later version. Licensees holding a valid commercial license may use this file in accordance with the commercial license agreement provided with the software. @@ -236,9 +235,9 @@ Copright statement for files under the FREE_USE license Copyright (c) 1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007 Utrecht University (The Netherlands), - ETH Zurich (Switzerland), Freie Universitaet Berlin (Germany), - INRIA Sophia-Antipolis (France), Martin-Luther-University Halle-Wittenberg - (Germany), Max-Planck-Institute Saarbruecken (Germany), RISC Linz (Austria), + ETH Zurich (Switzerland), + INRIA Sophia-Antipolis (France), + Max-Planck-Institute Saarbruecken (Germany), and Tel-Aviv University (Israel). All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a @@ -264,6 +263,51 @@ distributed with CGAL: +Boost +===== + +The following files are modified versions originating from Boost: + + ./include/CGAL/internal/boost/mutable_heap.hpp + ./include/CGAL/internal/boost/array_binary_tree.hpp + ./include/CGAL/internal/boost/mutable_queue.hpp + Copyright 1997, 1998, 1999, 2000 University of Notre Dame. + + ./include/CGAL/internal/container_fwd_fixed.hpp + Copyright 2005-2008 Daniel James. + + ./include/CGAL/auto_link/auto_link.h + (C) Copyright John Maddock 2003. + +All of these files are distributed under the Boost Software License, +version 1.0. + + Boost Software License - Version 1.0 - August 17th, 2003 + + Permission is hereby granted, free of charge, to any person or organization + obtaining a copy of the software and accompanying documentation covered by + this license (the "Software") to use, reproduce, display, distribute, + execute, and transmit the Software, and to prepare derivative works of the + Software, and to permit third-parties to whom the Software is furnished to + do so, all subject to the following: + + The copyright notices in the Software and this entire statement, including + the above license grant, this restriction and the following disclaimer, + must be included in all copies of the Software, in whole or in part, and + all derivative works of the Software, unless such copies or derivative + works are solely in the form of machine-executable object code generated by + a source language processor. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT + SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE + FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + CORE ==== @@ -274,9 +318,10 @@ src/CGALCore and include/CGAL/CORE. Copyright (c) 1995-2004 Exact Computation Project All rights reserved. - This file is part of CORE (http://cs.nyu.edu/exact/core/); you may - redistribute it under the terms of the Q Public License version 1.0. - See the file LICENSE.QPL distributed with CORE. + This file is part of CORE (http://cs.nyu.edu/exact/core/). + You can redistribute it and/or modify it under the terms of the GNU + General Public License as published by the Free Software Foundation, + either version 3 of the License, or (at your option) any later version. Licensees holding a valid commercial license may use this file in accordance with the commercial license agreement provided with the @@ -315,8 +360,7 @@ OpenNL The following copyright statement applies to the OpenNL library in include/CGAL/OpenNL. - author: Bruno Levy, INRIA, project ALICE - website: http://www.loria.fr/~levy/software + Copyright (c) 2005-2008 Inria Loria (France). This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -327,116 +371,6 @@ include/CGAL/OpenNL. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - You should have received a copy of the GNU Lesser General Public License - along with this library; see the file /usr/share/common-licenses/LGPL-3. - If not, write to the Free Software Foundation, Inc., 51 Franklin St, - Fifth Floor, Boston, MA 02110-1301, USA - - - -LICENSE.QPL -=========== - - THE Q PUBLIC LICENSE - version 1.0 - - Copyright (C) 1999-2000 Troll Tech AS, Norway. - Everyone is permitted to copy and - distribute this license document. - -The intent of this license is to establish freedom to share and change the -software regulated by this license under the open source model. - -This license applies to any software containing a notice placed by the -copyright holder saying that it may be distributed under the terms of -the Q Public License version 1.0. Such software is herein referred to as -the Software. This license covers modification and distribution of the -Software, use of third-party application programs based on the Software, -and development of free software which uses the Software. - - Granted Rights - -1. You are granted the non-exclusive rights set forth in this license - provided you agree to and comply with any and all conditions in this - license. Whole or partial distribution of the Software, or software - items that link with the Software, in any form signifies acceptance of - this license. - -2. You may copy and distribute the Software in unmodified form provided - that the entire package, including - but not restricted to - copyright, - trademark notices and disclaimers, as released by the initial developer - of the Software, is distributed. - -3. You may make modifications to the Software and distribute your - modifications, in a form that is separate from the Software, such as - patches. The following restrictions apply to modifications: - - a. Modifications must not alter or remove any copyright notices in - the Software. - - b. When modifications to the Software are released under this - license, a non-exclusive royalty-free right is granted to the - initial developer of the Software to distribute your modification - in future versions of the Software provided such versions remain - available under these terms in addition to any other license(s) of - the initial developer. - -4. You may distribute machine-executable forms of the Software or - machine-executable forms of modified versions of the Software, provided - that you meet these restrictions: - - a. You must include this license document in the distribution. - - b. You must ensure that all recipients of the machine-executable forms - are also able to receive the complete machine-readable source code - to the distributed Software, including all modifications, without - any charge beyond the costs of data transfer, and place prominent - notices in the distribution explaining this. - - c. You must ensure that all modifications included in the - machine-executable forms are available under the terms of this - license. - -5. You may use the original or modified versions of the Software to - compile, link and run application programs legally developed by you - or by others. - -6. You may develop application programs, reusable components and other - software items that link with the original or modified versions of the - Software. These items, when distributed, are subject to the following - requirements: - - a. You must ensure that all recipients of machine-executable forms of - these items are also able to receive and use the complete - machine-readable source code to the items without any charge - beyond the costs of data transfer. - - b. You must explicitly license all recipients of your items to use - and re-distribute original and modified versions of the items in - both machine-executable and source code forms. The recipients must - be able to do so without any charges whatsoever, and they must be - able to re-distribute to anyone they choose. - - - c. If the items are not available to the general public, and the - initial developer of the Software requests a copy of the items, - then you must supply one. - - Limitations of Liability - -In no event shall the initial developers or copyright holders be liable -for any damages whatsoever, including - but not restricted to - lost -revenue or profits or other direct, indirect, special, incidental or -consequential damages, even if they have been advised of the possibility -of such damages, except to the extent invariable law, if any, provides -otherwise. - - No Warranty - -The Software and this license document are provided AS IS with NO WARRANTY -OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE. - Choice of Law - -This license is governed by the Laws of Norway. Disputes shall be settled -by Oslo City Court. + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA diff --git a/Maintenance/deb/wheezy/debian/libcgal-demo.install b/Maintenance/deb/wheezy/debian/libcgal-demo.install index b942c0b1210..8370a7dad2c 100644 --- a/Maintenance/deb/wheezy/debian/libcgal-demo.install +++ b/Maintenance/deb/wheezy/debian/libcgal-demo.install @@ -1,2 +1,2 @@ -usr/share/doc/cgal/demo.tar.gz usr/share/doc/libcgal8 -usr/share/doc/cgal/examples.tar.gz usr/share/doc/libcgal8 +usr/share/doc/cgal/demo.tar.gz usr/share/doc/libcgal9 +usr/share/doc/cgal/examples.tar.gz usr/share/doc/libcgal9 diff --git a/Maintenance/deb/wheezy/debian/libcgal8.install b/Maintenance/deb/wheezy/debian/libcgal8.install deleted file mode 100644 index f59a64a1671..00000000000 --- a/Maintenance/deb/wheezy/debian/libcgal8.install +++ /dev/null @@ -1,2 +0,0 @@ -usr/lib/lib*.so.* usr/lib -usr/share/doc/cgal/changelog usr/share/doc/libcgal8 diff --git a/Maintenance/deb/wheezy/debian/libcgal8.shlibs b/Maintenance/deb/wheezy/debian/libcgal8.shlibs deleted file mode 100644 index 2ccec271602..00000000000 --- a/Maintenance/deb/wheezy/debian/libcgal8.shlibs +++ /dev/null @@ -1,4 +0,0 @@ -libCGAL 8 libcgal8 -libCGAL_Core 8 libcgal8 -libCGAL_ImageIO 8 libcgal8 -libCGAL_Qt4 8 libcgal8 diff --git a/Maintenance/deb/wheezy/debian/libcgal9.install b/Maintenance/deb/wheezy/debian/libcgal9.install new file mode 100644 index 00000000000..26d5c3fe99c --- /dev/null +++ b/Maintenance/deb/wheezy/debian/libcgal9.install @@ -0,0 +1,2 @@ +usr/lib/lib*.so.* usr/lib +usr/share/doc/cgal/changelog usr/share/doc/libcgal9 diff --git a/Maintenance/deb/wheezy/debian/libcgal9.shlibs b/Maintenance/deb/wheezy/debian/libcgal9.shlibs new file mode 100644 index 00000000000..a313a97e930 --- /dev/null +++ b/Maintenance/deb/wheezy/debian/libcgal9.shlibs @@ -0,0 +1,4 @@ +libCGAL 9 libcgal9 +libCGAL_Core 9 libcgal9 +libCGAL_ImageIO 9 libcgal9 +libCGAL_Qt4 9 libcgal9 diff --git a/Maintenance/deb/wheezy/debian/patches/00list b/Maintenance/deb/wheezy/debian/patches/series similarity index 100% rename from Maintenance/deb/wheezy/debian/patches/00list rename to Maintenance/deb/wheezy/debian/patches/series diff --git a/Maintenance/deb/wheezy/debian/rules b/Maintenance/deb/wheezy/debian/rules index 6ad78108520..09da40e7bfa 100755 --- a/Maintenance/deb/wheezy/debian/rules +++ b/Maintenance/deb/wheezy/debian/rules @@ -1,24 +1,11 @@ #!/usr/bin/make -f -.NOTPARALLEL: - -# Uncomment this to turn on verbose mode. # export DH_VERBOSE=1 -ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) - CXXFLAGS += -g -endif +%: + dh $@ -ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) - INSTALL_PROGRAM += -s -endif - -ifeq ($(DEB_BUILD_ARCH),alpha) - IEEE_FPU_OPTION = -mieee -mfp-rounding-mode=d -endif - -configure-stamp: patch-stamp - dh_testdir +override_dh_auto_configure: mkdir -p static cd static && QTDIR= cmake .. \ -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release \ @@ -29,56 +16,33 @@ configure-stamp: patch-stamp -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SKIP_RPATH=TRUE -DBUILD_SHARED_LIBS=TRUE \ -DWITH_CGAL_Qt3=OFF -DWITH_demos=OFF -DWITH_examples=OFF - touch configure-stamp - -build: build-arch build-indep -build-arch: build-stamp -build-indep: build-stamp -build-stamp: configure-stamp - dh_testdir - dh_prep - $(MAKE) -C static - $(MAKE) -C shared - mkdir -p shared/demo/CGAL_ipelets cd shared/demo/CGAL_ipelets && QTDIR= cmake ../../../demo/CGAL_ipelets \ -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SKIP_RPATH=TRUE -DBUILD_SHARED_LIBS=TRUE \ - -DWITH_CGAL_Qt3=OFF -DCGAL_DIR=$(CURDIR)/shared + -DWITH_CGAL_Qt3=OFF -DCGAL_DIR=$(CURDIR)/shared + +override_dh_auto_build: + $(MAKE) -C static + $(MAKE) -C shared $(MAKE) -C shared/demo/CGAL_ipelets +override_dh_auto_test: ifneq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) $(MAKE) -C debian/tests IEEE_FPU_OPTION="$(IEEE_FPU_OPTION)" rounding_modes1 LD_LIBRARY_PATH=shared/lib debian/tests/rounding_modes1 $(MAKE) -C debian/tests IEEE_FPU_OPTION="$(IEEE_FPU_OPTION)" rounding_modes2 LD_LIBRARY_PATH=shared/lib debian/tests/rounding_modes2 endif - touch build-stamp -clean: clean-patched unpatch -clean-patched: patch - dh_testdir - dh_testroot - $(MAKE) -C debian/tests clean - rm -fr shared static ipelets - rm -f build-stamp configure-stamp - dh_clean - -install: build - dh_testdir - dh_testroot -# dh_prep - dh_installdirs +override_dh_auto_clean: + dh_auto_clean + rm -fr shared static +override_dh_install: $(MAKE) -C static DESTDIR=$(CURDIR)/debian/tmp install $(MAKE) -C shared DESTDIR=$(CURDIR)/debian/tmp install - - # see bug #643278 - # $(MAKE) -C shared/demo/CGAL_ipelets DESTDIR=$(CURDIR)/debian/tmp install - IPE_VERSION=`dpkg-query -W -f='$${Version}' libipe-dev | sed 's/-.*$$//'`; \ - mkdir -p debian/tmp/usr/lib/ipe/$$IPE_VERSION/ipelets; \ - cp demo/CGAL_ipelets/lua/libCGAL_*.lua shared/demo/CGAL_ipelets/libCGAL_*.so \ - debian/tmp/usr/lib/ipe/$$IPE_VERSION/ipelets + $(MAKE) -C shared/demo/CGAL_ipelets DESTDIR=$(CURDIR)/debian/tmp install mkdir -p debian/tmp/usr/share/cmake-2.8/Modules cp cmake/modules/FindCGAL.cmake debian/tmp/usr/share/cmake-2.8/Modules @@ -95,49 +59,21 @@ install: build dh_install --sourcedir=debian/tmp --list-missing - ln -s libcgal8 debian/libcgal-demo/usr/share/doc/libcgal-demo + mkdir -p debian/libcgal-demo/usr/share/doc + ln -s libcgal9 debian/libcgal-demo/usr/share/doc/libcgal-demo mkdir -p debian/libcgal-dev/usr/share/doc - ln -s libcgal8 debian/libcgal-dev/usr/share/doc/libcgal-dev + ln -s libcgal9 debian/libcgal-dev/usr/share/doc/libcgal-dev mkdir -p debian/libcgal-ipelets/usr/share/doc - ln -s libcgal8 debian/libcgal-ipelets/usr/share/doc/libcgal-ipelets + ln -s libcgal9 debian/libcgal-ipelets/usr/share/doc/libcgal-ipelets -binary-indep: build install - dh_testdir -i - dh_testroot -i - dh_link -i - dh_compress -i - dh_fixperms -i - dh_installdeb -i - dh_gencontrol -i - dh_md5sums -i - dh_builddeb -i +override_dh_installdocs: + dh_installdocs -plibcgal9 debian/copyright -binary-arch: build install - dh_testdir -a - dh_testroot -a - dh_installdocs -plibcgal8 debian/copyright - dh_installchangelogs -plibcgal8 - dh_installman -a - dh_link -a - dh_strip -a - dh_compress -a - dh_fixperms -a - dh_makeshlibs -a - dh_installdeb -a - dh_shlibdeps -a -ldebian/libcgal8/usr/lib - dh_gencontrol -a - dh_md5sums -a - dh_builddeb -a +override_dh_installchangelogs: + dh_installchangelogs -plibcgal9 -binary: binary-indep binary-arch +override_dh_shlibdeps: + dh_shlibdeps -a -ldebian/libcgal9/usr/lib -patch: patch-stamp -patch-stamp: - dpatch apply-all - touch patch-stamp - -unpatch: - dpatch deapply-all - rm -fr patch-stamp debian/patched - -.PHONY: build clean binary-indep binary-arch binary install configure patch unpatch +override_dh_gencontrol: + dh_gencontrol -- -VIpe-Version=`dpkg-awk 'Package:^ipe$$' -- Version | grep Version | sed 's/Version: //;s/-[^-]*$$//'` diff --git a/Maintenance/deb/wheezy/debian/source/format b/Maintenance/deb/wheezy/debian/source/format index d3827e75a5c..163aaf8d82b 100644 --- a/Maintenance/deb/wheezy/debian/source/format +++ b/Maintenance/deb/wheezy/debian/source/format @@ -1 +1 @@ -1.0 +3.0 (quilt) diff --git a/Maintenance/infrastructure/cgal.geometryfactory.com/crontab b/Maintenance/infrastructure/cgal.geometryfactory.com/crontab index bfff11ade2a..3a7fdf0c697 100644 --- a/Maintenance/infrastructure/cgal.geometryfactory.com/crontab +++ b/Maintenance/infrastructure/cgal.geometryfactory.com/crontab @@ -16,16 +16,18 @@ # Create internal release # The script also updates the manual tools. # "next" alone -0 21 * * Fri cd $HOME/CGAL/create_internal_release; $HOME/bin/create_release $HOME/CGAL/next --public --do-it -# "next" + candidates -0 21 * * Mon,Tue,Wed,Thu,Sun cd $HOME/CGAL/create_internal_release; $HOME/bin/create_release $HOME/CGAL/next $HOME/CGAL/candidate-packages --public --do-it +0 21 * * Fri,Sat cd $HOME/CGAL/create_internal_release; $HOME/bin/create_release $HOME/CGAL/next --public --do-it + +# "next" + candidates +#0 21 * * Mon,Tue,Wed,Thu,Sun cd $HOME/CGAL/create_internal_release; $HOME/bin/create_release $HOME/CGAL/next $HOME/CGAL/candidate-packages --public --do-it + +#### Special day: test the Result_of branch instead of next: +0 21 * * Mon,Tue,Wed,Thu,Sun cd $HOME/CGAL/create_internal_release; $HOME/bin/create_release $HOME/CGAL/Result_of-pmoeller $HOME/CGAL/candidate-packages --public --do-it -### Special test of /branches/features/Result_of-pmoeller today -#0 21 * * Mon,Tue,Wed,Thu,Sun cd $HOME/CGAL/create_internal_release; $HOME/bin/create_release $HOME/CGAL/Result_of-pmoeller $HOME/CGAL/candidate-packages --public --do-it # - on trunk #0 21 * * Sat cd $HOME/CGAL/create_internal_release; $HOME/bin/create_release $HOME/CGAL/trunk --public --do-it # - from branch 3.9 -0 21 * * Sat cd $HOME/CGAL/create_internal_release-3.9-branch; $HOME/bin/create_release $HOME/CGAL/CGAL-3.9-branch --public --do-it +#0 21 * * Sat cd $HOME/CGAL/create_internal_release-3.9-branch; $HOME/bin/create_release $HOME/CGAL/CGAL-3.9-branch --public --do-it # A test that does not work #30 21 * * * grep 'conflicts with' $HOME/CGAL/create_internal_release/create_release.log.`date '+%Y-%m-%d'`* --no-filename diff --git a/Maintenance/infrastructure/cgal.geometryfactory.com/partition-table-sda.txt b/Maintenance/infrastructure/cgal.geometryfactory.com/partition-table-sda.txt new file mode 100644 index 00000000000..7ba18c16b03 --- /dev/null +++ b/Maintenance/infrastructure/cgal.geometryfactory.com/partition-table-sda.txt @@ -0,0 +1,12 @@ +# partition table of /dev/sda +unit: sectors + +/dev/sda1 : start= 63, size= 20482812, Id=fd, bootable +/dev/sda2 : start= 20482875, size= 16383174, Id=fd +/dev/sda3 : start= 36866049, size=2893406016, Id= f +/dev/sda4 : start= 0, size= 0, Id= 0 +/dev/sda5 : start= 36866050, size=2893406015, Id=fd +# +# Restore with: +# sfdisk --force /dev/sda < partition-table-sda.txt +# diff --git a/Maintenance/infrastructure/delaunay.geometryfactory.com/reference-platforms/i686_Cygwin-Vista_MSVS2008-Release-32bits/setup b/Maintenance/infrastructure/delaunay.geometryfactory.com/reference-platforms/i686_Cygwin-Vista_MSVS2008-Release-32bits/setup index e4df5247624..7e5c9997047 100644 --- a/Maintenance/infrastructure/delaunay.geometryfactory.com/reference-platforms/i686_Cygwin-Vista_MSVS2008-Release-32bits/setup +++ b/Maintenance/infrastructure/delaunay.geometryfactory.com/reference-platforms/i686_Cygwin-Vista_MSVS2008-Release-32bits/setup @@ -70,7 +70,7 @@ MPFR_LIB_DIR="$GMP_MPFR_ROOT/lib" CGAL_TAUCS_DIR='C:/CGAL/auxiliaries-i686/taucs' QGLVIEWERROOT='C:\CGAL\libQGLViewer-2.3.3' -ESBTL_INC_DIR='C:\cgal\esbtl\trunk\include\' +ESBTL_INC_DIR='C:\cgal\esbtl\include\' export ESBTL_INC_DIR EIGEN3_INC_DIR='C:\cgal\eigen' diff --git a/Maintenance/infrastructure/delaunay.geometryfactory.com/reference-platforms/x64_Cygwin-Vista_MSVS2010-64bits/setup b/Maintenance/infrastructure/delaunay.geometryfactory.com/reference-platforms/x64_Cygwin-Vista_MSVS2010-64bits/setup index d870d6b35cc..dc560f754e0 100644 --- a/Maintenance/infrastructure/delaunay.geometryfactory.com/reference-platforms/x64_Cygwin-Vista_MSVS2010-64bits/setup +++ b/Maintenance/infrastructure/delaunay.geometryfactory.com/reference-platforms/x64_Cygwin-Vista_MSVS2010-64bits/setup @@ -87,7 +87,7 @@ CGAL_TAUCS_DIR='C:/CGAL/taucs-win64' QGLVIEWERROOT='C:\CGAL\libQGLViewer-2.3.6' PATH="/cygdrive/c/cgal/libQGLViewer-2.3.6/QGLviewer:$PATH" -ESBTL_INC_DIR='C:\cgal\esbtl\trunk\include\' +ESBTL_INC_DIR='C:\cgal\esbtl\include\' export ESBTL_INC_DIR EIGEN3_INC_DIR='C:\cgal\eigen' diff --git a/Maintenance/infrastructure/renoir.geometryfactory.com/boost/compile-boost b/Maintenance/infrastructure/renoir.geometryfactory.com/boost/compile-boost new file mode 100644 index 00000000000..77ecb1ae06f --- /dev/null +++ b/Maintenance/infrastructure/renoir.geometryfactory.com/boost/compile-boost @@ -0,0 +1,15 @@ +#!/bin/sh + +OPTS="-j4 --layout=tagged link=shared variant=release threading=multi" +OPTS="$OPTS --without-python --without-test --without-mpi --without-wave --without-graph_parallel" + +BJAM=./bjam +if [ ! -x $BJAM ]; then + BJAM=bjam +fi + +"$BJAM" $OPTS toolset=gcc-4.5.4 +"$BJAM" --stagedir=stage-cxxdebug $OPTS toolset=gcc-cxxdebug + +source ~/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/setup +"$BJAM" --stagedir=stage-intel $OPTS toolset=intel cxxflags="-D__SIZEOF_LONG__=8 -D__SIZEOF_LONG_LONG__=8" diff --git a/Maintenance/infrastructure/renoir.geometryfactory.com/boost/user-config.jam b/Maintenance/infrastructure/renoir.geometryfactory.com/boost/user-config.jam new file mode 100644 index 00000000000..68e71072dae --- /dev/null +++ b/Maintenance/infrastructure/renoir.geometryfactory.com/boost/user-config.jam @@ -0,0 +1,100 @@ +# Copyright 2003, 2005 Douglas Gregor +# Copyright 2004 John Maddock +# Copyright 2002, 2003, 2004, 2007 Vladimir Prus +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) + +# This file is used to configure your Boost.Build installation. You can modify +# this file in place, or you can place it in a permanent location so that it +# does not get overwritten should you get a new version of Boost.Build. See: +# +# http://www.boost.org/boost-build2/doc/html/bbv2/overview/configuration.html +# +# for documentation about possible permanent locations. + +# This file specifies which toolsets (C++ compilers), libraries, and other +# tools are available. Often, you should be able to just uncomment existing +# example lines and adjust them to taste. The complete list of supported tools, +# and configuration instructions can be found at: +# +# http://boost.org/boost-build2/doc/html/bbv2/reference/tools.html +# + +# This file uses Jam language syntax to describe available tools. Mostly, +# there are 'using' lines, that contain the name of the used tools, and +# parameters to pass to those tools -- where paremeters are separated by +# semicolons. Important syntax notes: +# +# - Both ':' and ';' must be separated from other tokens by whitespace +# - The '\' symbol is a quote character, so when specifying Windows paths you +# should use '/' or '\\' instead. +# +# More details about the syntax can be found at: +# +# http://boost.org/boost-build2/doc/html/bbv2/advanced.html#bbv2.advanced.jam_language +# + +# ------------------ +# GCC configuration. +# ------------------ + +# Configure gcc (default version). +# using gcc ; + +# Configure specific gcc version, giving alternative name to use. +# using gcc : 3.2 : g++-3.2 ; + +# G++ 4.5 +using gcc : : /usr/local/packages/gcc-4.5/bin/g++ ; + +# ------------------- +# MSVC configuration. +# ------------------- + +# Configure msvc (default version, searched for in standard locations and PATH). +# using msvc ; + +# Configure specific msvc version (searched for in standard locations and PATH). +# using msvc : 8.0 ; + + +# ---------------------- +# Borland configuration. +# ---------------------- +# using borland ; + + +# ---------------------- +# STLPort configuration. +# ---------------------- + +# Configure specifying location of STLPort headers. Libraries must be either +# not needed or available to the compiler by default. +# using stlport : : /usr/include/stlport ; + +# Configure specifying location of both headers and libraries explicitly. +# using stlport : : /usr/include/stlport /usr/lib ; + + +# ----------------- +# QT configuration. +# ----------------- + +# Configure assuming QTDIR gives the installation prefix. +# using qt ; + +# Configure with an explicit installation prefix. +# using qt : /usr/opt/qt ; + +# --------------------- +# Python configuration. +# --------------------- + +# Configure specific Python version. +# using python : 3.1 : /usr/bin/python3 : /usr/include/python3.1 : /usr/lib ; + +using gcc + : cxxdebug + : "/usr/lib64/ccache/g++" # your path to the C++0x compiler + : -D_GLIBCXX_DEBUG + ; diff --git a/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi/CMakeCache.txt b/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi/CMakeCache.txt index ccb16146d86..5fd5eab8fcb 100644 --- a/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi/CMakeCache.txt +++ b/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi/CMakeCache.txt @@ -17,6 +17,9 @@ //Build shared libraries BUILD_SHARED_LIBS:BOOL=ON +//The directory containing a CMake configuration file for Boost. +Boost_DIR:PATH=Boost_DIR-NOTFOUND + //Path to a file. Boost_INCLUDE_DIR:PATH=/home/lrineau/CGAL/boost/boost-release-branch @@ -24,13 +27,13 @@ Boost_INCLUDE_DIR:PATH=/home/lrineau/CGAL/boost/boost-release-branch Boost_LIBRARY_DIRS:FILEPATH=/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib //The Boost THREAD library -Boost_THREAD_LIBRARY:FILEPATH=/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread.so +Boost_THREAD_LIBRARY:FILEPATH=/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread-mt.so -//Path to a library. -Boost_THREAD_LIBRARY_DEBUG:FILEPATH=Boost_THREAD_LIBRARY_DEBUG-NOTFOUND +//Boost thread library (debug) +Boost_THREAD_LIBRARY_DEBUG:FILEPATH=/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread-mt.so -//Path to a library. -Boost_THREAD_LIBRARY_RELEASE:FILEPATH=/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread.so +//Boost thread library (release) +Boost_THREAD_LIBRARY_RELEASE:FILEPATH=/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread-mt.so //Value Computed by CMake CGAL_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi @@ -51,7 +54,7 @@ CGAL_Core_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86 CGAL_Core_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi/lib/libCGAL_Core.so //Dependencies for the target -CGAL_Core_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread.so; +CGAL_Core_LIB_DEPENDS:STATIC=general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread-mt.so;general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread-mt.so; //Value Computed by CMake CGAL_Core_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALCore @@ -97,7 +100,7 @@ CGAL_ImageIO_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/ CGAL_ImageIO_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi/lib/libCGAL_ImageIO.so //Dependencies for the target -CGAL_ImageIO_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;/usr/lib64/libz.so; +CGAL_ImageIO_LIB_DEPENDS:STATIC=general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread-mt.so;general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread-mt.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;/usr/lib64/libz.so; //Value Computed by CMake CGAL_ImageIO_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALImageIO @@ -106,7 +109,7 @@ CGAL_ImageIO_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALImageIO CGAL_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi/lib/libCGAL.so //Dependencies for the target -CGAL_LIB_DEPENDS:STATIC=general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread.so; +CGAL_LIB_DEPENDS:STATIC=general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread-mt.so; //Directory containing the Maintenance package CGAL_MAINTENANCE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I @@ -118,7 +121,7 @@ CGAL_Qt3_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86- CGAL_Qt3_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi/lib/libCGAL_Qt3.so //Dependencies for the target -CGAL_Qt3_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread.so;general;/usr/lib64/qt-3.3/lib/libqassistantclient.a;general;/usr/lib64/qt-3.3/lib/libqt-mt.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;dl;general;-lpthread;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; +CGAL_Qt3_LIB_DEPENDS:STATIC=general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread-mt.so;general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread-mt.so;general;/usr/lib64/qt-3.3/lib/libqassistantclient.a;general;/usr/lib64/qt-3.3/lib/libqt-mt.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;dl;general;-lpthread;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; //Value Computed by CMake CGAL_Qt3_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALQt3 @@ -130,7 +133,7 @@ CGAL_Qt4_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86- CGAL_Qt4_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi/lib/libCGAL_Qt4.so //Dependencies for the target -CGAL_Qt4_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread.so;optimized;/usr/lib64/libQtOpenGL.so;debug;/usr/lib64/libQtOpenGL_debug.so;optimized;/usr/lib64/libQtGui.so;debug;/usr/lib64/libQtGui_debug.so;optimized;/usr/lib64/libQtCore.so;debug;/usr/lib64/libQtCore_debug.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; +CGAL_Qt4_LIB_DEPENDS:STATIC=general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread-mt.so;general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16-strict-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread-mt.so;optimized;/usr/lib64/libQtOpenGL.so;debug;/usr/lib64/libQtOpenGL_debug.so;optimized;/usr/lib64/libQtGui.so;debug;/usr/lib64/libQtGui_debug.so;optimized;/usr/lib64/libQtCore.so;debug;/usr/lib64/libQtCore_debug.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; //Value Computed by CMake CGAL_Qt4_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALQt4 @@ -161,7 +164,7 @@ CMAKE_COLOR_MAKEFILE:BOOL=ON CMAKE_CXX_COMPILER:FILEPATH=/opt/intel/composerxe-2011.4.191/bin/intel64/icpc //User-defined flags -CMAKE_CXX_FLAGS:STRING=-D__SIZEOF_LONG__=8 -D__SIZEOF_LONG_LONG__=8 -fp-model strict -strict-ansi -DBOOST_NO_HASH -diag-disable 980 -diag-disable 11 -w1 -O3 +CMAKE_CXX_FLAGS:STRING=-D__SIZEOF_LONG__=8 -D__SIZEOF_LONG_LONG__=8 -fp-model strict -strict-ansi -DBOOST_NO_HASH -diag-disable 980 -diag-disable 11 -diag-disable 1292 -diag-disable 279 -diag-disable 2536 -w1 -O3 //Flags used by the compiler during debug builds. CMAKE_CXX_FLAGS_DEBUG:STRING=-g @@ -993,6 +996,12 @@ X11_X11_INCLUDE_PATH:PATH=/usr/include //Path to a library. X11_X11_LIB:FILEPATH=/usr/lib64/libX11.so +//Path to a file. +X11_XRes_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_XRes_LIB:FILEPATH=X11_XRes_LIB-NOTFOUND + //Path to a file. X11_XShm_INCLUDE_PATH:PATH=/usr/include @@ -1177,8 +1186,8 @@ Boost_THREAD_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 Boost_VERSION:INTERNAL=104900 CGAL_3RD_PARTY_DEFINITIONS:INTERNAL= CGAL_3RD_PARTY_INCLUDE_DIRS:INTERNAL=/usr/include;/usr/include;/usr/include;/home/lrineau/CGAL/boost/boost-release-branch -CGAL_3RD_PARTY_LIBRARIES:INTERNAL=/usr/lib64/libgmpxx.so;/usr/lib64/libmpfr.so;/usr/lib64/libgmp.so;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread.so -CGAL_3RD_PARTY_LIBRARIES_DIRS:INTERNAL=/usr/lib64;/usr/lib64;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib +CGAL_3RD_PARTY_LIBRARIES:INTERNAL=/usr/lib64/libgmpxx.so;/usr/lib64/libmpfr.so;/usr/lib64/libgmp.so;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread-mt.so +CGAL_3RD_PARTY_LIBRARIES_DIRS:INTERNAL=/usr/lib64;/usr/lib64;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib //ADVANCED property for variable: CGAL_Boost_USE_STATIC_LIBS CGAL_Boost_USE_STATIC_LIBS-ADVANCED:INTERNAL=1 CGAL_CFG_ARRAY_MEMBER_INITIALIZATION_BUG:INTERNAL=1 @@ -1363,7 +1372,7 @@ CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 //Minor version of cmake used to create the current loaded cache CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 //Patch version of cmake used to create the current loaded cache -CMAKE_CACHE_PATCH_VERSION:INTERNAL=6 +CMAKE_CACHE_PATCH_VERSION:INTERNAL=7 //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 //Path to CMake executable. @@ -1490,7 +1499,7 @@ CMAKE_UNAME:INTERNAL=/bin/uname CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 -CONFIG_CXX_FLAGS:INTERNAL=-D__SIZEOF_LONG__=8 -D__SIZEOF_LONG_LONG__=8 -fp-model strict -strict-ansi -DBOOST_NO_HASH -diag-disable 980 -diag-disable 11 -w1 -O3 +CONFIG_CXX_FLAGS:INTERNAL=-D__SIZEOF_LONG__=8 -D__SIZEOF_LONG_LONG__=8 -fp-model strict -strict-ansi -DBOOST_NO_HASH -diag-disable 980 -diag-disable 11 -diag-disable 1292 -diag-disable 279 -diag-disable 2536 -w1 -O3 //Variable hidden from user EXECUTABLE_OUTPUT_PATH:INTERNAL= //Details about finding OpenGL @@ -1988,6 +1997,10 @@ X11_SM_LIB-ADVANCED:INTERNAL=1 X11_X11_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_X11_LIB X11_X11_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XRes_INCLUDE_PATH +X11_XRes_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XRes_LIB +X11_XRes_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XShm_INCLUDE_PATH X11_XShm_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XSync_INCLUDE_PATH diff --git a/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/CMakeCache.txt b/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/CMakeCache.txt index a9f3303097d..beb8c651235 100644 --- a/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/CMakeCache.txt +++ b/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/CMakeCache.txt @@ -17,6 +17,9 @@ //Build shared libraries BUILD_SHARED_LIBS:BOOL=ON +//The directory containing a CMake configuration file for Boost. +Boost_DIR:PATH=Boost_DIR-NOTFOUND + //Path to a file. Boost_INCLUDE_DIR:PATH=/home/lrineau/CGAL/boost/boost-release-branch @@ -24,13 +27,13 @@ Boost_INCLUDE_DIR:PATH=/home/lrineau/CGAL/boost/boost-release-branch Boost_LIBRARY_DIRS:FILEPATH=/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib //The Boost THREAD library -Boost_THREAD_LIBRARY:FILEPATH=/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread.so +Boost_THREAD_LIBRARY:FILEPATH=/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread-mt.so -//Path to a library. -Boost_THREAD_LIBRARY_DEBUG:FILEPATH=Boost_THREAD_LIBRARY_DEBUG-NOTFOUND +//Boost thread library (debug) +Boost_THREAD_LIBRARY_DEBUG:FILEPATH=/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread-mt.so -//Path to a library. -Boost_THREAD_LIBRARY_RELEASE:FILEPATH=/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread.so +//Boost thread library (release) +Boost_THREAD_LIBRARY_RELEASE:FILEPATH=/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread-mt.so //Value Computed by CMake CGAL_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16 @@ -51,7 +54,7 @@ CGAL_Core_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86 CGAL_Core_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/lib/libCGAL_Core.so //Dependencies for the target -CGAL_Core_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread.so; +CGAL_Core_LIB_DEPENDS:STATIC=general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread-mt.so;general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread-mt.so; //Value Computed by CMake CGAL_Core_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALCore @@ -97,7 +100,7 @@ CGAL_ImageIO_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/ CGAL_ImageIO_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/lib/libCGAL_ImageIO.so //Dependencies for the target -CGAL_ImageIO_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;/usr/lib64/libz.so; +CGAL_ImageIO_LIB_DEPENDS:STATIC=general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread-mt.so;general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread-mt.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;/usr/lib64/libz.so; //Value Computed by CMake CGAL_ImageIO_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALImageIO @@ -106,7 +109,7 @@ CGAL_ImageIO_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALImageIO CGAL_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/lib/libCGAL.so //Dependencies for the target -CGAL_LIB_DEPENDS:STATIC=general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread.so; +CGAL_LIB_DEPENDS:STATIC=general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread-mt.so; //Directory containing the Maintenance package CGAL_MAINTENANCE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I @@ -118,7 +121,7 @@ CGAL_Qt3_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86- CGAL_Qt3_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/lib/libCGAL_Qt3.so //Dependencies for the target -CGAL_Qt3_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread.so;general;/usr/lib64/qt-3.3/lib/libqassistantclient.a;general;/usr/lib64/qt-3.3/lib/libqt-mt.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;dl;general;-lpthread;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; +CGAL_Qt3_LIB_DEPENDS:STATIC=general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread-mt.so;general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread-mt.so;general;/usr/lib64/qt-3.3/lib/libqassistantclient.a;general;/usr/lib64/qt-3.3/lib/libqt-mt.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;dl;general;-lpthread;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; //Value Computed by CMake CGAL_Qt3_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALQt3 @@ -130,7 +133,7 @@ CGAL_Qt4_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86- CGAL_Qt4_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/lib/libCGAL_Qt4.so //Dependencies for the target -CGAL_Qt4_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread.so;optimized;/usr/lib64/libQtOpenGL.so;debug;/usr/lib64/libQtOpenGL_debug.so;optimized;/usr/lib64/libQtGui.so;debug;/usr/lib64/libQtGui_debug.so;optimized;/usr/lib64/libQtCore.so;debug;/usr/lib64/libQtCore_debug.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; +CGAL_Qt4_LIB_DEPENDS:STATIC=general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread-mt.so;general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_IntelCompiler-12.0-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread-mt.so;optimized;/usr/lib64/libQtOpenGL.so;debug;/usr/lib64/libQtOpenGL_debug.so;optimized;/usr/lib64/libQtGui.so;debug;/usr/lib64/libQtGui_debug.so;optimized;/usr/lib64/libQtCore.so;debug;/usr/lib64/libQtCore_debug.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; //Value Computed by CMake CGAL_Qt4_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALQt4 @@ -161,7 +164,7 @@ CMAKE_COLOR_MAKEFILE:BOOL=ON CMAKE_CXX_COMPILER:FILEPATH=/opt/intel/composerxe-2011.4.191/bin/intel64/icpc //User-defined flags -CMAKE_CXX_FLAGS:STRING=-D__SIZEOF_LONG__=8 -D__SIZEOF_LONG_LONG__=8 -fp-model strict -DBOOST_NO_HASH -diag-disable 980 -diag-disable 11 -w1 -O3 +CMAKE_CXX_FLAGS:STRING=-D__SIZEOF_LONG__=8 -D__SIZEOF_LONG_LONG__=8 -fp-model strict -DBOOST_NO_HASH -diag-disable 980 -diag-disable 11 -diag-disable 1292 -diag-disable 279 -diag-disable 2536 -w1 -O3 //Flags used by the compiler during debug builds. CMAKE_CXX_FLAGS_DEBUG:STRING=-g @@ -993,6 +996,12 @@ X11_X11_INCLUDE_PATH:PATH=/usr/include //Path to a library. X11_X11_LIB:FILEPATH=/usr/lib64/libX11.so +//Path to a file. +X11_XRes_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_XRes_LIB:FILEPATH=X11_XRes_LIB-NOTFOUND + //Path to a file. X11_XShm_INCLUDE_PATH:PATH=/usr/include @@ -1177,8 +1186,8 @@ Boost_THREAD_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 Boost_VERSION:INTERNAL=104900 CGAL_3RD_PARTY_DEFINITIONS:INTERNAL= CGAL_3RD_PARTY_INCLUDE_DIRS:INTERNAL=/usr/include;/usr/include;/usr/include;/home/lrineau/CGAL/boost/boost-release-branch -CGAL_3RD_PARTY_LIBRARIES:INTERNAL=/usr/lib64/libgmpxx.so;/usr/lib64/libmpfr.so;/usr/lib64/libgmp.so;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread.so -CGAL_3RD_PARTY_LIBRARIES_DIRS:INTERNAL=/usr/lib64;/usr/lib64;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib +CGAL_3RD_PARTY_LIBRARIES:INTERNAL=/usr/lib64/libgmpxx.so;/usr/lib64/libmpfr.so;/usr/lib64/libgmp.so;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib/libboost_thread-mt.so +CGAL_3RD_PARTY_LIBRARIES_DIRS:INTERNAL=/usr/lib64;/usr/lib64;/home/lrineau/CGAL/boost/boost-release-branch/stage-intel/lib //ADVANCED property for variable: CGAL_Boost_USE_STATIC_LIBS CGAL_Boost_USE_STATIC_LIBS-ADVANCED:INTERNAL=1 CGAL_CFG_ARRAY_MEMBER_INITIALIZATION_BUG:INTERNAL=1 @@ -1363,7 +1372,7 @@ CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 //Minor version of cmake used to create the current loaded cache CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 //Patch version of cmake used to create the current loaded cache -CMAKE_CACHE_PATCH_VERSION:INTERNAL=6 +CMAKE_CACHE_PATCH_VERSION:INTERNAL=7 //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 //Path to CMake executable. @@ -1490,7 +1499,7 @@ CMAKE_UNAME:INTERNAL=/bin/uname CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 -CONFIG_CXX_FLAGS:INTERNAL=-D__SIZEOF_LONG__=8 -D__SIZEOF_LONG_LONG__=8 -fp-model strict -DBOOST_NO_HASH -diag-disable 980 -diag-disable 11 -w1 -O3 +CONFIG_CXX_FLAGS:INTERNAL=-D__SIZEOF_LONG__=8 -D__SIZEOF_LONG_LONG__=8 -fp-model strict -DBOOST_NO_HASH -diag-disable 980 -diag-disable 11 -diag-disable 1292 -diag-disable 279 -diag-disable 2536 -w1 -O3 //Variable hidden from user EXECUTABLE_OUTPUT_PATH:INTERNAL= //Details about finding OpenGL @@ -1988,6 +1997,10 @@ X11_SM_LIB-ADVANCED:INTERNAL=1 X11_X11_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_X11_LIB X11_X11_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XRes_INCLUDE_PATH +X11_XRes_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XRes_LIB +X11_XRes_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XShm_INCLUDE_PATH X11_XShm_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XSync_INCLUDE_PATH diff --git a/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/CMakeCache.txt b/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/CMakeCache.txt index 69f54188f2a..b9212e3748f 100644 --- a/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/CMakeCache.txt +++ b/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/CMakeCache.txt @@ -1,5 +1,5 @@ # This is the CMakeCache file. -# For build in directory: /home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16 +# For build in directory: /home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16 # It was generated by CMake: /usr/bin/cmake # You can edit this file to change values found and used by cmake. # If you do not want to change any of the values, simply exit the editor. @@ -14,6 +14,12 @@ # EXTERNAL cache entries ######################## +//Build shared libraries +BUILD_SHARED_LIBS:BOOL=ON + +//The directory containing a CMake configuration file for Boost. +Boost_DIR:PATH=Boost_DIR-NOTFOUND + //Path to a file. Boost_INCLUDE_DIR:PATH=/home/lrineau/CGAL/boost/1.44-beta1/include @@ -21,16 +27,19 @@ Boost_INCLUDE_DIR:PATH=/home/lrineau/CGAL/boost/1.44-beta1/include Boost_LIBRARY_DIRS:FILEPATH=/home/lrineau/CGAL/boost/1.44-beta1/lib //The Boost THREAD library -Boost_THREAD_LIBRARY:FILEPATH=/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so +Boost_THREAD_LIBRARY:FILEPATH=/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so //Path to a library. Boost_THREAD_LIBRARY_DEBUG:FILEPATH=Boost_THREAD_LIBRARY_DEBUG-NOTFOUND //Path to a library. -Boost_THREAD_LIBRARY_RELEASE:FILEPATH=/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so +Boost_THREAD_LIBRARY_RELEASE:FILEPATH=/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so //Value Computed by CMake -CGAL_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16 +CGAL_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16 + +//Link with static Boost libraries +CGAL_Boost_USE_STATIC_LIBS:BOOL=OFF //Directory containing the Maintenance package CGAL_CORE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I @@ -39,13 +48,13 @@ CGAL_CORE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I CGAL_CXX_FLAGS:STRING= -std=c++0x -frounding-math //Value Computed by CMake -CGAL_Core_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/src/Core +CGAL_Core_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/src/Core //The CGAL_Core library -CGAL_Core_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL_Core.so +CGAL_Core_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL_Core.so //Dependencies for the target -CGAL_Core_LIB_DEPENDS:STATIC=general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so;general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so; +CGAL_Core_LIB_DEPENDS:STATIC=general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so;general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so; //Value Computed by CMake CGAL_Core_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALCore @@ -85,43 +94,46 @@ CGAL_INSTALL_LIB_DIR:STRING=lib CGAL_INSTALL_MAN_DIR:STRING=share/man/man1 //Value Computed by CMake -CGAL_ImageIO_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/src/ImageIO +CGAL_ImageIO_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/src/ImageIO //The CGAL_ImageIO library -CGAL_ImageIO_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL_ImageIO.so +CGAL_ImageIO_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL_ImageIO.so //Dependencies for the target -CGAL_ImageIO_LIB_DEPENDS:STATIC=general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so;general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;/usr/lib64/libz.so;general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL.so; +CGAL_ImageIO_LIB_DEPENDS:STATIC=general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so;general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;/usr/lib64/libz.so; //Value Computed by CMake CGAL_ImageIO_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALImageIO +//The CGAL library +CGAL_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL.so + //Dependencies for the target -CGAL_LIB_DEPENDS:STATIC=general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so; +CGAL_LIB_DEPENDS:STATIC=general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so; //Directory containing the Maintenance package CGAL_MAINTENANCE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I //Value Computed by CMake -CGAL_Qt3_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/src/Qt3 +CGAL_Qt3_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/src/Qt3 //The CGAL_Qt3 library -CGAL_Qt3_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL_Qt3.so +CGAL_Qt3_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL_Qt3.so //Dependencies for the target -CGAL_Qt3_LIB_DEPENDS:STATIC=general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so;general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so;general;/usr/lib64/qt-3.3/lib/libqassistantclient.a;general;/usr/lib64/qt-3.3/lib/libqt-mt.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;dl;general;-lpthread;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; +CGAL_Qt3_LIB_DEPENDS:STATIC=general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so;general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so;general;/usr/lib64/qt-3.3/lib/libqassistantclient.a;general;/usr/lib64/qt-3.3/lib/libqt-mt.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;dl;general;-lpthread;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; //Value Computed by CMake CGAL_Qt3_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALQt3 //Value Computed by CMake -CGAL_Qt4_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/src/Qt4 +CGAL_Qt4_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/src/Qt4 //The CGAL_Qt4 library -CGAL_Qt4_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL_Qt4.so +CGAL_Qt4_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL_Qt4.so //Dependencies for the target -CGAL_Qt4_LIB_DEPENDS:STATIC=general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so;general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so;optimized;/usr/lib64/libQtOpenGL.so;debug;/usr/lib64/libQtOpenGL_debug.so;optimized;/usr/lib64/libQtGui.so;debug;/usr/lib64/libQtGui_debug.so;optimized;/usr/lib64/libQtCore.so;debug;/usr/lib64/libQtCore_debug.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; +CGAL_Qt4_LIB_DEPENDS:STATIC=general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so;general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so;optimized;/usr/lib64/libQtOpenGL.so;debug;/usr/lib64/libQtOpenGL_debug.so;optimized;/usr/lib64/libQtGui.so;debug;/usr/lib64/libQtGui_debug.so;optimized;/usr/lib64/libQtCore.so;debug;/usr/lib64/libQtCore_debug.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; //Value Computed by CMake CGAL_Qt4_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALQt4 @@ -203,6 +215,9 @@ CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= //Flags used by the linker during Release with Debug Info builds. CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF + //Install path prefix, prepended onto install directories. CMAKE_INSTALL_PREFIX:PATH=/usr/local @@ -1037,6 +1052,9 @@ X11_ICE_INCLUDE_PATH:PATH=/usr/include //Path to a library. X11_ICE_LIB:FILEPATH=/usr/lib64/libICE.so +//Path to a file. +X11_SM_INCLUDE_PATH:PATH=/usr/include + //Path to a library. X11_SM_LIB:FILEPATH=/usr/lib64/libSM.so @@ -1046,9 +1064,18 @@ X11_X11_INCLUDE_PATH:PATH=/usr/include //Path to a library. X11_X11_LIB:FILEPATH=/usr/lib64/libX11.so +//Path to a file. +X11_XRes_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_XRes_LIB:FILEPATH=X11_XRes_LIB-NOTFOUND + //Path to a file. X11_XShm_INCLUDE_PATH:PATH=/usr/include +//Path to a file. +X11_XSync_INCLUDE_PATH:PATH=/usr/include + //Path to a file. X11_XTest_INCLUDE_PATH:PATH=/usr/include @@ -1127,6 +1154,12 @@ X11_Xinput_LIB:FILEPATH=/usr/lib64/libXi.so //Path to a file. X11_Xkb_INCLUDE_PATH:PATH=/usr/include +//Path to a file. +X11_Xkbfile_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_Xkbfile_LIB:FILEPATH=X11_Xkbfile_LIB-NOTFOUND + //Path to a file. X11_Xkblib_INCLUDE_PATH:PATH=/usr/include @@ -1218,8 +1251,10 @@ Boost_THREAD_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 Boost_VERSION:INTERNAL=104400 CGAL_3RD_PARTY_DEFINITIONS:INTERNAL= CGAL_3RD_PARTY_INCLUDE_DIRS:INTERNAL=/usr/include;/usr/include;/usr/include;/home/lrineau/CGAL/boost/1.44-beta1/include -CGAL_3RD_PARTY_LIBRARIES:INTERNAL=/usr/lib64/libgmpxx.so;/usr/lib64/libmpfr.so;/usr/lib64/libgmp.so;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so -CGAL_3RD_PARTY_LIBRARIES_DIRS:INTERNAL=/usr/lib64;/usr/lib64;/home/lrineau/CGAL/boost/1.44-beta1/lib;/home/lrineau/CGAL/boost/1.44-beta1/lib +CGAL_3RD_PARTY_LIBRARIES:INTERNAL=/usr/lib64/libgmpxx.so;/usr/lib64/libmpfr.so;/usr/lib64/libgmp.so;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so +CGAL_3RD_PARTY_LIBRARIES_DIRS:INTERNAL=/usr/lib64;/usr/lib64;/home/lrineau/CGAL/boost/1.44-beta1/lib +//ADVANCED property for variable: CGAL_Boost_USE_STATIC_LIBS +CGAL_Boost_USE_STATIC_LIBS-ADVANCED:INTERNAL=1 CGAL_CFG_ARRAY_MEMBER_INITIALIZATION_BUG:INTERNAL=0 //Result of TRY_COMPILE CGAL_CFG_ARRAY_MEMBER_INITIALIZATION_BUG_COMPILED:INTERNAL=TRUE @@ -1253,6 +1288,9 @@ CGAL_CFG_NO_CPP0X_ARRAY_COMPILED:INTERNAL=TRUE CGAL_CFG_NO_CPP0X_AUTO:INTERNAL=0 //Result of TRY_COMPILE CGAL_CFG_NO_CPP0X_AUTO_COMPILED:INTERNAL=TRUE +CGAL_CFG_NO_CPP0X_COPY_N:INTERNAL=0 +//Result of TRY_COMPILE +CGAL_CFG_NO_CPP0X_COPY_N_COMPILED:INTERNAL=TRUE CGAL_CFG_NO_CPP0X_DECLTYPE:INTERNAL=0 //Result of TRY_COMPILE CGAL_CFG_NO_CPP0X_DECLTYPE_COMPILED:INTERNAL=TRUE @@ -1277,6 +1315,9 @@ CGAL_CFG_NO_CPP0X_LAMBDAS_COMPILED:INTERNAL=TRUE CGAL_CFG_NO_CPP0X_LONG_LONG:INTERNAL=0 //Result of TRY_COMPILE CGAL_CFG_NO_CPP0X_LONG_LONG_COMPILED:INTERNAL=TRUE +CGAL_CFG_NO_CPP0X_NEXT_PREV:INTERNAL=0 +//Result of TRY_COMPILE +CGAL_CFG_NO_CPP0X_NEXT_PREV_COMPILED:INTERNAL=TRUE CGAL_CFG_NO_CPP0X_RVALUE_REFERENCE:INTERNAL=0 //Result of TRY_COMPILE CGAL_CFG_NO_CPP0X_RVALUE_REFERENCE_COMPILED:INTERNAL=TRUE @@ -1335,7 +1376,7 @@ CGAL_CFG_USING_BASE_MEMBER_BUG_2:INTERNAL=0 //Result of TRY_COMPILE CGAL_CFG_USING_BASE_MEMBER_BUG_2_COMPILED:INTERNAL=TRUE //Variable hidden from user -CGAL_CGAL_LIBRARY:INTERNAL=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL.so +CGAL_CGAL_LIBRARY:INTERNAL=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL.so //Variable hidden from user CGAL_CGAL_LIBRARY_NAME:INTERNAL=libCGAL.so CGAL_CONFIGURED_LIBRARIES:INTERNAL=CGAL;Core;ImageIO;Qt3;Qt4 @@ -1357,8 +1398,8 @@ CGAL_ImageIO_LIBRARY-ADVANCED:INTERNAL=1 //Variable hidden from user CGAL_ImageIO_LIBRARY_NAME:INTERNAL=libCGAL_ImageIO.so CGAL_ImageIO_USE_ZLIB:INTERNAL=ON -//Variable hidden from user -CGAL_LIBRARY:INTERNAL=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16/lib/libCGAL.so +//ADVANCED property for variable: CGAL_LIBRARY +CGAL_LIBRARY-ADVANCED:INTERNAL=1 //Variable hidden from user CGAL_LIBRARY_NAME:INTERNAL=libCGAL.so CGAL_Qt3_3RD_PARTY_DEFINITIONS:INTERNAL=-DQT_SHARED;-DQT_NO_DEBUG;-DQT_THREAD_SUPPORT;-D_REENTRANT @@ -1392,13 +1433,13 @@ CMAKE_BUILD_TOOL:INTERNAL=/usr/bin/gmake //MODIFIED property for variable: CMAKE_BUILD_TYPE CMAKE_BUILD_TYPE-MODIFIED:INTERNAL=1 //This is the directory where this CMakeCache.txt was created -CMAKE_CACHEFILE_DIR:INTERNAL=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16 +CMAKE_CACHEFILE_DIR:INTERNAL=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_CXX0X-F16 //Major version of cmake used to create the current loaded cache CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 //Minor version of cmake used to create the current loaded cache CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 //Patch version of cmake used to create the current loaded cache -CMAKE_CACHE_PATCH_VERSION:INTERNAL=4 +CMAKE_CACHE_PATCH_VERSION:INTERNAL=7 //Major version of cmake used to create the current loaded cache CMAKE_CACHE_RELEASE_VERSION:INTERNAL=patch 4 //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE @@ -1453,6 +1494,8 @@ CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 //Name of generator. CMAKE_GENERATOR:INTERNAL=Unix Makefiles //Have function connect @@ -1525,6 +1568,7 @@ CMAKE_UNAME:INTERNAL=/bin/uname CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +CONFIG_CXX_FLAGS:INTERNAL=-std=c++0x -frounding-math //Variable hidden from user EXECUTABLE_OUTPUT_PATH:INTERNAL= //Details about finding OpenGL @@ -1532,9 +1576,9 @@ FIND_PACKAGE_MESSAGE_DETAILS_OpenGL:INTERNAL=[/usr/lib64/libGL.so][v()] //Details about finding Threads FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()] //Details about finding X11 -FIND_PACKAGE_MESSAGE_DETAILS_X11:INTERNAL=[/usr/lib64/libX11.so][/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include] +FIND_PACKAGE_MESSAGE_DETAILS_X11:INTERNAL=[/usr/lib64/libX11.so][/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include] //Details about finding ZLIB -FIND_PACKAGE_MESSAGE_DETAILS_ZLIB:INTERNAL=[/usr/include][/usr/lib64/libz.so][v1.2.5()] +FIND_PACKAGE_MESSAGE_DETAILS_ZLIB:INTERNAL=[/usr/lib64/libz.so][/usr/include][v1.2.5()] //Result of TRY_COMPILE GCC_COMPILE_RES:INTERNAL=TRUE //Result of TRY_RUN @@ -2060,14 +2104,22 @@ X11_ICE_INCLUDE_PATH-ADVANCED:INTERNAL=1 X11_ICE_LIB-ADVANCED:INTERNAL=1 //Have library /usr/lib64/libX11.so;/usr/lib64/libXext.so X11_LIB_X11_SOLO:INTERNAL=1 +//ADVANCED property for variable: X11_SM_INCLUDE_PATH +X11_SM_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_SM_LIB X11_SM_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_X11_INCLUDE_PATH X11_X11_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_X11_LIB X11_X11_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XRes_INCLUDE_PATH +X11_XRes_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XRes_LIB +X11_XRes_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XShm_INCLUDE_PATH X11_XShm_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XSync_INCLUDE_PATH +X11_XSync_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XTest_INCLUDE_PATH X11_XTest_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XTest_LIB @@ -2120,6 +2172,10 @@ X11_Xinput_INCLUDE_PATH-ADVANCED:INTERNAL=1 X11_Xinput_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_Xkb_INCLUDE_PATH X11_Xkb_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xkbfile_INCLUDE_PATH +X11_Xkbfile_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xkbfile_LIB +X11_Xkbfile_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_Xkblib_INCLUDE_PATH X11_Xkblib_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_Xlib_INCLUDE_PATH diff --git a/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/CMakeCache.txt b/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/CMakeCache.txt index 38a7513fa9a..6aff88e6843 100644 --- a/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/CMakeCache.txt +++ b/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/CMakeCache.txt @@ -1,5 +1,5 @@ # This is the CMakeCache file. -# For build in directory: /home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16 +# For build in directory: /home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16 # It was generated by CMake: /usr/bin/cmake # You can edit this file to change values found and used by cmake. # If you do not want to change any of the values, simply exit the editor. @@ -14,6 +14,12 @@ # EXTERNAL cache entries ######################## +//Build shared libraries +BUILD_SHARED_LIBS:BOOL=ON + +//The directory containing a CMake configuration file for Boost. +Boost_DIR:PATH=Boost_DIR-NOTFOUND + //Path to a file. Boost_INCLUDE_DIR:PATH=/home/lrineau/CGAL/boost/1.45/include @@ -21,16 +27,19 @@ Boost_INCLUDE_DIR:PATH=/home/lrineau/CGAL/boost/1.45/include Boost_LIBRARY_DIRS:FILEPATH=/home/lrineau/CGAL/boost/1.45/lib //The Boost THREAD library -Boost_THREAD_LIBRARY:FILEPATH=/home/lrineau/CGAL/boost/1.45/lib/libboost_thread.so +Boost_THREAD_LIBRARY:FILEPATH=/home/lrineau/CGAL/boost/1.45/lib/libboost_thread-mt.so -//Path to a library. -Boost_THREAD_LIBRARY_DEBUG:FILEPATH=Boost_THREAD_LIBRARY_DEBUG-NOTFOUND +//Boost thread library (debug) +Boost_THREAD_LIBRARY_DEBUG:FILEPATH=/home/lrineau/CGAL/boost/1.45/lib/libboost_thread-mt.so -//Path to a library. -Boost_THREAD_LIBRARY_RELEASE:FILEPATH=/home/lrineau/CGAL/boost/1.45/lib/libboost_thread.so +//Boost thread library (release) +Boost_THREAD_LIBRARY_RELEASE:FILEPATH=/home/lrineau/CGAL/boost/1.45/lib/libboost_thread-mt.so //Value Computed by CMake -CGAL_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16 +CGAL_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16 + +//Link with static Boost libraries +CGAL_Boost_USE_STATIC_LIBS:BOOL=OFF //Directory containing the Maintenance package CGAL_CORE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I @@ -39,13 +48,13 @@ CGAL_CORE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I CGAL_CXX_FLAGS:STRING= -frounding-math //Value Computed by CMake -CGAL_Core_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/src/Core +CGAL_Core_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/src/Core //The CGAL_Core library -CGAL_Core_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL_Core.so +CGAL_Core_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL_Core.so //Dependencies for the target -CGAL_Core_LIB_DEPENDS:STATIC=general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.45/lib/libboost_thread.so;general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.45/lib/libboost_thread.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.45/lib/libboost_thread.so; +CGAL_Core_LIB_DEPENDS:STATIC=general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.45/lib/libboost_thread-mt.so;general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.45/lib/libboost_thread-mt.so; //Value Computed by CMake CGAL_Core_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALCore @@ -85,19 +94,22 @@ CGAL_INSTALL_LIB_DIR:STRING=lib CGAL_INSTALL_MAN_DIR:STRING=share/man/man1 //Value Computed by CMake -CGAL_ImageIO_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/src/ImageIO +CGAL_ImageIO_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/src/ImageIO //The CGAL_ImageIO library -CGAL_ImageIO_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL_ImageIO.so +CGAL_ImageIO_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL_ImageIO.so //Dependencies for the target -CGAL_ImageIO_LIB_DEPENDS:STATIC=general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.45/lib/libboost_thread.so;general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.45/lib/libboost_thread.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;/usr/lib64/libz.so;general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL.so; +CGAL_ImageIO_LIB_DEPENDS:STATIC=general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.45/lib/libboost_thread-mt.so;general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.45/lib/libboost_thread-mt.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;/usr/lib64/libz.so; //Value Computed by CMake CGAL_ImageIO_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALImageIO +//The CGAL library +CGAL_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL.so + //Dependencies for the target -CGAL_LIB_DEPENDS:STATIC=general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.45/lib/libboost_thread.so; +CGAL_LIB_DEPENDS:STATIC=general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.45/lib/libboost_thread-mt.so; //Directory containing the Maintenance package CGAL_MAINTENANCE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I @@ -115,25 +127,25 @@ CGAL_PDB_LIB_DEPENDS:STATIC=general;/home/lrineau/CGAL/CGAL-I-REF/cmake/platform CGAL_PDB_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALPDB //Value Computed by CMake -CGAL_Qt3_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/src/Qt3 +CGAL_Qt3_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/src/Qt3 //The CGAL_Qt3 library -CGAL_Qt3_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL_Qt3.so +CGAL_Qt3_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL_Qt3.so //Dependencies for the target -CGAL_Qt3_LIB_DEPENDS:STATIC=general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.45/lib/libboost_thread.so;general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.45/lib/libboost_thread.so;general;/usr/lib64/qt-3.3/lib/libqassistantclient.a;general;/usr/lib64/qt-3.3/lib/libqt-mt.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;dl;general;-lpthread;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; +CGAL_Qt3_LIB_DEPENDS:STATIC=general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.45/lib/libboost_thread-mt.so;general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.45/lib/libboost_thread-mt.so;general;/usr/lib64/qt-3.3/lib/libqassistantclient.a;general;/usr/lib64/qt-3.3/lib/libqt-mt.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;dl;general;-lpthread;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; //Value Computed by CMake CGAL_Qt3_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALQt3 //Value Computed by CMake -CGAL_Qt4_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/src/Qt4 +CGAL_Qt4_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/src/Qt4 //The CGAL_Qt4 library -CGAL_Qt4_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL_Qt4.so +CGAL_Qt4_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL_Qt4.so //Dependencies for the target -CGAL_Qt4_LIB_DEPENDS:STATIC=general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.45/lib/libboost_thread.so;general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.45/lib/libboost_thread.so;optimized;/usr/lib64/libQtOpenGL.so;debug;/usr/lib64/libQtOpenGL_debug.so;optimized;/usr/lib64/libQtGui.so;debug;/usr/lib64/libQtGui_debug.so;optimized;/usr/lib64/libQtCore.so;debug;/usr/lib64/libQtCore_debug.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; +CGAL_Qt4_LIB_DEPENDS:STATIC=general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.45/lib/libboost_thread-mt.so;general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.45/lib/libboost_thread-mt.so;optimized;/usr/lib64/libQtOpenGL.so;debug;/usr/lib64/libQtOpenGL_debug.so;optimized;/usr/lib64/libQtGui.so;debug;/usr/lib64/libQtGui_debug.so;optimized;/usr/lib64/libQtCore.so;debug;/usr/lib64/libQtCore_debug.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; //Value Computed by CMake CGAL_Qt4_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALQt4 @@ -215,6 +227,9 @@ CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= //Flags used by the linker during Release with Debug Info builds. CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF + //Install path prefix, prepended onto install directories. CMAKE_INSTALL_PREFIX:PATH=/usr/local @@ -1058,6 +1073,9 @@ X11_ICE_INCLUDE_PATH:PATH=/usr/include //Path to a library. X11_ICE_LIB:FILEPATH=/usr/lib64/libICE.so +//Path to a file. +X11_SM_INCLUDE_PATH:PATH=/usr/include + //Path to a library. X11_SM_LIB:FILEPATH=/usr/lib64/libSM.so @@ -1067,9 +1085,18 @@ X11_X11_INCLUDE_PATH:PATH=/usr/include //Path to a library. X11_X11_LIB:FILEPATH=/usr/lib64/libX11.so +//Path to a file. +X11_XRes_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_XRes_LIB:FILEPATH=X11_XRes_LIB-NOTFOUND + //Path to a file. X11_XShm_INCLUDE_PATH:PATH=/usr/include +//Path to a file. +X11_XSync_INCLUDE_PATH:PATH=/usr/include + //Path to a file. X11_XTest_INCLUDE_PATH:PATH=/usr/include @@ -1148,6 +1175,12 @@ X11_Xinput_LIB:FILEPATH=/usr/lib64/libXi.so //Path to a file. X11_Xkb_INCLUDE_PATH:PATH=/usr/include +//Path to a file. +X11_Xkbfile_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_Xkbfile_LIB:FILEPATH=X11_Xkbfile_LIB-NOTFOUND + //Path to a file. X11_Xkblib_INCLUDE_PATH:PATH=/usr/include @@ -1239,8 +1272,10 @@ Boost_THREAD_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 Boost_VERSION:INTERNAL=104500 CGAL_3RD_PARTY_DEFINITIONS:INTERNAL= CGAL_3RD_PARTY_INCLUDE_DIRS:INTERNAL=/usr/include;/usr/include;/usr/include;/home/lrineau/CGAL/boost/1.45/include -CGAL_3RD_PARTY_LIBRARIES:INTERNAL=/usr/lib64/libgmpxx.so;/usr/lib64/libmpfr.so;/usr/lib64/libgmp.so;/home/lrineau/CGAL/boost/1.45/lib/libboost_thread.so -CGAL_3RD_PARTY_LIBRARIES_DIRS:INTERNAL=/usr/lib64;/usr/lib64;/home/lrineau/CGAL/boost/1.45/lib;/home/lrineau/CGAL/boost/1.45/lib +CGAL_3RD_PARTY_LIBRARIES:INTERNAL=/usr/lib64/libgmpxx.so;/usr/lib64/libmpfr.so;/usr/lib64/libgmp.so;/home/lrineau/CGAL/boost/1.45/lib/libboost_thread-mt.so +CGAL_3RD_PARTY_LIBRARIES_DIRS:INTERNAL=/usr/lib64;/usr/lib64;/home/lrineau/CGAL/boost/1.45/lib +//ADVANCED property for variable: CGAL_Boost_USE_STATIC_LIBS +CGAL_Boost_USE_STATIC_LIBS-ADVANCED:INTERNAL=1 CGAL_CFG_ARRAY_MEMBER_INITIALIZATION_BUG:INTERNAL=0 //Result of TRY_COMPILE CGAL_CFG_ARRAY_MEMBER_INITIALIZATION_BUG_COMPILED:INTERNAL=TRUE @@ -1274,6 +1309,9 @@ CGAL_CFG_NO_CPP0X_ARRAY_COMPILED:INTERNAL=FALSE CGAL_CFG_NO_CPP0X_AUTO:INTERNAL=1 //Result of TRY_COMPILE CGAL_CFG_NO_CPP0X_AUTO_COMPILED:INTERNAL=FALSE +CGAL_CFG_NO_CPP0X_COPY_N:INTERNAL=1 +//Result of TRY_COMPILE +CGAL_CFG_NO_CPP0X_COPY_N_COMPILED:INTERNAL=FALSE CGAL_CFG_NO_CPP0X_DECLTYPE:INTERNAL=1 //Result of TRY_COMPILE CGAL_CFG_NO_CPP0X_DECLTYPE_COMPILED:INTERNAL=FALSE @@ -1298,6 +1336,9 @@ CGAL_CFG_NO_CPP0X_LAMBDAS_COMPILED:INTERNAL=FALSE CGAL_CFG_NO_CPP0X_LONG_LONG:INTERNAL=0 //Result of TRY_COMPILE CGAL_CFG_NO_CPP0X_LONG_LONG_COMPILED:INTERNAL=TRUE +CGAL_CFG_NO_CPP0X_NEXT_PREV:INTERNAL=1 +//Result of TRY_COMPILE +CGAL_CFG_NO_CPP0X_NEXT_PREV_COMPILED:INTERNAL=FALSE CGAL_CFG_NO_CPP0X_RVALUE_REFERENCE:INTERNAL=1 //Result of TRY_COMPILE CGAL_CFG_NO_CPP0X_RVALUE_REFERENCE_COMPILED:INTERNAL=FALSE @@ -1356,7 +1397,7 @@ CGAL_CFG_USING_BASE_MEMBER_BUG_2:INTERNAL=0 //Result of TRY_COMPILE CGAL_CFG_USING_BASE_MEMBER_BUG_2_COMPILED:INTERNAL=TRUE //Variable hidden from user -CGAL_CGAL_LIBRARY:INTERNAL=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL.so +CGAL_CGAL_LIBRARY:INTERNAL=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL.so //Variable hidden from user CGAL_CGAL_LIBRARY_NAME:INTERNAL=libCGAL.so CGAL_CONFIGURED_LIBRARIES:INTERNAL=CGAL;Core;ImageIO;Qt3;Qt4 @@ -1378,8 +1419,8 @@ CGAL_ImageIO_LIBRARY-ADVANCED:INTERNAL=1 //Variable hidden from user CGAL_ImageIO_LIBRARY_NAME:INTERNAL=libCGAL_ImageIO.so CGAL_ImageIO_USE_ZLIB:INTERNAL=ON -//Variable hidden from user -CGAL_LIBRARY:INTERNAL=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16/lib/libCGAL.so +//ADVANCED property for variable: CGAL_LIBRARY +CGAL_LIBRARY-ADVANCED:INTERNAL=1 //Variable hidden from user CGAL_LIBRARY_NAME:INTERNAL=libCGAL.so CGAL_PDB_3RD_PARTY_DEFINITIONS:INTERNAL= @@ -1419,13 +1460,13 @@ CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 //What is the target build tool cmake is generating for. CMAKE_BUILD_TOOL:INTERNAL=/usr/bin/gmake //This is the directory where this CMakeCache.txt was created -CMAKE_CACHEFILE_DIR:INTERNAL=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16 +CMAKE_CACHEFILE_DIR:INTERNAL=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.5-branch_Release-F16 //Major version of cmake used to create the current loaded cache CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 //Minor version of cmake used to create the current loaded cache CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 //Patch version of cmake used to create the current loaded cache -CMAKE_CACHE_PATCH_VERSION:INTERNAL=4 +CMAKE_CACHE_PATCH_VERSION:INTERNAL=7 //Major version of cmake used to create the current loaded cache CMAKE_CACHE_RELEASE_VERSION:INTERNAL=patch 4 //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE @@ -1480,6 +1521,8 @@ CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 //Name of generator. CMAKE_GENERATOR:INTERNAL=Unix Makefiles //Have function connect @@ -1552,6 +1595,7 @@ CMAKE_UNAME:INTERNAL=/bin/uname CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +CONFIG_CXX_FLAGS:INTERNAL= -frounding-math //Variable hidden from user EXECUTABLE_OUTPUT_PATH:INTERNAL= //Details about finding OpenGL @@ -1559,9 +1603,9 @@ FIND_PACKAGE_MESSAGE_DETAILS_OpenGL:INTERNAL=[/usr/lib64/libGL.so][v()] //Details about finding Threads FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()] //Details about finding X11 -FIND_PACKAGE_MESSAGE_DETAILS_X11:INTERNAL=[/usr/lib64/libX11.so][/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include] +FIND_PACKAGE_MESSAGE_DETAILS_X11:INTERNAL=[/usr/lib64/libX11.so][/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include] //Details about finding ZLIB -FIND_PACKAGE_MESSAGE_DETAILS_ZLIB:INTERNAL=[/usr/include][/usr/lib64/libz.so][v1.2.5()] +FIND_PACKAGE_MESSAGE_DETAILS_ZLIB:INTERNAL=[/usr/lib64/libz.so][/usr/include][v1.2.5()] //Result of TRY_COMPILE GCC_COMPILE_RES:INTERNAL=TRUE //Result of TRY_RUN @@ -2091,14 +2135,22 @@ X11_ICE_INCLUDE_PATH-ADVANCED:INTERNAL=1 X11_ICE_LIB-ADVANCED:INTERNAL=1 //Have library /usr/lib64/libX11.so;/usr/lib64/libXext.so X11_LIB_X11_SOLO:INTERNAL=1 +//ADVANCED property for variable: X11_SM_INCLUDE_PATH +X11_SM_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_SM_LIB X11_SM_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_X11_INCLUDE_PATH X11_X11_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_X11_LIB X11_X11_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XRes_INCLUDE_PATH +X11_XRes_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XRes_LIB +X11_XRes_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XShm_INCLUDE_PATH X11_XShm_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XSync_INCLUDE_PATH +X11_XSync_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XTest_INCLUDE_PATH X11_XTest_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XTest_LIB @@ -2151,6 +2203,10 @@ X11_Xinput_INCLUDE_PATH-ADVANCED:INTERNAL=1 X11_Xinput_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_Xkb_INCLUDE_PATH X11_Xkb_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xkbfile_INCLUDE_PATH +X11_Xkbfile_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xkbfile_LIB +X11_Xkbfile_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_Xkblib_INCLUDE_PATH X11_Xkblib_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_Xlib_INCLUDE_PATH diff --git a/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-CXXDEBUG/CMakeCache.txt b/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-CXXDEBUG/CMakeCache.txt index 559545efd90..0d644ae102a 100644 --- a/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-CXXDEBUG/CMakeCache.txt +++ b/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-CXXDEBUG/CMakeCache.txt @@ -17,6 +17,9 @@ //Build shared libraries BUILD_SHARED_LIBS:BOOL=ON +//The directory containing a CMake configuration file for Boost. +Boost_DIR:PATH=Boost_DIR-NOTFOUND + //Path to a file. Boost_INCLUDE_DIR:PATH=/home/lrineau/CGAL/boost/boost-release-branch @@ -24,13 +27,13 @@ Boost_INCLUDE_DIR:PATH=/home/lrineau/CGAL/boost/boost-release-branch Boost_LIBRARY_DIRS:FILEPATH=/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib //The Boost THREAD library -Boost_THREAD_LIBRARY:FILEPATH=/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib/libboost_thread.so +Boost_THREAD_LIBRARY:FILEPATH=/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib/libboost_thread-mt.so -//Path to a library. -Boost_THREAD_LIBRARY_DEBUG:FILEPATH=Boost_THREAD_LIBRARY_DEBUG-NOTFOUND +//Boost thread library (debug) +Boost_THREAD_LIBRARY_DEBUG:FILEPATH=/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib/libboost_thread-mt.so -//Path to a library. -Boost_THREAD_LIBRARY_RELEASE:FILEPATH=/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib/libboost_thread.so +//Boost thread library (release) +Boost_THREAD_LIBRARY_RELEASE:FILEPATH=/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib/libboost_thread-mt.so //Value Computed by CMake CGAL_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-CXXDEBUG @@ -51,7 +54,7 @@ CGAL_Core_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86 CGAL_Core_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-CXXDEBUG/lib/libCGAL_Core.so //Dependencies for the target -CGAL_Core_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-CXXDEBUG/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib/libboost_thread.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-CXXDEBUG/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib/libboost_thread.so; +CGAL_Core_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-CXXDEBUG/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-CXXDEBUG/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib/libboost_thread-mt.so; //Value Computed by CMake CGAL_Core_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALCore @@ -97,7 +100,7 @@ CGAL_ImageIO_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/ CGAL_ImageIO_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-CXXDEBUG/lib/libCGAL_ImageIO.so //Dependencies for the target -CGAL_ImageIO_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-CXXDEBUG/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib/libboost_thread.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-CXXDEBUG/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib/libboost_thread.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;/usr/lib64/libz.so; +CGAL_ImageIO_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-CXXDEBUG/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-CXXDEBUG/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib/libboost_thread-mt.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;/usr/lib64/libz.so; //Value Computed by CMake CGAL_ImageIO_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALImageIO @@ -106,7 +109,7 @@ CGAL_ImageIO_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALImageIO CGAL_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-CXXDEBUG/lib/libCGAL.so //Dependencies for the target -CGAL_LIB_DEPENDS:STATIC=general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib/libboost_thread.so; +CGAL_LIB_DEPENDS:STATIC=general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib/libboost_thread-mt.so; //Directory containing the Maintenance package CGAL_MAINTENANCE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I @@ -118,7 +121,7 @@ CGAL_Qt3_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86- CGAL_Qt3_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-CXXDEBUG/lib/libCGAL_Qt3.so //Dependencies for the target -CGAL_Qt3_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-CXXDEBUG/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib/libboost_thread.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-CXXDEBUG/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib/libboost_thread.so;general;/usr/lib64/qt-3.3/lib/libqassistantclient.a;general;/usr/lib64/qt-3.3/lib/libqt-mt.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;dl;general;-lpthread;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; +CGAL_Qt3_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-CXXDEBUG/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-CXXDEBUG/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib/libboost_thread-mt.so;general;/usr/lib64/qt-3.3/lib/libqassistantclient.a;general;/usr/lib64/qt-3.3/lib/libqt-mt.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;dl;general;-lpthread;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; //Value Computed by CMake CGAL_Qt3_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALQt3 @@ -130,7 +133,7 @@ CGAL_Qt4_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86- CGAL_Qt4_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-CXXDEBUG/lib/libCGAL_Qt4.so //Dependencies for the target -CGAL_Qt4_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-CXXDEBUG/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib/libboost_thread.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-CXXDEBUG/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib/libboost_thread.so;optimized;/usr/lib64/libQtOpenGL.so;debug;/usr/lib64/libQtOpenGL_debug.so;optimized;/usr/lib64/libQtGui.so;debug;/usr/lib64/libQtGui_debug.so;optimized;/usr/lib64/libQtCore.so;debug;/usr/lib64/libQtCore_debug.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; +CGAL_Qt4_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-CXXDEBUG/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-CXXDEBUG/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib/libboost_thread-mt.so;optimized;/usr/lib64/libQtOpenGL.so;debug;/usr/lib64/libQtOpenGL_debug.so;optimized;/usr/lib64/libQtGui.so;debug;/usr/lib64/libQtGui_debug.so;optimized;/usr/lib64/libQtCore.so;debug;/usr/lib64/libQtCore_debug.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; //Value Computed by CMake CGAL_Qt4_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALQt4 @@ -378,16 +381,16 @@ QT_PHONONWIDGETS_PLUGIN_DEBUG:FILEPATH=QT_PHONONWIDGETS_PLUGIN_DEBUG-NOTFOUND QT_PHONONWIDGETS_PLUGIN_RELEASE:FILEPATH=/usr/lib64/qt4/plugins/designer/libphononwidgets.so //Path to a file. -QT_PHONON_INCLUDE_DIR:PATH=QT_PHONON_INCLUDE_DIR-NOTFOUND +QT_PHONON_INCLUDE_DIR:PATH=/usr/include/phonon //The Qt PHONON library -QT_PHONON_LIBRARY:STRING= +QT_PHONON_LIBRARY:STRING=/usr/lib64/libphonon.so //Path to a library. QT_PHONON_LIBRARY_DEBUG:FILEPATH=QT_PHONON_LIBRARY_DEBUG-NOTFOUND //Path to a library. -QT_PHONON_LIBRARY_RELEASE:FILEPATH=QT_PHONON_LIBRARY_RELEASE-NOTFOUND +QT_PHONON_LIBRARY_RELEASE:FILEPATH=/usr/lib64/libphonon.so //Path to a library. QT_PHONON_QT7_PLUGIN_DEBUG:FILEPATH=QT_PHONON_QT7_PLUGIN_DEBUG-NOTFOUND @@ -983,6 +986,12 @@ X11_X11_INCLUDE_PATH:PATH=/usr/include //Path to a library. X11_X11_LIB:FILEPATH=/usr/lib64/libX11.so +//Path to a file. +X11_XRes_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_XRes_LIB:FILEPATH=X11_XRes_LIB-NOTFOUND + //Path to a file. X11_XShm_INCLUDE_PATH:PATH=/usr/include @@ -1162,8 +1171,8 @@ Boost_THREAD_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 Boost_VERSION:INTERNAL=104900 CGAL_3RD_PARTY_DEFINITIONS:INTERNAL= CGAL_3RD_PARTY_INCLUDE_DIRS:INTERNAL=/usr/include;/usr/include;/usr/include;/home/lrineau/CGAL/boost/boost-release-branch -CGAL_3RD_PARTY_LIBRARIES:INTERNAL=/usr/lib64/libgmpxx.so;/usr/lib64/libmpfr.so;/usr/lib64/libgmp.so;/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib/libboost_thread.so -CGAL_3RD_PARTY_LIBRARIES_DIRS:INTERNAL=/usr/lib64;/usr/lib64;/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib;/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib +CGAL_3RD_PARTY_LIBRARIES:INTERNAL=/usr/lib64/libgmpxx.so;/usr/lib64/libmpfr.so;/usr/lib64/libgmp.so;/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib/libboost_thread-mt.so +CGAL_3RD_PARTY_LIBRARIES_DIRS:INTERNAL=/usr/lib64;/usr/lib64;/home/lrineau/CGAL/boost/boost-release-branch/stage-cxxdebug/lib //ADVANCED property for variable: CGAL_Boost_USE_STATIC_LIBS CGAL_Boost_USE_STATIC_LIBS-ADVANCED:INTERNAL=1 CGAL_CFG_ARRAY_MEMBER_INITIALIZATION_BUG:INTERNAL=0 @@ -1346,7 +1355,7 @@ CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 //Minor version of cmake used to create the current loaded cache CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 //Patch version of cmake used to create the current loaded cache -CMAKE_CACHE_PATCH_VERSION:INTERNAL=6 +CMAKE_CACHE_PATCH_VERSION:INTERNAL=7 //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 //Path to CMake executable. @@ -1955,6 +1964,10 @@ X11_SM_LIB-ADVANCED:INTERNAL=1 X11_X11_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_X11_LIB X11_X11_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XRes_INCLUDE_PATH +X11_XRes_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XRes_LIB +X11_XRes_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XShm_INCLUDE_PATH X11_XShm_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XSync_INCLUDE_PATH diff --git a/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/CMakeCache.txt b/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/CMakeCache.txt index 515c3cf996e..91237708694 100644 --- a/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/CMakeCache.txt +++ b/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/CMakeCache.txt @@ -1,5 +1,5 @@ # This is the CMakeCache file. -# For build in directory: /home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6 +# For build in directory: /home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6 # It was generated by CMake: /usr/bin/cmake # You can edit this file to change values found and used by cmake. # If you do not want to change any of the values, simply exit the editor. @@ -14,6 +14,12 @@ # EXTERNAL cache entries ######################## +//Build shared libraries +BUILD_SHARED_LIBS:BOOL=ON + +//The directory containing a CMake configuration file for Boost. +Boost_DIR:PATH=Boost_DIR-NOTFOUND + //Path to a file. Boost_INCLUDE_DIR:PATH=/home/lrineau/CGAL/boost/1.44-beta1/include @@ -21,16 +27,19 @@ Boost_INCLUDE_DIR:PATH=/home/lrineau/CGAL/boost/1.44-beta1/include Boost_LIBRARY_DIRS:FILEPATH=/home/lrineau/CGAL/boost/1.44-beta1/lib //The Boost THREAD library -Boost_THREAD_LIBRARY:FILEPATH=/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so +Boost_THREAD_LIBRARY:FILEPATH=/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so //Path to a library. Boost_THREAD_LIBRARY_DEBUG:FILEPATH=Boost_THREAD_LIBRARY_DEBUG-NOTFOUND //Path to a library. -Boost_THREAD_LIBRARY_RELEASE:FILEPATH=/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so +Boost_THREAD_LIBRARY_RELEASE:FILEPATH=/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so //Value Computed by CMake -CGAL_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6 +CGAL_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6 + +//Link with static Boost libraries +CGAL_Boost_USE_STATIC_LIBS:BOOL=OFF //Directory containing the Maintenance package CGAL_CORE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I @@ -39,13 +48,13 @@ CGAL_CORE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I CGAL_CXX_FLAGS:STRING= -frounding-math -DCGAL_CFG_MATCHING_BUG_6 //Value Computed by CMake -CGAL_Core_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/src/Core +CGAL_Core_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/src/Core //The CGAL_Core library -CGAL_Core_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL_Core.so +CGAL_Core_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL_Core.so //Dependencies for the target -CGAL_Core_LIB_DEPENDS:STATIC=general;/home/lrineau/CGAL/CGAL-I-REF/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so;general;/home/lrineau/CGAL/CGAL-I-REF/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so; +CGAL_Core_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so; //Value Computed by CMake CGAL_Core_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALCore @@ -85,43 +94,46 @@ CGAL_INSTALL_LIB_DIR:STRING=lib CGAL_INSTALL_MAN_DIR:STRING=share/man/man1 //Value Computed by CMake -CGAL_ImageIO_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/src/ImageIO +CGAL_ImageIO_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/src/ImageIO //The CGAL_ImageIO library -CGAL_ImageIO_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL_ImageIO.so +CGAL_ImageIO_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL_ImageIO.so //Dependencies for the target -CGAL_ImageIO_LIB_DEPENDS:STATIC=general;/home/lrineau/CGAL/CGAL-I-REF/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so;general;/home/lrineau/CGAL/CGAL-I-REF/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;/usr/lib64/libz.so;general;/home/lrineau/CGAL/CGAL-I-REF/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL.so; +CGAL_ImageIO_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;/usr/lib64/libz.so; //Value Computed by CMake CGAL_ImageIO_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALImageIO +//The CGAL library +CGAL_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL.so + //Dependencies for the target -CGAL_LIB_DEPENDS:STATIC=general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so; +CGAL_LIB_DEPENDS:STATIC=general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so; //Directory containing the Maintenance package CGAL_MAINTENANCE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I //Value Computed by CMake -CGAL_Qt3_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/src/Qt3 +CGAL_Qt3_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/src/Qt3 //The CGAL_Qt3 library -CGAL_Qt3_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL_Qt3.so +CGAL_Qt3_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL_Qt3.so //Dependencies for the target -CGAL_Qt3_LIB_DEPENDS:STATIC=general;/home/lrineau/CGAL/CGAL-I-REF/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so;general;/home/lrineau/CGAL/CGAL-I-REF/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so;general;/usr/lib64/qt-3.3/lib/libqassistantclient.a;general;/usr/lib64/qt-3.3/lib/libqt-mt.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;dl;general;-lpthread;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; +CGAL_Qt3_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so;general;/usr/lib64/qt-3.3/lib/libqassistantclient.a;general;/usr/lib64/qt-3.3/lib/libqt-mt.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;dl;general;-lpthread;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; //Value Computed by CMake CGAL_Qt3_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALQt3 //Value Computed by CMake -CGAL_Qt4_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/src/Qt4 +CGAL_Qt4_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/src/Qt4 //The CGAL_Qt4 library -CGAL_Qt4_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL_Qt4.so +CGAL_Qt4_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL_Qt4.so //Dependencies for the target -CGAL_Qt4_LIB_DEPENDS:STATIC=general;/home/lrineau/CGAL/CGAL-I-REF/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so;general;/home/lrineau/CGAL/CGAL-I-REF/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so;optimized;/usr/lib64/libQtOpenGL.so;debug;/usr/lib64/libQtOpenGL_debug.so;optimized;/usr/lib64/libQtGui.so;debug;/usr/lib64/libQtGui_debug.so;optimized;/usr/lib64/libQtCore.so;debug;/usr/lib64/libQtCore_debug.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; +CGAL_Qt4_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so;optimized;/usr/lib64/libQtOpenGL.so;debug;/usr/lib64/libQtOpenGL_debug.so;optimized;/usr/lib64/libQtGui.so;debug;/usr/lib64/libQtGui_debug.so;optimized;/usr/lib64/libQtCore.so;debug;/usr/lib64/libQtCore_debug.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; //Value Computed by CMake CGAL_Qt4_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALQt4 @@ -203,6 +215,9 @@ CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= //Flags used by the linker during Release with Debug Info builds. CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF + //Install path prefix, prepended onto install directories. CMAKE_INSTALL_PREFIX:PATH=/usr/local @@ -1037,6 +1052,9 @@ X11_ICE_INCLUDE_PATH:PATH=/usr/include //Path to a library. X11_ICE_LIB:FILEPATH=/usr/lib64/libICE.so +//Path to a file. +X11_SM_INCLUDE_PATH:PATH=/usr/include + //Path to a library. X11_SM_LIB:FILEPATH=/usr/lib64/libSM.so @@ -1046,9 +1064,18 @@ X11_X11_INCLUDE_PATH:PATH=/usr/include //Path to a library. X11_X11_LIB:FILEPATH=/usr/lib64/libX11.so +//Path to a file. +X11_XRes_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_XRes_LIB:FILEPATH=X11_XRes_LIB-NOTFOUND + //Path to a file. X11_XShm_INCLUDE_PATH:PATH=/usr/include +//Path to a file. +X11_XSync_INCLUDE_PATH:PATH=/usr/include + //Path to a file. X11_XTest_INCLUDE_PATH:PATH=/usr/include @@ -1127,6 +1154,12 @@ X11_Xinput_LIB:FILEPATH=/usr/lib64/libXi.so //Path to a file. X11_Xkb_INCLUDE_PATH:PATH=/usr/include +//Path to a file. +X11_Xkbfile_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_Xkbfile_LIB:FILEPATH=X11_Xkbfile_LIB-NOTFOUND + //Path to a file. X11_Xkblib_INCLUDE_PATH:PATH=/usr/include @@ -1218,8 +1251,10 @@ Boost_THREAD_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 Boost_VERSION:INTERNAL=104400 CGAL_3RD_PARTY_DEFINITIONS:INTERNAL= CGAL_3RD_PARTY_INCLUDE_DIRS:INTERNAL=/usr/include;/usr/include;/usr/include;/home/lrineau/CGAL/boost/1.44-beta1/include -CGAL_3RD_PARTY_LIBRARIES:INTERNAL=/usr/lib64/libgmpxx.so;/usr/lib64/libmpfr.so;/usr/lib64/libgmp.so;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so -CGAL_3RD_PARTY_LIBRARIES_DIRS:INTERNAL=/usr/lib64;/usr/lib64;/home/lrineau/CGAL/boost/1.44-beta1/lib;/home/lrineau/CGAL/boost/1.44-beta1/lib +CGAL_3RD_PARTY_LIBRARIES:INTERNAL=/usr/lib64/libgmpxx.so;/usr/lib64/libmpfr.so;/usr/lib64/libgmp.so;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so +CGAL_3RD_PARTY_LIBRARIES_DIRS:INTERNAL=/usr/lib64;/usr/lib64;/home/lrineau/CGAL/boost/1.44-beta1/lib +//ADVANCED property for variable: CGAL_Boost_USE_STATIC_LIBS +CGAL_Boost_USE_STATIC_LIBS-ADVANCED:INTERNAL=1 CGAL_CFG_ARRAY_MEMBER_INITIALIZATION_BUG:INTERNAL=0 //Result of TRY_COMPILE CGAL_CFG_ARRAY_MEMBER_INITIALIZATION_BUG_COMPILED:INTERNAL=TRUE @@ -1253,6 +1288,9 @@ CGAL_CFG_NO_CPP0X_ARRAY_COMPILED:INTERNAL=FALSE CGAL_CFG_NO_CPP0X_AUTO:INTERNAL=1 //Result of TRY_COMPILE CGAL_CFG_NO_CPP0X_AUTO_COMPILED:INTERNAL=FALSE +CGAL_CFG_NO_CPP0X_COPY_N:INTERNAL=1 +//Result of TRY_COMPILE +CGAL_CFG_NO_CPP0X_COPY_N_COMPILED:INTERNAL=FALSE CGAL_CFG_NO_CPP0X_DECLTYPE:INTERNAL=1 //Result of TRY_COMPILE CGAL_CFG_NO_CPP0X_DECLTYPE_COMPILED:INTERNAL=FALSE @@ -1277,6 +1315,9 @@ CGAL_CFG_NO_CPP0X_LAMBDAS_COMPILED:INTERNAL=FALSE CGAL_CFG_NO_CPP0X_LONG_LONG:INTERNAL=0 //Result of TRY_COMPILE CGAL_CFG_NO_CPP0X_LONG_LONG_COMPILED:INTERNAL=TRUE +CGAL_CFG_NO_CPP0X_NEXT_PREV:INTERNAL=1 +//Result of TRY_COMPILE +CGAL_CFG_NO_CPP0X_NEXT_PREV_COMPILED:INTERNAL=FALSE CGAL_CFG_NO_CPP0X_RVALUE_REFERENCE:INTERNAL=1 //Result of TRY_COMPILE CGAL_CFG_NO_CPP0X_RVALUE_REFERENCE_COMPILED:INTERNAL=FALSE @@ -1335,7 +1376,7 @@ CGAL_CFG_USING_BASE_MEMBER_BUG_2:INTERNAL=0 //Result of TRY_COMPILE CGAL_CFG_USING_BASE_MEMBER_BUG_2_COMPILED:INTERNAL=TRUE //Variable hidden from user -CGAL_CGAL_LIBRARY:INTERNAL=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL.so +CGAL_CGAL_LIBRARY:INTERNAL=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL.so //Variable hidden from user CGAL_CGAL_LIBRARY_NAME:INTERNAL=libCGAL.so CGAL_CONFIGURED_LIBRARIES:INTERNAL=CGAL;Core;ImageIO;Qt3;Qt4 @@ -1357,8 +1398,8 @@ CGAL_ImageIO_LIBRARY-ADVANCED:INTERNAL=1 //Variable hidden from user CGAL_ImageIO_LIBRARY_NAME:INTERNAL=libCGAL_ImageIO.so CGAL_ImageIO_USE_ZLIB:INTERNAL=ON -//Variable hidden from user -CGAL_LIBRARY:INTERNAL=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6/lib/libCGAL.so +//ADVANCED property for variable: CGAL_LIBRARY +CGAL_LIBRARY-ADVANCED:INTERNAL=1 //Variable hidden from user CGAL_LIBRARY_NAME:INTERNAL=libCGAL.so CGAL_Qt3_3RD_PARTY_DEFINITIONS:INTERNAL=-DQT_SHARED;-DQT_NO_DEBUG;-DQT_THREAD_SUPPORT;-D_REENTRANT @@ -1392,13 +1433,13 @@ CMAKE_BUILD_TOOL:INTERNAL=/usr/bin/gmake //MODIFIED property for variable: CMAKE_BUILD_TYPE CMAKE_BUILD_TYPE-MODIFIED:INTERNAL=1 //This is the directory where this CMakeCache.txt was created -CMAKE_CACHEFILE_DIR:INTERNAL=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6 +CMAKE_CACHEFILE_DIR:INTERNAL=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-MATCHING-BUG-6 //Major version of cmake used to create the current loaded cache CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 //Minor version of cmake used to create the current loaded cache CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 //Patch version of cmake used to create the current loaded cache -CMAKE_CACHE_PATCH_VERSION:INTERNAL=4 +CMAKE_CACHE_PATCH_VERSION:INTERNAL=7 //Major version of cmake used to create the current loaded cache CMAKE_CACHE_RELEASE_VERSION:INTERNAL=patch 4 //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE @@ -1453,6 +1494,8 @@ CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 //Name of generator. CMAKE_GENERATOR:INTERNAL=Unix Makefiles //Have function connect @@ -1522,6 +1565,7 @@ CMAKE_UNAME:INTERNAL=/bin/uname CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +CONFIG_CXX_FLAGS:INTERNAL= -frounding-math -DCGAL_CFG_MATCHING_BUG_6 //Variable hidden from user EXECUTABLE_OUTPUT_PATH:INTERNAL= //Details about finding OpenGL @@ -1529,9 +1573,9 @@ FIND_PACKAGE_MESSAGE_DETAILS_OpenGL:INTERNAL=[/usr/lib64/libGL.so][v()] //Details about finding Threads FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()] //Details about finding X11 -FIND_PACKAGE_MESSAGE_DETAILS_X11:INTERNAL=[/usr/lib64/libX11.so][/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include] +FIND_PACKAGE_MESSAGE_DETAILS_X11:INTERNAL=[/usr/lib64/libX11.so][/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include] //Details about finding ZLIB -FIND_PACKAGE_MESSAGE_DETAILS_ZLIB:INTERNAL=[/usr/include][/usr/lib64/libz.so][v1.2.5()] +FIND_PACKAGE_MESSAGE_DETAILS_ZLIB:INTERNAL=[/usr/lib64/libz.so][/usr/include][v1.2.5()] //Result of TRY_COMPILE GCC_COMPILE_RES:INTERNAL=TRUE //Result of TRY_RUN @@ -2057,14 +2101,22 @@ X11_ICE_INCLUDE_PATH-ADVANCED:INTERNAL=1 X11_ICE_LIB-ADVANCED:INTERNAL=1 //Have library /usr/lib64/libX11.so;/usr/lib64/libXext.so X11_LIB_X11_SOLO:INTERNAL=1 +//ADVANCED property for variable: X11_SM_INCLUDE_PATH +X11_SM_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_SM_LIB X11_SM_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_X11_INCLUDE_PATH X11_X11_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_X11_LIB X11_X11_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XRes_INCLUDE_PATH +X11_XRes_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XRes_LIB +X11_XRes_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XShm_INCLUDE_PATH X11_XShm_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XSync_INCLUDE_PATH +X11_XSync_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XTest_INCLUDE_PATH X11_XTest_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XTest_LIB @@ -2117,6 +2169,10 @@ X11_Xinput_INCLUDE_PATH-ADVANCED:INTERNAL=1 X11_Xinput_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_Xkb_INCLUDE_PATH X11_Xkb_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xkbfile_INCLUDE_PATH +X11_Xkbfile_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xkbfile_LIB +X11_Xkbfile_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_Xkblib_INCLUDE_PATH X11_Xkblib_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_Xlib_INCLUDE_PATH diff --git a/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/CMakeCache.txt b/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/CMakeCache.txt index 0f1afd538c9..3b56ae96d09 100644 --- a/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/CMakeCache.txt +++ b/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/CMakeCache.txt @@ -1,5 +1,5 @@ # This is the CMakeCache file. -# For build in directory: /home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi +# For build in directory: /home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi # It was generated by CMake: /usr/bin/cmake # You can edit this file to change values found and used by cmake. # If you do not want to change any of the values, simply exit the editor. @@ -14,6 +14,12 @@ # EXTERNAL cache entries ######################## +//Build shared libraries +BUILD_SHARED_LIBS:BOOL=ON + +//The directory containing a CMake configuration file for Boost. +Boost_DIR:PATH=Boost_DIR-NOTFOUND + //Path to a file. Boost_INCLUDE_DIR:PATH=/usr/include @@ -23,29 +29,29 @@ Boost_LIBRARY_DIRS:FILEPATH=/usr/lib64 //The Boost THREAD library Boost_THREAD_LIBRARY:FILEPATH=/usr/lib64/libboost_thread-mt.so -//Path to a library. -Boost_THREAD_LIBRARY_DEBUG:FILEPATH=Boost_THREAD_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -Boost_THREAD_LIBRARY_RELEASE:FILEPATH=/usr/lib64/libboost_thread-mt.so - //Value Computed by CMake -CGAL_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi +CGAL_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi + +//Link with static Boost libraries +CGAL_Boost_USE_STATIC_LIBS:BOOL=OFF + +//Directory containing the Core package +CGAL_CORE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I //User-defined flags CGAL_CXX_FLAGS:STRING= -frounding-math -std=c++98 -Wall -pedantic-errors -Wno-long-long -fdiagnostics-show-option //Value Computed by CMake -CGAL_Core_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/src/CGALCore +CGAL_Core_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/src/Core //The CGAL_Core library -CGAL_Core_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL_Core.so +CGAL_Core_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL_Core.so //Dependencies for the target -CGAL_Core_LIB_DEPENDS:STATIC=general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/usr/lib64/libboost_thread-mt.so;general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/usr/lib64/libboost_thread-mt.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/usr/lib64/libboost_thread-mt.so; +CGAL_Core_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/usr/lib64/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/usr/lib64/libboost_thread-mt.so; //Value Computed by CMake -CGAL_Core_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-3.8.1-I/src/CGALCore +CGAL_Core_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALCore //Set this to TRUE if you want to define or modify any of CMAKE_*_FLAGS. // When this is FALSE, all the CMAKE_*_FLAGS flags are overriden @@ -54,6 +60,9 @@ CGAL_Core_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-3.8.1-I/src/CGALCore // TRUE. CGAL_DONT_OVERRIDE_CMAKE_FLAGS:BOOL=TRUE +//Directory containing the Installation package +CGAL_INSTALLATION_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I + //The folder where CGAL user-side scripts will be installed, relative // to CMAKE_INSTALL_PREFIX CGAL_INSTALL_BIN_DIR:STRING=bin @@ -64,7 +73,7 @@ CGAL_INSTALL_CMAKE_DIR:STRING=lib/CGAL //The folder where CGAL documentation and license files will be // installed, relative to CMAKE_INSTALL_PREFIX -CGAL_INSTALL_DOC_DIR:STRING=share/doc/CGAL-3.8.1-I +CGAL_INSTALL_DOC_DIR:STRING=share/doc/CGAL-I //The folder where CGAL header files will be installed, relative // to CMAKE_INSTALL_PREFIX @@ -79,20 +88,26 @@ CGAL_INSTALL_LIB_DIR:STRING=lib CGAL_INSTALL_MAN_DIR:STRING=share/man/man1 //Value Computed by CMake -CGAL_ImageIO_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/src/CGALimageIO +CGAL_ImageIO_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/src/ImageIO //The CGAL_ImageIO library -CGAL_ImageIO_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL_ImageIO.so +CGAL_ImageIO_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL_ImageIO.so //Dependencies for the target -CGAL_ImageIO_LIB_DEPENDS:STATIC=general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/usr/lib64/libboost_thread-mt.so;general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/usr/lib64/libboost_thread-mt.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;/usr/lib64/libz.so;general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL.so; +CGAL_ImageIO_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/usr/lib64/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/usr/lib64/libboost_thread-mt.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;/usr/lib64/libz.so; //Value Computed by CMake -CGAL_ImageIO_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-3.8.1-I/src/CGALimageIO +CGAL_ImageIO_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALImageIO + +//The CGAL library +CGAL_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL.so //Dependencies for the target CGAL_LIB_DEPENDS:STATIC=general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/usr/lib64/libboost_thread-mt.so; +//Directory containing the Maintenance package +CGAL_MAINTENANCE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I + //Value Computed by CMake CGAL_PDB_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/src/CGALPDB @@ -103,37 +118,37 @@ CGAL_PDB_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.ge CGAL_PDB_LIB_DEPENDS:STATIC=general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/usr/lib64/libboost_thread-mt.so;general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/usr/lib64/libboost_thread-mt.so; //Value Computed by CMake -CGAL_PDB_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-3.8.1-I/src/CGALPDB +CGAL_PDB_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALPDB //Value Computed by CMake -CGAL_Qt3_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/src/CGALQt +CGAL_Qt3_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/src/Qt3 //The CGAL_Qt3 library -CGAL_Qt3_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL_Qt3.so +CGAL_Qt3_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL_Qt3.so //Dependencies for the target -CGAL_Qt3_LIB_DEPENDS:STATIC=general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/usr/lib64/libboost_thread-mt.so;general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/usr/lib64/libboost_thread-mt.so;general;/usr/lib64/qt-3.3/lib/libqassistantclient.a;general;/usr/lib64/qt-3.3/lib/libqt-mt.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;dl;general;-lpthread;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; +CGAL_Qt3_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/usr/lib64/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/usr/lib64/libboost_thread-mt.so;general;/usr/lib64/qt-3.3/lib/libqassistantclient.a;general;/usr/lib64/qt-3.3/lib/libqt-mt.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;dl;general;-lpthread;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; //Value Computed by CMake -CGAL_Qt3_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-3.8.1-I/src/CGALQt +CGAL_Qt3_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALQt3 //Value Computed by CMake -CGAL_Qt4_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/src/CGALQt4 +CGAL_Qt4_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/src/Qt4 //The CGAL_Qt4 library -CGAL_Qt4_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL_Qt4.so +CGAL_Qt4_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL_Qt4.so //Dependencies for the target -CGAL_Qt4_LIB_DEPENDS:STATIC=general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/usr/lib64/libboost_thread-mt.so;general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/usr/lib64/libboost_thread-mt.so;optimized;/usr/lib64/libQtOpenGL.so;debug;/usr/lib64/libQtOpenGL_debug.so;optimized;/usr/lib64/libQtGui.so;debug;/usr/lib64/libQtGui_debug.so;optimized;/usr/lib64/libQtCore.so;debug;/usr/lib64/libQtCore_debug.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; +CGAL_Qt4_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/usr/lib64/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/usr/lib64/libboost_thread-mt.so;optimized;/usr/lib64/libQtOpenGL.so;debug;/usr/lib64/libQtOpenGL_debug.so;optimized;/usr/lib64/libQtGui.so;debug;/usr/lib64/libQtGui_debug.so;optimized;/usr/lib64/libQtCore.so;debug;/usr/lib64/libQtCore_debug.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; //Value Computed by CMake -CGAL_Qt4_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-3.8.1-I/src/CGALQt4 +CGAL_Qt4_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALQt4 //soname-version CGAL_SONAME_VERSION:STRING=3 //Value Computed by CMake -CGAL_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-3.8.1-I +CGAL_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I //soversion CGAL_SOVERSION:STRING=3.0.0 @@ -206,6 +221,9 @@ CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= //Flags used by the linker during Release with Debug Info builds. CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF + //Install path prefix, prepended onto install directories. CMAKE_INSTALL_PREFIX:PATH=/usr/local @@ -1034,6 +1052,15 @@ WITH_GMPXX:BOOL=ON //Use the LEDA number types if available. WITH_LEDA:BOOL=OFF +//Use MPFI if available. +WITH_MPFI:BOOL=OFF + +//Use NTL if available. +WITH_NTL:BOOL=OFF + +//Use RS if available. +WITH_RS:BOOL=OFF + //Select demos WITH_demos:BOOL=OFF @@ -1046,6 +1073,9 @@ X11_ICE_INCLUDE_PATH:PATH=/usr/include //Path to a library. X11_ICE_LIB:FILEPATH=/usr/lib64/libICE.so +//Path to a file. +X11_SM_INCLUDE_PATH:PATH=/usr/include + //Path to a library. X11_SM_LIB:FILEPATH=/usr/lib64/libSM.so @@ -1055,9 +1085,18 @@ X11_X11_INCLUDE_PATH:PATH=/usr/include //Path to a library. X11_X11_LIB:FILEPATH=/usr/lib64/libX11.so +//Path to a file. +X11_XRes_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_XRes_LIB:FILEPATH=X11_XRes_LIB-NOTFOUND + //Path to a file. X11_XShm_INCLUDE_PATH:PATH=/usr/include +//Path to a file. +X11_XSync_INCLUDE_PATH:PATH=/usr/include + //Path to a file. X11_XTest_INCLUDE_PATH:PATH=/usr/include @@ -1136,6 +1175,12 @@ X11_Xinput_LIB:FILEPATH=/usr/lib64/libXi.so //Path to a file. X11_Xkb_INCLUDE_PATH:PATH=/usr/include +//Path to a file. +X11_Xkbfile_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_Xkbfile_LIB:FILEPATH=X11_Xkbfile_LIB-NOTFOUND + //Path to a file. X11_Xkblib_INCLUDE_PATH:PATH=/usr/include @@ -1214,21 +1259,19 @@ Boost_INCLUDE_DIR-ADVANCED:INTERNAL=1 //ADVANCED property for variable: Boost_LIBRARY_DIRS Boost_LIBRARY_DIRS-ADVANCED:INTERNAL=1 //The library version string for boost libraries -Boost_LIB_VERSION:INTERNAL=1_37 +Boost_LIB_VERSION:INTERNAL=1_47 //Whether the Boost THREAD library found Boost_THREAD_FOUND:INTERNAL=ON //ADVANCED property for variable: Boost_THREAD_LIBRARY Boost_THREAD_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: Boost_THREAD_LIBRARY_DEBUG -Boost_THREAD_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: Boost_THREAD_LIBRARY_RELEASE -Boost_THREAD_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 //The version number for boost libraries -Boost_VERSION:INTERNAL=103700 +Boost_VERSION:INTERNAL=104700 CGAL_3RD_PARTY_DEFINITIONS:INTERNAL= CGAL_3RD_PARTY_INCLUDE_DIRS:INTERNAL=/usr/include;/usr/include;/usr/include;/usr/include CGAL_3RD_PARTY_LIBRARIES:INTERNAL=/usr/lib64/libgmpxx.so;/usr/lib64/libmpfr.so;/usr/lib64/libgmp.so;/usr/lib64/libboost_thread-mt.so -CGAL_3RD_PARTY_LIBRARIES_DIRS:INTERNAL=/usr/lib64;/usr/lib64;/usr/lib64;/usr/lib64 +CGAL_3RD_PARTY_LIBRARIES_DIRS:INTERNAL=/usr/lib64;/usr/lib64;/usr/lib64 +//ADVANCED property for variable: CGAL_Boost_USE_STATIC_LIBS +CGAL_Boost_USE_STATIC_LIBS-ADVANCED:INTERNAL=1 CGAL_CFG_ARRAY_MEMBER_INITIALIZATION_BUG:INTERNAL=1 //Result of TRY_COMPILE CGAL_CFG_ARRAY_MEMBER_INITIALIZATION_BUG_COMPILED:INTERNAL=FALSE @@ -1265,6 +1308,9 @@ CGAL_CFG_NO_CPP0X_ARRAY_COMPILED:INTERNAL=FALSE CGAL_CFG_NO_CPP0X_AUTO:INTERNAL=1 //Result of TRY_COMPILE CGAL_CFG_NO_CPP0X_AUTO_COMPILED:INTERNAL=FALSE +CGAL_CFG_NO_CPP0X_COPY_N:INTERNAL=1 +//Result of TRY_COMPILE +CGAL_CFG_NO_CPP0X_COPY_N_COMPILED:INTERNAL=FALSE CGAL_CFG_NO_CPP0X_DECLTYPE:INTERNAL=1 //Result of TRY_COMPILE CGAL_CFG_NO_CPP0X_DECLTYPE_COMPILED:INTERNAL=FALSE @@ -1289,9 +1335,15 @@ CGAL_CFG_NO_CPP0X_LAMBDAS_COMPILED:INTERNAL=FALSE CGAL_CFG_NO_CPP0X_LONG_LONG:INTERNAL=0 //Result of TRY_COMPILE CGAL_CFG_NO_CPP0X_LONG_LONG_COMPILED:INTERNAL=TRUE +CGAL_CFG_NO_CPP0X_NEXT_PREV:INTERNAL=1 +//Result of TRY_COMPILE +CGAL_CFG_NO_CPP0X_NEXT_PREV_COMPILED:INTERNAL=FALSE CGAL_CFG_NO_CPP0X_RVALUE_REFERENCE:INTERNAL=1 //Result of TRY_COMPILE CGAL_CFG_NO_CPP0X_RVALUE_REFERENCE_COMPILED:INTERNAL=FALSE +CGAL_CFG_NO_CPP0X_STATIC_ASSERT:INTERNAL=1 +//Result of TRY_COMPILE +CGAL_CFG_NO_CPP0X_STATIC_ASSERT_COMPILED:INTERNAL=FALSE CGAL_CFG_NO_CPP0X_TUPLE:INTERNAL=1 //Result of TRY_COMPILE CGAL_CFG_NO_CPP0X_TUPLE_COMPILED:INTERNAL=FALSE @@ -1334,12 +1386,20 @@ CGAL_CFG_NUMERIC_LIMITS_BUG_COMPILED:INTERNAL=TRUE CGAL_CFG_OUTOFLINE_MEMBER_DEFINITION_BUG:INTERNAL=0 //Result of TRY_COMPILE CGAL_CFG_OUTOFLINE_MEMBER_DEFINITION_BUG_COMPILED:INTERNAL=TRUE +CGAL_CFG_TEMPLATE_IN_DEFAULT_PARAMETER_BUG:INTERNAL=0 +//Result of TRY_COMPILE +CGAL_CFG_TEMPLATE_IN_DEFAULT_PARAMETER_BUG_COMPILED:INTERNAL=TRUE CGAL_CFG_TYPENAME_BEFORE_DEFAULT_ARGUMENT_BUG:INTERNAL=0 //Result of TRY_COMPILE CGAL_CFG_TYPENAME_BEFORE_DEFAULT_ARGUMENT_BUG_COMPILED:INTERNAL=TRUE CGAL_CFG_USING_BASE_MEMBER_BUG_2:INTERNAL=0 //Result of TRY_COMPILE CGAL_CFG_USING_BASE_MEMBER_BUG_2_COMPILED:INTERNAL=TRUE +//Variable hidden from user +CGAL_CGAL_LIBRARY:INTERNAL=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL.so +//Variable hidden from user +CGAL_CGAL_LIBRARY_NAME:INTERNAL=libCGAL.so +CGAL_CONFIGURED_LIBRARIES:INTERNAL=CGAL;Core;ImageIO;Qt3;Qt4 CGAL_Core_3RD_PARTY_DEFINITIONS:INTERNAL= CGAL_Core_3RD_PARTY_INCLUDE_DIRS:INTERNAL= CGAL_Core_3RD_PARTY_LIBRARIES:INTERNAL= @@ -1358,8 +1418,8 @@ CGAL_ImageIO_LIBRARY-ADVANCED:INTERNAL=1 //Variable hidden from user CGAL_ImageIO_LIBRARY_NAME:INTERNAL=libCGAL_ImageIO.so CGAL_ImageIO_USE_ZLIB:INTERNAL=ON -//Variable hidden from user -CGAL_LIBRARY:INTERNAL=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi/lib/libCGAL.so +//ADVANCED property for variable: CGAL_LIBRARY +CGAL_LIBRARY-ADVANCED:INTERNAL=1 //Variable hidden from user CGAL_LIBRARY_NAME:INTERNAL=libCGAL.so CGAL_PDB_3RD_PARTY_DEFINITIONS:INTERNAL= @@ -1399,13 +1459,13 @@ CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 //What is the target build tool cmake is generating for. CMAKE_BUILD_TOOL:INTERNAL=/usr/bin/gmake //This is the directory where this CMakeCache.txt was created -CMAKE_CACHEFILE_DIR:INTERNAL=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi +CMAKE_CACHEFILE_DIR:INTERNAL=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-ansi //Major version of cmake used to create the current loaded cache CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 //Minor version of cmake used to create the current loaded cache CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 //Patch version of cmake used to create the current loaded cache -CMAKE_CACHE_PATCH_VERSION:INTERNAL=4 +CMAKE_CACHE_PATCH_VERSION:INTERNAL=7 //Major version of cmake used to create the current loaded cache CMAKE_CACHE_RELEASE_VERSION:INTERNAL=patch 4 //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE @@ -1460,6 +1520,8 @@ CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 //Name of generator. CMAKE_GENERATOR:INTERNAL=Unix Makefiles //Have function connect @@ -1478,7 +1540,7 @@ CMAKE_HAVE_REMOVE:INTERNAL=1 CMAKE_HAVE_SHMAT:INTERNAL=1 //Start directory with the top level CMakeLists.txt file for this // project -CMAKE_HOME_DIRECTORY:INTERNAL=/home/lrineau/CGAL/CGAL-3.8.1-I +CMAKE_HOME_DIRECTORY:INTERNAL=/home/lrineau/CGAL/CGAL-I //Install .so files without execute permission. CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0 //Have library ICE @@ -1525,13 +1587,14 @@ CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 CMAKE_STRIP-ADVANCED:INTERNAL=1 //Suppress Warnings that are meant for the author of the CMakeLists.txt // files. -CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=TRUE +CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=FALSE //uname command CMAKE_UNAME:INTERNAL=/bin/uname //ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +CONFIG_CXX_FLAGS:INTERNAL= -frounding-math -std=c++98 -ansi -Wall -pedantic -Wno-long-long -pedantic-errors -fdiagnostics-show-option //Variable hidden from user EXECUTABLE_OUTPUT_PATH:INTERNAL= //Details about finding OpenGL @@ -1539,9 +1602,9 @@ FIND_PACKAGE_MESSAGE_DETAILS_OpenGL:INTERNAL=[/usr/lib64/libGL.so][v()] //Details about finding Threads FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()] //Details about finding X11 -FIND_PACKAGE_MESSAGE_DETAILS_X11:INTERNAL=[/usr/lib64/libX11.so][/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include] +FIND_PACKAGE_MESSAGE_DETAILS_X11:INTERNAL=[/usr/lib64/libX11.so][/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include] //Details about finding ZLIB -FIND_PACKAGE_MESSAGE_DETAILS_ZLIB:INTERNAL=[/usr/include][/usr/lib64/libz.so][v1.2.5()] +FIND_PACKAGE_MESSAGE_DETAILS_ZLIB:INTERNAL=[/usr/lib64/libz.so][/usr/include][v1.2.5()] //Result of TRY_COMPILE GCC_COMPILE_RES:INTERNAL=TRUE //Result of TRY_RUN @@ -2056,31 +2119,39 @@ Q_WS_WIN:INTERNAL= //Have symbol Q_WS_X11 Q_WS_X11:INTERNAL=1 //hide this -Qt_help_window_h:INTERNAL=/home/lrineau/CGAL/CGAL-3.8.1-I/include/CGAL/IO/Qt_help_window.h +Qt_help_window_h:INTERNAL=/home/lrineau/CGAL/CGAL-I/include/CGAL/IO/Qt_help_window.h //hide this -Qt_widget_OpenGL_h:INTERNAL=/home/lrineau/CGAL/CGAL-3.8.1-I/include/CGAL/IO/Qt_widget_OpenGL.h +Qt_widget_OpenGL_h:INTERNAL=/home/lrineau/CGAL/CGAL-I/include/CGAL/IO/Qt_widget_OpenGL.h //hide this -Qt_widget_h:INTERNAL=/home/lrineau/CGAL/CGAL-3.8.1-I/include/CGAL/IO/Qt_widget.h +Qt_widget_h:INTERNAL=/home/lrineau/CGAL/CGAL-I/include/CGAL/IO/Qt_widget.h //hide this -Qt_widget_history_h:INTERNAL=/home/lrineau/CGAL/CGAL-3.8.1-I/include/CGAL/IO/Qt_widget_history.h +Qt_widget_history_h:INTERNAL=/home/lrineau/CGAL/CGAL-I/include/CGAL/IO/Qt_widget_history.h //hide this -Qt_widget_layer_h:INTERNAL=/home/lrineau/CGAL/CGAL-3.8.1-I/include/CGAL/IO/Qt_widget_layer.h +Qt_widget_layer_h:INTERNAL=/home/lrineau/CGAL/CGAL-I/include/CGAL/IO/Qt_widget_layer.h //hide this -Qt_widget_standard_toolbar_h:INTERNAL=/home/lrineau/CGAL/CGAL-3.8.1-I/include/CGAL/IO/Qt_widget_standard_toolbar.h +Qt_widget_standard_toolbar_h:INTERNAL=/home/lrineau/CGAL/CGAL-I/include/CGAL/IO/Qt_widget_standard_toolbar.h //ADVANCED property for variable: X11_ICE_INCLUDE_PATH X11_ICE_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_ICE_LIB X11_ICE_LIB-ADVANCED:INTERNAL=1 //Have library /usr/lib64/libX11.so;/usr/lib64/libXext.so X11_LIB_X11_SOLO:INTERNAL=1 +//ADVANCED property for variable: X11_SM_INCLUDE_PATH +X11_SM_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_SM_LIB X11_SM_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_X11_INCLUDE_PATH X11_X11_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_X11_LIB X11_X11_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XRes_INCLUDE_PATH +X11_XRes_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XRes_LIB +X11_XRes_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XShm_INCLUDE_PATH X11_XShm_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XSync_INCLUDE_PATH +X11_XSync_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XTest_INCLUDE_PATH X11_XTest_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XTest_LIB @@ -2133,6 +2204,10 @@ X11_Xinput_INCLUDE_PATH-ADVANCED:INTERNAL=1 X11_Xinput_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_Xkb_INCLUDE_PATH X11_Xkb_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xkbfile_INCLUDE_PATH +X11_Xkbfile_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xkbfile_LIB +X11_Xkbfile_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_Xkblib_INCLUDE_PATH X11_Xkblib_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_Xlib_INCLUDE_PATH diff --git a/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/CMakeCache.txt b/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/CMakeCache.txt index 241a9f51c29..3dc9295413d 100644 --- a/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/CMakeCache.txt +++ b/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/CMakeCache.txt @@ -1,5 +1,5 @@ # This is the CMakeCache file. -# For build in directory: /home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32 +# For build in directory: /home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32 # It was generated by CMake: /usr/bin/cmake # You can edit this file to change values found and used by cmake. # If you do not want to change any of the values, simply exit the editor. @@ -14,6 +14,12 @@ # EXTERNAL cache entries ######################## +//Build shared libraries +BUILD_SHARED_LIBS:BOOL=ON + +//The directory containing a CMake configuration file for Boost. +Boost_DIR:PATH=Boost_DIR-NOTFOUND + //Path to a file. Boost_INCLUDE_DIR:PATH=/usr/include @@ -23,14 +29,17 @@ Boost_LIBRARY_DIRS:FILEPATH=/usr/lib //The Boost THREAD library Boost_THREAD_LIBRARY:FILEPATH=/usr/lib/libboost_thread-mt.so -//Path to a library. -Boost_THREAD_LIBRARY_DEBUG:FILEPATH=Boost_THREAD_LIBRARY_DEBUG-NOTFOUND +//Boost thread library (debug) +Boost_THREAD_LIBRARY_DEBUG:FILEPATH=/usr/lib/libboost_thread-mt.so -//Path to a library. +//Boost thread library (release) Boost_THREAD_LIBRARY_RELEASE:FILEPATH=/usr/lib/libboost_thread-mt.so //Value Computed by CMake -CGAL_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32 +CGAL_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32 + +//Link with static Boost libraries +CGAL_Boost_USE_STATIC_LIBS:BOOL=OFF //Directory containing the Maintenance package CGAL_CORE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I @@ -39,13 +48,13 @@ CGAL_CORE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I CGAL_CXX_FLAGS:STRING=-m32 -frounding-math //Value Computed by CMake -CGAL_Core_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/src/Core +CGAL_Core_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/src/Core //The CGAL_Core library -CGAL_Core_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL_Core.so +CGAL_Core_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL_Core.so //Dependencies for the target -CGAL_Core_LIB_DEPENDS:STATIC=general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL.so;general;/usr/lib/libgmpxx.so;general;/usr/lib/libmpfr.so;general;/usr/lib/libgmp.so;general;/usr/lib/libboost_thread-mt.so;general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL.so;general;/usr/lib/libgmpxx.so;general;/usr/lib/libmpfr.so;general;/usr/lib/libgmp.so;general;/usr/lib/libboost_thread-mt.so;general;/usr/lib/libgmpxx.so;general;/usr/lib/libmpfr.so;general;/usr/lib/libgmp.so;general;/usr/lib/libboost_thread-mt.so; +CGAL_Core_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL.so;general;/usr/lib/libgmpxx.so;general;/usr/lib/libmpfr.so;general;/usr/lib/libgmp.so;general;/usr/lib/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL.so;general;/usr/lib/libgmpxx.so;general;/usr/lib/libmpfr.so;general;/usr/lib/libgmp.so;general;/usr/lib/libboost_thread-mt.so; //Value Computed by CMake CGAL_Core_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALCore @@ -85,17 +94,20 @@ CGAL_INSTALL_LIB_DIR:STRING=lib CGAL_INSTALL_MAN_DIR:STRING=share/man/man1 //Value Computed by CMake -CGAL_ImageIO_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/src/ImageIO +CGAL_ImageIO_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/src/ImageIO //The CGAL_ImageIO library -CGAL_ImageIO_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL_ImageIO.so +CGAL_ImageIO_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL_ImageIO.so //Dependencies for the target -CGAL_ImageIO_LIB_DEPENDS:STATIC=general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL.so;general;/usr/lib/libgmpxx.so;general;/usr/lib/libmpfr.so;general;/usr/lib/libgmp.so;general;/usr/lib/libboost_thread-mt.so;general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL.so;general;/usr/lib/libgmpxx.so;general;/usr/lib/libmpfr.so;general;/usr/lib/libgmp.so;general;/usr/lib/libboost_thread-mt.so;general;/usr/lib/libGLU.so;general;/usr/lib/libGL.so;general;/usr/lib/libz.so;general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL.so; +CGAL_ImageIO_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL.so;general;/usr/lib/libgmpxx.so;general;/usr/lib/libmpfr.so;general;/usr/lib/libgmp.so;general;/usr/lib/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL.so;general;/usr/lib/libgmpxx.so;general;/usr/lib/libmpfr.so;general;/usr/lib/libgmp.so;general;/usr/lib/libboost_thread-mt.so;general;/usr/lib/libGLU.so;general;/usr/lib/libGL.so;general;/usr/lib/libz.so; //Value Computed by CMake CGAL_ImageIO_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALImageIO +//The CGAL library +CGAL_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL.so + //Dependencies for the target CGAL_LIB_DEPENDS:STATIC=general;/usr/lib/libgmpxx.so;general;/usr/lib/libmpfr.so;general;/usr/lib/libgmp.so;general;/usr/lib/libboost_thread-mt.so; @@ -103,25 +115,25 @@ CGAL_LIB_DEPENDS:STATIC=general;/usr/lib/libgmpxx.so;general;/usr/lib/libmpfr.so CGAL_MAINTENANCE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I //Value Computed by CMake -CGAL_Qt3_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/src/Qt3 +CGAL_Qt3_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/src/Qt3 //The CGAL_Qt3 library -CGAL_Qt3_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL_Qt3.so +CGAL_Qt3_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL_Qt3.so //Dependencies for the target -CGAL_Qt3_LIB_DEPENDS:STATIC=general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL.so;general;/usr/lib/libgmpxx.so;general;/usr/lib/libmpfr.so;general;/usr/lib/libgmp.so;general;/usr/lib/libboost_thread-mt.so;general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL.so;general;/usr/lib/libgmpxx.so;general;/usr/lib/libmpfr.so;general;/usr/lib/libgmp.so;general;/usr/lib/libboost_thread-mt.so;general;/usr/lib/qt-3.3/lib/libqassistantclient.a;general;/usr/lib/qt-3.3/lib/libqt-mt.so;general;dl;general;-lpthread;general;/usr/lib/libGLU.so;general;/usr/lib/libGL.so; +CGAL_Qt3_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL.so;general;/usr/lib/libgmpxx.so;general;/usr/lib/libmpfr.so;general;/usr/lib/libgmp.so;general;/usr/lib/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL.so;general;/usr/lib/libgmpxx.so;general;/usr/lib/libmpfr.so;general;/usr/lib/libgmp.so;general;/usr/lib/libboost_thread-mt.so;general;/usr/lib/qt-3.3/lib/libqassistantclient.a;general;/usr/lib/qt-3.3/lib/libqt-mt.so;general;dl;general;-lpthread;general;/usr/lib/libGLU.so;general;/usr/lib/libGL.so; //Value Computed by CMake CGAL_Qt3_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALQt3 //Value Computed by CMake -CGAL_Qt4_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/src/Qt4 +CGAL_Qt4_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/src/Qt4 //The CGAL_Qt4 library -CGAL_Qt4_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL_Qt4.so +CGAL_Qt4_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL_Qt4.so //Dependencies for the target -CGAL_Qt4_LIB_DEPENDS:STATIC=general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL.so;general;/usr/lib/libgmpxx.so;general;/usr/lib/libmpfr.so;general;/usr/lib/libgmp.so;general;/usr/lib/libboost_thread-mt.so;general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL.so;general;/usr/lib/libgmpxx.so;general;/usr/lib/libmpfr.so;general;/usr/lib/libgmp.so;general;/usr/lib/libboost_thread-mt.so;optimized;/usr/lib64/libQtOpenGL.so;debug;/usr/lib64/libQtOpenGL_debug.so;optimized;/usr/lib64/libQtGui.so;debug;/usr/lib64/libQtGui_debug.so;optimized;/usr/lib64/libQtCore.so;debug;/usr/lib64/libQtCore_debug.so;general;/usr/lib/libGLU.so;general;/usr/lib/libGL.so; +CGAL_Qt4_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL.so;general;/usr/lib/libgmpxx.so;general;/usr/lib/libmpfr.so;general;/usr/lib/libgmp.so;general;/usr/lib/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL.so;general;/usr/lib/libgmpxx.so;general;/usr/lib/libmpfr.so;general;/usr/lib/libgmp.so;general;/usr/lib/libboost_thread-mt.so;optimized;/usr/lib64/libQtOpenGL.so;debug;/usr/lib64/libQtOpenGL_debug.so;optimized;/usr/lib64/libQtGui.so;debug;/usr/lib64/libQtGui_debug.so;optimized;/usr/lib64/libQtCore.so;debug;/usr/lib64/libQtCore_debug.so;general;/usr/lib/libGLU.so;general;/usr/lib/libGL.so; //Value Computed by CMake CGAL_Qt4_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALQt4 @@ -962,6 +974,9 @@ X11_ICE_INCLUDE_PATH:PATH=/usr/include //Path to a library. X11_ICE_LIB:FILEPATH=X11_ICE_LIB-NOTFOUND +//Path to a file. +X11_SM_INCLUDE_PATH:PATH=/usr/include + //Path to a library. X11_SM_LIB:FILEPATH=X11_SM_LIB-NOTFOUND @@ -971,9 +986,18 @@ X11_X11_INCLUDE_PATH:PATH=/usr/include //Path to a library. X11_X11_LIB:FILEPATH=X11_X11_LIB-NOTFOUND +//Path to a file. +X11_XRes_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_XRes_LIB:FILEPATH=X11_XRes_LIB-NOTFOUND + //Path to a file. X11_XShm_INCLUDE_PATH:PATH=/usr/include +//Path to a file. +X11_XSync_INCLUDE_PATH:PATH=/usr/include + //Path to a file. X11_XTest_INCLUDE_PATH:PATH=/usr/include @@ -1052,6 +1076,12 @@ X11_Xinput_LIB:FILEPATH=X11_Xinput_LIB-NOTFOUND //Path to a file. X11_Xkb_INCLUDE_PATH:PATH=/usr/include +//Path to a file. +X11_Xkbfile_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_Xkbfile_LIB:FILEPATH=X11_Xkbfile_LIB-NOTFOUND + //Path to a file. X11_Xkblib_INCLUDE_PATH:PATH=/usr/include @@ -1130,7 +1160,7 @@ Boost_INCLUDE_DIR-ADVANCED:INTERNAL=1 //ADVANCED property for variable: Boost_LIBRARY_DIRS Boost_LIBRARY_DIRS-ADVANCED:INTERNAL=1 //The library version string for boost libraries -Boost_LIB_VERSION:INTERNAL=1_41 +Boost_LIB_VERSION:INTERNAL=1_47 //Whether the Boost THREAD library found Boost_THREAD_FOUND:INTERNAL=ON //ADVANCED property for variable: Boost_THREAD_LIBRARY @@ -1140,11 +1170,13 @@ Boost_THREAD_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: Boost_THREAD_LIBRARY_RELEASE Boost_THREAD_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 //The version number for boost libraries -Boost_VERSION:INTERNAL=104100 +Boost_VERSION:INTERNAL=104700 CGAL_3RD_PARTY_DEFINITIONS:INTERNAL= CGAL_3RD_PARTY_INCLUDE_DIRS:INTERNAL=/usr/include;/usr/include;/usr/include;/usr/include CGAL_3RD_PARTY_LIBRARIES:INTERNAL=/usr/lib/libgmpxx.so;/usr/lib/libmpfr.so;/usr/lib/libgmp.so;/usr/lib/libboost_thread-mt.so -CGAL_3RD_PARTY_LIBRARIES_DIRS:INTERNAL=/usr/lib;/usr/lib;/usr/lib;/usr/lib +CGAL_3RD_PARTY_LIBRARIES_DIRS:INTERNAL=/usr/lib;/usr/lib;/usr/lib +//ADVANCED property for variable: CGAL_Boost_USE_STATIC_LIBS +CGAL_Boost_USE_STATIC_LIBS-ADVANCED:INTERNAL=1 CGAL_CFG_ARRAY_MEMBER_INITIALIZATION_BUG:INTERNAL=0 //Result of TRY_COMPILE CGAL_CFG_ARRAY_MEMBER_INITIALIZATION_BUG_COMPILED:INTERNAL=TRUE @@ -1267,7 +1299,7 @@ CGAL_CFG_USING_BASE_MEMBER_BUG_2:INTERNAL=0 //Result of TRY_COMPILE CGAL_CFG_USING_BASE_MEMBER_BUG_2_COMPILED:INTERNAL=TRUE //Variable hidden from user -CGAL_CGAL_LIBRARY:INTERNAL=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL.so +CGAL_CGAL_LIBRARY:INTERNAL=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL.so //Variable hidden from user CGAL_CGAL_LIBRARY_NAME:INTERNAL=libCGAL.so CGAL_CONFIGURED_LIBRARIES:INTERNAL=CGAL;Core;ImageIO;Qt3;Qt4 @@ -1289,8 +1321,8 @@ CGAL_ImageIO_LIBRARY-ADVANCED:INTERNAL=1 //Variable hidden from user CGAL_ImageIO_LIBRARY_NAME:INTERNAL=libCGAL_ImageIO.so CGAL_ImageIO_USE_ZLIB:INTERNAL=ON -//Variable hidden from user -CGAL_LIBRARY:INTERNAL=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32/lib/libCGAL.so +//ADVANCED property for variable: CGAL_LIBRARY +CGAL_LIBRARY-ADVANCED:INTERNAL=1 //Variable hidden from user CGAL_LIBRARY_NAME:INTERNAL=libCGAL.so CGAL_Qt3_3RD_PARTY_DEFINITIONS:INTERNAL=-DQT_SHARED;-DQT_NO_DEBUG;-DQT_THREAD_SUPPORT;-D_REENTRANT @@ -1322,13 +1354,13 @@ CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 //What is the target build tool cmake is generating for. CMAKE_BUILD_TOOL:INTERNAL=/usr/bin/gmake //This is the directory where this CMakeCache.txt was created -CMAKE_CACHEFILE_DIR:INTERNAL=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32 +CMAKE_CACHEFILE_DIR:INTERNAL=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16-m32 //Major version of cmake used to create the current loaded cache CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 //Minor version of cmake used to create the current loaded cache CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 //Patch version of cmake used to create the current loaded cache -CMAKE_CACHE_PATCH_VERSION:INTERNAL=5 +CMAKE_CACHE_PATCH_VERSION:INTERNAL=7 //Major version of cmake used to create the current loaded cache CMAKE_CACHE_RELEASE_VERSION:INTERNAL=patch 4 //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE @@ -1370,7 +1402,7 @@ CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE //Result of TRY_COMPILE CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE //Path to cache edit program executable. -CMAKE_EDIT_COMMAND:INTERNAL=/usr/bin/ccmake +CMAKE_EDIT_COMMAND:INTERNAL=/usr/bin/cmake-gui //Executable file format CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS @@ -1450,7 +1482,7 @@ CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 CMAKE_STRIP-ADVANCED:INTERNAL=1 //Suppress Warnings that are meant for the author of the CMakeLists.txt // files. -CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=TRUE +CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=FALSE //uname command CMAKE_UNAME:INTERNAL=/bin/uname //ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS @@ -1951,14 +1983,22 @@ X11_LIB_DNET_HAS_DNET_NTOA:INTERNAL= X11_LIB_DNET_STUB_HAS_DNET_NTOA:INTERNAL= //Have library /usr/lib64/libX11.so;/usr/lib64/libXext.so X11_LIB_X11_SOLO:INTERNAL= +//ADVANCED property for variable: X11_SM_INCLUDE_PATH +X11_SM_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_SM_LIB X11_SM_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_X11_INCLUDE_PATH X11_X11_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_X11_LIB X11_X11_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XRes_INCLUDE_PATH +X11_XRes_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XRes_LIB +X11_XRes_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XShm_INCLUDE_PATH X11_XShm_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XSync_INCLUDE_PATH +X11_XSync_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XTest_INCLUDE_PATH X11_XTest_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XTest_LIB @@ -2011,6 +2051,10 @@ X11_Xinput_INCLUDE_PATH-ADVANCED:INTERNAL=1 X11_Xinput_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_Xkb_INCLUDE_PATH X11_Xkb_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xkbfile_INCLUDE_PATH +X11_Xkbfile_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xkbfile_LIB +X11_Xkbfile_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_Xkblib_INCLUDE_PATH X11_Xkblib_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_Xlib_INCLUDE_PATH diff --git a/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/CMakeCache.txt b/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/CMakeCache.txt index 6af71c2bec2..49d4f161c06 100644 --- a/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/CMakeCache.txt +++ b/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/CMakeCache.txt @@ -1,5 +1,5 @@ # This is the CMakeCache file. -# For build in directory: /home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16 +# For build in directory: /home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16 # It was generated by CMake: /usr/bin/cmake # You can edit this file to change values found and used by cmake. # If you do not want to change any of the values, simply exit the editor. @@ -14,6 +14,12 @@ # EXTERNAL cache entries ######################## +//Build shared libraries +BUILD_SHARED_LIBS:BOOL=ON + +//The directory containing a CMake configuration file for Boost. +Boost_DIR:PATH=Boost_DIR-NOTFOUND + //Path to a file. Boost_INCLUDE_DIR:PATH=/home/lrineau/CGAL/boost/1.44-beta1/include @@ -21,16 +27,19 @@ Boost_INCLUDE_DIR:PATH=/home/lrineau/CGAL/boost/1.44-beta1/include Boost_LIBRARY_DIRS:FILEPATH=/home/lrineau/CGAL/boost/1.44-beta1/lib //The Boost THREAD library -Boost_THREAD_LIBRARY:FILEPATH=/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so +Boost_THREAD_LIBRARY:FILEPATH=/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so //Path to a library. Boost_THREAD_LIBRARY_DEBUG:FILEPATH=Boost_THREAD_LIBRARY_DEBUG-NOTFOUND //Path to a library. -Boost_THREAD_LIBRARY_RELEASE:FILEPATH=/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so +Boost_THREAD_LIBRARY_RELEASE:FILEPATH=/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so //Value Computed by CMake -CGAL_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16 +CGAL_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16 + +//Link with static Boost libraries +CGAL_Boost_USE_STATIC_LIBS:BOOL=OFF //Directory containing the Maintenance package CGAL_CORE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I @@ -39,13 +48,13 @@ CGAL_CORE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I CGAL_CXX_FLAGS:STRING= -frounding-math //Value Computed by CMake -CGAL_Core_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/src/Core +CGAL_Core_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/src/Core //The CGAL_Core library -CGAL_Core_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL_Core.so +CGAL_Core_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL_Core.so //Dependencies for the target -CGAL_Core_LIB_DEPENDS:STATIC=general;/home/lrineau/CGAL/CGAL-3.5-I-140/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so;general;/home/lrineau/CGAL/CGAL-3.5-I-140/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so; +CGAL_Core_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so; //Value Computed by CMake CGAL_Core_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALCore @@ -85,43 +94,46 @@ CGAL_INSTALL_LIB_DIR:STRING=lib CGAL_INSTALL_MAN_DIR:STRING=share/man/man1 //Value Computed by CMake -CGAL_ImageIO_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/src/ImageIO +CGAL_ImageIO_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/src/ImageIO //The CGAL_ImageIO library -CGAL_ImageIO_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL_ImageIO.so +CGAL_ImageIO_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL_ImageIO.so //Dependencies for the target -CGAL_ImageIO_LIB_DEPENDS:STATIC=general;/home/lrineau/CGAL/CGAL-3.5-I-140/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so;general;/home/lrineau/CGAL/CGAL-3.5-I-140/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;/usr/lib64/libz.so;general;/home/lrineau/CGAL/CGAL-3.5-I-140/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL.so; +CGAL_ImageIO_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;/usr/lib64/libz.so; //Value Computed by CMake CGAL_ImageIO_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALImageIO +//The CGAL library +CGAL_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL.so + //Dependencies for the target -CGAL_LIB_DEPENDS:STATIC=general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so; +CGAL_LIB_DEPENDS:STATIC=general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so; //Directory containing the Maintenance package CGAL_MAINTENANCE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I //Value Computed by CMake -CGAL_Qt3_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/src/Qt3 +CGAL_Qt3_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/src/Qt3 //The CGAL_Qt3 library -CGAL_Qt3_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL_Qt3.so +CGAL_Qt3_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL_Qt3.so //Dependencies for the target -CGAL_Qt3_LIB_DEPENDS:STATIC=general;/home/lrineau/CGAL/CGAL-3.5-I-140/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so;general;/home/lrineau/CGAL/CGAL-3.5-I-140/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so;general;/usr/lib64/qt-3.3/lib/libqassistantclient.a;general;/usr/lib64/qt-3.3/lib/libqt-mt.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;dl;general;-lpthread;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; +CGAL_Qt3_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so;general;/usr/lib64/qt-3.3/lib/libqassistantclient.a;general;/usr/lib64/qt-3.3/lib/libqt-mt.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;dl;general;-lpthread;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; //Value Computed by CMake CGAL_Qt3_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALQt3 //Value Computed by CMake -CGAL_Qt4_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/src/Qt4 +CGAL_Qt4_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/src/Qt4 //The CGAL_Qt4 library -CGAL_Qt4_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL_Qt4.so +CGAL_Qt4_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL_Qt4.so //Dependencies for the target -CGAL_Qt4_LIB_DEPENDS:STATIC=general;/home/lrineau/CGAL/CGAL-3.5-I-140/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so;general;/home/lrineau/CGAL/CGAL-3.5-I-140/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so;optimized;/usr/lib64/libQtOpenGL.so;debug;/usr/lib64/libQtOpenGL_debug.so;optimized;/usr/lib64/libQtGui.so;debug;/usr/lib64/libQtGui_debug.so;optimized;/usr/lib64/libQtCore.so;debug;/usr/lib64/libQtCore_debug.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; +CGAL_Qt4_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so;optimized;/usr/lib64/libQtOpenGL.so;debug;/usr/lib64/libQtOpenGL_debug.so;optimized;/usr/lib64/libQtGui.so;debug;/usr/lib64/libQtGui_debug.so;optimized;/usr/lib64/libQtCore.so;debug;/usr/lib64/libQtCore_debug.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; //Value Computed by CMake CGAL_Qt4_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALQt4 @@ -203,6 +215,9 @@ CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= //Flags used by the linker during Release with Debug Info builds. CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF + //Install path prefix, prepended onto install directories. CMAKE_INSTALL_PREFIX:PATH=/usr/local @@ -1037,6 +1052,9 @@ X11_ICE_INCLUDE_PATH:PATH=/usr/include //Path to a library. X11_ICE_LIB:FILEPATH=/usr/lib64/libICE.so +//Path to a file. +X11_SM_INCLUDE_PATH:PATH=/usr/include + //Path to a library. X11_SM_LIB:FILEPATH=/usr/lib64/libSM.so @@ -1046,9 +1064,18 @@ X11_X11_INCLUDE_PATH:PATH=/usr/include //Path to a library. X11_X11_LIB:FILEPATH=/usr/lib64/libX11.so +//Path to a file. +X11_XRes_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_XRes_LIB:FILEPATH=X11_XRes_LIB-NOTFOUND + //Path to a file. X11_XShm_INCLUDE_PATH:PATH=/usr/include +//Path to a file. +X11_XSync_INCLUDE_PATH:PATH=/usr/include + //Path to a file. X11_XTest_INCLUDE_PATH:PATH=/usr/include @@ -1127,6 +1154,12 @@ X11_Xinput_LIB:FILEPATH=/usr/lib64/libXi.so //Path to a file. X11_Xkb_INCLUDE_PATH:PATH=/usr/include +//Path to a file. +X11_Xkbfile_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_Xkbfile_LIB:FILEPATH=X11_Xkbfile_LIB-NOTFOUND + //Path to a file. X11_Xkblib_INCLUDE_PATH:PATH=/usr/include @@ -1218,8 +1251,10 @@ Boost_THREAD_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 Boost_VERSION:INTERNAL=104400 CGAL_3RD_PARTY_DEFINITIONS:INTERNAL= CGAL_3RD_PARTY_INCLUDE_DIRS:INTERNAL=/usr/include;/usr/include;/usr/include;/home/lrineau/CGAL/boost/1.44-beta1/include -CGAL_3RD_PARTY_LIBRARIES:INTERNAL=/usr/lib64/libgmpxx.so;/usr/lib64/libmpfr.so;/usr/lib64/libgmp.so;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread.so -CGAL_3RD_PARTY_LIBRARIES_DIRS:INTERNAL=/usr/lib64;/usr/lib64;/home/lrineau/CGAL/boost/1.44-beta1/lib;/home/lrineau/CGAL/boost/1.44-beta1/lib +CGAL_3RD_PARTY_LIBRARIES:INTERNAL=/usr/lib64/libgmpxx.so;/usr/lib64/libmpfr.so;/usr/lib64/libgmp.so;/home/lrineau/CGAL/boost/1.44-beta1/lib/libboost_thread-mt.so +CGAL_3RD_PARTY_LIBRARIES_DIRS:INTERNAL=/usr/lib64;/usr/lib64;/home/lrineau/CGAL/boost/1.44-beta1/lib +//ADVANCED property for variable: CGAL_Boost_USE_STATIC_LIBS +CGAL_Boost_USE_STATIC_LIBS-ADVANCED:INTERNAL=1 CGAL_CFG_ARRAY_MEMBER_INITIALIZATION_BUG:INTERNAL=0 //Result of TRY_COMPILE CGAL_CFG_ARRAY_MEMBER_INITIALIZATION_BUG_COMPILED:INTERNAL=TRUE @@ -1253,6 +1288,9 @@ CGAL_CFG_NO_CPP0X_ARRAY_COMPILED:INTERNAL=FALSE CGAL_CFG_NO_CPP0X_AUTO:INTERNAL=1 //Result of TRY_COMPILE CGAL_CFG_NO_CPP0X_AUTO_COMPILED:INTERNAL=FALSE +CGAL_CFG_NO_CPP0X_COPY_N:INTERNAL=1 +//Result of TRY_COMPILE +CGAL_CFG_NO_CPP0X_COPY_N_COMPILED:INTERNAL=FALSE CGAL_CFG_NO_CPP0X_DECLTYPE:INTERNAL=1 //Result of TRY_COMPILE CGAL_CFG_NO_CPP0X_DECLTYPE_COMPILED:INTERNAL=FALSE @@ -1277,6 +1315,9 @@ CGAL_CFG_NO_CPP0X_LAMBDAS_COMPILED:INTERNAL=FALSE CGAL_CFG_NO_CPP0X_LONG_LONG:INTERNAL=0 //Result of TRY_COMPILE CGAL_CFG_NO_CPP0X_LONG_LONG_COMPILED:INTERNAL=TRUE +CGAL_CFG_NO_CPP0X_NEXT_PREV:INTERNAL=1 +//Result of TRY_COMPILE +CGAL_CFG_NO_CPP0X_NEXT_PREV_COMPILED:INTERNAL=FALSE CGAL_CFG_NO_CPP0X_RVALUE_REFERENCE:INTERNAL=1 //Result of TRY_COMPILE CGAL_CFG_NO_CPP0X_RVALUE_REFERENCE_COMPILED:INTERNAL=FALSE @@ -1335,7 +1376,7 @@ CGAL_CFG_USING_BASE_MEMBER_BUG_2:INTERNAL=0 //Result of TRY_COMPILE CGAL_CFG_USING_BASE_MEMBER_BUG_2_COMPILED:INTERNAL=TRUE //Variable hidden from user -CGAL_CGAL_LIBRARY:INTERNAL=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL.so +CGAL_CGAL_LIBRARY:INTERNAL=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL.so //Variable hidden from user CGAL_CGAL_LIBRARY_NAME:INTERNAL=libCGAL.so CGAL_CONFIGURED_LIBRARIES:INTERNAL=CGAL;Core;ImageIO;Qt3;Qt4 @@ -1357,8 +1398,8 @@ CGAL_ImageIO_LIBRARY-ADVANCED:INTERNAL=1 //Variable hidden from user CGAL_ImageIO_LIBRARY_NAME:INTERNAL=libCGAL_ImageIO.so CGAL_ImageIO_USE_ZLIB:INTERNAL=ON -//Variable hidden from user -CGAL_LIBRARY:INTERNAL=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16/lib/libCGAL.so +//ADVANCED property for variable: CGAL_LIBRARY +CGAL_LIBRARY-ADVANCED:INTERNAL=1 //Variable hidden from user CGAL_LIBRARY_NAME:INTERNAL=libCGAL.so CGAL_Qt3_3RD_PARTY_DEFINITIONS:INTERNAL=-DQT_SHARED;-DQT_NO_DEBUG;-DQT_THREAD_SUPPORT;-D_REENTRANT @@ -1392,13 +1433,13 @@ CMAKE_BUILD_TOOL:INTERNAL=/usr/bin/gmake //MODIFIED property for variable: CMAKE_BUILD_TYPE CMAKE_BUILD_TYPE-MODIFIED:INTERNAL=1 //This is the directory where this CMakeCache.txt was created -CMAKE_CACHEFILE_DIR:INTERNAL=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16 +CMAKE_CACHEFILE_DIR:INTERNAL=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_F16 //Major version of cmake used to create the current loaded cache CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 //Minor version of cmake used to create the current loaded cache CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 //Patch version of cmake used to create the current loaded cache -CMAKE_CACHE_PATCH_VERSION:INTERNAL=4 +CMAKE_CACHE_PATCH_VERSION:INTERNAL=7 //Major version of cmake used to create the current loaded cache CMAKE_CACHE_RELEASE_VERSION:INTERNAL=patch 4 //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE @@ -1453,6 +1494,8 @@ CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 //Name of generator. CMAKE_GENERATOR:INTERNAL=Unix Makefiles //Have function connect @@ -1522,6 +1565,7 @@ CMAKE_UNAME:INTERNAL=/bin/uname CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +CONFIG_CXX_FLAGS:INTERNAL= -frounding-math //Variable hidden from user EXECUTABLE_OUTPUT_PATH:INTERNAL= //Details about finding OpenGL @@ -1529,9 +1573,9 @@ FIND_PACKAGE_MESSAGE_DETAILS_OpenGL:INTERNAL=[/usr/lib64/libGL.so][v()] //Details about finding Threads FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()] //Details about finding X11 -FIND_PACKAGE_MESSAGE_DETAILS_X11:INTERNAL=[/usr/lib64/libX11.so][/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include] +FIND_PACKAGE_MESSAGE_DETAILS_X11:INTERNAL=[/usr/lib64/libX11.so][/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include] //Details about finding ZLIB -FIND_PACKAGE_MESSAGE_DETAILS_ZLIB:INTERNAL=[/usr/include][/usr/lib64/libz.so][v1.2.5()] +FIND_PACKAGE_MESSAGE_DETAILS_ZLIB:INTERNAL=[/usr/lib64/libz.so][/usr/include][v1.2.5()] //Result of TRY_COMPILE GCC_COMPILE_RES:INTERNAL=TRUE //Result of TRY_RUN @@ -2057,14 +2101,22 @@ X11_ICE_INCLUDE_PATH-ADVANCED:INTERNAL=1 X11_ICE_LIB-ADVANCED:INTERNAL=1 //Have library /usr/lib64/libX11.so;/usr/lib64/libXext.so X11_LIB_X11_SOLO:INTERNAL=1 +//ADVANCED property for variable: X11_SM_INCLUDE_PATH +X11_SM_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_SM_LIB X11_SM_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_X11_INCLUDE_PATH X11_X11_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_X11_LIB X11_X11_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XRes_INCLUDE_PATH +X11_XRes_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XRes_LIB +X11_XRes_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XShm_INCLUDE_PATH X11_XShm_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XSync_INCLUDE_PATH +X11_XSync_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XTest_INCLUDE_PATH X11_XTest_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XTest_LIB @@ -2117,6 +2169,10 @@ X11_Xinput_INCLUDE_PATH-ADVANCED:INTERNAL=1 X11_Xinput_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_Xkb_INCLUDE_PATH X11_Xkb_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xkbfile_INCLUDE_PATH +X11_Xkbfile_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xkbfile_LIB +X11_Xkbfile_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_Xkblib_INCLUDE_PATH X11_Xkblib_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_Xlib_INCLUDE_PATH diff --git a/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/CMakeCache.txt b/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/CMakeCache.txt index cae934b7b15..5cddaea0f2c 100644 --- a/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/CMakeCache.txt +++ b/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/CMakeCache.txt @@ -1,5 +1,5 @@ # This is the CMakeCache file. -# For build in directory: /home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16 +# For build in directory: /home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16 # It was generated by CMake: /usr/bin/cmake # You can edit this file to change values found and used by cmake. # If you do not want to change any of the values, simply exit the editor. @@ -14,6 +14,12 @@ # EXTERNAL cache entries ######################## +//Build shared libraries +BUILD_SHARED_LIBS:BOOL=ON + +//The directory containing a CMake configuration file for Boost. +Boost_DIR:PATH=Boost_DIR-NOTFOUND + //Path to a file. Boost_INCLUDE_DIR:PATH=/home/lrineau/CGAL/boost/1.42/include @@ -21,16 +27,19 @@ Boost_INCLUDE_DIR:PATH=/home/lrineau/CGAL/boost/1.42/include Boost_LIBRARY_DIRS:FILEPATH=/home/lrineau/CGAL/boost/1.42/lib //The Boost THREAD library -Boost_THREAD_LIBRARY:FILEPATH=/home/lrineau/CGAL/boost/1.42/lib/libboost_thread.so +Boost_THREAD_LIBRARY:FILEPATH=/home/lrineau/CGAL/boost/1.42/lib/libboost_thread-mt.so -//Path to a library. -Boost_THREAD_LIBRARY_DEBUG:FILEPATH=Boost_THREAD_LIBRARY_DEBUG-NOTFOUND +//Boost thread library (debug) +Boost_THREAD_LIBRARY_DEBUG:FILEPATH=/home/lrineau/CGAL/boost/1.42/lib/libboost_thread-mt.so -//Path to a library. -Boost_THREAD_LIBRARY_RELEASE:FILEPATH=/home/lrineau/CGAL/boost/1.42/lib/libboost_thread.so +//Boost thread library (release) +Boost_THREAD_LIBRARY_RELEASE:FILEPATH=/home/lrineau/CGAL/boost/1.42/lib/libboost_thread-mt.so //Value Computed by CMake -CGAL_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16 +CGAL_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16 + +//Link with static Boost libraries +CGAL_Boost_USE_STATIC_LIBS:BOOL=OFF //Directory containing the Maintenance package CGAL_CORE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I @@ -39,13 +48,13 @@ CGAL_CORE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I CGAL_CXX_FLAGS:STRING=-I/home/lrineau/CGAL/boost/1.42/include -frounding-math //Value Computed by CMake -CGAL_Core_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/src/Core +CGAL_Core_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/src/Core //The CGAL_Core library -CGAL_Core_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL_Core.so +CGAL_Core_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL_Core.so //Dependencies for the target -CGAL_Core_LIB_DEPENDS:STATIC=general;/home/lrineau/CGAL/CGAL-I-REF/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.42/lib/libboost_thread.so;general;/home/lrineau/CGAL/CGAL-I-REF/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.42/lib/libboost_thread.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.42/lib/libboost_thread.so; +CGAL_Core_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.42/lib/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.42/lib/libboost_thread-mt.so; //Value Computed by CMake CGAL_Core_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALCore @@ -85,19 +94,22 @@ CGAL_INSTALL_LIB_DIR:STRING=lib CGAL_INSTALL_MAN_DIR:STRING=share/man/man1 //Value Computed by CMake -CGAL_ImageIO_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/src/ImageIO +CGAL_ImageIO_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/src/ImageIO //The CGAL_ImageIO library -CGAL_ImageIO_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL_ImageIO.so +CGAL_ImageIO_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL_ImageIO.so //Dependencies for the target -CGAL_ImageIO_LIB_DEPENDS:STATIC=general;/home/lrineau/CGAL/CGAL-I-REF/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.42/lib/libboost_thread.so;general;/home/lrineau/CGAL/CGAL-I-REF/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.42/lib/libboost_thread.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;/usr/lib64/libz.so;general;/home/lrineau/CGAL/CGAL-I-REF/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL.so; +CGAL_ImageIO_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.42/lib/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.42/lib/libboost_thread-mt.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;/usr/lib64/libz.so; //Value Computed by CMake CGAL_ImageIO_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALImageIO +//The CGAL library +CGAL_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL.so + //Dependencies for the target -CGAL_LIB_DEPENDS:STATIC=general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.42/lib/libboost_thread.so; +CGAL_LIB_DEPENDS:STATIC=general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.42/lib/libboost_thread-mt.so; //Directory containing the Maintenance package CGAL_MAINTENANCE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I @@ -109,31 +121,31 @@ CGAL_PDB_BINARY_DIR:STATIC=/home/lrineau/CGAL/CGAL-I-REF/cmake/platforms/x86-64_ CGAL_PDB_LIBRARY:STRING=/home/lrineau/CGAL/CGAL-I-REF/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL_PDB.so //Dependencies for the target -CGAL_PDB_LIB_DEPENDS:STATIC=general;/home/lrineau/CGAL/CGAL-I-REF/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.42/lib/libboost_thread.so;general;/home/lrineau/CGAL/CGAL-I-REF/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.42/lib/libboost_thread.so; +CGAL_PDB_LIB_DEPENDS:STATIC=general;/home/lrineau/CGAL/CGAL-I-REF/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.42/lib/libboost_thread-mt.so;general;/home/lrineau/CGAL/CGAL-I-REF/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.42/lib/libboost_thread.so; //Value Computed by CMake CGAL_PDB_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALPDB //Value Computed by CMake -CGAL_Qt3_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/src/Qt3 +CGAL_Qt3_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/src/Qt3 //The CGAL_Qt3 library -CGAL_Qt3_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL_Qt3.so +CGAL_Qt3_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL_Qt3.so //Dependencies for the target -CGAL_Qt3_LIB_DEPENDS:STATIC=general;/home/lrineau/CGAL/CGAL-I-REF/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.42/lib/libboost_thread.so;general;/home/lrineau/CGAL/CGAL-I-REF/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.42/lib/libboost_thread.so;general;/usr/lib64/qt-3.3/lib/libqassistantclient.a;general;/usr/lib64/qt-3.3/lib/libqt-mt.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;dl;general;-lpthread;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; +CGAL_Qt3_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.42/lib/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.42/lib/libboost_thread-mt.so;general;/usr/lib64/qt-3.3/lib/libqassistantclient.a;general;/usr/lib64/qt-3.3/lib/libqt-mt.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;dl;general;-lpthread;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; //Value Computed by CMake CGAL_Qt3_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALQt3 //Value Computed by CMake -CGAL_Qt4_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/src/Qt4 +CGAL_Qt4_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/src/Qt4 //The CGAL_Qt4 library -CGAL_Qt4_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL_Qt4.so +CGAL_Qt4_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL_Qt4.so //Dependencies for the target -CGAL_Qt4_LIB_DEPENDS:STATIC=general;/home/lrineau/CGAL/CGAL-I-REF/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.42/lib/libboost_thread.so;general;/home/lrineau/CGAL/CGAL-I-REF/cmake/platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.42/lib/libboost_thread.so;optimized;/usr/lib64/libQtOpenGL.so;debug;/usr/lib64/libQtOpenGL_debug.so;optimized;/usr/lib64/libQtGui.so;debug;/usr/lib64/libQtGui_debug.so;optimized;/usr/lib64/libQtCore.so;debug;/usr/lib64/libQtCore_debug.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; +CGAL_Qt4_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.42/lib/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.42/lib/libboost_thread-mt.so;optimized;/usr/lib64/libQtOpenGL.so;debug;/usr/lib64/libQtOpenGL_debug.so;optimized;/usr/lib64/libQtGui.so;debug;/usr/lib64/libQtGui_debug.so;optimized;/usr/lib64/libQtCore.so;debug;/usr/lib64/libQtCore_debug.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; //Value Computed by CMake CGAL_Qt4_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALQt4 @@ -215,6 +227,9 @@ CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= //Flags used by the linker during Release with Debug Info builds. CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF + //Install path prefix, prepended onto install directories. CMAKE_INSTALL_PREFIX:PATH=/usr/local @@ -1052,6 +1067,9 @@ X11_ICE_INCLUDE_PATH:PATH=/usr/include //Path to a library. X11_ICE_LIB:FILEPATH=/usr/lib64/libICE.so +//Path to a file. +X11_SM_INCLUDE_PATH:PATH=/usr/include + //Path to a library. X11_SM_LIB:FILEPATH=/usr/lib64/libSM.so @@ -1061,9 +1079,18 @@ X11_X11_INCLUDE_PATH:PATH=/usr/include //Path to a library. X11_X11_LIB:FILEPATH=/usr/lib64/libX11.so +//Path to a file. +X11_XRes_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_XRes_LIB:FILEPATH=X11_XRes_LIB-NOTFOUND + //Path to a file. X11_XShm_INCLUDE_PATH:PATH=/usr/include +//Path to a file. +X11_XSync_INCLUDE_PATH:PATH=/usr/include + //Path to a file. X11_XTest_INCLUDE_PATH:PATH=/usr/include @@ -1142,6 +1169,12 @@ X11_Xinput_LIB:FILEPATH=/usr/lib64/libXi.so //Path to a file. X11_Xkb_INCLUDE_PATH:PATH=/usr/include +//Path to a file. +X11_Xkbfile_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_Xkbfile_LIB:FILEPATH=X11_Xkbfile_LIB-NOTFOUND + //Path to a file. X11_Xkblib_INCLUDE_PATH:PATH=/usr/include @@ -1233,8 +1266,10 @@ Boost_THREAD_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 Boost_VERSION:INTERNAL=104200 CGAL_3RD_PARTY_DEFINITIONS:INTERNAL= CGAL_3RD_PARTY_INCLUDE_DIRS:INTERNAL=/usr/include;/usr/include;/usr/include;/home/lrineau/CGAL/boost/1.42/include -CGAL_3RD_PARTY_LIBRARIES:INTERNAL=/usr/lib64/libgmpxx.so;/usr/lib64/libmpfr.so;/usr/lib64/libgmp.so;/home/lrineau/CGAL/boost/1.42/lib/libboost_thread.so -CGAL_3RD_PARTY_LIBRARIES_DIRS:INTERNAL=/usr/lib64;/usr/lib64;/home/lrineau/CGAL/boost/1.42/lib;/home/lrineau/CGAL/boost/1.42/lib +CGAL_3RD_PARTY_LIBRARIES:INTERNAL=/usr/lib64/libgmpxx.so;/usr/lib64/libmpfr.so;/usr/lib64/libgmp.so;/home/lrineau/CGAL/boost/1.42/lib/libboost_thread-mt.so +CGAL_3RD_PARTY_LIBRARIES_DIRS:INTERNAL=/usr/lib64;/usr/lib64;/home/lrineau/CGAL/boost/1.42/lib +//ADVANCED property for variable: CGAL_Boost_USE_STATIC_LIBS +CGAL_Boost_USE_STATIC_LIBS-ADVANCED:INTERNAL=1 CGAL_CFG_ARRAY_MEMBER_INITIALIZATION_BUG:INTERNAL=1 //Result of TRY_COMPILE CGAL_CFG_ARRAY_MEMBER_INITIALIZATION_BUG_COMPILED:INTERNAL=FALSE @@ -1271,6 +1306,9 @@ CGAL_CFG_NO_CPP0X_ARRAY_COMPILED:INTERNAL=FALSE CGAL_CFG_NO_CPP0X_AUTO:INTERNAL=1 //Result of TRY_COMPILE CGAL_CFG_NO_CPP0X_AUTO_COMPILED:INTERNAL=FALSE +CGAL_CFG_NO_CPP0X_COPY_N:INTERNAL=1 +//Result of TRY_COMPILE +CGAL_CFG_NO_CPP0X_COPY_N_COMPILED:INTERNAL=FALSE CGAL_CFG_NO_CPP0X_DECLTYPE:INTERNAL=1 //Result of TRY_COMPILE CGAL_CFG_NO_CPP0X_DECLTYPE_COMPILED:INTERNAL=FALSE @@ -1295,6 +1333,9 @@ CGAL_CFG_NO_CPP0X_LAMBDAS_COMPILED:INTERNAL=FALSE CGAL_CFG_NO_CPP0X_LONG_LONG:INTERNAL=0 //Result of TRY_COMPILE CGAL_CFG_NO_CPP0X_LONG_LONG_COMPILED:INTERNAL=TRUE +CGAL_CFG_NO_CPP0X_NEXT_PREV:INTERNAL=1 +//Result of TRY_COMPILE +CGAL_CFG_NO_CPP0X_NEXT_PREV_COMPILED:INTERNAL=FALSE CGAL_CFG_NO_CPP0X_RVALUE_REFERENCE:INTERNAL=1 //Result of TRY_COMPILE CGAL_CFG_NO_CPP0X_RVALUE_REFERENCE_COMPILED:INTERNAL=FALSE @@ -1353,7 +1394,7 @@ CGAL_CFG_USING_BASE_MEMBER_BUG_2:INTERNAL=0 //Result of TRY_COMPILE CGAL_CFG_USING_BASE_MEMBER_BUG_2_COMPILED:INTERNAL=TRUE //Variable hidden from user -CGAL_CGAL_LIBRARY:INTERNAL=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL.so +CGAL_CGAL_LIBRARY:INTERNAL=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL.so //Variable hidden from user CGAL_CGAL_LIBRARY_NAME:INTERNAL=libCGAL.so CGAL_CONFIGURED_LIBRARIES:INTERNAL=CGAL;Core;ImageIO;Qt3;Qt4 @@ -1375,8 +1416,8 @@ CGAL_ImageIO_LIBRARY-ADVANCED:INTERNAL=1 //Variable hidden from user CGAL_ImageIO_LIBRARY_NAME:INTERNAL=libCGAL_ImageIO.so CGAL_ImageIO_USE_ZLIB:INTERNAL=ON -//Variable hidden from user -CGAL_LIBRARY:INTERNAL=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16/lib/libCGAL.so +//ADVANCED property for variable: CGAL_LIBRARY +CGAL_LIBRARY-ADVANCED:INTERNAL=1 //Variable hidden from user CGAL_LIBRARY_NAME:INTERNAL=libCGAL.so CGAL_PDB_3RD_PARTY_DEFINITIONS:INTERNAL= @@ -1416,13 +1457,13 @@ CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 //What is the target build tool cmake is generating for. CMAKE_BUILD_TOOL:INTERNAL=/usr/bin/gmake //This is the directory where this CMakeCache.txt was created -CMAKE_CACHEFILE_DIR:INTERNAL=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16 +CMAKE_CACHEFILE_DIR:INTERNAL=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-4.6.2_Release-F16 //Major version of cmake used to create the current loaded cache CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 //Minor version of cmake used to create the current loaded cache CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 //Patch version of cmake used to create the current loaded cache -CMAKE_CACHE_PATCH_VERSION:INTERNAL=4 +CMAKE_CACHE_PATCH_VERSION:INTERNAL=7 //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 //Path to CMake executable. @@ -1475,6 +1516,8 @@ CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 //Name of generator. CMAKE_GENERATOR:INTERNAL=Unix Makefiles //Have function connect @@ -1547,6 +1590,7 @@ CMAKE_UNAME:INTERNAL=/bin/uname CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +CONFIG_CXX_FLAGS:INTERNAL= -frounding-math -I/home/lrineau/CGAL/boost/1.42/include //Variable hidden from user EXECUTABLE_OUTPUT_PATH:INTERNAL= //Details about finding OpenGL @@ -1556,9 +1600,9 @@ FIND_PACKAGE_MESSAGE_DETAILS_OpenSSL:INTERNAL=[/usr/lib64/libssl.so;/usr/lib64/l //Details about finding Threads FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()] //Details about finding X11 -FIND_PACKAGE_MESSAGE_DETAILS_X11:INTERNAL=[/usr/lib64/libX11.so][/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include] +FIND_PACKAGE_MESSAGE_DETAILS_X11:INTERNAL=[/usr/lib64/libX11.so][/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include] //Details about finding ZLIB -FIND_PACKAGE_MESSAGE_DETAILS_ZLIB:INTERNAL=[/usr/include][/usr/lib64/libz.so][v1.2.5()] +FIND_PACKAGE_MESSAGE_DETAILS_ZLIB:INTERNAL=[/usr/lib64/libz.so][/usr/include][v1.2.5()] //Result of TRY_COMPILE GCC_COMPILE_RES:INTERNAL=TRUE //Result of TRY_RUN @@ -2086,14 +2130,22 @@ X11_ICE_INCLUDE_PATH-ADVANCED:INTERNAL=1 X11_ICE_LIB-ADVANCED:INTERNAL=1 //Have library /usr/lib64/libX11.so;/usr/lib64/libXext.so X11_LIB_X11_SOLO:INTERNAL=1 +//ADVANCED property for variable: X11_SM_INCLUDE_PATH +X11_SM_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_SM_LIB X11_SM_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_X11_INCLUDE_PATH X11_X11_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_X11_LIB X11_X11_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XRes_INCLUDE_PATH +X11_XRes_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XRes_LIB +X11_XRes_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XShm_INCLUDE_PATH X11_XShm_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XSync_INCLUDE_PATH +X11_XSync_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XTest_INCLUDE_PATH X11_XTest_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XTest_LIB @@ -2146,6 +2198,10 @@ X11_Xinput_INCLUDE_PATH-ADVANCED:INTERNAL=1 X11_Xinput_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_Xkb_INCLUDE_PATH X11_Xkb_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xkbfile_INCLUDE_PATH +X11_Xkbfile_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xkbfile_LIB +X11_Xkbfile_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_Xkblib_INCLUDE_PATH X11_Xkblib_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_Xlib_INCLUDE_PATH diff --git a/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/CMakeCache.txt b/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/CMakeCache.txt index 7c74ce1bc6e..05dfe7ecd33 100644 --- a/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/CMakeCache.txt +++ b/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/CMakeCache.txt @@ -1,5 +1,5 @@ # This is the CMakeCache file. -# For build in directory: /home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16 +# For build in directory: /home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16 # It was generated by CMake: /usr/bin/cmake # You can edit this file to change values found and used by cmake. # If you do not want to change any of the values, simply exit the editor. @@ -14,6 +14,12 @@ # EXTERNAL cache entries ######################## +//Build shared libraries +BUILD_SHARED_LIBS:BOOL=ON + +//The directory containing a CMake configuration file for Boost. +Boost_DIR:PATH=Boost_DIR-NOTFOUND + //Path to a file. Boost_INCLUDE_DIR:PATH=/home/lrineau/CGAL/boost/1.48/include @@ -21,16 +27,19 @@ Boost_INCLUDE_DIR:PATH=/home/lrineau/CGAL/boost/1.48/include Boost_LIBRARY_DIRS:FILEPATH=/home/lrineau/CGAL/boost/1.48/lib //The Boost THREAD library -Boost_THREAD_LIBRARY:FILEPATH=/home/lrineau/CGAL/boost/1.48/lib/libboost_thread.so +Boost_THREAD_LIBRARY:FILEPATH=/home/lrineau/CGAL/boost/1.48/lib/libboost_thread-mt.so -//Path to a library. -Boost_THREAD_LIBRARY_DEBUG:FILEPATH=Boost_THREAD_LIBRARY_DEBUG-NOTFOUND +//Boost thread library (debug) +Boost_THREAD_LIBRARY_DEBUG:FILEPATH=/home/lrineau/CGAL/boost/1.48/lib/libboost_thread-mt.so -//Path to a library. -Boost_THREAD_LIBRARY_RELEASE:FILEPATH=/home/lrineau/CGAL/boost/1.48/lib/libboost_thread.so +//Boost thread library (release) +Boost_THREAD_LIBRARY_RELEASE:FILEPATH=/home/lrineau/CGAL/boost/1.48/lib/libboost_thread-mt.so //Value Computed by CMake -CGAL_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16 +CGAL_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16 + +//Link with static Boost libraries +CGAL_Boost_USE_STATIC_LIBS:BOOL=OFF //Directory containing the Maintenance package CGAL_CORE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I @@ -39,13 +48,13 @@ CGAL_CORE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I CGAL_CXX_FLAGS:STRING= -frounding-math -std=c++11 //Value Computed by CMake -CGAL_Core_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/src/Core +CGAL_Core_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/src/Core //The CGAL_Core library -CGAL_Core_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL_Core.so +CGAL_Core_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL_Core.so //Dependencies for the target -CGAL_Core_LIB_DEPENDS:STATIC=general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.48/lib/libboost_thread.so;general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.48/lib/libboost_thread.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.48/lib/libboost_thread.so; +CGAL_Core_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.48/lib/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.48/lib/libboost_thread-mt.so; //Value Computed by CMake CGAL_Core_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALCore @@ -85,43 +94,46 @@ CGAL_INSTALL_LIB_DIR:STRING=lib CGAL_INSTALL_MAN_DIR:STRING=share/man/man1 //Value Computed by CMake -CGAL_ImageIO_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/src/ImageIO +CGAL_ImageIO_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/src/ImageIO //The CGAL_ImageIO library -CGAL_ImageIO_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL_ImageIO.so +CGAL_ImageIO_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL_ImageIO.so //Dependencies for the target -CGAL_ImageIO_LIB_DEPENDS:STATIC=general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.48/lib/libboost_thread.so;general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.48/lib/libboost_thread.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;/usr/lib64/libz.so;general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL.so; +CGAL_ImageIO_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.48/lib/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.48/lib/libboost_thread-mt.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;/usr/lib64/libz.so; //Value Computed by CMake CGAL_ImageIO_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALImageIO +//The CGAL library +CGAL_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL.so + //Dependencies for the target -CGAL_LIB_DEPENDS:STATIC=general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.48/lib/libboost_thread.so; +CGAL_LIB_DEPENDS:STATIC=general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.48/lib/libboost_thread-mt.so; //Directory containing the Maintenance package CGAL_MAINTENANCE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I //Value Computed by CMake -CGAL_Qt3_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/src/Qt3 +CGAL_Qt3_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/src/Qt3 //The CGAL_Qt3 library -CGAL_Qt3_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL_Qt3.so +CGAL_Qt3_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL_Qt3.so //Dependencies for the target -CGAL_Qt3_LIB_DEPENDS:STATIC=general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.48/lib/libboost_thread.so;general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.48/lib/libboost_thread.so;general;/usr/lib64/qt-3.3/lib/libqassistantclient.a;general;/usr/lib64/qt-3.3/lib/libqt-mt.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;dl;general;-lpthread;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; +CGAL_Qt3_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.48/lib/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.48/lib/libboost_thread-mt.so;general;/usr/lib64/qt-3.3/lib/libqassistantclient.a;general;/usr/lib64/qt-3.3/lib/libqt-mt.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;dl;general;-lpthread;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; //Value Computed by CMake CGAL_Qt3_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALQt3 //Value Computed by CMake -CGAL_Qt4_BINARY_DIR:STATIC=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/src/Qt4 +CGAL_Qt4_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/src/Qt4 //The CGAL_Qt4 library -CGAL_Qt4_LIBRARY:STRING=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL_Qt4.so +CGAL_Qt4_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL_Qt4.so //Dependencies for the target -CGAL_Qt4_LIB_DEPENDS:STATIC=general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.48/lib/libboost_thread.so;general;/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.48/lib/libboost_thread.so;optimized;/usr/lib64/libQtOpenGL.so;debug;/usr/lib64/libQtOpenGL_debug.so;optimized;/usr/lib64/libQtGui.so;debug;/usr/lib64/libQtGui_debug.so;optimized;/usr/lib64/libQtCore.so;debug;/usr/lib64/libQtCore_debug.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; +CGAL_Qt4_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.48/lib/libboost_thread-mt.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/1.48/lib/libboost_thread-mt.so;optimized;/usr/lib64/libQtOpenGL.so;debug;/usr/lib64/libQtOpenGL_debug.so;optimized;/usr/lib64/libQtGui.so;debug;/usr/lib64/libQtGui_debug.so;optimized;/usr/lib64/libQtCore.so;debug;/usr/lib64/libQtCore_debug.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; //Value Computed by CMake CGAL_Qt4_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALQt4 @@ -1046,6 +1058,9 @@ X11_ICE_INCLUDE_PATH:PATH=/usr/include //Path to a library. X11_ICE_LIB:FILEPATH=/usr/lib64/libICE.so +//Path to a file. +X11_SM_INCLUDE_PATH:PATH=/usr/include + //Path to a library. X11_SM_LIB:FILEPATH=/usr/lib64/libSM.so @@ -1055,9 +1070,18 @@ X11_X11_INCLUDE_PATH:PATH=/usr/include //Path to a library. X11_X11_LIB:FILEPATH=/usr/lib64/libX11.so +//Path to a file. +X11_XRes_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_XRes_LIB:FILEPATH=X11_XRes_LIB-NOTFOUND + //Path to a file. X11_XShm_INCLUDE_PATH:PATH=/usr/include +//Path to a file. +X11_XSync_INCLUDE_PATH:PATH=/usr/include + //Path to a file. X11_XTest_INCLUDE_PATH:PATH=/usr/include @@ -1136,6 +1160,12 @@ X11_Xinput_LIB:FILEPATH=/usr/lib64/libXi.so //Path to a file. X11_Xkb_INCLUDE_PATH:PATH=/usr/include +//Path to a file. +X11_Xkbfile_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_Xkbfile_LIB:FILEPATH=X11_Xkbfile_LIB-NOTFOUND + //Path to a file. X11_Xkblib_INCLUDE_PATH:PATH=/usr/include @@ -1227,8 +1257,10 @@ Boost_THREAD_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 Boost_VERSION:INTERNAL=104800 CGAL_3RD_PARTY_DEFINITIONS:INTERNAL= CGAL_3RD_PARTY_INCLUDE_DIRS:INTERNAL=/usr/include;/usr/include;/usr/include;/home/lrineau/CGAL/boost/1.48/include -CGAL_3RD_PARTY_LIBRARIES:INTERNAL=/usr/lib64/libgmpxx.so;/usr/lib64/libmpfr.so;/usr/lib64/libgmp.so;/home/lrineau/CGAL/boost/1.48/lib/libboost_thread.so -CGAL_3RD_PARTY_LIBRARIES_DIRS:INTERNAL=/usr/lib64;/usr/lib64;/home/lrineau/CGAL/boost/1.48/lib;/home/lrineau/CGAL/boost/1.48/lib +CGAL_3RD_PARTY_LIBRARIES:INTERNAL=/usr/lib64/libgmpxx.so;/usr/lib64/libmpfr.so;/usr/lib64/libgmp.so;/home/lrineau/CGAL/boost/1.48/lib/libboost_thread-mt.so +CGAL_3RD_PARTY_LIBRARIES_DIRS:INTERNAL=/usr/lib64;/usr/lib64;/home/lrineau/CGAL/boost/1.48/lib +//ADVANCED property for variable: CGAL_Boost_USE_STATIC_LIBS +CGAL_Boost_USE_STATIC_LIBS-ADVANCED:INTERNAL=1 CGAL_CFG_ARRAY_MEMBER_INITIALIZATION_BUG:INTERNAL=0 //Result of TRY_COMPILE CGAL_CFG_ARRAY_MEMBER_INITIALIZATION_BUG_COMPILED:INTERNAL=TRUE @@ -1350,7 +1382,7 @@ CGAL_CFG_USING_BASE_MEMBER_BUG_2:INTERNAL=0 //Result of TRY_COMPILE CGAL_CFG_USING_BASE_MEMBER_BUG_2_COMPILED:INTERNAL=TRUE //Variable hidden from user -CGAL_CGAL_LIBRARY:INTERNAL=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL.so +CGAL_CGAL_LIBRARY:INTERNAL=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL.so //Variable hidden from user CGAL_CGAL_LIBRARY_NAME:INTERNAL=libCGAL.so CGAL_CONFIGURED_LIBRARIES:INTERNAL=CGAL;Core;ImageIO;Qt3;Qt4 @@ -1372,8 +1404,8 @@ CGAL_ImageIO_LIBRARY-ADVANCED:INTERNAL=1 //Variable hidden from user CGAL_ImageIO_LIBRARY_NAME:INTERNAL=libCGAL_ImageIO.so CGAL_ImageIO_USE_ZLIB:INTERNAL=ON -//Variable hidden from user -CGAL_LIBRARY:INTERNAL=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16/lib/libCGAL.so +//ADVANCED property for variable: CGAL_LIBRARY +CGAL_LIBRARY-ADVANCED:INTERNAL=1 //Variable hidden from user CGAL_LIBRARY_NAME:INTERNAL=libCGAL.so CGAL_Qt3_3RD_PARTY_DEFINITIONS:INTERNAL=-DQT_SHARED;-DQT_NO_DEBUG;-DQT_THREAD_SUPPORT;-D_REENTRANT @@ -1405,13 +1437,13 @@ CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 //What is the target build tool cmake is generating for. CMAKE_BUILD_TOOL:INTERNAL=/usr/bin/gmake //This is the directory where this CMakeCache.txt was created -CMAKE_CACHEFILE_DIR:INTERNAL=/home/lrineau/trunk/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16 +CMAKE_CACHEFILE_DIR:INTERNAL=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_g++-trunk_CXX0X-F16 //Major version of cmake used to create the current loaded cache CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 //Minor version of cmake used to create the current loaded cache CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 //Patch version of cmake used to create the current loaded cache -CMAKE_CACHE_PATCH_VERSION:INTERNAL=5 +CMAKE_CACHE_PATCH_VERSION:INTERNAL=7 //Major version of cmake used to create the current loaded cache CMAKE_CACHE_RELEASE_VERSION:INTERNAL=patch 4 //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE @@ -1548,7 +1580,7 @@ FIND_PACKAGE_MESSAGE_DETAILS_OpenGL:INTERNAL=[/usr/lib64/libGL.so][v()] //Details about finding Threads FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()] //Details about finding X11 -FIND_PACKAGE_MESSAGE_DETAILS_X11:INTERNAL=[/usr/lib64/libX11.so][/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include] +FIND_PACKAGE_MESSAGE_DETAILS_X11:INTERNAL=[/usr/lib64/libX11.so][/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include] //Details about finding ZLIB FIND_PACKAGE_MESSAGE_DETAILS_ZLIB:INTERNAL=[/usr/lib64/libz.so][/usr/include][v1.2.5()] //Result of TRY_COMPILE @@ -2080,14 +2112,22 @@ X11_ICE_INCLUDE_PATH-ADVANCED:INTERNAL=1 X11_ICE_LIB-ADVANCED:INTERNAL=1 //Have library /usr/lib64/libX11.so;/usr/lib64/libXext.so X11_LIB_X11_SOLO:INTERNAL=1 +//ADVANCED property for variable: X11_SM_INCLUDE_PATH +X11_SM_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_SM_LIB X11_SM_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_X11_INCLUDE_PATH X11_X11_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_X11_LIB X11_X11_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XRes_INCLUDE_PATH +X11_XRes_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XRes_LIB +X11_XRes_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XShm_INCLUDE_PATH X11_XShm_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XSync_INCLUDE_PATH +X11_XSync_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XTest_INCLUDE_PATH X11_XTest_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XTest_LIB @@ -2140,6 +2180,10 @@ X11_Xinput_INCLUDE_PATH-ADVANCED:INTERNAL=1 X11_Xinput_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_Xkb_INCLUDE_PATH X11_Xkb_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xkbfile_INCLUDE_PATH +X11_Xkbfile_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xkbfile_LIB +X11_Xkbfile_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_Xkblib_INCLUDE_PATH X11_Xkblib_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_Xlib_INCLUDE_PATH diff --git a/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/CMakeCache.txt b/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/CMakeCache.txt index d5895df0f3e..81166795965 100644 --- a/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/CMakeCache.txt +++ b/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/CMakeCache.txt @@ -17,6 +17,9 @@ //Build shared libraries BUILD_SHARED_LIBS:BOOL=ON +//The directory containing a CMake configuration file for Boost. +Boost_DIR:PATH=Boost_DIR-NOTFOUND + //Path to a file. Boost_INCLUDE_DIR:PATH=/home/lrineau/CGAL/boost/boost-release-branch @@ -24,13 +27,13 @@ Boost_INCLUDE_DIR:PATH=/home/lrineau/CGAL/boost/boost-release-branch Boost_LIBRARY_DIRS:FILEPATH=/home/lrineau/CGAL/boost/boost-release-branch/stage/lib //The Boost THREAD library -Boost_THREAD_LIBRARY:FILEPATH=/home/lrineau/CGAL/boost/boost-release-branch/stage/lib/libboost_thread.so +Boost_THREAD_LIBRARY:FILEPATH=/home/lrineau/CGAL/boost/boost-release-branch/stage/lib/libboost_thread-mt.so -//Path to a library. -Boost_THREAD_LIBRARY_DEBUG:FILEPATH=Boost_THREAD_LIBRARY_DEBUG-NOTFOUND +//Boost thread library (debug) +Boost_THREAD_LIBRARY_DEBUG:FILEPATH=/home/lrineau/CGAL/boost/boost-release-branch/stage/lib/libboost_thread-mt.so -//Path to a library. -Boost_THREAD_LIBRARY_RELEASE:FILEPATH=/home/lrineau/CGAL/boost/boost-release-branch/stage/lib/libboost_thread.so +//Boost thread library (release) +Boost_THREAD_LIBRARY_RELEASE:FILEPATH=/home/lrineau/CGAL/boost/boost-release-branch/stage/lib/libboost_thread-mt.so //Value Computed by CMake CGAL_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16 @@ -51,7 +54,7 @@ CGAL_Core_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86 CGAL_Core_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/lib/libCGAL_Core.so //Dependencies for the target -CGAL_Core_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage/lib/libboost_thread.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage/lib/libboost_thread.so; +CGAL_Core_LIB_DEPENDS:STATIC=general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage/lib/libboost_thread-mt.so;general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage/lib/libboost_thread-mt.so; //Value Computed by CMake CGAL_Core_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALCore @@ -97,7 +100,7 @@ CGAL_ImageIO_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/ CGAL_ImageIO_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/lib/libCGAL_ImageIO.so //Dependencies for the target -CGAL_ImageIO_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage/lib/libboost_thread.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage/lib/libboost_thread.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;/usr/lib64/libz.so; +CGAL_ImageIO_LIB_DEPENDS:STATIC=general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage/lib/libboost_thread-mt.so;general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage/lib/libboost_thread-mt.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;/usr/lib64/libz.so; //Value Computed by CMake CGAL_ImageIO_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALImageIO @@ -106,7 +109,7 @@ CGAL_ImageIO_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALImageIO CGAL_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/lib/libCGAL.so //Dependencies for the target -CGAL_LIB_DEPENDS:STATIC=general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage/lib/libboost_thread.so; +CGAL_LIB_DEPENDS:STATIC=general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage/lib/libboost_thread-mt.so; //Directory containing the Maintenance package CGAL_MAINTENANCE_PACKAGE_DIR:PATH=/home/lrineau/CGAL/CGAL-I @@ -130,7 +133,7 @@ CGAL_Qt3_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86- CGAL_Qt3_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/lib/libCGAL_Qt3.so //Dependencies for the target -CGAL_Qt3_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage/lib/libboost_thread.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage/lib/libboost_thread.so;general;/usr/lib64/qt-3.3/lib/libqassistantclient.a;general;/usr/lib64/qt-3.3/lib/libqt-mt.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;dl;general;-lpthread;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; +CGAL_Qt3_LIB_DEPENDS:STATIC=general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage/lib/libboost_thread-mt.so;general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage/lib/libboost_thread-mt.so;general;/usr/lib64/qt-3.3/lib/libqassistantclient.a;general;/usr/lib64/qt-3.3/lib/libqt-mt.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;dl;general;-lpthread;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; //Value Computed by CMake CGAL_Qt3_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALQt3 @@ -142,7 +145,7 @@ CGAL_Qt4_BINARY_DIR:STATIC=/home/lrineau/infrastructure/reference-platforms/x86- CGAL_Qt4_LIBRARY:STRING=/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/lib/libCGAL_Qt4.so //Dependencies for the target -CGAL_Qt4_LIB_DEPENDS:STATIC=general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage/lib/libboost_thread.so;general;/home/lrineau/infrastructure/reference-platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage/lib/libboost_thread.so;optimized;/usr/lib64/libQtOpenGL.so;debug;/usr/lib64/libQtOpenGL_debug.so;optimized;/usr/lib64/libQtGui.so;debug;/usr/lib64/libQtGui_debug.so;optimized;/usr/lib64/libQtCore.so;debug;/usr/lib64/libQtCore_debug.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; +CGAL_Qt4_LIB_DEPENDS:STATIC=general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage/lib/libboost_thread-mt.so;general;/home/lrineau/next/Maintenance/infrastructure/renoir.geometryfactory.com/reference-platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/lib/libCGAL.so;general;/usr/lib64/libgmpxx.so;general;/usr/lib64/libmpfr.so;general;/usr/lib64/libgmp.so;general;/home/lrineau/CGAL/boost/boost-release-branch/stage/lib/libboost_thread-mt.so;optimized;/usr/lib64/libQtOpenGL.so;debug;/usr/lib64/libQtOpenGL_debug.so;optimized;/usr/lib64/libQtGui.so;debug;/usr/lib64/libQtGui_debug.so;optimized;/usr/lib64/libQtCore.so;debug;/usr/lib64/libQtCore_debug.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so; //Value Computed by CMake CGAL_Qt4_SOURCE_DIR:STATIC=/home/lrineau/CGAL/CGAL-I/src/CGALQt4 @@ -1073,6 +1076,12 @@ X11_X11_INCLUDE_PATH:PATH=/usr/include //Path to a library. X11_X11_LIB:FILEPATH=/usr/lib64/libX11.so +//Path to a file. +X11_XRes_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_XRes_LIB:FILEPATH=X11_XRes_LIB-NOTFOUND + //Path to a file. X11_XShm_INCLUDE_PATH:PATH=/usr/include @@ -1254,8 +1263,8 @@ Boost_THREAD_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 Boost_VERSION:INTERNAL=104900 CGAL_3RD_PARTY_DEFINITIONS:INTERNAL= CGAL_3RD_PARTY_INCLUDE_DIRS:INTERNAL=/usr/include;/usr/include;/usr/include;/home/lrineau/CGAL/boost/boost-release-branch -CGAL_3RD_PARTY_LIBRARIES:INTERNAL=/usr/lib64/libgmpxx.so;/usr/lib64/libmpfr.so;/usr/lib64/libgmp.so;/home/lrineau/CGAL/boost/boost-release-branch/stage/lib/libboost_thread.so -CGAL_3RD_PARTY_LIBRARIES_DIRS:INTERNAL=/usr/lib64;/usr/lib64;/home/lrineau/CGAL/boost/boost-release-branch/stage/lib;/home/lrineau/CGAL/boost/boost-release-branch/stage/lib +CGAL_3RD_PARTY_LIBRARIES:INTERNAL=/usr/lib64/libgmpxx.so;/usr/lib64/libmpfr.so;/usr/lib64/libgmp.so;/home/lrineau/CGAL/boost/boost-release-branch/stage/lib/libboost_thread-mt.so +CGAL_3RD_PARTY_LIBRARIES_DIRS:INTERNAL=/usr/lib64;/usr/lib64;/home/lrineau/CGAL/boost/boost-release-branch/stage/lib //ADVANCED property for variable: CGAL_Boost_USE_STATIC_LIBS CGAL_Boost_USE_STATIC_LIBS-ADVANCED:INTERNAL=1 CGAL_CFG_ARRAY_MEMBER_INITIALIZATION_BUG:INTERNAL=1 @@ -1448,7 +1457,7 @@ CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 //Minor version of cmake used to create the current loaded cache CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 //Patch version of cmake used to create the current loaded cache -CMAKE_CACHE_PATCH_VERSION:INTERNAL=6 +CMAKE_CACHE_PATCH_VERSION:INTERNAL=7 //Major version of cmake used to create the current loaded cache CMAKE_CACHE_RELEASE_VERSION:INTERNAL=patch 4 //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE @@ -2121,6 +2130,10 @@ X11_SM_LIB-ADVANCED:INTERNAL=1 X11_X11_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_X11_LIB X11_X11_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XRes_INCLUDE_PATH +X11_XRes_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XRes_LIB +X11_XRes_LIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XShm_INCLUDE_PATH X11_XShm_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: X11_XSync_INCLUDE_PATH diff --git a/Maintenance/public_release/announcement/CGAL-4.0 b/Maintenance/public_release/announcement/CGAL-4.0 new file mode 100644 index 00000000000..8431092269b --- /dev/null +++ b/Maintenance/public_release/announcement/CGAL-4.0 @@ -0,0 +1,97 @@ +Subject: CGAL 4.0 Released, Computational Geometry Algorithms Library +Body: + +The CGAL Open Source Project is pleased to announce the release 4.0 +of CGAL, the Computational Geometry Algorithms Library. + +CGAL 4.0 differs from version 3.x in licensing, and in functionality. +We increased the major number of the CGAL version to '4' in order to +reflect this license change. + +The license has been changed from LGPLv2.1 to LGPLv3+ +(GNU Lesser General Public License) and from QPL (Q Public License v1.0) +to GPLv3+ (GNU Public License), depending on each package. +These license changes are not fundamental, that is, the licenses +are similar in their spirit, and the change reflects the fact +that the QPL has become marginal, since it had been introduced +and later abandoned for Qt. + + +Major changes in this release include the following: + +o Linear Cell Complex (new package) + + This package implements linear cell complexes, objects in + dimension d with linear geometry. They are based on the + Combinatorial Map where points are associated to vertices. + + +o 2D Voronoi Diagram Adaptor (temporarily removed) + + As the copyright holder of this package has not granted + the right to switch from QPL to GPL, this package is + temporarily removed from the distribution. + + +o 2D and 3D Alpha Shapes + + Make it more robust for the Exact_predicates_inexact_constructions_kernel + + +o AABB Tree, Spatial Searching + + Queries on these data structures are now multi-thread safe. + + +o Surface Reconstruction from Point Sets, + Planar Parameterization of Triangulated Surface Meshes, + Approximation of Ridges and Umbilics on Triangulated Surface Meshes, and + Estimation of Local Differential Properties of Point-Sampled Surfaces + + If you use the Eigen library (http://eigen.tuxfamily.org), + these packages no longer need Taucs, Lapack or Blas. + + + +See http://www.cgal.org/releases.html for a complete list of changes. + + +The CGAL project is a collaborative effort to develop a robust, +easy-to-use, and efficient C++ software library of geometric data +structures and algorithms, like +- triangulations (2D constrained triangulations and Delaunay + triangulations in 2D and 3D, periodic triangulations), +- Voronoi diagrams (for 2D and 3D points, 2D additively weighted + Voronoi diagrams, and segment Voronoi diagrams), +- Boolean operations on polygons and polyhedra, +- regularized Boolean operations on polygons with curved arcs +- arrangements of curves, +- mesh generation (2D, 3D and surface mesh generation, + surface mesh subdivision and parametrization), +- alpha shapes (in 2D and 3D), +- convex hull algorithms (in 2D, 3D and dD), +- operations on polygons (straight skeleton and offset polygon), +- search structures (kd trees for nearest neighbor search, and + range and segment trees), +- interpolation (natural neighbor interpolation and placement of + streamlines), +- optimization algorithms (smallest enclosing sphere of points or + spheres, smallest enclosing ellipsoid of points, principal + component analysis), +- kinetic data structures + + + + +Some modules are distributed under the terms of the LGPL Open Source +license (GNU Lesser General Public License v3 or later versions). +Most modules are distributed under the terms of the GPL Open Source +license (GNU General Public License v3 or later versions). +If your intended usage does not meet the criteria of the +aforementioned licenses, a commercial license can be purchased from +GeometryFactory (http://www.geometryfactory.com/). + + +For further information and for downloading the library and its +documentation, please visit the CGAL web site: http://www.cgal.org/ + diff --git a/Maintenance/public_release/announcement/CGAL-4.0-beta1 b/Maintenance/public_release/announcement/CGAL-4.0-beta1 new file mode 100644 index 00000000000..d52e90eac4c --- /dev/null +++ b/Maintenance/public_release/announcement/CGAL-4.0-beta1 @@ -0,0 +1,101 @@ +Subject: CGAL 4.0 Beta 1 Released, Computational Geometry Algorithms Library +Body: + +The CGAL Open Source Project is pleased to announce the release 4.0 Beta 1 +of CGAL, the Computational Geometry Algorithms Library. + +Version 4.0 Beta 1 is a public testing release. It should provide +a solid ground to report bugs that need to be tackled before the +release of the final version of CGAL 4.0 beginning of March. + +CGAL 4.0 differs from version 3.x in licensing, and in functionality. +We increased the major number of the CGAL version to '4' in order to +reflect this license change. + +The license has been changed from LGPLv2.1 to LGPLv3+ +(GNU Lesser General Public License) and from QPL (Q Public License v1.0) +to GPLv3+ (GNU Public License), depending on each package. +These license changes are not fundamental, that is, the licenses +are similar in their spirit, and the change reflects the fact +that the QPL has become marginal, since it had been introduced +and later abandoned for Qt. + + +Major changes in this release include the following: + +o Linear Cell Complex (new package) + + This package implements linear cell complexes, objects in + dimension d with linear geometry. They are based on the + Combinatorial Map where points are associated to vertices. + + +o 2D Voronoi Diagram Adaptor (temporarily removed) + + As the copyright holder of this package has not granted + the right to switch from QPL to GPL, this package is + temporarily removed from the distribution. + + +o 2D and 3D Alpha Shapes + + Make it more robust for the Exact_predicates_inexact_constructions_kernel + + +o AABB Tree, Spatial Searching + + Queries on these data structures are now multi-thread safe. + + +o Surface Reconstruction from Point Sets, + Planar Parameterization of Triangulated Surface Meshes, + Approximation of Ridges and Umbilics on Triangulated Surface Meshes, and + Estimation of Local Differential Properties of Point-Sampled Surfaces + + If you use the Eigen library (http://eigen.tuxfamily.org), + these packages no longer need Taucs, Lapack or Blas. + + + +See http://www.cgal.org/releases.html for a complete list of changes. + + +The CGAL project is a collaborative effort to develop a robust, +easy-to-use, and efficient C++ software library of geometric data +structures and algorithms, like +- triangulations (2D constrained triangulations and Delaunay + triangulations in 2D and 3D, periodic triangulations), +- Voronoi diagrams (for 2D and 3D points, 2D additively weighted + Voronoi diagrams, and segment Voronoi diagrams), +- Boolean operations on polygons and polyhedra, +- regularized Boolean operations on polygons with curved arcs +- arrangements of curves, +- mesh generation (2D, 3D and surface mesh generation, + surface mesh subdivision and parametrization), +- alpha shapes (in 2D and 3D), +- convex hull algorithms (in 2D, 3D and dD), +- operations on polygons (straight skeleton and offset polygon), +- search structures (kd trees for nearest neighbor search, and + range and segment trees), +- interpolation (natural neighbor interpolation and placement of + streamlines), +- optimization algorithms (smallest enclosing sphere of points or + spheres, smallest enclosing ellipsoid of points, principal + component analysis), +- kinetic data structures + + + + +Some modules are distributed under the terms of the LGPL Open Source +license (GNU Lesser General Public License v3 or later versions). +Most modules are distributed under the terms of the GPL Open Source +license (GNU General Public License v3 or later versions). +If your intended usage does not meet the criteria of the +aforementioned licenses, a commercial license can be purchased from +GeometryFactory (http://www.geometryfactory.com/). + + +For further information and for downloading the library and its +documentation, please visit the CGAL web site: http://www.cgal.org/ + diff --git a/Maintenance/public_release/announcement/where_to_announce b/Maintenance/public_release/announcement/where_to_announce index a8ffe204504..8e6f0da5932 100644 --- a/Maintenance/public_release/announcement/where_to_announce +++ b/Maintenance/public_release/announcement/where_to_announce @@ -15,6 +15,11 @@ And only for feature releases (not bug-fixes): mesh@sandia.gov communaute@medicis.polytechnique.fr +Note: add a Reply-To: cgal-discuss@lists-sop.inria.fr, to avoid cross-post +replies. + + + Newsgroups: sci.image.processing, diff --git a/Maintenance/public_release/scripts/prepare_release b/Maintenance/public_release/scripts/prepare_release index c16984ef6bb..18b2c46ddcb 100755 --- a/Maintenance/public_release/scripts/prepare_release +++ b/Maintenance/public_release/scripts/prepare_release @@ -54,15 +54,17 @@ printf "Create the internal_release file\n" printf "%s\n" "${INTERNAL_RELEASE}" > "$DEST_DIR/internal_release" printf "Create cgal_manual.zip for the Windows installer..." -pushd "$DEST_DIR" -zip -r cgal_manual.zip doc_html/cgal_manual +pushd "$DEST_DIR/doc_html" +zip -r ../cgal_manual.zip cgal_manual popd printf "Untar examples/ and include/ for rsync to the server\n" tar xf "$DEST_DIR/${PUBLIC_RELEASE_NAME}.tar.gz" --strip-components 1 "${PUBLIC_RELEASE_NAME}"/examples "${PUBLIC_RELEASE_NAME}"/include -C "$DEST_DIR" +pushd "${DEST_DIR}" printf "Compute md5sum.txt..." md5sum *.^txt > md5sum.txt +popd printf "Now use:\n" printf " cd ${DEST_DIR}\n" diff --git a/Maintenance/release_building/MINOR_NUMBER b/Maintenance/release_building/MINOR_NUMBER index 573541ac970..d00491fd7e5 100644 --- a/Maintenance/release_building/MINOR_NUMBER +++ b/Maintenance/release_building/MINOR_NUMBER @@ -1 +1 @@ -0 +1 diff --git a/Maintenance/release_building/public_release_name b/Maintenance/release_building/public_release_name index d983c5d5fcf..3ab64670a53 100644 --- a/Maintenance/release_building/public_release_name +++ b/Maintenance/release_building/public_release_name @@ -1 +1 @@ -CGAL-4.0-dev +CGAL-4.1-dev diff --git a/Maintenance/svn_server/hooks/pre-commit b/Maintenance/svn_server/hooks/pre-commit index 23194a071f6..ec1cfe2184d 100755 --- a/Maintenance/svn_server/hooks/pre-commit +++ b/Maintenance/svn_server/hooks/pre-commit @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # PRE-COMMIT HOOK # diff --git a/Manual/doc_tex/Manual/manual-4.0.bib b/Manual/doc_tex/Manual/manual-4.0.bib index 9487aa3d1f8..72268a57672 100644 --- a/Manual/doc_tex/Manual/manual-4.0.bib +++ b/Manual/doc_tex/Manual/manual-4.0.bib @@ -216,6 +216,16 @@ , year = 2012 } +@incollection{cgal:d-lcc-12 +, author = "Guillaume Damiand" +, title = "Linear Cell Complex" +, publisher = "{CGAL Editorial Board}" +, edition = "{4.0}" +, booktitle = "{CGAL} User and Reference Manual" +, url = "http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:LinearCellComplex" +, year = 2012 +} + @incollection{cgal:fwzh-rbso2-12 , author = "Efi Fogel and Ron Wein and Baruch Zukerman and Dan Halperin" , title = "{2D} Regularized {Boolean} Set-Operations" @@ -297,7 +307,7 @@ } @incollection{cgal:wfzh-a2-12 -, author = "Ron Wein and Efi Fogel and Baruch Zukerman and Dan Halperin" +, author = "Ron Wein and Eric Berberich and Efi Fogel and Dan Halperin and Michael Hemmer and Oren Salzman and Baruch Zukerman" , title = "{2D} Arrangements" , publisher = "{CGAL Editorial Board}" , edition = "{4.0}" diff --git a/Manual/doc_tex/Preliminaries/licenses.tex b/Manual/doc_tex/Preliminaries/licenses.tex index 9c71bf75f38..493c7f57c21 100644 --- a/Manual/doc_tex/Preliminaries/licenses.tex +++ b/Manual/doc_tex/Preliminaries/licenses.tex @@ -16,7 +16,7 @@ of the \cgal\ software. \subsection{GPL \label{licenses:GPL}} The {\sc Gpl} is an Open Source license that, if you distribute your software -based on {\sc Gpl}ed \cgal\ data structures, obliges you to distribute the +based on {\sc Gpl}ed \cgal\ data structures,you are obliged to distribute the source code of your software under the {\sc Gpl}. The exact license terms can be found at the Free Software Foundation diff --git a/Manual/doc_tex/Preliminaries/main.tex b/Manual/doc_tex/Preliminaries/main.tex index 9198e608e0c..9c9d10078f4 100644 --- a/Manual/doc_tex/Preliminaries/main.tex +++ b/Manual/doc_tex/Preliminaries/main.tex @@ -111,10 +111,19 @@ a command-line switch \ccc{-std=c++0x} which enables some of those features. some of these features if they are available, although no extensive support has been implemented yet. +\section{Functor Return Types} + +\cgal\ functors support the +\ccAnchor{http://www.boost.org/doc/libs/release/libs/utility/utility.htm#result_of}{result\_of} +protocol. If a functor \ccStyle{F} has the same return type across all +overloads of \ccStyle{operator()}, the nested type +\ccStyle{F::result_type} is defined to be that type. Otherwise the +return type of calling the functor with an argument of type +\ccStyle{Arg} can be accessed through +\ccStyle{boost::result_of::type}. \input{Preliminaries/checks} % extra chapter - \section{Identifying the Version of CGAL\label{sec:cgal_version}} \ccInclude{CGAL/config.h} diff --git a/Manual_tools/dont_submit b/Manual_tools/dont_submit index 42ed8f9806b..72e8ffc0db8 100644 --- a/Manual_tools/dont_submit +++ b/Manual_tools/dont_submit @@ -1,20 +1 @@ -aspell -CHANGES -doc_html -doc_pdf -doc_ps -dont_submit -example -image_makers -INSTALLATION -install.config -install.sh -package_info -README -release_procedure -scripts -src -sty -test -TO_DO - +* diff --git a/Manual_tools/src/basic.cpp b/Manual_tools/src/basic.cpp index b211fd4a8f8..69dd678003c 100644 --- a/Manual_tools/src/basic.cpp +++ b/Manual_tools/src/basic.cpp @@ -23,7 +23,7 @@ extern "C" { // Own assertion macro // ================================================ -void cc_assertion_error( char *cond, char *fname, int line) { +void cc_assertion_error(const char *cond, const char *fname, int line) { cerr << endl << "fatal error: assertion '" << cond << "' failed in line " << line << " of file '" << fname << "'." << endl; abort(); diff --git a/Manual_tools/src/basic.h b/Manual_tools/src/basic.h index 5a4ba9d1025..f43e5ba0aac 100644 --- a/Manual_tools/src/basic.h +++ b/Manual_tools/src/basic.h @@ -24,7 +24,7 @@ using namespace std; // Own assertion macro // ================================================ -void cc_assertion_error( char *cond, char *fname, int line); +void cc_assertion_error(const char *cond, const char *fname, int line); #if !NDEBUG #define CC_Assert( cond) {\ diff --git a/Manual_tools/src/internal_macros.cpp b/Manual_tools/src/internal_macros.cpp index c2231363569..26f2b3b1479 100644 --- a/Manual_tools/src/internal_macros.cpp +++ b/Manual_tools/src/internal_macros.cpp @@ -1247,7 +1247,7 @@ string open_tmp_file( const string&, string param[], size_t n, size_t opt) { NParamCheck( 1, 0); remove_separator( param[0]); - push_current_output_w_filename( tmp_path + expandFirstMacro(param[0]) ); + push_current_output_w_filename( expandFirstMacro(param[0]), tmp_path ); return string(); } diff --git a/Manual_tools/src/latex_converter_config/html/Biblio/how_to_cite_cgal.bib b/Manual_tools/src/latex_converter_config/html/Biblio/how_to_cite_cgal.bib index 7487d5c436f..7f79ad9cfd3 100644 --- a/Manual_tools/src/latex_converter_config/html/Biblio/how_to_cite_cgal.bib +++ b/Manual_tools/src/latex_converter_config/html/Biblio/how_to_cite_cgal.bib @@ -6,7 +6,7 @@ % % automatically generated % % bibtex2html ../../../../Manual/doc_tex/Manual/manual-4.0.bib -% Date: Fri Jan 13 19:00:54 2012 +% Date: Fri Feb 10 11:12:12 2012 % Author: lrineau % @@ -29,7 +29,7 @@ AUTHOR = {{The CGAL Project}}, ALTEDITOR = {}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html}}, } @@ -40,7 +40,7 @@ TITLE = {Algebraic Foundations}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:AlgebraicFoundations}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:AlgebraicFoundations}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:AlgebraicFoundations}}, } @@ -52,7 +52,7 @@ TITLE = {Algebraic Kernel}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:AlgebraicKerneld}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:AlgebraicKerneld}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:AlgebraicKerneld}}, } @@ -64,7 +64,7 @@ TITLE = {Number Types}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:NumberTypes}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:NumberTypes}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:NumberTypes}}, } @@ -75,7 +75,7 @@ TITLE = {Polynomial}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:Polynomial}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:Polynomial}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:Polynomial}}, } @@ -86,7 +86,7 @@ TITLE = {Modular Arithmetic}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:ModularArithmetic}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:ModularArithmetic}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:ModularArithmetic}}, } @@ -99,7 +99,7 @@ TITLE = {{2D} and {3D} Geometry Kernel}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:Kernel23}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:Kernel23}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:Kernel23}}, } @@ -110,7 +110,7 @@ TITLE = {{dD} Geometry Kernel}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:KernelD}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:KernelD}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:KernelD}}, } @@ -122,7 +122,7 @@ TITLE = {{2D} Circular Geometry Kernel}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:CircularKernel2}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:CircularKernel2}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:CircularKernel2}}, } @@ -134,7 +134,7 @@ TITLE = {{3D} Spherical Geometry Kernel}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:SphericalKernel3}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:SphericalKernel3}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:SphericalKernel3}}, } @@ -145,7 +145,7 @@ TITLE = {{2D} Convex Hulls and Extreme Points}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:ConvexHull2}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:ConvexHull2}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:ConvexHull2}}, } @@ -156,7 +156,7 @@ TITLE = {{3D} Convex Hulls}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:ConvexHull3}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:ConvexHull3}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:ConvexHull3}}, } @@ -167,7 +167,7 @@ TITLE = {{2D} Polygons}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:Polygon2}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:Polygon2}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:Polygon2}}, } @@ -178,7 +178,7 @@ TITLE = {{2D} Polygon Partitioning}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:PolygonPartitioning2}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:PolygonPartitioning2}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:PolygonPartitioning2}}, } @@ -189,7 +189,7 @@ TITLE = {{dD} Convex Hulls and {Delaunay} Triangulations}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:ConvexHullD}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:ConvexHullD}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:ConvexHullD}}, } @@ -200,7 +200,7 @@ TITLE = {{3D} Polyhedral Surfaces}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:Polyhedron}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:Polyhedron}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:Polyhedron}}, } @@ -211,7 +211,7 @@ TITLE = {Halfedge Data Structures}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:HDS}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:HDS}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:HDS}}, } @@ -222,10 +222,21 @@ TITLE = {Combinatorial Maps}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:CombinatorialMaps}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:CombinatorialMaps}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:CombinatorialMaps}}, } +@INCOLLECTION{cgal:d-lcc-12, + AUTHOR = {Guillaume Damiand}, + BOOKTITLE = {{CGAL} User and Reference Manual}, + PUBLISHER = {{CGAL Editorial Board}}, + TITLE = {Linear Cell Complex}, + YEAR = {2012}, + EDITION = {{4.0}}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:LinearCellComplex}, + ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:LinearCellComplex}}, +} + @INCOLLECTION{cgal:fwzh-rbso2-12, AUTHOR = {Efi Fogel and Ron Wein and Baruch Zukerman and Dan Halperin}, @@ -234,7 +245,7 @@ TITLE = {{2D} Regularized {Boolean} Set-Operations}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:BooleanSetOperations2}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:BooleanSetOperations2}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:BooleanSetOperations2}}, } @@ -245,7 +256,7 @@ TITLE = {{2D} {Minkowski} Sums}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:MinkowskiSum2}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:MinkowskiSum2}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:MinkowskiSum2}}, } @@ -256,7 +267,7 @@ TITLE = {{2D} {Boolean} Operations on {Nef} Polygons}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:Nef2}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:Nef2}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:Nef2}}, } @@ -268,7 +279,7 @@ Sphere}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:NefS2}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:NefS2}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:NefS2}}, } @@ -279,7 +290,7 @@ TITLE = {{3D} {Boolean} Operations on {Nef} Polyhedra}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:Nef3}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:Nef3}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:Nef3}}, } @@ -290,7 +301,7 @@ TITLE = {Convex Decomposition of Polyhedra}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:ConvexDecomposition3}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:ConvexDecomposition3}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:ConvexDecomposition3}}, } @@ -301,7 +312,7 @@ TITLE = {{3D} {Minkowski} Sum of Polyhedra}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:MinkowskiSum3}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:MinkowskiSum3}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:MinkowskiSum3}}, } @@ -312,7 +323,7 @@ TITLE = {{2D} Straight Skeleton and Polygon Offsetting}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:StraightSkeleton2}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:StraightSkeleton2}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:StraightSkeleton2}}, } @@ -324,7 +335,7 @@ TITLE = {{2D} Arrangements}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:Arrangement2}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:Arrangement2}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:Arrangement2}}, } @@ -335,7 +346,7 @@ TITLE = {{2D} Intersection of Curves}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:IntersectionOfCurves2}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:IntersectionOfCurves2}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:IntersectionOfCurves2}}, } @@ -346,7 +357,7 @@ TITLE = {{2D} Snap Rounding}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:SnapRounding2}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:SnapRounding2}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:SnapRounding2}}, } @@ -357,7 +368,7 @@ TITLE = {{2D} Envelopes}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:Envelope2}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:Envelope2}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:Envelope2}}, } @@ -368,7 +379,7 @@ TITLE = {{3D} Envelopes}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:Envelope3}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:Envelope3}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:Envelope3}}, } @@ -379,7 +390,7 @@ TITLE = {{2D} Triangulations}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:Triangulation2}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:Triangulation2}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:Triangulation2}}, } @@ -390,7 +401,7 @@ TITLE = {{2D} Triangulation Data Structure}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:TDS2}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:TDS2}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:TDS2}}, } @@ -401,7 +412,7 @@ TITLE = {{3D} Triangulations}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:Triangulation3}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:Triangulation3}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:Triangulation3}}, } @@ -412,7 +423,7 @@ TITLE = {{3D} Triangulation Data Structure}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:TDS3}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:TDS3}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:TDS3}}, } @@ -423,7 +434,7 @@ TITLE = {{3D} Periodic Triangulations}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:Periodic3Triangulation3}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:Periodic3Triangulation3}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:Periodic3Triangulation3}}, } @@ -434,7 +445,7 @@ TITLE = {{2D} Alpha Shapes}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:AlphaShape2}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:AlphaShape2}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:AlphaShape2}}, } @@ -445,7 +456,7 @@ TITLE = {{3D} Alpha Shapes}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:AlphaShapes3}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:AlphaShapes3}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:AlphaShapes3}}, } @@ -456,7 +467,7 @@ TITLE = {{2D} Segment {Delaunay} Graphs}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:SegmentDelaunayGraph2}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:SegmentDelaunayGraph2}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:SegmentDelaunayGraph2}}, } @@ -467,7 +478,7 @@ TITLE = {{2D} {Apollonius} Graphs ({Delaunay} Graphs of Disks)}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:ApolloniusGraph2}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:ApolloniusGraph2}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:ApolloniusGraph2}}, } @@ -478,7 +489,7 @@ TITLE = {{2D} {Voronoi} Diagram Adaptor}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:VoronoiDiagramAdaptor2}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:VoronoiDiagramAdaptor2}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:VoronoiDiagramAdaptor2}}, } @@ -489,7 +500,7 @@ TITLE = {{2D} Conforming Triangulations and Meshes}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:Mesh2}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:Mesh2}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:Mesh2}}, } @@ -500,7 +511,7 @@ TITLE = {{3D} Surface Mesh Generation}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:SurfaceMesher3}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:SurfaceMesher3}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:SurfaceMesher3}}, } @@ -511,7 +522,7 @@ TITLE = {Surface Reconstruction from Point Sets}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:SurfaceReconstructionFromPointSets}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:SurfaceReconstructionFromPointSets}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:SurfaceReconstructionFromPointSets}}, } @@ -522,7 +533,7 @@ TITLE = {{3D} Skin Surface Meshing}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:SkinSurface3}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:SkinSurface3}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:SkinSurface3}}, } @@ -534,7 +545,7 @@ TITLE = {{3D} Mesh Generation}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:Mesh\_3}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:Mesh\_3}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:Mesh_3}}, } @@ -545,7 +556,7 @@ TITLE = {{3D} Surface Subdivision Methods}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:SurfaceSubdivisionMethods3}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:SurfaceSubdivisionMethods3}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:SurfaceSubdivisionMethods3}}, } @@ -556,7 +567,7 @@ TITLE = {Triangulated Surface Mesh Simplification}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:SurfaceMeshSimplification}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:SurfaceMeshSimplification}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:SurfaceMeshSimplification}}, } @@ -567,7 +578,7 @@ TITLE = {Planar Parameterization of Triangulated Surface Meshes}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:SurfaceParameterization}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:SurfaceParameterization}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:SurfaceParameterization}}, } @@ -578,7 +589,7 @@ TITLE = {{2D} Range and Neighbor Search}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:PointSet2}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:PointSet2}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:PointSet2}}, } @@ -589,7 +600,7 @@ TITLE = {{dD} Range and Segment Trees}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:RangeSegmentTreesD}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:RangeSegmentTreesD}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:RangeSegmentTreesD}}, } @@ -600,7 +611,7 @@ TITLE = {Interval Skip List}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:IntervalSkipList}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:IntervalSkipList}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:IntervalSkipList}}, } @@ -611,7 +622,7 @@ TITLE = {{dD} Spatial Searching}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:SpatialSearchingD}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:SpatialSearchingD}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:SpatialSearchingD}}, } @@ -622,7 +633,7 @@ TITLE = {Intersecting Sequences of {dD} Iso-oriented Boxes}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:BoxIntersectionD}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:BoxIntersectionD}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:BoxIntersectionD}}, } @@ -634,7 +645,7 @@ TITLE = {Bounding Volumes}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:BoundingVolumes}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:BoundingVolumes}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:BoundingVolumes}}, } @@ -646,7 +657,7 @@ TITLE = {Linear and Quadratic Programming Solver}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:QPSolver}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:QPSolver}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:QPSolver}}, } @@ -657,7 +668,7 @@ TITLE = {Inscribed Areas}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:InscribedAreas}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:InscribedAreas}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:InscribedAreas}}, } @@ -669,7 +680,7 @@ TITLE = {Optimal Distances}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:OptimalDistances}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:OptimalDistances}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:OptimalDistances}}, } @@ -680,7 +691,7 @@ TITLE = {{2D} and Surface Function Interpolation}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:Interpolation2}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:Interpolation2}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:Interpolation2}}, } @@ -691,7 +702,7 @@ TITLE = {Principal Component Analysis}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:PrincipalComponentAnalysisD}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:PrincipalComponentAnalysisD}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:PrincipalComponentAnalysisD}}, } @@ -702,7 +713,7 @@ TITLE = {{2D} Placement of Streamlines}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:PlacementOfStreamlines2}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:PlacementOfStreamlines2}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:PlacementOfStreamlines2}}, } @@ -714,7 +725,7 @@ Surface Meshes}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:Ridges\_3}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:Ridges\_3}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:Ridges_3}}, } @@ -726,7 +737,7 @@ Point-Sampled Surfaces}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:Jet\_fitting\_3}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:Jet\_fitting\_3}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:Jet_fitting_3}}, } @@ -737,7 +748,7 @@ TITLE = {Point Set Processing}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:PointSetProcessing}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:PointSetProcessing}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:PointSetProcessing}}, } @@ -748,7 +759,7 @@ TITLE = {Kinetic Data Structures}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:Kds}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:Kds}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:Kds}}, } @@ -759,7 +770,7 @@ TITLE = {Kinetic Framework}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:KdsFramework}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:KdsFramework}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:KdsFramework}}, } @@ -770,7 +781,7 @@ TITLE = {{CGAL} and the Boost Graph Library}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:BGL}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:BGL}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:BGL}}, } @@ -781,7 +792,7 @@ TITLE = {{CGAL} and Boost Property Maps}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:Property\_map}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:Property\_map}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:Property_map}}, } @@ -792,7 +803,7 @@ TITLE = {Spatial Sorting}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:SpatialSorting}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:SpatialSorting}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:SpatialSorting}}, } @@ -804,7 +815,7 @@ Tree)}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:AABB\_tree}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:AABB\_tree}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:AABB_tree}}, } @@ -815,7 +826,7 @@ TITLE = {Monotone and Sorted Matrix Search}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:MatrixSearch}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:MatrixSearch}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:MatrixSearch}}, } @@ -827,7 +838,7 @@ TITLE = {STL Extensions for CGAL}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:StlExtension}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:StlExtension}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:StlExtension}}, } @@ -839,7 +850,7 @@ TITLE = {Handles and Circulators}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:HandlesAndCirculators}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:HandlesAndCirculators}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:HandlesAndCirculators}}, } @@ -851,7 +862,7 @@ TITLE = {Geometric Object Generators}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:Generators}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:Generators}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:Generators}}, } @@ -862,7 +873,7 @@ TITLE = {Profiling Tools Timers, Hash Map, Union-find, Modifiers}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:ProfilingTools}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:ProfilingTools}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:ProfilingTools}}, } @@ -873,7 +884,7 @@ TITLE = {IO Streams}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:IOstreams}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:IOstreams}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:IOstreams}}, } @@ -884,7 +895,7 @@ TITLE = {Geomview}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:Geomview}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:Geomview}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:Geomview}}, } @@ -895,7 +906,7 @@ TITLE = {{CGAL} and the Qt Graphics View Framework}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:GraphicsView}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:GraphicsView}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:GraphicsView}}, } @@ -906,7 +917,7 @@ TITLE = {{CGAL} Ipelets}, YEAR = {2012}, EDITION = {{4.0}}, - NOTE = {http\://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\:CGALIpelets}, + NOTE = {http\string://www.cgal.org/Manual/4.0/doc\_html/cgal\_manual/packages.html\#Pkg\string:CGALIpelets}, ALTNOTE = {\url{http://www.cgal.org/Manual/4.0/doc_html/cgal_manual/packages.html#Pkg:CGALIpelets}}, } diff --git a/Manual_tools/src/latex_converter_config/html/Biblio/how_to_cite_cgal.html b/Manual_tools/src/latex_converter_config/html/Biblio/how_to_cite_cgal.html index 66e593a0f21..c2ef3ee6319 100644 --- a/Manual_tools/src/latex_converter_config/html/Biblio/how_to_cite_cgal.html +++ b/Manual_tools/src/latex_converter_config/html/Biblio/how_to_cite_cgal.html @@ -291,6 +291,20 @@ CGAL Editorial Board,

+
  • +Guillaume Damiand. +Linear Cell Complex. +In CGAL User and Reference Manual. +CGAL Editorial Board, +4.0 edition, +2012. +[WWW] +[bibtex-key = cgal:d-lcc-12 - bibtex file] + +
  • +

    + +
  • Efi Fogel, Ron Wein, diff --git a/Manual_tools/src/latex_converter_config/html/makebiblio b/Manual_tools/src/latex_converter_config/html/makebiblio index 44b94ec7d60..27711d69757 100755 --- a/Manual_tools/src/latex_converter_config/html/makebiblio +++ b/Manual_tools/src/latex_converter_config/html/makebiblio @@ -20,7 +20,7 @@ perl -ni.bak -e 'BEGIN { $url =~ s/#/\\#/g; $url =~ s/_/\\_/g; $url =~ s/~/\\~/g; - $url =~ s/:/\\:/g; + $url =~ s/:/\\string:/g; $url =~ s/&/\\&/g; $url =~ s/%/\\%/g; return $url; diff --git a/Manual_tools/src/output.cpp b/Manual_tools/src/output.cpp index bdcd36cc437..3519662be26 100644 --- a/Manual_tools/src/output.cpp +++ b/Manual_tools/src/output.cpp @@ -268,13 +268,17 @@ void push_current_output( const string& key) { set_current_output( key); } -void push_current_output_w_filename( const string& filename) { +void push_current_output_w_filename( string filename, + const string path) { push_current_output(); - current_ostream = open_file_for_write( filename); current_filename = filename; - current_basename = basename_string( current_filename); + if( !path.empty() ) { + filename = path + filename; + } + current_ostream = open_file_for_write( filename); + current_basename = basename_string( filename); current_rootname = rootname_string( current_basename); - current_filepath = path_string( current_filename); + current_filepath = path_string( filename); current_uppath = uppath_string( current_filepath); insertInternalGlobalMacro( "\\lciOutputFilename",current_filename); insertInternalGlobalMacro( "\\lciOutputBasename",current_basename); diff --git a/Manual_tools/src/output.h b/Manual_tools/src/output.h index 654d98d1d90..447ff223476 100644 --- a/Manual_tools/src/output.h +++ b/Manual_tools/src/output.h @@ -95,7 +95,7 @@ void push_current_output(); void pop_current_output(); void set_current_output( const string& key); void push_current_output( const string& key); -void push_current_output_w_filename( const string& filename); +void push_current_output_w_filename(string filename, const string path = ""); extern ostringstream* savebox_stream; diff --git a/Mesh_2/demo/Mesh_2/Qt3/mesh_2_demo.cpp b/Mesh_2/demo/Mesh_2/Qt3/mesh_2_demo.cpp index ef2382c56e6..a842eb7d686 100644 --- a/Mesh_2/demo/Mesh_2/Qt3/mesh_2_demo.cpp +++ b/Mesh_2/demo/Mesh_2/Qt3/mesh_2_demo.cpp @@ -1250,7 +1250,7 @@ public slots: if ( s.isEmpty() ) return; - std::ifstream f(s); + std::ifstream f(s.ascii()); if (!f) return; if(s.right(5) == ".poly") @@ -1263,7 +1263,7 @@ public slots: int nx, ny, niso, use_threshold; float threshold; - std::ifstream ins(s); + std::ifstream ins(s.ascii()); ins >> nx >> ny >> niso >> use_threshold >> threshold; for(int c = 0; c < niso; c++) { float f; @@ -1291,7 +1291,7 @@ public slots: s.replace(QRegExp("\\.data$"), "_fault.data"); - std::ifstream ins2(s); + std::ifstream ins2(s.ascii()); int num_lines; ins2 >> num_lines; std::vector num_vertex_per_line(num_lines); @@ -1373,7 +1373,7 @@ public slots: my_filters, this ) ); if ( s.isEmpty() ) return; - std::ofstream of(s); + std::ofstream of(s.ascii()); if(s.right(5) == ".poly") CGAL::write_triangle_poly_file(cdt, of, seeds.begin(), seeds.end()); else @@ -1382,7 +1382,7 @@ public slots: void dumpTriangulation(QString s=QString("dump.edg")) { - std::ofstream of(s); + std::ofstream of(s.ascii()); write_constraints(cdt, of); } diff --git a/Mesh_3/demo/Mesh_3/Polyhedron_type_fwd.h b/Mesh_3/demo/Mesh_3/Polyhedron_type_fwd.h index 61dd6b9361d..5b84ee5fb0d 100644 --- a/Mesh_3/demo/Mesh_3/Polyhedron_type_fwd.h +++ b/Mesh_3/demo/Mesh_3/Polyhedron_type_fwd.h @@ -17,18 +17,12 @@ namespace CGAL { class Polyhedron_items_3; -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM template < class T, class I, class A> class HalfedgeDS_default; -#else - struct HalfedgeDS_default; -#endif template < class PolyhedronTraits_3, class PolyhedronItems_3, -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM template < class T, class I, class A> -#endif class T_HDS, class Alloc > diff --git a/Mesh_3/doc_tex/Mesh_3_ref/MeshCellCriteria_3.tex b/Mesh_3/doc_tex/Mesh_3_ref/MeshCellCriteria_3.tex index b8d4a0dd042..f43f71229b8 100644 --- a/Mesh_3/doc_tex/Mesh_3_ref/MeshCellCriteria_3.tex +++ b/Mesh_3/doc_tex/Mesh_3_ref/MeshCellCriteria_3.tex @@ -53,8 +53,8 @@ Note that \ccc{boost::optional} is a natural model of this concept \ccOperations -\ccMethod{Cell_badness operator()(Cell_handle c);} -{Returns \ccc{Cell_badness} value of cell \ccc{c}.} +\ccMethod{Is_cell_bad operator()(Cell_handle c);} +{Returns \ccc{Is_cell_bad} value of cell \ccc{c}.} \ccHasModels diff --git a/Mesh_3/doc_tex/Mesh_3_ref/MeshFacetCriteria_3.tex b/Mesh_3/doc_tex/Mesh_3_ref/MeshFacetCriteria_3.tex index 43d4274d8bd..b82d36f9082 100644 --- a/Mesh_3/doc_tex/Mesh_3_ref/MeshFacetCriteria_3.tex +++ b/Mesh_3/doc_tex/Mesh_3_ref/MeshFacetCriteria_3.tex @@ -56,9 +56,9 @@ a natural model of this concept} % boost::optional \ccOperations -\ccMethod{Facet_badness operator()(Facet f);} -{Returns \ccc{Facet_badness} value of facet \ccc{f}.} -\ccMethod{Facet_badness operator()(Cell_handle c, int i);} +\ccMethod{Is_facet_bad operator()(Facet f);} +{Returns \ccc{Is_facet_bad} value of facet \ccc{f}.} +\ccMethod{Is_facet_bad operator()(Cell_handle c, int i);} {Same as above with \ccc{f=(c,i)}.} diff --git a/Mesh_3/doc_tex/Mesh_3_ref/Mesh_polyhedron_3.tex b/Mesh_3/doc_tex/Mesh_3_ref/Mesh_polyhedron_3.tex index 836aff7874a..d88a91a6168 100644 --- a/Mesh_3/doc_tex/Mesh_3_ref/Mesh_polyhedron_3.tex +++ b/Mesh_3/doc_tex/Mesh_3_ref/Mesh_polyhedron_3.tex @@ -12,7 +12,7 @@ % +------------------------------------------------------------------------+ -\begin{ccRefClass}{Mesh_polyhedron_3} %% add template arg's if necessary +\begin{ccRefClass}{Mesh_polyhedron_3} %% add template arg's if necessary %% \ccHtmlCrossLink{} %% add further rules for cross referencing links %% \ccHtmlIndexC[class]{} %% add further index entries @@ -28,16 +28,18 @@ detection algorithm. \ccParameters -Template parameter \ccc{Gt} stands for the geometric traits associated -to the meshing process. It should be a model of concept \ccc{PolyhedronTraits_3}. +Template parameter \ccc{IGT} stands for the geometric traits associated +to the meshing process. It should be a model of the two concepts +\ccc{PolyhedronTraits_3} and \ccc{IntersectionGeometricTraits_3}. \ccTypes -\ccNestedType{type}{\ccc{CGAL::Polyhedron_3} type with customized \ccc{PolyhedronItems_3} +\ccNestedType{type}{\ccc{CGAL::Polyhedron_3} type with customized \ccc{PolyhedronItems_3} designed to handle sharp feature detection.} \ccSeeAlso +\ccRefIdfierPage{CGAL::Polyhedron_3} \ccRefIdfierPage{CGAL::Polyhedral_mesh_domain_with_features_3} \end{ccRefClass} diff --git a/Mesh_3/doc_tex/Mesh_3_ref/Polyhedral_mesh_domain_with_features_3.tex b/Mesh_3/doc_tex/Mesh_3_ref/Polyhedral_mesh_domain_with_features_3.tex index 3c7ccb9f9cf..ff07014507c 100644 --- a/Mesh_3/doc_tex/Mesh_3_ref/Polyhedral_mesh_domain_with_features_3.tex +++ b/Mesh_3/doc_tex/Mesh_3_ref/Polyhedral_mesh_domain_with_features_3.tex @@ -53,7 +53,7 @@ instantiated with a model of the concept \ccc{IntersectionGeometricTraits_3}. \ccConstructor{template Polyhedral_mesh_domain_with_features_3(const Polyhedron& p);}{ Constructs a \ccc{Polyhedral_mesh_domain_with_features_3} from a \ccc{Polyhedron}. -The only requirement on type \ccc{Polyhedron} is that \ccc{CGAL::Polyhedron_3} should +The only requirement on type \ccc{Polyhedron} is that \ccc{CGAL::Mesh_polyhedron_3::type} should be constructible from \ccc{Polyhedron}. No feature detection is done at this level. Note that a copy of \ccc{p} will be done.} @@ -73,7 +73,7 @@ those triangles is a feature edge.} \ccRefConceptPage{MeshDomainWithFeatures_3} \\ \ccRefIdfierPage{CGAL::Mesh_domain_with_polyline_features_3} \\ \ccRefIdfierPage{CGAL::Polyhedral_mesh_domain_3} \\ -\ccRefConceptPage{Mesh_polyhedron_3} +\ccRefIdfierPage{CGAL::Mesh_polyhedron_3} \end{ccRefClass} diff --git a/Mesh_3/doc_tex/Mesh_3_ref/intro.tex b/Mesh_3/doc_tex/Mesh_3_ref/intro.tex index dd1b5e63f7f..62b6ec7868c 100644 --- a/Mesh_3/doc_tex/Mesh_3_ref/intro.tex +++ b/Mesh_3/doc_tex/Mesh_3_ref/intro.tex @@ -51,7 +51,7 @@ and their associated classes: \ccRefIdfierPage{CGAL::Polyhedral_mesh_domain_with_features_3} \\ \ccRefIdfierPage{CGAL::Labeled_image_mesh_domain_3} \\ \ccRefIdfierPage{CGAL::Mesh_domain_with_polyline_features_3} \\ -\ccRefIdfierPage{CGAL::Mesh_polyhedron_3} \\ +\ccRefIdfierPage{CGAL::Mesh_polyhedron_3} \\ \ccRefIdfierPage{CGAL::Triangle_accessor_3,K>} \\ diff --git a/Mesh_3/examples/Mesh_3/implicit_functions.cpp b/Mesh_3/examples/Mesh_3/implicit_functions.cpp index c7be19a69b5..2491ccdffa8 100644 --- a/Mesh_3/examples/Mesh_3/implicit_functions.cpp +++ b/Mesh_3/examples/Mesh_3/implicit_functions.cpp @@ -1,6 +1,14 @@ // Copyright (c) 2003-2006 INRIA Sophia-Antipolis (France). // All rights reserved. // +// This file is part of CGAL (www.cgal.org). +// You can redistribute it and/or modify it under the terms of the GNU +// General Public License as published by the Free Software Foundation, +// either version 3 of the License, or (at your option) any later version. +// +// Licensees holding a valid commercial license may use this file in +// accordance with the commercial license agreement provided with the software. +// // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. // diff --git a/Mesh_3/examples/Mesh_3/implicit_functions.h b/Mesh_3/examples/Mesh_3/implicit_functions.h index 5d55a68babb..8b7b903d428 100644 --- a/Mesh_3/examples/Mesh_3/implicit_functions.h +++ b/Mesh_3/examples/Mesh_3/implicit_functions.h @@ -1,6 +1,14 @@ // Copyright (c) 2006 INRIA Sophia-Antipolis (France). // All rights reserved. // +// This file is part of CGAL (www.cgal.org). +// You can redistribute it and/or modify it under the terms of the GNU +// General Public License as published by the Free Software Foundation, +// either version 3 of the License, or (at your option) any later version. +// +// Licensees holding a valid commercial license may use this file in +// accordance with the commercial license agreement provided with the software. +// // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. // diff --git a/Mesh_3/include/CGAL/Mesh_3/Refine_facets_3.h b/Mesh_3/include/CGAL/Mesh_3/Refine_facets_3.h index 8ec382dd4de..9592d6ff773 100644 --- a/Mesh_3/include/CGAL/Mesh_3/Refine_facets_3.h +++ b/Mesh_3/include/CGAL/Mesh_3/Refine_facets_3.h @@ -172,7 +172,7 @@ public: /// Job to do after insertion void after_insertion_impl(const Vertex_handle& v) - { restore_restricted_Delaunay(v); } + { restore_restricted_Delaunay(v); } /// Insert p into triangulation Vertex_handle insert_impl(const Point& p, const Zone& zone); @@ -935,7 +935,7 @@ after_insertion_handle_incident_facet(Facet& facet) { // If the facet is infinite or has been already visited, // then there is nothing to do as for it or its edges - Facet other_side = mirror_facet(facet); + // Facet other_side = mirror_facet(facet); if ( r_tr_.is_infinite(facet) || (is_facet_visited(facet)) ) // && is_facet_visited(other_side)) ) { return; diff --git a/Mesh_3/include/CGAL/Triangle_accessor_3.h b/Mesh_3/include/CGAL/Triangle_accessor_3.h index ae1faf5424e..f4ee9f91cf2 100644 --- a/Mesh_3/include/CGAL/Triangle_accessor_3.h +++ b/Mesh_3/include/CGAL/Triangle_accessor_3.h @@ -38,9 +38,7 @@ class Triangle_accessor_3 { template < class K,class Items, -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM template < class T, class I, class A> -#endif class T_HDS, class Alloc> class Triangle_accessor_3, K > diff --git a/Minkowski_sum_3/include/CGAL/Minkowski_sum_3/bipartite_nary_union_sorted_combined.h b/Minkowski_sum_3/include/CGAL/Minkowski_sum_3/bipartite_nary_union_sorted_combined.h index 30d9ae5d626..d9500a27921 100644 --- a/Minkowski_sum_3/include/CGAL/Minkowski_sum_3/bipartite_nary_union_sorted_combined.h +++ b/Minkowski_sum_3/include/CGAL/Minkowski_sum_3/bipartite_nary_union_sorted_combined.h @@ -109,7 +109,6 @@ bipartite_nary_union_sorted_combined(Nef_polyhedron& N0, typedef typename PQ::iterator PQ_iterator; GM_list GM0; - std::size_t shells = N0.number_of_volumes(); Volume_const_iterator c0; for(c0 = ++N0.volumes_begin(); c0 != N0.volumes_end(); ++c0) { @@ -119,7 +118,6 @@ bipartite_nary_union_sorted_combined(Nef_polyhedron& N0, } GM_list GM1; - shells = N1.number_of_volumes(); Volume_const_iterator c1; for(c1 = ++N1.volumes_begin(); c1 != N1.volumes_end(); ++c1) { diff --git a/Nef_2/include/CGAL/Nef_2/HDS_items.h b/Nef_2/include/CGAL/Nef_2/HDS_items.h index 213e191b90c..ac11eea2930 100644 --- a/Nef_2/include/CGAL/Nef_2/HDS_items.h +++ b/Nef_2/include/CGAL/Nef_2/HDS_items.h @@ -26,6 +26,9 @@ #include #include #include +#ifndef CGAL_I_DO_WANT_TO_USE_GENINFO +#include +#endif namespace CGAL { @@ -61,7 +64,11 @@ public: typedef typename Refs::Face_const_handle Face_const_handle; typedef typename Refs::Halfedge Halfedge; typedef typename Refs::Face Face; - typedef void* GenPtr; + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + typedef void* GenPtr; + #else + typedef boost::any GenPtr; + #endif typedef typename Traits::Point Point; // geometric embedding typedef typename Traits::Mark Mark; // information @@ -76,12 +83,20 @@ private: GenPtr _i; public: - Nef_vertex_2() : _h(),_f(),_ivit(),_m(0),_i((GenPtr)0xABCD) {} + Nef_vertex_2() : _h(),_f(),_ivit(),_m(0) + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + ,_i((GenPtr)0xABCD) + #endif + {} // constructs an uninitialized vertex concerning embedding // and mark. All links are initialized by their default value. Nef_vertex_2( const Point& p) : - _h(),_f(),_p(p),_ivit(),_m(0),_i((GenPtr)0xABCD) {} + _h(),_f(),_p(p),_ivit(),_m(0) + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + ,_i((GenPtr)0xABCD) + #endif + {} // constructs a vertex with embedding |p| and mark |m|. // All links are initialized by their default value. @@ -138,7 +153,11 @@ public: typedef typename Refs::Face_const_handle Face_const_handle; typedef typename Refs::Vertex Vertex; typedef typename Refs::Face Face; - typedef void* GenPtr; + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + typedef void* GenPtr; + #else + typedef boost::any GenPtr; + #endif typedef typename std::list::iterator fc_iterator; @@ -154,7 +173,11 @@ protected: public: Nef_halfedge_2() : - opp(),prv(),nxt(),_v(),_f(),_fcit(),_m(0),_i((GenPtr)0xABCD) {} + opp(),prv(),nxt(),_v(),_f(),_fcit(),_m(0) + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + ,_i((GenPtr)0xABCD) + #endif + {} /*{\Mcreate constructs an uninitialized halfedge concerning embedding and mark. All links are initialized by their default value.}*/ @@ -227,7 +250,11 @@ public: typedef typename Refs::Face_const_handle Face_const_handle; typedef typename Refs::Vertex Vertex; typedef typename Refs::Halfedge Halfedge; - typedef void* GenPtr; + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + typedef void* GenPtr; + #else + typedef boost::any GenPtr; + #endif typedef typename Traits::Mark Mark; // mark information @@ -300,7 +327,11 @@ private: GenPtr _i; public: - Nef_face_2() : _e(),_m(0),_i((GenPtr)0xABCD) {} + Nef_face_2() : _e(),_m(0) + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + ,_i((GenPtr)0xABCD) + #endif + {} /*{\Mcreate constructs an uninitialized face with undefined mark, empty face cycle list, and empty isolated vertices list.}*/ diff --git a/Nef_2/include/CGAL/Nef_2/PM_checker.h b/Nef_2/include/CGAL/Nef_2/PM_checker.h index a22caee7723..339baf0d0ad 100644 --- a/Nef_2/include/CGAL/Nef_2/PM_checker.h +++ b/Nef_2/include/CGAL/Nef_2/PM_checker.h @@ -174,9 +174,9 @@ check_forward_prefix_condition(Vertex_const_handle v) const error_status << " el_forward = " << el_forward; error_status << " is_left_turn = " << is_left_turn; CGAL_assertion_msg( (ef == el || - ef_forward && !el_forward || - ef_forward && el_forward && is_left_turn || - !ef_forward && !el_forward && is_left_turn) , + (ef_forward && !el_forward) || + (ef_forward && el_forward && is_left_turn) || + (!ef_forward && !el_forward && is_left_turn)) , error_status.str().c_str()); } diff --git a/Nef_2/include/CGAL/Nef_2/PM_const_decorator.h b/Nef_2/include/CGAL/Nef_2/PM_const_decorator.h index e0f6245e4d8..946f3313e3e 100644 --- a/Nef_2/include/CGAL/Nef_2/PM_const_decorator.h +++ b/Nef_2/include/CGAL/Nef_2/PM_const_decorator.h @@ -32,6 +32,10 @@ #define CGAL_NEF_DEBUG 7 #include +#ifndef CGAL_I_DO_WANT_TO_USE_GENINFO +#include +#endif + namespace CGAL { template @@ -132,8 +136,13 @@ typedef typename Traits::Mark Mark; /*{\Mtypemember All objects (vertices, edges, faces) are attributed by a |Mark| object.}*/ typedef size_t Size_type; +#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO /*{\Mtypemember The size type.}*/ typedef void* GenPtr; +#else +typedef boost::any GenPtr; +#endif + typedef typename HDS::Vertex Vertex; @@ -403,7 +412,11 @@ std::string PE(HH e) { std::ostringstream os; if (e==HH()) return "nil"; os << "[" << PV(e->opposite()->vertex()) << "," - << PV(e->vertex()) << " " << e->info() << "]"; + << PV(e->vertex()) << " " + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + << e->info() + #endif + << "]"; return os.str(); } diff --git a/Nef_2/include/CGAL/Nef_2/PM_decorator.h b/Nef_2/include/CGAL/Nef_2/PM_decorator.h index d4b0df31fcb..61a791c47dd 100644 --- a/Nef_2/include/CGAL/Nef_2/PM_decorator.h +++ b/Nef_2/include/CGAL/Nef_2/PM_decorator.h @@ -21,7 +21,11 @@ #ifndef CGAL_PM_DECORATOR_H #define CGAL_PM_DECORATOR_H #include +#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO #include +#else +#include +#endif #include #include diff --git a/Nef_2/include/CGAL/Nef_2/PM_overlayer.h b/Nef_2/include/CGAL/Nef_2/PM_overlayer.h index 024136378f9..9703b10b272 100644 --- a/Nef_2/include/CGAL/Nef_2/PM_overlayer.h +++ b/Nef_2/include/CGAL/Nef_2/PM_overlayer.h @@ -25,7 +25,11 @@ #include #include #include +#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO #include +#else +#include +#endif #undef CGAL_NEF_DEBUG #define CGAL_NEF_DEBUG 13 #include @@ -49,7 +53,11 @@ struct PMO_from_segs { Vertex_handle new_vertex(const Point& p) { Vertex_handle v = G.new_vertex(p); + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO geninfo::create(G.info(v)); + #else + G.info(v)=Halfedge_handle(); + #endif return v; } @@ -78,15 +86,32 @@ struct PMO_from_segs { { D.ending_segment(v,it); } void halfedge_below(Vertex_handle v, Halfedge_handle e) const - { geninfo::access(G.info(v)) = e; } + { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + geninfo::access(G.info(v)) = e; + #else + *boost::any_cast(&G.info(v)) = e; + #endif + } Halfedge_handle halfedge_below(Vertex_handle v) const - { return geninfo::access(G.info(v)); } + { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + return geninfo::access(G.info(v)); + #else + return + boost::any_cast(G.info(v)); + #endif + } void clear_temporary_vertex_info() const { Vertex_handle v; for(v = G.vertices_begin(); v!= G.vertices_end(); ++v) + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO geninfo::clear(G.info(v)); + #else + G.info(v)=boost::any(); + #endif } @@ -634,13 +659,32 @@ struct vertex_info { }; void assoc_info(Vertex_handle v) const -{ geninfo::create(info(v)); } +{ + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + geninfo::create(info(v)); + #else + info(v)=vertex_info(); + #endif +} void discard_info(Vertex_handle v) const -{ geninfo::clear(info(v)); } +{ + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + geninfo::clear(info(v)); + #else + info(v)=boost::any(); + #endif +} vertex_info& ginfo(Vertex_handle v) const -{ return geninfo::access(info(v)); } +{ + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + return geninfo::access(info(v)); + #else + return + *boost::any_cast(&info(v)); + #endif +} Mark& mark(Vertex_handle v, int i) const { return ginfo(v).m[i]; } @@ -667,15 +711,36 @@ struct halfedge_info { }; void assoc_info(Halfedge_handle e) const -{ geninfo::create(info(e)); - geninfo::create(info(twin(e))); } +{ + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + geninfo::create(info(e)); + geninfo::create(info(twin(e))); + #else + info(e)=halfedge_info(); + info(twin(e))=halfedge_info(); + #endif +} void discard_info(Halfedge_handle e) const -{ geninfo::clear(info(e)); - geninfo::clear(info(twin(e))); } +{ + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + geninfo::clear(info(e)); + geninfo::clear(info(twin(e))); + #else + info(e)=boost::any(); + info(twin(e))=boost::any(); + #endif +} halfedge_info& ginfo(Halfedge_handle e) const -{ return geninfo::access(info(e)); } +{ + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + return geninfo::access(info(e)); + #else + return + *boost::any_cast(&info(e)); + #endif +} Mark& mark(Halfedge_handle e, int i) const // uedge information we store in the smaller one @@ -702,13 +767,32 @@ struct face_info { }; void assoc_info(Face_handle f) const -{ geninfo::create(info(f)); } +{ + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + geninfo::create(info(f)); + #else + info(f)=face_info(); + #endif +} void discard_info(Face_handle f) const -{ geninfo::clear(info(f)); } +{ + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + geninfo::clear(info(f)); + #else + info(f)=boost::any(); + #endif +} face_info& ginfo(Face_handle f) const -{ return geninfo::access(info(f)); } +{ + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + return geninfo::access(info(f)); + #else + return + *boost::any_cast(&info(f)); + #endif +} Mark& mark(Face_handle f, int i) const { return ginfo(f).m[i]; } @@ -816,7 +900,7 @@ void create_face_objects_pl(const Below_info& D) const MinimalHalfedge.push_back(e_min); ++i; } - Face_handle f_outer = this->new_face(); + (void)/* Face_handle f_outer = */ this->new_face(); for (int j=0; j +#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO #include +#else +#include +#endif #ifdef CGAL_USE_LEDA #include @@ -468,27 +472,57 @@ public: void operator()(Vertex_handle vn, Vertex_const_handle vo) const { Face_const_handle f; if ( Po.is_isolated(vo) ) f = Po.face(vo); + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO geninfo::create(info(vn)); geninfo::access(info(vn)) = VF_pair(vo,f); + #else + info(vn) = VF_pair(vo,f); + #endif CGAL_NEF_TRACEN("linking to org "<::create(info(hn)); + { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + geninfo::create(info(hn)); geninfo::access(info(hn)) = EF_pair(ho,Po.face(ho)); + #else + info(hn) = EF_pair(ho,Po.face(ho)); + #endif CGAL_NEF_TRACEN("linking to org "<::const_access(CT.info(v)).first; } + { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + return geninfo::const_access(CT.info(v)).first; + #else + return + boost::any_cast(CT.info(v)).first; + #endif + } Halfedge_const_handle input_halfedge(Halfedge_const_handle e) const - { return geninfo::const_access(CT.info(e)).first; } + { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + return geninfo::const_access(CT.info(e)).first; + #else + return + boost::any_cast(CT.info(e)).first; + #endif + } Face_const_handle input_face(Halfedge_const_handle e) const - { return geninfo::const_access(CT.info(e)).second; } + { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + return geninfo::const_access(CT.info(e)).second; + #else + return + boost::any_cast(CT.info(e)).second; + #endif + } Object_handle input_object(Vertex_const_handle v) const @@ -547,10 +581,19 @@ protected: { Halfedge_handle e_from = previous(e); Face_const_handle f; if ( is_closed_at_source(e) ) // source(e) was isolated before + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO f = geninfo::access(info(source(e))).second; else - f = geninfo::access(info(e_from)).second; + f = geninfo::access(info(e_from)).second; + #else + f = + boost::any_cast(info(source(e))).second; + else + f = + boost::any_cast(info(e_from)).second; + #endif mark(e) = _DP.mark(f); + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO geninfo::create(info(e)); geninfo::create(info(twin(e))); @@ -560,6 +603,10 @@ protected: geninfo::access(info(e)).second = geninfo::access(info(twin(e))).second = f; + #else + info(e)=EF_pair(Halfedge_const_handle(),f); + info(twin(e))=EF_pair(Halfedge_const_handle(),f); + #endif CGAL_NEF_TRACEN("CT_new_edge "<:: { CGAL_NEF_TRACEN("clear_static_point_locator"); Vertex_iterator vit, vend = CT.vertices_end(); for (vit = CT.vertices_begin(); vit != vend; ++vit) { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO geninfo::clear(CT.info(vit)); + #else + CT.info(vit)=boost::any(); + #endif } Halfedge_iterator eit, eend = CT.halfedges_end(); for (eit = CT.halfedges_begin(); eit != eend; ++eit) { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO geninfo::clear(CT.info(eit)); + #else + CT.info(eit)=boost::any(); + #endif } CT.clear(); delete &(CT.plane_map()); diff --git a/Nef_2/include/CGAL/Nef_2/gen_point_location.h b/Nef_2/include/CGAL/Nef_2/gen_point_location.h index a9bbd396554..536ada6426c 100644 --- a/Nef_2/include/CGAL/Nef_2/gen_point_location.h +++ b/Nef_2/include/CGAL/Nef_2/gen_point_location.h @@ -33,7 +33,12 @@ #include #include #include +#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO #include +#else +#include +#endif + #undef CGAL_NEF_DEBUG #define CGAL_NEF_DEBUG 17 @@ -56,7 +61,11 @@ class GenericLocation { point location. It can store a node or an edge of a graph or the special value |nil| which is used to signal that no node or edge could be found. }*/ - typedef void* GenPtr; + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + typedef void* GenPtr; + #else + typedef boost::any GenPtr; + #endif public: /*{\Mtypes}*/ enum Type { NIL, NODE, EDGE }; @@ -85,7 +94,12 @@ public: if (type != NODE) CGAL_LEDA_SCOPE::error_handler(1, "Location: not convertible to node"); #endif + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO return geninfo::const_access(value); + #else + return + *boost::any_cast(&value); + #endif } /*{\Mconversion converts |\Mvar| into a node.\\ \precond |\Mvar| represents a node.}*/ @@ -96,7 +110,12 @@ public: if (type != EDGE) CGAL_LEDA_SCOPE::error_handler(1, "Location: not convertible to edge"); #endif + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO return geninfo::const_access(value); + #else + return + *boost::any_cast(&value); + #endif } /*{\Mconversion converts |\Mvar| into an edge.\\ \precond |\Mvar| represents an edge.}*/ @@ -125,20 +144,33 @@ public: void init() { type = NIL; } void init(Node n) { type = NODE; + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO geninfo::create(value); - geninfo::access(value) = n; + geninfo::access(value) = n; + #else + value=n; + #endif } void init(Edge e) { type = EDGE; + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO geninfo::create(value); - geninfo::access(value) = e; + geninfo::access(value) = e; + #else + value=e; + #endif } void clear() { switch(type) { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO case NODE: geninfo::clear(value); break; case EDGE: geninfo::clear(value); break; + #else + case NODE: value=boost::any(); break; + case EDGE: value=boost::any(); break; + #endif case NIL: break; } } @@ -148,10 +180,18 @@ public: type = L.type; switch(type) { case NODE: - geninfo::access(value) = geninfo::const_access(L.value); + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + geninfo::access(value) = geninfo::const_access(L.value); + #else + *boost_any_cast(&value) = boost::any_cast(L.value); + #endif break; case EDGE: + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO geninfo::access(value) = geninfo::const_access(L.value); + #else + *boost::any_cast(&value) = boost::any_cast(L.value); + #endif break; case NIL: break; } diff --git a/Nef_2/include/CGAL/Nef_2/geninfo.h b/Nef_2/include/CGAL/Nef_2/geninfo.h index f27c85eb19e..1a26b4fe7cf 100644 --- a/Nef_2/include/CGAL/Nef_2/geninfo.h +++ b/Nef_2/include/CGAL/Nef_2/geninfo.h @@ -21,6 +21,11 @@ #ifndef CGAL_NEF_2_GENINFO_H #define CGAL_NEF_2_GENINFO_H + +//This file is deprecated and something like boost::any or boost::variant should +//be used instead +#include + #include #include diff --git a/Nef_2/noweb/Constrained_triang.lw b/Nef_2/noweb/Constrained_triang.lw index e5de0bd9712..1a4a847c0a8 100644 --- a/Nef_2/noweb/Constrained_triang.lw +++ b/Nef_2/noweb/Constrained_triang.lw @@ -970,7 +970,7 @@ triangulation algorithm. #include #include #include "Affine_geometry.h" -#undef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM + #include #include #include diff --git a/Nef_3/include/CGAL/Nef_3/Halfedge.h b/Nef_3/include/CGAL/Nef_3/Halfedge.h index b92186a7bdf..795578b10ca 100644 --- a/Nef_3/include/CGAL/Nef_3/Halfedge.h +++ b/Nef_3/include/CGAL/Nef_3/Halfedge.h @@ -34,12 +34,20 @@ #define CGAL_NEF_DEBUG 83 #include +#ifndef CGAL_I_DO_WANT_TO_USE_GENINFO +#include +#endif + namespace CGAL { template class Halfedge_base { // == Halfedge + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO typedef void* GenPtr; + #else + typedef boost::any GenPtr; + #endif typedef typename Refs::Mark Mark; typedef typename Refs::Vector_3 Vector_3; typedef typename Refs::Sphere_point Sphere_point; @@ -131,7 +139,11 @@ class Halfedge_base std::string debug() const { std::stringstream os; set_pretty_mode(os); - os<<"sv [ "< void initialize_hash(Handle h) {} + template void initialize_hash(Handle /*h*/) {} void initialize_hash(int i) {} void handle_support(SVertex_handle , SHalfedge_const_handle , diff --git a/Nef_3/include/CGAL/Nef_3/SFace.h b/Nef_3/include/CGAL/Nef_3/SFace.h index 2f617e185cc..f00c92682fe 100644 --- a/Nef_3/include/CGAL/Nef_3/SFace.h +++ b/Nef_3/include/CGAL/Nef_3/SFace.h @@ -33,11 +33,19 @@ #define CGAL_NEF_DEBUG 83 #include +#ifndef CGAL_I_DO_WANT_TO_USE_GENINFO +#include +#endif + namespace CGAL { template class SFace_base { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO typedef void* GenPtr; + #else + typedef boost::any GenPtr; + #endif typedef typename Refs::Mark Mark; typedef typename Refs::Vertex_handle Vertex_handle; typedef typename Refs::Vertex_const_handle Vertex_const_handle; diff --git a/Nef_3/include/CGAL/Nef_3/SHalfedge.h b/Nef_3/include/CGAL/Nef_3/SHalfedge.h index 1ee884bdc3a..b5a882a4040 100644 --- a/Nef_3/include/CGAL/Nef_3/SHalfedge.h +++ b/Nef_3/include/CGAL/Nef_3/SHalfedge.h @@ -33,11 +33,19 @@ #define CGAL_NEF_DEBUG 83 #include +#ifndef CGAL_I_DO_WANT_TO_USE_GENINFO +#include +#endif + namespace CGAL { template class SHalfedge_base { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO typedef void* GenPtr; + #else + typedef boost::any GenPtr; + #endif typedef typename Refs::Mark Mark; typedef typename Refs::Sphere_circle Sphere_circle; @@ -199,7 +207,11 @@ class SHalfedge_base { { std::stringstream os; set_pretty_mode(os); os <<"e[ "<debug()<<", " - <source_->debug()<<" "<source_->debug() + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + <<" "< +#else +#include +#endif #include #include #include @@ -123,7 +126,12 @@ std::vector& Support; unsigned edge_number; Vertex_handle new_vertex(const Point& p) const -{ geninfo::create(p.vertex()->info()); +{ + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + geninfo::create(p.vertex()->info()); + #else + p.vertex()->info()=unsigned(); + #endif return p.vertex(); } Halfedge_handle new_halfedge_pair_at_source(Vertex_handle v) @@ -135,7 +143,12 @@ void supporting_segment(Halfedge_handle e, I it) void halfedge_below(Vertex_handle v, Halfedge_handle e) { CGAL_NEF_TRACEN("halfedge_below point "<< v->point() <<": " << e); - geninfo::access(v->info()) = e; } + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + geninfo::access(v->info()) = e; + #else + v->info() = e; + #endif +} // all empty, no update necessary void link_as_target_and_append(Vertex_handle, Halfedge_handle) @@ -396,7 +409,11 @@ protected: int fc = FacetCycle[e]; SHalfedge_handle e_min = MinimalEdge[fc]; SHalfedge_handle e_below = + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO Edge_of[geninfo::access(info(e_min->twin()->source()->twin()->source()))]; + #else + Edge_of[ boost::any_cast(info(e_min->twin()->source()->twin()->source())) ]; + #endif CGAL_assertion( e_below != SHalfedge_handle() ); CGAL_NEF_TRACEN(" edge below " << debug(e_below)); Halffacet_handle f = e_below->facet(); @@ -631,7 +648,11 @@ create_facet_objects(const Plane_3& plane_supporting_facet, CGAL_forall_iterators(lit,SHalfloops) { l=*lit; SHalfedge_handle e_below = - Edge_of[geninfo::access(info(l->incident_sface()->center_vertex()))]; + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + Edge_of[geninfo::access(info(l->incident_sface()->center_vertex()))]; + #else + Edge_of[ boost::any_cast(info(l->incident_sface()->center_vertex())) ]; + #endif CGAL_assertion( e_below != SHalfedge_handle() ); CGAL_NEF_TRACEN("link sloop at vertex "<< l->incident_sface()->center_vertex()->point()); diff --git a/Nef_3/include/CGAL/Nef_3/SNC_SM_overlayer.h b/Nef_3/include/CGAL/Nef_3/SNC_SM_overlayer.h index 4d32ec743a7..f3c3c5a7806 100644 --- a/Nef_3/include/CGAL/Nef_3/SNC_SM_overlayer.h +++ b/Nef_3/include/CGAL/Nef_3/SNC_SM_overlayer.h @@ -25,7 +25,11 @@ #include #include #include +#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO #include +#else +#include +#endif #include #include #include diff --git a/Nef_3/include/CGAL/Nef_3/SNC_const_decorator.h b/Nef_3/include/CGAL/Nef_3/SNC_const_decorator.h index 0bbeeae7f86..d556791b5cb 100644 --- a/Nef_3/include/CGAL/Nef_3/SNC_const_decorator.h +++ b/Nef_3/include/CGAL/Nef_3/SNC_const_decorator.h @@ -36,6 +36,10 @@ #define CGAL_NEF_DEBUG 191 #include +#ifndef CGAL_I_DO_WANT_TO_USE_GENINFO +#include +#endif + namespace CGAL { template class SM_const_decorator; @@ -116,7 +120,11 @@ public: SHalfedge_around_sface_const_circulator; public: + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO typedef void* GenPtr; + #else + typedef boost::any GenPtr; + #endif SNC_const_decorator() : sncp_(0) {} SNC_const_decorator(const SNC_structure& W) : sncp_(&W) {} diff --git a/Nef_3/include/CGAL/Nef_3/SNC_decorator.h b/Nef_3/include/CGAL/Nef_3/SNC_decorator.h index 7cda2e5eb80..e70fcd38e6e 100644 --- a/Nef_3/include/CGAL/Nef_3/SNC_decorator.h +++ b/Nef_3/include/CGAL/Nef_3/SNC_decorator.h @@ -40,6 +40,10 @@ #define CGAL_NEF_DEBUG 19 #include +#ifndef CGAL_I_DO_WANT_TO_USE_GENINFO +#include +#endif + namespace CGAL { template @@ -155,7 +159,11 @@ class SNC_decorator : public SNC_const_decorator { enum {NO_SNC, WITH_SNC}; public: + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO typedef void* GenPtr; + #else + typedef boost::any GenPtr; + #endif SNC_decorator() : Base(), sncp_() {} SNC_decorator(SNC_structure& W) diff --git a/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h b/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h index 2b5d9beb8b7..031349c7d2c 100644 --- a/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h +++ b/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h @@ -39,6 +39,10 @@ #define CGAL_NEF_DEBUG 293 #include +#ifndef CGAL_I_DO_WANT_TO_USE_GENINFO +#include +#endif + namespace CGAL { template @@ -889,7 +893,11 @@ public: typedef typename Infi_box::Standard_vector Standard_vector; typedef typename Infi_box::Standard_plane Standard_plane; + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO typedef void* GenPtr; + #else + typedef boost::any GenPtr; + #endif using Base::visit_shell_objects; diff --git a/Nef_3/include/CGAL/Nef_3/SNC_point_locator.h b/Nef_3/include/CGAL/Nef_3/SNC_point_locator.h index 2531454466f..3ba4c33ec96 100644 --- a/Nef_3/include/CGAL/Nef_3/SNC_point_locator.h +++ b/Nef_3/include/CGAL/Nef_3/SNC_point_locator.h @@ -815,7 +815,7 @@ public: CGAL::assign(v, result); Segment_3 s(p,v->point()); - bool first = true; + // bool first = true; Point_3 ip; /* @@ -853,7 +853,7 @@ public: return make_object(e); } if(is.does_intersect_internally(s, ss, ip)) { - first = false; + // first = false; s = Segment_3(p, normalized(ip)); result = make_object(e); } diff --git a/Nef_3/include/CGAL/Nef_3/SNC_ray_shooter.h b/Nef_3/include/CGAL/Nef_3/SNC_ray_shooter.h index b55aa9769e5..0a94a198b88 100644 --- a/Nef_3/include/CGAL/Nef_3/SNC_ray_shooter.h +++ b/Nef_3/include/CGAL/Nef_3/SNC_ray_shooter.h @@ -42,6 +42,10 @@ #define CGAL_NEF_DEBUG 37 #include +#ifndef CGAL_I_DO_WANT_TO_USE_GENINFO +#include +#endif + namespace CGAL { // ---------------------------------------------------------------------------- @@ -87,7 +91,11 @@ public: typedef typename SNC_structure::Mark Mark; + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO typedef void* GenPtr; + #else + typedef boost::any GenPtr; + #endif SNC_ray_shooter() {} void initialize(SNC_structure* W) { *this = SNC_ray_shooter(*W);} diff --git a/Nef_3/include/CGAL/Nef_3/SNC_simplify.h b/Nef_3/include/CGAL/Nef_3/SNC_simplify.h index f408468a488..f2613456ee3 100644 --- a/Nef_3/include/CGAL/Nef_3/SNC_simplify.h +++ b/Nef_3/include/CGAL/Nef_3/SNC_simplify.h @@ -470,7 +470,7 @@ class SNC_simplify_base : public SNC_decorator { if( s1 == s2) { // CGAL_NEF_TRACEN(IO->index(s1)<<'('<index(s2->twin())<<") to sloop"); Halffacet_handle f = s1->facet(); - Halffacet_handle facet = s1->facet(); + // Halffacet_handle facet = s1->facet(); SD.convert_edge_to_loop(s1); CGAL_assertion(SD.shalfloop() != SHalfloop_handle()); D.add_sloop_to_facet( SD.shalfloop(), f); diff --git a/Nef_3/include/CGAL/Nef_3/SNC_structure.h b/Nef_3/include/CGAL/Nef_3/SNC_structure.h index 4977f1f5d7e..7f767760b84 100644 --- a/Nef_3/include/CGAL/Nef_3/SNC_structure.h +++ b/Nef_3/include/CGAL/Nef_3/SNC_structure.h @@ -1212,7 +1212,8 @@ public: sfaces_.erase(h); put_sface_node(&*h); } - + //SL: in the following function, I guess the sizeof(void*) is related to the void* info that was + //used together with geninfo to store an arbitrary type. I replaced that with any and did not changed that std::size_t bytes() { // bytes used for the SNC_structure @@ -1253,7 +1254,8 @@ public: return result; } - + //SL: in the following function, I guess the sizeof(void*) is related to the void* info that was + //used together with geninfo to store an arbitrary type. I replaced that with any and did not changed that std::size_t bytes_reduced() { // bytes used for the SNC_structure diff --git a/Nef_3/include/CGAL/Nef_3/Vertex.h b/Nef_3/include/CGAL/Nef_3/Vertex.h index 11c5c8bfd60..1e9792c009e 100644 --- a/Nef_3/include/CGAL/Nef_3/Vertex.h +++ b/Nef_3/include/CGAL/Nef_3/Vertex.h @@ -33,12 +33,20 @@ #define CGAL_NEF_DEBUG 83 #include +#ifndef CGAL_I_DO_WANT_TO_USE_GENINFO +#include +#endif + namespace CGAL { template class Vertex_base { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO typedef void* GenPtr; + #else + typedef boost::any GenPtr; + #endif typedef typename Refs::Mark Mark; typedef typename Refs::Point_3 Point_3; diff --git a/Nef_3/include/CGAL/Nef_polyhedron_3.h b/Nef_3/include/CGAL/Nef_polyhedron_3.h index ab1cb8d294c..7644f202392 100644 --- a/Nef_3/include/CGAL/Nef_polyhedron_3.h +++ b/Nef_3/include/CGAL/Nef_polyhedron_3.h @@ -556,9 +556,7 @@ protected: } template -#endif class T3, class T4 > Nef_polyhedron_3( CGAL::Polyhedron_3& P) { CGAL_NEF_TRACEN("construction from Polyhedron_3"); diff --git a/Nef_S2/include/CGAL/Nef_S2/SM_const_decorator.h b/Nef_S2/include/CGAL/Nef_S2/SM_const_decorator.h index e7a1dae22ae..b674c70f59a 100644 --- a/Nef_S2/include/CGAL/Nef_S2/SM_const_decorator.h +++ b/Nef_S2/include/CGAL/Nef_S2/SM_const_decorator.h @@ -36,6 +36,9 @@ #undef CGAL_NEF_DEBUG #define CGAL_NEF_DEBUG 67 #include +#ifndef CGAL_I_DO_WANT_TO_USE_GENINFO +#include +#endif namespace CGAL { @@ -74,7 +77,12 @@ typedef typename Map::Mark Mark; typedef size_t Size_type; /*{\Mtypemember size type.}*/ +#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO typedef void* GenPtr; +#else +typedef boost::any GenPtr; +#endif + // typedef typename Map::Constructor_const_parameter Constructor_parameter; typedef typename Map::SVertex_const_handle SVertex_const_handle; diff --git a/Nef_S2/include/CGAL/Nef_S2/SM_decorator.h b/Nef_S2/include/CGAL/Nef_S2/SM_decorator.h index b6c4a6b0939..7f418b32a75 100644 --- a/Nef_S2/include/CGAL/Nef_S2/SM_decorator.h +++ b/Nef_S2/include/CGAL/Nef_S2/SM_decorator.h @@ -35,6 +35,9 @@ #include #include #include +#ifndef CGAL_I_DO_WANT_TO_USE_GENINFO +#include +#endif namespace CGAL { @@ -83,7 +86,11 @@ enum { BEFORE = -1, AFTER = 1 }; typedef typename Sphere_kernel::Aff_transformation_3 Aff_transformation_3; +#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO typedef void* GenPtr; +#else +typedef boost::any GenPtr; +#endif typedef typename Map::SVertex SVertex; typedef typename Map::SVertex_handle SVertex_handle; typedef typename Map::SVertex_iterator SVertex_iterator; diff --git a/Nef_S2/include/CGAL/Nef_S2/SM_items.h b/Nef_S2/include/CGAL/Nef_S2/SM_items.h index a07bd316b0c..efd63d54c3f 100644 --- a/Nef_S2/include/CGAL/Nef_S2/SM_items.h +++ b/Nef_S2/include/CGAL/Nef_S2/SM_items.h @@ -31,6 +31,9 @@ #include #include #include +#ifndef CGAL_I_DO_WANT_TO_USE_GENINFO +#include +#endif namespace CGAL { @@ -44,7 +47,11 @@ public: template class SVertex { - typedef void* GenPtr; + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + typedef void* GenPtr; + #else + typedef boost::any GenPtr; + #endif typedef typename Refs::Mark Mark; typedef typename Refs::Sphere_point Sphere_point; typedef typename Refs::SVertex_handle SVertex_handle; @@ -108,7 +115,11 @@ public: public: std::string debug() const { std::ostringstream os; set_pretty_mode(os); - os<<"V"< class SHalfedge { - typedef void* GenPtr; + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + typedef void* GenPtr; + #else + typedef boost::any GenPtr; + #endif typedef typename Refs::Mark Mark; typedef typename Refs::Sphere_circle Sphere_circle; typedef typename Refs::SVertex_handle SVertex_handle; @@ -202,7 +217,11 @@ public: std::string debug() const { std::ostringstream os; set_pretty_mode(os); os <<"e["<debug()<<", " - <source_->debug()<<" "<source_->debug()<< + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + " "<< info_ << + #endif + "]"<<'\0'; std::string res(os.str()); return res; } @@ -211,7 +230,11 @@ public: template class SHalfloop { - typedef void* GenPtr; + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + typedef void* GenPtr; + #else + typedef boost::any GenPtr; + #endif typedef typename Refs::Mark Mark; typedef typename Refs::Sphere_circle Sphere_circle; typedef typename Refs::SHalfloop_handle SHalfloop_handle; @@ -272,7 +295,11 @@ public: std::string debug() const { std::ostringstream os; set_pretty_mode(os); - os<<"l"< class SFace { - typedef void* GenPtr; + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + typedef void* GenPtr; + #else + typedef boost::any GenPtr; + #endif typedef typename Refs::Mark Mark; typedef typename Refs::Object_handle Object_handle; typedef typename Refs::Object_list Object_list; diff --git a/Nef_S2/include/CGAL/Nef_S2/SM_overlayer.h b/Nef_S2/include/CGAL/Nef_S2/SM_overlayer.h index 881bd5b22b4..f4277148e8b 100644 --- a/Nef_S2/include/CGAL/Nef_S2/SM_overlayer.h +++ b/Nef_S2/include/CGAL/Nef_S2/SM_overlayer.h @@ -25,7 +25,11 @@ #include #include #include +#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO #include +#else +#include +#endif #include #include #include @@ -56,7 +60,11 @@ struct SMO_from_segs { Vertex_handle new_vertex(const Point& p) { Vertex_handle v = G.new_svertex(p); + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO geninfo::create(G.info(v)); + #else + G.info(v)=Halfedge_handle(); + #endif return v; } @@ -85,16 +93,35 @@ struct SMO_from_segs { { if ( M[it] ) v->mark() = true; } void halfedge_below(Vertex_handle v, Halfedge_handle e) const - { geninfo::access(G.info(v)) = e; } + { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + geninfo::access(G.info(v)) = e; + #else + G.info(v)=e; + #endif + } Halfedge_handle halfedge_below(Vertex_handle v) const - { return geninfo::access(G.info(v)); } + { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + return geninfo::access(G.info(v)); + #else + return + boost::any_cast( G.info(v) ); + #endif + } void assert_equal_marks(Vertex_handle v1, Vertex_handle v2) const { CGAL_assertion(v1->mark()==v2->mark()); } void discard_info(Vertex_handle v) const - { geninfo::clear(G.info(v)); } + { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + geninfo::clear(G.info(v)); + #else + G.info(v)=boost::any(); + #endif + } void assert_equal_marks(Halfedge_handle e1, Halfedge_handle e2) const { CGAL_assertion(e1->mark()==e2->mark()); } @@ -104,7 +131,12 @@ struct SMO_from_segs { void clear_temporary_vertex_info() const { Vertex_handle v; CGAL_forall_svertices(v,G) + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO geninfo::clear(G.info(v)); + #else + G.info(v)=boost::any(); + #endif + } @@ -500,13 +532,32 @@ public: }; // vertex_info void assoc_info(SVertex_handle v) const - { geninfo::create(info(v)); } + { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + geninfo::create(info(v)); + #else + info(v)=vertex_info(); + #endif + } void discard_info(SVertex_handle v) const - { geninfo::clear(info(v)); } + { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + geninfo::clear(info(v)); + #else + info(v)=boost::any(); + #endif + } vertex_info& ginfo(SVertex_handle v) const - { return geninfo::access(info(v)); } + { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + return geninfo::access(info(v)); + #else + return + *boost::any_cast(&info(v)); + #endif + } Mark& mark(SVertex_handle v, int i) const { return ginfo(v).m[i]; } @@ -532,15 +583,36 @@ public: }; void assoc_info(SHalfedge_handle e) const - { geninfo::create(info(e)); - geninfo::create(info(e->twin())); } + { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + geninfo::create(info(e)); + geninfo::create(info(e->twin())); + #else + info(e)=edge_info(); + info(e->twin())=edge_info(); + #endif + } void discard_info(SHalfedge_handle e) const - { geninfo::clear(info(e)); - geninfo::clear(info(e->twin())); } + { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + geninfo::clear(info(e)); + geninfo::clear(info(e->twin())); + #else + info(e)=boost::any(); + info(e->twin())=boost::any(); + #endif + } edge_info& ginfo(SHalfedge_handle e) const - { return geninfo::access(info(e)); } + { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + return geninfo::access(info(e)); + #else + return + *boost::any_cast(&info(e)); + #endif + } Mark& mark(SHalfedge_handle e, int i) const { return ginfo(e).m[i]; } @@ -567,13 +639,32 @@ public: }; void assoc_info(SFace_handle f) const - { geninfo::create(info(f)); } + { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + geninfo::create(info(f)); + #else + info(f)=face_info(); + #endif + } void discard_info(SFace_handle f) const - { geninfo::clear(info(f)); } + { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + geninfo::clear(info(f)); + #else + info(f)=boost::any(); + #endif + } face_info& ginfo(SFace_handle f) const - { return geninfo::access(info(f)); } + { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + return geninfo::access(info(f)); + #else + return + *boost::any_cast(&info(f)); + #endif + } Mark& mark(SFace_handle f, int i) const { return ginfo(f).m[i]; } @@ -1393,13 +1484,19 @@ subdivide(const Map* M0, const Map* M1, // DEBUG CODE: to do: have all svertices a halfedge below associated? CGAL_NEF_TRACEN("Vertex info after swep"); CGAL_assertion_code(SVertex_iterator svi); + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO CGAL_assertion_code( for(svi=this->svertices_begin(); svi!=this->svertices_end(); svi++) { - CGAL_NEF_TRACEN("vertex "<point()<<" info "<point()<<" info "<< info(svi)<< " marks "<svertices_begin(); svi!=this->svertices_end(); svi++) { + CGAL_NEF_TRACEN("vertex "<point()<< " marks "<svertices_begin(),v,O); else @@ -1683,12 +1780,20 @@ subdivide(const Map* M0, const Map* M1, // DEBUG CODE: to do: have all svertices a halfedge below associated? CGAL_NEF_TRACEN("Vertex info after swep"); CGAL_assertion_code(SVertex_iterator svi); + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO CGAL_assertion_code( for(svi=this->svertices_begin(); svi!=this->svertices_end(); svi++) { - CGAL_NEF_TRACEN("vertex "<point()<<" info "<point() <<" info "<svertices_begin(); svi!=this->svertices_end(); svi++) { + CGAL_NEF_TRACEN("vertex "<point() << " marks "< #include #include +#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO #include +#else +#include +#endif #include #include #undef CGAL_NEF_DEBUG diff --git a/Nef_S2/include/CGAL/Nef_S2/SM_triangulator.h b/Nef_S2/include/CGAL/Nef_S2/SM_triangulator.h index 65f1e280a9a..824eb5f1a3e 100644 --- a/Nef_S2/include/CGAL/Nef_S2/SM_triangulator.h +++ b/Nef_S2/include/CGAL/Nef_S2/SM_triangulator.h @@ -24,7 +24,11 @@ #include #include #include +#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO #include +#else +#include +#endif #include #include #include @@ -201,13 +205,32 @@ public: }; void assoc_info(SVertex_handle v) const - { geninfo::create(info(v)); } + { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + geninfo::create(info(v)); + #else + info(v)=vertex_info(); + #endif + } void discard_info(SVertex_handle v) const - { geninfo::clear(info(v)); } + { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + geninfo::clear(info(v)); + #else + info(v)=boost::any(); + #endif + } vertex_info& ginfo(SVertex_handle v) const - { return geninfo::access(info(v)); } + { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + return geninfo::access(info(v)); + #else + return + *boost::any_cast(&info(v)); + #endif + } Object_handle& support(SVertex_handle v) const { return ginfo(v).o_; } @@ -224,15 +247,36 @@ public: }; void assoc_info(SHalfedge_handle e) const - { geninfo::create(info(e)); - geninfo::create(info(e->twin())); } + { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + geninfo::create(info(e)); + geninfo::create(info(e->twin())); + #else + info(e)=edge_info(); + info(e->twin())=edge_info(); + #endif + } void discard_info(SHalfedge_handle e) const - { geninfo::clear(info(e)); - geninfo::clear(info(e->twin())); } + { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + geninfo::clear(info(e)); + geninfo::clear(info(e->twin())); + #else + info(e)=boost::any(); + info(e->twin())=boost::any(); + #endif + } edge_info& ginfo(SHalfedge_handle e) const - { return geninfo::access(info(e)); } + { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + return geninfo::access(info(e)); + #else + return + *boost::any_cast(&info(e)); + #endif + } Object_handle& support(SHalfedge_handle e) const // uedge information we store in the smaller one @@ -244,7 +288,14 @@ public: { return ginfo(e).m_left_; } const edge_info& ginfo(SHalfedge_const_handle e) const - { return geninfo::const_access(info(e)); } + { + #ifdef CGAL_I_DO_WANT_TO_USE_GENINFO + return geninfo::const_access(info(e)); + #else + return + *boost::any_cast(&info(e)); + #endif + } const Mark& incident_mark(SHalfedge_const_handle e) const { return ginfo(e).m_left_; } diff --git a/Number_types/include/CGAL/int.h b/Number_types/include/CGAL/int.h index 0c5b9703a11..8eef6095fb0 100644 --- a/Number_types/include/CGAL/int.h +++ b/Number_types/include/CGAL/int.h @@ -251,6 +251,16 @@ template<> class Algebraic_structure_traits< short int > template <> class Real_embeddable_traits< short int > : public INTERN_RET::Real_embeddable_traits_base< short int , CGAL::Tag_true > {}; +// unsigned int + +template <> class Real_embeddable_traits< unsigned int > + : public INTERN_RET::Real_embeddable_traits_base< unsigned int , CGAL::Tag_true > {}; + +// unsigned long + +template <> class Real_embeddable_traits< unsigned long > + : public INTERN_RET::Real_embeddable_traits_base< unsigned long , CGAL::Tag_true > {}; + // Note : "long long" support is in } //namespace CGAL diff --git a/Number_types/include/CGAL/long_long.h b/Number_types/include/CGAL/long_long.h index 2ce7b6996d2..d4895709293 100644 --- a/Number_types/include/CGAL/long_long.h +++ b/Number_types/include/CGAL/long_long.h @@ -78,6 +78,10 @@ template <> class Real_embeddable_traits< long long int > }; }; +// unsigned long long +template <> class Real_embeddable_traits< unsigned long long > + : public INTERN_RET::Real_embeddable_traits_base< unsigned long long , CGAL::Tag_true > {}; + } //namespace CGAL #include diff --git a/Number_types/test/Number_types/CMakeLists.txt b/Number_types/test/Number_types/CMakeLists.txt index 12972b28992..cc2b98de89f 100644 --- a/Number_types/test/Number_types/CMakeLists.txt +++ b/Number_types/test/Number_types/CMakeLists.txt @@ -73,6 +73,7 @@ if ( CGAL_FOUND ) create_single_source_cgal_program( "_test_valid_finite_double.cpp" ) create_single_source_cgal_program( "_test_valid_finite_float.cpp" ) create_single_source_cgal_program( "to_interval_test.cpp" ) + create_single_source_cgal_program( "unsigned.cpp" ) create_single_source_cgal_program( "utilities.cpp" ) if( MPFI_FOUND ) include( ${MPFI_USE_FILE} ) diff --git a/Number_types/test/Number_types/Root_of_traits.cpp b/Number_types/test/Number_types/Root_of_traits.cpp index 86d1ef54716..a9cb2f5c2a2 100644 --- a/Number_types/test/Number_types/Root_of_traits.cpp +++ b/Number_types/test/Number_types/Root_of_traits.cpp @@ -46,6 +46,7 @@ void test_root_of_traits_for_set(Integer, Rational, FWS){ } int main(){ + std::cout << "Testing with double" << std::endl; CGAL::Test::test_root_of_traits< double , double , double >(); try{// just compile and try to get as far as you can go. @@ -56,6 +57,7 @@ int main(){ #ifdef CGAL_HAS_GMP_ARITHMETIC_KERNEL //TODO: switch to Gmpq { + std::cout << "Testing with GMP" << std::endl; typedef CGAL::GMP_arithmetic_kernel AK; typedef AK::Integer Integer; typedef AK::Rational Rational; @@ -65,6 +67,7 @@ int main(){ #endif #ifdef CGAL_HAS_LEDA_ARITHMETIC_KERNEL { + std::cout << "Testing with LEDA" << std::endl; typedef CGAL::LEDA_arithmetic_kernel AK; typedef AK::Integer Integer; typedef AK::Rational Rational; @@ -74,6 +77,7 @@ int main(){ #endif #ifdef CGAL_HAS_CORE_ARITHMETIC_KERNEL { + std::cout << "Testing with CORE" << std::endl; typedef CGAL::CORE_arithmetic_kernel AK; typedef AK::Integer Integer; typedef AK::Rational Rational; @@ -82,6 +86,7 @@ int main(){ } #endif { + std::cout << "Testing with MP_Float" << std::endl; typedef CGAL::MP_Float_arithmetic_kernel AK; typedef AK::Integer Integer; typedef AK::Rational Rational; diff --git a/Number_types/test/Number_types/unsigned.cpp b/Number_types/test/Number_types/unsigned.cpp new file mode 100644 index 00000000000..c842f21a93c --- /dev/null +++ b/Number_types/test/Number_types/unsigned.cpp @@ -0,0 +1,30 @@ +// Copyright (c) 2012 Inria Saclay (France). All rights reserved. +// +// This file is part of CGAL (www.cgal.org); you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public License as +// published by the Free Software Foundation; either version 3 of the License, +// or (at your option) any later version. +// +// Licensees holding a valid commercial license may use this file in +// accordance with the commercial license agreement provided with the software. +// +// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +// +// $URL$ +// $Id$ +// +// Author: Marc Glisse + +#include + +int main(){ + unsigned int a = 42; + (void)CGAL::compare(a,a); + unsigned long b = 42; + (void)CGAL::compare(b,b); +#ifdef CGAL_USE_LONG_LONG + unsigned long long c = 42; + (void)CGAL::compare(c,c); +#endif +} diff --git a/OpenNL/include/CGAL/OpenNL/bicgstab.h b/OpenNL/include/CGAL/OpenNL/bicgstab.h index 7beac2a9f96..4d323bcd222 100644 --- a/OpenNL/include/CGAL/OpenNL/bicgstab.h +++ b/OpenNL/include/CGAL/OpenNL/bicgstab.h @@ -5,7 +5,8 @@ * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public - * License version 3 as published by the Free Software Foundation + * License as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/OpenNL/include/CGAL/OpenNL/blas.h b/OpenNL/include/CGAL/OpenNL/blas.h index cda3e49361f..ced9e2b9ceb 100644 --- a/OpenNL/include/CGAL/OpenNL/blas.h +++ b/OpenNL/include/CGAL/OpenNL/blas.h @@ -5,7 +5,8 @@ * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public - * License version 3 as published by the Free Software Foundation + * License as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/OpenNL/include/CGAL/OpenNL/conjugate_gradient.h b/OpenNL/include/CGAL/OpenNL/conjugate_gradient.h index 62d07cee9a1..777f2da19ea 100644 --- a/OpenNL/include/CGAL/OpenNL/conjugate_gradient.h +++ b/OpenNL/include/CGAL/OpenNL/conjugate_gradient.h @@ -5,7 +5,8 @@ * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public - * License version 3 as published by the Free Software Foundation + * License as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/OpenNL/include/CGAL/OpenNL/full_vector.h b/OpenNL/include/CGAL/OpenNL/full_vector.h index 3835027b30c..a3b7f50b64c 100644 --- a/OpenNL/include/CGAL/OpenNL/full_vector.h +++ b/OpenNL/include/CGAL/OpenNL/full_vector.h @@ -5,7 +5,8 @@ * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public - * License version 3 as published by the Free Software Foundation + * License as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/OpenNL/include/CGAL/OpenNL/linear_solver.h b/OpenNL/include/CGAL/OpenNL/linear_solver.h index 3ef829e1937..a245424dd6b 100644 --- a/OpenNL/include/CGAL/OpenNL/linear_solver.h +++ b/OpenNL/include/CGAL/OpenNL/linear_solver.h @@ -5,7 +5,8 @@ * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public - * License version 3 as published by the Free Software Foundation + * License as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/OpenNL/include/CGAL/OpenNL/preconditioner.h b/OpenNL/include/CGAL/OpenNL/preconditioner.h index e5e989b1ab7..83a4500afc0 100644 --- a/OpenNL/include/CGAL/OpenNL/preconditioner.h +++ b/OpenNL/include/CGAL/OpenNL/preconditioner.h @@ -5,7 +5,8 @@ * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public - * License version 3 as published by the Free Software Foundation + * License as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/OpenNL/include/CGAL/OpenNL/sparse_matrix.h b/OpenNL/include/CGAL/OpenNL/sparse_matrix.h index b5eb42eda77..2abd70f871b 100644 --- a/OpenNL/include/CGAL/OpenNL/sparse_matrix.h +++ b/OpenNL/include/CGAL/OpenNL/sparse_matrix.h @@ -5,7 +5,8 @@ * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public - * License version 3 as published by the Free Software Foundation + * License as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/OpenNL/package_info/OpenNL/license.txt b/OpenNL/package_info/OpenNL/license.txt index ae7f0bdc39f..0b91802ccd4 100644 --- a/OpenNL/package_info/OpenNL/license.txt +++ b/OpenNL/package_info/OpenNL/license.txt @@ -1 +1 @@ -LGPL (v3) +LGPL (v3 or later) diff --git a/Periodic_3_triangulation_3/demo/Periodic_Lloyd_3/CMakeLists.txt b/Periodic_3_triangulation_3/demo/Periodic_Lloyd_3/CMakeLists.txt index 9bf4977d29e..2f6e154aca9 100644 --- a/Periodic_3_triangulation_3/demo/Periodic_Lloyd_3/CMakeLists.txt +++ b/Periodic_3_triangulation_3/demo/Periodic_Lloyd_3/CMakeLists.txt @@ -28,7 +28,7 @@ if(QT4_FOUND) find_package(QGLViewer) endif(QT4_FOUND) -if ( CGAL_FOUND AND QT4_FOUND AND OPENGL_FOUND AND QGLVIEWER_FOUND ) +if ( CGAL_FOUND AND QT4_FOUND AND OPENGL_FOUND AND QGLVIEWER_FOUND AND QT_QCOLLECTIONGENERATOR_EXECUTABLE ) include(${QT_USE_FILE}) @@ -65,7 +65,7 @@ if ( CGAL_FOUND AND QT4_FOUND AND OPENGL_FOUND AND QGLVIEWER_FOUND ) target_link_libraries( Periodic_Lloyd_3 ${QT_LIBRARIES} ${QGLVIEWER_LIBRARIES} ) target_link_libraries( Periodic_Lloyd_3 ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ) -else( CGAL_FOUND AND QT4_FOUND AND OPENGL_FOUND AND QGLVIEWER_FOUND ) +else( CGAL_FOUND AND QT4_FOUND AND OPENGL_FOUND AND QGLVIEWER_FOUND AND QT_QCOLLECTIONGENERATOR_EXECUTABLE ) set(PERIODIC_LLOYD_MISSING_DEPS "") @@ -85,7 +85,11 @@ else( CGAL_FOUND AND QT4_FOUND AND OPENGL_FOUND AND QGLVIEWER_FOUND ) set(PERIODIC_LLOYD_MISSING_DEPS "QGLViewer, ${PERIODIC_LLOYD_MISSING_DEPS}") endif() + if(NOT QT_QCOLLECTIONGENERATOR_EXECUTABLE) + set(PERIODIC_LLOYD_MISSING_DEPS "qcollectiongenerator, ${PERIODIC_LLOYD_MISSING_DEPS}") + endif() + message(STATUS "NOTICE: This demo requires ${PERIODIC_LLOYD_MISSING_DEPS}and will not be compiled.") -endif( CGAL_FOUND AND QT4_FOUND AND OPENGL_FOUND AND QGLVIEWER_FOUND ) +endif( CGAL_FOUND AND QT4_FOUND AND OPENGL_FOUND AND QGLVIEWER_FOUND AND QT_QCOLLECTIONGENERATOR_EXECUTABLE ) diff --git a/Periodic_3_triangulation_3/include/CGAL/Periodic_3_Delaunay_triangulation_3.h b/Periodic_3_triangulation_3/include/CGAL/Periodic_3_Delaunay_triangulation_3.h index 5191d23da80..96b379e2c00 100644 --- a/Periodic_3_triangulation_3/include/CGAL/Periodic_3_Delaunay_triangulation_3.h +++ b/Periodic_3_triangulation_3/include/CGAL/Periodic_3_Delaunay_triangulation_3.h @@ -800,7 +800,7 @@ move_point(Vertex_handle v, const Point & p) { CGAL_triangulation_expensive_precondition(is_vertex(v)); // Remember an incident vertex to restart // the point location after the removal. - Cell_handle c = v->cell(); + // Cell_handle c = v->cell(); //Vertex_handle old_neighbor = c->vertex(c->index(v) == 0 ? 1 : 0); // CGAL_triangulation_assertion(old_neighbor != v); diff --git a/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3.h b/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3.h index 374f3926268..0d93bc25728 100644 --- a/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3.h +++ b/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3.h @@ -3583,7 +3583,7 @@ operator<< (std::ostream& os,const Periodic_3_triangulation_3 &tr) return os; // write the vertices - std::map V; + Unique_hash_map V; std::size_t i=0; if (tr.is_1_cover()) { for (Vertex_iterator it=tr.vertices_begin(); it!=tr.vertices_end(); ++it) { @@ -3757,8 +3757,8 @@ operator==(const Periodic_3_triangulation_3 &t1, typedef typename Periodic_3_triangulation_3 ::Geometric_traits::Compare_xyz_3 Compare_xyz_3; - Compare_xyz_3 cmp1 = t1.geom_traits().compare_xyz_3_object(); - Compare_xyz_3 cmp2 = t2.geom_traits().compare_xyz_3_object(); + // Compare_xyz_3 cmp1 = t1.geom_traits().compare_xyz_3_object(); + // Compare_xyz_3 cmp2 = t2.geom_traits().compare_xyz_3_object(); // Some quick checks. if ( t1.domain() != t2.domain() diff --git a/Periodic_3_triangulation_3/test/Periodic_3_triangulation_3/include/CGAL/_test_cls_periodic_3_triangulation_traits_3.h b/Periodic_3_triangulation_3/test/Periodic_3_triangulation_3/include/CGAL/_test_cls_periodic_3_triangulation_traits_3.h index 56f33c90726..d69b742d220 100644 --- a/Periodic_3_triangulation_3/test/Periodic_3_triangulation_3/include/CGAL/_test_cls_periodic_3_triangulation_traits_3.h +++ b/Periodic_3_triangulation_3/test/Periodic_3_triangulation_3/include/CGAL/_test_cls_periodic_3_triangulation_traits_3.h @@ -19,6 +19,10 @@ // Author(s) : Mariette Yvinec // Manuel Caroli +#if (__GNUC__>4) || (__GNUC__ == 4 && __GNUC_MINOR__ >=6) +# pragma GCC diagnostic ignored "-Wunused-but-set-variable" +#endif + template void _test_for_given_domain(const Traits & traits, typename Traits::Point_3 * p) diff --git a/Polyhedron/demo/Polyhedron/Polyhedron_type_fwd.h b/Polyhedron/demo/Polyhedron/Polyhedron_type_fwd.h index 294e96bdf5b..72f27dac265 100644 --- a/Polyhedron/demo/Polyhedron/Polyhedron_type_fwd.h +++ b/Polyhedron/demo/Polyhedron/Polyhedron_type_fwd.h @@ -25,16 +25,12 @@ namespace CGAL { class Polyhedron_items_3; -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM template < class T, class I, class A> -#endif class HalfedgeDS_default; template < class PolyhedronTraits_3, class PolyhedronItems_3, -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM template < class T, class I, class A> -#endif class T_HDS, class Alloc > diff --git a/Polyhedron/doc_tex/Polyhedron_ref/fig/euler.svg b/Polyhedron/doc_tex/Polyhedron_ref/fig/euler.svg new file mode 100644 index 00000000000..84dbd660f59 Binary files /dev/null and b/Polyhedron/doc_tex/Polyhedron_ref/fig/euler.svg differ diff --git a/Polyhedron/doc_tex/Polyhedron_ref/fig/euler_facet.pdf b/Polyhedron/doc_tex/Polyhedron_ref/fig/euler_facet.pdf new file mode 100644 index 00000000000..259c5fb3a48 Binary files /dev/null and b/Polyhedron/doc_tex/Polyhedron_ref/fig/euler_facet.pdf differ diff --git a/Polyhedron/doc_tex/Polyhedron_ref/fig/euler_facet.svg b/Polyhedron/doc_tex/Polyhedron_ref/fig/euler_facet.svg new file mode 100644 index 00000000000..cde3e4a3371 Binary files /dev/null and b/Polyhedron/doc_tex/Polyhedron_ref/fig/euler_facet.svg differ diff --git a/Polyhedron/doc_tex/Polyhedron_ref/fig/euler_vertex.pdf b/Polyhedron/doc_tex/Polyhedron_ref/fig/euler_vertex.pdf new file mode 100644 index 00000000000..baca524996d Binary files /dev/null and b/Polyhedron/doc_tex/Polyhedron_ref/fig/euler_vertex.pdf differ diff --git a/Polyhedron/doc_tex/Polyhedron_ref/fig/euler_vertex.svg b/Polyhedron/doc_tex/Polyhedron_ref/fig/euler_vertex.svg new file mode 100644 index 00000000000..5201ecd87e1 Binary files /dev/null and b/Polyhedron/doc_tex/Polyhedron_ref/fig/euler_vertex.svg differ diff --git a/Polyhedron/include/CGAL/Polyhedron_3.h b/Polyhedron/include/CGAL/Polyhedron_3.h index 9624dc53604..66cebb400f1 100644 --- a/Polyhedron/include/CGAL/Polyhedron_3.h +++ b/Polyhedron/include/CGAL/Polyhedron_3.h @@ -461,9 +461,7 @@ public: template < class PolyhedronTraits_3, class PolyhedronItems_3 = Polyhedron_items_3, -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM template < class T, class I, class A> -#endif class T_HDS = HalfedgeDS_default, class Alloc = CGAL_ALLOCATOR(int)> class Polyhedron_3 { @@ -491,11 +489,7 @@ public: typedef PolyhedronTraits_3 Traits; typedef PolyhedronItems_3 Items; typedef I_Polyhedron_derived_items_3 Derived_items; -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM typedef T_HDS< Traits, Derived_items, Alloc> HDS; -#else - typedef typename T_HDS::template HDS< Traits, Derived_items, Alloc> HDS; -#endif typedef HDS HalfedgeDS; // portability with older CGAL release diff --git a/Polyhedron/include/CGAL/Polyhedron_copy_3.h b/Polyhedron/include/CGAL/Polyhedron_copy_3.h index 4517dddb96b..3bbb505fc6a 100644 --- a/Polyhedron/include/CGAL/Polyhedron_copy_3.h +++ b/Polyhedron/include/CGAL/Polyhedron_copy_3.h @@ -49,7 +49,7 @@ Polyhedron_copy_3:: operator()( HDS& target) { typedef typename Poly::Vertex_const_iterator Vertex_const_iterator; typedef typename Poly::Facet_const_iterator Facet_const_iterator; typedef Inverse_index< Vertex_const_iterator> Index; - typedef typename HDS::Point Point; + typedef typename HDS::Vertex::Point Point; target.clear(); Polyhedron_incremental_builder_3 B( target); diff --git a/Polyhedron_IO/include/CGAL/IO/Polyhedron_VRML_2_ostream.h b/Polyhedron_IO/include/CGAL/IO/Polyhedron_VRML_2_ostream.h index 737eaa53543..2511cf41ec1 100644 --- a/Polyhedron_IO/include/CGAL/IO/Polyhedron_VRML_2_ostream.h +++ b/Polyhedron_IO/include/CGAL/IO/Polyhedron_VRML_2_ostream.h @@ -32,9 +32,7 @@ namespace CGAL { template < class Traits, class Items, -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM template < class T, class I, class A> -#endif class HDS, class Alloc> VRML_2_ostream& operator<<( VRML_2_ostream& out, diff --git a/Polyhedron_IO/include/CGAL/IO/Polyhedron_geomview_ostream.h b/Polyhedron_IO/include/CGAL/IO/Polyhedron_geomview_ostream.h index 85631511445..ee899ccd4a0 100644 --- a/Polyhedron_IO/include/CGAL/IO/Polyhedron_geomview_ostream.h +++ b/Polyhedron_IO/include/CGAL/IO/Polyhedron_geomview_ostream.h @@ -64,9 +64,7 @@ public: template < class Traits, class Items, -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM template < class T, class I, class A> -#endif class HDS, class Alloc> Geomview_stream& operator<<( Geomview_stream &gv, diff --git a/Polyhedron_IO/include/CGAL/IO/Polyhedron_inventor_ostream.h b/Polyhedron_IO/include/CGAL/IO/Polyhedron_inventor_ostream.h index 3c6e8d7941c..60e8414efc4 100644 --- a/Polyhedron_IO/include/CGAL/IO/Polyhedron_inventor_ostream.h +++ b/Polyhedron_IO/include/CGAL/IO/Polyhedron_inventor_ostream.h @@ -30,9 +30,7 @@ namespace CGAL { template < class Traits, class Items, -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM template < class T, class I, class A> -#endif class HDS, class Alloc> Inventor_ostream_base& operator<<( Inventor_ostream_base& out, diff --git a/Polyhedron_IO/include/CGAL/IO/Polyhedron_iostream.h b/Polyhedron_IO/include/CGAL/IO/Polyhedron_iostream.h index c96495ef8b0..717fb064cda 100644 --- a/Polyhedron_IO/include/CGAL/IO/Polyhedron_iostream.h +++ b/Polyhedron_IO/include/CGAL/IO/Polyhedron_iostream.h @@ -30,9 +30,7 @@ namespace CGAL { template < class Traits, class Items, -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM template < class T, class I, class A> -#endif class HDS, class Alloc> std::ostream& operator<<( std::ostream& out, const Polyhedron_3& P) { @@ -45,9 +43,7 @@ operator<<( std::ostream& out, const Polyhedron_3& P) { template < class Traits, class Items, -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM template < class T, class I, class A> -#endif class HDS, class Alloc> std::istream& operator>>(std::istream& in, Polyhedron_3& P) { diff --git a/Polyhedron_IO/include/CGAL/IO/print_OFF.h b/Polyhedron_IO/include/CGAL/IO/print_OFF.h index 7d3a836c75c..ec5f96c1a51 100644 --- a/Polyhedron_IO/include/CGAL/IO/print_OFF.h +++ b/Polyhedron_IO/include/CGAL/IO/print_OFF.h @@ -55,9 +55,7 @@ void print_polyhedron_OFF( std::ostream& out, template < class Traits, class Items, -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM template < class T, class I, class A> -#endif class HDS, class Alloc> void print_OFF( std::ostream& out, @@ -73,9 +71,7 @@ print_OFF( std::ostream& out, template < class Traits, class Items, -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM template < class T, class I, class A> -#endif class HDS, class Alloc> void print_OFF( std::ostream& out, diff --git a/Polyhedron_IO/include/CGAL/IO/print_VRML_1.h b/Polyhedron_IO/include/CGAL/IO/print_VRML_1.h index e12337a1556..af17be56551 100644 --- a/Polyhedron_IO/include/CGAL/IO/print_VRML_1.h +++ b/Polyhedron_IO/include/CGAL/IO/print_VRML_1.h @@ -35,9 +35,7 @@ void print_polyhedron_VRML_1( std::ostream& out, const Polyhedron& P) { template < class Traits, class Items, -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM template < class T, class I, class A> -#endif class HDS, class Alloc> void print_VRML_1( std::ostream& out, diff --git a/Polyhedron_IO/include/CGAL/IO/print_VRML_2.h b/Polyhedron_IO/include/CGAL/IO/print_VRML_2.h index a18c8d32046..40ac5682044 100644 --- a/Polyhedron_IO/include/CGAL/IO/print_VRML_2.h +++ b/Polyhedron_IO/include/CGAL/IO/print_VRML_2.h @@ -35,9 +35,7 @@ void print_polyhedron_VRML_2( std::ostream& out, const Polyhedron& P) { template < class Traits, class Items, -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM template < class T, class I, class A> -#endif class HDS, class Alloc> void print_VRML_2( std::ostream& out, diff --git a/Polyhedron_IO/include/CGAL/IO/print_inventor.h b/Polyhedron_IO/include/CGAL/IO/print_inventor.h index 3dde3c3cbf7..841438a6811 100644 --- a/Polyhedron_IO/include/CGAL/IO/print_inventor.h +++ b/Polyhedron_IO/include/CGAL/IO/print_inventor.h @@ -36,9 +36,7 @@ void print_polyhedron_inventor( std::ostream& out, const Polyhedron& P) { template < class Traits, class Items, -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM template < class T, class I, class A> -#endif class HDS, class Alloc> void print_inventor( std::ostream& out, diff --git a/Polyhedron_IO/include/CGAL/IO/print_wavefront.h b/Polyhedron_IO/include/CGAL/IO/print_wavefront.h index 7301ad7132a..a367097d64e 100644 --- a/Polyhedron_IO/include/CGAL/IO/print_wavefront.h +++ b/Polyhedron_IO/include/CGAL/IO/print_wavefront.h @@ -38,9 +38,7 @@ void print_polyhedron_wavefront( std::ostream& out, const Polyhedron& P) { template < class Traits, class Items, -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM template < class T, class I, class A> -#endif class HDS, class Alloc> void print_wavefront( std::ostream& out, diff --git a/Polyhedron_IO/include/CGAL/IO/scan_OFF.h b/Polyhedron_IO/include/CGAL/IO/scan_OFF.h index 0f1c160e834..b99ee2a842c 100644 --- a/Polyhedron_IO/include/CGAL/IO/scan_OFF.h +++ b/Polyhedron_IO/include/CGAL/IO/scan_OFF.h @@ -29,9 +29,7 @@ namespace CGAL { template < class Traits, class Items, -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM template < class T, class I, class A> -#endif class HDS, class Alloc> void scan_OFF( std::istream& in, Polyhedron_3& P, @@ -48,9 +46,7 @@ void scan_OFF( std::istream& in, template < class Traits, class Items, -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM template < class T, class I, class A> -#endif class HDS, class Alloc> void scan_OFF( std::istream& in, Polyhedron_3& P, bool verbose = false) { diff --git a/Polytope_distance_d/dont_submit b/Polytope_distance_d/dont_submit index 495c8d546a2..704914bc87f 100644 --- a/Polytope_distance_d/dont_submit +++ b/Polytope_distance_d/dont_submit @@ -1,2 +1,3 @@ Makefile* web +test/Polytope_distance_d/test_Polytope_distance_d_d.cpp diff --git a/QP_solver/include/CGAL/QP_solver/QP_solver_impl.h b/QP_solver/include/CGAL/QP_solver/QP_solver_impl.h index 06b2f970c0d..9f50d333c00 100644 --- a/QP_solver/include/CGAL/QP_solver/QP_solver_impl.h +++ b/QP_solver/include/CGAL/QP_solver/QP_solver_impl.h @@ -1255,12 +1255,7 @@ expel_artificial_variables_from_basis( ) // explicitly are synchronized during transition from phaseI to phaseII for (unsigned int i_ = static_cast(qp_n + slack_A.size()); i_ < static_cast(in_B.size()); ++i_) { if (is_basic(i_)) { // is basic - if (has_ineq) { - row_ind = in_C[ art_A[i_ - qp_n - slack_A.size()].first]; - } else { - row_ind = art_A[i_ - qp_n].first; - } - + row_ind = in_B[i_]; //CGAL_qpe_assertion(row_ind >= 0); diff --git a/QP_solver/test/QP_solver/test_solver_data/cycle_cases/bug_stich.mps b/QP_solver/test/QP_solver/test_solver_data/cycle_cases/bug_stich.mps new file mode 100644 index 00000000000..269973f10c5 --- /dev/null +++ b/QP_solver/test/QP_solver/test_solver_data/cycle_cases/bug_stich.mps @@ -0,0 +1,105 @@ +* Description: Case that was sent in by Sebastian Stich. It used to exibit +* a segfault in expel_artificial_variables (special artificial is linked to a +* constraint that is not active). +* Derivatives: none +NAME MY_MPS +ROWS + N obj + G c0 + G c1 + E c2 + G c3 + G c4 + G c5 + G c6 + G c7 + G c8 + E c9 + G c10 + G c11 + G c12 + E c13 + G c14 + G c15 + E c16 + G c17 + G c18 + G c19 + E c20 +COLUMNS + x0 c0 1 + x0 c1 1 + x0 c2 1 + x0 c3 1 + x0 c4 1 + x1 c5 1 + x1 c6 1 + x1 c7 1 + x1 c8 1 + x1 c9 1 + x1 c10 1 + x1 c11 1 + x2 c0 1 + x2 c5 1 + x2 c12 1 + x2 c13 1 + x3 c1 1 + x3 c6 1 + x3 c12 1 + x3 c14 1 + x3 c15 1 + x3 c16 1 + x4 c7 1 + x4 c13 1 + x4 c17 1 + x4 c18 1 + x4 c19 1 + x5 c2 1 + x6 c3 1 + x6 c8 1 + x6 c14 1 + x6 c17 1 + x6 c20 1 + x7 c9 1 + x8 c4 1 + x8 c10 1 + x8 c15 1 + x8 c18 1 + x8 c20 1 + x9 c11 1 + x9 c16 1 + x9 c19 1 +RHS + rhs c0 1 + rhs c1 1 + rhs c2 1 + rhs c3 1 + rhs c4 1 + rhs c5 1 + rhs c6 1 + rhs c7 1 + rhs c8 1 + rhs c9 1 + rhs c10 1 + rhs c11 1 + rhs c12 1 + rhs c13 1 + rhs c14 1 + rhs c15 1 + rhs c16 1 + rhs c17 1 + rhs c18 1 + rhs c19 1 + rhs c20 1 +BOUNDS + UP BND x0 1 + UP BND x1 1 + UP BND x2 1 + UP BND x3 1 + UP BND x4 1 + UP BND x5 1 + UP BND x6 1 + UP BND x7 1 + UP BND x8 1 + UP BND x9 1 +ENDATA diff --git a/QP_solver/test/QP_solver/test_solver_data/cycle_cases/bug_taysom.mps b/QP_solver/test/QP_solver/test_solver_data/cycle_cases/bug_taysom.mps new file mode 100644 index 00000000000..c77cc3bf952 --- /dev/null +++ b/QP_solver/test/QP_solver/test_solver_data/cycle_cases/bug_taysom.mps @@ -0,0 +1,30 @@ +* Description: Case that was sent in by William Taysom. It used to exibit +* a segfault in expel_artificial_variables (special artificial is linked to a +* constraint that is not active). +NAME MY_MPS +ROWS + N obj + E c0 + G c1 + G c2 + G c3 +COLUMNS + x0 obj 1 + x0 c0 1 + x0 c1 1 + x0 c2 1 + x0 c3 1 + x1 c0 1 + x1 c1 1 + x1 c3 1 + x2 c0 1 + x2 c1 1 + x2 c2 1 +RHS + rhs c0 4 + rhs c1 4 + rhs c2 3 + rhs c3 3 +BOUNDS + UP BND x0 2 +ENDATA diff --git a/STL_Extension/doc_tex/STL_Extension_ref/tuple.tex b/STL_Extension/doc_tex/STL_Extension_ref/tuple.tex index b366e999da4..8689874bea1 100644 --- a/STL_Extension/doc_tex/STL_Extension_ref/tuple.tex +++ b/STL_Extension/doc_tex/STL_Extension_ref/tuple.tex @@ -33,7 +33,8 @@ is taken from Boost. Some free functions part of the standard interface of \ccc{tuple} are also brought in namespace \ccc{CGAL::cpp0x} with using declarations, these are \ccc{make_tuple}, -\ccc{get}, \ccc{tie}. +\ccc{get}, \ccc{tie}. Like in C++0x, the \ccc{get} function template is +specialized so that it can take \ccc{std::pair} as argument. Two standard helper classes are also provided for convenience (\ccc{tuple_size} and \ccc{tuple_element}). \end{ccRefClass} diff --git a/STL_Extension/include/CGAL/Iterator_identity.h b/STL_Extension/include/CGAL/Iterator_identity.h deleted file mode 100644 index d61ba45fb65..00000000000 --- a/STL_Extension/include/CGAL/Iterator_identity.h +++ /dev/null @@ -1,147 +0,0 @@ -// Copyright (c) 2003 -// Utrecht University (The Netherlands), -// ETH Zurich (Switzerland), -// INRIA Sophia-Antipolis (France), -// Max-Planck-Institute Saarbruecken (Germany), -// and Tel-Aviv University (Israel). All rights reserved. -// -// This file is part of CGAL (www.cgal.org); you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public License as -// published by the Free Software Foundation; either version 3 of the License, -// or (at your option) any later version. -// -// Licensees holding a valid commercial license may use this file in -// accordance with the commercial license agreement provided with the software. -// -// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -// -// $URL$ -// $Id$ -// -// -// Author(s) : Michael Hoffmann -// Lutz Kettner -// Sylvain Pion - -#ifndef CGAL_ITERATOR_IDENTITY_H -#define CGAL_ITERATOR_IDENTITY_H 1 - -#include - -namespace CGAL { - -template < class I, - class Ref = typename std::iterator_traits::reference, - class Ptr = typename std::iterator_traits::pointer, - class Val = typename std::iterator_traits::value_type, - class Dist = typename std::iterator_traits::difference_type, - class Ctg = typename std::iterator_traits::iterator_category> -class Iterator_identity { -protected: - I nt; // The internal iterator. -public: - typedef I Iterator; - typedef Iterator_identity Self; - typedef Ctg iterator_category; - typedef Val value_type; - typedef Dist difference_type; - typedef Ref reference; - typedef Ptr pointer; - - // CREATION - // -------- - - Iterator_identity() {} - Iterator_identity( Iterator j) : nt(j) {} - - // OPERATIONS Forward Category - // --------------------------- - - Iterator current_iterator() const { return nt;} - - bool operator==( const Self& i) const { - return ( nt == i.nt); //###// - } - bool operator!=( const Self& i) const { - return !(*this == i); - } - Ref operator*() const { - return *nt; //###// - } - Ptr operator->() const { - return nt.operator->(); //###// - } - Self& operator++() { - ++nt; //###// - return *this; - } - Self operator++(int) { - Self tmp = *this; - ++*this; - return tmp; - } - - // OPERATIONS Bidirectional Category - // --------------------------------- - - Self& operator--() { - --nt; //###// - return *this; - } - Self operator--(int) { - Self tmp = *this; - --*this; - return tmp; - } - - // OPERATIONS Random Access Category - // --------------------------------- - - Self& operator+=( difference_type n) { - nt += n; //###// - return *this; - } - Self operator+( difference_type n) const { - Self tmp = *this; - return tmp += n; - } - Self& operator-=( difference_type n) { - return operator+=( -n); - } - Self operator-( difference_type n) const { - Self tmp = *this; - return tmp += -n; - } - difference_type operator-( const Self& i) const { - return nt - i.nt; //###// - } - Ref operator[]( difference_type n) const { - Self tmp = *this; - tmp += n; - return tmp.operator*(); - } - bool operator<( const Self& i) const { - return ( nt < i.nt); //###// - } - bool operator>( const Self& i) const { - return i < *this; - } - bool operator<=( const Self& i) const { - return !(i < *this); - } - bool operator>=( const Self& i) const { - return !(*this < i); - } -}; - -template < class I, class Ref, class Ptr, class Val, - class Dist, class Ctg> -inline -Iterator_identity -operator+( Dist n, Iterator_identity i) -{ return i += n; } - -} //namespace CGAL -#endif // CGAL_ITERATOR_IDENTITY_H // -// EOF // diff --git a/STL_Extension/include/CGAL/is_streamable.h b/STL_Extension/include/CGAL/is_streamable.h new file mode 100644 index 00000000000..0decd728953 --- /dev/null +++ b/STL_Extension/include/CGAL/is_streamable.h @@ -0,0 +1,84 @@ +// Copyright (c) 2012 GeometryFactory Sarl (France) +// All rights reserved. +// +// Distributed under the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// +// Licensees holding a valid commercial license may use this file in +// accordance with the commercial license agreement provided with the software. +// +// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +// +// $URL$ +// $Id$ +// +// Author(s) : Laurent Rineau, Philipp Moeller + +#ifndef CGAL_IS_STREAMABLE_H +#define CGAL_IS_STREAMABLE_H + +#include +#include +#include +#include + +namespace CGAL { +namespace internal { +namespace is_streamable +{ + // A tag type returned by operator == for the any struct in this namespace + // when T does not support ==. + struct tag {}; + + // This type soaks up any implicit conversions and makes the following operator == + // less preferred than any other such operator found via ADL. + struct any + { + // Conversion constructor for any type. + template + any(T const&); + }; + + tag operator<<(any const&, any const&); + tag operator>>(any const&, any const&); + + // Two overloads to distinguish whether T supports a certain operator expression. + // The first overload returns a reference to a two-element character array and is chosen if + // T does not support the expression, such as ==, whereas the second overload returns a char + // directly and is chosen if T supports the expression. So using sizeof(check()) + // returns 2 for the first overload and 1 for the second overload. + typedef char yes; + typedef char (&no)[2]; + + no check(tag); + + template + yes check(T const&); + + template + struct is_streamable_impl + { + static typename boost::remove_cv::type>::type const & x; + static typename boost::remove_cv::type>::type & y; + + static const bool value = + sizeof(is_streamable::check(std::cout << x)) == sizeof(is_streamable::yes) && + sizeof(is_streamable::check(std::cin >> y)) == sizeof(is_streamable::yes); + }; + +} // end namespace internal::is_streamable +} // end namespace internal + + +/// is_streamable is a meta-function that checks if a type is streamable +/// +/// is_streamable::value is true iff the type T has stream operators << +/// and >>. Otherwise it is false. +template +struct is_streamable + : internal::is_streamable::is_streamable_impl {}; + +} // end namespace CGAL + +#endif // CGAL_IS_STREAMABLE_H diff --git a/STL_Extension/include/CGAL/min_max_n.h b/STL_Extension/include/CGAL/min_max_n.h index cd21566b8cb..3050fadfd83 100644 --- a/STL_Extension/include/CGAL/min_max_n.h +++ b/STL_Extension/include/CGAL/min_max_n.h @@ -71,6 +71,10 @@ min_n(const T& t0, const T& t1, const T& t2, const T& t3, const T& t4, { return (std::min)(t0, min_n(t1, t2, t3, t4, t5, t6, t7)); } +template inline +const T& +max_n(const T& t) { return t; } + template < typename T > inline const T& max_n(const T& t0, const T& t1) diff --git a/STL_Extension/include/CGAL/tuple.h b/STL_Extension/include/CGAL/tuple.h index 7caa2c05098..698df419e55 100644 --- a/STL_Extension/include/CGAL/tuple.h +++ b/STL_Extension/include/CGAL/tuple.h @@ -27,11 +27,15 @@ #ifndef CGAL_CFG_NO_CPP0X_TUPLE # include -#elif !defined CGAL_CFG_NO_TR1_TUPLE -# include -#else -# include #endif +#ifndef CGAL_CFG_NO_TR1_TUPLE +# include +# include +#endif + +#include +#include +#include namespace CGAL { @@ -67,6 +71,47 @@ struct tuple_element: public boost::tuples::element{}; #endif + +#if defined(CGAL_CFG_NO_CPP0X_TUPLE) && defined(CGAL_CFG_NO_TR1_TUPLE) +// If not TR1 or C++11 tuple, we need to add get(std::pair). + +//////////////////////////////////////////////////////////// +// // +// Allow CGAL::cpp0x::get(std::pair), if N==0 or N==1. // +// // +// That is already in TR1 and C++11, but not in Boost. // +// // +//////////////////////////////////////////////////////////// +template +struct pair_get; + +template +struct pair_get<0, T1, T2> { + static T1& get(std::pair& pair) { return pair.first; } + static const T1& get(const std::pair& pair) { return pair.first; } +}; // end specialization struct pair_get<0, T2, T2> + +template +struct pair_get<1, T1, T2> { + static T2& get(std::pair& pair) { return pair.second; } + static const T2& get(const std::pair& pair) { return pair.second; } +}; // end specialization struct pair_get<0, T2, T2> + +template +inline typename boost::tuples::element >::type& +get(std::pair& pair) { + return pair_get::get(pair); +} + +template +inline const typename boost::tuples::element >::type& +get(const std::pair& pair) { + return pair_get::get(pair); +} + +#endif // end if not C++11 tuple + + } // cpp0x #ifndef CGAL_CFG_NO_CPP0X_VARIADIC_TEMPLATES diff --git a/STL_Extension/test/STL_Extension/test_is_iterator.cpp b/STL_Extension/test/STL_Extension/test_is_iterator.cpp new file mode 100644 index 00000000000..31aaf66957f --- /dev/null +++ b/STL_Extension/test/STL_Extension/test_is_iterator.cpp @@ -0,0 +1,15 @@ +#include +#include +#include +#include + +int main() { + typedef std::vector::const_iterator vector_it; + typedef int* int_p; + using CGAL::is_iterator; + + CGAL_static_assertion(is_iterator::value); + CGAL_static_assertion(!is_iterator::value); + CGAL_static_assertion(!is_iterator::value); + CGAL_static_assertion(is_iterator::value); +} diff --git a/STL_Extension/test/STL_Extension/test_is_streamable.cpp b/STL_Extension/test/STL_Extension/test_is_streamable.cpp new file mode 100644 index 00000000000..c969eb94cbe --- /dev/null +++ b/STL_Extension/test/STL_Extension/test_is_streamable.cpp @@ -0,0 +1,35 @@ +#include +#include +#include +#include // std::pair +#include +#include + +struct A {}; +struct B {}; +struct C {}; +struct D {}; + +using std::ostream; +using std::istream; + +ostream& operator<<(ostream& os, const B&) { return os; } +istream& operator>>(istream& is, const B&) { return is; } + +ostream& operator<<(ostream& os, const C&) { return os; } +istream& operator>>(istream& is, const D&) { return is; } + +int main() { + typedef std::vector::const_iterator vector_it; + typedef int* int_p; + using CGAL::is_streamable; + + CGAL_static_assertion(!is_streamable::value); + CGAL_static_assertion(is_streamable::value); + CGAL_static_assertion(!is_streamable::value); + CGAL_static_assertion(!is_streamable::value); + CGAL_static_assertion(is_streamable::value); + CGAL_static_assertion(is_streamable::value); + CGAL_static_assertion(! (is_streamable >::value) ); + CGAL_static_assertion( (is_streamable >::value) ); +} diff --git a/STL_Extension/test/STL_Extension/test_stl_extension.cpp b/STL_Extension/test/STL_Extension/test_stl_extension.cpp index 7b71656c6d6..75e8bbbb05e 100644 --- a/STL_Extension/test/STL_Extension/test_stl_extension.cpp +++ b/STL_Extension/test/STL_Extension/test_stl_extension.cpp @@ -37,7 +37,6 @@ #include #include #include -#include #include #include #include @@ -237,897 +236,6 @@ int test_value_type( double*) { return 3;} int test_distance_type( std::ptrdiff_t*) { return 1;} int test_distance_type( char*) { return 2;} int test_distance_type( double*) { return 3;} -void test_Iterator_identity() { - { - typedef In_place_list List; - List l; - l.push_back( *new item(1)); - l.push_back( *new item(2)); - l.push_back( *new item(3)); - l.push_back( *new item(4)); - l.push_back( *new item(5)); - CGAL_assertion( l.size() == 5); - typedef List::iterator IterBase; - typedef Iterator_identity Iterator; - Iterator begin(l.begin()); - Iterator end(l.end()); - Assert_bidirectional_category(begin); - Assert_bidirectional_category(end); - { // Open own scope to hide local variables. - // Check generally correct parameter properties. - CGAL::Assert_circulator_or_iterator(begin); - CGAL::Assert_circulator_or_iterator(end); - CGAL::Assert_is_at_least_forward_category(begin); - CGAL::Assert_is_at_least_forward_category(end); - typedef std::iterator_traits< Iterator >::value_type VT; - typedef std::iterator_traits< Iterator >::difference_type DT; - CGAL_assertion(1==test_value_type(static_cast< VT* >(0))); - CGAL_assertion(1==test_distance_type(static_cast< DT* >(0))); - - // Default constructor. - Iterator z ; - CGAL::Assert_circulator_or_iterator(z); - z = end ; - - // Copy constructor. - Iterator i = begin; - - // Check general support for circulators and iterators. - CGAL_assertion( CGAL::is_empty_range( z, z)); - CGAL_assertion( ! CGAL::is_empty_range( i, end)); - - int su = 0; - int k = 1; - // Check general loop, pre-increment, dereference. - if (! CGAL::is_empty_range( i, end)) { // superfluous - do { - CGAL_assertion( k == (*i).key); - su += (*i).key; - ++k; - CGAL_assertion_code( Iterator j =) ++i; - CGAL_assertion( i == j); - if ( i != end) { - CGAL_assertion( (*i).key == (*j).key); - } - } while (i != end); // Inequality and equality checked. - } - CGAL_assertion( i == end); // Equality checked. - CGAL_assertion( su == 15); - - // Assignment. - i = begin; - su = 0; - k = 1; - // Loop with post increment. - if (! CGAL::is_empty_range( i, end)) { // superfluous - do { - CGAL_assertion( k == (*i).key); - su += (*i).key; - ++k; - CGAL_assertion_code( Iterator j =) i++; - CGAL_assertion( i != j); - if ( i != end) { - CGAL_assertion( (*i).key == (*j).key + 1); - } - } while (i != end); - } - CGAL_assertion( i == end); - CGAL_assertion( su == 15); - } - { // Open own scope to hide local variables. - // Change three elements and check post-/pre-increment. - Iterator i = begin; - (*i++).key = 4; - CGAL_assertion( 4 == (*begin).key); - CGAL_assertion( 2 == (*i).key); - (*i++).key = 3; - CGAL_assertion( 3 == (*i).key); - (*++i).key = 7; - CGAL_assertion( 7 == (*i).key); - - // Check the setting and reset these elements - // to their original values. - i = begin; - CGAL_assertion( 4 == (*i).key); - (*i).key = 1; - i++; - CGAL_assertion( 3 == (*i).key); - (*i++).key = 2; - CGAL_assertion( 3 == (*i).key); - i++; - CGAL_assertion( 7 == (*i).key); - (*i).key = 4; - - // Check the resetting. - i = begin; - int k = 1; - do { - CGAL_assertion( k == (*i).key); - ++i; - ++k; - } while (i != end); - } - { // Open own scope to hide local variables. - // Check generally correct parameter properties. - CGAL::Assert_circulator_or_iterator(begin); - CGAL::Assert_circulator_or_iterator(end); - CGAL::Assert_is_at_least_forward_category(begin); - CGAL::Assert_is_at_least_forward_category(end); - typedef std::iterator_traits< Iterator >::value_type VT; - typedef std::iterator_traits< Iterator >::difference_type DT; - CGAL_assertion(1==test_value_type(static_cast< VT* >(0))); - CGAL_assertion(1==test_distance_type(static_cast< DT* >(0))); - - // Default constructor. - Iterator z ; - CGAL::Assert_circulator_or_iterator(z); - z = end ; - // Copy constructor. - Iterator i = begin; - - // Check general support for circulators and iterators. - CGAL_assertion( CGAL::is_empty_range( z, z)); - CGAL_assertion( ! CGAL::is_empty_range( i, end)); - - int su = 0; - int k = 1; - // Check general loop, pre-increment, dereference. - if (! CGAL::is_empty_range( i, end)) { // superfluous - do { - CGAL_assertion( k == (*i).key); - su += (*i).key; - ++k; - CGAL_assertion_code( Iterator j =) ++i; - CGAL_assertion( i == j); - if ( i != end) { - CGAL_assertion( (*i).key == (*j).key); - } - } while (i != end); // Inequality and equality checked. - } - CGAL_assertion( i == end); // Equality checked. - CGAL_assertion( su == 15); - - // Assignment. - i = begin; - su = 0; - k = 1; - // Loop with post increment. - if (! CGAL::is_empty_range( i, end)) { // superfluous - do { - CGAL_assertion( k == (*i).key); - su += (*i).key; - ++k; - CGAL_assertion_code( Iterator j =) i++; - CGAL_assertion( i != j); - if ( i != end) { - CGAL_assertion( (*i).key == (*j).key + 1); - } - } while (i != end); - } - CGAL_assertion( i == end); - CGAL_assertion( su == 15); - } - { // Open own scope to hide local variables. - CGAL::Assert_is_at_least_bidirectional_category(begin); - CGAL::Assert_is_at_least_bidirectional_category(end); - // Loop backwards and pre-decrement. - Iterator i = end; - int su = 0; - int k = 5; - do { - CGAL_assertion_code(Iterator j =) --i; - CGAL_assertion( i == j); - CGAL_assertion( (*i).key == (*j).key); - CGAL_assertion( k == (*i).key); - su += (*i).key; - --k; - } while (i != begin); - CGAL_assertion( i == begin); - CGAL_assertion( su == 15); - - // Assignment. - i = end; - su = 0; - k = 5; - // Loop with post-decrement. - do { - Iterator j = i--; - CGAL_assertion( i != j); - if ( j != end) { - CGAL_assertion( (*i).key == (*j).key - 1); - } - CGAL_assertion( k == (*i).key); - su += (*i).key; - --k; - } while (i != begin); - CGAL_assertion( i == begin); - CGAL_assertion( su == 15); - } - CGAL::Assert_iterator( begin); - CGAL::Assert_iterator( end); - - List l2 = l; - const List& l1 = l2; - typedef List::const_iterator ConstIterBase; - typedef Iterator_identity< ConstIterBase,const item&, - const item*, item, std::ptrdiff_t, - std::bidirectional_iterator_tag> - C_Iterator; - C_Iterator c_begin(l1.begin()); - C_Iterator c_end(l1.end()); - Assert_bidirectional_category(c_begin); - Assert_bidirectional_category(c_end); - { // Open own scope to hide local variables. - // Check generally correct parameter properties. - CGAL::Assert_circulator_or_iterator(c_begin); - CGAL::Assert_circulator_or_iterator(c_end); - CGAL::Assert_is_at_least_forward_category(c_begin); - CGAL::Assert_is_at_least_forward_category(c_end); - typedef std::iterator_traits< C_Iterator >::value_type VT; - typedef std::iterator_traits< C_Iterator >::difference_type DT; - CGAL_assertion(1==test_value_type(static_cast< VT* >(0))); - CGAL_assertion(1==test_distance_type(static_cast< DT* >(0))); - - // Default constructor. - C_Iterator z ; - CGAL::Assert_circulator_or_iterator(z); - z = c_end ; - // Copy constructor. - C_Iterator i = c_begin; - - // Check general support for circulators and iterators. - CGAL_assertion( CGAL::is_empty_range( z, z)); - CGAL_assertion( ! CGAL::is_empty_range( i, c_end)); - - int su = 0; - int k = 1; - // Check general loop, pre-increment, dereference. - if (! CGAL::is_empty_range( i, c_end)) { // superfluous - do { - CGAL_assertion( k == (*i).key); - su += (*i).key; - ++k; - CGAL_assertion_code( C_Iterator j =) ++i; - CGAL_assertion( i == j); - if ( i != c_end) { - CGAL_assertion( (*i).key == (*j).key); - } - } while (i != c_end); // Inequality and equality checked. - } - CGAL_assertion( i == c_end); // Equality checked. - CGAL_assertion( su == 15); - - // Assignment. - i = c_begin; - su = 0; - k = 1; - // Loop with post increment. - if (! CGAL::is_empty_range( i, c_end)) { // superfluous - do { - CGAL_assertion( k == (*i).key); - su += (*i).key; - ++k; - CGAL_assertion_code( C_Iterator j =) i++; - CGAL_assertion( i != j); - if ( i != c_end) { - CGAL_assertion( (*i).key == (*j).key + 1); - } - } while (i != c_end); - } - CGAL_assertion( i == c_end); - CGAL_assertion( su == 15); - } - { // Open own scope to hide local variables. - CGAL::Assert_is_at_least_bidirectional_category(c_begin); - CGAL::Assert_is_at_least_bidirectional_category(c_end); - // Loop backwards and pre-decrement. - C_Iterator i = c_end; - int su = 0; - int k = 5; - do { - CGAL_assertion_code(C_Iterator j =) --i; - CGAL_assertion( i == j); - CGAL_assertion( (*i).key == (*j).key); - CGAL_assertion( k == (*i).key); - su += (*i).key; - --k; - } while (i != c_begin); - CGAL_assertion( i == c_begin); - CGAL_assertion( su == 15); - - // Assignment. - i = c_end; - su = 0; - k = 5; - // Loop with post-decrement. - do { - C_Iterator j = i--; - CGAL_assertion( i != j); - if ( j != c_end) { - CGAL_assertion( (*i).key == (*j).key - 1); - } - CGAL_assertion( k == (*i).key); - su += (*i).key; - --k; - } while (i != c_begin); - CGAL_assertion( i == c_begin); - CGAL_assertion( su == 15); - } - CGAL::Assert_iterator( c_begin); - CGAL::Assert_iterator( c_end); - l.destroy(); - l2.destroy(); - } - { - typedef std::vector Vector; - Vector v; - v.push_back(1); - v.push_back(2); - v.push_back(3); - v.push_back(4); - v.push_back(5); - CGAL_assertion( v.size() == 5); - typedef Vector::iterator IterBase; - typedef Iterator_identity Iterator; - Iterator begin(v.begin()); - Iterator end(v.end()); - Assert_random_access_category(begin); - Assert_random_access_category(end); - { // Open own scope to hide local variables. - // Check generally correct parameter properties. - CGAL::Assert_circulator_or_iterator(begin); - CGAL::Assert_circulator_or_iterator(end); - CGAL::Assert_is_at_least_forward_category(begin); - CGAL::Assert_is_at_least_forward_category(end); - typedef std::iterator_traits< Iterator >::value_type VT; - typedef std::iterator_traits< Iterator >::difference_type DT; - CGAL_assertion(1==test_value_type(static_cast< VT* >(0))); - CGAL_assertion(1==test_distance_type(static_cast< DT* >(0))); - - // Default constructor. - Iterator z ; - CGAL::Assert_circulator_or_iterator(z); - z = end ; - // Copy constructor. - Iterator i = begin; - - // Check general support for circulators and iterators. - CGAL_assertion( CGAL::is_empty_range( i, i)); - CGAL_assertion( ! CGAL::is_empty_range( i, end)); - - int su = 0; - int k = 1; - // Check general loop, pre-increment, dereference. - if (! CGAL::is_empty_range( i, end)) { // superfluous - do { - CGAL_assertion( k == (*i)); - su += (*i); - ++k; - CGAL_assertion_code( Iterator j =) ++i; - CGAL_assertion( i == j); - if ( i != end) { - CGAL_assertion( (*i) == (*j)); - } - } while (i != end); // Inequality and equality checked. - } - CGAL_assertion( i == end); // Equality checked. - CGAL_assertion( su == 15); - - // Assignment. - i = begin; - su = 0; - k = 1; - // Loop with post increment. - if (! CGAL::is_empty_range( i, end)) { // superfluous - do { - CGAL_assertion( k == (*i)); - su += (*i); - ++k; - CGAL_assertion_code( Iterator j =) i++; - CGAL_assertion( i != j); - if ( i != end) { - CGAL_assertion( (*i) == (*j) + 1); - } - } while (i != end); - } - CGAL_assertion( i == end); - CGAL_assertion( su == 15); - } - { // Open own scope to hide local variables. - // Change three elements and check post-/pre-increment. - Iterator i = begin; - (*i++) = 4; - CGAL_assertion( 4 == (*begin)); - CGAL_assertion( 2 == (*i)); - (*i++) = 3; - CGAL_assertion( 3 == (*i)); - (*++i) = 7; - CGAL_assertion( 7 == (*i)); - - // Check the setting and reset these elements - // to their original values. - i = begin; - CGAL_assertion( 4 == (*i)); - (*i) = 1; - i++; - CGAL_assertion( 3 == (*i)); - (*i++) = 2; - CGAL_assertion( 3 == (*i)); - i++; - CGAL_assertion( 7 == (*i)); - (*i) = 4; - - // Check the resetting. - i = begin; - int k = 1; - do { - CGAL_assertion( k == (*i)); - ++i; - ++k; - } while (i != end); - } - { // Open own scope to hide local variables. - // Check generally correct parameter properties. - CGAL::Assert_circulator_or_iterator(begin); - CGAL::Assert_circulator_or_iterator(end); - CGAL::Assert_is_at_least_forward_category(begin); - CGAL::Assert_is_at_least_forward_category(end); - typedef std::iterator_traits< Iterator >::value_type VT; - typedef std::iterator_traits< Iterator >::difference_type DT; - CGAL_assertion(1==test_value_type(static_cast< VT* >(0))); - CGAL_assertion(1==test_distance_type(static_cast< DT* >(0))); - - // Default constructor. - Iterator z ; - CGAL::Assert_circulator_or_iterator(z); - z = end ; - // Copy constructor. - Iterator i = begin; - - // Check general support for circulators and iterators. - CGAL_assertion( CGAL::is_empty_range( i, i)); - CGAL_assertion( ! CGAL::is_empty_range( i, end)); - - int su = 0; - int k = 1; - // Check general loop, pre-increment, dereference. - if (! CGAL::is_empty_range( i, end)) { // superfluous - do { - CGAL_assertion( k == (*i)); - su += (*i); - ++k; - CGAL_assertion_code( Iterator j =) ++i; - CGAL_assertion( i == j); - if ( i != end) { - CGAL_assertion( (*i) == (*j)); - } - } while (i != end); // Inequality and equality checked. - } - CGAL_assertion( i == end); // Equality checked. - CGAL_assertion( su == 15); - - // Assignment. - i = begin; - su = 0; - k = 1; - // Loop with post increment. - if (! CGAL::is_empty_range( i, end)) { // superfluous - do { - CGAL_assertion( k == (*i)); - su += (*i); - ++k; - CGAL_assertion_code( Iterator j =) i++; - CGAL_assertion( i != j); - if ( i != end) { - CGAL_assertion( (*i) == (*j) + 1); - } - } while (i != end); - } - CGAL_assertion( i == end); - CGAL_assertion( su == 15); - } - { // Open own scope to hide local variables. - CGAL::Assert_is_at_least_bidirectional_category(begin); - CGAL::Assert_is_at_least_bidirectional_category(end); - // Loop backwards and pre-decrement. - Iterator i = end; - int su = 0; - int k = 5; - do { - CGAL_assertion_code(Iterator j =) --i; - CGAL_assertion( i == j); - CGAL_assertion( (*i) == (*j)); - CGAL_assertion( k == (*i)); - su += (*i); - --k; - } while (i != begin); - CGAL_assertion( i == begin); - CGAL_assertion( su == 15); - - // Assignment. - i = end; - su = 0; - k = 5; - // Loop with post-decrement. - do { - Iterator j = i--; - CGAL_assertion( i != j); - if ( j != end) { - CGAL_assertion( (*i) == (*j) - 1); - } - CGAL_assertion( k == (*i)); - su += (*i); - --k; - } while (i != begin); - CGAL_assertion( i == begin); - CGAL_assertion( su == 15); - } - { // Open own scope to hide local variables. - // Check generally correct parameter properties. - CGAL::Assert_circulator_or_iterator(begin); - CGAL::Assert_circulator_or_iterator(end); - CGAL::Assert_is_at_least_forward_category(begin); - CGAL::Assert_is_at_least_forward_category(end); - typedef std::iterator_traits< Iterator >::value_type VT; - typedef std::iterator_traits< Iterator >::difference_type DT; - CGAL_assertion(1==test_value_type(static_cast< VT* >(0))); - CGAL_assertion(1==test_distance_type(static_cast< DT* >(0))); - - // Default constructor. - Iterator z ; - CGAL::Assert_circulator_or_iterator(z); - z = end ; - // Copy constructor. - Iterator i = begin; - - // Check general support for circulators and iterators. - CGAL_assertion( CGAL::is_empty_range( i, i)); - CGAL_assertion( ! CGAL::is_empty_range( i, end)); - - int su = 0; - int k = 1; - // Check general loop, pre-increment, dereference. - if (! CGAL::is_empty_range( i, end)) { // superfluous - do { - CGAL_assertion( k == (*i)); - su += (*i); - ++k; - CGAL_assertion_code( Iterator j =) ++i; - CGAL_assertion( i == j); - if ( i != end) { - CGAL_assertion( (*i) == (*j)); - } - } while (i != end); // Inequality and equality checked. - } - CGAL_assertion( i == end); // Equality checked. - CGAL_assertion( su == 15); - - // Assignment. - i = begin; - su = 0; - k = 1; - // Loop with post increment. - if (! CGAL::is_empty_range( i, end)) { // superfluous - do { - CGAL_assertion( k == (*i)); - su += (*i); - ++k; - CGAL_assertion_code( Iterator j =) i++; - CGAL_assertion( i != j); - if ( i != end) { - CGAL_assertion( (*i) == (*j) + 1); - } - } while (i != end); - } - CGAL_assertion( i == end); - CGAL_assertion( su == 15); - } - { // Open own scope to hide local variables. - CGAL::Assert_is_at_least_bidirectional_category(begin); - CGAL::Assert_is_at_least_bidirectional_category(end); - // Loop backwards and pre-decrement. - Iterator i = end; - int su = 0; - int k = 5; - do { - CGAL_assertion_code(Iterator j =) --i; - CGAL_assertion( i == j); - CGAL_assertion( (*i) == (*j)); - CGAL_assertion( k == (*i)); - su += (*i); - --k; - } while (i != begin); - CGAL_assertion( i == begin); - CGAL_assertion( su == 15); - - // Assignment. - i = end; - su = 0; - k = 5; - // Loop with post-decrement. - do { - Iterator j = i--; - CGAL_assertion( i != j); - if ( j != end) { - CGAL_assertion( (*i) == (*j) - 1); - } - CGAL_assertion( k == (*i)); - su += (*i); - --k; - } while (i != begin); - CGAL_assertion( i == begin); - CGAL_assertion( su == 15); - } - { // Open own scope to hide local variables. - CGAL::Assert_is_at_least_random_access_category(begin); - CGAL::Assert_is_at_least_random_access_category(end); - // Random access. - int k; - for( k = 0; k < 5; k++) { - CGAL_assertion( 1+k == begin[k]); - } - CGAL_assertion_code( - int su = begin[0] - + begin[1] - + begin[2] - + begin[3] - + begin[4];) - CGAL_assertion( su == 15); - - // Jump around. - Iterator i = begin; - i += 3; - CGAL_assertion( 4 == (*i)); - i -= 2; - CGAL_assertion( 2 == (*i)); - i += 3; - CGAL_assertion( 5 == (*i)); - i -= 4; - CGAL_assertion( 1 == (*i)); - CGAL_assertion( i == begin); - Iterator j = i + 3; - CGAL_assertion( 4 == (*j)); - Iterator jj = j - 2; - CGAL_assertion( 2 == (*jj)); - typedef std::ptrdiff_t PT; - jj = PT(4) + jj; - CGAL_assertion( jj == end); - Iterator ij = jj - 5; - ij = jj - 5; // avoids warning with NDEBUG - CGAL_assertion( ij == begin); - - // Difference test. - CGAL_assertion( jj - i == 5 || jj - i == 0); - CGAL_assertion( i + (j-i) == j); - CGAL_assertion( (j-i) + i == j); - } - { // Open own scope to hide local variables. - Iterator i = begin; - i[2] = 18; - i[4] = 9; - i[3] = 12; - CGAL_assertion( i[2] == 18); - CGAL_assertion( i[4] == 9); - CGAL_assertion( i[3] == 12); - i[2] = 3; - i[3] = 4; - i[4] = 5; - // Check the resetting. - i = begin; - int k = 1; - do { - CGAL_assertion( k == (*i)); - ++i; - ++k; - } while (i != end); - } - CGAL::Assert_iterator( begin); - CGAL::Assert_iterator( end); - { // Open own scope to hide local variables. - CGAL_assertion( end - begin == 5); - CGAL_assertion( begin - end == -5); - // Relational operator. - Iterator i = begin; - ++i; - Iterator j = i; - ++j; - CGAL_assertion( begin < i); - CGAL_assertion( i < j); - CGAL_assertion( j < end); - CGAL_assertion( j > i); - CGAL_assertion( i <= j); - CGAL_assertion( j >= i); - CGAL_assertion( i <= i); - CGAL_assertion( i >= i); - - CGAL_assertion( !( i >= j)); - CGAL_assertion( !( j <= i)); - CGAL_assertion( !( i > j)); - CGAL_assertion( !( j < i)); - CGAL_assertion( !( i > i)); - CGAL_assertion( !( i < i)); - } - - Vector v2 = v; - const Vector& v1 = v2; - typedef Vector::const_iterator ConstIterBase; - typedef Iterator_identity< ConstIterBase,const int&, - const int*, int, std::ptrdiff_t, - std::random_access_iterator_tag> - C_Iterator; - C_Iterator c_begin(v1.begin()); - C_Iterator c_end(v1.end()); - Assert_random_access_category(c_begin); - Assert_random_access_category(c_end); - { // Open own scope to hide local variables. - // Check generally correct parameter properties. - CGAL::Assert_circulator_or_iterator(c_begin); - CGAL::Assert_circulator_or_iterator(c_end); - CGAL::Assert_is_at_least_forward_category(c_begin); - CGAL::Assert_is_at_least_forward_category(c_end); - typedef std::iterator_traits< C_Iterator >::value_type VT; - typedef std::iterator_traits< C_Iterator >::difference_type DT; - CGAL_assertion(1==test_value_type(static_cast< VT* >(0))); - CGAL_assertion(1==test_distance_type(static_cast< DT* >(0))); - - // Default constructor. - C_Iterator z ; - CGAL::Assert_circulator_or_iterator(z); - z = c_end ; - // Copy constructor. - C_Iterator i = c_begin; - - // Check general support for circulators and iterators. - CGAL_assertion( CGAL::is_empty_range( i, i)); - CGAL_assertion( ! CGAL::is_empty_range( i, c_end)); - - int su = 0; - int k = 1; - // Check general loop, pre-increment, dereference. - if (! CGAL::is_empty_range( i, c_end)) { // superfluous - do { - CGAL_assertion( k == (*i)); - su += (*i); - ++k; - CGAL_assertion_code( C_Iterator j =) ++i; - CGAL_assertion( i == j); - if ( i != c_end) { - CGAL_assertion( (*i) == (*j)); - } - } while (i != c_end); // Inequality and equality checked. - } - CGAL_assertion( i == c_end); // Equality checked. - CGAL_assertion( su == 15); - - // Assignment. - i = c_begin; - su = 0; - k = 1; - // Loop with post increment. - if (! CGAL::is_empty_range( i, c_end)) { // superfluous - do { - CGAL_assertion( k == (*i)); - su += (*i); - ++k; - CGAL_assertion_code( C_Iterator j =) i++; - CGAL_assertion( i != j); - if ( i != c_end) { - CGAL_assertion( (*i) == (*j) + 1); - } - } while (i != c_end); - } - CGAL_assertion( i == c_end); - CGAL_assertion( su == 15); - } - { // Open own scope to hide local variables. - CGAL::Assert_is_at_least_bidirectional_category(c_begin); - CGAL::Assert_is_at_least_bidirectional_category(c_end); - // Loop backwards and pre-decrement. - C_Iterator i = c_end; - int su = 0; - int k = 5; - do { - CGAL_assertion_code(C_Iterator j =) --i; - CGAL_assertion( i == j); - CGAL_assertion( (*i) == (*j)); - CGAL_assertion( k == (*i)); - su += (*i); - --k; - } while (i != c_begin); - CGAL_assertion( i == c_begin); - CGAL_assertion( su == 15); - - // Assignment. - i = c_end; - su = 0; - k = 5; - // Loop with post-decrement. - do { - C_Iterator j = i--; - CGAL_assertion( i != j); - if ( j != c_end) { - CGAL_assertion( (*i) == (*j) - 1); - } - CGAL_assertion( k == (*i)); - su += (*i); - --k; - } while (i != c_begin); - CGAL_assertion( i == c_begin); - CGAL_assertion( su == 15); - } - { // Open own scope to hide local variables. - CGAL::Assert_is_at_least_random_access_category(c_begin); - CGAL::Assert_is_at_least_random_access_category(c_end); - // Random access. - int k; - for( k = 0; k < 5; k++) { - CGAL_assertion( 1+k == c_begin[k]); - } - CGAL_assertion_code( - int su = c_begin[0] - + c_begin[1] - + c_begin[2] - + c_begin[3] - + c_begin[4];) - CGAL_assertion( su == 15); - - // Jump around. - C_Iterator i = c_begin; - i += 3; - CGAL_assertion( 4 == (*i)); - i -= 2; - CGAL_assertion( 2 == (*i)); - i += 3; - CGAL_assertion( 5 == (*i)); - i -= 4; - CGAL_assertion( 1 == (*i)); - CGAL_assertion( i == c_begin); - C_Iterator j = i + 3; - CGAL_assertion( 4 == (*j)); - C_Iterator jj = j - 2; - CGAL_assertion( 2 == (*jj)); - typedef std::ptrdiff_t PT; - jj = PT(4) + jj; - CGAL_assertion( jj == c_end); - C_Iterator ij = jj - 5; - ij = jj - 5; // avoids warning with NDEBUG - CGAL_assertion( ij == c_begin); - - // Difference test. - CGAL_assertion( jj - i == 5 || jj - i == 0); - CGAL_assertion( i + (j-i) == j); - CGAL_assertion( (j-i) + i == j); - } - CGAL::Assert_iterator( c_begin); - CGAL::Assert_iterator( c_end); - { // Open own scope to hide local variables. - CGAL_assertion( c_end - c_begin == 5); - CGAL_assertion( c_begin - c_end == -5); - // Relational operator. - C_Iterator i = c_begin; - ++i; - C_Iterator j = i; - ++j; - CGAL_assertion( c_begin < i); - CGAL_assertion( i < j); - CGAL_assertion( j < c_end); - CGAL_assertion( j > i); - CGAL_assertion( i <= j); - CGAL_assertion( j >= i); - CGAL_assertion( i <= i); - CGAL_assertion( i >= i); - - CGAL_assertion( !( i >= j)); - CGAL_assertion( !( j <= i)); - CGAL_assertion( !( i > j)); - CGAL_assertion( !( j < i)); - CGAL_assertion( !( i > i)); - CGAL_assertion( !( i < i)); - } - } -} void test_Circulator_identity() { { typedef In_place_list List; @@ -9001,10 +8109,32 @@ void test_tuple(){ CGAL_static_assertion( (boost::is_same::type,My_to_int>::value) ); T1 t1=CGAL::cpp0x::make_tuple(1,2); + T1 t1_2=CGAL::cpp0x::make_tuple(1,2); + + CGAL_assertion(t1==t1_2); // test the equality operator + + // T2 t2 = T2(); + // CGAL_assertion( t2 == T2() ); + // + // Do not test equality between default initialized tuples, because + // GNU/g++ version 4.1.2 does not default-initialize correctly + // std::tr1::tuple. + + // Test CGAL::cpp0x::tie int i1=-1,i2=-1; CGAL::cpp0x::tie(i1,i2)=t1; CGAL_assertion( CGAL::cpp0x::get<0>(t1)==i1 ); CGAL_assertion( CGAL::cpp0x::get<1>(t1)==i2 ); + + // Test CGAL::cpp0x::get for a pair + double d = 1; + std::pair pair(-3, &d); + const std::pair const_pair(2, &d); + + assert(CGAL::cpp0x::get<0>(pair) == -3); + assert(CGAL::cpp0x::get<1>(pair) == &d); + assert(CGAL::cpp0x::get<0>(const_pair) == 2); + assert(CGAL::cpp0x::get<1>(const_pair) == &d); } void test_prev_next() @@ -9030,7 +8160,6 @@ void test_copy_n() { int main() { init_global_data(); - test_Iterator_identity(); test_Circulator_identity(); test_Iterator_project(); test_Iterator_transform(); diff --git a/Scripts/developer_scripts/check_library_uses_no_gpl_files b/Scripts/developer_scripts/check_library_uses_no_gpl_files new file mode 100755 index 00000000000..b76da0a3d3f --- /dev/null +++ b/Scripts/developer_scripts/check_library_uses_no_gpl_files @@ -0,0 +1,84 @@ +#!/bin/bash + +# This scripts checks that the libraries in src do not use any GPL'd files +# and mix LGPL'd and GPL'd files in one library. The script unpacks a tarball, +# removes all files under GPL license (*), attempts to build the libraries +# in src/, and prints any error messages about "No such file or directory". +# +# (*) The script uses license_check to identify the GPL'd files and removes +# them, with the exception of files/directories contained in an optional file. +# There should be a file with default exceptions in the same directory. + +set -e + +# see also check_licenses +EXTENSIONS="C cpp h xpm gif pcx bmp jpeg png txt html vcproj sln dsp dsw cin cout cmd nef cgal dll lib tex makefile readme" +CHECK_PATTERN="\.(`echo $EXTENSIONS | sed -e 's/ /\\|/g'`)" + +if [ $# -lt 1 -o $# -gt 2 ]; then + echo "Usage: ${0##*/} [exceptions]" + exit 1 +fi + +DIR=`pwd` + +if [ "x${1:0:1}" != x/ ]; then + FILE="`pwd`/$1" +else + FILE="$1" +fi + +if [ $# = 2 ]; then + if [ "x${2:0:1}" != x/ ]; then + EXCEPTIONS="`pwd`/$2" + else + EXCEPTIONS="$2" + fi +fi + +echo -n Extracting tarball $FILE ... +TMP_DIR=`mktemp -dq /tmp/${0##*/}.XXXXXX` +cd $TMP_DIR +tar xzf $FILE +DIR=${FILE##*/} +DIR=${DIR%.tar.gz} +cd $DIR +echo " done" +echo + +echo Removing GPLed files ... +if [ "x$EXCEPTIONS" != x ]; then + licensecheck -r * -c $CHECK_PATTERN | grep "[^L]GPL (v3 or later)" | sed 's/:.*//' | grep -v -f "$EXCEPTIONS" | sort + rm `licensecheck -r * -c $CHECK_PATTERN | grep "[^L]GPL (v3 or later)" | sed 's/:.*//' | grep -v -f "$EXCEPTIONS"` +else + licensecheck -r * -c $CHECK_PATTERN | grep "[^L]GPL (v3 or later)" | sed 's/:.*//' | sort + rm `licensecheck -r * -c $CHECK_PATTERN | grep "[^L]GPL (v3 or later)" | sed 's/:.*//'` +fi +echo Removing GPLed files done +echo + +echo List of exceptions: +if [ "x$EXCEPTIONS" != x ]; then + cat "$EXCEPTIONS" +else + echo "(none)" +fi +echo + +echo -n Building $1 ... +rm -fr demo/[A-Z]* +rm -fr examples/[A-Z]* +# Somehow -DWITH_CGAL_Core=OFF is not taken into account, hence the CORE files +# are listed in the exceptions file. +QTDIR= cmake . -DBUILD_SHARED_LIBS=TRUE -DWITH_CGAL_Qt4=OFF -DWITH_CGAL_Core=OFF +make | grep -C 10 "No such file" || true +echo " done" +echo + +echo -n Cleaning up ... +cd .. +rm -fr $DIR +cd .. +rmdir $TMP_DIR +echo " done" +echo diff --git a/Scripts/developer_scripts/check_library_uses_no_gpl_files.exceptions b/Scripts/developer_scripts/check_library_uses_no_gpl_files.exceptions new file mode 100644 index 00000000000..dd5f189f590 --- /dev/null +++ b/Scripts/developer_scripts/check_library_uses_no_gpl_files.exceptions @@ -0,0 +1,4 @@ +CMakeLists.txt$ +^include/CGAL/CORE/ +^include/CGAL/export/CORE.h$ +^src/CGALCore/ diff --git a/Scripts/developer_scripts/check_library_uses_no_qpl_files b/Scripts/developer_scripts/check_library_uses_no_qpl_files deleted file mode 100755 index 1e632b8e82d..00000000000 --- a/Scripts/developer_scripts/check_library_uses_no_qpl_files +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/bash - -# This scripts checks that the libraries in src do not use any QPL'd files -# and mix LGPL'd and QPL'd files in one library. The script unpacks a tarball, -# removesall files under QPL license (*), attempts to build the libraries -# in src/, and print any error messages about "No such file or directory". -# -# (*) The script simply removes all files that contain the string LICENSE.QPL, -# with the exception of files/directories contained in an optional file with -# exceptions. There should be file with default exceptions in the same -# directory. - -set -e - -if [ $# -lt 1 -o $# -gt 2 ]; then - echo "Usage: ${0##*/} [exceptions]" - exit 1 -fi - -DIR=`pwd` - -if [ "x${1:0:1}" != x/ ]; then - FILE="`pwd`/$1" -else - FILE="$1" -fi - -if [ $# = 2 ]; then - if [ "x${2:0:1}" != x/ ]; then - EXCEPTIONS="`pwd`/$2" - else - EXCEPTIONS="$2" - fi -fi - -echo -n Extracting tarball $FILE ... -TMP_DIR=`mktemp -dq /tmp/${0##*/}.XXXXXX` -cd $TMP_DIR -tar xzf $FILE -DIR=${FILE##*/} -DIR=${DIR%.tar.gz} -cd $DIR -echo " done" -echo - -echo Removing QPLed files ... -if [ "x$EXCEPTIONS" != x ]; then - grep -rl LICENSE.QPL * | sort - rm `grep -rl LICENSE.QPL * | grep -v -f "$EXCEPTIONS"` -else - grep -rl LICENSE.QPL * | sort - rm `grep -rl LICENSE.QPL *` -fi -echo Removing QPLed files done -echo - -echo List of exceptions: -if [ "x$EXCEPTIONS" != x ]; then - cat "$EXCEPTIONS" -else - echo "(none)" -fi -echo - -echo -n Building $1 ... -rm -fr demo/[A-Z]* -rm -fr examples/[A-Z]* -QTDIR= cmake . -DBUILD_SHARED_LIBS=TRUE -make | grep -C 10 "No such file" || true -echo " done" -echo - -echo -n Cleaning up ... -cd .. -rm -fr $DIR -cd .. -rmdir $TMP_DIR -echo " done" -echo diff --git a/Scripts/developer_scripts/check_library_uses_no_qpl_files.exceptions b/Scripts/developer_scripts/check_library_uses_no_qpl_files.exceptions deleted file mode 100644 index c22064bbd4c..00000000000 --- a/Scripts/developer_scripts/check_library_uses_no_qpl_files.exceptions +++ /dev/null @@ -1,5 +0,0 @@ -CMakeLists.txt -include/CGAL/CORE -src/CGALCore -include/CGAL/Qt -src/CGALQt4 diff --git a/Scripts/developer_scripts/check_licenses b/Scripts/developer_scripts/check_licenses index 4c228526750..7d95930afdd 100755 --- a/Scripts/developer_scripts/check_licenses +++ b/Scripts/developer_scripts/check_licenses @@ -63,7 +63,7 @@ if [ ! -f INSTALL ]; then exit 1 fi -licensecheck -r * -c $CHECK_PATTERN | grep -Ev 'L?GPL \(v3 or later\)' | \ +licensecheck -r * -c $CHECK_PATTERN | grep -Ev ': L?GPL \(v3 or later\)' | \ grep -v "^$DIR/\|^include/CGAL/CORE/\|^include/CGAL/OpenNL/\|^src/CGALCore/\|^src/CGALimageIO/\|^config/support/\|test/\|^Packages/\|^developer_scripts\|^doc_tex/\|^winutils/\|^cmake/platforms" | sort >$PREFIX1 || true echo Note that files in the following directories are ignored: diff --git a/Scripts/developer_scripts/clean_up_branch.sh b/Scripts/developer_scripts/clean_up_branch.sh old mode 100644 new mode 100755 diff --git a/Scripts/developer_scripts/detect_packages_licenses b/Scripts/developer_scripts/detect_packages_licenses index 1fd00084d9f..4de2ca84b08 100755 --- a/Scripts/developer_scripts/detect_packages_licenses +++ b/Scripts/developer_scripts/detect_packages_licenses @@ -9,7 +9,7 @@ setopt extendedglob for p in ^*build*(/); do if [ -d $p/include ]; then licFile=$p/package_info/$p/license.txt - l=`licensecheck -r $p/include $p/src | awk -F': ' '{print $2}' | grep -v BSL | sort -u` + l=`licensecheck -r $p/include $p/src | awk -F': ' '{print $2}' | grep -v BSL | sed -e 's/GENERATED FILE//' | sort -u` if [ "x`echo $l | wc -l`" = "x1" ]; then echo $l > "$licFile" elif [ -z "`echo $l | grep -Eq '^L?GPL \(v3 or later\) *$'`" ]; then diff --git a/Scripts/developer_scripts/licensecheck b/Scripts/developer_scripts/licensecheck index 8f31d2474da..bb75ecf4fc8 100755 --- a/Scripts/developer_scripts/licensecheck +++ b/Scripts/developer_scripts/licensecheck @@ -406,9 +406,9 @@ sub parselicense($) { $extrainfo = " (with Qt exception)$extrainfo" } -# if ($licensetext =~ /(All changes made in this file will be lost|DO NOT (EDIT|delete this file)|Generated (automatically|by|from)|generated.*file)/i) { -# $license = "GENERATED FILE"; -# } + if ($licensetext =~ /(All changes made in this file will be lost|DO NOT (EDIT|delete this file)|Generated (automatically|by|from)|generated.*file)/i) { + $license = "GENERATED FILE"; + } if ($licensetext =~ /(is free software.? )?[Yy]ou can redistribute (it|them) and\/or +modify (it|them) under the terms of the (GNU (Library|Lesser) General Public License|LGPL)/i) { $license = "LGPL$gplver$extrainfo $license"; diff --git a/Scripts/scripts/cgal_create_assertions.sh b/Scripts/scripts/cgal_create_assertions.sh index 409216ee1b8..7b7526f3e20 100755 --- a/Scripts/scripts/cgal_create_assertions.sh +++ b/Scripts/scripts/cgal_create_assertions.sh @@ -1,3 +1,4 @@ +#!/bin/sh # Copyright (c) 1999, 2001, 2003 # Utrecht University (The Netherlands), # ETH Zurich (Switzerland), diff --git a/Skin_surface_3/examples/Skin_surface_3/skin_surface_pdb_reader.cpp b/Skin_surface_3/examples/Skin_surface_3/skin_surface_pdb_reader.cpp index f37d27641b8..acef42d6ad5 100644 --- a/Skin_surface_3/examples/Skin_surface_3/skin_surface_pdb_reader.cpp +++ b/Skin_surface_3/examples/Skin_surface_3/skin_surface_pdb_reader.cpp @@ -45,9 +45,11 @@ int main(int argc, char *argv[]) { // Construct skin surface: + std::cout << "Constructing skin surface..." <}. +\ccc{CGAL::Weighted_Minkowski_distance} \end{ccRefClass} diff --git a/Spatial_searching/doc_tex/Spatial_searching_ref/Fair.tex b/Spatial_searching/doc_tex/Spatial_searching_ref/Fair.tex index 7edbd56c472..af8e0b8decb 100644 --- a/Spatial_searching/doc_tex/Spatial_searching_ref/Fair.tex +++ b/Spatial_searching/doc_tex/Spatial_searching_ref/Fair.tex @@ -58,7 +58,7 @@ Splitter \ccSeeAlso -\ccc{Splitter},\\ +\ccc{Splitter}\\ \ccc{SpatialSeparator} \end{ccRefFunctionObjectClass} diff --git a/Spatial_searching/doc_tex/Spatial_searching_ref/Incremental_neighbor_search.tex b/Spatial_searching/doc_tex/Spatial_searching_ref/Incremental_neighbor_search.tex index bb159d1b52a..a2708e873d4 100644 --- a/Spatial_searching/doc_tex/Spatial_searching_ref/Incremental_neighbor_search.tex +++ b/Spatial_searching/doc_tex/Spatial_searching_ref/Incremental_neighbor_search.tex @@ -82,7 +82,7 @@ Inserts statistics of the search process into the output stream \ccc{s}. \ccSeeAlso -\ccc{CGAL::Orthogonal_incremental_neighbor_search}. +\ccc{CGAL::Orthogonal_incremental_neighbor_search} \end{ccRefClass} diff --git a/Spatial_searching/doc_tex/Spatial_searching_ref/K_neighbor_search.tex b/Spatial_searching/doc_tex/Spatial_searching_ref/K_neighbor_search.tex index 7b392a3dfaa..c718e4805e3 100644 --- a/Spatial_searching/doc_tex/Spatial_searching_ref/K_neighbor_search.tex +++ b/Spatial_searching/doc_tex/Spatial_searching_ref/K_neighbor_search.tex @@ -87,7 +87,7 @@ Inserts statistics of the search process into the output stream \ccc{s}. \ccSeeAlso -\ccc{CGAL::Orthogonal_k_neighbor_search}. +\ccc{CGAL::Orthogonal_k_neighbor_search} \end{ccRefClass} diff --git a/Spatial_searching/doc_tex/Spatial_searching_ref/Kd_tree.tex b/Spatial_searching/doc_tex/Spatial_searching_ref/Kd_tree.tex index 07bb2ba06d4..ef9104bd623 100644 --- a/Spatial_searching/doc_tex/Spatial_searching_ref/Kd_tree.tex +++ b/Spatial_searching/doc_tex/Spatial_searching_ref/Kd_tree.tex @@ -113,10 +113,10 @@ Inserts statistics of the tree into the output stream \ccc{s}. \ccSeeAlso Tree. -\ccc{CGAL::Kd_tree_node},\\ -\ccc{CGAL::Search_traits_2},\\ -\ccc{CGAL::Search_traits_3},\\ -\ccc{CGAL::Search_traits}. +\ccc{CGAL::Kd_tree_node}\\ +\ccc{CGAL::Search_traits_2}\\ +\ccc{CGAL::Search_traits_3}\\ +\ccc{CGAL::Search_traits} \end{ccRefClass} diff --git a/Spatial_searching/doc_tex/Spatial_searching_ref/Manhattan_distance_iso_box_point.tex b/Spatial_searching/doc_tex/Spatial_searching_ref/Manhattan_distance_iso_box_point.tex index 7014e9c5c3e..6b61d16b186 100644 --- a/Spatial_searching/doc_tex/Spatial_searching_ref/Manhattan_distance_iso_box_point.tex +++ b/Spatial_searching/doc_tex/Spatial_searching_ref/Manhattan_distance_iso_box_point.tex @@ -68,7 +68,7 @@ a point from \ccc{r} furthest to \ccc{b}.} \ccSeeAlso -\ccc{GeneralDistance}. +\ccc{GeneralDistance} diff --git a/Spatial_searching/doc_tex/Spatial_searching_ref/Median_of_max_spread.tex b/Spatial_searching/doc_tex/Spatial_searching_ref/Median_of_max_spread.tex index 31e1a1e050b..0a53dd3a125 100644 --- a/Spatial_searching/doc_tex/Spatial_searching_ref/Median_of_max_spread.tex +++ b/Spatial_searching/doc_tex/Spatial_searching_ref/Median_of_max_spread.tex @@ -45,7 +45,7 @@ the type, \ccc{CGAL::Plane_separator}. \ccSeeAlso -\ccc{Splitter},\\ +\ccc{Splitter}\\ \ccc{SpatialSeparator} diff --git a/Spatial_searching/doc_tex/Spatial_searching_ref/Midpoint_of_rectangle.tex b/Spatial_searching/doc_tex/Spatial_searching_ref/Midpoint_of_rectangle.tex index 52df9764fda..43453286c31 100644 --- a/Spatial_searching/doc_tex/Spatial_searching_ref/Midpoint_of_rectangle.tex +++ b/Spatial_searching/doc_tex/Spatial_searching_ref/Midpoint_of_rectangle.tex @@ -45,7 +45,7 @@ the type, \ccc{CGAL::Plane_separator} \ccSeeAlso -\ccc{Splitter},\\ +\ccc{Splitter}\\ \ccc{SpatialSeparator} \end{ccRefFunctionObjectClass} diff --git a/Spatial_searching/doc_tex/Spatial_searching_ref/Orthogonal_incremental_neighbor_search.tex b/Spatial_searching/doc_tex/Spatial_searching_ref/Orthogonal_incremental_neighbor_search.tex index 1643e4e33e9..b0c1e518521 100644 --- a/Spatial_searching/doc_tex/Spatial_searching_ref/Orthogonal_incremental_neighbor_search.tex +++ b/Spatial_searching/doc_tex/Spatial_searching_ref/Orthogonal_incremental_neighbor_search.tex @@ -78,7 +78,7 @@ Inserts statistics of the search process into the output stream~\ccc{s}. \ccSeeAlso -\ccc{CGAL::Incremental_neighbor_search}. +\ccc{CGAL::Incremental_neighbor_search} \end{ccRefClass} diff --git a/Spatial_searching/doc_tex/Spatial_searching_ref/Orthogonal_k_neighbor_search.tex b/Spatial_searching/doc_tex/Spatial_searching_ref/Orthogonal_k_neighbor_search.tex index aef7764ed03..16bcd2139ed 100644 --- a/Spatial_searching/doc_tex/Spatial_searching_ref/Orthogonal_k_neighbor_search.tex +++ b/Spatial_searching/doc_tex/Spatial_searching_ref/Orthogonal_k_neighbor_search.tex @@ -90,7 +90,7 @@ Inserts statistics of the search process into the output stream~\ccc{s}. \ccSeeAlso -\ccc{CGAL::K_neighbor_search}. +\ccc{CGAL::K_neighbor_search} \end{ccRefClass} diff --git a/Spatial_searching/doc_tex/Spatial_searching_ref/QueryItem.tex b/Spatial_searching/doc_tex/Spatial_searching_ref/QueryItem.tex index 704c3a71290..34ce799f9c0 100644 --- a/Spatial_searching/doc_tex/Spatial_searching_ref/QueryItem.tex +++ b/Spatial_searching/doc_tex/Spatial_searching_ref/QueryItem.tex @@ -29,7 +29,8 @@ CGAL::Circle_2, CGAL::Sphere_3, CGAL::Sphere_d}. \ccSeeAlso -\ccc{GeneralDistance}, \ccc{OrthogonalDistance}. +\ccc{GeneralDistance}\\ +\ccc{OrthogonalDistance} \end{ccRefConcept} diff --git a/Spatial_searching/doc_tex/Spatial_searching_ref/RangeSearchTraits.tex b/Spatial_searching/doc_tex/Spatial_searching_ref/RangeSearchTraits.tex index 6d2ac472037..c6d33ec1ecf 100644 --- a/Spatial_searching/doc_tex/Spatial_searching_ref/RangeSearchTraits.tex +++ b/Spatial_searching/doc_tex/Spatial_searching_ref/RangeSearchTraits.tex @@ -55,7 +55,7 @@ the vertex with lexicographically largest coordinates of an object of type \ccc{ \ccSeeAlso -\ccc{SearchTraits} +\ccc{SearchTraits}\\ \ccc{CGAL::Search_traits_adapter} \end{ccRefConcept} diff --git a/Spatial_searching/doc_tex/Spatial_searching_ref/SearchTraits.tex b/Spatial_searching/doc_tex/Spatial_searching_ref/SearchTraits.tex index 4f89e4aaef7..5864208d50b 100644 --- a/Spatial_searching/doc_tex/Spatial_searching_ref/SearchTraits.tex +++ b/Spatial_searching/doc_tex/Spatial_searching_ref/SearchTraits.tex @@ -51,7 +51,7 @@ provides the type \ccc{result_type} that must be the same a \ccc{Cartesian_const \ccc{CGAL::Search_traits}. \ccSeeAlso -\ccc{RangeSearchTraits} +\ccc{RangeSearchTraits}\\ \ccc{CGAL::Search_traits_adapter} \end{ccRefConcept} diff --git a/Spatial_searching/doc_tex/Spatial_searching_ref/Sliding_fair.tex b/Spatial_searching/doc_tex/Spatial_searching_ref/Sliding_fair.tex index 98156ddd2b2..f760262f1e5 100644 --- a/Spatial_searching/doc_tex/Spatial_searching_ref/Sliding_fair.tex +++ b/Spatial_searching/doc_tex/Spatial_searching_ref/Sliding_fair.tex @@ -72,7 +72,7 @@ of a cell allowed for fair splitting.} \ccSeeAlso -\ccc{Splitter},\\ +\ccc{Splitter}\\ \ccc{SpatialSeparator} \end{ccRefFunctionObjectClass} diff --git a/Spatial_searching/doc_tex/Spatial_searching_ref/Sliding_midpoint.tex b/Spatial_searching/doc_tex/Spatial_searching_ref/Sliding_midpoint.tex index 063bd7cdcc9..4633b5d1327 100644 --- a/Spatial_searching/doc_tex/Spatial_searching_ref/Sliding_midpoint.tex +++ b/Spatial_searching/doc_tex/Spatial_searching_ref/Sliding_midpoint.tex @@ -53,8 +53,9 @@ the type, \ccc{CGAL::Plane_separator}. \ccSeeAlso -\ccc{Splitter},\\ - \ccc{SpatialSeparator} +\ccc{Splitter}\\ +\ccc{SpatialSeparator} + \end{ccRefFunctionObjectClass} % +------------------------------------------------------------------------+ diff --git a/Spatial_searching/include/CGAL/Fuzzy_iso_box.h b/Spatial_searching/include/CGAL/Fuzzy_iso_box.h index 2cf6718517a..2fb9ad71b95 100644 --- a/Spatial_searching/include/CGAL/Fuzzy_iso_box.h +++ b/Spatial_searching/include/CGAL/Fuzzy_iso_box.h @@ -58,7 +58,9 @@ namespace CGAL { private: - typename Construct_min_vertex_d::result_type min, max; + typename boost::remove_cv< + typename boost::remove_reference< typename Construct_min_vertex_d::result_type >::type + >::type min, max; Cartesian_const_iterator_d min_begin, max_begin; FT eps; unsigned int dim; diff --git a/Straight_skeleton_2/include/CGAL/create_straight_skeleton_2.h b/Straight_skeleton_2/include/CGAL/create_straight_skeleton_2.h index 7994b531c21..ded63d4ab9f 100644 --- a/Straight_skeleton_2/include/CGAL/create_straight_skeleton_2.h +++ b/Straight_skeleton_2/include/CGAL/create_straight_skeleton_2.h @@ -135,6 +135,7 @@ boost::shared_ptr< Straight_skeleton_2 > inline create_interior_straight_skeleton_2 ( Polygon const& aOutContour, K const& k ) { + CGAL_precondition(aOutContour.is_simple() || !"The input polygon is not simple."); return create_interior_straight_skeleton_2(CGAL_SS_i::vertices_begin(aOutContour) ,CGAL_SS_i::vertices_end(aOutContour) ,k @@ -221,6 +222,7 @@ boost::shared_ptr< Straight_skeleton_2 > inline create_exterior_straight_skeleton_2 ( FT const& aMaxOffset, Polygon const& aPoly, K const& k ) { + CGAL_precondition(aPoly.is_simple() || !"The input polygon is not simple."); return create_exterior_straight_skeleton_2(aMaxOffset ,CGAL_SS_i::vertices_begin(aPoly) ,CGAL_SS_i::vertices_end (aPoly) diff --git a/Stream_support/include/CGAL/IO/File_header_gocad.h b/Stream_support/include/CGAL/IO/File_header_gocad.h deleted file mode 100644 index 620b6e23c56..00000000000 --- a/Stream_support/include/CGAL/IO/File_header_gocad.h +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright (c) 2009 GeometryFactory All rights reserved. -// -// This file is part of CGAL (www.cgal.org); you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public License as -// published by the Free Software Foundation; either version 3 of the License, -// or (at your option) any later version. -// -// Licensees holding a valid commercial license may use this file in -// accordance with the commercial license agreement provided with the software. -// -// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -// -// $URL$ -// $Id$ -// -// -// Author(s) : Andreas Fabri - - -#ifndef CGAL_IO_FILE_HEADER_GOCAD_H -#define CGAL_IO_FILE_HEADER_GOCAD_H 1 - -#include -#include - -namespace CGAL { - -class File_header_gocad { -private: - std::string m_fname; - std::string m_color; -public: -explicit File_header_gocad(std::string fname, std::string color) : m_fname(fname), m_color(color) {} - - std::string fname() const - { - return m_fname; - } - - std::string color() const - { - return m_color; - } - - -}; - -// Write header. -inline std::ostream& operator<<( std::ostream& out, const File_header_gocad& h){ - - return out << "GOCAD TSurf 1\n" - "HEADER {\n" - "name:" << h.fname() << "\n" - "*solid*color:" << h.color() << "\n" - "}\n" - "TFACE\n"; -} - -} //namespace CGAL -#endif // CGAL_IO_FILE_HEADER_GOCAD_H diff --git a/Stream_support/include/CGAL/IO/File_writer_gocad.h b/Stream_support/include/CGAL/IO/File_writer_gocad.h deleted file mode 100644 index 2267c66e3a5..00000000000 --- a/Stream_support/include/CGAL/IO/File_writer_gocad.h +++ /dev/null @@ -1,83 +0,0 @@ -// Copyright (c) 1997 -// Utrecht University (The Netherlands), -// ETH Zurich (Switzerland), -// INRIA Sophia-Antipolis (France), -// Max-Planck-Institute Saarbruecken (Germany), -// and Tel-Aviv University (Israel). All rights reserved. -// -// This file is part of CGAL (www.cgal.org); you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public License as -// published by the Free Software Foundation; either version 3 of the License, -// or (at your option) any later version. -// -// Licensees holding a valid commercial license may use this file in -// accordance with the commercial license agreement provided with the software. -// -// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -// -// $URL$ -// $Id$ -// -// -// Author(s) : Lutz Kettner - -#ifndef CGAL_IO_FILE_WRITER_GOCAD_H -#define CGAL_IO_FILE_WRITER_GOCAD_H 1 - -#include -#include -#include -#include - -namespace CGAL { - -class File_writer_gocad { - int m_vertex_index; - std::ostream* m_out; - File_header_gocad m_header; -public: - File_writer_gocad(std::string fname, std::string color) : m_vertex_index(0), m_header(fname, color) {} - File_writer_gocad( const File_header_gocad& h) : m_vertex_index(0), m_header( h) {} - - std::ostream& out() { return *m_out; } - File_header_gocad& header() { return m_header; } - const File_header_gocad& header() const { return m_header; } - - void write_header( std::ostream& o, - std::size_t vertices, - std::size_t halfedges, - std::size_t facets, - bool normals = false) - { - m_out = &o; - out() << header(); - } - - - void write_footer() - {} - - void write_vertex( const double& x, const double& y, const double& z) { - out() << "VRTX " << m_vertex_index++ << ' ' << x << ' ' << y << ' ' << z << '\n'; - } - - void write_facet_header() { - out() << '\n'; - } - - void write_facet_begin( std::size_t no) { - CGAL_assertion(no == 3); - out() << "TRGL " << ' '; - } - void write_facet_vertex_index( std::size_t index) { - out() << ' ' << index; - } - void write_facet_end() { - out() << '\n'; - } -}; - -} //namespace CGAL -#endif // CGAL_IO_FILE_WRITER_GOCAD_H // -// EOF // diff --git a/Surface_mesh_parameterization/include/CGAL/Parameterization_mesh_feature_extractor.h b/Surface_mesh_parameterization/include/CGAL/Parameterization_mesh_feature_extractor.h index 6942c73b5f5..b0c240174c0 100644 --- a/Surface_mesh_parameterization/include/CGAL/Parameterization_mesh_feature_extractor.h +++ b/Surface_mesh_parameterization/include/CGAL/Parameterization_mesh_feature_extractor.h @@ -98,7 +98,12 @@ public: m_nb_borders = -1; m_genus = -1; } - virtual ~Parameterization_mesh_feature_extractor() {} + + virtual ~Parameterization_mesh_feature_extractor() { + for (typename Skeleton::iterator iter = m_skeleton.begin(); + iter != m_skeleton.end(); ++iter) + delete *iter; + } /// Get number of borders. int get_nb_borders() diff --git a/Surface_mesh_parameterization/include/CGAL/Parameterization_polyhedron_adaptor_3.h b/Surface_mesh_parameterization/include/CGAL/Parameterization_polyhedron_adaptor_3.h index caa07bfbbb6..20ece77181c 100644 --- a/Surface_mesh_parameterization/include/CGAL/Parameterization_polyhedron_adaptor_3.h +++ b/Surface_mesh_parameterization/include/CGAL/Parameterization_polyhedron_adaptor_3.h @@ -441,7 +441,7 @@ public: int index = 0; for (Vertex_iterator it=mesh_vertices_begin(); it!=mesh_vertices_end(); it++) { - Point_3 position = get_vertex_position(it); + // Point_3 position = get_vertex_position(it); /*#ifdef DEBUG_TRACE fprintf(stderr, " %d=(%f,%f,%f)\n", index, diff --git a/Surface_mesh_simplification/doc_tex/Surface_mesh_simplification_ref/Count_ratio_stop_predicate.tex b/Surface_mesh_simplification/doc_tex/Surface_mesh_simplification_ref/Count_ratio_stop_predicate.tex index 60428e168af..29181670d7f 100644 --- a/Surface_mesh_simplification/doc_tex/Surface_mesh_simplification_ref/Count_ratio_stop_predicate.tex +++ b/Surface_mesh_simplification/doc_tex/Surface_mesh_simplification_ref/Count_ratio_stop_predicate.tex @@ -50,7 +50,7 @@ of edges drops below a certain ratio. , size_type initial_count , size_type current_count ) const ;} - {Returns $( ((double)current_count / (double)initial_count) < ratio)$. + {Returns $( ((double)current\_count / (double)initial\_count) < ratio)$. All other parameters are ignored (but exist since this is a generic policy).} \ccSeeAlso diff --git a/Surface_mesh_simplification/doc_tex/Surface_mesh_simplification_ref/Count_stop_predicate.tex b/Surface_mesh_simplification/doc_tex/Surface_mesh_simplification_ref/Count_stop_predicate.tex index 24c23558573..117654251b5 100644 --- a/Surface_mesh_simplification/doc_tex/Surface_mesh_simplification_ref/Count_stop_predicate.tex +++ b/Surface_mesh_simplification/doc_tex/Surface_mesh_simplification_ref/Count_stop_predicate.tex @@ -51,7 +51,7 @@ It returns \ccc{true} when the number of current edges drops below a certain thr , size_type current_count ) const ; } - {Returns $(current_count < threshold)$. All other parameters are ignored (but exist since this is a generic policy).} + {Returns $(current\_count < threshold)$. All other parameters are ignored (but exist since this is a generic policy).} \ccSeeAlso \ccc{CGAL::Surface_mesh_simplification::Count_ratio_stop_predicate} diff --git a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/halfedge_collapse_Polyhedron_3.h b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/halfedge_collapse_Polyhedron_3.h index 82b98f6db6e..59ced4834db 100644 --- a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/halfedge_collapse_Polyhedron_3.h +++ b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/halfedge_collapse_Polyhedron_3.h @@ -22,11 +22,7 @@ #include #include -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM # define CGAL_HDS_PARAM_ template < class Traits, class Items, class Alloc> class HDS -#else -# define CGAL_HDS_PARAM_ class HDS -#endif namespace CGAL { @@ -124,7 +120,7 @@ halfedge_collapse( typename boost::graph_traits< Polyhedron_3 >::edg } //namespace CGAL -#undef CGAL_HDS_ +#undef CGAL_HDS_PARAM #endif // CGAL_SURFACE_MESH_SIMPLIFICATION_COLLAPSE_TRIANGULATION_EDGE_POLYHEDRON_3_H // EOF // diff --git a/Surface_mesher/demo/Surface_mesher/binary_image.h b/Surface_mesher/demo/Surface_mesher/binary_image.h index 78fa56b16a4..ed7ea390a1d 100644 --- a/Surface_mesher/demo/Surface_mesher/binary_image.h +++ b/Surface_mesher/demo/Surface_mesher/binary_image.h @@ -21,6 +21,8 @@ #include #include +#include +#include #include #include @@ -36,8 +38,8 @@ class CBinary_image_3 : public CGAL::Image_3 bool labellized_; public: - float min_value; - float max_value; + double min_value; + double max_value; typedef FT_ FT; @@ -58,6 +60,17 @@ public: { } + void finish_open() { + CGAL_IMAGE_IO_CASE(image_ptr.get(), + Word *min; Word *max; + (boost::tie(min, max)) = + (CGAL::min_max_element((Word*)(data()), + (Word*)(data()) + + xdim() * ydim() * zdim())); + min_value = *min; + max_value = *max;) + } + float xmax() const { return (float)(((image_ptr->xdim) - 1.0)*(image_ptr->vx)); @@ -139,11 +152,11 @@ public: if(interpolation()) { if(labellized()) { CGAL_IMAGE_IO_CASE(image_ptr.get(), - return (this->labellized_trilinear_interpolation(x, y, z, 0));) + return (this->labellized_trilinear_interpolation(x, y, z, min_value));) } else { CGAL_IMAGE_IO_CASE(image_ptr.get(), - return (this->trilinear_interpolation(x, y, z, 0));) + return (this->trilinear_interpolation(x, y, z, min_value));) } } else { diff --git a/Surface_mesher/demo/Surface_mesher/volume.cpp b/Surface_mesher/demo/Surface_mesher/volume.cpp index 27838df8352..597a44a0fc2 100644 --- a/Surface_mesher/demo/Surface_mesher/volume.cpp +++ b/Surface_mesher/demo/Surface_mesher/volume.cpp @@ -3,6 +3,7 @@ #include // std::sort #include #include +#include #include @@ -582,6 +583,7 @@ bool Volume::open(const QString& filename) void Volume::finish_open() { + m_image.finish_open(); mw->viewer->camera()->setSceneBoundingBox(qglviewer::Vec(0, 0, 0), qglviewer::Vec(m_image.xmax(), m_image.ymax(), @@ -844,7 +846,8 @@ void Volume::display_surface_mesher_result() if(mw->searchSeedsCheckBox->isChecked()) { - std::vector seeds; + typedef std::vector > Seeds; + Seeds seeds; { std::cerr << "Search seeds...\n"; std::set domains; @@ -863,23 +866,31 @@ void Volume::display_surface_mesher_result() } } } - for(std::vector::const_iterator it = seeds.begin(), end = seeds.end(); + std::ofstream seeds_out("seeds.off"); + std::ofstream segments_out("segments.txt"); + seeds_out.precision(18); + seeds_out << "OFF\n" << seeds.size() << " 0 0\n"; + segments_out.precision(18); + for(Seeds::const_iterator it = seeds.begin(), end = seeds.end(); it != end; ++it) { - CGAL::Random_points_on_sphere_3 random_points_on_sphere_3(2*m_image.radius()); + seeds_out << it->first << std::endl; + CGAL::Random_points_on_sphere_3 random_points_on_sphere_3(it->second); Oracle::Intersect_3 intersect = oracle.intersect_3_object(); for(int i = 0; i < 20; ++i) { - const Point test = *it + (*random_points_on_sphere_3++ - CGAL::ORIGIN); - CGAL::Object o = intersect(surface, Segment_3(*it, test)); - if (const Point* intersection = CGAL::object_cast(&o)) + const Point test = it->first + (*random_points_on_sphere_3++ - CGAL::ORIGIN); + CGAL::Object o = intersect(surface, Segment_3(it->first, test)); + if (const Point* intersection = CGAL::object_cast(&o)) { + segments_out << "2 " << it->first << " " << *intersection << std::endl; del.insert(*intersection); + } else { std::cerr << boost::format("Error. Segment (%1%, %2%) does not intersect the surface! values=(%3%, %4%)\n") - % *it % test - % surface(*it) % surface(test); + % it->first % test + % surface(it->first) % surface(test); } } } @@ -890,6 +901,16 @@ void Volume::display_surface_mesher_result() 20); } + std::ofstream points_out("initial-points.off"); + points_out.precision(18); + points_out << "OFF\n" << c2t3.triangulation().number_of_vertices() << " 0 0\n"; + BOOST_FOREACH(const Tr::Vertex& v, + std::make_pair(c2t3.triangulation().vertices_begin(), + c2t3.triangulation().vertices_end())) + { + points_out << v.point() << std::endl; + } + std::cerr << boost::format("Number of initial points: %1%\n") % del.number_of_vertices(); // defining meshing criteria diff --git a/Surface_mesher/demo/Surface_mesher/volume.h b/Surface_mesher/demo/Surface_mesher/volume.h index fabfab33b49..db31c5e8cfe 100644 --- a/Surface_mesher/demo/Surface_mesher/volume.h +++ b/Surface_mesher/demo/Surface_mesher/volume.h @@ -212,11 +212,15 @@ void Volume::search_for_connected_components(PointsOutputIterator it, const unsigned int ny = m_image.ydim(); const unsigned int nz = m_image.zdim(); + const double max_v = (std::max)((std::max)(m_image.vx(), + m_image.vy()), + m_image.vz()); + typedef unsigned char Marker; typedef typename TransformOperator::result_type Label; boost::multi_array visited(boost::extents[nx][ny][nz]); - typedef boost::tuple Indices; + typedef boost::tuple Indices; typedef std::queue Indices_queue; typedef std::vector Border_vector; @@ -246,7 +250,7 @@ void Volume::search_for_connected_components(PointsOutputIterator it, int nb_voxels = 0; Indices_queue queue; - Indices indices(i, j ,k); + Indices indices(i, j ,k, 0); queue.push(indices); Border_vector border; @@ -271,6 +275,7 @@ void Volume::search_for_connected_components(PointsOutputIterator it, const int i = boost::get<0>(indices); const int j = boost::get<1>(indices); const int k = boost::get<2>(indices); + const int depth = boost::get<3>(indices); if(visited[i][j][k] < pass) { @@ -313,7 +318,7 @@ void Volume::search_for_connected_components(PointsOutputIterator it, if(transform(m_image.value(i_n, j_n, k_n)) == current_label) { if(visited[i_n][j_n][k_n] < pass) { - Indices indices(i_n, j_n, k_n); + Indices indices(i_n, j_n, k_n, depth+1); queue.push(indices); } } @@ -340,7 +345,7 @@ void Volume::search_for_connected_components(PointsOutputIterator it, { // if(nb_voxels >= 100) { - *it++ = m_image.point(i, j, k); + *it++ = std::make_pair(m_image.point(i, j, k), (depth+1)*max_v); std::cerr << boost::format("Found seed %5%, which is voxel (%1%, %2%, %3%), value=%4%\n") % i % j % k % m_image.value(i, j, k) % m_image.point(i, j, k); } diff --git a/Surface_mesher/doc_tex/Complex_2_in_triangulation_3_ref/Complex_2_in_triangulation_3.tex b/Surface_mesher/doc_tex/Complex_2_in_triangulation_3_ref/Complex_2_in_triangulation_3.tex index 5a8336156c6..d81b05f8f39 100644 --- a/Surface_mesher/doc_tex/Complex_2_in_triangulation_3_ref/Complex_2_in_triangulation_3.tex +++ b/Surface_mesher/doc_tex/Complex_2_in_triangulation_3_ref/Complex_2_in_triangulation_3.tex @@ -375,11 +375,11 @@ incident to a given vertex of the complex. All those iterators and circulators are bidirectional and non mutable. -\ccMethod{Facets_iterator facets_begin();} +\ccMethod{Facet_iterator facets_begin();} {Returns an iterator with value type \ccc{Facet} to visit the facets of the 2D complex.} \ccGlue -\ccMethod{Facets_iterator facets_end();} +\ccMethod{Facet_iterator facets_end();} {Returns past the end value for the above iterator.} \ccMethod{Edges_iterator edges_begin();} diff --git a/Surface_mesher/include/CGAL/enriched_polyhedron.h b/Surface_mesher/include/CGAL/enriched_polyhedron.h index 29c0f9d38ea..09ac52042ae 100644 --- a/Surface_mesher/include/CGAL/enriched_polyhedron.h +++ b/Surface_mesher/include/CGAL/enriched_polyhedron.h @@ -233,9 +233,7 @@ struct Vertex_normal // (functor) //********************************************************* template -#endif class HDS = CGAL::HalfedgeDS_default > class Enriched_polyhedron : public CGAL::Polyhedron_3 { diff --git a/Surface_reconstruction_points_3/demo/Surface_reconstruction_points_3/PS_demo_poisson_plugin.cpp b/Surface_reconstruction_points_3/demo/Surface_reconstruction_points_3/PS_demo_poisson_plugin.cpp index 4c948830e93..38cef43e64b 100644 --- a/Surface_reconstruction_points_3/demo/Surface_reconstruction_points_3/PS_demo_poisson_plugin.cpp +++ b/Surface_reconstruction_points_3/demo/Surface_reconstruction_points_3/PS_demo_poisson_plugin.cpp @@ -56,7 +56,7 @@ class PS_demo_poisson_plugin_dialog : public QDialog, private Ui::PoissonDialog { Q_OBJECT public: - PS_demo_poisson_plugin_dialog(QWidget */*parent*/ = 0) + PS_demo_poisson_plugin_dialog(QWidget* /*parent*/ = 0) { setupUi(this); diff --git a/Surface_reconstruction_points_3/demo/Surface_reconstruction_points_3/Polyhedron_type_fwd.h b/Surface_reconstruction_points_3/demo/Surface_reconstruction_points_3/Polyhedron_type_fwd.h index fd4bb815cfb..e0865e12d97 100644 --- a/Surface_reconstruction_points_3/demo/Surface_reconstruction_points_3/Polyhedron_type_fwd.h +++ b/Surface_reconstruction_points_3/demo/Surface_reconstruction_points_3/Polyhedron_type_fwd.h @@ -15,16 +15,12 @@ namespace CGAL { class Polyhedron_items_3; -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM template < class T, class I, class A> -#endif class HalfedgeDS_default; template < class PolyhedronTraits_3, class PolyhedronItems_3, -#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM template < class T, class I, class A> -#endif class T_HDS, class Alloc > diff --git a/Surface_reconstruction_points_3/doc_tex/Surface_reconstruction_points_3/PkgDescription.tex b/Surface_reconstruction_points_3/doc_tex/Surface_reconstruction_points_3/PkgDescription.tex index 08859fd7c30..d2a19d5f902 100644 --- a/Surface_reconstruction_points_3/doc_tex/Surface_reconstruction_points_3/PkgDescription.tex +++ b/Surface_reconstruction_points_3/doc_tex/Surface_reconstruction_points_3/PkgDescription.tex @@ -2,7 +2,7 @@ \ccPkgHowToCiteCgal{cgal:asg-srps-12} \ccPkgSummary{ This \cgal\ package implements a surface reconstruction method: Poisson Surface Reconstruction. It takes as input a set of points with oriented normals and computes an implicit function. The \cgal\ surface mesh generator can then be used to extract an iso-surface from this function. } % -\ccPkgDependsOn{\ccThirdPartyEigen or \ccThirdPartyTaucs} +\ccPkgDependsOn{\ccThirdPartyEigen\ or \ccThirdPartyTaucs} \ccPkgIntroducedInCGAL{3.5} \ccPkgLicense{\ccLicenseGPL} \ccPkgDemo{Surface Reconstruction}{surface_reconstruction_points_3.zip} diff --git a/Surface_reconstruction_points_3/doc_tex/Surface_reconstruction_points_3_ref/Poisson_reconstruction_function.tex b/Surface_reconstruction_points_3/doc_tex/Surface_reconstruction_points_3_ref/Poisson_reconstruction_function.tex index 8d135f4d2f8..c3cdfda0a12 100644 --- a/Surface_reconstruction_points_3/doc_tex/Surface_reconstruction_points_3_ref/Poisson_reconstruction_function.tex +++ b/Surface_reconstruction_points_3/doc_tex/Surface_reconstruction_points_3_ref/Poisson_reconstruction_function.tex @@ -108,7 +108,7 @@ Creates a Poisson implicit function from the [first, beyond) range of points. \ccCommentHeading{Template Parameters} \\ \ccc{InputIterator}: iterator over input points. \ccc{PointPMap}: is a model of \ccc{boost::ReadablePropertyMap} with a \ccc{value_type} = \ccc{Point_3}. It can be omitted if \ccc{InputIterator} \ccc{value_type} is convertible to \ccc{Point_3}. \ccc{NormalPMap}: is a model of \ccc{boost::ReadablePropertyMap} with a \ccc{value_type} = \ccc{Vector_3}. \ccCommentHeading{Parameters} \\ -\ccc{first}: iterator over the first input point. \ccc{beyond}: past-the-end iterator over the input points. \ccc{point_pmap}: property map to access the position of an input point. \ccc{normal_pmap}: property map to access the {\bf oriented} normal of an input point. +\ccc{first}: iterator over the first input point. \ccc{beyond}: past-the-end iterator over the input points. \ccc{point_pmap}: property map to access the position of an input point. \ccc{normal_pmap}: property map to access the oriented normal of an input point. } \ccGlue diff --git a/Surface_reconstruction_points_3/examples/Surface_reconstruction_points_3/CMakeLists.txt b/Surface_reconstruction_points_3/examples/Surface_reconstruction_points_3/CMakeLists.txt index c52d576622a..2ed2390944e 100644 --- a/Surface_reconstruction_points_3/examples/Surface_reconstruction_points_3/CMakeLists.txt +++ b/Surface_reconstruction_points_3/examples/Surface_reconstruction_points_3/CMakeLists.txt @@ -55,35 +55,24 @@ if ( CGAL_FOUND ) find_package(Eigen3 3.0.91) #(requires 3.1.0-alpha1 or greater) - if (NOT EIGEN3_FOUND) - find_package(TAUCS) - if(TAUCS_FOUND) - include( ${TAUCS_USE_FILE} ) - endif(TAUCS_FOUND) - else() + if (EIGEN3_FOUND) include( ${EIGEN3_USE_FILE} ) endif() + find_package(TAUCS) + if(TAUCS_FOUND) + include( ${TAUCS_USE_FILE} ) + endif(TAUCS_FOUND) + if (EIGEN3_FOUND OR TAUCS_FOUND) # Executables that require Eigen 3 or TAUCS create_single_source_cgal_program( "poisson_reconstruction_example.cpp" ) + create_single_source_cgal_program( "poisson_reconstruction.cpp" ) else() - message(STATUS "NOTICE: Example poisson_reconstruction_example.cpp needs Eigen 3.1 (or greater) or the TAUCS library and will not be compiled.") + message(STATUS "NOTICE: The examples needs Eigen 3.1 (or greater) or the TAUCS library and will not be compiled.") endif() - if (EIGEN3_FOUND) - # Link with BLAS, LAPACK and TAUCS (optional) - find_package(TAUCS) - endif() - if(TAUCS_FOUND) - include( ${TAUCS_USE_FILE} ) - # Executables that require TAUCS - create_single_source_cgal_program( "poisson_reconstruction.cpp" ) - else(TAUCS_FOUND) - message(STATUS "NOTICE: Some of the executables in this directory need the TAUCS library and will not be compiled.") - endif(TAUCS_FOUND) - else() message(STATUS "NOTICE: This program requires the CGAL library, and will not be compiled.") diff --git a/Surface_reconstruction_points_3/examples/Surface_reconstruction_points_3/poisson_reconstruction.cpp b/Surface_reconstruction_points_3/examples/Surface_reconstruction_points_3/poisson_reconstruction.cpp index c9c9decd1e8..4e185deeacc 100644 --- a/Surface_reconstruction_points_3/examples/Surface_reconstruction_points_3/poisson_reconstruction.cpp +++ b/Surface_reconstruction_points_3/examples/Surface_reconstruction_points_3/poisson_reconstruction.cpp @@ -25,8 +25,9 @@ #include #include #include +#ifdef CGAL_TAUCS_ENABLED #include -//#include +#endif #include "compute_normal.h" @@ -92,7 +93,10 @@ int main(int argc, char * argv[]) std::cerr << "Options:\n"; std::cerr << " -sm_radius Radius upper bound (default=100 * average spacing)\n"; std::cerr << " -sm_distance Distance upper bound (default=0.25 * average spacing)\n"; - // std::cerr << " -solver taucs|mkl Sparse linear solver (default=TAUCS)\n"; + #if defined(CGAL_EIGEN3_ENABLED) && defined(CGAL_TAUCS_ENABLED) + std::cerr << " -solver eigen|taucs Sparse linear solver (default=eigen)\n"; + #endif + return EXIT_FAILURE; } @@ -100,7 +104,15 @@ int main(int argc, char * argv[]) FT sm_angle = 20.0; // Min triangle angle (degrees). FT sm_radius = 100; // Max triangle size w.r.t. point set average spacing. FT sm_distance = 0.25; // Approximation error w.r.t. point set average spacing. - std::string solver_name = "taucs"; // Sparse linear solver name. + #ifdef CGAL_EIGEN3_ENABLED + std::string solver_name = "eigen"; // Sparse linear solver name. + #else + #ifdef CGAL_TAUCS_ENABLED + std::string solver_name = "taucs"; // Sparse linear solver name. + #else + std::string solver_name = "no_solver_available"; + #endif + #endif // decode parameters std::string input_filename = argv[1]; @@ -217,6 +229,7 @@ int main(int argc, char * argv[]) points.begin(), points.end(), CGAL::make_normal_of_point_with_normal_pmap(points.begin())); + #ifdef CGAL_TAUCS_ENABLED if (solver_name == "taucs") { std::cerr << "Use TAUCS out-of-core Multifrontal Supernodal Cholesky Factorization\n"; @@ -242,29 +255,32 @@ int main(int argc, char * argv[]) return EXIT_FAILURE; } } - /* - else if (solver_name == "mkl") + else + #endif + #ifdef CGAL_EIGEN3_ENABLED { - std::cerr << "Use MKL Pardiso\n"; - - // Creates sparse linear solver: MKL Pardiso - //CGAL::MKL_symmetric_solver_traits solver; - CGAL::MKL_symmetric_solver_traits solver; - - // Computes the Poisson indicator function f() - // at each vertex of the triangulation. - if ( ! function.compute_implicit_function(solver) ) + if (solver_name == "eigen") { - std::cerr << "Error: cannot compute implicit function" << std::endl; + std::cerr << "Use Eigen 3\n"; + if ( ! function.compute_implicit_function() ) + { + std::cerr << "Error: cannot compute implicit function" << std::endl; + return EXIT_FAILURE; + } + } + else + { + std::cerr << "Error: invalid solver " << solver_name << "\n"; return EXIT_FAILURE; } } - */ - else + #else { std::cerr << "Error: invalid solver " << solver_name << "\n"; return EXIT_FAILURE; } + #endif + // Prints status std::cerr << "Total implicit function (triangulation+refinement+solver): " << task_timer.time() << " seconds\n"; diff --git a/Triangulation_2/doc_tex/Triangulation_2/triangulation_user.tex b/Triangulation_2/doc_tex/Triangulation_2/triangulation_user.tex index 18368831f49..e9fbf24047d 100644 --- a/Triangulation_2/doc_tex/Triangulation_2/triangulation_user.tex +++ b/Triangulation_2/doc_tex/Triangulation_2/triangulation_user.tex @@ -788,11 +788,11 @@ The class \ccc{Regular_triangulation_2} is designed to maintain the regular triangulation of a set of $2d$ weighted points. It derives from the class \ccc{Triangulation_2}. -The functions \ccc{insert} and +The functions \ccHtmlNoLinksFrom{\ccc{insert}} and \ccc{remove} are overwritten to handle weighted points and maintain the regular property. -In current version, function \ccc{move} is not +The function \ccHtmlNoLinksFrom{\ccc{move}} is not overwritten and thus does not preserve the regular property. The vertices of the regular triangulation of a set of weighted points ${PW}$ correspond only to a subset @@ -968,7 +968,7 @@ overrides the insertion and removal of a point to take care of the information about constrained edges. The class also allows inline insertion of a new constraint, given by its two endpoints or the removal of a constraint. -In current version, function \ccc{move} is not +In current version, function \ccHtmlNoLinksFrom{\ccc{move}} is not overwritten and thus does not take care of the constraints. \subsubsection{The Geometric Traits} @@ -1221,7 +1221,7 @@ classes. The class \ccc{Triangulation_hierarchy_2} inherits from the triangulation type passed as template parameter \ccc{Tr}. -The \ccc{insert}, \ccc{move}, and \ccc{remove} member functions +The \ccHtmlNoLinksFrom{\ccc{insert}}, \ccHtmlNoLinksFrom{\ccc{move}}, and \ccc{remove} member functions are overwritten to update the data structure at each operation. The locate queries are also overwritten to take advantage of the data structure for a fast processing. @@ -1382,7 +1382,7 @@ of the corresponding point given in the range. \subsubsection{Using an Iterator Over Pairs} Each point and its information are gathered into a pair. We provide -the \ccc{insert} function of the triangulation with a range of such pairs. +the \ccHtmlNoLinksFrom{\ccc{insert}} function of the triangulation with a range of such pairs. \ccIncludeExampleCode{Triangulation_2/info_insert_with_pair_iterator_2.cpp} diff --git a/Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_triangulation_plus_2.tex b/Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_triangulation_plus_2.tex index dc6a281517c..2f8d4476d4b 100644 --- a/Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_triangulation_plus_2.tex +++ b/Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_triangulation_plus_2.tex @@ -102,7 +102,7 @@ is \ccc{Context}.} \ccConstructor{Constrained_triangulation_plus_2(const Constrained_triangulation_plus_2& ct);}{Copy constructor.} -\ccConstructor{Constrained_triangulation_plus_2(std::list& lc, +\ccConstructor{Constrained_triangulation_plus_2(std::list& lc, const Geom_traits& t = Geom_traits())} {Introduces and builds a constrained triangulation from the list of constraints \ccc{lc}.} @@ -119,9 +119,9 @@ $\left[\right.$\ccc{first}, \ccc{last}$\left.\right)$. is \ccc{Constraint}. } -\ccFunction{void ~ctp();} -{Destructor. All vertices and faces are deleted. -The constraint hierarchy is deleted.} +%\ccFunction{void ~ctp();} +%{Destructor. All vertices and faces are deleted. +%The constraint hierarchy is deleted.} diff --git a/Triangulation_2/include/CGAL/Triangulation_data_structure_2.h b/Triangulation_2/include/CGAL/Triangulation_data_structure_2.h index 2021584905b..1be00aeb8d0 100644 --- a/Triangulation_2/include/CGAL/Triangulation_data_structure_2.h +++ b/Triangulation_2/include/CGAL/Triangulation_data_structure_2.h @@ -31,6 +31,7 @@ #include #include +#include #include #include @@ -286,7 +287,7 @@ public: Face_handle f1, Face_handle f2, Face_handle f3); - void set_adjacency(Face_handle f0, int i0, Face_handle f1, int i1) const; + void set_adjacency(Face_handle f0, int i0, Face_handle f1, int i1) const; void delete_face(Face_handle); void delete_vertex(Vertex_handle); @@ -1772,8 +1773,8 @@ copy_tds(const Tds &tds, Vertex_handle vh) if(n == 0) {return Vertex_handle();} //initializes maps - std::map vmap; - std::map fmap; + Unique_hash_map vmap; + Unique_hash_map fmap; // create vertices Vertex_iterator vit1 = tds.vertices_begin(); @@ -1825,8 +1826,9 @@ file_output( std::ostream& os, Vertex_handle v, bool skip_first) const else os << n << m << dimension(); if (n==0) return; - std::map V; - std::map F; + Unique_hash_map V; + Unique_hash_map F; + // first vertex int inum = 0; @@ -1961,7 +1963,8 @@ vrml_output( std::ostream& os, Vertex_handle v, bool skip_infinite) const os << "\t\tcoord Coordinate {" << std::endl; os << "\t\t\tpoint [" << std::endl; - std::map vmap; + Unique_hash_map vmap; + Vertex_iterator vit; Face_iterator fit; diff --git a/Triangulation_2/test/Triangulation_2/include/CGAL/_test_cls_hierarchy_2.h b/Triangulation_2/test/Triangulation_2/include/CGAL/_test_cls_hierarchy_2.h index fdc73205eb5..7fc3279c2cb 100644 --- a/Triangulation_2/test/Triangulation_2/include/CGAL/_test_cls_hierarchy_2.h +++ b/Triangulation_2/test/Triangulation_2/include/CGAL/_test_cls_hierarchy_2.h @@ -135,6 +135,8 @@ _test_cls_hierarchy_2() h.remove_constraint(v[3],v[4]); // h.print(); + for(int i=0; i <10; i++) { delete v[i];} + return; } diff --git a/Triangulation_3/doc_tex/TriangulationDS_3/TDS3.tex b/Triangulation_3/doc_tex/TriangulationDS_3/TDS3.tex index e4ff1beb7d2..a0e79bbed54 100644 --- a/Triangulation_3/doc_tex/TriangulationDS_3/TDS3.tex +++ b/Triangulation_3/doc_tex/TriangulationDS_3/TDS3.tex @@ -274,8 +274,8 @@ see Chapter~\ref{chapter-Triangulation3}). The user has several ways to add his own data in the vertex and cell base classes used by the TDS. He can either: \begin{itemize} -\item{} use the classes \ccc{Triangulation_vertex_base_with_info} -and \ccc{Triangulation_cell_base_with_info}, which allow to add one data member +\item{} use the classes \ccc{Triangulation_vertex_base_with_info_3} +and \ccc{Triangulation_cell_base_with_info_3}, which allow to add one data member of a user provided type, and give access to it. \item{} derive his own classes from the default base classes \ccc{Triangulation_ds_vertex_base}, and \ccc{Triangulation_ds_cell_base} (or diff --git a/Triangulation_3/doc_tex/Triangulation_3_ref/Delaunay_triangulation_3.tex b/Triangulation_3/doc_tex/Triangulation_3_ref/Delaunay_triangulation_3.tex index 0e8ec51b8b3..2a551fccafc 100644 --- a/Triangulation_3/doc_tex/Triangulation_3_ref/Delaunay_triangulation_3.tex +++ b/Triangulation_3/doc_tex/Triangulation_3_ref/Delaunay_triangulation_3.tex @@ -48,7 +48,7 @@ An example of use can be found in the user manual~\ref{Triangulation3-ex-fast-location}. -\ccInheritsFrom{\ccc{Triangulation_3}} +\ccInheritsFrom{\ccc{Triangulation_3::Triangulation_data_structure >}} \ccTypes diff --git a/Triangulation_3/include/CGAL/Delaunay_triangulation_3.h b/Triangulation_3/include/CGAL/Delaunay_triangulation_3.h index 79a8a521374..894fee0afbe 100644 --- a/Triangulation_3/include/CGAL/Delaunay_triangulation_3.h +++ b/Triangulation_3/include/CGAL/Delaunay_triangulation_3.h @@ -47,12 +47,18 @@ namespace CGAL { +// Here is the declaration of a class template with three arguments, one +// having a default value. There is no definition of that class template. template < class Gt, class Tds_ = Default, class Location_policy = Default > class Delaunay_triangulation_3; +// There is a specialization Delaunay_triangulation_3 +// defined in . +// Here is the specialization Delaunay_triangulation_3, with two +// arguments, that is if Location_policy being the default value 'Default'. template < class Gt, class Tds_ > class Delaunay_triangulation_3 : public Triangulation_3 diff --git a/Triangulation_3/include/CGAL/Triangulation_3.h b/Triangulation_3/include/CGAL/Triangulation_3.h index a654029e7d3..c52ea6c70c5 100644 --- a/Triangulation_3/include/CGAL/Triangulation_3.h +++ b/Triangulation_3/include/CGAL/Triangulation_3.h @@ -30,6 +30,7 @@ #include #include +#include #include #include @@ -1571,7 +1572,7 @@ operator<< (std::ostream& os, const Triangulation_3 &tr) CGAL_triangulation_assertion( i == n+1 ); CGAL_triangulation_assertion( tr.is_infinite(TV[0]) ); - std::map V; + Unique_hash_map V; V[tr.infinite_vertex()] = 0; for (i=1; i <= n; i++) { diff --git a/Triangulation_3/include/CGAL/Triangulation_data_structure_3.h b/Triangulation_3/include/CGAL/Triangulation_data_structure_3.h index 5c77dbd85d5..d0ca2a9bdf4 100644 --- a/Triangulation_3/include/CGAL/Triangulation_data_structure_3.h +++ b/Triangulation_3/include/CGAL/Triangulation_data_structure_3.h @@ -36,6 +36,7 @@ #include #include +#include #include #include @@ -303,7 +304,7 @@ public: std::size_t & m, std::map< std::size_t, Cell_handle > &C ); // not documented void print_cells(std::ostream& os, - const std::map &V ) const; + const Unique_hash_map &V ) const; // ACCESS FUNCTIONS @@ -1332,7 +1333,8 @@ operator<<(std::ostream& os, const Triangulation_data_structure_3 &tds) typedef typename Tds::Vertex_handle Vertex_handle; typedef typename Tds::Vertex_iterator Vertex_iterator; - std::map V; + + Unique_hash_map V; // outputs dimension and number of vertices size_type n = tds.number_of_vertices(); @@ -1915,7 +1917,7 @@ read_cells(std::istream& is, std::map< std::size_t, Vertex_handle > &V, template < class Vb, class Cb> void Triangulation_data_structure_3:: -print_cells(std::ostream& os, const std::map &V ) const +print_cells(std::ostream& os, const Unique_hash_map &V ) const { std::map C; std::size_t i = 0; @@ -1935,14 +1937,14 @@ print_cells(std::ostream& os, const std::map &V ) co C[it] = i++; for(int j = 0; j < 4; j++){ if(is_ascii(os)) { - os << V.find(it->vertex(j))->second; + os << V[it->vertex(j)]; if ( j==3 ) os << std::endl; else os << ' '; } else - write(os, V.find(it->vertex(j))->second); + write(os, V[it->vertex(j)]); } } CGAL_triangulation_assertion( i == m ); @@ -1977,14 +1979,14 @@ print_cells(std::ostream& os, const std::map &V ) co C[(*it).first] = i++; for(int j = 0; j < 3; j++){ if(is_ascii(os)) { - os << V.find((*it).first->vertex(j))->second; + os << V[(*it).first->vertex(j)]; if ( j==2 ) os << std::endl; else os << ' '; } else { - write(os, V.find((*it).first->vertex(j))->second); + write(os, V[(*it).first->vertex(j)]); } } } @@ -2020,14 +2022,14 @@ print_cells(std::ostream& os, const std::map &V ) co C[(*it).first] = i++; for(int j = 0; j < 2; j++){ if(is_ascii(os)) { - os << V.find((*it).first->vertex(j))->second; + os << V[(*it).first->vertex(j)]; if ( j==1 ) os << std::endl; else os << ' '; } else { - write(os, V.find((*it).first->vertex(j))->second); + write(os, V[(*it).first->vertex(j)]); } } } @@ -3337,8 +3339,8 @@ copy_tds(const Tds & tds, Vertex_handle vert ) CGAL_triangulation_assertion( i == n ); - std::map< Vertex_handle, Vertex_handle > V; - std::map< Cell_handle, Cell_handle > F; + Unique_hash_map V; + Unique_hash_map F; for (size_type i=0; i <= n-1; ++i) V[ TV[i] ] = create_vertex(TV[i]); diff --git a/Voronoi_diagram_2/dont_submit b/Voronoi_diagram_2/dont_submit index bb01263ef21..1549b67ca59 100644 --- a/Voronoi_diagram_2/dont_submit +++ b/Voronoi_diagram_2/dont_submit @@ -1,2 +1 @@ -* demo diff --git a/Voronoi_diagram_2/include/CGAL/Voronoi_diagram_2/tags.h b/Voronoi_diagram_2/include/CGAL/Voronoi_diagram_2/tags.h deleted file mode 100644 index a62aadb6d87..00000000000 --- a/Voronoi_diagram_2/include/CGAL/Voronoi_diagram_2/tags.h +++ /dev/null @@ -1,168 +0,0 @@ -// Copyright (c) 2006 Foundation for Research and Technology-Hellas (Greece). -// All rights reserved. -// -// This file is part of CGAL (www.cgal.org). -// You can redistribute it and/or modify it under the terms of the GNU -// General Public License as published by the Free Software Foundation, -// either version 3 of the License, or (at your option) any later version. -// -// Licensees holding a valid commercial license may use this file in -// accordance with the commercial license agreement provided with the software. -// -// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -// -// $URL$ -// $Id$ -// -// -// Author(s) : Menelaos Karavelas - -#ifndef CGAL_VORONOI_DIAGRAM_2_TAGS_H -#define CGAL_VORONOI_DIAGRAM_2_TAGS_H 1 - -#include -#include - -namespace CGAL { - -//namespace VoronoiDiagram_2 { namespace Internal { - -//==================================================================== -//==================================================================== - -Tag_true operator&&(const Tag_true&, const Tag_true&) { - return Tag_true(); -} - -Tag_false operator&&(const Tag_false&, const Tag_false&) { - return Tag_false(); -} - -Tag_false operator&&(const Tag_true&, const Tag_false&) { - return Tag_false(); -} - -Tag_false operator&&(const Tag_false&, const Tag_true&) { - return Tag_false(); -} - - -Tag_false operator||(const Tag_false&, const Tag_false&) { - return Tag_false(); -} - -Tag_true operator||(const Tag_true&, const Tag_true&) { - return Tag_true(); -} - -Tag_true operator||(const Tag_true&, const Tag_false&) { - return Tag_true(); -} - -Tag_true operator||(const Tag_false&, const Tag_true&) { - return Tag_true(); -} - -Tag_true operator!(const Tag_false&) { return Tag_true(); } -Tag_false operator!(const Tag_true&) { return Tag_false(); } - - -//==================================================================== -//==================================================================== - -template -struct Boolean_tag { - static const bool value = b; -}; - -//==================================================================== - -template -Boolean_tag operator&&(const Boolean_tag&, - const Boolean_tag&) { - return Boolean_tag(); -} - - -template -Boolean_tag operator||(const Boolean_tag&, - const Boolean_tag&) { - return Boolean_tag(); -} - -template -Boolean_tag operator!(const Boolean_tag&) { - return Boolean_tag(); -} - -//==================================================================== - -template struct To_boolean_tag; - -template<> -struct To_boolean_tag { - typedef Boolean_tag Tag; -}; - -template<> -struct To_boolean_tag { - typedef Boolean_tag Tag; -}; - -template struct To_tag_true_false; - -template<> -struct To_tag_true_false< Boolean_tag > { - typedef Tag_true Tag; -}; - -template<> -struct To_tag_true_false< Boolean_tag > { - typedef Tag_false Tag; -}; - -//==================================================================== - -template -struct Not { - typedef Boolean_tag Tag; -}; - -template -struct And { - typedef Boolean_tag Tag; -}; - -template -struct Or { - typedef Boolean_tag Tag; -}; - -//==================================================================== - -struct Tag_converter -{ - Boolean_tag operator()(const Tag_true&) const { - return Boolean_tag(); - } - - Boolean_tag operator()(const Tag_false&) const { - return Boolean_tag(); - } - - Tag_true operator()(const Boolean_tag&) const { - return Tag_true(); - } - - Tag_false operator()(const Boolean_tag&) const { - return Tag_false(); - } -}; - - -//} } //namespace VoronoiDiagram_2::Internal - -} //namespace CGAL - -#endif // CGAL_VORONOI_DIAGRAM_2_TAGS_H diff --git a/iostream/doc_tex/IOstream_ref/Color.tex b/iostream/doc_tex/IOstream_ref/Color.tex index dfcb870b448..d7a7fe5a077 100644 --- a/iostream/doc_tex/IOstream_ref/Color.tex +++ b/iostream/doc_tex/IOstream_ref/Color.tex @@ -8,7 +8,7 @@ \ccDefinition An object of the class \ccRefName\ is a color available for drawing operations in many \cgal\ output streams. -Each color is defined by a triple of integers $(r,g,b)$ with +Each color is defined by a triple of unsigned chars $(r,g,b)$ with $0\le r,g,b \le 255$, the so-called {\em rgb-value} of the color. \ccInclude{CGAL/IO/Color.h} @@ -28,7 +28,7 @@ $0\le r,g,b \le 255$, the so-called {\em rgb-value} of the color. \ccConstructor{Color();} {creates a color with rgb-value $(0,0,0)$, i.e.\ black.} -\ccConstructor{Color(int red, int green, int blue);} +\ccConstructor{Color(unsigned char red, unsigned char green, unsigned char blue);} {creates a color with rgb-value \ccStyle{(red,green,blue)}.} @@ -44,13 +44,13 @@ $0\le r,g,b \le 255$, the so-called {\em rgb-value} of the color. \ccMethod{bool operator!=(const Color &q) const;} {Test for inequality.} -\ccMethod{int red() const;} +\ccMethod{unsigned char red() const;} {returns the red component of \ccVar.} \ccGlue -\ccMethod{int green() const;} +\ccMethod{unsigned char green() const;} {returns the green component of \ccVar.} \ccGlue -\ccMethod{int blue() const;} +\ccMethod{unsigned char blue() const;} {returns the blue component of \ccVar.} \ccConstants