Here is the output of benchmark program polygon_set_2_join.cpp on my machine
current version (polygon_set_2_join):
Timer for join is 0.316
Timer for remove_redundant_edges is 0.08799999999999997
Timer for _reset_faces is 0
Time for 402 grid crossing polygons 0.404
Timer for join is 1.512
Timer for remove_redundant_edges is 0.008000000000000007
Timer for _reset_faces is 0
Time for 1000 random polygons 1.52s
Timer for join is 3.108
Timer for remove_redundant_edges is 0
Timer for _reset_faces is 0
Time for 100000 nested polygons 3.108s
Timer for join is 6.103999999999999
Timer for remove_redundant_edges is 0.01200000000000045
Timer for _reset_faces is 0.003999999999999559
Time for 40000 disjoint polygons 6.119999999999999s
current version (polygon_set_2_join 2):
Timer for join is 0.636
Timer for remove_redundant_edges is 0.1719999999999999
Timer for _reset_faces is 0
Time for 566 grid crossing polygons 0.8079999999999999
Timer for join is 3.124000000000001
Timer for remove_redundant_edges is 0.01199999999999868
Timer for _reset_faces is 0
Time for 2000 random polygons 3.135999999999999s
Timer for join is 6.892000000000001
Timer for remove_redundant_edges is 0
Timer for _reset_faces is 0
Time for 200000 nested polygons 6.892000000000001s
Timer for join is 32.16799999999999
Timer for remove_redundant_edges is 0.04800000000000182
Timer for _reset_faces is 0.008000000000002672
Time for 160000 disjoint polygons 32.224s
this update the CGAL_JOIN_CREATE_AN_ARRANGEMENT version.
The benchmark program polygon_set_2_join.cpp is now better
using the CGAL_JOIN_CREATE_AN_ARRANGEMENT version.
I've put 2 as weight parameter but it should be fine tune
to better match the cost of removing an edge
this code is faster when the input contains many hole to relocate
but is bit slower on disjoint polygon for example.
This is a temporary commit to start the work with Efi
Here is the output of benchmark program polygon_set_2_join.cpp on my machine
current version (polygon_set_2_join):
Time for 402 grid crossing polygons 10.184
Time for 1000 random polygons 1.1s
Time for 100000 nested polygons 2.544s
Time for 40000 disjoint polygons 5.18s
CGAL_JOIN_CREATE_AN_ARRANGEMENT version (polygon_set_2_join):
Time for 402 grid crossing polygons 1.216
Time for 1000 random polygons 1.108s
Time for 100000 nested polygons 2.572s
Time for 40000 disjoint polygons 5.891999999999999s
current version(polygon_set_2_join 2):
Time for 566 grid crossing polygons 44.416
Time for 2000 random polygons 2.263999999999996s
Time for 200000 nested polygons 5.82s
Time for 160000 disjoint polygons 28.86000000000001s
CGAL_JOIN_CREATE_AN_ARRANGEMENT version (polygon_set_2_join 2):
Time for 566 grid crossing polygons 2.28
Time for 2000 random polygons 2.248000000000001s
Time for 200000 nested polygons 5.68s
Time for 160000 disjoint polygons 32.036s
That is a really trivial bug fix, for a rather nasty bug! I spend
several hours on it! Currently the `leda::rational::operator>>` does not
clear the `failbit` of the stream, when it reads a number without
denominator, and the EOF directly after. The flag `eofbit` and `failbit`
are set while trying to read the '/', but in that case the `failbit`
should be cleared from the stream status.
Trivial bug fix for master.
* Enhancing the testsuite---adding tests for
batched, point location
vertical decomposition, and
triangulation point location.
* Various bug fixes:
bugs in point location.
memory leaks found by Andreas.
* Resolving several small issues to remove compiler warnings.
Tested last in CGAL-4.4-Ic-54.
Approved by the release manager
Successfully test in CGAL-4.3-Ic-102
This commit fixes a few issues in the doxygen documentation and in particular
the figure for the generation of latex doc.
Approved by the interim release manager
xplain why this merge is necessary,
this happens if you have an empty line or the text directly after /!*
to find them in the generated documentation, grep for "pre class=\"fragment\""
(a few of them are legitimate however)
This change is motivated by other internal function that have a
similar signature already. Example: prev1->cv<-prev2+cmp is now
he_to->cv,cv_dir->he_away
This commit also updates the respective mock-headers when the
corresponding .tex documentation has changed. This has been the case for:
AABB_tree/doc_tex/AABB_tree_ref/AABBGeomTraits.tex
AABB_tree/doc_tex/AABB_tree_ref/AABBTraits.tex
AABB_tree/doc_tex/AABB_tree_ref/AABB_traits.tex
Mesh_3/doc_tex/Mesh_3_ref/parameters_features.tex
Mesh_3/doc_tex/Mesh_3_ref/parameters_no_features.tex
Number_types/doc_tex/NumberTypeSupport_ref/Interval_nt.tex
Number_types/doc_tex/NumberTypeSupport_ref/Lazy_exact_nt.tex
Spatial_searching/doc_tex/Spatial_searching_ref/Search_traits_2.tex
Spatial_searching/doc_tex/Spatial_searching_ref/Search_traits_3.tex
Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_Delaunay_triangulation_2.tex
That is a followup-to my commit last year:
| ------------------------------------------------------------------------
| r63198 | lrineau | 2011-04-28 19:45:22 +0200 (Thu, 28 Apr 2011) | 5 lines
|
| Try to fix my last revision about cmake_policy, with CMake-2.6.x
|
| CMake gives an error if one tries to use cmake_policy(VERSION x.y.z) if
| x.y.z is greater than the current CMake version.
|
| ------------------------------------------------------------------------
The following check:
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" VERSION_GREATER 2.6)
is useless just after a call to:
cmake_minimum_required(VERSION 2.6.2)
The script used to fix that was:
#!/usr/bin/env perl
$replacement=<<'END';
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER 2.8.3)
cmake_policy(VERSION 2.8.4)
else()
cmake_policy(VERSION 2.6)
endif()
END
while(<>) {
if(/if\("\${CMAKE_MAJOR_VERSION}.\${CMAKE_MINOR_VERSION}" VERSION_GREATER 2.6\)/) {
while(<>) {
if(/^endif\(\)/) {
print "$replacement";
while(<>) {
print;
}
exit 0
}
}
}
print;
}
For resources that are shipped by the CGAL_Qt4 library, one need to call
CGAL_QT4_INIT_RESOURCES, a macro that calls CGAL_Qt4_init_resources
(exported by the CGAL_Qt4 DLL)
The revision 64600 was the merge of next into the branch
features/Aos_2-new_functors-tau. For an unknown reason (maybe a buggy svn
version), that merge forgot to apply some revision of next. And those
revision were thus cancelled when the branch has been reintegrated back
into next.
I am trying to fix that. This branch is a copy of the branch
features/Aos_2-new_functors-tau@64599 where the merge of next has been
reapplied. Let's see what are the differences with the buggy revision
64000.
We declare
cmake_minimum_required(VERSION 2.6.2)
but we also use
cmake_policy(VERSION 2.8.4)
to declare that our CMake scripts are OK with all the defaults of CMake policies
as of CMake-2.8.4. That shuts down the warnings of CMake-2.8.4.
That way, we no longer need any declaration of specific policies.
Those two lines must be present and maintained in all our CMakeLists.txt
files (the one for the libraries, and also the one for examples and demos,
and maybe tests).
The documentation of CGAL says that the minimal version of CMake must be
CMake-2.6.2.
- change cmake_minimum_required to VERSION 2.6.2
- no longer any need for the policy CMP0003 (was for 2.4.x)
- no longer any need for CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS (was for 2.4)
| ------------------------------------------------------------------------
| r58061 | lrineau | 2010-08-13 18:14:29 +0200 (Fri, 13 Aug 2010) | 8 lines
| Changed paths:
| M /trunk/Boolean_set_operations_2/test/Boolean_set_operations_2/test_bop.cpp
|
| Use a full-qualified name, because a of conflict with something from Boost.
|
| Old error log:
| /home/lrineau/CGAL/boost/1.44-beta1/include/boost/type_traits/has_new_operator.hpp: In function 'bool test_one_file(std::ifstream&)':
| /home/lrineau/CGAL/boost/1.44-beta1/include/boost/type_traits/has_new_operator.hpp:24: error: 'template<class U, U x> struct boost::detail::test' is not a function,
| /home/lrineau/CGAL/CGAL-3.7-I-135/cmake/platforms/x86-64_Linux-2.6_g++-4.4.4_F13-MATCHING-BUG-6/test/Boolean_set_operations_2/test_bop.cpp:137: error: conflict with 'template<class Polygon1, class Polygon2> bool test(std::istream&, const Polygon1&, const Polygon2&)'
| /home/lrineau/CGAL/CGAL-3.7-I-135/cmake/platforms/x86-64_Linux-2.6_g++-4.4.4_F13-MATCHING-BUG-6/test/Boolean_set_operations_2/test_bop.cpp:386: error: in call to 'test'
|
| ------------------------------------------------------------------------
| r58062 | lrineau | 2010-08-13 18:19:37 +0200 (Fri, 13 Aug 2010) | 8 lines
| Changed paths:
| M /trunk/Min_sphere_of_spheres_d/test/Min_sphere_of_spheres_d/interface_check.cpp
|
| Use a fully-qualified name for ::test, because otherwise there is a
| conflict with something from Boost:
|
| /home/lrineau/CGAL/boost/1.44-beta1/include/boost/type_traits/has_new_operator.hpp: In function 'int main()':
| /home/lrineau/CGAL/boost/1.44-beta1/include/boost/type_traits/has_new_operator.hpp:24: error: 'template<class U, U x> struct boost::detail::test' is not a function,
| /home/lrineau/CGAL/CGAL-3.7-I-135/cmake/platforms/x86-64_Linux-2.6_g++-4.4.4_F13-MATCHING-BUG-6/test/Min_sphere_of_spheres_d/interface_check.cpp:147: error: conflict with 'template<int D, class FT, class Sqrt, class Alg> void test(int, const FT&)'
| /home/lrineau/CGAL/CGAL-3.7-I-135/cmake/platforms/x86-64_Linux-2.6_g++-4.4.4_F13-MATCHING-BUG-6/test/Min_sphere_of_spheres_d/interface_check.cpp:210: error: in call to 'test'
|
| ------------------------------------------------------------------------
| ------------------------------------------------------------------------
| r57993 | lrineau | 2010-08-11 18:02:00 +0200 (Wed, 11 Aug 2010) | 5 lines
|
| Massive change in all .qrc files: the attribute lang= must not be used. It
| must be only used to create an alternative for another lang. If a resource
| exists only with lang=, then that resource will not be found if the locale
| had not that language.
|
| ------------------------------------------------------------------------
by namespace CGAL { and } //namespace CGAL. in all .h and .cpp files
in a directory.
Apply it to all packages in the trunk
Remove macro definition from the config.h file.