Merge branch 'master' into BGL-doc_improvement-GF

This commit is contained in:
Mael Rouxel-Labbé 2018-02-15 11:32:50 +01:00 committed by GitHub
commit 28d55f8981
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
234 changed files with 3326 additions and 2094 deletions

View File

@ -103,9 +103,12 @@ install:
- bash .travis/install.sh - bash .travis/install.sh
- if [[ "$CXX" = "clang++" ]]; then export CXX=clang++-3.6 CC=clang-3.6; fi - if [[ "$CXX" = "clang++" ]]; then export CXX=clang++-3.6 CC=clang-3.6; fi
before_script: before_script:
- wget -O doxygen_exe https://cgal.geometryfactory.com/~mgimeno/doxygen_exe
- sudo mv doxygen_exe /usr/bin/doxygen
- sudo chmod +x /usr/bin/doxygen
- mkdir -p build - mkdir -p build
- cd build - cd build
- cmake -DCGAL_HEADER_ONLY=ON -DQt5_DIR="/opt/qt55/lib/cmake/Qt5" -DQt5Svg_DIR="/opt/qt55/lib/cmake/Qt5Svg" -DQt5OpenGL_DIR="/opt/qt55/lib/cmake/Qt5OpenGL" -DCMAKE_CXX_FLAGS_RELEASE=-DCGAL_NDEBUG .. - cmake -DCMAKE_CXX_FLAGS="-std=c++11" -DCGAL_HEADER_ONLY=ON -DQt5_DIR="/opt/qt55/lib/cmake/Qt5" -DQt5Svg_DIR="/opt/qt55/lib/cmake/Qt5Svg" -DQt5OpenGL_DIR="/opt/qt55/lib/cmake/Qt5OpenGL" -DCMAKE_CXX_FLAGS_RELEASE=-DCGAL_NDEBUG ..
- make - make
- sudo make install &>/dev/null - sudo make install &>/dev/null
- cd .. - cd ..
@ -113,37 +116,6 @@ before_script:
script: script:
- cd ./.travis - cd ./.travis
- bash -x -e ./build_package.sh $PACKAGE - bash -x -e ./build_package.sh $PACKAGE
addons:
apt:
sources:
- sourceline: 'ppa:ppsspp/cmake'
- sourceline: 'ppa:hedges/qt5.5'
packages:
- clang-3.6
- zsh
- cmake
- libboost1.55-dev
- libboost-system1.55-dev
- libboost-program-options1.55-dev
- libboost-thread1.55-dev
- libboost-iostreams1.55-dev
- libgmp-dev
- libmpfr-dev
- libmpfi-dev
- zlib1g-dev
- libeigen3-dev # too old
- qt55base
- qt55script
- qt55svg
- qt55tools
- qt55graphicaleffects
- mesa-common-dev
- libglu1-mesa-dev
# Not allowed (yet)
# - geomview
# - libglew1.5-dev
# - libipe-dev
notifications: notifications:
email: email:
on_success: change # default: always on_success: change # default: always

View File

