merge next

This commit is contained in:
Sébastien Loriot 2011-12-01 09:19:02 +00:00
commit bdcf26bb20
711 changed files with 105387 additions and 8656 deletions

147
.gitattributes vendored
View File

@ -34,7 +34,6 @@ AABB_tree/doc_tex/AABB_tree_ref/AABB_tree.tex -text
AABB_tree/doc_tex/AABB_tree_ref/introduction.tex -text
AABB_tree/doc_tex/AABB_tree_ref/main.tex -text
AABB_tree/dont_submit -text
AABB_tree/examples/AABB_tree/CMakeLists.txt -text
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
@ -1249,6 +1248,7 @@ Circular_kernel_2/examples/Circular_kernel_2/functor_has_on_2.cpp -text
Circular_kernel_2/include/CGAL/Circular_kernel_intersections.h -text
Circular_kernel_2/include/CGAL/Filtered_bbox_circular_kernel_2/interface_macros.h -text
Circular_kernel_2/include/CGAL/global_functions_circular_kernel_2.h -text
Circular_kernel_2/test/Circular_kernel_2/CMakeLists.txt -text
Circular_kernel_2/test/Circular_kernel_2/test_Circular_kernel_basic.cpp -text
Circular_kernel_2/test/Circular_kernel_2/test_Exact_circular_kernel_basic.cpp -text
Circular_kernel_3/changes -text
@ -1376,6 +1376,7 @@ Combinatorial_map/doc_tex/Combinatorial_map_ref/Dart_base.tex -text
Combinatorial_map/doc_tex/Combinatorial_map_ref/intro.tex -text
Combinatorial_map/doc_tex/Combinatorial_map_ref/main.tex -text
Combinatorial_map/dont_submit -text
Combinatorial_map/examples/Combinatorial_map/map_3_foreach.cpp -text
Combinatorial_map/examples/Combinatorial_map/map_3_marks.cpp -text
Combinatorial_map/examples/Combinatorial_map/map_3_operations.cpp -text
Combinatorial_map/examples/Combinatorial_map/map_3_simple_example.cpp -text
@ -1387,6 +1388,7 @@ Combinatorial_map/include/CGAL/Cell_iterators.h -text
Combinatorial_map/include/CGAL/Combinatorial_map.h -text
Combinatorial_map/include/CGAL/Combinatorial_map_basic_operations.h -text
Combinatorial_map/include/CGAL/Combinatorial_map_constructors.h -text
Combinatorial_map/include/CGAL/Combinatorial_map_iterators_base.h -text
Combinatorial_map/include/CGAL/Combinatorial_map_min_items.h -text
Combinatorial_map/include/CGAL/Combinatorial_map_operations.h -text
Combinatorial_map/include/CGAL/Dart.h -text
@ -1394,10 +1396,10 @@ Combinatorial_map/include/CGAL/Dart_const_iterators.h -text
Combinatorial_map/include/CGAL/Dart_iterators.h -text
Combinatorial_map/include/CGAL/internal/Combinatorial_map_functors.h -text
Combinatorial_map/include/CGAL/internal/Combinatorial_map_utility.h -text
Combinatorial_map/include/CGAL/internal/Combinatorial_map_utility_novariadic.h -text
Combinatorial_map/package_info/Combinatorial_map/description.txt -text
Combinatorial_map/package_info/Combinatorial_map/long_description.txt -text
Combinatorial_map/package_info/Combinatorial_map/maintainer -text
Combinatorial_map/test/Combinatorial_map/CMakeLists.txt -text
Combinatorial_map/test/Combinatorial_map/Combinatorial_map_2_test.h -text
Combinatorial_map/test/Combinatorial_map/Combinatorial_map_3_test.h -text
Combinatorial_map/test/Combinatorial_map/Combinatorial_map_test.cpp -text
@ -1787,7 +1789,6 @@ Installation/test/Installation/link_to_CGAL_Core.cpp -text
Installation/test/Installation/link_to_CGAL_ImageIO.cpp -text
Installation/test/Installation/link_to_CGAL_Qt3.cpp -text
Installation/test/Installation/link_to_CGAL_Qt4.cpp -text
Interpolation/demo/Interpolation/CMakeLists.txt -text
Interpolation/doc_tex/Interpolation/interpolation.png -text
Interpolation/doc_tex/Interpolation/nn_coords.gif -text svneol=unset#image/gif
Interpolation/doc_tex/Interpolation/nn_coords.ipe -text svneol=unset#application/postscript
@ -1855,7 +1856,6 @@ 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/CMakeLists.txt -text
Kernel_23/test/Kernel_23/overload_bug.cpp -text
Kernel_d/doc_tex/Kernel_d/hypercube.png -text
Kernel_d/doc_tex/Kernel_d_ref/Kernel_Compute_coordinate_d.tex -text
@ -1935,6 +1935,127 @@ 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/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
Linear_cell_complex/demo/Linear_cell_complex/MainWindow.ui -text
Linear_cell_complex/demo/Linear_cell_complex/about_Linear_cell_complex_3.html svneol=native#text/html
Linear_cell_complex/doc_tex/Linear_cell_complex/Linear_cell_complex.tex -text
Linear_cell_complex/doc_tex/Linear_cell_complex/PkgDescription.tex -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/4Dobject.fig -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/Diagramme_class.fig -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/basic-example3D.fig -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/creations.fig -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/exemple-carte-with_point_3d-sew.fig -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/exemple-carte-with_point_3d-sew2.fig -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/insert-edge.fig -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/insert-vertex.fig -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/intuitif-example-lcc-object.fig -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/intuitif-example-lcc-zoom.fig -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/intuitif-example-lcc-zoom2.fig -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/intuitif-example-lcc.fig -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/object2d.fig -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/pdf/4Dobject.pdf -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/pdf/Diagramme_class.pdf -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/pdf/basic-example3D.pdf -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/pdf/creations.pdf -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/pdf/exemple-carte-with_point_3d-sew.pdf -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/pdf/exemple-carte-with_point_3d-sew2.pdf -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/pdf/insert-edge.pdf -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/pdf/insert-vertex.pdf -text svneol=unset#unset
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/pdf/intuitif-example-lcc-object.pdf -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/pdf/intuitif-example-lcc-zoom.pdf -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/pdf/intuitif-example-lcc-zoom2.pdf -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/pdf/intuitif-example-lcc.pdf -text svneol=unset#unset
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/pdf/object2d.pdf -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/pdf/plane-graph.pdf -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/pdf/triangulation.pdf -text svneol=unset#unset
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/plane-graph.fig -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/png/4Dobject.png -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/png/Diagramme_class.png -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/png/basic-example3D.png -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/png/creations.png -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/png/exemple-carte-with_point_3d-sew.png -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/png/exemple-carte-with_point_3d-sew2.png -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/png/insert-edge.png -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/png/insert-vertex.png -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/png/intuitif-example-lcc-object.png -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/png/intuitif-example-lcc-zoom.png -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/png/intuitif-example-lcc-zoom2.png -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/png/intuitif-example-lcc.png -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/png/object2d.png -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/png/plane-graph.png -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/png/triangulation.png -text
Linear_cell_complex/doc_tex/Linear_cell_complex/fig/triangulation.fig -text
Linear_cell_complex/doc_tex/Linear_cell_complex/logo-lcc-small.png -text
Linear_cell_complex/doc_tex/Linear_cell_complex/logo-lcc.png -text
Linear_cell_complex/doc_tex/Linear_cell_complex/main.tex -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/CellAttributeWithPoint.tex -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/Cell_attribute_with_point.tex -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/LinearCellComplexItems.tex -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/LinearCellComplexTraits.tex -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/Linear_cell_complex.tex -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/Linear_cell_complex_constructors.tex -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/Linear_cell_complex_min_items.tex -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/Linear_cell_complex_operations.tex -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/Linear_cell_complex_traits.tex -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/fig/import_graph.fig -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/fig/make_cuboid.fig -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/fig/make_hexahedron.fig -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/fig/make_quadrilateral.fig -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/fig/make_rectangle.fig -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/fig/make_segment.fig -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/fig/make_tetrahedron.fig -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/fig/make_triangle.fig -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/fig/pdf/import_graph.pdf -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/fig/pdf/make_cuboid.pdf -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/fig/pdf/make_hexahedron.pdf -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/fig/pdf/make_quadrilateral.pdf -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/fig/pdf/make_rectangle.pdf -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/fig/pdf/make_segment.pdf -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/fig/pdf/make_tetrahedron.pdf -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/fig/pdf/make_triangle.pdf -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/fig/png/import_graph.png -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/fig/png/make_cuboid.png -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/fig/png/make_hexahedron.png -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/fig/png/make_quadrilateral.png -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/fig/png/make_rectangle.png -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/fig/png/make_segment.png -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/fig/png/make_tetrahedron.png -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/fig/png/make_triangle.png -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/intro.tex -text
Linear_cell_complex/doc_tex/Linear_cell_complex_ref/main.tex -text
Linear_cell_complex/dont_submit -text
Linear_cell_complex/examples/Linear_cell_complex/CMakeLCCViewerQt.inc -text
Linear_cell_complex/examples/Linear_cell_complex/CMakeLCCViewerVtk.inc -text
Linear_cell_complex/examples/Linear_cell_complex/CMakeLists.txt -text
Linear_cell_complex/examples/Linear_cell_complex/data/graph.off -text
Linear_cell_complex/examples/Linear_cell_complex/data/points -text
Linear_cell_complex/examples/Linear_cell_complex/data/small_points -text
Linear_cell_complex/examples/Linear_cell_complex/linear_cell_complex_3.cpp -text
Linear_cell_complex/examples/Linear_cell_complex/linear_cell_complex_3_viewer_qt.h -text
Linear_cell_complex/examples/Linear_cell_complex/linear_cell_complex_3_viewer_vtk.h -text
Linear_cell_complex/examples/Linear_cell_complex/linear_cell_complex_3_with_colored_vertices.cpp -text
Linear_cell_complex/examples/Linear_cell_complex/linear_cell_complex_4.cpp -text
Linear_cell_complex/examples/Linear_cell_complex/plane_graph_to_lcc_2.cpp -text
Linear_cell_complex/examples/Linear_cell_complex/voronoi_3.cpp -text
Linear_cell_complex/include/CGAL/Cell_attribute_with_point.h -text
Linear_cell_complex/include/CGAL/Linear_cell_complex.h -text
Linear_cell_complex/include/CGAL/Linear_cell_complex_constructors.h -text
Linear_cell_complex/include/CGAL/Linear_cell_complex_incremental_builder.h -text
Linear_cell_complex/include/CGAL/Linear_cell_complex_min_items.h -text
Linear_cell_complex/include/CGAL/Linear_cell_complex_operations.h -text
Linear_cell_complex/include/CGAL/Linear_cell_complex_traits.h -text
Linear_cell_complex/package_info/Linear_cell_complex/description.txt -text
Linear_cell_complex/package_info/Linear_cell_complex/long_description.txt -text
Linear_cell_complex/package_info/Linear_cell_complex/maintainer -text
Linear_cell_complex/test/Linear_cell_complex/Linear_cell_complex_2_test.h -text
Linear_cell_complex/test/Linear_cell_complex/Linear_cell_complex_3_test.h -text
Linear_cell_complex/test/Linear_cell_complex/Linear_cell_complex_4_test.h -text
Linear_cell_complex/test/Linear_cell_complex/Linear_cell_complex_test.cpp -text
Linear_cell_complex/test/Linear_cell_complex/data/armadillo.off -text
Linear_cell_complex/test/Linear_cell_complex/data/graph.txt -text
Linear_cell_complex/test/Linear_cell_complex/data/points.txt -text
MacOSX/auxiliary/cgal_app.icns -text
Maintenance/MacOSX_Installer/CGAL-3.2-absolute.pmproj -text
Maintenance/MacOSX_Installer/CGAL-3.2.pmproj -text
@ -1959,10 +2080,11 @@ 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/libcgal7.install -text
Maintenance/deb/sid/debian/libcgal7.shlibs -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/rules -text
Maintenance/deb/sid/debian/source/format -text
Maintenance/deb/sid/debian/watch -text
Maintenance/deb/squeeze/debian/README.Debian -text
Maintenance/deb/squeeze/debian/README.source -text
@ -1972,10 +2094,11 @@ 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/libcgal7.install -text
Maintenance/deb/squeeze/debian/libcgal7.shlibs -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/rules -text
Maintenance/deb/squeeze/debian/source/format -text
Maintenance/deb/squeeze/debian/watch -text
Maintenance/deb/wheezy/debian/README.Debian -text
Maintenance/deb/wheezy/debian/README.source -text
@ -1985,10 +2108,11 @@ 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/libcgal7.install -text
Maintenance/deb/wheezy/debian/libcgal7.shlibs -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/rules -text
Maintenance/deb/wheezy/debian/source/format -text
Maintenance/deb/wheezy/debian/watch -text
Maintenance/infrastructure/cgal.geometryfactory.com/.autocgal_with_cmake_rc -text
Maintenance/infrastructure/cgal.geometryfactory.com/.autocgalrc -text
@ -2557,7 +2681,6 @@ Mesh_3/doc_tex/Mesh_3_ref/Polyhedral_mesh_domain_3.tex -text
Mesh_3/doc_tex/Mesh_3_ref/WSE/MeshWSETraits_3.tex -text
Mesh_3/doc_tex/Mesh_3_ref/WSE/MeshWSEVertexBase_3.tex -text
Mesh_3/doc_tex/Mesh_3_ref/WSE/make_mesh_3_with_sharp_edges.tex -text
Mesh_3/examples/Mesh_3/cgal_test_with_cmake eol=lf
Mesh_3/examples/Mesh_3/data/elephant.off -text svneol=unset#application/octet-stream
Mesh_3/examples/Mesh_3/data/fandisk.off -text svneol=unset#application/octet-stream
Mesh_3/examples/Mesh_3/data/liver.inr.gz -text svneol=unset#application/gzip
@ -2808,6 +2931,7 @@ Number_types/doc_tex/NumberTypeSupport/illustration.png -text
Number_types/doc_tex/NumberTypeSupport_ref/CORE_BigFloat.tex -text
Number_types/doc_tex/NumberTypeSupport_ref/Gmpfi.tex -text
Number_types/doc_tex/NumberTypeSupport_ref/Gmpfr.tex -text
Number_types/doc_tex/NumberTypeSupport_ref/compute_roots_of_2.tex -text
Number_types/doc_tex/NumberTypeSupport_ref/fundamental_types.tex -text
Number_types/doc_tex/NumberTypeSupport_ref/make_sqrt.tex -text
Number_types/doc_tex/NumberTypeSupport_ref/open.tex -text
@ -4171,6 +4295,7 @@ Triangulation_2/examples/Triangulation_2/info_insert_with_pair_iterator_2.cpp -t
Triangulation_2/examples/Triangulation_2/info_insert_with_pair_iterator_regular_2.cpp -text
Triangulation_2/examples/Triangulation_2/info_insert_with_transform_iterator_2.cpp -text
Triangulation_2/examples/Triangulation_2/info_insert_with_zip_iterator_2.cpp -text
Triangulation_2/examples/Triangulation_2/polygon_triangulation.cpp -text
Triangulation_2/test/Triangulation_2/test_delaunay_triangulation_proj.cpp -text
Triangulation_3/demo/Triangulation_3/CMakeLists.txt -text
Triangulation_3/demo/Triangulation_3/MainWindow.cpp -text

