Merge pull request #1530 from lrineau/Installation-compute_dependencies-GF

Compute and fix packages dependencies
This commit is contained in:
Laurent Rineau 2016-10-05 13:11:04 +02:00
commit 223c1cf5a4
261 changed files with 2451 additions and 898 deletions

View File

@ -22,6 +22,7 @@
#include <vector>
#include <CGAL/Qt/GraphicsItem.h>
#include <CGAL/number_utils.h>
#include <QPen>
class QPainter;

View File

@ -22,6 +22,7 @@
#include <CGAL/boost/graph/properties.h>
#include <boost/range/distance.hpp>
#include <CGAL/boost/graph/iterator.h>
namespace CGAL {

View File

@ -25,7 +25,6 @@
#include <CGAL/boost/graph/iterator.h>
#include <CGAL/boost/graph/properties.h>
#include <CGAL/boost/graph/internal/Has_member_clear.h>
#include <CGAL/boost/graph/Euler_operations.h>
namespace CGAL {
@ -720,4 +719,8 @@ void clear(FaceGraph& g)
} // namespace CGAL
// Include "Euler_operations.h" at the end, because its implementation
// requires this header.
#include <CGAL/boost/graph/Euler_operations.h>
#endif // CGAL_BOOST_GRAPH_HELPERS_H

View File

@ -25,7 +25,7 @@
#include <boost/foreach.hpp>
#include <boost/graph/adjacency_list.hpp>
#include <iostream>
#include <CGAL/assertions.h>
namespace CGAL {

View File

@ -1,71 +0,0 @@
namespace CGAL {
/*!
\ingroup PkgBooleanSetOperations2
\cgalModels `GeneralPolygonWithHoles_2`
*/
template< typename Polygon >
class General_polygon_with_holes_2 {
public:
/// \name Definition
/// The class `General_polygon_with_holes_2` models the concept
/// `GeneralPolygonWithHoles_2`. It represents a general polygon with
/// holes. It is parameterized with a type `Polygon` used to define
/// the exposed type `General_polygon_2`. This type represents the
/// outer boundary of the general polygon and the outer boundaries of
/// each hole.
/// @{
/*!
*/
typedef Polygon General_polygon_2;
/// @}
}; /* end General_polygon_with_holes_2 */
/*!
This operator imports a General_polygon_with_holes_2 from the input stream `in`.
An ASCII and a binary format exist. The stream detects the format
automatically and can read both.
The format consists of the number of curves of the outer boundary
followed by the curves themselves in counterclockwise order, followed
by the number of holes, and for each hole, the number of curves on its
outer boundary is followed by the curves themselves in clockwise
order.
\relates General_polygon_with_holes_2
*/
template <class Polygon>
std::istream& operator>>(std::istream& in, CGAL::General_polygon_with_holes_2<Polygon>& P);
/*!
This operator exports a General_polygon_with_holes_2 to the output stream `out`.
An ASCII and a binary format exist. The format can be selected with
the \cgal modifiers for streams, `set_ascii_mode(0` and `set_binary_mode()`
respectively. The modifier `set_pretty_mode()` can be used to allow for (a
few) structuring comments in the output. Otherwise, the output would
be free of comments. The default for writing is ASCII without
comments.
The number of curves of the outer boundary is exported followed by the
curves themselves in counterclockwise order. Then, the number of holes
is exported, and for each hole, the number of curves on its outer
boundary is exported followed by the curves themselves in clockwise
order.
\relates General_polygon_with_holes_2
*/
template <class Polygon>
std::ostream& operator<<(std::ostream& out, CGAL::General_polygon_with_holes_2<Polygon>& P);
} /* end namespace CGAL */

View File

@ -1,62 +0,0 @@
namespace CGAL {
/*!
\ingroup PkgBooleanSetOperations2
The class `Polygon_with_holes_2` models the concept `GeneralPolygonWithHoles_2`.
It represents a linear polygon with holes. It is parameterized with two
types (`Kernel` and `Container`) that are used to instantiate
the type `Polygon_2<Kernel,Container>`. The latter is used to
represents the outer boundary and the boundary of the holes (if any exist).
\cgalModels `GeneralPolygonWithHoles_2`
*/
template< typename Kernel, typename Container >
class Polygon_with_holes_2 {
public:
/// @}
}; /* end Polygon_with_holes_2 */
/*!
This operator imports a polygon with holes from the input stream `in`.
An ASCII and a binary format exist. The stream detects the format
automatically and can read both.
The format consists of the number of points of the outer boundary followed
by the points themselves in counterclockwise order, followed by the number of holes,
and for each hole, the number of points of the outer boundary is followed
by the points themselves in clockwise order.
\relates Polygon_with_holes_2
*/
template <class Kernel, Class Container>
std::istream& operator>>(std::istream& in, CGAL::Polygon_with_holes_2<Kernel, Container>& P);
/*!
This operator exports a polygon with holes to the output stream `out`.
An ASCII and a binary format exist. The format can be selected with
the \cgal modifiers for streams, `set_ascii_mode()` and `set_binary_mode()`
respectively. The modifier `set_pretty_mode()` can be used to allow for (a
few) structuring comments in the output. Otherwise, the output would
be free of comments. The default for writing is ASCII without
comments.
The number of points of the outer boundary is exported followed by the
points themselves in counterclockwise order. Then, the number of holes
is exported, and for each hole, the number of points on its outer
boundary is exported followed by the points themselves in clockwise
order.
\relates Polygon_with_holes_2
*/
template <class Polygon>
std::ostream& operator<<(std::ostream& out, CGAL::Polygon_with_holes_2<Kernel, Polygon>& P);
} /* end namespace CGAL */

View File

@ -1,110 +0,0 @@
/*!
\ingroup PkgBooleanSetOperations2Concepts
\cgalConcept
\cgalRefines `GpsTraitsGeneralPolygonWithHoles_2`
A model of this concept represents a general polygon with holes. The
concept requires the ability to access the general polygon that
represents the outer boundary and the general polygons that represent
the holes.
\cgalHasModel `CGAL::General_polygon_with_holes_2<General_polygon>`
\cgalHasModel `CGAL::Polygon_with_holes_2<Kernel,Container>`
\cgalHasModel `CGAL::Gps_circle_segment_traits_2<Kernel>::%Polygon_with_holes_2`
\cgalHasModel `CGAL::Gps_traits_2<ArrTraits,GeneralPolygon>::%Polygon_with_holes_2`
*/
class GeneralPolygonWithHoles_2 {
public:
/// \name Types
/// @{
/*!
the general-polygon type used to
represent the outer boundary and each hole. Must model the `GeneralPolygon_2` concept.
*/
typedef unspecified_type General_polygon_2;
/*!
a bidirectional iterator
over the polygonal holes. Its value type is
`General_polygon_2`.
*/
typedef unspecified_type Hole_const_iterator;
/// @}
/// \name Creation
/// @{
/*!
default constructor.
*/
GeneralPolygonWithHoles_2();
/*!
copy constructor.
*/
GeneralPolygonWithHoles_2(GeneralPolygonWithHoles_2 other);
/*!
assignment operator.
*/
GeneralPolygonWithHoles_2 operator=(other);
/*!
constructs a general polygon with holes that has no holes using a given general polygon `outer` as the outer boundary.
*/
GeneralPolygonWithHoles_2(General_polygon_2 & outer);
/*!
constructs a general polygon with holes using a given general polygon
`outer` as the outer boundary and a given range of holes. If `outer`
is an empty general polygon, then an unbounded polygon with holes will be
created. The holes must be contained inside the outer boundary, and the
polygons representing the holes must be simple and pairwise disjoint, except
perhaps at the vertices.
*/
template <class InputIterator>
GeneralPolygonWithHoles_2(General_polygon_2 & outer,
InputIterator begin, InputIterator end);
/// @}
/// \name Predicates
/// @{
/*!
returns `true` if the outer boundary is empty, and `false`
otherwise.
*/
bool is_unbounded();
/// @}
/// \name Access Functions
/// @{
/*!
returns the general polygon that represents the outer boundary. Note that this polygon is not necessarily a valid (simple) general polygon because it may be relatively simple.
*/
const General_polygon_2 & outer_boundary() const;
/*!
returns the begin iterator of the holes.
*/
Hole_const_iterator holes_begin() const;
/*!
returns the past-the-end iterator of the holes.
*/
Hole_const_iterator holes_end() const;
/// @}
}; /* end GeneralPolygonWithHoles_2 */

View File

@ -37,7 +37,6 @@ containment predicates.
- `GpsTraitsGeneralPolygon_2`
- `GpsTraitsGeneralPolygonWithHoles_2`
- `GeneralPolygon_2`
- `GeneralPolygonWithHoles_2`
- `ArrangementDirectionalXMonotoneTraits_2`
- `GeneralPolygonSetTraits_2`
- `GeneralPolygonSetDcel`
@ -45,7 +44,6 @@ containment predicates.
- `GeneralPolygonSetDcelHalfedge`
## Classes ##
- `CGAL::Polygon_with_holes_2<Kernel,Container>`
- `CGAL::Polygon_set_2<Kernel,Container,Dcel>`
- `CGAL::General_polygon_set_2<Traits,Dcel>`
- `CGAL::General_polygon_2<ArrTraits>`
@ -64,8 +62,5 @@ containment predicates.
- \link boolean_symmetric_difference `CGAL::symmetric_difference()` \endlink
- \link boolean_oriented_side `CGAL::oriented_side()` \endlink
- \link boolean_connect_holes `CGAL::connect_holes()` \endlink
- `operator<<()` for `CGAL::Polygon_with_holes_2`, `CGAL::General_polygon_2` and `CGAL::General_polygon_with_holes_2`
- `operator>>()` for `CGAL::Polygon_with_holes_2`, `CGAL::General_polygon_2` and `CGAL::General_polygon_with_holes_2`
*/

View File

@ -28,6 +28,7 @@
#include <list>
#include <CGAL/Gps_circle_segment_traits_2.h>
#include <CGAL/General_polygon_set_2.h>
#include <CGAL/squared_distance_2.h>
namespace CGAL {

View File

@ -24,40 +24,31 @@ find_package(CGAL QUIET COMPONENTS Core)
if ( CGAL_FOUND )
include( ${CGAL_USE_FILE} )
find_package(IPE)
find_package(IPE 6)
if ( IPE_FOUND )
include_directories(BEFORE ${IPE_INCLUDE_DIR})
#check IPE version
FILE(READ "${IPE_INCLUDE_DIR}/ipebase.h" IPEBASE_H)
STRING(REGEX MATCH "IPELIB_VERSION[ ]*=[ ]*([67])([0-9][0-9])([0-9][0-9]);" FOUND_IPE_VERSION "${IPEBASE_H}")
if (FOUND_IPE_VERSION)
set(IPE_VERSION ${CMAKE_MATCH_1})
set(IPE_MINOR_VERSION_1 ${CMAKE_MATCH_2})
set(IPE_MINOR_VERSION_2 ${CMAKE_MATCH_3})
if (${IPE_VERSION} EQUAL "7")
set(WITH_IPE_7 ON)
elseif(${IPE_VERSION} EQUAL "6")
set(WITH_IPE_7 OFF)
else()
message("-- Error: ${IPE_VERSION} is not a supported version of IPE (only 6 and 7 are).")
set(IPE_FOUND FALSE)
endif()
# starting ipe 7.2.1, a compiler with c++11 must be used to compile ipelets
if (${IPE_VERSION} EQUAL "7" AND
${IPE_MINOR_VERSION_1} GREATER "1" AND
${IPE_MINOR_VERSION_2} GREATER "0")
message(STATUS "Starting from Ipe 7.2.1 a compiler with c++11 support must be used")
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
elseif(COMPILER_SUPPORTS_CXX0X)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
endif()
if (${IPE_VERSION} EQUAL "7")
set(WITH_IPE_7 ON)
elseif(${IPE_VERSION} EQUAL "6")
set(WITH_IPE_7 OFF)
else()
message("-- Error: ${IPE_VERSION} is not a supported version of IPE (only 6 and 7 are).")
set(IPE_FOUND FALSE)
endif()
# starting ipe 7.2.1, a compiler with c++11 must be used to compile ipelets
if (${IPE_VERSION} EQUAL "7" AND
${IPE_MINOR_VERSION_1} GREATER "1" AND
${IPE_MINOR_VERSION_2} GREATER "0")
message(STATUS "Starting from Ipe 7.2.1 a compiler with c++11 support must be used")
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
elseif(COMPILER_SUPPORTS_CXX0X)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
endif()
endif()
endif()

View File

@ -27,6 +27,7 @@
#define CGAL_CIRCULAR_KERNEL_CIRCULAR_ARC_POINT_2_H
#include <iostream>
#include <CGAL/Handle.h>
#include <CGAL/Bbox_2.h>
#include <CGAL/Interval_nt.h>
#include <boost/type_traits/is_same.hpp>

View File

@ -27,6 +27,7 @@
#define CGAL_CIRCULAR_KERNEL_INTERNAL_FUNCTIONS_ON_CIRCLE_2_H
#include <CGAL/Circular_kernel_2/Intersection_traits.h>
#include <vector>
namespace CGAL {

View File

@ -29,7 +29,7 @@
#include <CGAL/Circular_kernel_2/internal_functions_on_circle_2.h>
#include <CGAL/Interval_nt.h>
#include <CGAL/Circular_kernel_2/Circular_arc_2.h>
#include <CGAL/int.h>
namespace CGAL {
namespace CircularFunctors {

View File

@ -33,6 +33,9 @@
// fixme, devrait
// appeler fonction de global_functions_on_circular_arcs
#include <vector>
#include <CGAL/kernel_config.h>
namespace CGAL {
namespace internal {

View File

@ -25,6 +25,10 @@
#ifndef CGAL_SPHERICAL_KERNEL_PREDICATES_HAS_ON_3_H
#define CGAL_SPHERICAL_KERNEL_PREDICATES_HAS_ON_3_H
#include <CGAL/Circular_kernel_3/internal_functions_on_sphere_3.h>
#include <CGAL/number_utils.h>
#include <CGAL/int.h>
namespace CGAL {
namespace SphericalFunctors {

View File

@ -25,6 +25,8 @@
#define CGAL_SPHERICAL_KERNEL_PREDICATES_ON_SPHERE_3_H
#include <CGAL/Circular_kernel_3/Intersection_traits.h>
#include <utility>
#include <vector>
namespace CGAL {
namespace SphericalFunctors {

View File

@ -46,6 +46,9 @@ class Circle_3;
template <class SK>
class Sphere_3;
template <class K>
class Vector_3;
template <class SK>
Circular_arc_point_3<SK>
x_extremal_point(const Circle_3<SK> & c, bool i)

View File

@ -25,7 +25,7 @@
#ifndef CGAL_CIRCULATOR_H
#define CGAL_CIRCULATOR_H
#include <CGAL/basic.h>
#include <CGAL/config.h>
#include <CGAL/circulator_bases.h>
#include <CGAL/assertions.h>
#include <CGAL/use.h>

View File

@ -21,6 +21,7 @@
#define CGAL_CELL_ATTRIBUTE_H 1
#include <CGAL/Compact_container.h>
#include <CGAL/internal/Combinatorial_map_internal_functors.h>
namespace CGAL {

View File

@ -20,6 +20,7 @@
#ifndef CGAL_COMBINATORIAL_MAP_BASIC_OPERATIONS_H
#define CGAL_COMBINATORIAL_MAP_BASIC_OPERATIONS_H 1
#include <CGAL/Combinatorial_map_iterators_base.h>
#include <boost/type_traits/is_same.hpp>
#include <CGAL/tags.h>

View File

@ -21,6 +21,7 @@
#define CGAL_COMBINATORIAL_MAP_INSERTIONS_H
#include <deque>
#include <CGAL/config.h>
namespace CGAL
{

View File

@ -22,6 +22,9 @@
#include <CGAL/Combinatorial_map_basic_operations.h>
#include <CGAL/Combinatorial_map_insertions.h>
#include <CGAL/internal/Combinatorial_map_sewable.h>
#include <CGAL/internal/Combinatorial_map_group_functors.h>
#include <deque>
#include <stack>

View File

@ -23,6 +23,7 @@
#include <CGAL/Handle_hash_function.h>
#include <CGAL/Compact_container.h>
#include <bitset>
#include <boost/config.hpp>
#if (BOOST_GCC >= 40900)
@ -32,6 +33,11 @@ _Pragma("GCC diagnostic ignored \"-Warray-bounds\"")
namespace CGAL {
namespace internal {
template <typename M>
struct Combinatorial_map_helper;
}
/** @file Combinatorial_map_storages.h
* Definition of storages for dD Combinatorial map.
*/

View File

@ -23,6 +23,7 @@
#include <CGAL/Compact_container.h>
#include <CGAL/assertions.h>
#include <bitset>
#include <CGAL/internal/Combinatorial_map_internal_functors.h>
namespace CGAL {

View File

@ -32,7 +32,7 @@
#include <CGAL/Point_3.h>
#include <CGAL/Vector_3.h>
#include <CGAL/number_utils.h>
namespace CGAL {

View File

@ -1,10 +1,10 @@
// Copyright (c) 2003,2004 INRIA Sophia-Antipolis (France).
// All rights reserved.
//
// This file is part of CGAL (www.cgal.org).
// You can redistribute it and/or modify it under the terms of the GNU
// General Public License as published by the Free Software Foundation,
// either version 3 of the License, or (at your option) any later version.
// This file is part of CGAL (www.cgal.org); you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 3 of the License,
// or (at your option) any later version.
//
// Licensees holding a valid commercial license may use this file in
// accordance with the commercial license agreement provided with the software.
@ -18,9 +18,6 @@
//
// Author(s) : Menelaos Karavelas <mkaravel@iacm.forth.gr>
#ifndef CGAL_FILTERED_CONSTRUCTION_H
#define CGAL_FILTERED_CONSTRUCTION_H

View File

@ -34,7 +34,7 @@
// - Remove the degree stuff, it's only meant for debug (?).
// - Add __attribute__((const)) for optimizing ?
#include <CGAL/basic.h>
#include <CGAL/config.h>
#include <CGAL/FPU.h>
#include <boost/math/special_functions/next.hpp>

View File

@ -29,7 +29,7 @@
// logic and is not plug'n play (requires users providing bounds).
// If it should be provided again, it should probably be separate.
#include <CGAL/basic.h>
#include <CGAL/config.h>
#include <CGAL/Kernel/function_objects.h>
#include <CGAL/Cartesian/function_objects.h>

View File

@ -21,7 +21,7 @@
#ifndef CGAL_INTERNAL_STATIC_FILTERS_TOOLS_H
#define CGAL_INTERNAL_STATIC_FILTERS_TOOLS_H
#include <CGAL/basic.h>
#include <CGAL/config.h>
#include <CGAL/function_objects.h>
#include <boost/mpl/has_xxx.hpp>

View File

@ -26,6 +26,7 @@
#define CGAL_RANDOM_CONVEX_SET_TRAITS_2_H 1
#include <CGAL/Point_2.h>
#include <CGAL/number_utils.h>
namespace CGAL {

View File

@ -26,6 +26,10 @@
#define CGAL_RANDOM_CONVEX_HULL_DISC_H 1
#include <boost/random.hpp>
#include <CGAL/Polygon_2_algorithms.h>
#include <CGAL/function_objects.h>
#include <CGAL/copy_n.h>
#include <CGAL/number_type_config.h>
#include <list>
namespace CGAL {
namespace internal {

View File

@ -31,8 +31,8 @@
#include <algorithm>
#include <numeric>
#include <CGAL/Random_convex_set_traits_2.h>
#include <CGAL/centroid.h>
#include <boost/functional.hpp>
#include <boost/foreach.hpp>
namespace CGAL {
@ -75,7 +75,14 @@ random_convex_set_2( std::size_t n,
CGAL::cpp11::copy_n( pg, n, back_inserter( points));
// compute centroid of points:
Point_2 centroid = CGAL::centroid( points.begin(), points.end(), t );
// Point_2 centroid = CGAL::centroid( points.begin(), points.end(), t );
Point_2 centroid = t.origin();
BOOST_FOREACH(const Point_2& p, points){
centroid = sum(centroid, p);
}
centroid = scale(centroid, FT(1)/FT(n));
// translate s.t. centroid == origin:
transform(
@ -93,8 +100,12 @@ random_convex_set_2( std::size_t n,
points.begin(), points.end(), points.begin(), Sum());
// and compute its centroid:
Point_2 new_centroid = CGAL::centroid( points.begin(), points.end(), t );
Point_2 new_centroid = t.origin();
BOOST_FOREACH(const Point_2& p, points){
new_centroid = sum(new_centroid, p);
}
new_centroid = scale(new_centroid, FT(1)/FT(n));
// translate s.t. centroids match:
transform(
points.begin(),

View File

@ -31,6 +31,7 @@
#include <QGraphicsSceneMouseEvent>
#include <QPainter>
#include <QStyleOption>
#include <QKeyEvent>
#include <CGAL/Qt/Converter.h>
#include <CGAL/Qt/GraphicsViewInput.h>

View File

@ -32,6 +32,7 @@
#include <QGraphicsSceneMouseEvent>
#include <QPainter>
#include <QStyleOption>
#include <QKeyEvent>
#include <CGAL/Qt/Converter.h>
#include <CGAL/Qt/GraphicsViewInput.h>

View File

@ -31,6 +31,7 @@
#include <QGraphicsSceneMouseEvent>
#include <QPainter>
#include <QStyleOption>
#include <QKeyEvent>
#include <CGAL/Qt/Converter.h>
#include <CGAL/Qt/GraphicsViewInput.h>

View File

@ -31,6 +31,7 @@
#include <QGraphicsSceneMouseEvent>
#include <QPainter>
#include <QStyleOption>
#include <QKeyEvent>
#include <CGAL/Qt/Converter.h>
#include <CGAL/Qt/GraphicsViewInput.h>

View File

@ -28,6 +28,7 @@
#include <QGraphicsItem>
#include <QGraphicsScene>
#include <QGraphicsSceneMouseEvent>
#include <QKeyEvent>
#include <CGAL/Polygon_with_holes_2.h>
#include <CGAL/Qt/GraphicsViewInput.h>

View File

@ -27,6 +27,7 @@
#include <QPolygonF>
#include <QPointF>
#include <QKeyEvent>
#include <CGAL/Qt/GraphicsViewInput.h>
#include <CGAL/Qt/Converter.h>

View File

@ -24,7 +24,9 @@
#ifndef CGAL_HALFEDGEDS_ITERATOR_H
#define CGAL_HALFEDGEDS_ITERATOR_H 1
#include <CGAL/circulator.h>
#include <CGAL/tags.h>
#include <CGAL/use.h>
namespace CGAL {

View File

@ -26,7 +26,7 @@
#ifndef CGAL_HANDLE_HASH_FUNCTION_H
#define CGAL_HANDLE_HASH_FUNCTION_H
#include <CGAL/basic.h>
#include <CGAL/config.h>
#include <cstddef>
namespace CGAL {

View File

@ -25,6 +25,7 @@
#define CGAL_CHAINED_MAP_H
#include <CGAL/memory.h>
#include <iostream>
namespace CGAL {

View File

@ -26,7 +26,7 @@
#ifndef CGAL_UNIQUE_HASH_MAP_H
#define CGAL_UNIQUE_HASH_MAP_H
#include <CGAL/basic.h>
#include <CGAL/config.h>
#include <CGAL/memory.h>
#include <CGAL/Handle_hash_function.h>
#include <CGAL/Tools/chained_map.h>

View File

@ -25,7 +25,7 @@
#ifndef CGAL_HOMOGENEOUS_BASE_H
#define CGAL_HOMOGENEOUS_BASE_H
#include <CGAL/basic.h>
#include <CGAL/config.h>
#include <CGAL/basic_classes.h>
#include <CGAL/Kernel/global_functions.h>

View File

@ -3,7 +3,9 @@
# refer to the root source directory of the project as ${CMAKE_SOURCE_DIR} or
# ${CMAKE_SOURCE_DIR} and to the root binary directory of the project as
# ${CMAKE_BINARY_DIR} or ${CMAKE_BINARY_DIR}.
project(CGAL CXX C)
if(NOT PROJECT_NAME)
project(CGAL CXX C)
endif()
# Minimal version of CMake:
cmake_minimum_required(VERSION 2.8.11)
@ -1019,7 +1021,55 @@ if ( CGAL_BRANCH_BUILD )
"Enable the special targets \"check_pkg_headers\", and \"check_pkg_<package>_headers\" for each package"
FALSE)
if(CGAL_ENABLE_CHECK_HEADERS)
option(CGAL_COMPUTE_DEPENDENCIES
"Enable the special targets \"packages_dependencies\", and \"pkg_<package>_deps\" for each package. \
Note that this option will modify the source directory!"
FALSE)
if(CGAL_ENABLE_CHECK_HEADERS OR CGAL_COMPUTE_DEPENDENCIES)
message( "== Setting header checking ==" )
find_package(Eigen3 REQUIRED)
find_package(Qt5 COMPONENTS Core Widgets Xml OpenGL REQUIRED)
find_package(QGLViewer)
find_package(VTK COMPONENTS vtkImagingGeneral vtkIOImage NO_MODULE)
find_package(IPE)
find_package(RS3)
find_package(LEDA)
set(compile_options "\
${CMAKE_CXX_FLAGS} -DCGAL_EIGEN3_ENABLED \
${Qt5Widgets_DEFINITIONS} ${Qt5Xml_DEFINITIONS} ${Qt5OpenGL_DEFINITIONS} \
${Qt5OpenGL_EXECUTABLE_COMPILE_FLAGS} -fPIC \
${Qt5Gui_EXECUTABLE_COMPILE_FLAGS} \
${Qt5Xml_EXECUTABLE_COMPILE_FLAGS} \
${CGAL_3RD_PARTY_DEFINITIONS} ${CGAL_Qt5_3RD_PARTY_DEFINITIONS} \
${CGAL_DEFINITIONS}"
)
if(NOT RS_FOUND AND NOT RS3_FOUND)
set(compile_options "${compile_options} \
-DCGAL_ALGEBRAIC_KERNEL_RS_GMPZ_D_1=1 \
-DCGAL_ALGEBRAIC_KERNEL_RS_GMPQ_D_1=1")
message(STATUS "Skip RS headers \"CGAL/Algebraic_kernel_rs_gmpq_d_1.h\" \
and \"CGAL/Algebraic_kernel_rs_gmpz_d_1.h\" because RS_FOUND is false.")
else()
set(compile_options "${compile_options} \
-DCGAL_USE_MPFI=1 \
-DCGAL_USE_RS=1")
endif()
if(LEDA_FOUND)
set(compile_options "${compile_options} -DCGAL_USE_LEDA")
endif()
if(NOT IPE_FOUND)
set(compile_options "${compile_options} -DCGAL_IPELET_BASE_H=1")
message(STATUS "Skip header \"CGAL/CGAL_ipelet_base.h\" \
because IPE_FOUND is false.")
endif()
if ("${IPE_VERSION}" EQUAL "7")
set(compile_options "${compile_options} -DCGAL_USE_IPE_7")
endif()
if(NOT DEFINED CGAL_CHECK_SYNTAX_ONLY)
execute_process(COMMAND
@ -1035,7 +1085,7 @@ if ( CGAL_BRANCH_BUILD )
if(NOT CGAL_CHECK_SYNTAX_ONLY)
message(FATAL_ERROR "Your compiler does not seem to support -fsyntax-only.
You must disable CGAL_ENABLE_CHECK_HEADERS.")
You must disable CGAL_ENABLE_CHECK_HEADERS and CGAL_COMPUTE_DEPENDENCIES.")
endif()
## Fill the variable include_options with all the -I and -isystem options
@ -1043,37 +1093,134 @@ You must disable CGAL_ENABLE_CHECK_HEADERS.")
foreach (incdir ${CGAL_INCLUDE_DIRS})
list(APPEND include_options "-I${incdir}")
endforeach()
foreach (incdir ${CGAL_3RD_PARTY_INCLUDE_DIRS})
list(APPEND include_options "-isystem${incdir}")
foreach (incdir
${VTK_INCLUDE_DIRS}
${LEDA_INCLUDE_DIR}
${RS_INCLUDE_DIR}
${EIGEN3_INCLUDE_DIR}
${QGLVIEWER_INCLUDE_DIR} ${Qt5OpenGL_INCLUDE_DIRS}
${Qt5Widgets_INCLUDE_DIRS} ${Qt5Xml_INCLUDE_DIRS}
${CGAL_3RD_PARTY_INCLUDE_DIRS} ${CGAL_Qt5_3RD_PARTY_INCLUDE_DIRS}
)
list(APPEND include_options "-I${incdir}")
endforeach()
include_directories ( SYSTEM ${CGAL_3RD_PARTY_INCLUDE_DIRS} )
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/list_of_documented_headers.cmake
OPTIONAL RESULT_VARIABLE has_list_of_documented_headers)
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/list_of_whitelisted_headers.cmake
OPTIONAL RESULT_VARIABLE has_list_of_whitelisted_headers)
message("list_of_whitelisted_headers: ${list_of_whitelisted_headers}")
## Loop on package and headers
set(check_pkg_target_list)
if(POLICY CMP0057)
cmake_policy(SET CMP0057 NEW)
endif()
foreach (package ${CGAL_CONFIGURED_PACKAGES_NAMES})
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../${package}/include)
set(depends "")
file(GLOB ${package}_HEADERS
RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/../${package}/include"
"${CMAKE_CURRENT_SOURCE_DIR}/../${package}/include/CGAL/*.h")
set(check_pkg_headers_depends "")
if(has_list_of_documented_headers AND POLICY CMP0057)
# Then recurse2
file(GLOB_RECURSE ${package}_HEADERS
RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/../${package}/include"
"${CMAKE_CURRENT_SOURCE_DIR}/../${package}/include/CGAL/*.h*")
else() # do not recurse
file(GLOB ${package}_HEADERS
RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/../${package}/include"
"${CMAKE_CURRENT_SOURCE_DIR}/../${package}/include/CGAL/*.h*")
endif()
list(SORT ${package}_HEADERS)
if(CGAL_COMPUTE_DEPENDENCIES OR COMPUTE_DEPS)
set(compute_deps_extra_args "-H ")
endif()
foreach(header ${${package}_HEADERS})
string(REPLACE "/" "__" header2 "${header}")
string(REPLACE "." "_" header2 "${header2}")
add_custom_command(OUTPUT check_${header2}
COMMAND ${CMAKE_CXX_COMPILER} ${CGAL_3RD_PARTY_DEFINITIONS} ${CGAL_DEFINITIONS} ${include_options} -x c++ -fsyntax-only "${CMAKE_CURRENT_SOURCE_DIR}/../${package}/include/${header}"
COMMAND ${CMAKE_COMMAND} -E touch check_${header2}
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/../${package}/include/${header}"
VERBATIM
COMMENT "Check header ${header}"
)
list(APPEND depends check_${header2})
set(skip_hdr FALSE)
if(POLICY CMP0057
AND has_list_of_documented_headers
AND NOT header IN_LIST list_of_documented_headers
)
message(STATUS "Skip non-documented header \"${header}\".")
set(skip_hdr TRUE)
endif()
string(REGEX MATCH "CGAL/leda_.*" is_a_leda_header ${header})
if(NOT LEDA_FOUND AND is_a_leda_header)
message(STATUS "Skip LEDA header \"${header}\" because \
LEDA_FOUND is false.")
set(skip_hdr TRUE)
endif()
if(POLICY CMP0057
AND has_list_of_whitelisted_headers
AND header IN_LIST list_of_whitelisted_headers)
message(STATUS "Skip whitelisted header \"${header}\".")
set(skip_hdr TRUE)
endif()
if(NOT skip_hdr)
string(REPLACE "/" "__" header2 "${header}")
string(REPLACE "." "_" header2 "${header2}")
string(REPLACE ";" " " include_options_str "${include_options}")
string(REPLACE ";" " " compile_options_str "${compile_options}")
separate_arguments(CMD
UNIX_COMMAND
"${CMAKE_CXX_COMPILER} ${compile_options_str}
${include_options_str} -x c++ -fsyntax-only \
${compute_deps_extra_args} \
${CMAKE_CURRENT_SOURCE_DIR}/../${package}/include/${header}"
# The header Algebraic_kernel_rs_gmpz_d_1.h is skipped on purpose: it
# depends on RS.
)
set(chk_header_name
${CGAL_BINARY_DIR}/package_info/${package}/check_headers/check_${header2})
add_custom_command(OUTPUT ${chk_header_name}
COMMAND ${CMAKE_COMMAND}
-DCERR:STRING=${chk_header_name}
"-DCMD:STRING=${CMD}"
-P "${CGAL_MODULES_DIR}/run_cmd_redirection_cerr.cmake"
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../${package}/include/${header}
DEPENDS ${CGAL_MODULES_DIR}/run_cmd_redirection_cerr.cmake
VERBATIM
COMMENT "Check header ${package}/include/${header}"
)
list(APPEND check_pkg_headers_depends ${chk_header_name})
if(${header2}_deps)
list(REMOVE_DUPLICATES ${header2}_deps)
endif()
endif() # end the if on list_of_documented_headers
endforeach() # look on headers
add_custom_target(check_pkg_${package}_headers DEPENDS ${depends})
add_custom_target(check_pkg_${package}_headers
DEPENDS ${check_pkg_headers_depends})
add_custom_command(
OUTPUT ${CGAL_BINARY_DIR}/package_info/${package}/included_headers
${CGAL_BINARY_DIR}/package_info/${package}/dependencies
DEPENDS ${check_pkg_headers_depends}
COMMENT "Compute dependencies of ${package}"
COMMAND ${CMAKE_COMMAND}
-DCGAL_PACKAGES_PREFIX=${CGAL_SOURCE_DIR}
-DOUTPUT_HEADERS_LIST=${CGAL_BINARY_DIR}/package_info/${package}/included_headers
-DOUTPUT_PACKAGES_LIST=${CGAL_BINARY_DIR}/package_info/${package}/dependencies
-P "${CGAL_MODULES_DIR}/process_dependencies.cmake"
${check_pkg_headers_depends}
)
add_custom_target(${package}_deps DEPENDS ${CGAL_BINARY_DIR}/package_info/${package}/dependencies)
list(APPEND check_pkg_target_list check_pkg_${package}_headers)
list(APPEND packages_deps ${CGAL_BINARY_DIR}/package_info/${package}/dependencies)
endif() # if the package has an include directory
if(${package}_deps)
list(REMOVE_DUPLICATES ${package}_deps)
endif()
endforeach() # loop on packages
add_custom_target(check_headers DEPENDS ${check_pkg_target_list})
add_custom_target(packages_dependencies DEPENDS ${packages_deps})
message( " \n\
You can now check the headers with the target `check_headers`\n\
and the package dependencies with the target `packages_dependencies`.\n\
Results are in the `package_info/` sub-directory of the build directory:\n\
\n\
- package_info/<package>/dependencies\n\
- package_info/<package>/included_headers\n\
- package_info/<package>/check_headers/ (error messages from \
the headers checks)\n")
message( "== Setting header checking (DONE) ==\n" )
endif()
endif( CGAL_BRANCH_BUILD )

View File

@ -24,11 +24,29 @@ else()
/usr/lib64
)
if(IPE_INCLUDE_DIR)
file(READ "${IPE_INCLUDE_DIR}/ipebase.h" IPEBASE_H)
string(REGEX MATCH "IPELIB_VERSION[ ]*=[ ]*([67])([0-9][0-9])([0-9][0-9]);" FOUND_IPE_VERSION "${IPEBASE_H}")
if (FOUND_IPE_VERSION)
set(IPE_VERSION ${CMAKE_MATCH_1} CACHE INTERNAL "Ipe version major number")
set(IPE_MINOR_VERSION_1 ${CMAKE_MATCH_2} CACHE INTERNAL "Ipe version minor number")
set(IPE_MINOR_VERSION_2 ${CMAKE_MATCH_3} CACHE INTERNAL "Ipe version patch number")
set(IPE_FULL_VERSION "${IPE_VERSION}.${IPE_MINOR_VERSION_1}.${IPE_MINOR_VERSION_2}" CACHE INTERNAL "Ipe version x.y.z")
endif()
endif()
if(IPE_INCLUDE_DIR AND IPE_LIBRARIES)
set(IPE_FOUND TRUE)
endif()
endif()
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(IPE
REQUIRED_VARS IPE_INCLUDE_DIR IPE_LIBRARIES
FOUND_VAR IPE_FOUND
VERSION_VAR IPE_FULL_VERSION)
if(IPE_FOUND)
message(STATUS "Found Ipe: ${IPE_INCLUDE_DIR} ${IPE_LIBRARIES}")
endif()

View File

@ -0,0 +1,905 @@
# 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/Efficient_RANSAC_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/Sweep_line_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

@ -0,0 +1,5 @@
set(list_of_whitelisted_headers_txt [=[
CGAL/Linear_cell_complex_constructors.h
]=])
separate_arguments(list_of_whitelisted_headers UNIX_COMMAND ${list_of_whitelisted_headers_txt})

View File

@ -0,0 +1,43 @@
foreach(n RANGE 5 ${CMAKE_ARGC})
list(APPEND INPUT_FILES ${CMAKE_ARGV${n}})
endforeach()
if(NOT CGAL_PACKAGES_PREFIX)
message(FATAL_ERROR
"The variable `CGAL_PACKAGES_PREFIX` should be defined to the prefix of CGAL packages!")
endif()
#message("regexp: \\. ${CGAL_PACKAGES_PREFIX}/[^/]*/include/CGAL/.*h")
foreach(INPUT_FILE ${INPUT_FILES})
file(STRINGS ${INPUT_FILE} input)
#message("input is : ${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 REPLACE "\\.* ${CGAL_PACKAGES_PREFIX}/" "" header "${header}")
string(REGEX REPLACE "/.*" "" pkg "${header}")
if(header)
list(APPEND headers ${header})
endif()
if(pkg)
list(APPEND pkgs ${pkg})
endif()
endforeach()
endforeach()
if(headers)
list(REMOVE_DUPLICATES headers)
endif()
if(pkgs)
list(REMOVE_DUPLICATES pkgs)
endif()
if(OUTPUT_HEADERS_LIST)
file(WRITE ${OUTPUT_HEADERS_LIST} "")
foreach(header ${headers})
file(APPEND ${OUTPUT_HEADERS_LIST} "${header}\n")
endforeach()
endif()
if(OUTPUT_PACKAGES_LIST)
file(WRITE ${OUTPUT_PACKAGES_LIST} "")
foreach(pkg ${pkgs})
file(APPEND ${OUTPUT_PACKAGES_LIST} "${pkg}\n")
endforeach()
endif()

View File

@ -0,0 +1,37 @@
if(NOT DEFINED CMD)
# message("CMAKE_ARGC: ${CMAKE_ARGC}")
# message("CMAKE_ARGV0: ${CMAKE_ARGV0}")
# message("CMAKE_ARGV1: ${CMAKE_ARGV1}")
# message("CMAKE_ARGV2: ${CMAKE_ARGV2}")
# message("CMAKE_ARGV3: ${CMAKE_ARGV3}")
# message("CMAKE_ARGV4: ${CMAKE_ARGV4}")
foreach(n RANGE 4 ${CMAKE_ARGC})
list(APPEND CMD ${CMAKE_ARGV${n}})
endforeach()
endif()
#message("run_cmd_redirection, the CMD list is: ${CMD}")
if(NOT CERR)
message(FATAL_ERROR
"The variable `CERR` should be defined to the output error file!")
endif()
execute_process(
COMMAND ${CMD}
ERROR_VARIABLE err
OUTPUT_VARIABLE output
RESULT_VARIABLE error_result)
file(WRITE ${CERR} "${err}")
if(error_result)
string(REPLACE ";" " " CMD_STR "${CMD}")
message(SEND_ERROR
"The command
${CMD_STR} > ${CERR}
ended with the error code ${error_result},
the following output:
${output}
and the following error output:
${err}"
)
endif()

View File

@ -23,7 +23,7 @@
#include <CGAL/Origin.h>
#include <CGAL/tags.h>
#include <CGAL/number_utils.h>
#include <CGAL/number_utils_classes.h>
#include <CGAL/representation_tags.h>
#include <CGAL/predicates/predicates_for_voronoi_intersection_cartesian_2_3.h>
#include <CGAL/constructions/constructions_for_voronoi_intersection_cartesian_2_3.h>

View File

@ -27,6 +27,7 @@
#include <CGAL/iterator.h>
#include <CGAL/utility.h>
#include <CGAL/triangulation_assertions.h>
#include <CGAL/number_utils.h>
#include <iostream> //TO DO : to remove

View File

@ -25,6 +25,7 @@
#include <CGAL/Object.h>
#include <CGAL/assertions.h>
#include <CGAL/Dimension.h>
#include <CGAL/result_of.h>
#include <boost/type_traits/is_same.hpp>
#include <boost/variant.hpp>

View File

@ -22,6 +22,7 @@
#define CGAL_INTERSECTION_TRAITS_3_H
#include <CGAL/Intersection_traits.h>
#include <vector>
#if !(CGAL_INTERSECTION_VERSION < 2)

View File

@ -27,6 +27,7 @@
#include <CGAL/wmult.h>
#include <boost/next_prior.hpp>
#include <CGAL/Intersection_traits_3.h>
#include <CGAL/number_utils.h>
namespace CGAL {

View File

@ -27,6 +27,7 @@
#define CGAL_BBOX_INTERSECTION_3_H
#include <CGAL/Bbox_3.h>
#include <CGAL/Object.h>
namespace CGAL {

View File

@ -1690,6 +1690,15 @@ const CGAL::Vector_3<Kernel>& v,
const CGAL::Vector_3<Kernel>& w);
/// @}
/*!
returns the dihedral angle of .... between `-180` and `180` degree.
*/
template <typename Kernel>
Kernel::FT dihedral_angle(const CGAL::Point_3<Kernel>& p,
const CGAL::Point_3<Kernel>& q,
const CGAL::Point_3<Kernel>& r,
const CGAL::Point_3<Kernel>& s);
// This is there to keep the global functions in alphabetical order
// instead of processing order.

View File

@ -24,8 +24,9 @@
#ifndef CGAL_AFF_TRANSFORMATION_2_H
#define CGAL_AFF_TRANSFORMATION_2_H
#include <CGAL/basic.h>
#include <CGAL/config.h>
#include <CGAL/Dimension.h>
#include <CGAL/aff_transformation_tags.h>
namespace CGAL {

View File

@ -25,6 +25,7 @@
#define CGAL_AFF_TRANSFORMATION_3_H
#include <CGAL/Dimension.h>
#include <CGAL/aff_transformation_tags.h>
namespace CGAL {

View File

@ -24,7 +24,7 @@
#ifndef CGAL_BBOX_2_H
#define CGAL_BBOX_2_H
#include <CGAL/basic.h>
#include <CGAL/config.h>
#include <CGAL/kernel_assertions.h>
#include <CGAL/IO/io.h>
#include <CGAL/Dimension.h>

View File

@ -24,7 +24,9 @@
#ifndef CGAL_BBOX_3_H
#define CGAL_BBOX_3_H
#include <CGAL/basic.h>
#include <CGAL/config.h>
#include <CGAL/kernel_assertions.h>
#include <CGAL/result_of.h>
#include <CGAL/IO/io.h>
#include <CGAL/Dimension.h>
#include <CGAL/array.h>

View File

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

View File

@ -20,7 +20,7 @@
#ifndef CGAL_DIMENSION_H
#define CGAL_DIMENSION_H
#include <CGAL/basic.h>
#include <CGAL/config.h>
#include <CGAL/Kernel_traits.h>
#include <climits>
#include <limits>

View File

@ -27,9 +27,12 @@
#include <CGAL/assertions.h>
#include <boost/type_traits/is_same.hpp>
#include <CGAL/kernel_assertions.h>
#include <CGAL/Kernel/Return_base_tag.h>
#include <CGAL/representation_tags.h>
#include <CGAL/Dimension.h>
#include <CGAL/result_of.h>
#include <CGAL/IO/io.h>
namespace CGAL {

View File

@ -28,8 +28,11 @@
#include <CGAL/assertions.h>
#include <boost/type_traits/is_same.hpp>
#include <CGAL/Kernel/Return_base_tag.h>
#include <CGAL/kernel_assertions.h>
#include <CGAL/representation_tags.h>
#include <CGAL/Dimension.h>
#include <CGAL/result_of.h>
#include <CGAL/IO/io.h>
namespace CGAL {

View File

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

View File

@ -21,7 +21,7 @@
#ifndef CGAL_KERNEL_RETURN_BASE_TAG_H
#define CGAL_KERNEL_RETURN_BASE_TAG_H
#include <CGAL/basic.h>
#include <CGAL/config.h>
// This is a simple tag which is used as additional (first) argument in
// some kernel functors, to tell them to return the base (rep) class,

View File

@ -35,6 +35,8 @@
#include <CGAL/Kernel/Return_base_tag.h>
#include <CGAL/Kernel/global_functions_3.h>
#include <cmath> // for Compute_dihedral_angle
namespace CGAL {
namespace CommonKernelFunctors {
@ -361,6 +363,41 @@ namespace CommonKernelFunctors {
}
};
template <typename K>
class Compute_dihedral_angle_3
{
typedef typename K::Point_3 Point_3;
public:
typedef typename K::FT result_type;
result_type
operator()(const Point_3& a, const Point_3& b, const Point_3& c, const Point_3& d) const
{
K k;
typename K::Construct_vector_3 vector = k.construct_vector_3_object();
typename K::Construct_cross_product_vector_3 cross_product =
k.construct_cross_product_vector_3_object();
typename K::Compute_squared_distance_3 sq_distance =
k.compute_squared_distance_3_object();
typename K::Compute_scalar_product_3 scalar_product =
k.compute_scalar_product_3_object();
typedef typename K::Vector_3 Vector_3;
typedef typename K::FT FT;
const Vector_3 ab = vector(a,b);
const Vector_3 ac = vector(a,c);
const Vector_3 ad = vector(a,d);
const Vector_3 abad = cross_product(ab,ad);
const double x = CGAL::to_double(scalar_product(cross_product(ab,ac), abad));
const double l_ab = CGAL::sqrt(CGAL::to_double(sq_distance(a,b)));
const double y = l_ab * CGAL::to_double(scalar_product(ac,abad));
return FT(std::atan2(y, x) * 180 / CGAL_PI );
}
};
template <typename K>
class Compute_squared_distance_2
{

View File

@ -516,6 +516,17 @@ determinant(const Vector_3<K> &v0, const Vector_3<K> &v1,
return internal::determinant(v0, v1, v2, K());
}
template < class K >
inline
typename K::FT
dihedral_angle(const Point_3<K> &p,
const Point_3<K> &q,
const Point_3<K> &r,
const Point_3<K> &s)
{
return internal::dihedral_angle(p, q, r, s, K());
}
template < class K >
inline
typename K::Line_3

View File

@ -591,6 +591,17 @@ determinant(const typename K::Vector_3 &v0,
return k.compute_determinant_3_object()(v0, v1, v2);
}
template < class K >
inline
typename K::FT
dihedral_angle(const typename K::Point_3 &p,
const typename K::Point_3 &q,
const typename K::Point_3 &r,
const typename K::Point_3 &s, const K& k)
{
return k.compute_dihedral_angle_3_object()(p, q, r, s);
}
template < class K >
inline
typename K::Line_3

View File

@ -176,6 +176,8 @@ CGAL_Kernel_cons(Compute_determinant_2,
compute_determinant_2_object)
CGAL_Kernel_cons(Compute_determinant_3,
compute_determinant_3_object)
CGAL_Kernel_cons(Compute_dihedral_angle_3,
compute_dihedral_angle_3_object)
CGAL_Kernel_cons(Compute_scalar_product_2,
compute_scalar_product_2_object)
CGAL_Kernel_cons(Compute_scalar_product_3,

View File

@ -25,7 +25,7 @@
#ifndef CGAL_KERNEL_MPL_H
#define CGAL_KERNEL_MPL_H
#include <CGAL/basic.h>
#include <CGAL/config.h>
// Some tools for basic template metaprogramming.
// These bits should move to CGAL/mpl.h in STL_Extension, or taken from Boost.

View File

@ -29,6 +29,7 @@
#include <boost/type_traits/is_same.hpp>
#include <CGAL/Kernel/Return_base_tag.h>
#include <CGAL/Dimension.h>
#include <CGAL/IO/io.h>
namespace CGAL {

View File

@ -30,6 +30,7 @@
#include <boost/type_traits/is_same.hpp>
#include <CGAL/Kernel/Return_base_tag.h>
#include <CGAL/Dimension.h>
#include <CGAL/IO/io.h>
namespace CGAL {

View File

@ -26,7 +26,7 @@
#ifndef CGAL_ORIGIN_H
#define CGAL_ORIGIN_H
#include <CGAL/basic.h>
#include <CGAL/config.h>
namespace CGAL {

View File

@ -29,6 +29,8 @@
#include <boost/type_traits/is_same.hpp>
#include <CGAL/Kernel/Return_base_tag.h>
#include <CGAL/Dimension.h>
#include <CGAL/result_of.h>
#include <CGAL/IO/io.h>
namespace CGAL {

View File

@ -32,6 +32,7 @@
#include <CGAL/Kernel/Return_base_tag.h>
#include <CGAL/representation_tags.h>
#include <CGAL/Dimension.h>
#include <CGAL/result_of.h>
namespace CGAL {

View File

@ -28,8 +28,11 @@
#include <CGAL/assertions.h>
#include <boost/type_traits/is_same.hpp>
#include <CGAL/Kernel/Return_base_tag.h>
#include <CGAL/kernel_assertions.h>
#include <CGAL/representation_tags.h>
#include <CGAL/Dimension.h>
#include <CGAL/result_of.h>
#include <CGAL/IO/io.h>
namespace CGAL {

View File

@ -30,6 +30,8 @@
#include <CGAL/Kernel/Return_base_tag.h>
#include <CGAL/representation_tags.h>
#include <CGAL/Dimension.h>
#include <CGAL/result_of.h>
#include <CGAL/IO/io.h>
namespace CGAL {

View File

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

View File

@ -28,6 +28,8 @@
#include <CGAL/assertions.h>
#include <boost/type_traits/is_same.hpp>
#include <CGAL/Kernel/Return_base_tag.h>
#include <CGAL/kernel_assertions.h>
#include <CGAL/kernel_config.h>
#include <CGAL/Bbox_3.h>
#include <CGAL/Dimension.h>

View File

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

View File

@ -30,8 +30,11 @@
#include <CGAL/assertions.h>
#include <boost/type_traits/is_same.hpp>
#include <CGAL/Kernel/Return_base_tag.h>
#include <CGAL/kernel_assertions.h>
#include <CGAL/representation_tags.h>
#include <CGAL/Dimension.h>
#include <CGAL/result_of.h>
#include <CGAL/IO/io.h>
namespace CGAL {

View File

@ -28,10 +28,13 @@
#include <CGAL/Origin.h>
#include <CGAL/Kernel/mpl.h>
#include <CGAL/representation_tags.h>
#include <CGAL/kernel_assertions.h>
#include <CGAL/assertions.h>
#include <boost/type_traits/is_same.hpp>
#include <CGAL/Kernel/Return_base_tag.h>
#include <CGAL/Dimension.h>
#include <CGAL/result_of.h>
#include <CGAL/IO/io.h>
namespace CGAL {

View File

@ -26,7 +26,7 @@
#ifndef CGAL_AFF_TRANSFORMATION_TAGS_H
#define CGAL_AFF_TRANSFORMATION_TAGS_H
#include <CGAL/basic.h>
#include <CGAL/config.h>
namespace CGAL {

View File

@ -27,6 +27,7 @@
#include <CGAL/config.h>
#include <CGAL/Kernel/Same_uncertainty.h>
#include <CGAL/Origin.h>
// If you add/change one type here, please update Is_a_predicate.h as well.

View File

@ -28,6 +28,7 @@
#include <CGAL/determinant.h>
#include <CGAL/number_utils_classes.h>
#include <CGAL/number_type_basic.h>
namespace CGAL {

View File

@ -23,6 +23,7 @@
#include <CGAL/Filtered_predicate.h>
#include <CGAL/internal/Exact_type_selector.h>
#include <CGAL/Kernel_d/Cartesian_converter_d.h>
#include <CGAL/Cartesian_d.h>
namespace CGAL {

View File

@ -25,6 +25,9 @@
#define CGAL_AFF_TRANSFORMATION_D_H
#include <CGAL/Dimension.h>
#include <CGAL/Kernel_d/Vector_d.h>
#include <CGAL/Kernel_d/Direction_d.h>
#include <CGAL/aff_transformation_tags.h>
namespace CGAL {

View File

@ -26,6 +26,9 @@
#define CGAL_HYPERPLANE_D_H
#include <CGAL/Dimension.h>
#include <CGAL/Kernel_d/Point_d.h>
#include <CGAL/Kernel_d/Direction_d.h>
#include <CGAL/enum.h>
namespace CGAL {

View File

@ -26,8 +26,11 @@
#define CGAL_LINE_D_H
#include <CGAL/Kernel_d/Pair_d.h>
#include <CGAL/Kernel_d/Point_d.h>
#include <CGAL/Kernel_d/Direction_d.h>
#include <CGAL/Kernel_d/Segment_d.h>
#include <CGAL/Kernel_d/Ray_d.h>
#include <CGAL/Kernel_d/Aff_transformation_d.h>
#include <CGAL/Dimension.h>
namespace CGAL {

View File

@ -26,8 +26,11 @@
#define CGAL_RAY_D_H
#include <CGAL/Kernel_d/Pair_d.h>
#include <CGAL/Kernel_d/Point_d.h>
#include <CGAL/Kernel_d/Direction_d.h>
#include <CGAL/Kernel_d/Segment_d.h>
#include <CGAL/Kernel_d/Line_d.h>
#include <CGAL/Kernel_d/Aff_transformation_d.h>
#include <CGAL/Dimension.h>
namespace CGAL {

View File

@ -26,8 +26,11 @@
#define CGAL_SEGMENT_D_H
#include <CGAL/Kernel_d/Pair_d.h>
#include <CGAL/Kernel_d/Point_d.h>
#include <CGAL/Kernel_d/Segment_d.h>
#include <CGAL/Kernel_d/Line_d.h>
#include <CGAL/Kernel_d/Ray_d.h>
#include <CGAL/Kernel_d/Aff_transformation_d.h>
#include <CGAL/Dimension.h>
namespace CGAL {

View File

@ -29,6 +29,10 @@
#include <vector>
#include <CGAL/Dimension.h>
#include <CGAL/use.h>
#include <CGAL/Handle.h>
#include <CGAL/Kernel_d/Tuple_d.h>
#include <CGAL/Kernel_d/Aff_transformation_d.h>
#include <CGAL/Kernel_d/Vector_d.h>
namespace CGAL {

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