svn+ssh://lrineau@scm.gforge.inria.fr/svn/cgal/branches/CGAL-3.5-branch
........
r53426 | lrineau | 2009-12-15 16:14:57 +0100 (Tue, 15 Dec 2009) | 1 line
Merge from trunk revisions 53423-53425 (teillaud)
........
r53428 | lrineau | 2009-12-15 17:41:27 +0100 (Tue, 15 Dec 2009) | 5 lines
- Fix a bug in Constraint_hierarchy_2 (see the big comment inserted in the
code).
- Add a test in the testsuite, to assure that this bug will never be
reintroduced.
........
svn merge
'^/branches/experimental-packages/Triangualtion_2-projection_traits/Triangulation_2@48316'
'^/branches/experimental-packages/Triangulation_2-projection_traits/Triangulation_2'
.
I have merged the Triangulation_2 part of the branch
experimental-packages/Triangulation_2-projection_traits into the trunk.
This adds two files (traits classes), and a small patch to
Contrained_triangulation_2 (pass geomtraits by const ref instead of a
copy).
T2 testsuite locally launched successfully.
Diffs are:
* #undef added
* in old files, (void)0 is replaced by static_cast<void>(0)
* in old files, lines as "# define CGAL_xxx_assertion 1" are added
* in point_set_processing_assertions.h, surface_mesh_parameterization_assertions.h, surface_reconstruction_points_assertions.h, "|| defined(CGAL_NDEBUG)" is replaced by "|| defined (NDEBUG)"
* protective macros (if any) are removed
* included files if any (<CGAL/assertions.h>, <CGAL/trace.h>) are removed
and so on, instead of using the functors of the kernel.
- Add a new class Triangulation_2_filtered_projection_traits_3
- Rename all classes Coplanar_* to Projected_*
that fixes the warning. For the record, it was:
-------------------------------------------
Compiling linking_2d_and_3d ...
make[1]: Entering directory `/home/lrineau/CGAL/releases-and-testsuites/CGAL-3.4-I-407/test_i686_Linux-2.6_g++-4.3.1_CentOS-5.1-O3/Triangulation_3_Examples'
/usr/local/gcc43/bin/g++ -I../../include -Wall -frounding-math '-I/home/lrineau/CGAL/releases-and-testsuites/CGAL-3.4-I-407/include/CGAL/config/i686_Linux-2.6_g++-4.3.1_CentOS-5.1-O3' '-I/home/lrineau/CGAL/releases-and-testsuites/CGAL-3.4-I-407/include' -O3 -pipe -I/home/lrineau/CGAL/bimap -I/usr/lib/qt-3.3/include -DCGAL_USE_F2C -DCGAL_USE_F2C -c linking_2d_and_3d.cpp
../../include/CGAL/Compact_container.h: In member function 'typename CGAL::Triangulation_data_structure_2<Vb, Fb>::Vertex_handle CGAL::Triangulation_data_structure_2<Vb, Fb>::insert_dim_up(typename CGAL::Compact_container<typename Vb::Rebind_TDS<CGAL::Triangulation_data_structure_2<Vb, Fb> >::Other, CGAL::Default_argument>::iterator, bool) [with Vb = My_vertex_2<CGAL::Dummy_tds_3, CGAL::Triangulation_ds_vertex_base_2<void> >, Fb = CGAL::Triangulation_ds_face_base_2<void>]':
../../include/CGAL/Compact_container.h:772: warning: array subscript is above array bounds
/usr/local/gcc43/bin/g++ -o linking_2d_and_3d linking_2d_and_3d.o '-L/home/lrineau/CGAL/releases-and-testsuites/CGAL-3.4-I-407/lib/i686_Linux-2.6_g++-4.3.1_CentOS-5.1-O3' -L/usr/lib/qt-3.3/lib -Wl,-R/home/lrineau/CGAL/releases-and-testsuites/CGAL-3.4-I-407/lib/i686_Linux-2.6_g++-4.3.1_CentOS-5.1-O3:/usr/lib/qt-3.3/lib -lCGAL -lCGALcore++ -lCGALQt -lCGALimageIO -lCGALPDB -lqt-mt -llapack -lGL -lGLU -lblas -lz -lmpfr -lgmpxx -lgmp -lX11 -lboost_thread -lboost_program_options -lm
make[1]: Leaving directory `/home/lrineau/CGAL/releases-and-testsuites/CGAL-3.4-I-407/test_i686_Linux-2.6_g++-4.3.1_CentOS-5.1-O3/Triangulation_3_Examples'
Executing linking_2d_and_3d ...
-------------------------------------------
Maybe a gcc bug. Howerver, with that patch, the code seems easier to read
(the variable that contains the dimension is now named "dim", instead of
"i", and is filled as soon as the dimension() of the triangulation is
updated).
Things like "CGAL_assertion(denominator != 0)" produced assertion failures for no gain.
So now, the assertion is triggered only if the condition is certain, using CGAL::certainly().
That is, change the following in all assertion files :
((EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__))
to :
(CGAL::certainly(EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__))
det2x2_by_formula
det3x3_by_formula
det4x4_by_formula
det5x5_by_formula
det6x6_by_formula
to:
determinant
How cute... a name independent of the dimension, and even readable !
sign_of_determinant2x2
sign_of_determinant3x3
sign_of_determinant4x4
sign_of_determinant5x5
sign_of_determinant6x6
to:
sign_of_determinant
So that we have less dimension-dependent namings, at least internally...