From a42d5be5758a33cad6cce8fdc261de3cd63e6819 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Wed, 18 Apr 2012 08:57:31 +0000 Subject: [PATCH 01/19] Fix an error in URL Maybe we would like to encode the version number in the URL, but that would yet another generated file in CGAL... --- Installation/INSTALL | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Installation/INSTALL b/Installation/INSTALL index f35323a25a2..4b5b45a7f1d 100644 --- a/Installation/INSTALL +++ b/Installation/INSTALL @@ -11,7 +11,7 @@ are for the most common use cases, and cover the command line tools. For further information, or in case of problems, please see the detailed installation instructions, which can be found in this distribution in the file ./doc_html/index.html or on the CGAL website -http://www.cgal.org/Manual/beta/doc_html/cgal_manual/Installation/Chapter_main.html +http://www.cgal.org/Manual/latest/doc_html/cgal_manual/Installation/Chapter_main.html The documentation of CGAL is available in PDF and HTML formats. It is not bundled with the software but can be downloaded separately From 147ca74939c5ea69233ef753d032168d8801deca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Wed, 18 Apr 2012 12:37:23 +0000 Subject: [PATCH 02/19] add precondition to ensure the polygon is simple --- Straight_skeleton_2/include/CGAL/create_straight_skeleton_2.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Straight_skeleton_2/include/CGAL/create_straight_skeleton_2.h b/Straight_skeleton_2/include/CGAL/create_straight_skeleton_2.h index 7994b531c21..ded63d4ab9f 100644 --- a/Straight_skeleton_2/include/CGAL/create_straight_skeleton_2.h +++ b/Straight_skeleton_2/include/CGAL/create_straight_skeleton_2.h @@ -135,6 +135,7 @@ boost::shared_ptr< Straight_skeleton_2 > inline create_interior_straight_skeleton_2 ( Polygon const& aOutContour, K const& k ) { + CGAL_precondition(aOutContour.is_simple() || !"The input polygon is not simple."); return create_interior_straight_skeleton_2(CGAL_SS_i::vertices_begin(aOutContour) ,CGAL_SS_i::vertices_end(aOutContour) ,k @@ -221,6 +222,7 @@ boost::shared_ptr< Straight_skeleton_2 > inline create_exterior_straight_skeleton_2 ( FT const& aMaxOffset, Polygon const& aPoly, K const& k ) { + CGAL_precondition(aPoly.is_simple() || !"The input polygon is not simple."); return create_exterior_straight_skeleton_2(aMaxOffset ,CGAL_SS_i::vertices_begin(aPoly) ,CGAL_SS_i::vertices_end (aPoly) From 52d230565c7ae384a869d69c73c235028b2f3f28 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Wed, 18 Apr 2012 13:43:24 +0000 Subject: [PATCH 03/19] Remove files added but not used --- .../include/CGAL/IO/File_header_gocad.h | 61 -------------- .../include/CGAL/IO/File_writer_gocad.h | 83 ------------------- 2 files changed, 144 deletions(-) delete mode 100644 Stream_support/include/CGAL/IO/File_header_gocad.h delete mode 100644 Stream_support/include/CGAL/IO/File_writer_gocad.h diff --git a/Stream_support/include/CGAL/IO/File_header_gocad.h b/Stream_support/include/CGAL/IO/File_header_gocad.h deleted file mode 100644 index 620b6e23c56..00000000000 --- a/Stream_support/include/CGAL/IO/File_header_gocad.h +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright (c) 2009 GeometryFactory All rights reserved. -// -// This file is part of CGAL (www.cgal.org); you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public License as -// published by the Free Software Foundation; either version 3 of the License, -// or (at your option) any later version. -// -// Licensees holding a valid commercial license may use this file in -// accordance with the commercial license agreement provided with the software. -// -// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -// -// $URL$ -// $Id$ -// -// -// Author(s) : Andreas Fabri - - -#ifndef CGAL_IO_FILE_HEADER_GOCAD_H -#define CGAL_IO_FILE_HEADER_GOCAD_H 1 - -#include -#include - -namespace CGAL { - -class File_header_gocad { -private: - std::string m_fname; - std::string m_color; -public: -explicit File_header_gocad(std::string fname, std::string color) : m_fname(fname), m_color(color) {} - - std::string fname() const - { - return m_fname; - } - - std::string color() const - { - return m_color; - } - - -}; - -// Write header. -inline std::ostream& operator<<( std::ostream& out, const File_header_gocad& h){ - - return out << "GOCAD TSurf 1\n" - "HEADER {\n" - "name:" << h.fname() << "\n" - "*solid*color:" << h.color() << "\n" - "}\n" - "TFACE\n"; -} - -} //namespace CGAL -#endif // CGAL_IO_FILE_HEADER_GOCAD_H diff --git a/Stream_support/include/CGAL/IO/File_writer_gocad.h b/Stream_support/include/CGAL/IO/File_writer_gocad.h deleted file mode 100644 index 2267c66e3a5..00000000000 --- a/Stream_support/include/CGAL/IO/File_writer_gocad.h +++ /dev/null @@ -1,83 +0,0 @@ -// Copyright (c) 1997 -// Utrecht University (The Netherlands), -// ETH Zurich (Switzerland), -// INRIA Sophia-Antipolis (France), -// Max-Planck-Institute Saarbruecken (Germany), -// and Tel-Aviv University (Israel). All rights reserved. -// -// This file is part of CGAL (www.cgal.org); you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public License as -// published by the Free Software Foundation; either version 3 of the License, -// or (at your option) any later version. -// -// Licensees holding a valid commercial license may use this file in -// accordance with the commercial license agreement provided with the software. -// -// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -// -// $URL$ -// $Id$ -// -// -// Author(s) : Lutz Kettner - -#ifndef CGAL_IO_FILE_WRITER_GOCAD_H -#define CGAL_IO_FILE_WRITER_GOCAD_H 1 - -#include -#include -#include -#include - -namespace CGAL { - -class File_writer_gocad { - int m_vertex_index; - std::ostream* m_out; - File_header_gocad m_header; -public: - File_writer_gocad(std::string fname, std::string color) : m_vertex_index(0), m_header(fname, color) {} - File_writer_gocad( const File_header_gocad& h) : m_vertex_index(0), m_header( h) {} - - std::ostream& out() { return *m_out; } - File_header_gocad& header() { return m_header; } - const File_header_gocad& header() const { return m_header; } - - void write_header( std::ostream& o, - std::size_t vertices, - std::size_t halfedges, - std::size_t facets, - bool normals = false) - { - m_out = &o; - out() << header(); - } - - - void write_footer() - {} - - void write_vertex( const double& x, const double& y, const double& z) { - out() << "VRTX " << m_vertex_index++ << ' ' << x << ' ' << y << ' ' << z << '\n'; - } - - void write_facet_header() { - out() << '\n'; - } - - void write_facet_begin( std::size_t no) { - CGAL_assertion(no == 3); - out() << "TRGL " << ' '; - } - void write_facet_vertex_index( std::size_t index) { - out() << ' ' << index; - } - void write_facet_end() { - out() << '\n'; - } -}; - -} //namespace CGAL -#endif // CGAL_IO_FILE_WRITER_GOCAD_H // -// EOF // From a4e2f8d4f5a28f8cb713f5b9eace340b5e87d721 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Wed, 18 Apr 2012 15:33:14 +0000 Subject: [PATCH 04/19] Bug fixes in Mesh_3 documentation 1/ The requirement on the constructor of Polyhedral_mesh_domain_with_features_3 was wrong: the argument must be convertible to Mesh_polyhedron_3, and not to Polyhedron_3. 2/ The geom traits of Mesh_polyhedron_3 must be model of PolyhedronTraits_3 *and* of IntersectionGeometricTraits_3. (That patch passes the manual testsuite.) --- Mesh_3/doc_tex/Mesh_3_ref/Mesh_polyhedron_3.tex | 10 ++++++---- .../Polyhedral_mesh_domain_with_features_3.tex | 4 ++-- Mesh_3/doc_tex/Mesh_3_ref/intro.tex | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Mesh_3/doc_tex/Mesh_3_ref/Mesh_polyhedron_3.tex b/Mesh_3/doc_tex/Mesh_3_ref/Mesh_polyhedron_3.tex index 836aff7874a..d88a91a6168 100644 --- a/Mesh_3/doc_tex/Mesh_3_ref/Mesh_polyhedron_3.tex +++ b/Mesh_3/doc_tex/Mesh_3_ref/Mesh_polyhedron_3.tex @@ -12,7 +12,7 @@ % +------------------------------------------------------------------------+ -\begin{ccRefClass}{Mesh_polyhedron_3} %% add template arg's if necessary +\begin{ccRefClass}{Mesh_polyhedron_3} %% add template arg's if necessary %% \ccHtmlCrossLink{} %% add further rules for cross referencing links %% \ccHtmlIndexC[class]{} %% add further index entries @@ -28,16 +28,18 @@ detection algorithm. \ccParameters -Template parameter \ccc{Gt} stands for the geometric traits associated -to the meshing process. It should be a model of concept \ccc{PolyhedronTraits_3}. +Template parameter \ccc{IGT} stands for the geometric traits associated +to the meshing process. It should be a model of the two concepts +\ccc{PolyhedronTraits_3} and \ccc{IntersectionGeometricTraits_3}. \ccTypes -\ccNestedType{type}{\ccc{CGAL::Polyhedron_3} type with customized \ccc{PolyhedronItems_3} +\ccNestedType{type}{\ccc{CGAL::Polyhedron_3} type with customized \ccc{PolyhedronItems_3} designed to handle sharp feature detection.} \ccSeeAlso +\ccRefIdfierPage{CGAL::Polyhedron_3} \ccRefIdfierPage{CGAL::Polyhedral_mesh_domain_with_features_3} \end{ccRefClass} diff --git a/Mesh_3/doc_tex/Mesh_3_ref/Polyhedral_mesh_domain_with_features_3.tex b/Mesh_3/doc_tex/Mesh_3_ref/Polyhedral_mesh_domain_with_features_3.tex index 3c7ccb9f9cf..ff07014507c 100644 --- a/Mesh_3/doc_tex/Mesh_3_ref/Polyhedral_mesh_domain_with_features_3.tex +++ b/Mesh_3/doc_tex/Mesh_3_ref/Polyhedral_mesh_domain_with_features_3.tex @@ -53,7 +53,7 @@ instantiated with a model of the concept \ccc{IntersectionGeometricTraits_3}. \ccConstructor{template Polyhedral_mesh_domain_with_features_3(const Polyhedron& p);}{ Constructs a \ccc{Polyhedral_mesh_domain_with_features_3} from a \ccc{Polyhedron}. -The only requirement on type \ccc{Polyhedron} is that \ccc{CGAL::Polyhedron_3} should +The only requirement on type \ccc{Polyhedron} is that \ccc{CGAL::Mesh_polyhedron_3::type} should be constructible from \ccc{Polyhedron}. No feature detection is done at this level. Note that a copy of \ccc{p} will be done.} @@ -73,7 +73,7 @@ those triangles is a feature edge.} \ccRefConceptPage{MeshDomainWithFeatures_3} \\ \ccRefIdfierPage{CGAL::Mesh_domain_with_polyline_features_3} \\ \ccRefIdfierPage{CGAL::Polyhedral_mesh_domain_3} \\ -\ccRefConceptPage{Mesh_polyhedron_3} +\ccRefIdfierPage{CGAL::Mesh_polyhedron_3} \end{ccRefClass} diff --git a/Mesh_3/doc_tex/Mesh_3_ref/intro.tex b/Mesh_3/doc_tex/Mesh_3_ref/intro.tex index dd1b5e63f7f..62b6ec7868c 100644 --- a/Mesh_3/doc_tex/Mesh_3_ref/intro.tex +++ b/Mesh_3/doc_tex/Mesh_3_ref/intro.tex @@ -51,7 +51,7 @@ and their associated classes: \ccRefIdfierPage{CGAL::Polyhedral_mesh_domain_with_features_3} \\ \ccRefIdfierPage{CGAL::Labeled_image_mesh_domain_3} \\ \ccRefIdfierPage{CGAL::Mesh_domain_with_polyline_features_3} \\ -\ccRefIdfierPage{CGAL::Mesh_polyhedron_3} \\ +\ccRefIdfierPage{CGAL::Mesh_polyhedron_3} \\ \ccRefIdfierPage{CGAL::Triangle_accessor_3,K>} \\ From f142cb667dbd1150f3bb04801cb1c7d3f08c7188 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Thu, 19 Apr 2012 11:59:24 +0000 Subject: [PATCH 05/19] Fix a bug in test of equality operator of CGAL::cpp0x::tuple Do not test equality between default initialized tuples, because GNU/g++ version 4.1.2 does not default-initialize correctly std::tr1::tuple. --- STL_Extension/test/STL_Extension/test_stl_extension.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/STL_Extension/test/STL_Extension/test_stl_extension.cpp b/STL_Extension/test/STL_Extension/test_stl_extension.cpp index a7ab589d457..142fbd51689 100644 --- a/STL_Extension/test/STL_Extension/test_stl_extension.cpp +++ b/STL_Extension/test/STL_Extension/test_stl_extension.cpp @@ -8115,8 +8115,13 @@ void test_tuple(){ CGAL_assertion( CGAL::cpp0x::get<0>(t1)==i1 ); CGAL_assertion( CGAL::cpp0x::get<1>(t1)==i2 ); CGAL_assertion(t1==t1_2); // test the equality operator - T2 t2 = T2(); - CGAL_assertion( t2 == T2() ); + + // T2 t2 = T2(); + // CGAL_assertion( t2 == T2() ); + // + // Do not test equality between default initialized tuples, because + // GNU/g++ version 4.1.2 does not default-initialize correctly + // std::tr1::tuple. } void test_prev_next() From a40c0bf6a889f3343244565a19353f6d1aa4152b Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Thu, 19 Apr 2012 12:28:12 +0000 Subject: [PATCH 06/19] A branch to extend the CGAL::cpp0x::get function template in --- .../doc_tex/STL_Extension_ref/tuple.tex | 3 +- STL_Extension/include/CGAL/tuple.h | 52 +++++++++++++++++-- .../test/STL_Extension/test_stl_extension.cpp | 21 ++++++-- 3 files changed, 66 insertions(+), 10 deletions(-) diff --git a/STL_Extension/doc_tex/STL_Extension_ref/tuple.tex b/STL_Extension/doc_tex/STL_Extension_ref/tuple.tex index b366e999da4..8689874bea1 100644 --- a/STL_Extension/doc_tex/STL_Extension_ref/tuple.tex +++ b/STL_Extension/doc_tex/STL_Extension_ref/tuple.tex @@ -33,7 +33,8 @@ is taken from Boost. Some free functions part of the standard interface of \ccc{tuple} are also brought in namespace \ccc{CGAL::cpp0x} with using declarations, these are \ccc{make_tuple}, -\ccc{get}, \ccc{tie}. +\ccc{get}, \ccc{tie}. Like in C++0x, the \ccc{get} function template is +specialized so that it can take \ccc{std::pair} as argument. Two standard helper classes are also provided for convenience (\ccc{tuple_size} and \ccc{tuple_element}). \end{ccRefClass} diff --git a/STL_Extension/include/CGAL/tuple.h b/STL_Extension/include/CGAL/tuple.h index 65699b3c76e..c1ab51bde52 100644 --- a/STL_Extension/include/CGAL/tuple.h +++ b/STL_Extension/include/CGAL/tuple.h @@ -27,12 +27,14 @@ #ifndef CGAL_CFG_NO_CPP0X_TUPLE # include -#elif !defined CGAL_CFG_NO_TR1_TUPLE -# include -#else -# include -# include #endif +#ifndef CGAL_CFG_NO_TR1_TUPLE +# include +#endif + +#include +#include +#include namespace CGAL { @@ -68,6 +70,46 @@ struct tuple_element: public boost::tuples::element{}; #endif + +#if defined(CGAL_CFG_NO_CPP0X_TUPLE) // if not C++11 tuple + +//////////////////////////////////////////////////////////// +// // +// Allow CGAL::cpp0x::get(std::pair), if N==0 or N==1. // +// // +// That is already in C++11, but not in TR1 or in Boost // +// // +//////////////////////////////////////////////////////////// +template +struct pair_get; + +template +struct pair_get<0, T1, T2> { + static T1& get(std::pair& pair) { return pair.first; } + static const T1& get(const std::pair& pair) { return pair.first; } +}; // end specialization struct pair_get<0, T2, T2> + +template +struct pair_get<1, T1, T2> { + static T2& get(std::pair& pair) { return pair.second; } + static const T2& get(const std::pair& pair) { return pair.second; } +}; // end specialization struct pair_get<0, T2, T2> + +template +inline typename boost::tuples::element >::type& +get(std::pair& pair) { + return pair_get::get(pair); +} + +template +inline const typename boost::tuples::element >::type& +get(const std::pair& pair) { + return pair_get::get(pair); +} + +#endif // end if not C++11 tuple + + } // cpp0x #ifndef CGAL_CFG_NO_CPP0X_VARIADIC_TEMPLATES diff --git a/STL_Extension/test/STL_Extension/test_stl_extension.cpp b/STL_Extension/test/STL_Extension/test_stl_extension.cpp index 142fbd51689..75e8bbbb05e 100644 --- a/STL_Extension/test/STL_Extension/test_stl_extension.cpp +++ b/STL_Extension/test/STL_Extension/test_stl_extension.cpp @@ -8110,10 +8110,7 @@ void test_tuple(){ T1 t1=CGAL::cpp0x::make_tuple(1,2); T1 t1_2=CGAL::cpp0x::make_tuple(1,2); - int i1=-1,i2=-1; - CGAL::cpp0x::tie(i1,i2)=t1; - CGAL_assertion( CGAL::cpp0x::get<0>(t1)==i1 ); - CGAL_assertion( CGAL::cpp0x::get<1>(t1)==i2 ); + CGAL_assertion(t1==t1_2); // test the equality operator // T2 t2 = T2(); @@ -8122,6 +8119,22 @@ void test_tuple(){ // Do not test equality between default initialized tuples, because // GNU/g++ version 4.1.2 does not default-initialize correctly // std::tr1::tuple. + + // Test CGAL::cpp0x::tie + int i1=-1,i2=-1; + CGAL::cpp0x::tie(i1,i2)=t1; + CGAL_assertion( CGAL::cpp0x::get<0>(t1)==i1 ); + CGAL_assertion( CGAL::cpp0x::get<1>(t1)==i2 ); + + // Test CGAL::cpp0x::get for a pair + double d = 1; + std::pair pair(-3, &d); + const std::pair const_pair(2, &d); + + assert(CGAL::cpp0x::get<0>(pair) == -3); + assert(CGAL::cpp0x::get<1>(pair) == &d); + assert(CGAL::cpp0x::get<0>(const_pair) == 2); + assert(CGAL::cpp0x::get<1>(const_pair) == &d); } void test_prev_next() From 7cc00d2449896f8c2eca48d20ae808e8de4741e1 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Fri, 20 Apr 2012 09:29:56 +0000 Subject: [PATCH 07/19] SVG version of the euler fig --- .gitattributes | 1 + .../doc_tex/Polyhedron_ref/fig/euler.svg | 319 ++++++++++++++++++ 2 files changed, 320 insertions(+) create mode 100644 Polyhedron/doc_tex/Polyhedron_ref/fig/euler.svg diff --git a/.gitattributes b/.gitattributes index fa0e3ffdd7b..d689dcc997f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3219,6 +3219,7 @@ Polyhedron/doc_tex/Polyhedron_ref/fig/add_facet.pdf -text svneol=unset#applicati Polyhedron/doc_tex/Polyhedron_ref/fig/add_facet1.gif -text svneol=unset#image/gif Polyhedron/doc_tex/Polyhedron_ref/fig/add_facet2.gif -text svneol=unset#image/gif Polyhedron/doc_tex/Polyhedron_ref/fig/euler.pdf -text svneol=unset#application/pdf +Polyhedron/doc_tex/Polyhedron_ref/fig/euler.svg -text Polyhedron/doc_tex/Polyhedron_ref/fig/euler_center.gif -text svneol=unset#image/gif Polyhedron/doc_tex/Polyhedron_ref/fig/euler_center.pdf -text svneol=unset#application/pdf Polyhedron/doc_tex/Polyhedron_ref/fig/euler_facet.gif -text svneol=unset#image/gif diff --git a/Polyhedron/doc_tex/Polyhedron_ref/fig/euler.svg b/Polyhedron/doc_tex/Polyhedron_ref/fig/euler.svg new file mode 100644 index 00000000000..84dbd660f59 --- /dev/null +++ b/Polyhedron/doc_tex/Polyhedron_ref/fig/euler.svg @@ -0,0 +1,319 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 41cef5c422b8120d80e41de27d03c1dd7a836a4e Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Fri, 20 Apr 2012 09:33:43 +0000 Subject: [PATCH 08/19] Vectorial versions --- .gitattributes | 4 + .../Polyhedron_ref/fig/euler-facet.pdf | Bin 0 -> 9313 bytes .../Polyhedron_ref/fig/euler-facet.svg | 929 +++++++++++++++++ .../Polyhedron_ref/fig/euler-vertex.pdf | Bin 0 -> 10814 bytes .../Polyhedron_ref/fig/euler-vertex.svg | 938 ++++++++++++++++++ 5 files changed, 1871 insertions(+) create mode 100644 Polyhedron/doc_tex/Polyhedron_ref/fig/euler-facet.pdf create mode 100644 Polyhedron/doc_tex/Polyhedron_ref/fig/euler-facet.svg create mode 100644 Polyhedron/doc_tex/Polyhedron_ref/fig/euler-vertex.pdf create mode 100644 Polyhedron/doc_tex/Polyhedron_ref/fig/euler-vertex.svg diff --git a/.gitattributes b/.gitattributes index d689dcc997f..fc340aa0b41 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3218,6 +3218,10 @@ Polyhedron/doc_tex/Polyhedron/idraw/polyhedron.ips -text svneol=unset#applicatio Polyhedron/doc_tex/Polyhedron_ref/fig/add_facet.pdf -text svneol=unset#application/pdf Polyhedron/doc_tex/Polyhedron_ref/fig/add_facet1.gif -text svneol=unset#image/gif Polyhedron/doc_tex/Polyhedron_ref/fig/add_facet2.gif -text svneol=unset#image/gif +Polyhedron/doc_tex/Polyhedron_ref/fig/euler-facet.pdf -text svneol=unset#application/pdf +Polyhedron/doc_tex/Polyhedron_ref/fig/euler-facet.svg -text +Polyhedron/doc_tex/Polyhedron_ref/fig/euler-vertex.pdf -text svneol=unset#application/pdf +Polyhedron/doc_tex/Polyhedron_ref/fig/euler-vertex.svg -text Polyhedron/doc_tex/Polyhedron_ref/fig/euler.pdf -text svneol=unset#application/pdf Polyhedron/doc_tex/Polyhedron_ref/fig/euler.svg -text Polyhedron/doc_tex/Polyhedron_ref/fig/euler_center.gif -text svneol=unset#image/gif diff --git a/Polyhedron/doc_tex/Polyhedron_ref/fig/euler-facet.pdf b/Polyhedron/doc_tex/Polyhedron_ref/fig/euler-facet.pdf new file mode 100644 index 0000000000000000000000000000000000000000..259c5fb3a4822b7944105a7e2597f60423d9aeaf GIT binary patch literal 9313 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 literal 0 HcmV?d00001 diff --git a/Polyhedron/doc_tex/Polyhedron_ref/fig/euler-facet.svg b/Polyhedron/doc_tex/Polyhedron_ref/fig/euler-facet.svg new file mode 100644 index 00000000000..cde3e4a3371 --- /dev/null +++ b/Polyhedron/doc_tex/Polyhedron_ref/fig/euler-facet.svg @@ -0,0 +1,929 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Polyhedron/doc_tex/Polyhedron_ref/fig/euler-vertex.pdf b/Polyhedron/doc_tex/Polyhedron_ref/fig/euler-vertex.pdf new file mode 100644 index 0000000000000000000000000000000000000000..baca524996d78608871a466ea83a55b7d83aff77 GIT binary patch literal 10814 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 Cia50Z literal 0 HcmV?d00001 diff --git a/Polyhedron/doc_tex/Polyhedron_ref/fig/euler-vertex.svg b/Polyhedron/doc_tex/Polyhedron_ref/fig/euler-vertex.svg new file mode 100644 index 00000000000..5201ecd87e1 --- /dev/null +++ b/Polyhedron/doc_tex/Polyhedron_ref/fig/euler-vertex.svg @@ -0,0 +1,938 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 579a606a752d626d3575921d26ec81ace943fa97 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Fri, 20 Apr 2012 09:35:35 +0000 Subject: [PATCH 09/19] Rename - to _, to have same naming scheme as .gif files --- .gitattributes | 8 ++++---- .../fig/{euler-facet.pdf => euler_facet.pdf} | Bin .../fig/{euler-facet.svg => euler_facet.svg} | 0 .../fig/{euler-vertex.pdf => euler_vertex.pdf} | Bin .../fig/{euler-vertex.svg => euler_vertex.svg} | 0 5 files changed, 4 insertions(+), 4 deletions(-) rename Polyhedron/doc_tex/Polyhedron_ref/fig/{euler-facet.pdf => euler_facet.pdf} (100%) rename Polyhedron/doc_tex/Polyhedron_ref/fig/{euler-facet.svg => euler_facet.svg} (100%) rename Polyhedron/doc_tex/Polyhedron_ref/fig/{euler-vertex.pdf => euler_vertex.pdf} (100%) rename Polyhedron/doc_tex/Polyhedron_ref/fig/{euler-vertex.svg => euler_vertex.svg} (100%) diff --git a/.gitattributes b/.gitattributes index fc340aa0b41..38d7151d460 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3218,18 +3218,18 @@ Polyhedron/doc_tex/Polyhedron/idraw/polyhedron.ips -text svneol=unset#applicatio Polyhedron/doc_tex/Polyhedron_ref/fig/add_facet.pdf -text svneol=unset#application/pdf Polyhedron/doc_tex/Polyhedron_ref/fig/add_facet1.gif -text svneol=unset#image/gif Polyhedron/doc_tex/Polyhedron_ref/fig/add_facet2.gif -text svneol=unset#image/gif -Polyhedron/doc_tex/Polyhedron_ref/fig/euler-facet.pdf -text svneol=unset#application/pdf -Polyhedron/doc_tex/Polyhedron_ref/fig/euler-facet.svg -text -Polyhedron/doc_tex/Polyhedron_ref/fig/euler-vertex.pdf -text svneol=unset#application/pdf -Polyhedron/doc_tex/Polyhedron_ref/fig/euler-vertex.svg -text Polyhedron/doc_tex/Polyhedron_ref/fig/euler.pdf -text svneol=unset#application/pdf Polyhedron/doc_tex/Polyhedron_ref/fig/euler.svg -text Polyhedron/doc_tex/Polyhedron_ref/fig/euler_center.gif -text svneol=unset#image/gif Polyhedron/doc_tex/Polyhedron_ref/fig/euler_center.pdf -text svneol=unset#application/pdf Polyhedron/doc_tex/Polyhedron_ref/fig/euler_facet.gif -text svneol=unset#image/gif +Polyhedron/doc_tex/Polyhedron_ref/fig/euler_facet.pdf -text svneol=unset#application/pdf +Polyhedron/doc_tex/Polyhedron_ref/fig/euler_facet.svg -text Polyhedron/doc_tex/Polyhedron_ref/fig/euler_loop.gif -text svneol=unset#image/gif Polyhedron/doc_tex/Polyhedron_ref/fig/euler_loop.pdf -text svneol=unset#application/pdf Polyhedron/doc_tex/Polyhedron_ref/fig/euler_vertex.gif -text svneol=unset#image/gif +Polyhedron/doc_tex/Polyhedron_ref/fig/euler_vertex.pdf -text svneol=unset#application/pdf +Polyhedron/doc_tex/Polyhedron_ref/fig/euler_vertex.svg -text Polyhedron/doc_tex/Polyhedron_ref/fig/halfedge.gif -text svneol=unset#image/gif Polyhedron/doc_tex/Polyhedron_ref/fig/halfedge.pdf -text svneol=unset#application/pdf Polyhedron/doc_tex/Polyhedron_ref/fig/halfedge_small.gif -text svneol=unset#image/gif diff --git a/Polyhedron/doc_tex/Polyhedron_ref/fig/euler-facet.pdf b/Polyhedron/doc_tex/Polyhedron_ref/fig/euler_facet.pdf similarity index 100% rename from Polyhedron/doc_tex/Polyhedron_ref/fig/euler-facet.pdf rename to Polyhedron/doc_tex/Polyhedron_ref/fig/euler_facet.pdf diff --git a/Polyhedron/doc_tex/Polyhedron_ref/fig/euler-facet.svg b/Polyhedron/doc_tex/Polyhedron_ref/fig/euler_facet.svg similarity index 100% rename from Polyhedron/doc_tex/Polyhedron_ref/fig/euler-facet.svg rename to Polyhedron/doc_tex/Polyhedron_ref/fig/euler_facet.svg diff --git a/Polyhedron/doc_tex/Polyhedron_ref/fig/euler-vertex.pdf b/Polyhedron/doc_tex/Polyhedron_ref/fig/euler_vertex.pdf similarity index 100% rename from Polyhedron/doc_tex/Polyhedron_ref/fig/euler-vertex.pdf rename to Polyhedron/doc_tex/Polyhedron_ref/fig/euler_vertex.pdf diff --git a/Polyhedron/doc_tex/Polyhedron_ref/fig/euler-vertex.svg b/Polyhedron/doc_tex/Polyhedron_ref/fig/euler_vertex.svg similarity index 100% rename from Polyhedron/doc_tex/Polyhedron_ref/fig/euler-vertex.svg rename to Polyhedron/doc_tex/Polyhedron_ref/fig/euler_vertex.svg From 66ec3ee6b8e5f3e06a952f5288ececf0977a7159 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Fri, 20 Apr 2012 10:30:10 +0000 Subject: [PATCH 10/19] I was wrong: get(std::pair) was already in TR1. Strange that it is not in Boost. --- STL_Extension/include/CGAL/tuple.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/STL_Extension/include/CGAL/tuple.h b/STL_Extension/include/CGAL/tuple.h index c1ab51bde52..8088806b939 100644 --- a/STL_Extension/include/CGAL/tuple.h +++ b/STL_Extension/include/CGAL/tuple.h @@ -71,13 +71,14 @@ struct tuple_element: public boost::tuples::element{}; #endif -#if defined(CGAL_CFG_NO_CPP0X_TUPLE) // if not C++11 tuple +#if defined(CGAL_CFG_NO_CPP0X_TUPLE) && defined(CGAL_CFG_NO_TR1_TUPLE) +// If not TR1 or C++11 tuple, we need to add get(std::pair). //////////////////////////////////////////////////////////// // // // Allow CGAL::cpp0x::get(std::pair), if N==0 or N==1. // // // -// That is already in C++11, but not in TR1 or in Boost // +// That is already in TR1 and C++11, but not in Boost. // // // //////////////////////////////////////////////////////////// template From 4c186e9417da06202cad8d1c77f8ae0ef95c9865 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Fri, 20 Apr 2012 10:34:06 +0000 Subject: [PATCH 11/19] Oops: std::tr1::get(std::pair) is in --- STL_Extension/include/CGAL/tuple.h | 1 + 1 file changed, 1 insertion(+) diff --git a/STL_Extension/include/CGAL/tuple.h b/STL_Extension/include/CGAL/tuple.h index 8088806b939..698df419e55 100644 --- a/STL_Extension/include/CGAL/tuple.h +++ b/STL_Extension/include/CGAL/tuple.h @@ -30,6 +30,7 @@ #endif #ifndef CGAL_CFG_NO_TR1_TUPLE # include +# include #endif #include From 2f06819c2eb7e2f6d1b95ba732b4ed87f8b42f58 Mon Sep 17 00:00:00 2001 From: Andreas Fabri Date: Fri, 20 Apr 2012 10:52:33 +0000 Subject: [PATCH 12/19] Fix typo --- .../Triangulation_2_ref/Constrained_triangulation_plus_2.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_triangulation_plus_2.tex b/Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_triangulation_plus_2.tex index dc6a281517c..71555e721e8 100644 --- a/Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_triangulation_plus_2.tex +++ b/Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_triangulation_plus_2.tex @@ -102,7 +102,7 @@ is \ccc{Context}.} \ccConstructor{Constrained_triangulation_plus_2(const Constrained_triangulation_plus_2& ct);}{Copy constructor.} -\ccConstructor{Constrained_triangulation_plus_2(std::list& lc, +\ccConstructor{Constrained_triangulation_plus_2(std::list& lc, const Geom_traits& t = Geom_traits())} {Introduces and builds a constrained triangulation from the list of constraints \ccc{lc}.} From 7611a198039ebcd724cd0529e4482b7ddb25f7b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Mon, 23 Apr 2012 08:13:43 +0000 Subject: [PATCH 13/19] more verbose test --- Number_types/test/Number_types/Root_of_traits.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Number_types/test/Number_types/Root_of_traits.cpp b/Number_types/test/Number_types/Root_of_traits.cpp index 86d1ef54716..a9cb2f5c2a2 100644 --- a/Number_types/test/Number_types/Root_of_traits.cpp +++ b/Number_types/test/Number_types/Root_of_traits.cpp @@ -46,6 +46,7 @@ void test_root_of_traits_for_set(Integer, Rational, FWS){ } int main(){ + std::cout << "Testing with double" << std::endl; CGAL::Test::test_root_of_traits< double , double , double >(); try{// just compile and try to get as far as you can go. @@ -56,6 +57,7 @@ int main(){ #ifdef CGAL_HAS_GMP_ARITHMETIC_KERNEL //TODO: switch to Gmpq { + std::cout << "Testing with GMP" << std::endl; typedef CGAL::GMP_arithmetic_kernel AK; typedef AK::Integer Integer; typedef AK::Rational Rational; @@ -65,6 +67,7 @@ int main(){ #endif #ifdef CGAL_HAS_LEDA_ARITHMETIC_KERNEL { + std::cout << "Testing with LEDA" << std::endl; typedef CGAL::LEDA_arithmetic_kernel AK; typedef AK::Integer Integer; typedef AK::Rational Rational; @@ -74,6 +77,7 @@ int main(){ #endif #ifdef CGAL_HAS_CORE_ARITHMETIC_KERNEL { + std::cout << "Testing with CORE" << std::endl; typedef CGAL::CORE_arithmetic_kernel AK; typedef AK::Integer Integer; typedef AK::Rational Rational; @@ -82,6 +86,7 @@ int main(){ } #endif { + std::cout << "Testing with MP_Float" << std::endl; typedef CGAL::MP_Float_arithmetic_kernel AK; typedef AK::Integer Integer; typedef AK::Rational Rational; From 4fabccd1115341a9c2306280e59e6c9a71052e88 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Mon, 23 Apr 2012 13:18:04 +0000 Subject: [PATCH 14/19] updated crontab (automated commit) --- .../infrastructure/cgal.geometryfactory.com/crontab | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Maintenance/infrastructure/cgal.geometryfactory.com/crontab b/Maintenance/infrastructure/cgal.geometryfactory.com/crontab index 175d6bc0540..259c5732ad1 100644 --- a/Maintenance/infrastructure/cgal.geometryfactory.com/crontab +++ b/Maintenance/infrastructure/cgal.geometryfactory.com/crontab @@ -11,7 +11,7 @@ # Update testsuite result pages -5,15,25,35,45,55 * * * * cd $HOME/CGAL/collect_and_public_testresults; ./treat_result_collection +#5,15,25,35,45,55 * * * * cd $HOME/CGAL/collect_and_public_testresults; ./treat_result_collection # Create internal release # The script also updates the manual tools. @@ -20,7 +20,7 @@ 0 21 * * Fri cd $HOME/CGAL/create_internal_release; $HOME/bin/create_release $HOME/CGAL/next --public --do-it # "next" + candidates -0 21 * * Mon,Tue,Wed,Thu,Sun cd $HOME/CGAL/create_internal_release; $HOME/bin/create_release $HOME/CGAL/next $HOME/CGAL/candidate-packages --public --do-it +#0 21 * * Mon,Tue,Wed,Thu,Sun cd $HOME/CGAL/create_internal_release; $HOME/bin/create_release $HOME/CGAL/next $HOME/CGAL/candidate-packages --public --do-it # - on trunk #0 21 * * Sat cd $HOME/CGAL/create_internal_release; $HOME/bin/create_release $HOME/CGAL/trunk --public --do-it @@ -31,10 +31,10 @@ #30 21 * * * grep 'conflicts with' $HOME/CGAL/create_internal_release/create_release.log.`date '+%Y-%m-%d'`* --no-filename # Try to launch the test suite, every 10mn, from 21:00 to 22:50 -*/10 21-22 * * * $HOME/CGAL/Scripts/developer_scripts/autotest_cgal_with_cmake +#*/10 21-22 * * * $HOME/CGAL/Scripts/developer_scripts/autotest_cgal_with_cmake # Manual Test suite, at 9:40pm -40 21 * * * cd $HOME/CGAL/releases-and-testsuites-with-cmake/CGAL-I/doc_tex; nice -19 $HOME/bin/cgal_manual -testsuite || true +#40 21 * * * cd $HOME/CGAL/releases-and-testsuites-with-cmake/CGAL-I/doc_tex; nice -19 $HOME/bin/cgal_manual -testsuite || true # Dump the crontab to SVN every hour at minute 18 18 * * * * $HOME/bin/dump_crontab From 5acc79e554415fe4385926e2b0e8699db6dc388d Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Mon, 23 Apr 2012 16:54:47 +0000 Subject: [PATCH 15/19] Add comments to explain what happens with the use of Default Dt_3 --- Triangulation_3/include/CGAL/Delaunay_triangulation_3.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Triangulation_3/include/CGAL/Delaunay_triangulation_3.h b/Triangulation_3/include/CGAL/Delaunay_triangulation_3.h index 79a8a521374..894fee0afbe 100644 --- a/Triangulation_3/include/CGAL/Delaunay_triangulation_3.h +++ b/Triangulation_3/include/CGAL/Delaunay_triangulation_3.h @@ -47,12 +47,18 @@ namespace CGAL { +// Here is the declaration of a class template with three arguments, one +// having a default value. There is no definition of that class template. template < class Gt, class Tds_ = Default, class Location_policy = Default > class Delaunay_triangulation_3; +// There is a specialization Delaunay_triangulation_3 +// defined in . +// Here is the specialization Delaunay_triangulation_3, with two +// arguments, that is if Location_policy being the default value 'Default'. template < class Gt, class Tds_ > class Delaunay_triangulation_3 : public Triangulation_3 From a8473dfe083418d42bea7eb37474c6e170202988 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Mon, 23 Apr 2012 18:03:14 +0000 Subject: [PATCH 16/19] Document the destructor is ugly and useless --- .../Constrained_triangulation_plus_2.tex | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_triangulation_plus_2.tex b/Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_triangulation_plus_2.tex index 71555e721e8..2f8d4476d4b 100644 --- a/Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_triangulation_plus_2.tex +++ b/Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_triangulation_plus_2.tex @@ -119,9 +119,9 @@ $\left[\right.$\ccc{first}, \ccc{last}$\left.\right)$. is \ccc{Constraint}. } -\ccFunction{void ~ctp();} -{Destructor. All vertices and faces are deleted. -The constraint hierarchy is deleted.} +%\ccFunction{void ~ctp();} +%{Destructor. All vertices and faces are deleted. +%The constraint hierarchy is deleted.} From a4be5cfc47202b7b5ab8cf3fd8cacefa01de9198 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Mon, 23 Apr 2012 18:18:04 +0000 Subject: [PATCH 17/19] updated crontab (automated commit) --- .../infrastructure/cgal.geometryfactory.com/crontab | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/Maintenance/infrastructure/cgal.geometryfactory.com/crontab b/Maintenance/infrastructure/cgal.geometryfactory.com/crontab index 259c5732ad1..756c3bdd46d 100644 --- a/Maintenance/infrastructure/cgal.geometryfactory.com/crontab +++ b/Maintenance/infrastructure/cgal.geometryfactory.com/crontab @@ -16,11 +16,10 @@ # Create internal release # The script also updates the manual tools. # "next" alone -#0 21 * * Mon,Tue,Wed,Thu,Fri,Sun cd $HOME/CGAL/create_internal_release; $HOME/bin/create_release $HOME/CGAL/next --public --do-it +0 21 * * Fri,Sat cd $HOME/CGAL/create_internal_release; $HOME/bin/create_release $HOME/CGAL/next --public --do-it -0 21 * * Fri cd $HOME/CGAL/create_internal_release; $HOME/bin/create_release $HOME/CGAL/next --public --do-it # "next" + candidates -#0 21 * * Mon,Tue,Wed,Thu,Sun cd $HOME/CGAL/create_internal_release; $HOME/bin/create_release $HOME/CGAL/next $HOME/CGAL/candidate-packages --public --do-it +0 21 * * Mon,Tue,Wed,Thu,Sun cd $HOME/CGAL/create_internal_release; $HOME/bin/create_release $HOME/CGAL/next $HOME/CGAL/candidate-packages --public --do-it # - on trunk #0 21 * * Sat cd $HOME/CGAL/create_internal_release; $HOME/bin/create_release $HOME/CGAL/trunk --public --do-it @@ -28,13 +27,13 @@ #0 21 * * Sat cd $HOME/CGAL/create_internal_release-3.9-branch; $HOME/bin/create_release $HOME/CGAL/CGAL-3.9-branch --public --do-it # A test that does not work -#30 21 * * * grep 'conflicts with' $HOME/CGAL/create_internal_release/create_release.log.`date '+%Y-%m-%d'`* --no-filename +30 21 * * * grep 'conflicts with' $HOME/CGAL/create_internal_release/create_release.log.`date '+%Y-%m-%d'`* --no-filename # Try to launch the test suite, every 10mn, from 21:00 to 22:50 -#*/10 21-22 * * * $HOME/CGAL/Scripts/developer_scripts/autotest_cgal_with_cmake +*/10 21-22 * * * $HOME/CGAL/Scripts/developer_scripts/autotest_cgal_with_cmake # Manual Test suite, at 9:40pm -#40 21 * * * cd $HOME/CGAL/releases-and-testsuites-with-cmake/CGAL-I/doc_tex; nice -19 $HOME/bin/cgal_manual -testsuite || true +40 21 * * * cd $HOME/CGAL/releases-and-testsuites-with-cmake/CGAL-I/doc_tex; nice -19 $HOME/bin/cgal_manual -testsuite || true # Dump the crontab to SVN every hour at minute 18 18 * * * * $HOME/bin/dump_crontab From 6c705ab777725d0aa6e5e8b57277003d6ac04e59 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Mon, 23 Apr 2012 22:17:15 +0000 Subject: [PATCH 18/19] Fix the test One cannot expect exact intersections computations results when the kernel is not. This patch fixes the test: the equality between the result and the expected result is tested with an epsilon unless the kernel has exact constructions. --- .../triangle_other_intersection_test.cpp | 273 +++++++++--------- 1 file changed, 139 insertions(+), 134 deletions(-) diff --git a/Intersections_3/test/Intersections_3/triangle_other_intersection_test.cpp b/Intersections_3/test/Intersections_3/triangle_other_intersection_test.cpp index 016e772b0b5..6f29a180e18 100644 --- a/Intersections_3/test/Intersections_3/triangle_other_intersection_test.cpp +++ b/Intersections_3/test/Intersections_3/triangle_other_intersection_test.cpp @@ -216,15 +216,20 @@ void random_test() // Precomputed results test // ----------------------------------- template -bool test_aux(const Triangle t, +bool test_aux(bool is_kernel_exact, + const Triangle t, const Query& q, const std::string& name, - const Result& expected) + const Result& expected, + double sq_espilon = 1e-20) { CGAL::Object object = CGAL::intersection(t,q); const Result* pr = CGAL::object_cast(&object); - if ( (NULL != pr) && (expected == *pr) ) + if ( (NULL != pr) && + (is_kernel_exact ? + (expected == *pr) : + CGAL::to_double(CGAL::squared_distance(expected, *pr)) < sq_espilon ) ) { return true; } @@ -243,7 +248,7 @@ bool test_aux(const Triangle t, } template -bool test() +bool test(bool is_kernel_exact = true) { // types typedef typename K::FT FT; @@ -281,10 +286,10 @@ bool test() Segment s32(p3,p2); Segment s31(p3,p1); - bool b = test_aux(t,s12,"t-s12",s12); - b &= test_aux(t,s21,"t-s21",s21); - b &= test_aux(t,s13,"t-s13",s13); - b &= test_aux(t,s23,"t-s23",s23); + bool b = test_aux(is_kernel_exact,t,s12,"t-s12",s12); + b &= test_aux(is_kernel_exact,t,s21,"t-s21",s21); + b &= test_aux(is_kernel_exact,t,s13,"t-s13",s13); + b &= test_aux(is_kernel_exact,t,s23,"t-s23",s23); // Inside points Point p4(FT(0.5), FT(0.5), FT(0.)); @@ -318,30 +323,30 @@ bool test() Segment s78(p7,p8); Segment s87(p8,p7); - b &= test_aux(t,s14,"t-s14",s14); - b &= test_aux(t,s41,"t-s41",s41); - b &= test_aux(t,s24,"t-s24",s24); - b &= test_aux(t,s42,"t-s42",s42); - b &= test_aux(t,s15,"t-s15",s15); - b &= test_aux(t,s25,"t-s25",s25); - b &= test_aux(t,s34,"t-s34",s34); - b &= test_aux(t,s35,"t-s35",s35); - b &= test_aux(t,s36,"t-s36",s36); - b &= test_aux(t,s45,"t-s45",s45); - b &= test_aux(t,s16,"t-s16",s16); - b &= test_aux(t,s26,"t-s26",s26); - b &= test_aux(t,s62,"t-s62",s62); - b &= test_aux(t,s46,"t-s46",s46); - b &= test_aux(t,s65,"t-s65",s65); - b &= test_aux(t,s64,"t-s64",s64); - b &= test_aux(t,s48,"t-s48",s48); - b &= test_aux(t,s56,"t-s56",s56); - b &= test_aux(t,s17,"t-t17",s17); - b &= test_aux(t,s67,"t-t67",s67); - b &= test_aux(t,s68,"t-s68",s68); - b &= test_aux(t,s86,"t-s86",s86); - b &= test_aux(t,s78,"t-t78",s78); - b &= test_aux(t,s87,"t-t87",s87); + b &= test_aux(is_kernel_exact,t,s14,"t-s14",s14); + b &= test_aux(is_kernel_exact,t,s41,"t-s41",s41); + b &= test_aux(is_kernel_exact,t,s24,"t-s24",s24); + b &= test_aux(is_kernel_exact,t,s42,"t-s42",s42); + b &= test_aux(is_kernel_exact,t,s15,"t-s15",s15); + b &= test_aux(is_kernel_exact,t,s25,"t-s25",s25); + b &= test_aux(is_kernel_exact,t,s34,"t-s34",s34); + b &= test_aux(is_kernel_exact,t,s35,"t-s35",s35); + b &= test_aux(is_kernel_exact,t,s36,"t-s36",s36); + b &= test_aux(is_kernel_exact,t,s45,"t-s45",s45); + b &= test_aux(is_kernel_exact,t,s16,"t-s16",s16); + b &= test_aux(is_kernel_exact,t,s26,"t-s26",s26); + b &= test_aux(is_kernel_exact,t,s62,"t-s62",s62); + b &= test_aux(is_kernel_exact,t,s46,"t-s46",s46); + b &= test_aux(is_kernel_exact,t,s65,"t-s65",s65); + b &= test_aux(is_kernel_exact,t,s64,"t-s64",s64); + b &= test_aux(is_kernel_exact,t,s48,"t-s48",s48); + b &= test_aux(is_kernel_exact,t,s56,"t-s56",s56); + b &= test_aux(is_kernel_exact,t,s17,"t-t17",s17); + b &= test_aux(is_kernel_exact,t,s67,"t-t67",s67); + b &= test_aux(is_kernel_exact,t,s68,"t-s68",s68); + b &= test_aux(is_kernel_exact,t,s86,"t-s86",s86); + b &= test_aux(is_kernel_exact,t,s78,"t-t78",s78); + b &= test_aux(is_kernel_exact,t,s87,"t-t87",s87); // Outside points (in triangle plane) Point pA(FT(-0.5), FT(1.), FT(0.5)); @@ -362,17 +367,17 @@ bool test() Segment s1F(p1,pF); Segment sF6(pF,p6); - b &= test_aux(t,sAB,"t-sAB",p2); - b &= test_aux(t,sBC,"t-sBC",s46); - b &= test_aux(t,s2E,"t-s2E",s26); - b &= test_aux(t,sE2,"t-sE2",s62); - b &= test_aux(t,s2A,"t-s2A",p2); - b &= test_aux(t,s6E,"t-s6E",p6); - b &= test_aux(t,sB8,"t-sB8",s48); - b &= test_aux(t,sC8,"t-sC8",s68); - b &= test_aux(t,s8C,"t-s8C",s86); - b &= test_aux(t,s1F,"t-s1F",s13); - b &= test_aux(t,sF6,"t-sF6",s36); + b &= test_aux(is_kernel_exact,t,sAB,"t-sAB",p2); + b &= test_aux(is_kernel_exact,t,sBC,"t-sBC",s46); + b &= test_aux(is_kernel_exact,t,s2E,"t-s2E",s26); + b &= test_aux(is_kernel_exact,t,sE2,"t-sE2",s62); + b &= test_aux(is_kernel_exact,t,s2A,"t-s2A",p2); + b &= test_aux(is_kernel_exact,t,s6E,"t-s6E",p6); + b &= test_aux(is_kernel_exact,t,sB8,"t-sB8",s48); + b &= test_aux(is_kernel_exact,t,sC8,"t-sC8",s68); + b &= test_aux(is_kernel_exact,t,s8C,"t-s8C",s86); + b &= test_aux(is_kernel_exact,t,s1F,"t-s1F",s13); + b &= test_aux(is_kernel_exact,t,sF6,"t-sF6",s36); // Outside triangle plane Point pa(FT(0.), FT(0.), FT(0.)); @@ -386,11 +391,11 @@ bool test() Segment sa8(pa,p8); Segment sb2(pb,p2); - b &= test_aux(t,sab,"t-sab",p1); - b &= test_aux(t,sac,"t-sac",p6); - b &= test_aux(t,sae,"t-sae",p8); - b &= test_aux(t,sa8,"t-sa8",p8); - b &= test_aux(t,sb2,"t-sb2",p2); + b &= test_aux(is_kernel_exact,t,sab,"t-sab",p1); + b &= test_aux(is_kernel_exact,t,sac,"t-sac",p6); + b &= test_aux(is_kernel_exact,t,sae,"t-sae",p8); + b &= test_aux(is_kernel_exact,t,sa8,"t-sa8",p8); + b &= test_aux(is_kernel_exact,t,sb2,"t-sb2",p2); // ----------------------------------- // ray queries @@ -401,10 +406,10 @@ bool test() Ray r13(p1,p3); Ray r23(p2,p3); - b &= test_aux(t,r12,"t-r12",s12); - b &= test_aux(t,r21,"t-r21",s21); - b &= test_aux(t,r13,"t-r13",s13); - b &= test_aux(t,r23,"t-r23",s23); + b &= test_aux(is_kernel_exact,t,r12,"t-r12",s12); + b &= test_aux(is_kernel_exact,t,r21,"t-r21",s21); + b &= test_aux(is_kernel_exact,t,r13,"t-r13",s13); + b &= test_aux(is_kernel_exact,t,r23,"t-r23",s23); // In triangle Point p9_(FT(0.), FT(0.5), FT(0.5)); @@ -432,26 +437,26 @@ bool test() Ray r68(p6,p8); Segment r89_res(p8,p9_); - b &= test_aux(t,r14,"t-r14",s12); - b &= test_aux(t,r41,"t-r41",s41); - b &= test_aux(t,r24,"t-r24",s21); - b &= test_aux(t,r42,"t-r42",s42); - b &= test_aux(t,r15,"t-r15",s15); - b &= test_aux(t,r25,"t-r25",s23); - b &= test_aux(t,r34,"t-r34",s34); - b &= test_aux(t,r35,"t-r35",s32); - b &= test_aux(t,r36,"t-r36",s31); - b &= test_aux(t,r45,"t-r45",s45); - b &= test_aux(t,r16,"t-r16",s13); - b &= test_aux(t,r26,"t-r26",s26); - b &= test_aux(t,r62,"t-r62",s62); - b &= test_aux(t,r46,"t-r46",s46); - b &= test_aux(t,r48,"t-r48",s46); - b &= test_aux(t,r56,"t-r56",s56); - b &= test_aux(t,r47,"t-r47",s45); - b &= test_aux(t,r89,"t-t89",r89_res); - b &= test_aux(t,r68,"t-r68",s64); - b &= test_aux(t,r86,"t-r86",s86); + b &= test_aux(is_kernel_exact,t,r14,"t-r14",s12); + b &= test_aux(is_kernel_exact,t,r41,"t-r41",s41); + b &= test_aux(is_kernel_exact,t,r24,"t-r24",s21); + b &= test_aux(is_kernel_exact,t,r42,"t-r42",s42); + b &= test_aux(is_kernel_exact,t,r15,"t-r15",s15); + b &= test_aux(is_kernel_exact,t,r25,"t-r25",s23); + b &= test_aux(is_kernel_exact,t,r34,"t-r34",s34); + b &= test_aux(is_kernel_exact,t,r35,"t-r35",s32); + b &= test_aux(is_kernel_exact,t,r36,"t-r36",s31); + b &= test_aux(is_kernel_exact,t,r45,"t-r45",s45); + b &= test_aux(is_kernel_exact,t,r16,"t-r16",s13); + b &= test_aux(is_kernel_exact,t,r26,"t-r26",s26); + b &= test_aux(is_kernel_exact,t,r62,"t-r62",s62); + b &= test_aux(is_kernel_exact,t,r46,"t-r46",s46); + b &= test_aux(is_kernel_exact,t,r48,"t-r48",s46); + b &= test_aux(is_kernel_exact,t,r56,"t-r56",s56); + b &= test_aux(is_kernel_exact,t,r47,"t-r47",s45); + b &= test_aux(is_kernel_exact,t,r89,"t-t89",r89_res); + b &= test_aux(is_kernel_exact,t,r68,"t-r68",s64); + b &= test_aux(is_kernel_exact,t,r86,"t-r86",s86); // Outside points (in triangre prane) @@ -467,17 +472,17 @@ bool test() Ray r1F(p1,pF); Ray rF6(pF,p6); - b &= test_aux(t,rAB,"t-rAB",p2); - b &= test_aux(t,rBC,"t-rBC",s46); - b &= test_aux(t,r2E,"t-r2E",s26); - b &= test_aux(t,rE2,"t-rE2",s62); - b &= test_aux(t,r2A,"t-r2A",p2); - b &= test_aux(t,r6E,"t-r6E",p6); - b &= test_aux(t,rB8,"t-rB8",s46); - b &= test_aux(t,rC8,"t-rC8",s64); - b &= test_aux(t,r8C,"t-r8C",s86); - b &= test_aux(t,r1F,"t-r1F",s13); - b &= test_aux(t,rF6,"t-rF6",s31); + b &= test_aux(is_kernel_exact,t,rAB,"t-rAB",p2); + b &= test_aux(is_kernel_exact,t,rBC,"t-rBC",s46); + b &= test_aux(is_kernel_exact,t,r2E,"t-r2E",s26); + b &= test_aux(is_kernel_exact,t,rE2,"t-rE2",s62); + b &= test_aux(is_kernel_exact,t,r2A,"t-r2A",p2); + b &= test_aux(is_kernel_exact,t,r6E,"t-r6E",p6); + b &= test_aux(is_kernel_exact,t,rB8,"t-rB8",s46); + b &= test_aux(is_kernel_exact,t,rC8,"t-rC8",s64); + b &= test_aux(is_kernel_exact,t,r8C,"t-r8C",s86); + b &= test_aux(is_kernel_exact,t,r1F,"t-r1F",s13); + b &= test_aux(is_kernel_exact,t,rF6,"t-rF6",s31); // Outside triangle plane Ray rab(pa,pb); @@ -486,11 +491,11 @@ bool test() Ray ra8(pa,p8); Ray rb2(pb,p2); - b &= test_aux(t,rab,"t-rab",p1); - b &= test_aux(t,rac,"t-rac",p6); - b &= test_aux(t,rae,"t-rae",p8); - b &= test_aux(t,ra8,"t-ra8",p8); - b &= test_aux(t,rb2,"t-rb2",p2); + b &= test_aux(is_kernel_exact,t,rab,"t-rab",p1); + b &= test_aux(is_kernel_exact,t,rac,"t-rac",p6); + b &= test_aux(is_kernel_exact,t,rae,"t-rae",p8); + b &= test_aux(is_kernel_exact,t,ra8,"t-ra8",p8); + b &= test_aux(is_kernel_exact,t,rb2,"t-rb2",p2); // ----------------------------------- // Line queries @@ -501,10 +506,10 @@ bool test() Line l13(p1,p3); Line l23(p2,p3); - b &= test_aux(t,l12,"t-l12",s12); - b &= test_aux(t,l21,"t-l21",s21); - b &= test_aux(t,l13,"t-l13",s13); - b &= test_aux(t,l23,"t-l23",s23); + b &= test_aux(is_kernel_exact,t,l12,"t-l12",s12); + b &= test_aux(is_kernel_exact,t,l21,"t-l21",s21); + b &= test_aux(is_kernel_exact,t,l13,"t-l13",s13); + b &= test_aux(is_kernel_exact,t,l23,"t-l23",s23); // In triangle Line l14(p1,p4); @@ -530,26 +535,26 @@ bool test() Segment l89_res(p1,p9_); - b &= test_aux(t,l14,"t-l14",s12); - b &= test_aux(t,l41,"t-l41",s21); - b &= test_aux(t,l24,"t-l24",s21); - b &= test_aux(t,l42,"t-l42",s12); - b &= test_aux(t,l15,"t-l15",s15); - b &= test_aux(t,l25,"t-l25",s23); - b &= test_aux(t,l34,"t-l34",s34); - b &= test_aux(t,l35,"t-l35",s32); - b &= test_aux(t,l36,"t-l36",s31); - b &= test_aux(t,l45,"t-l45",s45); - b &= test_aux(t,l16,"t-l16",s13); - b &= test_aux(t,l26,"t-l26",s26); - b &= test_aux(t,l62,"t-l62",s62); - b &= test_aux(t,l46,"t-l46",s46); - b &= test_aux(t,l48,"t-l48",s46); - b &= test_aux(t,l56,"t-l56",s56); - b &= test_aux(t,l47,"t-l47",s45); - b &= test_aux(t,l89,"t-t89",l89_res); - b &= test_aux(t,l68,"t-l68",s64); - b &= test_aux(t,l86,"t-l86",s46); + b &= test_aux(is_kernel_exact,t,l14,"t-l14",s12); + b &= test_aux(is_kernel_exact,t,l41,"t-l41",s21); + b &= test_aux(is_kernel_exact,t,l24,"t-l24",s21); + b &= test_aux(is_kernel_exact,t,l42,"t-l42",s12); + b &= test_aux(is_kernel_exact,t,l15,"t-l15",s15); + b &= test_aux(is_kernel_exact,t,l25,"t-l25",s23); + b &= test_aux(is_kernel_exact,t,l34,"t-l34",s34); + b &= test_aux(is_kernel_exact,t,l35,"t-l35",s32); + b &= test_aux(is_kernel_exact,t,l36,"t-l36",s31); + b &= test_aux(is_kernel_exact,t,l45,"t-l45",s45); + b &= test_aux(is_kernel_exact,t,l16,"t-l16",s13); + b &= test_aux(is_kernel_exact,t,l26,"t-l26",s26); + b &= test_aux(is_kernel_exact,t,l62,"t-l62",s62); + b &= test_aux(is_kernel_exact,t,l46,"t-l46",s46); + b &= test_aux(is_kernel_exact,t,l48,"t-l48",s46); + b &= test_aux(is_kernel_exact,t,l56,"t-l56",s56); + b &= test_aux(is_kernel_exact,t,l47,"t-l47",s45); + b &= test_aux(is_kernel_exact,t,l89,"t-t89",l89_res); + b &= test_aux(is_kernel_exact,t,l68,"t-l68",s64); + b &= test_aux(is_kernel_exact,t,l86,"t-l86",s46); // Outside points (in triangle plane) @@ -565,17 +570,17 @@ bool test() Line l1F(p1,pF); Line lF6(pF,p6); - b &= test_aux(t,lAB,"t-lAB",p2); - b &= test_aux(t,lBC,"t-lBC",s46); - b &= test_aux(t,l2E,"t-l2E",s26); - b &= test_aux(t,lE2,"t-lE2",s62); - b &= test_aux(t,l2A,"t-l2A",p2); - b &= test_aux(t,l6E,"t-l6E",s26); - b &= test_aux(t,lB8,"t-lB8",s46); - b &= test_aux(t,lC8,"t-lC8",s64); - b &= test_aux(t,l8C,"t-l8C",s46); - b &= test_aux(t,l1F,"t-l1F",s13); - b &= test_aux(t,lF6,"t-lF6",s31); + b &= test_aux(is_kernel_exact,t,lAB,"t-lAB",p2); + b &= test_aux(is_kernel_exact,t,lBC,"t-lBC",s46); + b &= test_aux(is_kernel_exact,t,l2E,"t-l2E",s26); + b &= test_aux(is_kernel_exact,t,lE2,"t-lE2",s62); + b &= test_aux(is_kernel_exact,t,l2A,"t-l2A",p2); + b &= test_aux(is_kernel_exact,t,l6E,"t-l6E",s26); + b &= test_aux(is_kernel_exact,t,lB8,"t-lB8",s46); + b &= test_aux(is_kernel_exact,t,lC8,"t-lC8",s64); + b &= test_aux(is_kernel_exact,t,l8C,"t-l8C",s46); + b &= test_aux(is_kernel_exact,t,l1F,"t-l1F",s13); + b &= test_aux(is_kernel_exact,t,lF6,"t-lF6",s31); // Outside triangle plane Line lab(pa,pb); @@ -584,11 +589,11 @@ bool test() Line la8(pa,p8); Line lb2(pb,p2); - b &= test_aux(t,lab,"t-lab",p1); - b &= test_aux(t,lac,"t-lac",p6); - b &= test_aux(t,lae,"t-lae",p8); - b &= test_aux(t,la8,"t-la8",p8); - b &= test_aux(t,lb2,"t-lb2",p2); + b &= test_aux(is_kernel_exact,t,lab,"t-lab",p1); + b &= test_aux(is_kernel_exact,t,lac,"t-lac",p6); + b &= test_aux(is_kernel_exact,t,lae,"t-lae",p8); + b &= test_aux(is_kernel_exact,t,la8,"t-la8",p8); + b &= test_aux(is_kernel_exact,t,lb2,"t-lb2",p2); return b; @@ -606,22 +611,22 @@ int main() // ----------------------------------- std::cout << "Test precomputed intersection results" << std::endl; std::cout << "\tTesting with Simple_cartesian..." << std::endl ; - bool b = test(); + bool b = test(false); std::cout << "\tTesting with Simple_cartesian..." << std::endl ; - b &= test(); + b &= test(false); std::cout << "\tTesting with Cartesian..." << std::endl ; - b &= test(); + b &= test(false); std::cout << "\tTesting with Cartesian..." << std::endl ; - b &= test(); + b &= test(false); std::cout << "\tTesting with Exact_predicates_inexact_constructions_kernel..." << std::endl ; - b &= test(); + b &= test(false); std::cout << "\tTesting with Exact_predicates_exact_constructions_kernel..." << std::endl ; - b &= test(); + b &= test(true); //test with a coplanar segment b &= CGAL::intersection( Epec::Segment_3(Epec::Point_3(0.125, 0, -0.125),Epec::Point_3(0.25, 0, -0.125) ), From f2ed350303600e624fe912be8750c7460ce68eb8 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Mon, 23 Apr 2012 22:18:02 +0000 Subject: [PATCH 19/19] updated crontab (automated commit) --- Maintenance/infrastructure/cgal.geometryfactory.com/crontab | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Maintenance/infrastructure/cgal.geometryfactory.com/crontab b/Maintenance/infrastructure/cgal.geometryfactory.com/crontab index 756c3bdd46d..19e04f3930f 100644 --- a/Maintenance/infrastructure/cgal.geometryfactory.com/crontab +++ b/Maintenance/infrastructure/cgal.geometryfactory.com/crontab @@ -27,7 +27,7 @@ #0 21 * * Sat cd $HOME/CGAL/create_internal_release-3.9-branch; $HOME/bin/create_release $HOME/CGAL/CGAL-3.9-branch --public --do-it # A test that does not work -30 21 * * * grep 'conflicts with' $HOME/CGAL/create_internal_release/create_release.log.`date '+%Y-%m-%d'`* --no-filename +#30 21 * * * grep 'conflicts with' $HOME/CGAL/create_internal_release/create_release.log.`date '+%Y-%m-%d'`* --no-filename # Try to launch the test suite, every 10mn, from 21:00 to 22:50 */10 21-22 * * * $HOME/CGAL/Scripts/developer_scripts/autotest_cgal_with_cmake