View File

@ -1,10 +1,10 @@
\begin{ccPkgDescription}{AABB Tree \label{Pkg:AABB_tree}}
\begin{ccPkgDescription}{3D Fast Intersection and Distance Computation (AABB Tree)\label{Pkg:AABB_tree}}
\ccPkgSummary{The AABB (axis-aligned bounding box) tree component offers a static data structure and algorithms to perform efficient intersection and distance queries on sets of finite 3D geometric objects.}
\ccPkgHowToCiteCgal{cgal:atw-aabb-11b}
%
\ccPkgHowToCiteCgal{cgal:atw-aabb-12}
\ccPkgIntroducedInCGAL{3.5}
\ccPkgDemo{AABB Tree}{AABB_demo.zip}
\ccPkgIllustration{AABB_tree/figs/teaser-thumb.png}{AABB_tree/figs/teaser.png}
\ccPkgLicense{\ccLicenseQPL}
%
\end{ccPkgDescription}

View File

@ -1,4 +1,4 @@
\ccUserChapter{AABB Tree\label{AABB_tree}}
\ccUserChapter{3D Fast Intersection and Distance Computation (AABB Tree)\label{AABB_tree}}
\label{user_chapter_AABB_tree}
\ccChapterAuthor{Pierre Alliez,

View File

@ -1,4 +1,4 @@
\ccRefChapter{AABB Tree}
\ccRefChapter{3D Fast Intersection and Distance Computation (AABB Tree)}
\ccChapterAuthor{Pierre Alliez,
St{\'e}phane Tayeb,
Camille Wormser}

View File

@ -1,40 +0,0 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
project(AABB_examples)
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()
include_directories(../../include/)
# Find CGAL
find_package(CGAL COMPONENTS)
#include( ${CGAL_USE_FILE} )
if ( CGAL_FOUND )
include( ${CGAL_USE_FILE} )
include( CGAL_CreateSingleSourceCGALProgram )
create_single_source_cgal_program("AABB_segment_3_example.cpp")
create_single_source_cgal_program("AABB_triangle_3_example.cpp")
create_single_source_cgal_program("AABB_polyhedron_edge_example.cpp")
create_single_source_cgal_program("AABB_polyhedron_facet_distance_example.cpp")
create_single_source_cgal_program("AABB_polyhedron_facet_intersection_example.cpp")
create_single_source_cgal_program("AABB_custom_example.cpp")
create_single_source_cgal_program("AABB_insertion_example.cpp")
create_single_source_cgal_program("AABB_custom_indexed_triangle_set_example.cpp")
create_single_source_cgal_program("AABB_custom_triangle_soup_example.cpp")
else()
message(STATUS "This program requires the CGAL library, and will not be compiled.")
endif()

View File

@ -1,4 +1,4 @@
// Copyright (c) 2008-2009 INRIA Sophia-Antipolis (France), ETH Zurich (Switzerland).
// Copyright (c) 2008-2009 INRIA Sophia-Antipolis (France).
// All rights reserved.
//
// This file is part of CGAL (www.cgal.org); you may redistribute it under

View File

@ -1,4 +1,4 @@
// Copyright (c) 2008,2011 INRIA Sophia-Antipolis (France), ETH Zurich (Switzerland).
// Copyright (c) 2008,2011 INRIA Sophia-Antipolis (France).
// All rights reserved.
//
// This file is part of CGAL (www.cgal.org); you may redistribute it under

View File

@ -1,4 +1,4 @@
// Copyright (c) 2008 INRIA Sophia-Antipolis (France), ETH Zurich (Switzerland).
// Copyright (c) 2008 INRIA Sophia-Antipolis (France).
// All rights reserved.
//
// This file is part of CGAL (www.cgal.org); you may redistribute it under

View File

@ -1,4 +1,4 @@
// Copyright (c) 2008 INRIA Sophia-Antipolis (France), ETH Zurich (Switzerland).
// Copyright (c) 2008 INRIA Sophia-Antipolis (France).
// All rights reserved.
//
// This file is part of CGAL (www.cgal.org); you may redistribute it under

View File

@ -1,4 +1,4 @@
// Copyright (c) 2008-2009 INRIA Sophia-Antipolis (France), ETH Zurich (Switzerland).
// Copyright (c) 2008-2009 INRIA Sophia-Antipolis (France).
// All rights reserved.
//
// This file is part of CGAL (www.cgal.org); you may redistribute it under

View File

@ -0,0 +1,2 @@
INRIA Sophia-Antipolis (France)

View File

@ -1,5 +1,5 @@
\begin{ccPkgDescription}{Algebraic Foundations\label{Pkg:AlgebraicFoundations}}
\ccPkgHowToCiteCgal{cgal:h-af-11b}
\ccPkgHowToCiteCgal{cgal:h-af-12}
\ccPkgSummary{
This package defines what algebra means for \cgal, in terms of
concepts, classes and functions. The main features are:
@ -7,7 +7,7 @@ concepts, classes and functions. The main features are:
(ii) separation between algebraic types (not necessarily embeddable
into the reals), and number types (embeddable into the reals).
}
%
%\ccPkgDependsOn{}
\ccPkgIntroducedInCGAL{3.3}
\ccPkgLicense{\ccLicenseLGPL}

View File

@ -27,7 +27,7 @@ with remainder.
second_argument_type y);}{}
\ccMethod{template <class NT1, class NT2> result_type operator()(NT1 x, NT2 y);}
{This operator is well defined if \ccc{NT1} and \ccc{NT2} are \ccc{ExplicitInteroperable}
{This operator is defined if \ccc{NT1} and \ccc{NT2} are \ccc{ExplicitInteroperable}
with coercion type \ccc{AlgebraicStructureTraits::Type}. }
%\ccHasModels

View File

@ -106,7 +106,7 @@ The following table illustrates the behavior for integers:
\ccMethod{template <class NT1, class NT2> result_type
operator()(NT1 x, NT2 y, third_argument_type q, fourth_argument_type r);}
{This operator is well defined if \ccc{NT1} and \ccc{NT2} are \ccc{ExplicitInteroperable}
{This operator is defined if \ccc{NT1} and \ccc{NT2} are \ccc{ExplicitInteroperable}
with coercion type \ccc{AlgebraicStructureTraits::Type}. }
%\ccHasModels

View File

@ -37,7 +37,7 @@ Thus, $0$ is divided by every element of the Ring, in particular by itself.
{ returns $gcd(x,y)$. }
\ccMethod{template <class NT1, class NT2> result_type operator()(NT1 x, NT2 y);}
{This operator is well defined if \ccc{NT1} and \ccc{NT2} are \ccc{ExplicitInteroperable}
{This operator is defined if \ccc{NT1} and \ccc{NT2} are \ccc{ExplicitInteroperable}
with coercion type \ccc{AlgebraicStructureTraits::Type}. }
%\ccHasModels

View File

@ -34,7 +34,7 @@ $z$ is uniquely defined if it exists.
\ccMethod{template <class NT1, class NT2> result_type operator()(NT1 x, NT2 y);}
{This operator is well defined if \ccc{NT1} and \ccc{NT2} are \ccc{ExplicitInteroperable}
{This operator is defined if \ccc{NT1} and \ccc{NT2} are \ccc{ExplicitInteroperable}
with coercion type \ccc{AlgebraicStructureTraits::Type}. }
%\ccHasModels

View File

@ -26,7 +26,7 @@
second_argument_type y);}{}
\ccMethod{template <class NT1, class NT2> result_type operator()(NT1 x, NT2 y);}
{This operator is well defined if \ccc{NT1} and \ccc{NT2} are \ccc{ExplicitInteroperable}
{This operator is defined if \ccc{NT1} and \ccc{NT2} are \ccc{ExplicitInteroperable}
with coercion type \ccc{AlgebraicStructureTraits::Type}. }
%\ccHasModels

View File

@ -27,7 +27,7 @@
\ccMethod{template <class NT1, class NT2>
result_type operator()(NT1 x, NT2 y);}{
This operator is well defined if \ccc{NT1} and \ccc{NT2} are
This operator is defined if \ccc{NT1} and \ccc{NT2} are
\ccc{ExplicitInteroperable} with coercion type
\ccc{RealEmbeddableTraits::Type}. }

View File

@ -4,6 +4,9 @@
\ccc{AdaptableUnaryFunction} computes a double approximation of a real
embeddable number.
Remark: In order to control the quality of approximation one has to resort
to methods that are specific to NT. There are no general guarantees whatsoever.
\ccRefines

View File

@ -4,7 +4,7 @@
The template function \ccRefName\ returns the absolute value of a number.
The function is guaranteed to be well defined in case the argument type
The function is defined if the argument type
is a model of the \ccc{RealEmbeddable} concept.
\ccInclude{CGAL/number_utils.h}

View File

@ -8,7 +8,7 @@ the second, i.e. it returns \ccc{CGAL::LARGER} if $x$ is larger then $y$.
In case the argument types \ccc{NT1} and \ccc{NT2} differ,
\ccRefName\ is performed with the semantic of the type determined via
\ccc{Coercion_traits}.
The function is guaranteed to be well defined in case this type
The function is defined if this type
is a model of the \ccc{RealEmbeddable} concept.
\ccInclude{CGAL/number_utils.h}

View File

@ -11,7 +11,7 @@ Thus, the \ccc{result_type} is well defined if \ccc{NT1} and \ccc{NT2}
are a model of \ccc{ExplicitInteroperable}. \\
The actual \ccRefName\ is performed with the semantic of that type.
The function is guaranteed to be well defined in case \ccc{result_type}
The function is defined if \ccc{result_type}
is a model of the \ccc{EuclideanRing} concept.
\ccInclude{CGAL/number_utils.h}

View File

@ -11,7 +11,7 @@ Thus, the \ccc{result_type} is well defined if \ccc{NT1} and \ccc{NT2}
are a model of \ccc{ExplicitInteroperable}. \\
The actual \ccRefName\ is performed with the semantic of that type.
The function is guaranteed to be well defined in case \ccc{result_type}
The function is defined if \ccc{result_type}
is a model of the \ccc{EuclideanRing} concept.
\ccInclude{CGAL/number_utils.h}

View File

@ -10,7 +10,7 @@ Thus, the \ccc{result_type} is well defined if \ccc{NT1} and \ccc{NT2}
are a model of \ccc{ExplicitInteroperable}. \\
The actual \ccRefName\ is performed with the semantic of that type.
The function is guaranteed to be well defined in case \ccc{result_type}
The function is defined if \ccc{result_type}
is a model of the \ccc{UniqueFactorizationDomain} concept.
\ccInclude{CGAL/number_utils.h}

View File

@ -14,7 +14,7 @@ Thus, the \ccc{result_type} is well defined if \ccc{NT1} and \ccc{NT2}
are a model of \ccc{ExplicitInteroperable}. \\
The actual \ccRefName\ is performed with the semantic of that type.
The function is guaranteed to be well defined in case \ccc{result_type}
The function is defined if \ccc{result_type}
is a model of the \ccc{IntegralDomain} concept.
\ccInclude{CGAL/number_utils.h}

View File

@ -4,7 +4,7 @@
The function \ccRefName\ returns the inverse element with respect to multiplication.
The function is guaranteed to be well defined in case the argument type
The function is defined if the argument type
is a model of the \ccc{Field} concept.
\ccInclude{CGAL/number_utils.h}

View File

@ -3,7 +3,7 @@
\ccDefinition
The template function \ccRefName\ determines if a value is negative or not.
The function is guaranteed to be well defined in case the argument type
The function is defined if the argument type
is a model of the \ccc{RealEmbeddable} concept.

View File

@ -3,7 +3,7 @@
\ccDefinition
The function \ccRefName\ determines if a value is equal to 1 or not.\\
The function is guaranteed to be well defined in case the argument type
The function is defined if the argument type
is a model of the \ccc{IntegralDomainWithoutDivision} concept.
\ccInclude{CGAL/number_utils.h}

View File

@ -3,7 +3,7 @@
\ccDefinition
The template function \ccRefName\ determines if a value is positive or not.
The function is guaranteed to be well defined in case the argument type
The function is defined if the argument type
is a model of the \ccc{RealEmbeddable} concept.
\ccInclude{CGAL/number_utils.h}

View File

@ -3,7 +3,7 @@
\ccDefinition
The function \ccRefName\ determines if a value is equal to 0 or not.\\
The function is guaranteed to be well defined in case the argument type
The function is defined if the argument type
is a model of the \ccc{RealEmbeddable} or of
the \ccc{IntegralDomainWithoutDivision} concept.

View File

@ -4,7 +4,7 @@
The function \ccRefName\ returns the k-th root of a value.
The function is guaranteed to be well defined in case the second argument type
The function is defined if the second argument type
is a model of the \ccc{FieldWithKthRoot} concept.
\ccInclude{CGAL/number_utils.h}

View File

@ -10,7 +10,7 @@ Thus, the \ccc{result_type} is well defined if \ccc{NT1} and \ccc{NT2}
are a model of \ccc{ExplicitInteroperable}. \\
The actual \ccRefName\ is performed with the semantic of that type.
The function is guaranteed to be well defined in case \ccc{result_type}
The function is defined if \ccc{result_type}
is a model of the \ccc{EuclideanRing} concept.
\ccInclude{CGAL/number_utils.h}

View File

@ -5,7 +5,7 @@
The function \ccRefName\ computes a real root of a square-free univariate
polynomial.
The function is guaranteed to be well defined in case the value type, \ccc{NT},
The function is defined if the value type, \ccc{NT},
of the iterator range is a model of the \ccc{FieldWithRootOf} concept.
\ccInclude{CGAL/number_utils.h}

View File

@ -4,7 +4,7 @@
The template function \ccRefName\ returns the sign of a number.
The function is guaranteed to be well defined in case the argument type
The function is defined if the argument type
is a model of the \ccc{RealEmbeddable} concept.
\ccInclude{CGAL/number_utils.h}

View File

@ -4,7 +4,7 @@
The function \ccRefName\ may simplify a given object.
The function is guaranteed to be well defined in case the argument type
The function is defined if the argument type
is a model of the \ccc{IntegralDomainWithoutDivision} concept.
\ccInclude{CGAL/number_utils.h}

View File

@ -4,7 +4,7 @@
The function \ccRefName\ returns the square root of a value.
The function is guaranteed to be well defined in case the argument type
The function is defined if the argument type
is a model of the \ccc{FieldWithSqrt} concept.
\ccInclude{CGAL/number_utils.h}

View File

@ -3,7 +3,7 @@
\ccDefinition
The function \ccRefName\ returns the square of a number.\\
The function is guaranteed to be well defined in case the argument type
The function is defined if the argument type
is a model of the \ccc{IntegralDomainWithoutDivision} concept.
\ccInclude{CGAL/number_utils.h}

View File

@ -3,9 +3,11 @@
\ccDefinition
The template function \ccRefName\ returns an double approximation of a number.
The function is guaranteed to be well defined in case the argument type
The function is defined if the argument type
is a model of the \ccc{RealEmbeddable} concept.
Remark: In order to control the quality of approximation one has to resort to methods that are specific to NT. There are no general guarantees whatsoever.
\ccInclude{CGAL/number_utils.h}
\ccFunction{template <class NT> double to_double(const NT& x);}

View File

@ -5,7 +5,7 @@
The template function \ccRefName\ computes for a given real embeddable
number $x$ a double interval containing $x$.
This interval is represented by a \ccc{std::pair<double,double>}.
The function is guaranteed to be well defined in case the argument type
The function is defined if the argument type
is a model of the \ccc{RealEmbeddable} concept.
\ccInclude{CGAL/number_utils.h}

View File

@ -5,7 +5,7 @@
The function \ccRefName\ computes the unit part of a given ring
element.
The function is guaranteed to be well defined in case the argument type
The function is defined if the argument type
is a model of the \ccc{IntegralDomainWithoutDivision} concept.
\ccInclude{CGAL/number_utils.h}

View File

@ -0,0 +1,5 @@
Utrecht University (The Netherlands)
ETH Zurich (Switzerland)
INRIA Sophia-Antipolis (France)
Max-Planck-Institute Saarbruecken (Germany)
Tel-Aviv University (Israel)

View File

@ -1,5 +1,5 @@
\begin{ccPkgDescription}{Algebraic Kernel \label{Pkg:AlgebraicKerneld}}
\ccPkgHowToCiteCgal{cgal:bht-ak-11b}
\ccPkgHowToCiteCgal{cgal:bht-ak-12}
\ccPkgSummary{
Real solving of polynomials is a fundamental problem with a wide application range.
This package is targeted to provide black-box implementations of state-of-the-art
@ -8,7 +8,7 @@ and bivariate polynomial systems. Such a black-box is called an {\em Algebraic K
So far the package only provides models for the univariate kernel. Nevertheless,
it already defines concepts for the bivariate kernel, since this settles the interface
for upcoming implementations.}
%
\ccPkgDependsOn{Some models depend on \ccThirdPartyRS.}
\ccPkgIntroducedInCGAL{3.6}
\ccPkgLicense{\ccLicenseLGPL}

View File

@ -0,0 +1,2 @@
INRIA Sophia-Antipolis (France),
Max-Planck-Institute Saarbruecken (Germany).

View File

@ -0,0 +1,2 @@
INRIA Sophia-Antipolis (France)

View File

@ -0,0 +1,2 @@
INRIA Sophia-Antipolis (France)

View File

@ -1,13 +1,13 @@
\begin{ccPkgDescription}{2D Alpha Shapes\label{Pkg:AlphaShape2}}
\ccPkgHowToCiteCgal{cgal:d-as2-11b}
\ccPkgHowToCiteCgal{cgal:d-as2-12}
\ccPkgSummary{
This package offers a data structure encoding the whole family of alpha-complexes
related to a given 2D Delaunay or regular triangulation. In particular, the data structure
allows to retrieve the alpha-complex for any alpha value, the whole spectrum of critical
alpha values and a filtration on the triangulation faces (this filtration is based on the first
alpha value for which each face is included on the alpha-complex).}
%
\ccPkgDependsOn{\ccRef[2D Triangulation]{Pkg:Triangulation2}}
\ccPkgIntroducedInCGAL{2.1}
\ccPkgLicense{\ccLicenseQPL}

View File

@ -67,7 +67,6 @@ public:
typedef typename Gt::FT FT;
typedef typename Gt::Point_2 Point;
typedef typename Gt::Segment_2 Segment;
typedef typename Gt::Ray_2 Ray;
typedef typename Gt::Line_2 Line;
typedef typename Dt::Face_handle Face_handle;

View File

@ -47,7 +47,6 @@ public:
typedef typename Gt::Point Point;
typedef typename Gt::Distance Distance;
typedef typename Gt::Ray Ray;
typedef typename Gt::Line Line;
typedef typename Alpha_shape_2<Rt>::Face_handle Face_handle;

View File

@ -0,0 +1,2 @@
INRIA Sophia-Antipolis (France)

View File

@ -19,7 +19,6 @@ typedef CGAL::Filtered_kernel<SC> K;
typedef K::Point_2 Point;
typedef K::Segment_2 Segment;
typedef K::Ray_2 Ray;
typedef K::Line_2 Line;
typedef K::Triangle_2 Triangle;

View File

@ -27,7 +27,6 @@ typedef CGAL::Filtered_kernel<SC> K;
typedef K::Point_2 Point_base;
typedef CGAL::Weighted_point<Point_base,coord_type> Point;
typedef K::Segment_2 Segment;
typedef K::Ray_2 Ray;
typedef K::Line_2 Line;
typedef K::Triangle_2 Triangle;

View File

@ -1,6 +1,6 @@
\begin{ccPkgDescription}{3D Alpha Shapes\label{Pkg:AlphaShapes3}}
\ccPkgHowToCiteCgal{cgal:dy-as3-11b}
\ccPkgHowToCiteCgal{cgal:dy-as3-12}
\ccPkgSummary{
This package offers a data structure encoding
either one alpha-complex or
@ -13,7 +13,7 @@ allows to retrieve the alpha-complex for any alpha value, the whole spectrum o
alpha values and a filtration on the triangulation faces (this filtration is based on the first
alpha value for which each face is included on the alpha-complex).
}
%
\ccPkgDependsOn{\ccRef[2D Triangulation]{Pkg:Triangulation3}}
\ccPkgIntroducedInCGAL{2.3}
\ccPkgLicense{\ccLicenseQPL}

View File

@ -0,0 +1,2 @@
INRIA Sophia-Antipolis (France)

View File

@ -1,6 +1,6 @@
\begin{ccPkgDescription}{2D Apollonius Graphs (Delaunay Graphs of Disks)\label{Pkg:ApolloniusGraph2}}
\ccPkgHowToCiteCgal{cgal:ky-ag2-11b}
\ccPkgHowToCiteCgal{cgal:ky-ag2-12}
\ccPkgSummary{
Algorithms for computing the Apollonius
graph in two dimensions. The Apollonius graph is the dual of the
@ -9,7 +9,7 @@
of disks under the Euclidean metric, and it is a generalization of the
standard Voronoi diagram for points. The algorithms provided are
dynamic.}
%
\ccPkgDependsOn{\ccRef[2D Triangulation Data Structure]{Pkg:TDS2}}
\ccPkgIntroducedInCGAL{3.0}
\ccPkgLicense{\ccLicenseQPL}

View File

@ -0,0 +1,2 @@
INRIA Sophia-Antipolis (France)

View File

@ -0,0 +1 @@
ETH Zurich (Switzerland).

View File

@ -32,37 +32,40 @@
#define CGAL_ARITHMETIC_KERNEL_H
#include <CGAL/basic.h>
#include <CGAL/CORE_arithmetic_kernel.h>
#include <CGAL/LEDA_arithmetic_kernel.h>
#include <CGAL/GMP_arithmetic_kernel.h>
// Define a default Arithmetic_kernel GMP, CORE, LEDA
namespace CGAL{
#ifndef CGAL_HAS_DEFAULT_ARITHMETIC_KERNEL
#include <CGAL/LEDA_arithmetic_kernel.h>
#if defined(CGAL_HAS_LEDA_ARITHMETIC_KERNEL)
namespace CGAL{
typedef LEDA_arithmetic_kernel Arithmetic_kernel;
}// namespace CGAL
#define CGAL_HAS_DEFAULT_ARITHMETIC_KERNEL 1
#endif // CGAL_USE_LEDA
#endif // CGAL_HAS_DEFAULT_ARITHMETIC_KERNEL
#ifndef CGAL_HAS_DEFAULT_ARITHMETIC_KERNEL
#if defined(CGAL_HAS_GMP_ARITHMETIC_KERNEL)
typedef GMP_arithmetic_kernel Arithmetic_kernel;
#define CGAL_HAS_DEFAULT_ARITHMETIC_KERNEL 1
#endif // CGAL_USE_GMP
#endif // CGAL_HAS_DEFAULT_ARITHMETIC_KERNEL
#ifndef CGAL_HAS_DEFAULT_ARITHMETIC_KERNEL
#include <CGAL/CORE_arithmetic_kernel.h>
#if defined(CGAL_HAS_CORE_ARITHMETIC_KERNEL)
namespace CGAL{
typedef CORE_arithmetic_kernel Arithmetic_kernel;
}// namespace CGAL
#define CGAL_HAS_DEFAULT_ARITHMETIC_KERNEL 1
#endif // CGAL_USE_CORE
#endif // CGAL_HAS_DEFAULT_ARITHMETIC_KERNEL
} // namespace CGAL
#ifndef CGAL_HAS_DEFAULT_ARITHMETIC_KERNEL
#include <CGAL/GMP_arithmetic_kernel.h>
#if defined(CGAL_HAS_GMP_ARITHMETIC_KERNEL)
namespace CGAL{
typedef GMP_arithmetic_kernel Arithmetic_kernel;
}// namespace CGAL
#define CGAL_HAS_DEFAULT_ARITHMETIC_KERNEL 1
#endif // CGAL_USE_GMP
#endif // CGAL_HAS_DEFAULT_ARITHMETIC_KERNEL
// Macro to snap typedefs in Arithmetic_kernel

View File

@ -1,4 +1,3 @@
// Copyright (c) 2009 Max-Planck-Institute Saarbruecken (Germany).
// All rights reserved.
//

View File

@ -22,10 +22,6 @@
// \brief provide class Arithmetic_kernel, a collection of number types.
//
/*! \file CGAL/Arithmetic_kernel.h
* \brief Declarations pertaining to CGAL::Arithmetic_kernel
*/
#ifndef CGAL_GMP_ARITHMETIC_KERNEL_H
#define CGAL_GMP_ARITHMETIC_KERNEL_H

View File

@ -1,4 +1,4 @@
// Copyright (c) 2010 GeometryFactory (France).
// Copyright (c) 2010 Max-Planck-Institute Saarbruecken (Germany).
// All rights reserved.
//
// This file is part of CGAL (www.cgal.org); you can redistribute it and/or
@ -22,10 +22,6 @@
// \brief provide class Arithmetic_kernel, a collection of number types.
//
/*! \file CGAL/Arithmetic_kernel.h
* \brief Declarations pertaining to CGAL::Arithmetic_kernel
*/
#ifndef CGAL_MP_FLOAT_ARITHMETIC_KERNEL_H
#define CGAL_MP_FLOAT_ARITHMETIC_KERNEL_H
@ -36,6 +32,7 @@
#define CGAL_HAS_MP_FLOAT_ARITHMETIC_KERNEL
#include <CGAL/MP_Float.h>
#include <CGAL/Quotient.h>
namespace CGAL {
@ -54,6 +51,10 @@ template <>
struct Get_arithmetic_kernel<MP_Float> {
typedef MP_Float_arithmetic_kernel Arithmetic_kernel;
};
template <>
struct Get_arithmetic_kernel<Quotient<MP_Float> > {
typedef MP_Float_arithmetic_kernel Arithmetic_kernel;
};
} //namespace CGAL

View File

@ -0,0 +1 @@
Max-Planck-Institute Saarbruecken (Germany).

View File

@ -1,5 +1,5 @@
\begin{ccPkgDescription}{2D Arrangement\label{Pkg:Arrangement2}}
\ccPkgHowToCiteCgal{cgal:wfzh-a2-11b}
\ccPkgHowToCiteCgal{cgal:wfzh-a2-12}
\ccPkgSummary{
This package can be used to construct, maintain, alter, and display
arrangements in the plane. Once an arrangement is constructed, the
@ -16,7 +16,7 @@ Arrangements and arrangement components can also be extended to store
additional data. An important extension stores the construction
history of the arrangement, such that it is possible to obtain the
originating curve of an arrangement subcurve.}
%
\ccPkgIntroducedInCGAL{2.1}
\ccPkgLicense{\ccLicenseQPL}
\ccPkgIllustration{Arrangement_on_surface_2/fig/Arrangement_2.png}{Arrangement_on_surface_2/fig/Arrangement_2.png}

View File

@ -9,7 +9,7 @@
\label{chapterArrangement_on_surface_2}
\ccChapterRelease{\ArrangementOnSurfaceRev. \ \ArrangementOnSurfaceDate}
\ccChapterAuthor{Ron Wein, Efi Fogel, Baruch Zukerman, Dan Halperin, Eric Berberich, and Oren Zalzman}
\ccChapterAuthor{Ron Wein \and Eric Berberich \and Efi Fogel \and Dan Halperin \and Michael Hemmer \and Oren Salzman \and Baruch Zukerman}
\input{Arrangement_on_surface_2/PkgDescription.tex}

View File

@ -1,12 +1,12 @@
\begin{ccPkgDescription}{2D Intersection of Curves\label{Pkg:IntersectionOfCurves2}}
\ccPkgHowToCiteCgal{cgal:wfz-ic2-11b}
\ccPkgHowToCiteCgal{cgal:wfz-ic2-12}
\ccPkgSummary{This package provides three free functions implemented
based on the sweep-line paradigm: given a collection of input curves,
compute all intersection points, compute the set of subcurves that are
pairwise interior-disjoint induced by them, and check whether there
is at least one pair of curves among them that intersect in their
interior.}
%
\ccPkgDependsOn{\ccRef[2D Arrangements]{Pkg:Arrangement2}}
\ccPkgIntroducedInCGAL{2.4}
\ccPkgLicense{\ccLicenseQPL}

View File

@ -1391,9 +1391,9 @@ private:
}
else
{
// phi = PI.
sin_phi = _zero;
cos_phi = -_one;
// phi = PI/2.
sin_phi = _one;
cos_phi = _zero;
}
}
else if (sign_t == POSITIVE)
@ -1629,7 +1629,7 @@ protected:
_two*_t*_v - _four*_s*_u,
_v*_v - _four*_s*_w,
xs);
n_xs = xs_end - xs;
n_xs = static_cast<int>(xs_end - xs);
// Find the y-coordinates of the vertical tangency points.
Algebraic ys[2];
@ -1649,7 +1649,7 @@ protected:
_four*_r*_s*_v - _two*_s*_t*_u,
_r*_v*_v - _t*_u*_v + _t*_t*_w,
ys);
n_ys = ys_end - ys;
n_ys = static_cast<int>(ys_end - ys);
}
// Pair the x and y coordinates and obtain the vertical tangency points.
@ -1714,7 +1714,7 @@ protected:
_two*_t*_u - _four*_r*_v,
_u*_u - _four*_r*_w,
ys);
n = ys_end - ys;
n = static_cast<int>(ys_end - ys);
// Compute the x coordinates and construct the horizontal tangency points.
Algebraic x;
@ -1722,7 +1722,7 @@ protected:
for (i = 0; i < n; i++)
{
// Having computed y, x is the simgle solution to the quadratic equation
// Having computed y, x is the single solution to the quadratic equation
// above, and since its discriminant is 0, x is simply given by:
x = -(nt_traits.convert(_t)*ys[i] + nt_traits.convert(_u)) /
nt_traits.convert(_two*_r);

View File

@ -38,22 +38,23 @@ namespace CGAL {
* \return The number of distinct roots found.
*/
template <class Nt_traits>
int _compute_resultant_roots (Nt_traits& nt_traits,
const typename Nt_traits::Integer& r1,
const typename Nt_traits::Integer& s1,
const typename Nt_traits::Integer& t1,
const typename Nt_traits::Integer& u1,
const typename Nt_traits::Integer& v1,
const typename Nt_traits::Integer& w1,
const int& deg1,
const typename Nt_traits::Integer& r2,
const typename Nt_traits::Integer& s2,
const typename Nt_traits::Integer& t2,
const typename Nt_traits::Integer& u2,
const typename Nt_traits::Integer& v2,
const typename Nt_traits::Integer& w2,
const int& deg2,
typename Nt_traits::Algebraic *xs)
int
_compute_resultant_roots (Nt_traits& nt_traits,
const typename Nt_traits::Integer& r1,
const typename Nt_traits::Integer& s1,
const typename Nt_traits::Integer& t1,
const typename Nt_traits::Integer& u1,
const typename Nt_traits::Integer& v1,
const typename Nt_traits::Integer& w1,
const int& deg1,
const typename Nt_traits::Integer& r2,
const typename Nt_traits::Integer& s2,
const typename Nt_traits::Integer& t2,
const typename Nt_traits::Integer& u2,
const typename Nt_traits::Integer& v2,
const typename Nt_traits::Integer& w2,
const int& deg2,
typename Nt_traits::Algebraic *xs)
{
if (deg1 == 2 && deg2 == 1)
{
@ -107,7 +108,7 @@ int _compute_resultant_roots (Nt_traits& nt_traits,
xs_end = nt_traits.solve_quadratic_equation (c[2], c[1], c[0],
xs);
return (xs_end - xs);
return static_cast<int>(xs_end - xs);
}
// At this stage, both curves have degree 2. We obtain a qaurtic polynomial
@ -165,7 +166,7 @@ int _compute_resultant_roots (Nt_traits& nt_traits,
xs_end = nt_traits.compute_polynomial_roots (poly,
xs);
return (xs_end - xs);
return static_cast<int>(xs_end - xs);
}
/*!
@ -179,8 +180,9 @@ int _compute_resultant_roots (Nt_traits& nt_traits,
* \return The number of distinct roots found.
*/
template <class Nt_traits>
int _compute_resultant_roots (Nt_traits& nt_traits,
const typename Nt_traits::Algebraic& r,
int
_compute_resultant_roots (Nt_traits& nt_traits,
const typename Nt_traits::Algebraic& r,
const typename Nt_traits::Algebraic& s,
const typename Nt_traits::Algebraic& t,
const typename Nt_traits::Algebraic& u,
@ -226,7 +228,7 @@ int _compute_resultant_roots (Nt_traits& nt_traits,
xs_end = nt_traits.solve_quadratic_equation (c[2], c[1], c[0],
xs);
return (xs_end - xs);
return static_cast<int>(xs_end - xs);
}
} //namespace CGAL

View File

@ -1932,7 +1932,7 @@ private:
// x and y-coordinates are sorted in ascending order, we output the
// intersection points in lexicographically ascending order.
unsigned int mult;
int i, j;
int i, j;
if (arc._is_special_segment())
{

View File

@ -290,7 +290,7 @@ public:
*/
inline unsigned int size() const
{
return segments.size();
return static_cast<unsigned int>(segments.size());
}
/*!

View File

@ -1498,10 +1498,11 @@ insert_at_vertices(const X_monotone_curve_2& cv,
// To do this, we use the topology traits to determine whether prev1 lies
// inside the new face we are about to create (or alternatively, whether
// prev2 does not lie inside this new face).
const unsigned int dist1 = _halfedge_distance (p_prev1, p_prev2);
const unsigned int dist2 = _halfedge_distance (p_prev2, p_prev1);
prev1_before_prev2 = (dist1 > dist2) ?
Comparison_result path_res =
_compare_induced_path_length(p_prev1, p_prev2);
prev1_before_prev2 = (path_res == LARGER) ?
(_is_inside_new_face (p_prev1, p_prev2, cv)) :
(! _is_inside_new_face (p_prev2, p_prev1, cv));
}
@ -2100,6 +2101,63 @@ _halfedge_distance(const DHalfedge *e1, const DHalfedge *e2) const
return (dist);
}
//-----------------------------------------------------------------------------
//Compare the length of the induced paths from e1 to e2 and from e2 to e1.
// return SMALLER if e1 to e2 is shorter, EQUAL if paths lengths are equal,
// o/w LARGER
//
template<class GeomTraits, class TopTraits>
Comparison_result
Arrangement_on_surface_2<GeomTraits, TopTraits>::
_compare_induced_path_length(const DHalfedge *e1, const DHalfedge *e2) const
{
CGAL_precondition (e1 != e2);
if (e1 == e2)
return EQUAL;
// Traverse the halfedge chain from e1 until reaching e2.
const DHalfedge *curr1 = e1->next();
// Traverse the halfedge chain from e2 until reaching e1.
const DHalfedge *curr2 = e2->next();
while (curr1 != e2 && curr2 != e1)
{
// If we have returned to e1, e2 is not reachable from e1.
if (curr1 == e1)
{
CGAL_error();
return EQUAL;
}
// If we have returned to e2, e1 is not reachable from e2.
if (curr2 == e2)
{
CGAL_error();
return EQUAL;
}
curr1 = curr1->next();
curr2 = curr2->next();
}
Comparison_result res;
// Return SMALLER if e1 to e2 is shorter than e2 to e1,
// EQUAL if their lengths are equal, or LARGER if e2 to e1 is longer.
if (curr1 == e2)
res = (curr2 != e1) ? SMALLER : EQUAL;
else
res = LARGER;
CGAL_postcondition_code (int dist1 = _halfedge_distance(e1,e2));
CGAL_postcondition_code (int dist2 = _halfedge_distance(e2,e1));
CGAL_postcondition (((dist1 < dist2) && (res == SMALLER)) ||
((dist1 == dist2) && (res == EQUAL)) ||
((dist1 > dist2) && (res == LARGER)));
return res;
}
//-----------------------------------------------------------------------------
// Move a given outer CCB from one face to another.
//
@ -3536,8 +3594,7 @@ _find_leftmost_vertex_on_open_loop (const DHalfedge *he_before,
{
if (he->direction() == ARR_RIGHT_TO_LEFT)
{
ps_x = parameter_space_in_x (he->curve(), ARR_MIN_END);
ps_y = parameter_space_in_y (he->curve(), ARR_MIN_END);
ps_x = parameter_space_in_x (he->curve(), ARR_MIN_END); ps_y = parameter_space_in_y (he->curve(), ARR_MIN_END);
}
else
{

View File

@ -539,7 +539,7 @@ private:
}
/*! Find the given object in the given bucket. */
Bucket_iterator _find_in_bucket (int index,
Bucket_iterator _find_in_bucket (std::size_t index,
const value_type& val) const
{
Bucket& my_bucket = const_cast<Bucket&>(buckets[index]);

View File

@ -1844,6 +1844,15 @@ protected:
unsigned int _halfedge_distance (const DHalfedge *e1,
const DHalfedge *e2) const;
/*!
* Compare the length of the induced paths from e1 to e2 and
* from e2 to e1.
* \pre e1 and e2 belong to the same connected component
* \return The comparison result
*/
Comparison_result _compare_induced_path_length (const DHalfedge *e1,
const DHalfedge *e2) const;
/*!
* Compare two vertices lexicographically, while taking care of boundary
* conditions (for the special usage of _find_leftmost_vertex() alone!).

View File

@ -416,7 +416,8 @@ protected:
void _init_sweep (CurveInputIterator curves_begin,
CurveInputIterator curves_end)
{
m_num_of_subCurves = std::distance (curves_begin, curves_end);
// m_num_of_subCurves should be a size_t for "huge" data sets
m_num_of_subCurves = static_cast<int>(std::distance (curves_begin, curves_end));
_init_structures();

View File

@ -363,6 +363,7 @@ public:
const Point_2& pt)
{
os << pt.base();
//os << ", red? " << pt.is_red_object_empty() << ", blue? " << pt.is_blue_object_empty();
return (os);
}
@ -512,9 +513,10 @@ public:
red_he = xcv2.red_halfedge_handle();
blue_he = xcv1.blue_halfedge_handle();
}
*oi = CGAL::make_object (X_monotone_curve_2 (*overlap_xcv,
*oi = CGAL::make_object (X_monotone_curve_2 (*overlap_xcv,
red_he, blue_he));
}
}
@ -601,30 +603,27 @@ public:
const Base_point_2& base_p = m_base_min_v (xcv.base());
Object obj_red, obj_blue;
if (xcv.color() == RED)
if (xcv.color() == RED || xcv.color() == RB_OVERLAP)
{
obj_red = CGAL::make_object (xcv.red_halfedge_handle()->target());
}
else if (xcv.color() == BLUE)
{
obj_blue = CGAL::make_object (xcv.blue_halfedge_handle()->target());
}
else
{
CGAL_assertion (xcv.color() == RB_OVERLAP);
if (! xcv.red_halfedge_handle()->target()->is_at_open_boundary() &&
m_base_equal (base_p,
xcv.red_halfedge_handle()->target()->point()))
{
obj_red = CGAL::make_object (xcv.red_halfedge_handle()->target());
} else {
obj_red = CGAL::make_object (xcv.red_halfedge_handle());
}
}
if (xcv.color() == BLUE || xcv.color() == RB_OVERLAP)
{
if (! xcv.blue_halfedge_handle()->target()->is_at_open_boundary() &&
m_base_equal (base_p,
xcv.blue_halfedge_handle()->target()->point()))
{
obj_blue = CGAL::make_object (xcv.blue_halfedge_handle()->target());
} else {
obj_blue = CGAL::make_object (xcv.blue_halfedge_handle());
}
}
@ -672,30 +671,27 @@ public:
const Base_point_2& base_p = m_base_max_v (xcv.base());
Object obj_red, obj_blue;
if(xcv.color() == RED)
if(xcv.color() == RED || xcv.color() == RB_OVERLAP)
{
obj_red = CGAL::make_object (xcv.red_halfedge_handle()->source());
}
else if(xcv.color() == BLUE)
{
obj_blue = CGAL::make_object (xcv.blue_halfedge_handle()->source());
}
else
{
CGAL_assertion(xcv.color() == RB_OVERLAP);
if (! xcv.red_halfedge_handle()->source()->is_at_open_boundary() &&
m_base_equal (base_p,
xcv.red_halfedge_handle()->source()->point()))
{
obj_red = CGAL::make_object (xcv.red_halfedge_handle()->source());
} else {
obj_red = CGAL::make_object (xcv.red_halfedge_handle());
}
}
if(xcv.color() == BLUE || xcv.color() == RB_OVERLAP)
{
if (! xcv.blue_halfedge_handle()->source()->is_at_open_boundary() &&
m_base_equal (base_p,
xcv.blue_halfedge_handle()->source()->point()))
{
obj_blue = CGAL::make_object (xcv.blue_halfedge_handle()->source());
} else {
obj_blue = CGAL::make_object (xcv.blue_halfedge_handle());
}
}
@ -703,7 +699,7 @@ public:
}
};
/*! Obtain a Construct_min_vertex_2 functor object. */
/*! Obtain a Construct_max_vertex_2 functor object. */
Construct_max_vertex_2 construct_max_vertex_2_object () const
{
return

View File

@ -431,7 +431,8 @@ _intersect (Subcurve *c1, Subcurve *c2)
this->m_traits->parameter_space_in_y_2_object()(c2->last_curve(),
ARR_MIN_END);
if ((ps_x1 == ps_x2) && (ps_y1 == ps_y2) &&
if (ps_x1 != CGAL::ARR_INTERIOR && ps_y1 != CGAL::ARR_INTERIOR &&
(ps_x1 == ps_x2) && (ps_y1 == ps_y2) &&
this->m_traits->is_closed_2_object()(c1->last_curve(), ARR_MIN_END) &&
this->m_traits->is_closed_2_object()(c2->last_curve(), ARR_MIN_END))
{
@ -535,7 +536,9 @@ _intersect (Subcurve *c1, Subcurve *c2)
{
icv = object_cast<X_monotone_curve_2> (&(*vi));
CGAL_assertion (icv != NULL);
CGAL_PRINT("found an overlap: " << *icv << "\n";);
// TODO EBEB: This code does not work with overlaps that reach the boundary
Point_2 left_xp = this->m_traits->construct_min_vertex_2_object()(*icv);
xp = this->m_traits->construct_max_vertex_2_object()(*icv);
@ -564,13 +567,14 @@ _create_intersection_point (const Point_2& xp,
Event *e = pair_res.first;
if(pair_res.second)
{
CGAL_PRINT("A new event is created .. (" << xp <<")\n";);
// a new event is creatd , which inidicates
// that the intersection point cannot be one
//of the end-points of two curves
e->set_intersection();
this->m_visitor ->update_event(e, c1, c2, true);
this->m_visitor ->update_event(e, c1, c2, true);
e->push_back_curve_to_left(c1);
e->push_back_curve_to_left(c2);
@ -606,13 +610,13 @@ _create_intersection_point (const Point_2& xp,
}
else // the event already exists, so we need to update it accordingly
{
CGAL_PRINT("event already exists,updating.. (" << xp <<")\n";);
CGAL_PRINT("Event already exists, updating.. (" << xp <<")\n";);
if (e == this->m_currentEvent)
{
// This can happen when c1 starts at the interior of c2 (or vice versa).
return;
}
e->add_curve_to_left(c1);
e->add_curve_to_left(c2);
@ -647,8 +651,10 @@ _create_intersection_point (const Point_2& xp,
std::swap(c1, c2);
}
CGAL_SL_DEBUG(e->Print();)
}
CGAL_SL_DEBUG(e->Print();)
}
//-----------------------------------------------------------------------------

View File

@ -55,7 +55,7 @@ void make_x_monotone (CurveInputIter begin, CurveInputIter end,
const Traits * tr)
{
// Split the input curves into x-monotone objects.
unsigned int num_of_curves = std::distance(begin, end);
std::size_t num_of_curves = std::distance(begin, end);
std::vector<Object> object_vec;
CurveInputIter iter;

View File

@ -145,22 +145,34 @@ public:
// Look for the subcurve.
Subcurve_iterator iter;
//std::cout << "add_curve_to_left, curve: ";
//curve->Print();
for (iter = m_leftCurves.begin(); iter != m_leftCurves.end(); ++iter)
{
//std::cout << "add_curve_to_left, iter: ";
//(*iter)->Print();
// Do nothing if the curve exists.
if ((curve == *iter) || (*iter)->is_inner_node(curve))
if ((curve == *iter) || (*iter)->is_inner_node(curve)) {
//std::cout << "add_curve_to_left, curve exists" << std::endl;
return;
}
// Replace the existing curve in case of overlap.
if (curve->is_inner_node(*iter))
{
// EBEB 2011-10-27: Fixed to detect overlaps correctly
if (curve != *iter && curve->has_common_leaf(*iter)) {
//std::cout << "add_curve_to_left, curve overlaps" << std::endl;
*iter = curve;
return;
}
}
// The curve does not exist - insert it to the container.
m_leftCurves.push_back (curve);
// std::cout << "add_curve_to_left, pushed back" << std::endl;
//this->Print();
return;
}

View File

@ -340,7 +340,9 @@ public:
void Sweep_line_subcurve<Traits>::Print() const
{
std::cout << "Curve " << this
<< " (" << m_lastCurve << ") " << std::endl;
<< " (" << m_lastCurve << ") "
<< " [sc1: " << m_orig_subcurve1 << ", sc2: " << m_orig_subcurve2 << "]"
<< std::endl;
}
#endif

View File

@ -0,0 +1 @@
Tel-Aviv University (Israel).

View File

@ -607,9 +607,9 @@ bool Traits_test<T_Traits>::intersect_wrapper(std::istringstream& str_stream)
std::back_inserter(object_vec));
std::cout << "Test: intersect( " << this->m_xcurves[id1] << ","
<< this->m_xcurves[id2] << " ) ? ";
std::size_t num;
unsigned int num;
str_stream >> num;
if (!this->compare(num, object_vec.size(), "size")) return false;
if (!this->compare(num, static_cast<unsigned int>(object_vec.size()), "size")) return false;
for (unsigned int i = 0; i < num; ++i) {
unsigned int type; // 0 - point, 1 - x-monotone curve

View File

@ -186,8 +186,8 @@ run_trapped_test()
else
run_test $1 $2 $3 $4 $5 $6 &
WPID=$!
trap "kill -9 $WPID" INT
(sleep 1200; kill -9 $WPID) > /dev/null 2>&1 &
trap "kill -HUP $WPID" INT
(sleep 1200; kill -HUP $WPID) > /dev/null 2>&1 &
SPID=$!
wait $WPID > /dev/null 2>&1
# RES=$?

View File

@ -1,6 +1,6 @@
\begin{ccPkgDescription}{CGAL and the Boost Graph Library\label{Pkg:BGL}}
\ccPkgHowToCiteCgal{cgal:cfw-cbgl-11b}
\ccPkgHowToCiteCgal{cgal:cfw-cbgl-12}
%
\ccPkgSummary{This package provides a framework for interfacing \cgal\
data structures with the algorithms of the {\sc BGL}. It allows to run
graph algorithms directly on \cgal\ data structures which are
@ -10,7 +10,7 @@ minimum spanning tree.
Furthermore, it introduces a
new graph concept, the \ccc{HalfedgeEdgeGraph}. This concept describes
graphs which are embedded on surfaces.}
%
\ccPkgIntroducedInCGAL{3.3}
\ccPkgLicense{\ccLicenseLGPL}
\ccPkgIllustration{BGL/fig/emst-detail.png}{BGL/fig/emst.jpg}

View File

@ -0,0 +1 @@
GeometryFactory (France)

View File

@ -1,13 +1,13 @@
\begin{ccPkgDescription}{2D Regularized Boolean Set-Operations\label{Pkg:BooleanSetOperations2}}
\ccPkgHowToCiteCgal{cgal:fwzh-rbso2-11b}
\ccPkgHowToCiteCgal{cgal:fwzh-rbso2-12}
\ccPkgSummary{
This package consists of the implementation of Boolean set-operations
on point sets bounded by weakly x-monotone curves in 2-dimensional
Euclidean space. In
particular, it contains the implementation of regularized Boolean
set-operations, intersection predicates, and point containment predicates.}
%
\ccPkgDependsOn{\ccRef[2D Arrangements]{Pkg:Arrangement2}}
\ccPkgIntroducedInCGAL{3.2}
\ccPkgLicense{\ccLicenseQPL}

View File

@ -0,0 +1 @@
Tel-Aviv University (Israel).

View File

@ -1,6 +1,6 @@
\begin{ccPkgDescription}{Intersecting Sequences of dD Iso-oriented Boxes\label{Pkg:BoxIntersectionD}}
\ccPkgHowToCiteCgal{cgal:kmz-isiobd-11b}
\ccPkgHowToCiteCgal{cgal:kmz-isiobd-12}
\ccPkgSummary{
An efficient algorithm for finding all intersecting pairs for large
numbers of iso-oriented boxes, in order to apply a user defined callback
@ -8,7 +8,7 @@ on them. Typically these boxes will be bounding
boxes of more complicated geometries. The algorithm is useful for (self-) intersection
tests of surfaces etc.
}
%
%\ccPkgDependsOn{}
\ccPkgIntroducedInCGAL{3.1}
\ccPkgLicense{\ccLicenseQPL}

View File

@ -0,0 +1,2 @@
Max-Planck-Institute Saarbruecken (Germany).

View File

@ -1,10 +1,10 @@
\begin{ccPkgDescription}{CGAL Ipelets \label{Pkg:CGALIpelets}}
\ccPkgHowToCiteCgal{cgal:lp-gi-11b}
\ccPkgHowToCiteCgal{cgal:lp-gi-12}
\ccPkgSummary{This package provides
a generic framework to easily write ipelets (plug-in's) using \cgal{} for the
the Ipe extensible drawing editor.}
%
\ccPkgIntroducedInCGAL{3.5}
\ccPkgLicense{\ccLicenseLGPL}
\ccPkgIllustration{CGAL_ipelets/fig/ipeico.jpg}{CGAL_ipelets/fig/ipelarge.jpg}

View File

@ -0,0 +1,2 @@
INRIA Sophia-Antipolis (France)

View File

@ -30,17 +30,18 @@ endforeach()
find_package(CGAL REQUIRED ImageIO)
include( ${CGAL_USE_FILE} )
find_package(VTK QUIET)
find_package(Qt3-patched QUIET)
find_package(Qt4 QUIET)
if(QT3_FOUND AND VTK_FOUND)
if(QT_FOUND AND VTK_FOUND)
add_definitions(-DCGAL_USE_VTK)
include(${VTK_USE_FILE})
include(${QT_USE_FILE})
add_definitions(${QT3_DEFINITIONS})
add_definitions(${QT_DEFINITIONS})
if(VTK_USE_QVTK)
include_directories( ${VTK_QT_INCLUDE_DIR} )
include_directories( ${QT3_INCLUDE_DIR} )
include_directories( ${QT_INCLUDE_DIR} )
add_executable( image_to_vtk_viewer image_to_vtk_viewer.cpp )
add_to_cached_list( CGAL_EXECUTABLE_TARGETS image_to_vtk_viewer )
@ -52,7 +53,7 @@ if(QT3_FOUND AND VTK_FOUND)
vtkCommon
${CGAL_LIBRARIES} ${CGAL_3RD_PARTY_LIBRARIES}
${VTK_QT_QT_LIBRARY}
${QT3_LIBRARIES}
${QT_LIBRARIES}
)
else(VTK_USE_QVTK)
message(STATUS "NOTICE: This demo needs QVTK, and will not be compiled.")
@ -61,7 +62,7 @@ else()
if(NOT VTK_FOUND)
message(STATUS "NOTICE: This demo needs VTK, and will not be compiled.")
endif()
if(NOT QT3_FOUND)
message(STATUS "NOTICE: This demo needs Qt3, and will not be compiled.")
if(NOT QT_FOUND)
message(STATUS "NOTICE: This demo needs Qt4, and will not be compiled.")
endif()
endif()

View File

@ -15,7 +15,7 @@
#ifdef CGAL_USE_VTK
#include <qapplication.h>
#include <QApplication>
#include <iostream>
#include <cstdlib>
#include <sstream>

View File

@ -24,7 +24,7 @@
#define ANALYZE_H
#ifdef _MSC_VER
#pragma warning ( disable : 4068 4786 4081 )
#pragma warning ( disable : 4068 4786 4081 4267 )
#endif

View File

@ -1,9 +1,12 @@
# Top level CMakeLists.txt for CGAL-branchbuild
project(CGAL CXX)
cmake_minimum_required(VERSION 2.6.2)
# option for branch build
option( CGAL_BRANCH_BUILD "Create CGAL from branch" ON)
mark_as_advanced( CGAL_BRANCH_BUILD )
# search for some SCM
@ -22,11 +25,30 @@ if ( ${CGAL_SCM_NAME} STREQUAL "svn" )
find_program(SVN_EXECUTABLE svn DOC "subversion command line client")
function(Subversion_GET_URL dir variable)
function(Subversion_GET_INFO dir variable)
# use svnversion
execute_process(COMMAND "${SVN_EXECUTABLE}" info --xml "${dir}"
execute_process(COMMAND "${SVN_EXECUTABLE}" info --xml
WORKING_DIRECTORY "${dir}"
OUTPUT_VARIABLE ${variable}
OUTPUT_STRIP_TRAILING_WHITESPACE)
OUTPUT_STRIP_TRAILING_WHITESPACE
RESULT_VARIABLE svn_error)
if(svn_error)
message("Warning: `svn info --xml \"${dir}\"` returned an error!")
endif()
set(${variable} ${${variable}} PARENT_SCOPE)
endfunction()
function(Subversion_GET_REVISION dir variable)
Subversion_GET_INFO("${dir}" ${variable})
string(REGEX REPLACE "^(.*\n)? revision=\"([^\n]+)\".*url.*" "\\2" ${variable} "${${variable}}")
if(NOT variable)
message("Warning: can not get the Subversion revision of directory ${dir}")
endif()
set(${variable} ${${variable}} PARENT_SCOPE)
endfunction(Subversion_GET_REVISION)
function(Subversion_GET_URL dir variable)
Subversion_GET_INFO("${dir}" ${variable})
string(REGEX REPLACE ".*<url>([^<]+)</url>.*" "\\1" ${variable} "${${variable}}")
if(NOT variable)
message("Warning: can not get the Subversion URL of directory ${dir}")
@ -34,9 +56,7 @@ if ( ${CGAL_SCM_NAME} STREQUAL "svn" )
set(${variable} ${${variable}} PARENT_SCOPE)
endfunction(Subversion_GET_URL)
Subversion_GET_URL("${CGAL_INSTALLATION_PACKAGE_DIR}" CGAL_INSTALLATION_SVN_URL)
# Remove the "/Installation" suffix.
string(REGEX REPLACE "(.*)/Installation" "\\1" CGAL_TMP_SVN_BRANCH_NAME "${CGAL_INSTALLATION_SVN_URL}")
Subversion_GET_URL("${CMAKE_CURRENT_SOURCE_DIR}" CGAL_TMP_SVN_BRANCH_NAME)
# Remove the prefix of the URL "https://scm.gforge.inria.fr/".
string(REGEX REPLACE "[a-z+]+://[a-z0-9.]+" "" CGAL_TMP_SVN_BRANCH_NAME "${CGAL_TMP_SVN_BRANCH_NAME}")

View File

@ -0,0 +1,5 @@
Utrecht University (The Netherlands),
ETH Zurich (Switzerland),
INRIA Sophia-Antipolis (France),
Max-Planck-Institute Saarbruecken (Germany),
Tel-Aviv University (Israel).

View File

@ -104,5 +104,5 @@ Shared-cost RTD (FET Open) Project under Contract No IST-2000-26473
Computational Geometry for Curves and Surfaces) and by the IST
Programme of the 6th Framework Programme of the EU as a STREP (FET
Open Scheme) Project under Contract No IST-006413
(\ccAnchor{http://acs.cs.rug.nl/}{ACS} - Algorithms for Complex
(ACS - Algorithms for Complex
Shapes).

View File

@ -1,11 +1,11 @@
\begin{ccPkgDescription}{2D Circular Geometry Kernel \label{Pkg:CircularKernel2}}
\ccPkgHowToCiteCgal{cgal:cpt-cgk2-11b}
\ccPkgHowToCiteCgal{cgal:cpt-cgk2-12}
\ccPkgSummary{
This package is an extension of the linear \cgal\ kernel. It offers
functionalities on circles, circular arcs and line segments in the
plane.
}
%
\ccPkgIntroducedInCGAL{3.2}
\ccPkgLicense{\ccLicenseQPL}
\ccPkgDemo{Arrangement of Circular Arcs}{circular_kernel.zip}

View File

@ -0,0 +1,2 @@
INRIA Sophia-Antipolis (France)

View File

@ -4,13 +4,12 @@
project( Circular_kernel_2_test )
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()
CMAKE_MINIMUM_REQUIRED(VERSION 2.4.5)
set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
if ( COMMAND cmake_policy )
cmake_policy( SET CMP0003 NEW )
endif()
find_package(CGAL QUIET COMPONENTS Core )

View File

@ -1,5 +1,6 @@
#include <QGLViewer/qglviewer.h>
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/glu.h>
typedef CGAL::Exact_predicates_inexact_constructions_kernel EPIC;

View File

@ -252,5 +252,5 @@ Sylvain Pion is acknowledged for helpful discussions.
This work was partially supported by the IST Programme of the 6th
Framework Programme of the EU as a STREP (FET Open Scheme) Project
under Contract No IST-006413 (\ccAnchor{http://acs.cs.rug.nl/}{ACS} -
under Contract No IST-006413 (ACS -
Algorithms for Complex Shapes).

View File

@ -1,10 +1,10 @@
\begin{ccPkgDescription}{3D Spherical Geometry Kernel \label{Pkg:SphericalKernel3}}
\ccPkgHowToCiteCgal{cgal:cclt-sgk3-11b}
\ccPkgHowToCiteCgal{cgal:cclt-sgk3-12}
\ccPkgSummary{
This package is an extension of the linear \cgal\ Kernel. It offers
functionalities on spheres, circles, circular arcs and line segments,
in the 3D space or restricted on a reference sphere. }
%
\ccPkgIntroducedInCGAL{3.4}
\ccPkgLicense{\ccLicenseQPL}
\ccPkgIllustration{Circular_kernel_3/segment_sphere_intersection_detail.png}{Circular_kernel_3/segment_sphere_intersection.png}

Some files were not shown because too many files have changed in this diff Show More