diff --git a/.travis/build_package.sh b/.travis/build_package.sh index c55fc19b5a9..7fbe3c29aa2 100755 --- a/.travis/build_package.sh +++ b/.travis/build_package.sh @@ -11,7 +11,7 @@ function mytime { function build_examples { mkdir -p build-travis cd build-travis - mytime cmake -DCGAL_DIR="/usr/local/lib/cmake/CGAL" -DCMAKE_CXX_FLAGS="${CXX_FLAGS}" .. + mytime cmake -DCGAL_DIR="/usr/local/lib/cmake/CGAL" -DCMAKE_CXX_FLAGS="${CXX_FLAGS}" -DCGAL_BUILD_THREE_DOC=TRUE .. mytime make -j2 VERBOSE=1 } @@ -96,7 +96,7 @@ cd $ROOT cd $ROOT mkdir build_test cd build_test - mytime cmake -DCMAKE_INSTALL_PREFIX=install/ .. + mytime cmake -DCMAKE_INSTALL_PREFIX=install/ -DCGAL_BUILD_THREE_DOC=TRUE .. mytime make install # test install with minimal downstream example mkdir installtest @@ -110,7 +110,7 @@ cd $ROOT echo 'target_link_libraries(${PROJECT_NAME} CGAL::CGAL)' >> CMakeLists.txt echo '#include "CGAL/remove_outliers.h"' >> main.cpp cd build - mytime cmake -DCMAKE_INSTALL_PREFIX=../../install .. + mytime cmake -DCMAKE_INSTALL_PREFIX=../../install -DCGAL_BUILD_THREE_DOC=TRUE .. cd .. exit 0 fi diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_geometry_traits/Bezier_x_monotone_2.h b/Arrangement_on_surface_2/include/CGAL/Arr_geometry_traits/Bezier_x_monotone_2.h index 70bbc9801d4..25a1c51dbab 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_geometry_traits/Bezier_x_monotone_2.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_geometry_traits/Bezier_x_monotone_2.h @@ -950,11 +950,12 @@ _Bezier_x_monotone_2::point_position if ( p.is_rational() ){ - const Rational& px = ((Rat_point_2) p).x(); + const Rational px = ((Rat_point_2) p).x(); Integer denom_px=nt_traits.denominator(px); Integer numer_px=nt_traits.numerator(px); - Polynomial poly_px = CGAL::sign(numer_px) == ZERO ? Polynomial() : nt_traits.construct_polynomial(&numer_px,0); + Integer poly_px_scale = numer_px * _curve.x_norm(); + Polynomial poly_px = CGAL::sign(numer_px) == ZERO ? Polynomial() : nt_traits.construct_polynomial(&poly_px_scale,0); Polynomial poly_x = nt_traits.scale(_curve.x_polynomial(),denom_px) - poly_px; std::vector roots; diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Boolean_set_operations_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Boolean_set_operations_2.h index 7e2f9cfb60a..4f1ed78e348 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Boolean_set_operations_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Boolean_set_operations_2.h @@ -68,14 +68,13 @@ The value type of the `OutputIterator` is either `Polygon_with_holes_2` or `General_polygon_with_holes_2`. -The signature of the function is -\code - OutputIterator difference(const Type1 & p1, const Type2 & p2, OutputIterator oi); -\endcode +The signature of the function is: + - `%OutputIterator %difference(const Type1 & p1, const Type2 & p2, %OutputIterator oi);` + \cgalHeading{Parameters} -The types of the paramters of the `difference()` function are any of the following combinations. +The types of the parameters of the `difference()` function are any of the following combinations.
@@ -187,14 +186,13 @@ namespace CGAL { Each one of these functions computes if the interior of two given polygons `p1` and `p2` intersect. -The signature of the function is -\code - bool do_intersect(const Type1 & p1, const Type2 & p2); -\endcode +The signature of the function is: + - `bool do_intersect(const Type1 & p1, const Type2 & p2);` + \cgalHeading{Parameters} -The types of the paramters of the `do_intersect()` function are any of the following combinations. +The types of the parameters of the \link ref_bso_do_intersect `do_intersect()` \endlink function are any of the following combinations.
@@ -316,15 +314,14 @@ holes into an output container through a given output iterator `General_polygon_with_holes_2`. -The signature of the function is -\code - OutputIterator intersection(const Type1 & p1, const Type2 & p2, OutputIterator oi); -\endcode +The signature of the function is: + - `%OutputIterator %intersection(const Type1 & p1, const Type2 & p2, %OutputIterator oi);` + \cgalHeading{Parameters} -The types of the paramters of the `intersection()` function are any of the following combinations. +The types of the parameters of the `intersection()` function are any of the following combinations.
@@ -476,14 +473,13 @@ Each one of these functions computes the union of two given polygons returns `false`. -The signature of the function is -\code - bool join(const Type1 & p1, const Type2 & p2, General_polygon_with_holes_2 & res); -\endcode +The signature of the function is: + - `bool join(const Type1 & p1, const Type2 & p2, General_polygon_with_holes_2 & res);` + \cgalHeading{Parameters} -The types of the paramters of the `join()` function are any of the following combinations. +The types of the parameters of the `join()` function are any of the following combinations.
@@ -630,14 +626,12 @@ given polygons `p1` and `p2` intersect in their interior, all, and `ON_ORIENTED_BOUNDARY` if `p1` and `p2` intersect only in their boundaries. -The signature of the function is -\code - Oriented_side oriented_side(const Type1 & p1, const Type2 & p2); -\endcode +The signature of the function is: + - `Oriented_side oriented_side(const Type1 & p1, const Type2 & p2);` \cgalHeading{Parameters} -The types of the paramters of the `oriented_side()` function are any of the following combinations. +The types of the parameters of the `oriented_side()` function are any of the following combinations.
@@ -716,14 +710,12 @@ iterator `oi`. The value type of the `OutputIterator` is either `Polygon_with_holes_2` or `General_polygon_with_holes_2`. -The signature of the function is -\code - OutputIterator symmetric_difference(const Type1 & p1, const Type2 & p2, OutputIterator oi); -\endcode +The signature of the function is: + - `%OutputIterator symmetric_difference(const Type1 & p1, const Type2 & p2, %OutputIterator oi);` \cgalHeading{Parameters} -The types of the paramters of the `symmetric_difference()` function are any of the following combinations. +The types of the parameters of the `symmetric_difference()` function are any of the following combinations.
diff --git a/Documentation/doc/CMakeLists.txt b/Documentation/doc/CMakeLists.txt index cb41d1b91ec..868e585aab2 100644 --- a/Documentation/doc/CMakeLists.txt +++ b/Documentation/doc/CMakeLists.txt @@ -344,6 +344,12 @@ else() endforeach() endif() +option(CGAL_BUILD_THREE_DOC "Build the documentation of the Three package" OFF) + +if (NOT CGAL_BUILD_THREE_DOC) + list(REMOVE_ITEM CGAL_DOC_PACKAGES "Three") +endif() + foreach(package ${CGAL_DOC_PACKAGES}) configure_doxygen_package(${package}) endforeach() diff --git a/Installation/CMakeLists.txt b/Installation/CMakeLists.txt index 414dde098d0..ad6e3b6e3cd 100644 --- a/Installation/CMakeLists.txt +++ b/Installation/CMakeLists.txt @@ -1171,7 +1171,7 @@ You must disable CGAL_ENABLE_CHECK_HEADERS.") # Build the doc set(DOC_DIR "${CMAKE_BINARY_DIR}/build_doc") file(MAKE_DIRECTORY "${DOC_DIR}") - execute_process(COMMAND "${CMAKE_COMMAND}" -DDOXYGEN_EXECUTABLE=${DOXYGEN_EXECUTABLE} "${CMAKE_SOURCE_DIR}/Documentation/doc" + execute_process(COMMAND "${CMAKE_COMMAND}" -DCGAL_BUILD_THREE_DOC=TRUE -DDOXYGEN_EXECUTABLE=${DOXYGEN_EXECUTABLE} "${CMAKE_SOURCE_DIR}/Documentation/doc" WORKING_DIRECTORY "${DOC_DIR}" ) execute_process(COMMAND "${CMAKE_COMMAND}" --build . --target "doc" diff --git a/Point_set_3/include/CGAL/Point_set_3.h b/Point_set_3/include/CGAL/Point_set_3.h index 77283ebe510..571442b64c3 100644 --- a/Point_set_3/include/CGAL/Point_set_3.h +++ b/Point_set_3/include/CGAL/Point_set_3.h @@ -321,8 +321,8 @@ public: void clear() { m_base.clear(); - boost::tie (m_indices, boost::tuples::ignore) = this->add_property_map("index", typename Index::size_type(-1)); - boost::tie (m_points, boost::tuples::ignore) = this->add_property_map("point", Point (0., 0., 0.)); + m_indices = this->add_property_map("index", typename Index::size_type(-1)).first; + m_points = this->add_property_map("point", CGAL::ORIGIN).first; m_nb_removed = 0; } @@ -336,12 +336,12 @@ public: { Base other; other.template add("index", typename Index::size_type(-1)); - other.template add("point", Point (0., 0., 0.)); + other.template add("point", CGAL::ORIGIN); other.resize(m_base.size()); other.transfer(m_base); m_base.swap(other); - boost::tie (m_indices, boost::tuples::ignore) = this->property_map("index"); - boost::tie (m_points, boost::tuples::ignore) = this->property_map("point"); + m_indices = this->property_map("index").first; + m_points = this->property_map("point").first; } /*! @@ -790,7 +790,7 @@ public: { Property_map pm; bool added = false; - boost::tie (pm, added) = m_base.template add (name, t); + std::tie (pm, added) = m_base.template add (name, t); return std::make_pair (pm, added); } @@ -811,7 +811,7 @@ public: { Property_map pm; bool okay = false; - boost::tie (pm, okay) = m_base.template get(name); + std::tie (pm, okay) = m_base.template get(name); return std::make_pair (pm, okay); } @@ -852,10 +852,10 @@ public: that is `true` if the property was added and `false` if it already exists (and was therefore not added but only returned). */ - std::pair add_normal_map (const Vector& default_value = Vector(0., 0., 0.)) + std::pair add_normal_map (const Vector& default_value = CGAL::NULL_VECTOR) { bool out = false; - boost::tie (m_normals, out) = this->add_property_map ("normal", default_value); + std::tie (m_normals, out) = this->add_property_map ("normal", default_value); return std::make_pair (m_normals, out); } /*! diff --git a/STL_Extension/include/CGAL/Compact_container.h b/STL_Extension/include/CGAL/Compact_container.h index ee83c6c4d0b..e416832c3a3 100644 --- a/STL_Extension/include/CGAL/Compact_container.h +++ b/STL_Extension/include/CGAL/Compact_container.h @@ -1109,9 +1109,25 @@ namespace internal { std::size_t hash_value(const CC_iterator& i) { typedef Time_stamper_impl Stamper; - return Stamper::hash_value(&*i); + return Stamper::hash_value(i.operator->()); } +namespace handle { + // supply a specialization for Hash_functor + + // forward declare base template + template struct Hash_functor; + + template + struct Hash_functor>{ + std::size_t + operator()(const CC_iterator& i) + { + return hash_value(i); + } + }; +} // namespace handle + } // namespace internal } //namespace CGAL diff --git a/Scripts/developer_scripts/cgal_check_dependencies.sh b/Scripts/developer_scripts/cgal_check_dependencies.sh index f270b719745..01e4777ab6a 100644 --- a/Scripts/developer_scripts/cgal_check_dependencies.sh +++ b/Scripts/developer_scripts/cgal_check_dependencies.sh @@ -30,7 +30,7 @@ do fi done -cmake -DCGAL_HEADER_ONLY=FALSE -DCGAL_ENABLE_CHECK_HEADERS=TRUE -DDOXYGEN_EXECUTABLE="$DOX_PATH" -DCGAL_COPY_DEPENDENCIES=TRUE -DCMAKE_CXX_FLAGS="-std=c++1y" .. +cmake -DCGAL_HEADER_ONLY=FALSE -DCGAL_BUILD_THREE_DOC=TRUE -DCGAL_ENABLE_CHECK_HEADERS=TRUE -DDOXYGEN_EXECUTABLE="$DOX_PATH" -DCGAL_COPY_DEPENDENCIES=TRUE -DCMAKE_CXX_FLAGS="-std=c++1y" .. if [ -n "$DO_CHECK_HEADERS" ]; then make -j$(nproc --all) -k check_headers fi