@ -47,7 +47,7 @@ function build_demo {
cmake -DCGAL_DIR="/usr/local/lib/cmake/CGAL" -DQt5_DIR="/opt/qt55/lib/cmake/Qt5" -DQt5Svg_DIR="/opt/qt55/lib/cmake/Qt5Svg" -DQt5OpenGL_DIR="/opt/qt55/lib/cmake/Qt5OpenGL" -DCGAL_DONT_OVERRIDE_CMAKE_FLAGS:BOOL=ON -DCMAKE_CXX_FLAGS_RELEASE="${CXX_FLAGS} ${EXTRA_CXX_FLAGS}" .. cmake -DCGAL_DIR="/usr/local/lib/cmake/CGAL" -DQt5_DIR="/opt/qt55/lib/cmake/Qt5" -DQt5Svg_DIR="/opt/qt55/lib/cmake/Qt5Svg" -DQt5OpenGL_DIR="/opt/qt55/lib/cmake/Qt5OpenGL" -DCGAL_DONT_OVERRIDE_CMAKE_FLAGS:BOOL=ON -DCMAKE_CXX_FLAGS_RELEASE="${CXX_FLAGS} ${EXTRA_CXX_FLAGS}" ..
make -j2 make -j2
} }
old_IFS=$IFS
IFS=$' ' IFS=$' '
ROOT="$PWD/.." ROOT="$PWD/.."
NEED_3D=0 NEED_3D=0
@ -55,14 +55,14 @@ for ARG in $(echo "$@")
do do
if [ "$ARG" = "CHECK" ] if [ "$ARG" = "CHECK" ]
then then
IFS=$old_IFS
zsh $ROOT/Scripts/developer_scripts/test_merge_of_branch HEAD zsh $ROOT/Scripts/developer_scripts/test_merge_of_branch HEAD
mkdir -p build-travis #test dependencies
pushd build-travis cd $ROOT
cmake -DCGAL_ENABLE_CHECK_HEADERS=ON -DQt5_DIR="/opt/qt55/lib/cmake/Qt5" ../.. bash Scripts/developer_scripts/cgal_check_dependencies.sh /usr/bin/doxygen
make -j2 check_headers cd .travis
popd
#parse current matrix and check that no package has been forgotten #parse current matrix and check that no package has been forgotten
old_IFS=$IFS
IFS=$'\n' IFS=$'\n'
COPY=0 COPY=0
MATRIX=() MATRIX=()
@ -82,7 +82,7 @@ do
done done
DIFFERENCE=$(echo ${MATRIX[@]} ${PACKAGES[@]} | tr ' ' '\n' | sort | uniq -u) DIFFERENCE=$(echo ${MATRIX[@]} ${PACKAGES[@]} | tr ' ' '\n' | sort | uniq -u)
IFS=$old_IFS IFS=$' '
if [ "${DIFFERENCE[0]}" != "" ] if [ "${DIFFERENCE[0]}" != "" ]
then then
echo "The matrix and the actual package list differ : ." echo "The matrix and the actual package list differ : ."
@ -116,9 +116,20 @@ do
cd .. cd ..
exit 0 exit 0
fi fi
EXAMPLES="$ARG/examples/$ARG"
TEST="$ARG/test/$ARG" IFS=$old_IFS
DEMOS=$ROOT/$ARG/demo/* if [ -n "$TRAVIS_PULL_REQUEST" ] && [ "$ARG" != Polyhedron_demo ]; then
DO_IGNORE=FALSE
. $ROOT/.travis/test_package.sh "$ROOT" "$ARG"
echo "DO_IGNORE is $DO_IGNORE"
if [ "$DO_IGNORE" = "TRUE" ]; then
continue
fi
fi
IFS=$' '
EXAMPLES="$ARG/examples/$ARG"
TEST="$ARG/test/$ARG"
DEMOS=$ROOT/$ARG/demo/*
if [ "$ARG" = AABB_tree ] || [ "$ARG" = Alpha_shapes_3 ] ||\ if [ "$ARG" = AABB_tree ] || [ "$ARG" = Alpha_shapes_3 ] ||\
[ "$ARG" = Circular_kernel_3 ] || [ "$ARG" = Linear_cell_complex ] ||\ [ "$ARG" = Circular_kernel_3 ] || [ "$ARG" = Linear_cell_complex ] ||\
[ "$ARG" = Periodic_3_triangulation_3 ] || [ "$ARG" = Principal_component_analysis ] ||\ [ "$ARG" = Periodic_3_triangulation_3 ] || [ "$ARG" = Principal_component_analysis ] ||\
@ -126,21 +137,21 @@ do
NEED_3D=1 NEED_3D=1
fi fi
if [ -d "$ROOT/$EXAMPLES" ] if [ -d "$ROOT/$EXAMPLES" ]
then then
cd $ROOT/$EXAMPLES cd $ROOT/$EXAMPLES
build_examples build_examples
elif [ "$ARG" != Polyhedron_demo ]; then elif [ "$ARG" != Polyhedron_demo ]; then
echo "No example found for $ARG" echo "No example found for $ARG"
fi fi
if [ -d "$ROOT/$TEST" ] if [ -d "$ROOT/$TEST" ]
then then
cd $ROOT/$TEST cd $ROOT/$TEST
build_tests build_tests
elif [ "$ARG" != Polyhedron_demo ]; then elif [ "$ARG" != Polyhedron_demo ]; then
echo "No test found for $ARG" echo "No test found for $ARG"
fi fi
#Packages like Periodic_3_triangulation_3 contain multiple demos #Packages like Periodic_3_triangulation_3 contain multiple demos
for DEMO in $DEMOS; do for DEMO in $DEMOS; do
DEMO=${DEMO#"$ROOT"} DEMO=${DEMO#"$ROOT"}
@ -164,7 +175,7 @@ do
build_demo build_demo
fi fi
done done
IFS=$old_IFS
# Local Variables: # Local Variables:
# tab-width: 2 # tab-width: 2
# sh-basic-offset: 2 # sh-basic-offset: 2

View File

@ -12,7 +12,7 @@ do
DONE=1 && sudo -E apt-add-repository -y "ppa:hedges/qt5.5" || DONE=0 && sleep 5 DONE=1 && sudo -E apt-add-repository -y "ppa:hedges/qt5.5" || DONE=0 && sleep 5
done done
for pkg in clang-3.6 zsh cmake libboost1.55-dev libboost-system1.55-dev libboost-program-options1.55-dev libboost-thread1.55-dev libboost-iostreams1.55-dev libgmp-dev libmpfr-dev libmpfi-dev zlib1g-dev libeigen3-dev qt55base qt55script qt55svg qt55tools qt55graphicaleffects mesa-common-dev libglu1-mesa-dev for pkg in clang-3.6 zsh flex bison cmake graphviz libboost1.55-dev libboost-system1.55-dev libboost-program-options1.55-dev libboost-thread1.55-dev libboost-iostreams1.55-dev libgmp-dev libmpfr-dev libmpfi-dev zlib1g-dev libeigen3-dev qt55base qt55script qt55svg qt55tools qt55graphicaleffects libopencv-dev mesa-common-dev libmetis-dev libglu1-mesa-dev
do do
DONE=0 DONE=0
while [ $DONE = 0 ] while [ $DONE = 0 ]
@ -20,3 +20,4 @@ do
DONE=1 && sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes install $pkg || DONE=0 && sudo apt-get update DONE=1 && sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes install $pkg || DONE=0 && sudo apt-get update
done done
done done

View File

@ -7,11 +7,13 @@ matrix:
install: install:
- bash .travis/install.sh - bash .travis/install.sh
- if [[ "$CXX" = "clang++" ]]; then export CXX=clang++-3.6 CC=clang-3.6; fi - if [[ "$CXX" = "clang++" ]]; then export CXX=clang++-3.6 CC=clang-3.6; fi
before_script: before_script:
- wget -O doxygen_exe https://cgal.geometryfactory.com/~mgimeno/doxygen_exe
- sudo mv doxygen_exe /usr/bin/doxygen
- sudo chmod +x /usr/bin/doxygen
- mkdir -p build - mkdir -p build
- cd build - cd build
- cmake -DCGAL_HEADER_ONLY=ON -DQt5_DIR="/opt/qt55/lib/cmake/Qt5" -DQt5Svg_DIR="/opt/qt55/lib/cmake/Qt5Svg" -DQt5OpenGL_DIR="/opt/qt55/lib/cmake/Qt5OpenGL" -DCMAKE_CXX_FLAGS_RELEASE=-DCGAL_NDEBUG .. - cmake -DCMAKE_CXX_FLAGS="-std=c++11" -DCGAL_HEADER_ONLY=ON -DQt5_DIR="/opt/qt55/lib/cmake/Qt5" -DQt5Svg_DIR="/opt/qt55/lib/cmake/Qt5Svg" -DQt5OpenGL_DIR="/opt/qt55/lib/cmake/Qt5OpenGL" -DCMAKE_CXX_FLAGS_RELEASE=-DCGAL_NDEBUG ..
- make - make
- sudo make install &>/dev/null - sudo make install &>/dev/null
- cd .. - cd ..
@ -19,37 +21,6 @@ before_script:
script: script:
- cd ./.travis - cd ./.travis
- bash -x -e ./build_package.sh $PACKAGE - bash -x -e ./build_package.sh $PACKAGE
addons:
apt:
sources:
- sourceline: 'ppa:ppsspp/cmake'
- sourceline: 'ppa:hedges/qt5.5'
packages:
- clang-3.6
- zsh
- cmake
- libboost1.55-dev
- libboost-system1.55-dev
- libboost-program-options1.55-dev
- libboost-thread1.55-dev
- libboost-iostreams1.55-dev
- libgmp-dev
- libmpfr-dev
- libmpfi-dev
- zlib1g-dev
- libeigen3-dev # too old
- qt55base
- qt55script
- qt55svg
- qt55tools
- qt55graphicaleffects
- mesa-common-dev
- libglu1-mesa-dev
# Not allowed (yet)
# - geomview
# - libglew1.5-dev
# - libipe-dev
notifications: notifications:
email: email:
on_success: change # default: always on_success: change # default: always

21
.travis/test_package.sh Normal file
View File

@ -0,0 +1,21 @@
#!/bin/bash
#Will cd $1 and test package named $2
#to find out if it or one of its dependencies has changed in the current branch
DO_IGNORE=FALSE
cd $1
if [ ! -f "$2/package_info/$ARG/dependencies" ];then
echo "No dependencies found for $2"
return
fi
LIST_OF_FILES=$(git diff --name-only origin/master |cut -d/ -f1 |uniq |sort)
LIST_OF_DEPS=$(cat "$2/package_info/$ARG/dependencies")
echo "$LIST_OF_DEPS"
for flie in $LIST_OF_DEPS
do
[[ $LIST_OF_FILES =~ (^|[[:space:]])$flie($|[[:space:]]) ]] && return
done
echo "Package ignored because none of its dependencies has been modified."
DO_IGNORE=TRUE

View File

@ -0,0 +1,19 @@
AABB_tree
Algebraic_foundations
BGL
Cartesian_kernel
Circulator
Distance_2
Installation
Intersections_2
Intersections_3
Interval_support
Kernel_23
Modular_arithmetic
Number_types
Profiling_tools
Property_map
STL_Extension
Spatial_searching
Stream_support

View File

@ -0,0 +1,34 @@
Advancing_front_surface_reconstruction
Algebraic_foundations
Arithmetic_kernel
BGL
Cartesian_kernel
Circulator
Distance_2
Distance_3
Filtered_kernel
HalfedgeDS
Hash_map
Homogeneous_kernel
Installation
Intersections_2
Intersections_3
Interval_support
Kernel_23
Kernel_d
Modifier
Modular_arithmetic
Number_types
Polygon
Polyhedron
Polyhedron_IO
Profiling_tools
Property_map
STL_Extension
Spatial_sorting
Stream_support
TDS_2
TDS_3
Triangulation_2
Triangulation_3

View File

@ -0,0 +1,10 @@
Algebraic_foundations
Installation
Interval_support
Kernel_23
Modular_arithmetic
Number_types
Profiling_tools
STL_Extension
Stream_support

View File

@ -0,0 +1,16 @@
Algebraic_foundations
Algebraic_kernel_d
Arithmetic_kernel
CGAL_Core
Circulator
Installation
Interval_support
Kernel_23
Modular_arithmetic
Number_types
Polynomial
Profiling_tools
Random_numbers
STL_Extension
Stream_support

View File

@ -0,0 +1,13 @@
Algebraic_foundations
Algebraic_kernel_for_circles
Arithmetic_kernel
Filtered_kernel
Installation
Interval_support
Kernel_23
Modular_arithmetic
Number_types
Profiling_tools
STL_Extension
Stream_support

View File

@ -0,0 +1,13 @@
Algebraic_foundations
Algebraic_kernel_for_spheres
Arithmetic_kernel
Filtered_kernel
Installation
Interval_support
Kernel_23
Modular_arithmetic
Number_types
Profiling_tools
STL_Extension
Stream_support

View File

@ -0,0 +1,18 @@
Algebraic_foundations
Alpha_shapes_2
Arithmetic_kernel
Cartesian_kernel
Filtered_kernel
Hash_map
Homogeneous_kernel
Installation
Interval_support
Kernel_23
Modular_arithmetic
Number_types
Profiling_tools
STL_Extension
Stream_support
TDS_2
Triangulation_2

View File

@ -0,0 +1,23 @@
Algebraic_foundations
Alpha_shapes_3
Arithmetic_kernel
Cartesian_kernel
Circulator
Filtered_kernel
Geomview
Hash_map
Homogeneous_kernel
Installation
Interval_support
Kernel_23
Modular_arithmetic
Number_types
Polygon
Profiling_tools
Property_map
STL_Extension
Spatial_sorting
Stream_support
TDS_3
Triangulation_3

View File

@ -0,0 +1,25 @@
Algebraic_foundations
Apollonius_graph_2
Arithmetic_kernel
Cartesian_kernel
Circulator
Distance_2
Distance_3
Filtered_kernel
Hash_map
Installation
Intersections_2
Intersections_3
Interval_support
Kernel_23
Modular_arithmetic
Number_types
Polygon
Profiling_tools
Property_map
STL_Extension
Spatial_sorting
Stream_support
TDS_2
Triangulation_2

View File

@ -415,7 +415,7 @@ public:
template <typename GeomeTraits_2> template <typename GeomeTraits_2>
typename boost::enable_if_c<!has_construct_opposite_2<GeomeTraits_2>::value, typename boost::enable_if_c<!has_construct_opposite_2<GeomeTraits_2>::value,
X_monotone_curve_2>::type X_monotone_curve_2>::type
construct_opposite(const X_monotone_curve_2& cv) const construct_opposite(const X_monotone_curve_2&) const
{ {
CGAL_error_msg("Construct opposite curve is not supported!"); CGAL_error_msg("Construct opposite curve is not supported!");
return X_monotone_curve_2(); return X_monotone_curve_2();

View File

@ -0,0 +1,33 @@
Algebraic_foundations
Algebraic_kernel_d
Arithmetic_kernel
Arrangement_on_surface_2
BGL
CGAL_Core
Cartesian_kernel
Circular_kernel_2
Circulator
Distance_2
Distance_3
Filtered_kernel
HalfedgeDS
Hash_map
Homogeneous_kernel
Installation
Intersections_2
Intersections_3
Interval_support
Kernel_23
Kernel_d
Modular_arithmetic
Number_types
Polygon
Polynomial
Profiling_tools
Property_map
Random_numbers
STL_Extension
Spatial_searching
Stream_support
Surface_sweep_2

View File

@ -56,7 +56,7 @@ void partition_dual_graph(const TriangleMesh& tm, int nparts,
typedef typename boost::graph_traits<TriangleMesh>::face_iterator face_iterator; typedef typename boost::graph_traits<TriangleMesh>::face_iterator face_iterator;
// vertex index map // vertex index map
typedef typename GetVertexIndexMap<TriangleMesh, NamedParameters>::type Indices; typedef typename CGAL::Polygon_mesh_processing::GetVertexIndexMap<TriangleMesh, NamedParameters>::type Indices;
Indices indices = choose_param(get_param(np, internal_np::vertex_index), Indices indices = choose_param(get_param(np, internal_np::vertex_index),
get_const_property_map(boost::vertex_index, tm)); get_const_property_map(boost::vertex_index, tm));

View File

@ -92,7 +92,7 @@ void partition_graph(const TriangleMesh& tm, int nparts,
typedef typename boost::graph_traits<TriangleMesh>::face_iterator face_iterator; typedef typename boost::graph_traits<TriangleMesh>::face_iterator face_iterator;
//Vertex index map //Vertex index map
typedef typename GetVertexIndexMap<TriangleMesh, NamedParameters>::type Indices; typedef typename CGAL::Polygon_mesh_processing::GetVertexIndexMap<TriangleMesh, NamedParameters>::type Indices;
Indices indices = choose_param(get_param(np, internal_np::vertex_index), Indices indices = choose_param(get_param(np, internal_np::vertex_index),
get_const_property_map(boost::vertex_index, tm)); get_const_property_map(boost::vertex_index, tm));

View File

@ -32,6 +32,7 @@
#include <CGAL/Triangulation_2_projection_traits_3.h> #include <CGAL/Triangulation_2_projection_traits_3.h>
#include <CGAL/Triangulation_vertex_base_with_info_2.h> #include <CGAL/Triangulation_vertex_base_with_info_2.h>
#include <CGAL/Triangulation_face_base_with_info_2.h> #include <CGAL/Triangulation_face_base_with_info_2.h>
#include <CGAL/Kernel/global_functions_3.h>
namespace CGAL{ namespace CGAL{
@ -95,7 +96,6 @@ struct Shell_polygons_visitor
std::size_t get_cycle_length( typename Nef_polyhedron::Halffacet_cycle_const_iterator hfc) const std::size_t get_cycle_length( typename Nef_polyhedron::Halffacet_cycle_const_iterator hfc) const
{ {
typename Nef_polyhedron::SHalfedge_const_handle h(hfc);
typename Nef_polyhedron::SHalfedge_around_facet_const_circulator hc_start(hfc), hc_end(hc_start); typename Nef_polyhedron::SHalfedge_around_facet_const_circulator hc_start(hfc), hc_end(hc_start);
std::size_t i=0; std::size_t i=0;
CGAL_For_all(hc_start,hc_end) CGAL_For_all(hc_start,hc_end)

View File

@ -572,14 +572,14 @@ void expand_face_selection_for_removal(const FaceRange& faces_to_be_deleted,
// set hd to the last selected face of a connected component // set hd to the last selected face of a connected component
// of selected faces around a vertex // of selected faces around a vertex
halfedge_descriptor hd = halfedge(vd, tm); halfedge_descriptor hd = halfedge(vd, tm);
while( !get(is_selected, face(hd, tm)) ) while(is_border(hd,tm) || ( !get(is_selected, face(hd, tm))) )
{ {
hd = opposite( next(hd, tm), tm); hd = opposite( next(hd, tm), tm);
CGAL_assertion( hd != halfedge(vd, tm) ); CGAL_assertion( hd != halfedge(vd, tm) );
} }
halfedge_descriptor start = hd; halfedge_descriptor start = hd;
halfedge_descriptor next_around_vertex = opposite( next(hd, tm), tm); halfedge_descriptor next_around_vertex = opposite( next(hd, tm), tm);
while( get(is_selected, face(next_around_vertex, tm) ) ) while(is_border(next_around_vertex,tm) || get(is_selected, face(next_around_vertex, tm) ) )
{ {
hd = next_around_vertex; hd = next_around_vertex;
next_around_vertex = opposite( next(hd, tm), tm); next_around_vertex = opposite( next(hd, tm), tm);

View File

@ -0,0 +1,29 @@
Algebraic_foundations
Arithmetic_kernel
BGL
Cartesian_kernel
Circulator
Distance_2
Distance_3
Filtered_kernel
Hash_map
Homogeneous_kernel
Installation
Intersections_2
Intersections_3
Interval_support
Kernel_23
Kernel_d
Modular_arithmetic
Number_types
Polygon
Polygon_mesh_processing
Profiling_tools
Property_map
STL_Extension
Solver_interface
Spatial_sorting
Stream_support
TDS_2
Triangulation_2

View File

@ -2,6 +2,7 @@
#include <CGAL/boost/graph/graph_traits_Triangulation_2.h> #include <CGAL/boost/graph/graph_traits_Triangulation_2.h>
#include <CGAL/boost/graph/graph_traits_Constrained_triangulation_2.h> #include <CGAL/boost/graph/graph_traits_Constrained_triangulation_2.h>
#include <CGAL/boost/graph/graph_traits_Delaunay_triangulation_2.h> #include <CGAL/boost/graph/graph_traits_Delaunay_triangulation_2.h>
#include <CGAL/boost/graph/graph_traits_Regular_triangulation_2.h>
#include <CGAL/boost/graph/graph_traits_Constrained_Delaunay_triangulation_2.h> #include <CGAL/boost/graph/graph_traits_Constrained_Delaunay_triangulation_2.h>
#include <CGAL/boost/graph/graph_traits_Constrained_triangulation_plus_2.h> #include <CGAL/boost/graph/graph_traits_Constrained_triangulation_plus_2.h>
#include <CGAL/boost/graph/graph_traits_Triangulation_hierarchy_2.h> #include <CGAL/boost/graph/graph_traits_Triangulation_hierarchy_2.h>
@ -51,10 +52,12 @@ int main()
{ {
concept_check_triangulation<Triangulation>(); concept_check_triangulation<Triangulation>();
concept_check_triangulation<DT2>(); concept_check_triangulation<DT2>();
concept_check_triangulation<RT2>();
concept_check_triangulation<CT2>(); concept_check_triangulation<CT2>();
concept_check_triangulation<CDT2>(); concept_check_triangulation<CDT2>();
concept_check_triangulation<CDTP2>(); concept_check_triangulation<CDTP2>();
concept_check_triangulation<THCDT2>(); concept_check_triangulation<THCDT2>();
concept_check_triangulation<THCDTP2>(); concept_check_triangulation<THCDTP2>();
return 0; return 0;
} }

View File

@ -0,0 +1,10 @@
Algebraic_foundations
Barycentric_coordinates_2
Installation
Kernel_23
Number_types
Polygon
Profiling_tools
STL_Extension
Stream_support

View File

@ -0,0 +1,28 @@
Algebraic_foundations
Arithmetic_kernel
Arrangement_on_surface_2
Boolean_set_operations_2
Cartesian_kernel
Circular_kernel_2
Circulator
Distance_2
Distance_3
Filtered_kernel
HalfedgeDS
Hash_map
Homogeneous_kernel
Installation
Intersections_2
Intersections_3
Interval_support
Kernel_23
Kernel_d
Modular_arithmetic
Number_types
Polygon
Profiling_tools
STL_Extension
Stream_support
Surface_sweep_2
Union_find

View File

@ -0,0 +1,24 @@
Algebraic_foundations
Bounding_volumes
Cartesian_kernel
Circulator
Distance_2
Distance_3
Installation
Intersections_2
Intersections_3
Interval_support
Kernel_23
Kernel_d
Matrix_search
Modular_arithmetic
Number_types
Optimisation_basic
Polygon
Profiling_tools
QP_solver
Random_numbers
STL_Extension
Solver_interface
Stream_support

View File

@ -0,0 +1,11 @@
Algebraic_foundations
Box_intersection_d
Installation
Interval_support
Kernel_23
Modular_arithmetic
Number_types
Profiling_tools
STL_Extension
Stream_support

View File

@ -0,0 +1,11 @@
Algebraic_foundations
CGAL_ImageIO
Installation
Interval_support
Kernel_23
Modular_arithmetic
Number_types
Profiling_tools
STL_Extension
Stream_support

View File

@ -0,0 +1,15 @@
Algebraic_foundations
Cartesian_kernel
Distance_2
Distance_3
Installation
Intersections_2
Intersections_3
Interval_support
Kernel_23
Modular_arithmetic
Number_types
Profiling_tools
STL_Extension
Stream_support

View File

@ -0,0 +1,19 @@
Algebraic_foundations
Algebraic_kernel_for_circles
Arithmetic_kernel
Cartesian_kernel
Circular_kernel_2
Distance_2
Distance_3
Filtered_kernel
Installation
Intersections_2
Intersections_3
Interval_support
Kernel_23
Modular_arithmetic
Number_types
Profiling_tools
STL_Extension
Stream_support

View File

@ -0,0 +1,19 @@
Algebraic_foundations
Algebraic_kernel_for_spheres
Arithmetic_kernel
Cartesian_kernel
Circular_kernel_3
Distance_2
Distance_3
Filtered_kernel
Installation
Intersections_2
Intersections_3
Interval_support
Kernel_23
Modular_arithmetic
Number_types
Profiling_tools
STL_Extension
Stream_support

View File

@ -0,0 +1,6 @@
Circulator
Installation
Kernel_23
Profiling_tools
STL_Extension

View File

@ -22,7 +22,8 @@
#define CGAL_CLASSIFICATION_COLOR_H #define CGAL_CLASSIFICATION_COLOR_H
#include <CGAL/license/Classification.h> #include <CGAL/license/Classification.h>
#include <CGAL/number_utils.h>
#include <CGAL/int.h>
#include <CGAL/array.h> #include <CGAL/array.h>
namespace CGAL { namespace CGAL {

View File

@ -25,6 +25,7 @@
#include <CGAL/Classification/Label.h> #include <CGAL/Classification/Label.h>
#include <CGAL/Classification/Label_set.h> #include <CGAL/Classification/Label_set.h>
#include <map>
namespace CGAL { namespace CGAL {

View File

@ -23,7 +23,9 @@
#define CGAL_CLASSIFICATION_FEATURE_DISTANCE_TO_PLANE_H #define CGAL_CLASSIFICATION_FEATURE_DISTANCE_TO_PLANE_H
#include <CGAL/license/Classification.h> #include <CGAL/license/Classification.h>
#include <CGAL/Classification/Feature_base.h>
#include <CGAL/Kernel_traits.h>
#include <CGAL/Classification/Local_eigen_analysis.h>
#include <vector> #include <vector>
namespace CGAL { namespace CGAL {
@ -54,7 +56,7 @@ template <typename PointRange, typename PointMap>
class Distance_to_plane : public Feature_base class Distance_to_plane : public Feature_base
{ {
typedef typename Kernel_traits<typename PointMap::value_type>::Kernel Kernel; typedef typename CGAL::Kernel_traits<typename PointMap::value_type>::Kernel Kernel;
#ifdef CGAL_CLASSIFICATION_PRECOMPUTE_FEATURES #ifdef CGAL_CLASSIFICATION_PRECOMPUTE_FEATURES
std::vector<float> distance_to_plane_feature; std::vector<float> distance_to_plane_feature;

View File

@ -23,8 +23,11 @@
#define CGAL_CLASSIFICATION_FEATURE_ECHO_SCATTER_H #define CGAL_CLASSIFICATION_FEATURE_ECHO_SCATTER_H
#include <CGAL/license/Classification.h> #include <CGAL/license/Classification.h>
#include <CGAL/Classification/Feature_base.h>
#include <CGAL/Classification/Planimetric_grid.h>
#include <CGAL/number_utils.h>
#include <vector> #include <vector>
#include <cmath>
namespace CGAL { namespace CGAL {

View File

@ -24,7 +24,7 @@
#include <CGAL/license/Classification.h> #include <CGAL/license/Classification.h>
#include <vector> #include <vector>
#include <CGAL/Classification/Feature_base.h>
#include <CGAL/Classification/Local_eigen_analysis.h> #include <CGAL/Classification/Local_eigen_analysis.h>
namespace CGAL { namespace CGAL {

View File

@ -26,6 +26,7 @@
#include <vector> #include <vector>
#include <CGAL/Classification/Color.h> #include <CGAL/Classification/Color.h>
#include <CGAL/Classification/Feature_base.h>
namespace CGAL { namespace CGAL {

View File

@ -24,6 +24,7 @@
#include <CGAL/license/Classification.h> #include <CGAL/license/Classification.h>
#include <vector> #include <vector>
#include <CGAL/Classification/Feature_base.h>
namespace CGAL { namespace CGAL {

View File

@ -29,6 +29,9 @@
#include <CGAL/Classification/Image.h> #include <CGAL/Classification/Image.h>
#include <CGAL/Classification/Planimetric_grid.h> #include <CGAL/Classification/Planimetric_grid.h>
#include <boost/algorithm/minmax_element.hpp> #include <boost/algorithm/minmax_element.hpp>
#include <CGAL/Classification/Feature_base.h>
#include <CGAL/int.h>
#include <boost/tuple/tuple.hpp>
namespace CGAL { namespace CGAL {

View File

@ -24,7 +24,7 @@
#include <CGAL/license/Classification.h> #include <CGAL/license/Classification.h>
#include <vector> #include <vector>
#include <CGAL/Classification/Feature_base.h>
#include <CGAL/Classification/Local_eigen_analysis.h> #include <CGAL/Classification/Local_eigen_analysis.h>
namespace CGAL { namespace CGAL {

View File

@ -30,6 +30,7 @@
#endif // CGAL_LINKED_WITH_TBB #endif // CGAL_LINKED_WITH_TBB
#include <vector> #include <vector>
#include <utility>
namespace CGAL { namespace CGAL {

View File

@ -24,6 +24,7 @@
#include <CGAL/license/Classification.h> #include <CGAL/license/Classification.h>
#include <boost/shared_ptr.hpp> #include <boost/shared_ptr.hpp>
#include <map>
#define CGAL_CLASSIFICATION_IMAGE_SIZE_LIMIT 100000000 #define CGAL_CLASSIFICATION_IMAGE_SIZE_LIMIT 100000000

View File

@ -30,6 +30,8 @@
#include <CGAL/Orthogonal_k_neighbor_search.h> #include <CGAL/Orthogonal_k_neighbor_search.h>
#include <CGAL/Default_diagonalize_traits.h> #include <CGAL/Default_diagonalize_traits.h>
#include <CGAL/centroid.h> #include <CGAL/centroid.h>
#include <CGAL/squared_distance_3.h>
#include <CGAL/array.h>
#ifdef CGAL_LINKED_WITH_TBB #ifdef CGAL_LINKED_WITH_TBB
#include <tbb/parallel_for.h> #include <tbb/parallel_for.h>
@ -270,21 +272,21 @@ private:
if (neighbor_points.size() == 0) if (neighbor_points.size() == 0)
{ {
Eigenvalues v = {{ 0.f, 0.f, 0.f }}; Eigenvalues v = make_array( 0.f, 0.f, 0.f );
m_eigenvalues[index] = v; m_eigenvalues[index] = v;
m_centroids[index] = {{ float(query.x()), float(query.y()), float(query.z()) }}; m_centroids[index] = make_array(float(query.x()), float(query.y()), float(query.z()) );
m_smallest_eigenvectors[index] = {{ 0.f, 0.f, 1.f }}; m_smallest_eigenvectors[index] = make_array( 0.f, 0.f, 1.f );
#ifdef CGAL_CLASSIFICATION_EIGEN_FULL_STORAGE #ifdef CGAL_CLASSIFICATION_EIGEN_FULL_STORAGE
m_middle_eigenvectors[index] = {{ 0.f, 1.f, 0.f }}; m_middle_eigenvectors[index] = make_array( 0.f, 1.f, 0.f );
m_largest_eigenvectors[index] = {{ 1.f, 0.f, 0.f }}; m_largest_eigenvectors[index] = make_array( 1.f, 0.f, 0.f );
#endif #endif
return; return;
} }
Point centroid = CGAL::centroid (neighbor_points.begin(), neighbor_points.end()); Point centroid = CGAL::centroid (neighbor_points.begin(), neighbor_points.end());
m_centroids[index] = {{ float(centroid.x()), float(centroid.y()), float(centroid.z()) }}; m_centroids[index] = make_array( float(centroid.x()), float(centroid.y()), float(centroid.z()) );
CGAL::cpp11::array<float, 6> covariance = {{ 0.f, 0.f, 0.f, 0.f, 0.f, 0.f }}; CGAL::cpp11::array<float, 6> covariance = make_array( 0.f, 0.f, 0.f, 0.f, 0.f, 0.f );
for (std::size_t i = 0; i < neighbor_points.size(); ++ i) for (std::size_t i = 0; i < neighbor_points.size(); ++ i)
{ {
@ -297,10 +299,10 @@ private:
covariance[5] += float(d.z () * d.z ()); covariance[5] += float(d.z () * d.z ());
} }
CGAL::cpp11::array<float, 3> evalues = {{ 0.f, 0.f, 0.f }}; CGAL::cpp11::array<float, 3> evalues = make_array( 0.f, 0.f, 0.f );
CGAL::cpp11::array<float, 9> evectors = {{ 0.f, 0.f, 0.f, CGAL::cpp11::array<float, 9> evectors = make_array( 0.f, 0.f, 0.f,
0.f, 0.f, 0.f, 0.f, 0.f, 0.f,
0.f, 0.f, 0.f }}; 0.f, 0.f, 0.f );
DiagonalizeTraits::diagonalize_selfadjoint_covariance_matrix DiagonalizeTraits::diagonalize_selfadjoint_covariance_matrix
(covariance, evalues, evectors); (covariance, evalues, evectors);
@ -311,11 +313,11 @@ private:
for (std::size_t i = 0; i < 3; ++ i) for (std::size_t i = 0; i < 3; ++ i)
evalues[i] = evalues[i] / sum; evalues[i] = evalues[i] / sum;
m_sum_eigenvalues[index] = float(sum); m_sum_eigenvalues[index] = float(sum);
m_eigenvalues[index] = {{ float(evalues[0]), float(evalues[1]), float(evalues[2]) }}; m_eigenvalues[index] = make_array( float(evalues[0]), float(evalues[1]), float(evalues[2]) );
m_smallest_eigenvectors[index] = {{ float(evectors[0]), float(evectors[1]), float(evectors[2]) }}; m_smallest_eigenvectors[index] = make_array( float(evectors[0]), float(evectors[1]), float(evectors[2]) );
#ifdef CGAL_CLASSIFICATION_EIGEN_FULL_STORAGE #ifdef CGAL_CLASSIFICATION_EIGEN_FULL_STORAGE
m_middle_eigenvectors[index] = {{ float(evectors[3]), float(evectors[4]), float(evectors[5]) }}; m_middle_eigenvectors[index] = make_array( float(evectors[3]), float(evectors[4]), float(evectors[5]) );
m_largest_eigenvectors[index] = {{ float(evectors[6]), float(evectors[7]), float(evectors[8]) }}; m_largest_eigenvectors[index] = make_array( float(evectors[6]), float(evectors[7]), float(evectors[8]) );
#endif #endif
} }

View File

@ -25,9 +25,13 @@
#include <CGAL/Classification/Feature_set.h> #include <CGAL/Classification/Feature_set.h>
#include <CGAL/Classification/Label_set.h> #include <CGAL/Classification/Label_set.h>
#if (CV_MAJOR_VERSION < 3)
#include <cv.h> #include <cv.h>
#include <ml.h> #include <ml.h>
#else
#include <opencv/cv.h>
#include <opencv/ml.h>
#endif
namespace CGAL { namespace CGAL {

View File

@ -37,7 +37,7 @@
#include <CGAL/Classification/Feature/Eigen.h> #include <CGAL/Classification/Feature/Eigen.h>
#include <CGAL/Classification/Label.h> #include <CGAL/Classification/Label.h>
#include <CGAL/Classification/internal/verbosity.h> #include <CGAL/Classification/internal/verbosity.h>
#include <CGAL/Classification/Feature_set.h>
#include <CGAL/bounding_box.h> #include <CGAL/bounding_box.h>
#include <boost/property_tree/ptree.hpp> #include <boost/property_tree/ptree.hpp>

View File

@ -33,9 +33,11 @@
#include <CGAL/Default_diagonalize_traits.h> #include <CGAL/Default_diagonalize_traits.h>
#include <CGAL/centroid.h> #include <CGAL/centroid.h>
#include <CGAL/grid_simplify_point_set.h> #include <CGAL/grid_simplify_point_set.h>
#include <CGAL/squared_distance_3.h>
#include <CGAL/Classification/Image.h> #include <CGAL/Classification/Image.h>
namespace CGAL { namespace CGAL {
namespace Classification { namespace Classification {

View File

@ -27,6 +27,7 @@
#include <CGAL/Classification/Feature_set.h> #include <CGAL/Classification/Feature_set.h>
#include <CGAL/Classification/Label_set.h> #include <CGAL/Classification/Label_set.h>
#include <CGAL/Classification/internal/verbosity.h> #include <CGAL/Classification/internal/verbosity.h>
#include <CGAL/tags.h>
#include <boost/property_tree/ptree.hpp> #include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/xml_parser.hpp> #include <boost/property_tree/xml_parser.hpp>
@ -34,6 +35,8 @@
#include <boost/algorithm/string/predicate.hpp> #include <boost/algorithm/string/predicate.hpp>
#include <boost/algorithm/string.hpp> #include <boost/algorithm/string.hpp>
#include <boost/lexical_cast.hpp> #include <boost/lexical_cast.hpp>
#include <map>
#include <iostream>
#ifdef CGAL_LINKED_WITH_TBB #ifdef CGAL_LINKED_WITH_TBB
#include <tbb/parallel_for.h> #include <tbb/parallel_for.h>

View File

@ -25,7 +25,7 @@
#include <CGAL/license/Classification.h> #include <CGAL/license/Classification.h>
#include <CGAL/internal/Surface_mesh_segmentation/Alpha_expansion_graph_cut.h> #include <CGAL/internal/Surface_mesh_segmentation/Alpha_expansion_graph_cut.h>
#include <CGAL/Bbox_3.h>
#include <CGAL/Classification/Label_set.h> #include <CGAL/Classification/Label_set.h>
#ifdef CGAL_LINKED_WITH_TBB #ifdef CGAL_LINKED_WITH_TBB

View File

@ -0,0 +1,21 @@
Algebraic_foundations
BGL
Circulator
Classification
Distance_2
Distance_3
Installation
Interval_support
Kernel_23
Modular_arithmetic
Number_types
Point_set_processing_3
Principal_component_analysis_LGPL
Profiling_tools
Property_map
STL_Extension
Solver_interface
Spatial_searching
Stream_support
Surface_mesh_segmentation

View File

@ -0,0 +1,22 @@
Algebraic_foundations
Arithmetic_kernel
Cartesian_kernel
Circulator
Combinatorial_map
Distance_2
Distance_3
Filtered_kernel
Hash_map
Homogeneous_kernel
Installation
Intersections_2
Intersections_3
Interval_support
Kernel_23
Kernel_d
Modular_arithmetic
Number_types
Profiling_tools
STL_Extension
Stream_support

View File

@ -0,0 +1,20 @@
Algebraic_foundations
Arithmetic_kernel
CGAL_Core
Cartesian_kernel
Circulator
Cone_spanners_2
Distance_2
Distance_3
Installation
Intersections_2
Intersections_3
Interval_support
Kernel_23
Modular_arithmetic
Number_types
Polynomial
Profiling_tools
STL_Extension
Stream_support

View File

@ -0,0 +1,37 @@
Algebraic_foundations
Arithmetic_kernel
BGL
Box_intersection_d
Cartesian_kernel
Circulator
Convex_decomposition_3
Distance_2
Distance_3
Filtered_kernel
HalfedgeDS
Hash_map
Homogeneous_kernel
Installation
Intersections_2
Intersections_3
Interval_support
Kernel_23
Kernel_d
Modifier
Modular_arithmetic
Nef_2
Nef_3
Nef_S2
Number_types
Polygon
Polyhedron
Polyhedron_IO
Profiling_tools
Property_map
STL_Extension
Spatial_sorting
Stream_support
TDS_2
Triangulation_2
Union_find

View File

@ -0,0 +1,11 @@
Algebraic_foundations
Convex_hull_2
Installation
Interval_support
Kernel_23
Modular_arithmetic
Number_types
Profiling_tools
STL_Extension
Stream_support

View File

@ -29,6 +29,7 @@
#include <CGAL/intersections.h> #include <CGAL/intersections.h>
#include <CGAL/boost/graph/iterator.h> #include <CGAL/boost/graph/iterator.h>
#include <boost/foreach.hpp> #include <boost/foreach.hpp>
#include <CGAL/boost/graph/property_maps.h>
namespace CGAL { namespace CGAL {

View File

@ -0,0 +1,32 @@
Algebraic_foundations
Arithmetic_kernel
BGL
Cartesian_kernel
Circulator
Convex_hull_2
Convex_hull_3
Distance_2
Distance_3
Filtered_kernel
HalfedgeDS
Hash_map
Installation
Intersections_2
Intersections_3
Interval_support
Kernel_23
Modifier
Modular_arithmetic
Number_types
Polyhedron
Polyhedron_IO
Profiling_tools
Property_map
QP_solver
Random_numbers
STL_Extension
Stream_support
TDS_2
Triangulation_2
Triangulation_3

View File

@ -0,0 +1,17 @@
Algebraic_foundations
Circulator
Convex_hull_d
Distance_2
Hash_map
Installation
Intersections_2
Intersections_3
Interval_support
Kernel_23
Kernel_d
Modular_arithmetic
Number_types
Profiling_tools
STL_Extension
Stream_support

View File

@ -0,0 +1,11 @@
Algebraic_foundations
Distance_2
Installation
Interval_support
Kernel_23
Modular_arithmetic
Number_types
Profiling_tools
STL_Extension
Stream_support

View File

@ -0,0 +1,10 @@
Algebraic_foundations
Distance_2
Distance_3
Installation
Kernel_23
Number_types
Profiling_tools
STL_Extension
Stream_support

View File

@ -4,7 +4,7 @@
<tab type="mainpage" visible="yes" title=""/> <tab type="mainpage" visible="yes" title=""/>
<tab type="modules" visible="yes" title="" intro=""/> <tab type="modules" visible="yes" title="" intro=""/>
<tab type="pages" visible="yes" title="" intro=""/> <tab type="pages" visible="yes" title="" intro=""/>
<tab type="classlist" visible="yes" title="Class and Concept List" intro="Here is the list of all concepts and classes of the CGAL Library. Classes are inside the namespace CGAL. Concepts are in the global namespace."/> <tab type="classlist" visible="no" title="Class and Concept List" intro="Here is the list of all concepts and classes of the CGAL Library. Classes are inside the namespace CGAL. Concepts are in the global namespace."/>
<tab type="examples" visible="no" title="" intro=""/> <tab type="examples" visible="no" title="" intro=""/>
<!-- <tab type="user" url="@ref how_to_cite_cgal" title="Acknowledging CGAL"/> --> <!-- <tab type="user" url="@ref how_to_cite_cgal" title="Acknowledging CGAL"/> -->
</navindex> </navindex>

View File

@ -2,6 +2,51 @@ body, table, div, p, dl {
font: Lucida Grande,sans-serif; font: Lucida Grande,sans-serif;
} }
.icon-namespace {
font-family: Arial, Helvetica;
font-weight: bold;
font-size: 12px;
height: 14px;
width: 16px;
display: inline-block;
background-color: #FF0000;
color: white;
text-align: center;
border-radius: 4px;
margin-left: 2px;
margin-right: 2px;
}
.icon-class {
font-family: Arial, Helvetica;
font-weight: bold;
font-size: 12px;
height: 14px;
width: 16px;
display: inline-block;
background-color: #0000FF;
color: white;
text-align: center;
border-radius: 4px;
margin-left: 2px;
margin-right: 2px;
}
.icon-concept {
font-family: Arial, Helvetica;
font-weight: bold;
font-size: 12px;
height: 14px;
width: 16px;
display: inline-block;
background-color: #67489A;
color: white;
text-align: center;
border-radius: 4px;
margin-left: 2px;
margin-right: 2px;
}
.textsc { .textsc {
font-variant: small-caps; font-variant: small-caps;
} }

View File

@ -4,7 +4,7 @@
<tab type="mainpage" visible="yes" title=""/> <tab type="mainpage" visible="yes" title=""/>
<tab type="modules" visible="yes" title="" intro=""/> <tab type="modules" visible="yes" title="" intro=""/>
<tab type="pages" visible="yes" title="" intro=""/> <tab type="pages" visible="yes" title="" intro=""/>
<tab type="classlist" visible="yes" title="Class and Concept List" intro="Here is the list of all concepts and classes of the CGAL Library. Classes are inside the namespace CGAL. Concepts are in the global namespace."/> <tab type="classlist" visible="no" title="Class and Concept List" intro="Here is the list of all concepts and classes of the CGAL Library. Classes are inside the namespace CGAL. Concepts are in the global namespace."/>
<tab type="examples" visible="no" title="" intro=""/> <tab type="examples" visible="no" title="" intro=""/>
<!-- <tab type="user" url="@ref how_to_cite_cgal" title="Acknowledging CGAL"/> --> <!-- <tab type="user" url="@ref how_to_cite_cgal" title="Acknowledging CGAL"/> -->
</navindex> </navindex>

View File

@ -48,6 +48,51 @@ h2 {
} }
.icon-namespace {
font-family: Arial, Helvetica;
font-weight: bold;
font-size: 12px;
height: 14px;
width: 16px;
display: inline-block;
background-color: #FF0000;
color: white;
text-align: center;
border-radius: 4px;
margin-left: 2px;
margin-right: 2px;
}
.icon-class {
font-family: Arial, Helvetica;
font-weight: bold;
font-size: 12px;
height: 14px;
width: 16px;
display: inline-block;
background-color: #0000FF;
color: white;
text-align: center;
border-radius: 4px;
margin-left: 2px;
margin-right: 2px;
}
.icon-concept {
font-family: Arial, Helvetica;
font-weight: bold;
font-size: 12px;
height: 14px;
width: 16px;
display: inline-block;
background-color: #67489A;
color: white;
text-align: center;
border-radius: 4px;
margin-left: 2px;
margin-right: 2px;
}
h1.groupheader { h1.groupheader {
font-size: 150%; font-size: 150%;
} }

View File

@ -4,7 +4,7 @@
<tab type="mainpage" visible="yes" title=""/> <tab type="mainpage" visible="yes" title=""/>
<tab type="modules" visible="yes" title="" intro=""/> <tab type="modules" visible="yes" title="" intro=""/>
<tab type="pages" visible="yes" title="" intro=""/> <tab type="pages" visible="yes" title="" intro=""/>
<tab type="classlist" visible="yes" title="Class and Concept List" intro="Here is the list of all concepts and classes of the CGAL Library. Classes are inside the namespace CGAL. Concepts are in the global namespace."/> <tab type="classlist" visible="no" title="Class and Concept List" intro="Here is the list of all concepts and classes of the CGAL Library. Classes are inside the namespace CGAL. Concepts are in the global namespace."/>
<tab type="examples" visible="no" title="" intro=""/> <tab type="examples" visible="no" title="" intro=""/>
<!-- <tab type="user" url="@ref how_to_cite_cgal" title="Acknowledging CGAL"/> --> <!-- <tab type="user" url="@ref how_to_cite_cgal" title="Acknowledging CGAL"/> -->
</navindex> </navindex>

View File

@ -150,6 +150,15 @@ def rearrange_img(i, dir_name):
srcpath=img.attr("src") srcpath=img.attr("src")
img.attr("src", "../Manual/" + srcpath.split('/')[-1]) img.attr("src", "../Manual/" + srcpath.split('/')[-1])
def rearrange_icon(i, dir_name):
icon = pq(this)
if icon.attr("class") == "icon-class":
parser=pq(this).parent().parent()
for link_class in ['a.el', 'a.elRef']:
links=parser(link_class)
if links.size()>0 and is_concept_file(path.join(dir_name, pq(links[0]).attr("href"))):
icon.attr("class","icon-concept")
############################################################################### ###############################################################################
############################## Figure Numbering ############################### ############################## Figure Numbering ###############################
############################################################################### ###############################################################################
@ -252,12 +261,15 @@ removes some unneeded files, and performs minor repair on some glitches.''')
annotated_files=package_glob('./*/annotated.html') annotated_files=package_glob('./*/annotated.html')
for fn in annotated_files: for fn in annotated_files:
re_replace_in_file("<span class=\"icon\">N</span>", "<span class=\"icon-namespace\">N</span>", fn)
re_replace_in_file("<span class=\"icon\">C</span>", "<span class=\"icon-class\">C</span>", fn)
dir_name=path.dirname(fn) dir_name=path.dirname(fn)
d = pq(filename=fn, parser='html', encoding='utf-8') d = pq(filename=fn, parser='html', encoding='utf-8')
tr_tags = d('table.directory tr img') tr_tags = d('table.directory tr img')
tr_tags.each(lambda i: rearrange_img(i, dir_name)) tr_tags.each(lambda i: rearrange_img(i, dir_name))
span_tags = d('table.directory tr span')
span_tags.each(lambda i: rearrange_icon(i, dir_name))
write_out_html(d,fn) write_out_html(d,fn)
class_files=list(package_glob('./*/class*.html')) class_files=list(package_glob('./*/class*.html'))
class_files.extend(package_glob('./*/struct*.html')) class_files.extend(package_glob('./*/struct*.html'))
for fn in class_files: for fn in class_files:
@ -300,9 +312,11 @@ removes some unneeded files, and performs minor repair on some glitches.''')
table("tr").filter(lambda i: re.match(row_id + '*', pq(this).attr('id'))).remove() table("tr").filter(lambda i: re.match(row_id + '*', pq(this).attr('id'))).remove()
write_out_html(d, fn) write_out_html(d, fn)
#Rewrite the code for index trees images
filesjs_files=package_glob('./*/files.js') filesjs_files=package_glob('./*/files.js')
for fn in filesjs_files: for fn in filesjs_files:
re_replace_in_file('^.*\[ "Concepts",.*$', '', fn) re_replace_in_file('^.*\[ "Concepts",.*$', '', fn)
#Rewrite the path of some images #Rewrite the path of some images
re_replace_in_file("'src','ftv2", re_replace_in_file("'src','ftv2",

View File

@ -0,0 +1,12 @@
Algebraic_foundations
Arrangement_on_surface_2
Envelope_2
Installation
Interval_support
Kernel_23
Modular_arithmetic
Number_types
Profiling_tools
STL_Extension
Stream_support

View File

@ -0,0 +1,29 @@
Algebraic_foundations
Apollonius_graph_2
Arithmetic_kernel
Arrangement_on_surface_2
BGL
Cartesian_kernel
Circulator
Distance_2
Distance_3
Envelope_3
Filtered_kernel
HalfedgeDS
Hash_map
Homogeneous_kernel
Installation
Intersections_2
Intersections_3
Interval_support
Kernel_23
Kernel_d
Modular_arithmetic
Number_types
Profiling_tools
Property_map
Random_numbers
STL_Extension
Stream_support
Surface_sweep_2

View File

@ -0,0 +1,19 @@
Algebraic_foundations
Arithmetic_kernel
Cartesian_kernel
Distance_2
Distance_3
Filtered_kernel
Homogeneous_kernel
Installation
Intersections_2
Intersections_3
Interval_support
Kernel_23
Kernel_d
Modular_arithmetic
Number_types
Profiling_tools
STL_Extension
Stream_support

View File

@ -0,0 +1,23 @@
Algebraic_foundations
Arithmetic_kernel
Cartesian_kernel
Circulator
Combinatorial_map
Distance_2
Distance_3
Filtered_kernel
Generalized_map
Hash_map
Homogeneous_kernel
Installation
Intersections_2
Intersections_3
Interval_support
Kernel_23
Kernel_d
Modular_arithmetic
Number_types
Profiling_tools
STL_Extension
Stream_support

View File

@ -0,0 +1,16 @@
Algebraic_foundations
BGL
Circulator
Generator
Installation
Interval_support
Kernel_23
Modular_arithmetic
Number_types
Polygon
Profiling_tools
Property_map
Random_numbers
STL_Extension
Stream_support

View File

@ -0,0 +1,11 @@
Algebraic_foundations
Circulator
Installation
Interval_support
Kernel_23
Modular_arithmetic
Number_types
Profiling_tools
STL_Extension
Stream_support

View File

@ -0,0 +1,15 @@
Algebraic_foundations
Distance_2
GraphicsView
Hash_map
Installation
Intersections_2
Interval_support
Kernel_23
Modular_arithmetic
Number_types
Profiling_tools
STL_Extension
Stream_support
Triangulation_2

View File

@ -0,0 +1,13 @@
Algebraic_foundations
Circulator
HalfedgeDS
Hash_map
Installation
Interval_support
Kernel_23
Modular_arithmetic
Number_types
Profiling_tools
STL_Extension
Stream_support

View File

@ -0,0 +1,4 @@
Hash_map
Installation
STL_Extension

View File

@ -0,0 +1,17 @@
Algebraic_foundations
Cartesian_kernel
Distance_2
Distance_3
Homogeneous_kernel
Installation
Intersections_2
Intersections_3
Interval_support
Kernel_23
Kernel_d
Modular_arithmetic
Number_types
Profiling_tools
STL_Extension
Stream_support

View File

@ -0,0 +1,16 @@
Algebraic_foundations
Circulator
Distance_2
Inscribed_areas
Installation
Interval_support
Kernel_23
Matrix_search
Modular_arithmetic
Number_types
Optimisation_basic
Polygon
Profiling_tools
STL_Extension
Stream_support

View File

@ -1046,16 +1046,23 @@ if ( CGAL_BRANCH_BUILD )
option(CGAL_COMPUTE_DEPENDENCIES option(CGAL_COMPUTE_DEPENDENCIES
"Enable the special targets \"packages_dependencies\", and \"pkg_<package>_deps\" for each package. "Enable the special targets \"packages_dependencies\", and \"pkg_<package>_deps\" for each package.
Note that this option will modify the source directory!" Note that this option will modify the source directory!"
FALSE) ${CGAL_ENABLE_CHECK_HEADERS})
if(CGAL_ENABLE_CHECK_HEADERS OR CGAL_COMPUTE_DEPENDENCIES) if(CGAL_ENABLE_CHECK_HEADERS OR CGAL_COMPUTE_DEPENDENCIES)
option(CGAL_COPY_DEPENDENCIES
"Copy package dependencies in source directories.
Note that this option will modify the source directory!"
FALSE)
if(NOT CMAKE_MAJOR_VERSION GREATER 2) if(NOT CMAKE_MAJOR_VERSION GREATER 2)
message(FATAL_ERROR "Your version of CMake is too old. message(FATAL_ERROR "Your version of CMake is too old.
You must disable CGAL_ENABLE_CHECK_HEADERS and CGAL_COMPUTE_DEPENDENCIES.") You must disable CGAL_ENABLE_CHECK_HEADERS and CGAL_COMPUTE_DEPENDENCIES.")
endif() endif()
message( "== Setting header checking ==" ) message( "== Setting header checking ==" )
find_package(GMP REQUIRED)
find_package(Doxygen REQUIRED)
find_package(Eigen3 REQUIRED) find_package(Eigen3 REQUIRED)
find_package(Qt5 COMPONENTS Core Widgets Xml OpenGL REQUIRED) find_package(Qt5 COMPONENTS Core Widgets Xml OpenGL REQUIRED)
find_package(QGLViewer) find_package(QGLViewer)
@ -1064,6 +1071,7 @@ You must disable CGAL_ENABLE_CHECK_HEADERS and CGAL_COMPUTE_DEPENDENCIES.")
find_package(RS3) find_package(RS3)
find_package(LEDA) find_package(LEDA)
find_package(OpenMesh) find_package(OpenMesh)
find_package(OpenCV QUIET)
set(compile_options "\ set(compile_options "\
${CMAKE_CXX_FLAGS} -DCGAL_EIGEN3_ENABLED \ ${CMAKE_CXX_FLAGS} -DCGAL_EIGEN3_ENABLED \
@ -1107,9 +1115,14 @@ because IPE_FOUND is false.")
set(compile_options "${compile_options} -DCGAL_USE_IPE_7") set(compile_options "${compile_options} -DCGAL_USE_IPE_7")
endif() endif()
if(CGAL_ENABLE_CHECK_HEADERS)
set(falg "-fsyntax-only")
else()
set(falg "-E")
endif()
if(NOT DEFINED CGAL_CHECK_SYNTAX_ONLY) if(NOT DEFINED CGAL_CHECK_SYNTAX_ONLY)
execute_process(COMMAND execute_process(COMMAND
${CMAKE_CXX_COMPILER} -x c++ -fsyntax-only ${CGAL_MODULES_DIR}/config/support/test_syntaxonly.cpp ${CMAKE_CXX_COMPILER} -x c++ ${falg} ${CGAL_MODULES_DIR}/config/support/test_syntaxonly.cpp
ERROR_QUIET ERROR_QUIET
RESULT_VARIABLE ok) RESULT_VARIABLE ok)
if(ok EQUAL 0) if(ok EQUAL 0)
@ -1120,7 +1133,7 @@ because IPE_FOUND is false.")
endif(NOT DEFINED CGAL_CHECK_SYNTAX_ONLY) endif(NOT DEFINED CGAL_CHECK_SYNTAX_ONLY)
if(NOT CGAL_CHECK_SYNTAX_ONLY) if(NOT CGAL_CHECK_SYNTAX_ONLY)
message(FATAL_ERROR "Your compiler does not seem to support -fsyntax-only. message(FATAL_ERROR "Your compiler does not seem to support ${falg}.
You must disable CGAL_ENABLE_CHECK_HEADERS and CGAL_COMPUTE_DEPENDENCIES.") You must disable CGAL_ENABLE_CHECK_HEADERS and CGAL_COMPUTE_DEPENDENCIES.")
endif() endif()
@ -1133,8 +1146,10 @@ You must disable CGAL_ENABLE_CHECK_HEADERS and CGAL_COMPUTE_DEPENDENCIES.")
${VTK_INCLUDE_DIRS} ${VTK_INCLUDE_DIRS}
${LEDA_INCLUDE_DIR} ${LEDA_INCLUDE_DIR}
${OPENMESH_INCLUDE_DIR} ${OPENMESH_INCLUDE_DIR}
${OpenCV_INCLUDE_DIRS}
${RS_INCLUDE_DIR} ${RS_INCLUDE_DIR}
${EIGEN3_INCLUDE_DIR} ${EIGEN3_INCLUDE_DIR}
${GMP_INCLUDE_DIR}
${QGLVIEWER_INCLUDE_DIR} ${Qt5OpenGL_INCLUDE_DIRS} ${QGLVIEWER_INCLUDE_DIR} ${Qt5OpenGL_INCLUDE_DIRS}
${Qt5Widgets_INCLUDE_DIRS} ${Qt5Xml_INCLUDE_DIRS} ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Xml_INCLUDE_DIRS}
${CGAL_3RD_PARTY_INCLUDE_DIRS} ${CGAL_Qt5_3RD_PARTY_INCLUDE_DIRS} ${CGAL_3RD_PARTY_INCLUDE_DIRS} ${CGAL_Qt5_3RD_PARTY_INCLUDE_DIRS}
@ -1143,9 +1158,51 @@ You must disable CGAL_ENABLE_CHECK_HEADERS and CGAL_COMPUTE_DEPENDENCIES.")
endforeach() endforeach()
include_directories ( SYSTEM ${CGAL_3RD_PARTY_INCLUDE_DIRS} ) include_directories ( SYSTEM ${CGAL_3RD_PARTY_INCLUDE_DIRS} )
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/list_of_documented_headers.cmake # Build the doc
OPTIONAL RESULT_VARIABLE has_list_of_documented_headers) file(MAKE_DIRECTORY "${CMAKE_SOURCE_DIR}/build_doc")
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/list_of_whitelisted_headers.cmake set(DOC_DIR "${CMAKE_SOURCE_DIR}/build_doc")
execute_process(COMMAND "${CMAKE_COMMAND}" -DDOXYGEN_EXECUTABLE=${DOXYGEN_EXECUTABLE} "${CMAKE_SOURCE_DIR}/Documentation/doc"
WORKING_DIRECTORY "${DOC_DIR}"
)
execute_process(COMMAND "${CMAKE_COMMAND}" --build . --target "doc"
WORKING_DIRECTORY "${DOC_DIR}" )
#Get the list of the documented headers
file(GLOB html_files RELATIVE "${DOC_DIR}/doc_output/" "${DOC_DIR}/doc_output/*/*.html")
file(GLOB example_files RELATIVE "${CMAKE_SOURCE_DIR}/" "${CMAKE_SOURCE_DIR}/*/examples/*/*.cpp")
find_program(AWK awk)
#set(arguments [=[{ match($0, /# *include *(&lt;|[<"])(CGAL\/[^>&]*)([>"]|&gt;)/,arr); if(arr[2]!="") print arr[2] }]=])
set(arguments [=[{ match($0, /# *include *(&lt;)(CGAL\/[^>&]*)([>"]|&gt;)/,arr); if(arr[2]!="") print arr[2] }]=])
message("listing headers from html files")
foreach(f ${html_files})
execute_process(COMMAND "${AWK}" "${arguments}" "${DOC_DIR}/doc_output/${f}"
OUTPUT_VARIABLE tmp_list)
if (NOT "${tmp_list}" STREQUAL "")
string(REPLACE "\n" ";" tmp_list ${tmp_list})
LIST( APPEND list_of_documented_headers ${tmp_list})
endif()
endforeach()
message("listing headers from examples files")
foreach(f ${example_files})
execute_process(COMMAND "${AWK}" "${arguments}" "${CMAKE_SOURCE_DIR}/${f}"
OUTPUT_VARIABLE tmp_list)
if (NOT "${tmp_list}" STREQUAL "")
string(REPLACE "\n" ";" tmp_list ${tmp_list})
LIST( APPEND list_of_documented_headers ${tmp_list})
endif()
endforeach()
message("removing duplicates:")
list(REMOVE_DUPLICATES list_of_documented_headers)
message("sorting:")
list(SORT list_of_documented_headers)
#string(REPLACE ";" " \n" list_of_documented_headers "${list_of_documented_headers}")
if (NOT "${list_of_documented_headers}" STREQUAL "")
set(has_list_of_documented_headers TRUE)
else()
set(has_list_of_documented_headers FALSE)
endif()
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/list_of_whitelisted_headers.cmake
OPTIONAL RESULT_VARIABLE has_list_of_whitelisted_headers) OPTIONAL RESULT_VARIABLE has_list_of_whitelisted_headers)
message("list_of_whitelisted_headers: ${list_of_whitelisted_headers}") message("list_of_whitelisted_headers: ${list_of_whitelisted_headers}")
## Loop on package and headers ## Loop on package and headers
@ -1153,6 +1210,8 @@ You must disable CGAL_ENABLE_CHECK_HEADERS and CGAL_COMPUTE_DEPENDENCIES.")
if(POLICY CMP0057) if(POLICY CMP0057)
cmake_policy(SET CMP0057 NEW) cmake_policy(SET CMP0057 NEW)
endif() endif()
#get build dir for removal from deps
get_filename_component(BUILD_DIR ${CMAKE_BINARY_DIR} NAME)
foreach (package ${CGAL_CONFIGURED_PACKAGES_NAMES}) foreach (package ${CGAL_CONFIGURED_PACKAGES_NAMES})
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../${package}/include) if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../${package}/include)
set(check_pkg_headers_depends "") set(check_pkg_headers_depends "")
@ -1175,7 +1234,7 @@ You must disable CGAL_ENABLE_CHECK_HEADERS and CGAL_COMPUTE_DEPENDENCIES.")
if(POLICY CMP0057) if(POLICY CMP0057)
if(has_list_of_documented_headers if(has_list_of_documented_headers
AND NOT header IN_LIST list_of_documented_headers) AND NOT header IN_LIST list_of_documented_headers)
message(STATUS "Skip non-documented header \"${header}\".") # message(STATUS "Skip non-documented header \"${header}\".")
set(skip_hdr TRUE) set(skip_hdr TRUE)
endif() endif()
endif() endif()
@ -1216,7 +1275,7 @@ LEDA_FOUND is false.")
separate_arguments(CMD separate_arguments(CMD
UNIX_COMMAND UNIX_COMMAND
"${CMAKE_CXX_COMPILER} ${compile_options_str} "${CMAKE_CXX_COMPILER} ${compile_options_str}
${include_options_str} -x c++ -fsyntax-only \ ${include_options_str} -x c++ ${falg} \
${compute_deps_extra_args} \ ${compute_deps_extra_args} \
${CMAKE_CURRENT_SOURCE_DIR}/../${package}/include/${header}" ${CMAKE_CURRENT_SOURCE_DIR}/../${package}/include/${header}"
# The header Algebraic_kernel_rs_gmpz_d_1.h is skipped on purpose: it # The header Algebraic_kernel_rs_gmpz_d_1.h is skipped on purpose: it
@ -1249,6 +1308,8 @@ ${CMAKE_CURRENT_SOURCE_DIR}/../${package}/include/${header}"
COMMENT "Compute dependencies of ${package}" COMMENT "Compute dependencies of ${package}"
COMMAND ${CMAKE_COMMAND} COMMAND ${CMAKE_COMMAND}
-DCGAL_PACKAGES_PREFIX=${CGAL_SOURCE_DIR} -DCGAL_PACKAGES_PREFIX=${CGAL_SOURCE_DIR}
-DCGAL_COPY_DEPENDENCIES=${CGAL_COPY_DEPENDENCIES}
-DCGAL_COPY_PATH=${CGAL_SOURCE_DIR}/${package}/package_info/${package}/dependencies
-DOUTPUT_HEADERS_LIST=${CGAL_BINARY_DIR}/package_info/${package}/included_headers -DOUTPUT_HEADERS_LIST=${CGAL_BINARY_DIR}/package_info/${package}/included_headers
-DOUTPUT_PACKAGES_LIST=${CGAL_BINARY_DIR}/package_info/${package}/dependencies -DOUTPUT_PACKAGES_LIST=${CGAL_BINARY_DIR}/package_info/${package}/dependencies
-P "${CGAL_MODULES_DIR}/process_dependencies.cmake" -P "${CGAL_MODULES_DIR}/process_dependencies.cmake"
@ -1274,7 +1335,6 @@ ${CMAKE_CURRENT_SOURCE_DIR}/../${package}/include/${header}"
- package_info/<package>/check_headers/ (error messages from \ - package_info/<package>/check_headers/ (error messages from \
the headers checks)\n") the headers checks)\n")
message( "== Setting header checking (DONE) ==\n" ) message( "== Setting header checking (DONE) ==\n" )
endif() endif()
endif( CGAL_BRANCH_BUILD ) endif( CGAL_BRANCH_BUILD )
@ -1282,3 +1342,4 @@ if(NOT CGAL_BRANCH_BUILD AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/doc")
# in a non-branch build this is the top-level CMakeLists.txt # in a non-branch build this is the top-level CMakeLists.txt
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/doc") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/doc")
endif() endif()

View File

@ -136,7 +136,11 @@ function(CGAL_setup_CGAL_dependencies target)
endif() endif()
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 3) if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 3)
message( STATUS "Using gcc version 4 or later. Adding -frounding-math" ) message( STATUS "Using gcc version 4 or later. Adding -frounding-math" )
target_compile_options(${target} ${keyword} "-frounding-math") if(CMAKE_VERSION VERSION_LESS 3.3)
target_compile_options(${target} ${keyword} "-frounding-math")
else()
target_compile_options(${target} ${keyword} "$<$<COMPILE_LANGUAGE:CXX>:-frounding-math>")
endif()
endif() endif()
if ( "${GCC_VERSION}" MATCHES "^4.2" ) if ( "${GCC_VERSION}" MATCHES "^4.2" )
message( STATUS "Using gcc version 4.2. Adding -fno-strict-aliasing" ) message( STATUS "Using gcc version 4.2. Adding -fno-strict-aliasing" )

View File

@ -1,905 +0,0 @@
# Generated using ../Scripts/developer_scripts/generate_list_of_documented_headers
set(list_of_documented_headers_txt [=[
CGAL/AABB_C3T3_triangle_primitive.h
CGAL/AABB_face_graph_triangle_primitive.h
CGAL/AABB_halfedge_graph_segment_primitive.h
CGAL/AABB_intersections.h
CGAL/AABB_polyhedron_segment_primitive.h
CGAL/AABB_polyhedron_triangle_primitive.h
CGAL/AABB_primitive.h
CGAL/AABB_segment_primitive.h
CGAL/AABB_traits.h
CGAL/AABB_tree.h
CGAL/AABB_triangle_primitive.h
CGAL/Advancing_front_surface_reconstruction_cell_base_3.h
CGAL/Advancing_front_surface_reconstruction.h
CGAL/Advancing_front_surface_reconstruction_vertex_base_3.h
CGAL/Aff_transformation_2.h
CGAL/Aff_transformation_3.h
CGAL/aff_transformation_tags.h
CGAL/Algebraic_kernel_d_1.h
CGAL/Algebraic_kernel_d_2.h
CGAL/Algebraic_kernel_for_circles_2_2.h
CGAL/Algebraic_kernel_for_spheres_2_3.h
CGAL/Algebraic_kernel_rs_gmpq_d_1.h
CGAL/Algebraic_kernel_rs_gmpz_d_1.h
CGAL/Algebraic_structure_traits.h
CGAL/algorithm.h
CGAL/all_furthest_neighbors_2.h
CGAL/Alpha_shape_2.h
CGAL/Alpha_shape_3.h
CGAL/Alpha_shape_cell_base_3.h
CGAL/Alpha_shape_face_base_2.h
CGAL/Alpha_shape_vertex_base_2.h
CGAL/Alpha_shape_vertex_base_3.h
CGAL/Apollonius_graph_2.h
CGAL/Apollonius_graph_adaptation_policies_2.h
CGAL/Apollonius_graph_adaptation_traits_2.h
CGAL/Apollonius_graph_filtered_traits_2.h
CGAL/Apollonius_graph_hierarchy_2.h
CGAL/Apollonius_graph_hierarchy_vertex_base_2.h
CGAL/Apollonius_graph_traits_2.h
CGAL/Apollonius_graph_vertex_base_2.h
CGAL/Apollonius_site_2.h
CGAL/approximated_offset_2.h
CGAL/Approximate_min_ellipsoid_d.h
CGAL/Approximate_min_ellipsoid_d_traits_2.h
CGAL/Approximate_min_ellipsoid_d_traits_3.h
CGAL/Approximate_min_ellipsoid_d_traits_d.h
CGAL/Arr_accessor.h
CGAL/Arr_algebraic_segment_traits_2.h
CGAL/Arrangement_2.h
CGAL/Arrangement_on_surface_2.h
CGAL/Arrangement_on_surface_with_history_2.h
CGAL/Arrangement_with_history_2.h
CGAL/array.h
CGAL/Arr_batched_point_location.h
CGAL/Arr_Bezier_curve_traits_2.h
CGAL/Arr_circle_segment_traits_2.h
CGAL/Arr_circular_arc_traits_2.h
CGAL/Arr_circular_line_arc_traits_2.h
CGAL/Arr_conic_traits_2.h
CGAL/Arr_consolidated_curve_data_traits_2.h
CGAL/Arr_counting_traits_2.h
CGAL/Arr_curve_data_traits_2.h
CGAL/Arr_dcel_base.h
CGAL/Arr_default_dcel.h
CGAL/Arr_default_overlay_traits.h
CGAL/Arr_directional_non_caching_segment_basic_traits_2.h
CGAL/Arr_extended_dcel.h
CGAL/Arr_face_index_map.h
CGAL/Arr_geodesic_arc_on_sphere_traits_2.h
CGAL/Arr_landmarks_point_location.h
CGAL/Arr_line_arc_traits_2.h
CGAL/Arr_linear_traits_2.h
CGAL/Arr_naive_point_location.h
CGAL/Arr_non_caching_segment_basic_traits_2.h
CGAL/Arr_non_caching_segment_traits_2.h
CGAL/Arr_observer.h
CGAL/Arr_overlay_2.h
CGAL/Arr_point_location_result.h
CGAL/Arr_polycurve_basic_traits_2.h
CGAL/Arr_polycurve_traits_2.h
CGAL/Arr_polyline_traits_2.h
CGAL/Arr_rational_function_traits_2.h
CGAL/Arr_segment_traits_2.h
CGAL/Arr_simple_point_location.h
CGAL/Arr_spherical_topology_traits_2.h
CGAL/Arr_tags.h
CGAL/Arr_tracing_traits_2.h
CGAL/Arr_trapezoid_ric_point_location.h
CGAL/Arr_vertex_index_map.h
CGAL/Arr_vertical_decomposition_2.h
CGAL/Arr_walk_along_line_point_location.h
CGAL/assertions.h
CGAL/barycenter.h
CGAL/Barycentric_coordinates_2/Discrete_harmonic_2.h
CGAL/Barycentric_coordinates_2/Generalized_barycentric_coordinates_2.h
CGAL/Barycentric_coordinates_2/Mean_value_2.h
CGAL/Barycentric_coordinates_2/Segment_coordinates_2.h
CGAL/Barycentric_coordinates_2/Triangle_coordinates_2.h
CGAL/Barycentric_coordinates_2/Wachspress_2.h
CGAL/Barycentric_mapping_parameterizer_3.h
CGAL/basic.h
CGAL/Bbox_2.h
CGAL/Bbox_3.h
CGAL/bilateral_smooth_point_set.h
CGAL/Boolean_set_operations_2/Gps_default_dcel.h
CGAL/Boolean_set_operations_2.h
CGAL/boost/graph/copy_face_graph.h
CGAL/boost/graph/dijkstra_shortest_paths.h
CGAL/boost/graph/Dual.h
CGAL/boost/graph/Euler_operations.h
CGAL/boost/graph/graph_traits_Delaunay_triangulation_2.h
CGAL/boost/graph/graph_traits_Polyhedron_3.h
CGAL/boost/graph/graph_traits_PolyMesh_ArrayKernelT.h
CGAL/boost/graph/graph_traits_Surface_mesh.h
CGAL/boost/graph/graph_traits_Triangulation_2.h
CGAL/boost/graph/graph_traits_TriMesh_ArrayKernelT.h
CGAL/boost/graph/helpers.h
CGAL/boost/graph/iterator.h
CGAL/boost/graph/properties_Polyhedron_3.h
CGAL/boost/graph/properties_PolyMesh_ArrayKernelT.h
CGAL/boost/graph/properties_Surface_mesh.h
CGAL/boost/graph/split_graph_into_polylines.h
CGAL/Bounded_kernel.h
CGAL/bounding_box.h
CGAL/Box_intersection_d/Box_d.h
CGAL/Box_intersection_d/Box_traits_d.h
CGAL/Box_intersection_d/Box_with_handle_d.h
CGAL/box_intersection_d.h
CGAL/Cartesian_converter.h
CGAL/Cartesian_d.h
CGAL/Cartesian.h
CGAL/Cartesian_matrix.h
CGAL/CC_safe_handle.h
CGAL/Cell_attribute.h
CGAL/Cell_attribute_with_point.h
CGAL/centroid.h
CGAL/CGAL_Ipelet_base.h
CGAL/ch_akl_toussaint.h
CGAL/ch_bykat.h
CGAL/ch_eddy.h
CGAL/ch_graham_andrew.h
CGAL/ch_jarvis.h
CGAL/ch_timing_2.h
CGAL/Circle_2.h
CGAL/Circle_3.h
CGAL/Circular_arc_2.h
CGAL/Circular_arc_3.h
CGAL/Circular_arc_point_2.h
CGAL/Circular_arc_point_3.h
CGAL/Circular_border_parameterizer_3.h
CGAL/Circular_kernel_2.h
CGAL/circulator_bases.h
CGAL/circulator.h
CGAL/Coercion_traits.h
CGAL/Combination_enumerator.h
CGAL/Combinatorial_map_constructors.h
CGAL/Combinatorial_map.h
CGAL/Combinatorial_map_min_items.h
CGAL/Combinatorial_map_operations.h
CGAL/Compact_container.h
CGAL/Compact_mesh_cell_base_3.h
CGAL/Complex_2_in_triangulation_3.h
CGAL/Complexity_tags.h
CGAL/compute_average_spacing.h
CGAL/Compute_cone_boundaries_2.h
CGAL/compute_outer_frame_margin.h
CGAL/Concurrent_compact_container.h
CGAL/config.h
CGAL/connect_holes.h
CGAL/Constrained_Delaunay_triangulation_2.h
CGAL/Constrained_triangulation_2.h
CGAL/Constrained_triangulation_face_base_2.h
CGAL/Constrained_triangulation_plus_2.h
CGAL/constructions_d.h
CGAL/Construct_theta_graph_2.h
CGAL/Construct_yao_graph_2.h
CGAL/convex_decomposition_3.h
CGAL/convex_hull_2.h
CGAL/Convex_hull_3/dual/halfspace_intersection_3.h
CGAL/convex_hull_3.h
CGAL/convex_hull_3_to_polyhedron_3.h
CGAL/convex_hull_constructive_traits_2.h
CGAL/Convex_hull_d.h
CGAL/Convex_hull_d_to_polyhedron_3.h
CGAL/Convex_hull_d_traits_3.h
CGAL/convex_hull_incremental_3.h
CGAL/convex_hull_traits_2.h
CGAL/Convex_hull_traits_3.h
CGAL/CORE_algebraic_number_traits.h
CGAL/CORE_BigFloat.h
CGAL/CORE_BigInt.h
CGAL/CORE_BigRat.h
CGAL/CORE_Expr.h
CGAL/Counting_iterator.h
CGAL/create_offset_polygons_2.h
CGAL/create_offset_polygons_from_polygon_with_holes_2.h
CGAL/create_straight_skeleton_2.h
CGAL/create_straight_skeleton_from_polygon_with_holes_2.h
CGAL/Dart.h
CGAL/Default.h
CGAL/Deformation_Eigen_closest_rotation_traits_3.h
CGAL/Deformation_Eigen_polar_closest_rotation_traits_3.h
CGAL/Delaunay_d.h
CGAL/Delaunay_mesh_criteria_2.h
CGAL/Delaunay_mesher_2.h
CGAL/Delaunay_mesh_face_base_2.h
CGAL/Delaunay_mesh_size_criteria_2.h
CGAL/Delaunay_mesh_vertex_base_2.h
CGAL/Delaunay_triangulation_2.h
CGAL/Delaunay_triangulation_3.h
CGAL/Delaunay_triangulation_adaptation_policies_2.h
CGAL/Delaunay_triangulation_adaptation_traits_2.h
CGAL/Delaunay_triangulation_cell_base_3.h
CGAL/Delaunay_triangulation_cell_base_with_circumcenter_3.h
CGAL/Delaunay_triangulation.h
CGAL/Diagonalize_traits.h
CGAL/Dimension.h
CGAL/Direction_2.h
CGAL/Direction_3.h
CGAL/Discrete_authalic_parameterizer_3.h
CGAL/Discrete_conformal_map_parameterizer_3.h
CGAL/double.h
CGAL/Dynamic_matrix.h
CGAL/edge_aware_upsample_point_set.h
CGAL/Eigen_diagonalize_traits.h
CGAL/Eigen_matrix.h
CGAL/Eigen_solver_traits.h
CGAL/Eigen_svd.h
CGAL/Eigen_vector.h
CGAL/envelope_2.h
CGAL/envelope_3.h
CGAL/Envelope_diagram_1.h
CGAL/Env_plane_traits_3.h
CGAL/Env_sphere_traits_3.h
CGAL/Env_surface_data_traits_3.h
CGAL/Env_triangle_traits_3.h
CGAL/Epick_d.h
CGAL/Euclidean_distance.h
CGAL/Euclidean_distance_sphere_point.h
CGAL/Euler_integrator_2.h
CGAL/Exact_circular_kernel_2.h
CGAL/Exact_integer.h
CGAL/Exact_predicates_exact_constructions_kernel.h
CGAL/Exact_predicates_exact_constructions_kernel_with_kth_root.h
CGAL/Exact_predicates_exact_constructions_kernel_with_root_of.h
CGAL/Exact_predicates_exact_constructions_kernel_with_sqrt.h
CGAL/Exact_predicates_inexact_constructions_kernel.h
CGAL/Exact_rational.h
CGAL/Exact_spherical_kernel_3.h
CGAL/Exponent_vector.h
CGAL/Extended_cartesian.h
CGAL/Extended_homogeneous.h
CGAL/extract_mean_curvature_flow_skeleton.h
CGAL/extremal_polygon_2.h
CGAL/Extremal_polygon_traits_2.h
CGAL/exude_mesh_3.h
CGAL/Filtered_extended_homogeneous.h
CGAL/Filtered_kernel.h
CGAL/Filtered_predicate.h
CGAL/Fixed_alpha_shape_3.h
CGAL/Fixed_alpha_shape_cell_base_3.h
CGAL/Fixed_alpha_shape_vertex_base_3.h
CGAL/Fixed_border_parameterizer_3.h
CGAL/Fourtuple.h
CGAL/FPU.h
CGAL/Fraction_traits.h
CGAL/function_objects.h
CGAL/Fuzzy_iso_box.h
CGAL/Fuzzy_sphere.h
CGAL/General_polygon_2.h
CGAL/General_polygon_set_2.h
CGAL/General_polygon_with_holes_2.h
CGAL/global_functions_circular_kernel_2.h
CGAL/global_functions_circular_kernel_3.h
CGAL/global_functions_spherical_kernel_3.h
CGAL/Gmpfi.h
CGAL/Gmpfr.h
CGAL/Gmpq.h
CGAL/gmpxx.h
CGAL/Gmpzf.h
CGAL/Gmpz.h
CGAL/gnuplot_output_2.h
CGAL/Gps_circle_segment_traits_2.h
CGAL/Gps_segment_traits_2.h
CGAL/Gps_traits_2.h
CGAL/grabbers.h
CGAL/graph_traits_Arrangement_2.h
CGAL/graph_traits_Dual_Arrangement_2.h
CGAL/Gray_image_mesh_domain_3.h
CGAL/Gray_level_image_3.h
CGAL/grid_simplify_point_set.h
CGAL/HalfedgeDS_bases.h
CGAL/HalfedgeDS_const_decorator.h
CGAL/HalfedgeDS_decorator.h
CGAL/HalfedgeDS_default.h
CGAL/HalfedgeDS_face_base.h
CGAL/HalfedgeDS_face_max_base_with_id.h
CGAL/HalfedgeDS_face_min_base.h
CGAL/HalfedgeDS_halfedge_base.h
CGAL/HalfedgeDS_halfedge_max_base_with_id.h
CGAL/HalfedgeDS_halfedge_min_base.h
CGAL/HalfedgeDS_items_2.h
CGAL/HalfedgeDS_items_decorator.h
CGAL/HalfedgeDS_list.h
CGAL/HalfedgeDS_min_items.h
CGAL/HalfedgeDS_vector.h
CGAL/HalfedgeDS_vertex_base.h
CGAL/HalfedgeDS_vertex_max_base_with_id.h
CGAL/HalfedgeDS_vertex_min_base.h
CGAL/Handle_hash_function.h
CGAL/hierarchy_simplify_point_set.h
CGAL/Hilbert_policy_tags.h
CGAL/Hilbert_sort_2.h
CGAL/Hilbert_sort_3.h
CGAL/Hilbert_sort_d.h
CGAL/hilbert_sort.h
CGAL/Hilbert_sort_on_sphere_3.h
CGAL/hilbert_sort_on_sphere.h
CGAL/Homogeneous_converter.h
CGAL/Homogeneous_d.h
CGAL/Homogeneous.h
CGAL/Identity_policy_2.h
CGAL/Image_3.h
CGAL/ImageIO.h
CGAL/Implicit_mesh_domain_3.h
CGAL/Implicit_surface_3.h
CGAL/Implicit_to_labeling_function_wrapper.h
CGAL/import_from_triangulation_2.h
CGAL/import_from_triangulation_3.h
CGAL/Incremental_neighbor_search.h
CGAL/In_place_list.h
CGAL/internal/Combination_enumerator.h
CGAL/internal/Exact_type_selector.h
CGAL/internal/Polyhedron_plane_clipping_3.h
CGAL/interpolation_functions.h
CGAL/Interpolation_gradient_fitting_traits_2.h
CGAL/Interpolation_traits_2.h
CGAL/intersection_of_Polyhedra_3.h
CGAL/intersection_of_Polyhedra_3_refinement_visitor.h
CGAL/intersections_d.h
CGAL/intersections.h
CGAL/Interval_nt.h
CGAL/Interval_skip_list.h
CGAL/Interval_skip_list_interval.h
CGAL/IO/Arr_iostream.h
CGAL/IO/Arr_text_formatter.h
CGAL/IO/Arr_with_history_iostream.h
CGAL/IO/Arr_with_history_text_formatter.h
CGAL/IO/Color.h
CGAL/IO/Complex_2_in_triangulation_3_file_writer.h
CGAL/IO/Dxf_bsop_reader.h
CGAL/IO/File_medit.h
CGAL/IO/File_scanner_OFF.h
CGAL/IO/File_writer_inventor.h
CGAL/IO/File_writer_OFF.h
CGAL/IO/File_writer_VRML_2.h
CGAL/IO/File_writer_wavefront.h
CGAL/IO/generic_copy_OFF.h
CGAL/IO/Geomview_stream.h
CGAL/IO/Inventor_ostream.h
CGAL/IO/io.h
CGAL/IO/Istream_iterator.h
CGAL/IO/Nef_polyhedron_iostream_3.h
CGAL/IO/OFF_reader.h
CGAL/IO/Ostream_iterator.h
CGAL/IO/output_surface_facets_to_polyhedron.h
CGAL/IO/Polyhedron_geomview_ostream.h
CGAL/IO/Polyhedron_inventor_ostream.h
CGAL/IO/Polyhedron_iostream.h
CGAL/IO/Polyhedron_VRML_1_ostream.h
CGAL/IO/Polyhedron_VRML_2_ostream.h
CGAL/IO/read_off_points.h
CGAL/IO/read_ply_points.h
CGAL/IO/read_xyz_points.h
CGAL/IO/Triangulation_geomview_ostream_2.h
CGAL/IO/Triangulation_geomview_ostream_3.h
CGAL/IO/Verbose_ostream.h
CGAL/IO/VRML_1_ostream.h
CGAL/IO/VRML_2_ostream.h
CGAL/IO/write_xyz_points.h
CGAL/Iso_cuboid_3.h
CGAL/Iso_rectangle_2.h
CGAL/iterator.h
CGAL/Iterator_range.h
CGAL/jet_estimate_normals.h
CGAL/jet_smooth_point_set.h
CGAL/Join_input_iterator.h
CGAL/Kd_tree.h
CGAL/Kd_tree_node.h
CGAL/Kd_tree_rectangle.h
CGAL/Kernel_d/Aff_transformation_d.h
CGAL/Kernel_d/Direction_d.h
CGAL/Kernel_d/Hyperplane_d.h
CGAL/Kernel_d/Iso_box_d.h
CGAL/Kernel_d/Line_d.h
CGAL/Kernel_d/Point_d.h
CGAL/Kernel_d/Ray_d.h
CGAL/Kernel_d/Segment_d.h
CGAL/Kernel_d/Sphere_d.h
CGAL/Kernel_d/Vector_d.h
CGAL/Kernel/global_functions.h
CGAL/Kernel_traits.h
CGAL/Kinetic/Active_objects_listener_helper.h
CGAL/Kinetic/Active_objects_vector.h
CGAL/Kinetic/basic.h
CGAL/Kinetic/Cartesian.h
CGAL/Kinetic/Certificate_generator.h
CGAL/Kinetic/Default_instantaneous_kernel.h
CGAL/Kinetic/Default_simulator.h
CGAL/Kinetic/Delaunay_triangulation_2.h
CGAL/Kinetic/Delaunay_triangulation_3.h
CGAL/Kinetic/Delaunay_triangulation_cell_base_3.h
CGAL/Kinetic/Delaunay_triangulation_event_log_visitor_2.h
CGAL/Kinetic/Delaunay_triangulation_event_log_visitor_3.h
CGAL/Kinetic/Delaunay_triangulation_face_base_2.h
CGAL/Kinetic/Delaunay_triangulation_recent_edges_visitor_2.h
CGAL/Kinetic/Delaunay_triangulation_visitor_base_2.h
CGAL/Kinetic/Delaunay_triangulation_visitor_base_3.h
CGAL/Kinetic/Enclosing_box_2.h
CGAL/Kinetic/Enclosing_box_3.h
CGAL/Kinetic/Erase_event.h
CGAL/Kinetic/Event_base.h
CGAL/Kinetic/Exact_simulation_traits.h
CGAL/Kinetic/Handle_degeneracy_function_kernel.h
CGAL/Kinetic/Heap_pointer_event_queue.h
CGAL/Kinetic/Inexact_simulation_traits.h
CGAL/Kinetic/Insert_event.h
CGAL/Kinetic/Listener.h
CGAL/Kinetic/listeners.h
CGAL/Kinetic/Multi_listener.h
CGAL/Kinetic/Ref_counted.h
CGAL/Kinetic/Regular_triangulation_3.h
CGAL/Kinetic/Regular_triangulation_cell_base_3.h
CGAL/Kinetic/Regular_triangulation_event_log_visitor_3.h
CGAL/Kinetic/Regular_triangulation_exact_simulation_traits.h
CGAL/Kinetic/Regular_triangulation_instantaneous_kernel.h
CGAL/Kinetic/Regular_triangulation_vertex_base_3.h
CGAL/Kinetic/Regular_triangulation_visitor_base_3.h
CGAL/Kinetic/Simulator_kds_listener.h
CGAL/Kinetic/Simulator_objects_listener.h
CGAL/Kinetic/Sort_event_log_visitor.h
CGAL/Kinetic/Sort.h
CGAL/Kinetic/Sort_visitor_base.h
CGAL/Kinetic/Two_list_pointer_event_queue.h
CGAL/K_neighbor_search.h
CGAL/Labeled_image_mesh_domain_3.h
CGAL/Labeled_mesh_domain_3.h
CGAL/Largest_empty_iso_rectangle_2.h
CGAL/Lazy_exact_nt.h
CGAL/leda_bigfloat.h
CGAL/leda_integer.h
CGAL/leda_rational.h
CGAL/leda_real.h
CGAL/Level_interval.h
CGAL/Line_2.h
CGAL/Line_3.h
CGAL/Linear_algebraCd.h
CGAL/Linear_algebraHd.h
CGAL/Line_arc_2.h
CGAL/Line_arc_3.h
CGAL/Linear_cell_complex_constructors.h
CGAL/Linear_cell_complex.h
CGAL/Linear_cell_complex_min_items.h
CGAL/Linear_cell_complex_operations.h
CGAL/Linear_cell_complex_traits.h
CGAL/linear_least_squares_fitting_2.h
CGAL/linear_least_squares_fitting_3.h
CGAL/lloyd_optimize_mesh_2.h
CGAL/Location_policy.h
CGAL/LSCM_parameterizer_3.h
CGAL/make_mesh_3.h
CGAL/make_piecewise_smooth_surface_mesh.h
CGAL/make_skin_surface_mesh_3.h
CGAL/make_surface_mesh.h
CGAL/Manhattan_distance_iso_box_point.h
CGAL/Mean_curvature_flow_skeletonization.h
CGAL/Mean_value_coordinates_parameterizer_3.h
CGAL/memory.h
CGAL/Memory_sizer.h
CGAL/Mesh_3/dihedral_angle_3.h
CGAL/Mesh_3/Dump_c3t3.h
CGAL/Mesh_3/implicit_to_labeled_function_wrapper.h
CGAL/Mesh_3/initialize_triangulation_from_labeled_image.h
CGAL/Mesh_3/Labeled_mesh_domain_3.h
CGAL/Mesh_3/polyhedral_to_labeled_function_wrapper.h
CGAL/Mesh_3/polylines_to_protect.h
CGAL/Mesh_3/search_for_connected_components_in_labeled_image.h
CGAL/Mesh_3/squared_distance_Point_3_Triangle_3.h
CGAL/Mesh_cell_base_3.h
CGAL/Mesh_cell_criteria_3.h
CGAL/Mesh_complex_3_in_triangulation_3.h
CGAL/Mesh_constant_domain_field_3.h
CGAL/Mesh_criteria_3.h
CGAL/Mesh_domain_with_polyline_features_3.h
CGAL/Mesh_edge_criteria_3.h
CGAL/Mesh_facet_criteria_3.h
CGAL/Mesh_polyhedron_3.h
CGAL/mesh_segmentation.h
CGAL/mesh_skin_surface_3.h
CGAL/Mesh_triangulation_3.h
CGAL/mesh_union_of_balls_3.h
CGAL/Mesh_vertex_base_3.h
CGAL/Min_annulus_d.h
CGAL/Min_circle_2.h
CGAL/Min_circle_2_traits_2.h
CGAL/Min_ellipse_2.h
CGAL/Min_ellipse_2_traits_2.h
CGAL/minkowski_sum_2.h
CGAL/minkowski_sum_3.h
CGAL/min_quadrilateral_2.h
CGAL/Min_quadrilateral_traits_2.h
CGAL/Min_sphere_annulus_d_traits_2.h
CGAL/Min_sphere_annulus_d_traits_3.h
CGAL/Min_sphere_annulus_d_traits_d.h
CGAL/Min_sphere_d.h
CGAL/Min_sphere_of_points_d_traits_2.h
CGAL/Min_sphere_of_points_d_traits_3.h
CGAL/Min_sphere_of_points_d_traits_d.h
CGAL/Min_sphere_of_spheres_d.h
CGAL/Min_sphere_of_spheres_d_traits_2.h
CGAL/Min_sphere_of_spheres_d_traits_3.h
CGAL/Min_sphere_of_spheres_d_traits_d.h
CGAL/Modifier_base.h
CGAL/Modular_traits.h
CGAL/Monge_via_jet_fitting.h
CGAL/MP_Float.h
CGAL/Mpzf.h
CGAL/mst_orient_normals.h
CGAL/Multiscale_sort.h
CGAL/Multiset.h
CGAL/natural_neighbor_coordinates_2.h
CGAL/natural_neighbor_coordinates_3.h
CGAL/Nef_3/Polygon_constructor.h
CGAL/Nef_3/SNC_indexed_items.h
CGAL/Nef_nary_union_3.h
CGAL/Nef_polyhedron_2.h
CGAL/Nef_polyhedron_3.h
CGAL/Nef_polyhedron_S2.h
CGAL/Nef_S2/create_random_Nef_S2.h
CGAL/N_step_adaptor.h
CGAL/NT_converter.h
CGAL/Number_type_checker.h
CGAL/number_utils.h
CGAL/Object.h
CGAL/offset_polygon_2.h
CGAL/OFF_to_nef_3.h
CGAL/OpenNL/linear_solver.h
CGAL/Optimal_transportation_reconstruction_2.h
CGAL/optimisation\_assertions.h
CGAL/Origin.h
CGAL/Orthogonal_incremental_neighbor_search.h
CGAL/Orthogonal_k_neighbor_search.h
CGAL/Parameterization_mesh_feature_extractor.h
CGAL/Parameterization_mesh_patch_3.h
CGAL/Parameterization_polyhedron_adaptor_3.h
CGAL/parameterize.h
CGAL/Parameterizer_traits_3.h
CGAL/partition_2.h
CGAL/Partition_is_valid_traits_2.h
CGAL/Partition_traits_2.h
CGAL/pca_estimate_normals.h
CGAL/Periodic_2_Delaunay_triangulation_2.h
CGAL/Periodic_2_Delaunay_triangulation_traits_2.h
CGAL/Periodic_2_offset_2.h
CGAL/Periodic_2_triangulation_2.h
CGAL/Periodic_2_triangulation_face_base_2.h
CGAL/Periodic_2_triangulation_filtered_traits_2.h
CGAL/Periodic_2_triangulation_hierarchy_2.h
CGAL/Periodic_2_triangulation_hierarchy_vertex_base_2.h
CGAL/Periodic_2_triangulation_traits_2.h
CGAL/Periodic_2_triangulation_vertex_base_2.h
CGAL/Periodic_3_Delaunay_triangulation_3.h
CGAL/Periodic_3_Delaunay_triangulation_traits_3.h
CGAL/Periodic_3_offset_3.h
CGAL/Periodic_3_triangulation_3.h
CGAL/Periodic_3_triangulation_ds_cell_base_3.h
CGAL/Periodic_3_triangulation_ds_vertex_base_3.h
CGAL/Periodic_3_triangulation_filtered_traits_3.h
CGAL/Periodic_3_triangulation_hierarchy_3.h
CGAL/Periodic_3_triangulation_traits_3.h
CGAL/perturb_mesh_3.h
CGAL/Piecewise_smooth_surface_mesh_default_edges_criteria_3.h
CGAL/Plane_3.h
CGAL/Plane_separator.h
CGAL/Point_2.h
CGAL/Point_3.h
CGAL/Point_container.h
CGAL/point_generators_2.h
CGAL/point_generators_3.h
CGAL/point_generators_d.h
CGAL/Point_set_2.h
CGAL/Point_with_normal_3.h
CGAL/Poisson_implicit_surface_3.h
CGAL/Poisson_reconstruction_function.h
CGAL/Polygon_2_algorithms.h
CGAL/Polygon_2.h
CGAL/Polygon_convex_decomposition_2.h
CGAL/polygon_function_objects.h
CGAL/Polygon_mesh_processing/border.h
CGAL/Polygon_mesh_processing/compute_normal.h
CGAL/Polygon_mesh_processing/connected_components.h
CGAL/Polygon_mesh_processing/fair.h
CGAL/Polygon_mesh_processing/orientation.h
CGAL/Polygon_mesh_processing/orient_polygon_soup.h
CGAL/Polygon_mesh_processing/polygon_soup_to_polygon_mesh.h
CGAL/Polygon_mesh_processing/refine.h
CGAL/Polygon_mesh_processing/remesh.h
CGAL/Polygon_mesh_processing/repair.h
CGAL/Polygon_mesh_processing/self_intersections.h
CGAL/Polygon_mesh_processing/stitch_borders.h
CGAL/Polygon_mesh_processing/triangulate_faces.h
CGAL/Polygon_mesh_processing/triangulate_hole.h
CGAL/Polygon_mesh_slicer.h
CGAL/Polygon_nop_decomposition_2.h
CGAL/Polygon_offset_builder_2.h
CGAL/Polygon_offset_builder_traits_2.h
CGAL/Polygon_set_2.h
CGAL/Polygon_triangulation_decomposition_2.h
CGAL/Polygon_vertical_decomposition_2.h
CGAL/Polygon_with_holes_2.h
CGAL/Polyhedral_mesh_domain_3.h
CGAL/Polyhedral_mesh_domain_with_features_3.h
CGAL/Polyhedral_surface_3.h
CGAL/Polyhedron_3.h
CGAL/polyhedron_cut_plane_3.h
CGAL/Polyhedron_incremental_builder_3.h
CGAL/Polyhedron_items_3.h
CGAL/Polyhedron_items_with_id_3.h
CGAL/Polyhedron_min_items_3.h
CGAL/Polyhedron_traits_3.h
CGAL/Polyhedron_traits_with_normals_3.h
CGAL/Polyline_simplification_2/Hybrid_squared_distance_cost.h
CGAL/Polyline_simplification_2/Scaled_squared_distance_cost.h
CGAL/Polyline_simplification_2/simplify.h
CGAL/Polyline_simplification_2/Squared_distance_cost.h
CGAL/Polyline_simplification_2/Stop_above_cost_threshold.h
CGAL/Polyline_simplification_2/Stop_below_count_ratio_threshold.h
CGAL/Polyline_simplification_2/Stop_below_count_threshold.h
CGAL/Polyline_simplification_2/Vertex_base_2.h
CGAL/Polynomial.h
CGAL/Polynomial/internal/GSL_numeric_solver.h
CGAL/Polynomial/internal/numeric_solvers.h
CGAL/Polynomial/Kernel.h
CGAL/Polynomial/Numeric_root_stack.h
CGAL/Polynomial/polynomial_converters.h
CGAL/Polynomial/Polynomial.h
CGAL/Polynomial/Root_stack_default_traits.h
CGAL/Polynomials_1_2.h
CGAL/Polynomials_1_3.h
CGAL/Polynomials_2_2.h
CGAL/Polynomials_2_3.h
CGAL/Polynomials_for_line_3.h
CGAL/Polynomial/Sturm_root_stack.h
CGAL/Polynomial/Sturm_root_stack_traits.h
CGAL/Polynomial_traits_d.h
CGAL/Polynomial_type_generator.h
CGAL/Polytope_distance_d.h
CGAL/Polytope_distance_d_traits_2.h
CGAL/Polytope_distance_d_traits_3.h
CGAL/Polytope_distance_d_traits_d.h
CGAL/Profile_counter.h
CGAL/Profile_timer.h
CGAL/Projection_traits_xy_3.h
CGAL/Projection_traits_xz_3.h
CGAL/Projection_traits_yz_3.h
CGAL/property_map.h
CGAL/QP_functions.h
CGAL/QP_models.h
CGAL/QP_options.h
CGAL/QP_solution.h
CGAL/Qt/CircularArcGraphicsItem.h
CGAL/Qt/ConstrainedTriangulationGraphicsItem.h
CGAL/Qt/Converter.h
CGAL/Qt/GraphicsItem.h
CGAL/Qt/GraphicsViewCircleInput.h
CGAL/Qt/GraphicsViewCircularArcInput.h
CGAL/Qt/GraphicsViewInput.h
CGAL/Qt/GraphicsViewIsoRectangleInput.h
CGAL/Qt/GraphicsViewNavigation.h
CGAL/Qt/GraphicsViewPolylineInput.h
CGAL/Qt/PainterOstream.h
CGAL/Qt/TriangulationGraphicsItem.h
CGAL/Qt/VoronoiGraphicsItem.h
CGAL/Quotient.h
CGAL/random_convex_hull_in_disc_2.h
CGAL/random_convex_set_2.h
CGAL/Random_convex_set_traits_2.h
CGAL/Random.h
CGAL/random_polygon_2.h
CGAL/random_selection.h
CGAL/random_simplify_point_set.h
CGAL/Range_segment_tree_traits.h
CGAL/Range_tree_d.h
CGAL/Range_tree_k.h
CGAL/Rational_traits.h
CGAL/Ray_2.h
CGAL/Ray_3.h
CGAL/read_vtk_image_data.h
CGAL/Real_embeddable_traits.h
CGAL/Real_timer.h
CGAL/rectangular_p_center_2.h
CGAL/refine_mesh_3.h
CGAL/Regular_grid_2.h
CGAL/regularize_planes.h
CGAL/regular_neighbor_coordinates_2.h
CGAL/Regular_triangulation_2.h
CGAL/Regular_triangulation_3.h
CGAL/Regular_triangulation_adaptation_policies_2.h
CGAL/Regular_triangulation_adaptation_traits_2.h
CGAL/Regular_triangulation_cell_base_3.h
CGAL/Regular_triangulation_cell_base_with_weighted_circumcenter_3.h
CGAL/Regular_triangulation_euclidean_traits_2.h
CGAL/Regular_triangulation_euclidean_traits_3.h
CGAL/Regular_triangulation_face_base_2.h
CGAL/Regular_triangulation_filtered_traits_2.h
CGAL/Regular_triangulation_vertex_base_2.h
CGAL/remove_outliers.h
CGAL/Residue.h
CGAL/result_of.h
CGAL/Ridges.h
CGAL/Root_for_circles_2_2.h
CGAL/Root_for_spheres_2_3.h
CGAL/Root_of_traits.h
CGAL/Rotational_sweep_visibility_2.h
CGAL/Runge_kutta_integrator_2.h
CGAL/Scale_space_surface_reconstruction_3.h
CGAL/Search_traits_2.h
CGAL/Search_traits_3.h
CGAL/Search_traits_adapter.h
CGAL/Search_traits_d.h
CGAL/Search_traits.h
CGAL/Segment_2.h
CGAL/Segment_3.h
CGAL/Segment_Delaunay_graph_2.h
CGAL/Segment_Delaunay_graph_adaptation_policies_2.h
CGAL/Segment_Delaunay_graph_adaptation_traits_2.h
CGAL/Segment_Delaunay_graph_filtered_traits_2.h
CGAL/Segment_Delaunay_graph_hierarchy_2.h
CGAL/Segment_Delaunay_graph_hierarchy_vertex_base_2.h
CGAL/Segment_Delaunay_graph_Linf_2.h
CGAL/Segment_Delaunay_graph_Linf_filtered_traits_2.h
CGAL/Segment_Delaunay_graph_Linf_hierarchy_2.h
CGAL/Segment_Delaunay_graph_Linf_traits_2.h
CGAL/Segment_Delaunay_graph_site_2.h
CGAL/Segment_Delaunay_graph_storage_site_2.h
CGAL/Segment_Delaunay_graph_storage_traits_with_info_2.h
CGAL/Segment_Delaunay_graph_traits_2.h
CGAL/Segment_Delaunay_graph_vertex_base_2.h
CGAL/Segment_tree_d.h
CGAL/Segment_tree_k.h
CGAL/Shape_detection_3/Cone.h
CGAL/Shape_detection_3/Cylinder.h
CGAL/Shape_detection_3/Efficient_RANSAC.h
CGAL/Shape_detection_3/Shape_detection_traits.h
CGAL/Shape_detection_3.h
CGAL/Shape_detection_3/Plane.h
CGAL/Shape_detection_3/Shape_base.h
CGAL/Shape_detection_3/Sphere.h
CGAL/Shape_detection_3/Torus.h
CGAL/sibson_gradient_fitting.h
CGAL/Side_of_triangle_mesh.h
CGAL/Simple_cartesian.h
CGAL/Simple_homogeneous.h
CGAL/Simple_polygon_visibility_2.h
CGAL/Sixtuple.h
CGAL/Skin_surface_3.h
CGAL/Skin_surface_polyhedral_items_3.h
CGAL/Skin_surface_traits_3.h
CGAL/Small_side_angle_bisector_decomposition_2.h
CGAL/Snap_rounding_2.h
CGAL/Snap_rounding_traits_2.h
CGAL/sorted_matrix_search.h
CGAL/Sorted_matrix_search_traits_adaptor.h
CGAL/Spatial_lock_grid_3.h
CGAL/spatial_sort.h
CGAL/spatial_sort_on_sphere.h
CGAL/Spatial_sort_traits_adapter_2.h
CGAL/Spatial_sort_traits_adapter_3.h
CGAL/Spatial_sort_traits_adapter_d.h
CGAL/Sphere_3.h
CGAL/Spherical_kernel_3.h
CGAL/Splitters.h
CGAL/Sqrt_extension.h
CGAL/Square_border_parameterizer_3.h
CGAL/squared_distance_2.h
CGAL/squared_distance_3.h
CGAL/Straight_skeleton_2.h
CGAL/Straight_skeleton_builder_2.h
CGAL/Straight_skeleton_builder_traits_2.h
CGAL/Straight_skeleton_converter_2.h
CGAL/Straight_skeleton_face_base_2.h
CGAL/Straight_skeleton_halfedge_base_2.h
CGAL/Straight_skeleton_vertex_base_2.h
CGAL/Stream_lines_2.h
CGAL/subdivide_skin_surface_mesh_3.h
CGAL/subdivide_union_of_balls_mesh_3.h
CGAL/Subdivision_mask_3.h
CGAL/Subdivision_method_3.h
CGAL/Surface_mesh_cell_base_3.h
CGAL/Surface_mesh_complex_2_in_triangulation_3.h
CGAL/Surface_mesh_default_criteria_3.h
CGAL/Surface_mesh_default_triangulation_3.h
CGAL/Surface_mesh_deformation.h
CGAL/Surface_mesh.h
CGAL/Surface_mesh_shortest_path.h
CGAL/Surface_mesh_shortest_path/Surface_mesh_shortest_path.h
CGAL/Surface_mesh_shortest_path/Surface_mesh_shortest_path_traits.h
CGAL/Surface_mesh_simplification/edge_collapse.h
CGAL/Surface_mesh_simplification/Edge_collapse_visitor_base.h
CGAL/Surface_mesh_simplification/HalfedgeGraph_Polyhedron_3.h
CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Constrained_placement.h
CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Count_ratio_stop_predicate.h
CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Count_stop_predicate.h
CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_length_cost.h
CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_profile.h
CGAL/Surface_mesh_simplification/Policies/Edge_collapse/LindstromTurk_cost.h
CGAL/Surface_mesh_simplification/Policies/Edge_collapse/LindstromTurk_placement.h
CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Midpoint_and_length.h
CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Midpoint_placement.h
CGAL/Surface_mesh/Surface_mesh.h
CGAL/Surface_mesh_traits_generator_3.h
CGAL/Surface_mesh_vertex_base_3.h
CGAL/surface_neighbor_coordinates_3.h
CGAL/Surface_Sweep_2_algorithms.h
CGAL/tags.h
CGAL/Taucs_solver_traits.h
CGAL/Tetrahedron_3.h
CGAL/Three/Polyhedron_demo_io_plugin_interface.h
CGAL/Three/Polyhedron_demo_plugin_helper.h
CGAL/Three/Polyhedron_demo_plugin_interface.h
CGAL/Three/Scene_group_item.h
CGAL/Three/Scene_interface.h
CGAL/Three/Scene_item.h
CGAL/Three/Scene_print_interface_item.h
CGAL/Three/TextRenderer.h
CGAL/Threetuple.h
CGAL/Three/Viewer_interface.h
CGAL/Timer.h
CGAL/trace.h
CGAL/Tree_base.h
CGAL/Tree_traits.h
CGAL/Triangle_2.h
CGAL/Triangle_3.h
CGAL/Triangle_accessor_3.h
CGAL/Triangular_expansion_visibility_2.h
CGAL/Triangular_field_2.h
CGAL/Triangulation_2_filtered_projection_traits_3.h
CGAL/Triangulation_2.h
CGAL/Triangulation_3.h
CGAL/Triangulation_cell_base_3.h
CGAL/Triangulation_cell_base_with_circumcenter_3.h
CGAL/Triangulation_cell_base_with_info_3.h
CGAL/Triangulation_conformer_2.h
CGAL/Triangulation_data_structure_2.h
CGAL/Triangulation_data_structure_3.h
CGAL/Triangulation_data_structure.h
CGAL/Triangulation_ds_cell_base_3.h
CGAL/Triangulation_ds_face_base_2.h
CGAL/Triangulation_ds_full_cell.h
CGAL/Triangulation_ds_vertex_base_2.h
CGAL/Triangulation_ds_vertex_base_3.h
CGAL/Triangulation_ds_vertex.h
CGAL/Triangulation_euclidean_traits_2.h
CGAL/Triangulation_face_base_2.h
CGAL/Triangulation_face_base_with_info_2.h
CGAL/Triangulation_face.h
CGAL/Triangulation_full_cell.h
CGAL/Triangulation.h
CGAL/Triangulation_hierarchy_2.h
CGAL/Triangulation_simplex_3.h
CGAL/Triangulation_utils_3.h
CGAL/Triangulation_vertex_base_2.h
CGAL/Triangulation_vertex_base_3.h
CGAL/Triangulation_vertex_base_with_id_2.h
CGAL/Triangulation_vertex_base_with_info_2.h
CGAL/Triangulation_vertex_base_with_info_3.h
CGAL/Triangulation_vertex.h
CGAL/tuple.h
CGAL/Twotuple.h
CGAL/Two_vertices_parameterizer_3.h
CGAL/Umbilics.h
CGAL/Uncertain.h
CGAL/Union_find.h
CGAL/Union_of_balls_3.h
CGAL/Unique_hash_map.h
CGAL/use.h
CGAL/utility.h
CGAL/utils_classes.h
CGAL/value_type_traits.h
CGAL/vcm_estimate_edges.h
CGAL/vcm_estimate_normals.h
CGAL/Vector_2.h
CGAL/Vector_3.h
CGAL/Voronoi_diagram_2.h
CGAL/Voronoi_intersection_2_traits_3.h
CGAL/Weighted_alpha_shape_euclidean_traits_2.h
CGAL/Weighted_Minkowski_distance.h
CGAL/Weighted_point.h
CGAL/Width_3.h
CGAL/Width_default_traits_3.h
CGAL/wlop_simplify_and_regularize_point_set.h
]=])
separate_arguments(list_of_documented_headers UNIX_COMMAND ${list_of_documented_headers_txt})

View File

@ -5,6 +5,24 @@ set(list_of_whitelisted_headers_txt [=[
CGAL/IO/write_las_points.h CGAL/IO/write_las_points.h
CGAL/IO/read_ply_points.h CGAL/IO/read_ply_points.h
CGAL/IO/write_ply_points.h CGAL/IO/write_ply_points.h
CGAL/Surface_mesh_parameterization/internal/shortest_path.h
CGAL/Three/exceptions.h
CGAL/Three/Polyhedron_demo_plugin_interface.h
CGAL/Three/Scene_interface.h
CGAL/Three/Scene_item_with_properties.h
CGAL/Three/Scene_zoomable_item_interface.h
CGAL/Three/Viewer_interface.h
CGAL/Three/Polyhedron_demo_io_plugin_interface.h
CGAL/Three/Scene_draw_interface.h
CGAL/Three/Scene_item_config.h
CGAL/Three/Scene_print_item_interface.h
CGAL/Three/TextRenderer.h
CGAL/Three/Polyhedron_demo_plugin_helper.h
CGAL/Three/Scene_group_item.h
CGAL/Three/Scene_item.h
CGAL/Three/Scene_transparent_interface.h
CGAL/Three/Viewer_config.h
]=]) ]=])
separate_arguments(list_of_whitelisted_headers UNIX_COMMAND ${list_of_whitelisted_headers_txt}) separate_arguments(list_of_whitelisted_headers UNIX_COMMAND ${list_of_whitelisted_headers_txt})

