Commit Graph

64302 Commits

Author SHA1 Message Date
Sébastien Loriot e6c2511ef6 name get_base similarly to the static arrangement functions 2015-09-27 15:30:35 +02:00
Sébastien Loriot 9968192330 enrich Arr_accessor of some functions to allow dcel manipulations 2015-09-27 15:30:02 +02:00
Sébastien Loriot 752ddd3729 remove the alternative version that is now slower that the new edge removal 2015-09-27 13:39:27 +02:00
Sébastien Loriot a273738e8a force to keep the unbounded face, even if not the master of its set 2015-09-26 15:42:35 +02:00
Sébastien Loriot e3f9788555 add an optimization in case the boolean operation result is empty 2015-09-26 15:42:35 +02:00
Efi Fogel 32cfa14f26 Merge branch 'AOS-removal_optimisation-efifogel_sloriot' of github.com:CGAL/cgal-dev into AOS-removal_optimisation-efifogel_sloriot 2015-09-26 14:52:55 +03:00
Efi Fogel ecf346287c Clean up the code of:
_remove_edge(DHalfedge* e, bool remove_source, bool remove_target).

If (f1 != f2) then retain the face that has a larger number of inner ccbs.
Otherwise, continue as before...
2015-09-26 14:48:56 +03:00
Sébastien Loriot 9db6cc2465 if more inner ccb are created by edge removal, then we create new in the dcel 2015-09-26 13:34:52 +02:00
Sébastien Loriot c354e37479 fix the flooding algorithm: the flooding should also go through outer_ccbs 2015-09-26 09:45:50 +02:00
Sébastien Loriot 621a134f3a add an alternative way to remove edges by remove all elements at the same time
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
2015-09-18 16:21:20 +02:00
Sébastien Loriot 000def03c7 create the arrangement from scratch only if there are many edges to remove
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
2015-09-04 18:44:00 +02:00
Sébastien Loriot f38a3e8cf9 when removing an edge, keep the face having more holes
the output of the benchmark program polygon_set_2_join.cpp
are similar for all input but the grid crossing:

current version (polygon_set_2_join):
Time for 402 grid crossing polygons 4.68

current version(polygon_set_2_join 2):
Time for 566 grid crossing polygons 18.804

This improves the run time but the version with CGAL_JOIN_CREATE_AN_ARRANGEMENT
defined is still faster for this example
2015-09-04 17:19:08 +02:00
Sébastien Loriot b916dbaa36 variant for joining polygons protected by CGAL_JOIN_CREATE_AN_ARRANGEMENT
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
2015-09-04 15:08:20 +02:00
Sébastien Loriot 78c10a3a95 add a benchmark for Polygon_set_2::join using 4 different kind of input 2015-09-04 14:00:36 +02:00
Laurent Rineau 0e2d38cf9b Merge pull request #298 from afabri/CGAL-support_msvc2015-GF
VC2015 fixes in Straight_skeleton_2
2015-09-04 11:37:46 +02:00
Laurent Rineau 1eab366954 Merge pull request #312 from sloriot/Polyhedron_demo-stl_io_plugin_safer-sloriot
Polyhedron demo: first check that the STL file is a polygon mesh before loading it

Conflicts:
	Polygon_mesh_processing/doc/Polygon_mesh_processing/PackageDescription.txt