View File

@ -1,4 +1,4 @@
foreach(n RANGE 5 ${CMAKE_ARGC}) foreach(n RANGE 7 ${CMAKE_ARGC})
list(APPEND INPUT_FILES ${CMAKE_ARGV${n}}) list(APPEND INPUT_FILES ${CMAKE_ARGV${n}})
endforeach() endforeach()
@ -7,14 +7,15 @@ if(NOT CGAL_PACKAGES_PREFIX)
"The variable `CGAL_PACKAGES_PREFIX` should be defined to the prefix of CGAL packages!") "The variable `CGAL_PACKAGES_PREFIX` should be defined to the prefix of CGAL packages!")
endif() endif()
#message("regexp: \\. ${CGAL_PACKAGES_PREFIX}/[^/]*/include/CGAL/.*h") get_filename_component(INSTALLATION "${CMAKE_BINARY_DIR}" DIRECTORY)
get_filename_component(BUILD_DIR "${INSTALLATION}" NAME)
foreach(INPUT_FILE ${INPUT_FILES}) foreach(INPUT_FILE ${INPUT_FILES})
file(STRINGS ${INPUT_FILE} input) file(STRINGS ${INPUT_FILE} input)
#message("input is : ${input}")
foreach(line ${input}) foreach(line ${input})
string(REGEX MATCHALL "^\\.* ${CGAL_PACKAGES_PREFIX}/[A-Za-z0-9_.-]*/include/CGAL/[A-Za-z0-9_/.-]*\\.h" header ${line}) string(REGEX MATCHALL "^\\.* ${CGAL_PACKAGES_PREFIX}/[A-Za-z0-9_.-]*/include/CGAL/[A-Za-z0-9_/.-]*\\.h" header ${line})
string(REGEX REPLACE "\\.* ${CGAL_PACKAGES_PREFIX}/" "" header "${header}") string(REGEX REPLACE "\\.* ${CGAL_PACKAGES_PREFIX}/" "" header "${header}")
string(REGEX REPLACE "/.*" "" pkg "${header}") string(REGEX REPLACE "/.*" "" pkg "${header}")
string(REPLACE "${BUILD_DIR}" " " pkg "${pkg}")
if(header) if(header)
list(APPEND headers ${header}) list(APPEND headers ${header})
endif() endif()
@ -39,7 +40,15 @@ if(OUTPUT_HEADERS_LIST)
endif() endif()
if(OUTPUT_PACKAGES_LIST) if(OUTPUT_PACKAGES_LIST)
file(WRITE ${OUTPUT_PACKAGES_LIST} "") file(WRITE ${OUTPUT_PACKAGES_LIST} "")
if (CGAL_COPY_DEPENDENCIES)
file(WRITE ${CGAL_COPY_PATH} "")
endif()
foreach(pkg ${pkgs}) foreach(pkg ${pkgs})
file(APPEND ${OUTPUT_PACKAGES_LIST} "${pkg}\n") file(APPEND ${OUTPUT_PACKAGES_LIST} "${pkg}\n")
if (CGAL_COPY_DEPENDENCIES)
file(APPEND ${CGAL_COPY_PATH} "${pkg}\n")
endif()
endforeach() endforeach()
endif() endif()

View File

@ -0,0 +1,3 @@
Installation
STL_Extension

View File

@ -0,0 +1,17 @@
Algebraic_foundations
Circulator
Filtered_kernel
Hash_map
Installation
Interpolation
Kernel_23
Number_types
Polygon
Profiling_tools
Property_map
STL_Extension
Spatial_sorting
Stream_support
TDS_2
Triangulation_2

View File

@ -257,13 +257,12 @@ intersection_coplanar(const typename K::Triangle_3 &t,
case NEGATIVE: case NEGATIVE:
// c is isolated on the negative side // c is isolated on the negative side
return t3s3_intersection_coplanar_aux(a,b,c,p,q,true,k); return t3s3_intersection_coplanar_aux(a,b,c,p,q,true,k);
case COLLINEAR: default:
if ( collinear_ordered(p,c,q) ) // c is inside [p,q] if ( collinear_ordered(p,c,q) ) // c is inside [p,q]
return intersection_return<typename K::Intersect_3, typename K::Segment_3, typename K::Triangle_3>(c); return intersection_return<typename K::Intersect_3, typename K::Segment_3, typename K::Triangle_3>(c);
else else
return intersection_return<typename K::Intersect_3, typename K::Segment_3, typename K::Triangle_3>(); return intersection_return<typename K::Intersect_3, typename K::Segment_3, typename K::Triangle_3>();
} }
case NEGATIVE: case NEGATIVE:
if ( POSITIVE == pqc ) if ( POSITIVE == pqc )
// b is isolated on the negative side // b is isolated on the negative side
@ -271,7 +270,6 @@ intersection_coplanar(const typename K::Triangle_3 &t,
else else
// a is isolated on the positive side // a is isolated on the positive side
return t3s3_intersection_coplanar_aux(b,c,a,q,p,false,k); return t3s3_intersection_coplanar_aux(b,c,a,q,p,false,k);
case COLLINEAR: case COLLINEAR:
switch ( pqc ) { switch ( pqc ) {
case POSITIVE: case POSITIVE:
@ -282,11 +280,10 @@ intersection_coplanar(const typename K::Triangle_3 &t,
case NEGATIVE: case NEGATIVE:
// a is isolated on the positive side // a is isolated on the positive side
return t3s3_intersection_coplanar_aux(b,c,a,q,p,false,k); return t3s3_intersection_coplanar_aux(b,c,a,q,p,false,k);
case COLLINEAR: default: // COLLINEAR
// b,c,p,q are aligned, [p,q]&[b,c] have the same direction // b,c,p,q are aligned, [p,q]&[b,c] have the same direction
return t3s3_intersection_collinear_aux(b,c,p,q,k); return t3s3_intersection_collinear_aux(b,c,p,q,k);
} }
default: // should not happen. default: // should not happen.
CGAL_error(); CGAL_error();
return intersection_return<typename K::Intersect_3, typename K::Segment_3, typename K::Triangle_3>(); return intersection_return<typename K::Intersect_3, typename K::Segment_3, typename K::Triangle_3>();
@ -314,7 +311,7 @@ intersection_coplanar(const typename K::Triangle_3 &t,
// the triangle lies in the negative halfspace // the triangle lies in the negative halfspace
// defined by the segment's supporting line. // defined by the segment's supporting line.
return intersection_return<typename K::Intersect_3, typename K::Segment_3, typename K::Triangle_3>(); return intersection_return<typename K::Intersect_3, typename K::Segment_3, typename K::Triangle_3>();
case COLLINEAR: default: // COLLINEAR
if ( collinear_ordered(p,c,q) ) // c is inside [p,q] if ( collinear_ordered(p,c,q) ) // c is inside [p,q]
return intersection_return<typename K::Intersect_3, typename K::Segment_3, typename K::Triangle_3>(c); return intersection_return<typename K::Intersect_3, typename K::Segment_3, typename K::Triangle_3>(c);
else else
@ -331,7 +328,7 @@ intersection_coplanar(const typename K::Triangle_3 &t,
return intersection_return<typename K::Intersect_3, typename K::Segment_3, typename K::Triangle_3>(b); return intersection_return<typename K::Intersect_3, typename K::Segment_3, typename K::Triangle_3>(b);
else else
return intersection_return<typename K::Intersect_3, typename K::Segment_3, typename K::Triangle_3>(); return intersection_return<typename K::Intersect_3, typename K::Segment_3, typename K::Triangle_3>();
case COLLINEAR: default: // COLLINEAR
// b,c,p,q are aligned, [p,q]&[c,b] have the same direction // b,c,p,q are aligned, [p,q]&[c,b] have the same direction
return t3s3_intersection_collinear_aux(c,b,p,q,k); return t3s3_intersection_collinear_aux(c,b,p,q,k);
} }
@ -356,7 +353,7 @@ intersection_coplanar(const typename K::Triangle_3 &t,
case NEGATIVE: case NEGATIVE:
// b is isolated on the positive side // b is isolated on the positive side
return t3s3_intersection_coplanar_aux(c,a,b,q,p,false,k); return t3s3_intersection_coplanar_aux(c,a,b,q,p,false,k);
case COLLINEAR: default: // COLLINEAR
// a,c,p,q are aligned, [p,q]&[c,a] have the same direction // a,c,p,q are aligned, [p,q]&[c,a] have the same direction
return t3s3_intersection_collinear_aux(c,a,p,q,k); return t3s3_intersection_collinear_aux(c,a,p,q,k);
} }
@ -371,7 +368,7 @@ intersection_coplanar(const typename K::Triangle_3 &t,
return intersection_return<typename K::Intersect_3, typename K::Segment_3, typename K::Triangle_3>(a); return intersection_return<typename K::Intersect_3, typename K::Segment_3, typename K::Triangle_3>(a);
else else
return intersection_return<typename K::Intersect_3, typename K::Segment_3, typename K::Triangle_3>(); return intersection_return<typename K::Intersect_3, typename K::Segment_3, typename K::Triangle_3>();
case COLLINEAR: default: // COLLINEAR
// a,c,p,q are aligned, [p,q]&[a,c] have the same direction // a,c,p,q are aligned, [p,q]&[a,c] have the same direction
return t3s3_intersection_collinear_aux(a,c,p,q,k); return t3s3_intersection_collinear_aux(a,c,p,q,k);
} }
@ -384,7 +381,7 @@ intersection_coplanar(const typename K::Triangle_3 &t,
case NEGATIVE: case NEGATIVE:
// a,b,p,q are aligned, [p,q]&[b,a] have the same direction // a,b,p,q are aligned, [p,q]&[b,a] have the same direction
return t3s3_intersection_collinear_aux(b,a,p,q,k); return t3s3_intersection_collinear_aux(b,a,p,q,k);
case COLLINEAR: default: // COLLINEAR
// case pqc == COLLINEAR is impossible since the triangle is // case pqc == COLLINEAR is impossible since the triangle is
// assumed to be non flat // assumed to be non flat
CGAL_error(); CGAL_error();

View File

@ -0,0 +1,13 @@
Algebraic_foundations
Distance_2
Installation
Intersections_2
Intersections_3
Interval_support
Kernel_23
Modular_arithmetic
Number_types
Profiling_tools
STL_Extension
Stream_support

View File

@ -0,0 +1,10 @@
Algebraic_foundations
Installation
Interval_support
Kernel_23
Modular_arithmetic
Number_types
Profiling_tools
STL_Extension
Stream_support

View File

@ -0,0 +1,18 @@
Algebraic_foundations
Cartesian_kernel
Circulator
Distance_2
Distance_3
Installation
Intersections_2
Intersections_3
Interval_support
Kernel_23
Kernel_d
Modular_arithmetic
Number_types
Profiling_tools
STL_Extension
Solver_interface
Stream_support

View File

@ -33,6 +33,8 @@
#include <CGAL/Kernel/Return_base_tag.h> #include <CGAL/Kernel/Return_base_tag.h>
#include <CGAL/Bbox_2.h> #include <CGAL/Bbox_2.h>
#include <CGAL/Dimension.h> #include <CGAL/Dimension.h>
#include <CGAL/result_of.h>
#include <CGAL/Point_2.h>
namespace CGAL { namespace CGAL {

View File

@ -33,6 +33,7 @@
#include <CGAL/Kernel/Return_base_tag.h> #include <CGAL/Kernel/Return_base_tag.h>
#include <CGAL/Bbox_3.h> #include <CGAL/Bbox_3.h>
#include <CGAL/Dimension.h> #include <CGAL/Dimension.h>
#include <CGAL/Point_3.h>
namespace CGAL { namespace CGAL {

View File

@ -0,0 +1,20 @@
Algebraic_foundations
Arithmetic_kernel
CGAL_Core
Cartesian_kernel
Distance_2
Distance_3
Filtered_kernel
Homogeneous_kernel
Installation
Intersections_2
Intersections_3
Interval_support
Kernel_23
Kernel_d
Modular_arithmetic
Number_types
Profiling_tools
STL_Extension
Stream_support

View File

@ -0,0 +1,12 @@
Algebraic_foundations
Installation
Intersections_2
Interval_support
Kernel_23
Kernel_d
Modular_arithmetic
Number_types
Profiling_tools
STL_Extension
Stream_support

View File

@ -0,0 +1,30 @@
Algebraic_foundations
Arithmetic_kernel
CGAL_Core
Cartesian_kernel
Circulator
Distance_2
Distance_3
Filtered_kernel
Hash_map
Homogeneous_kernel
Installation
Intersections_2
Intersections_3
Interval_support
Kernel_23
Kernel_d
Kinetic_data_structures
Modular_arithmetic
Number_types
Polygon
Profiling_tools
Property_map
STL_Extension
Spatial_sorting
Stream_support
TDS_2
TDS_3
Triangulation_2
Triangulation_3

View File

View File

@ -23,6 +23,7 @@
#include <CGAL/Cell_attribute_with_point_and_id.h> #include <CGAL/Cell_attribute_with_point_and_id.h>
#include <CGAL/Cell_attribute_with_id.h> #include <CGAL/Cell_attribute_with_id.h>
#include <CGAL/tuple.h>
namespace CGAL { namespace CGAL {

View File

@ -0,0 +1,24 @@
Algebraic_foundations
Arithmetic_kernel
Cartesian_kernel
Circulator
Combinatorial_map
Distance_2
Distance_3
Filtered_kernel
Generalized_map
Hash_map
Homogeneous_kernel
Installation
Intersections_2
Intersections_3
Interval_support
Kernel_23
Kernel_d
Linear_cell_complex
Modular_arithmetic
Number_types
Profiling_tools
STL_Extension
Stream_support

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