2015-09-04 11:36:13 +02:00
Laurent Rineau 59ac9f30fc Merge pull request #293 from sloriot/PMP-fix_remove_degenerate_faces-sloriot
Polygon mesh processing:  fix remove_degenerate_faces() but do not publish it in the documentation
2015-09-04 11:24:36 +02:00
Laurent Rineau 9bae0c0e63 Merge pull request #270 from sgiraudot/Polyhedron_demo-WLOP_plugin-sgiraudot
Polyhedron demo point set processing plugins
2015-09-03 17:22:54 +02:00
Sébastien Loriot 4931c8c889 first check that the stl file is a polygon mesh before loading it 2015-09-03 15:17:14 +02:00
Andreas Fabri 311d4d9120 fix order of template arguments, and document parameter C 2015-09-03 14:31:26 +02:00
Laurent Rineau fc7636b1ea Merge pull request #311 from afabri/Filtered_kernel-Equal_Vector_3-GF
No need for a filtered predicate for Equal_3()(Vector_3, Vector_3)
2015-09-03 14:14:14 +02:00
Laurent Rineau 35d63a2fb4 Merge pull request #302 from gdamiand/STL_extension-isused_test-gdamiand
STL Extensions: add test for is_used
2015-09-03 13:48:20 +02:00
Laurent Rineau 69706c7de9 Merge pull request #127 from gdamiand/Combinatorial_map_save_load-gdamiand
Combinatorial_map: add save/load functionality in the LCC demo
2015-09-03 13:43:36 +02:00
Sébastien Loriot b5f44b3960 forgot to remove from the cmakelist example using a non documented function 2015-09-03 13:07:46 +02:00
Laurent Rineau 253e0dddcf Fix issue #300
Update_c3t3::operator() does not return bool!
2015-09-03 12:59:05 +02:00
Laurent Rineau cf74c64c46 Merge pull request #307 from CGAL/Polyhedron_demo-fix_reset_color-sloriot
be more permissive for color reset
2015-09-03 12:50:16 +02:00
Laurent Rineau 3b7f63f2e9 Merge pull request #310 from maxGimeno/CGAL_texture_fix_GF
Polyhedron demo, fix the use of texture2D in a shader
2015-09-03 12:39:57 +02:00
Guillaume Damiand e2656f9600 Remove glu link in cmake 2015-09-03 12:35:42 +02:00
Guillaume Damiand 9b4b3ee846 More cleanup plus do not recenter the scene at each modification. 2015-09-03 12:32:20 +02:00
Andreas Fabri 9a3e39a330 No need for a filtered predicate for Equal_3::operator()(Vector_3,Vector_3) 2015-09-02 16:13:14 +02:00
Maxime Gimeno 1533deff99 Textures Fix
- Use texture2D instead of texture in the shaders to have it in gglsl 1.2 and not 1.3.
2015-09-02 12:14:37 +02:00
Laurent Rineau ee52ce70c1 Merge pull request #305 from gdamiand/CMap-docfix-gdamiand
Add the ConstHandle concept, and document handles in Combinatorial_map
2015-09-02 10:23:20 +02:00
Sebastien Loriot 79685a263f be more permissive for color reset
This enables the reset to work after a coloration per connected component
2015-09-01 17:27:04 +02:00
Laurent Rineau 7a6f7ee044 updated crontab (automated commit) 2015-09-01 13:18:03 +02:00
Guillaume Damiand 2711acd67c Update is_used test. 2015-08-31 20:45:08 +02:00
Guillaume Damiand 586eb0a266 Update doc of XXX_handle (documentation bug fix). 2015-08-31 17:28:36 +02:00
Guillaume Damiand 816dda0c23 Add const handle concept. 2015-08-31 17:21:58 +02:00
Simon Giraudot ae1f64c9a2 Change ACTIVATE_CONCURRENCY tag in CMakeLists of Polyhedron demo 2015-08-31 10:58:16 +02:00
Simon Giraudot 8f98d9dc0a Fixed indentation issues 2015-08-31 10:09:54 +02:00
Guillaume Damiand 6f1850a55a Remove unused code 2015-08-31 09:18:26 +02:00
Guillaume Damiand 56b5057449 Add test in STL_Extension for is_used. 2015-08-31 08:56:45 +02:00
Guillaume Damiand 2387fcf2a5 Remove is_used from Combinatorial map test. 2015-08-31 08:34:17 +02:00
Guillaume Damiand 98b36b260e Update light parameters 2015-08-31 08:18:04 +02:00
Guillaume Damiand 24840dbd5c Improve drawing code in LCC demo. 2015-08-29 14:43:52 +02:00
Laurent Rineau 1710531e06 Fix the color of edges of Scene_polygon_soup_item
Fixes #301.
2015-08-28 17:18:04 +02:00
Laurent Rineau db6b844cc8 Merge remote-tracking branch 'cgal/releases/CGAL-4.6-branch'
A non-modifying merge, to register that `master` is ahead of
`CGAL-4.6-branch`.

Conflicts:
	Arrangement_on_surface_2/include/CGAL/Arr_polyline_traits_2.h
	Maintenance/release_building/BUGFIX_NUMBER
	Maintenance/release_building/public_release_name
2015-08-28 16:25:33 +02:00
Sébastien Loriot aed4e8b2fc fix doc typos 2015-08-28 15:36:29 +02:00
Andreas Fabri a4351336d2 integrate Laurent's comments 2015-08-28 15:09:37 +02:00
Andreas Fabri 884be65abc remove typedef 2015-08-28 15:04:55 +02:00
Andreas Fabri 061732d439 fix indentation 2015-08-28 15:04:08 +02:00