Commit Graph

162 Commits

Author SHA1 Message Date
Mael 1637608b9a
Remove accidentally committed debug code 2019-10-14 09:03:33 +02:00
Mael Rouxel-Labbé 90d4bbb871 Use traits' functors rather than global functions 2019-10-11 14:30:26 +02:00
Mael Rouxel-Labbé 9eb7852753 Enable robustness tricks by default 2019-10-11 12:02:58 +02:00
Mael Rouxel-Labbé 87b605a68b Fix always propagating on the right as soon as the node is not a source 2019-10-11 12:02:17 +02:00
Mael Rouxel-Labbé e6c788efbd Fix indentation 2019-10-11 09:29:58 +02:00
Mael Rouxel-Labbé b32dd4b5de Add more robust code for two predicates, disabled behind a macro for now 2019-10-11 09:26:17 +02:00
Mael Rouxel-Labbé 53bb36f4d7 Fix debug code compilation 2019-10-11 09:25:10 +02:00
Mael Rouxel-Labbé 7e5f6293f3 Clean debug code 2019-10-10 14:54:35 +02:00
Mael Rouxel-Labbé deb18df291 Remove ineffective pruning filter
This filter was added by me recently, it's not part of the initial code.
It will be so rare it's not worth clunking up the code.
2019-10-10 14:45:25 +02:00
Mael Rouxel-Labbé a6215abf0e Fix sometimes comparing distances with a NULL occupier 2019-10-10 14:44:13 +02:00
Mael Rouxel-Labbé 90f787c111 Use `Compare_relative_intersection_along_segment_2` once again to compare rays
The tiny detail that makes it necessary to do all these complicated shenanigans
is that the two 2D segments are not necessarily living in a common unfolding
2019-10-10 14:40:15 +02:00
Mael Rouxel-Labbé 6b40368c87 Fix namespace and regroup children members together 2019-10-10 14:38:59 +02:00
Mael Rouxel-Labbé c2b3d9e5d8 Add some debug code 2019-10-10 14:22:23 +02:00
Mael Rouxel-Labbé c611285eb5 Simplify orientation calls 2019-10-10 14:13:30 +02:00
Mael Rouxel-Labbé df5d200033 Regroup class members 2019-10-10 14:13:30 +02:00
Mael Rouxel-Labbé d307df36ea Improve readability (no 250+ char lines) 2019-10-10 14:13:29 +02:00
Mael Rouxel-Labbé 930fbb3280 Add some const correctness + avoid a lot of useless copies 2019-10-10 14:13:29 +02:00
Mael Rouxel-Labbé e63d20cf22 Uniformize namespaces 2019-10-10 14:13:29 +02:00
Mael Rouxel-Labbé 7b887e79ea Add some pruning in case of equal times (node == occupier time)
Probably doesn't happen very often though...
2019-10-10 14:13:29 +02:00
Mael Rouxel-Labbé 77749bb031 Fix some more overzeralous pruning
Similar to commit cda7c5f299, you cannot
just prune and not propagate if times are equal because nothing guarantees
that the first cone to reach a given vertex is the cone that will yield
the shortest path.
2019-10-10 14:13:29 +02:00
Mael Rouxel-Labbé 315d257d98 Tiny misc improvements 2019-10-10 14:13:29 +02:00
Mael Rouxel-Labbé cda7c5f299 Fix sometimes pruning entire branches that are valid
An example can be see in this issue: https://github.com/CGAL/cgal/issues/3993.
This configuration:
- we leave from a vertex v0 and want to reach v1
- a (useful) cone gets split by a vertex v2
- v3 is such that v0v2 = v2v3 and v1 is on the left of the line
- we first reach v3 from the right
- when we reach v3 from the left, with a cone that also contains v1, this cone
  is discarded because we have already reached v3 from the right and the time
  is not better (it's equal). Thus we can't reach v1 with the direct cone
  from v1.

Other artificial configurations can be constructed noting that the case
of identical source-ray target for both nodes where not really handled.
2019-10-03 15:03:01 +02:00
Mael Rouxel-Labbé 7676dca96a Minor code improvements 2019-10-03 13:15:51 +02:00
Mael Rouxel-Labbé 244ad1dd27 Move CGAL::internal into CGAL::SMSP::internal 2019-10-03 11:22:21 +02:00
Mael Rouxel-Labbé cf900da30d Don't assume you can build a FT from a double
Only change /include because we know what kernels we are manipulating in tests
2019-10-03 11:22:21 +02:00
Sébastien Loriot 8e27665ba9 init the halfedge of a border vertex to point in a face 2019-10-03 11:22:14 +02:00
Mael Rouxel-Labbé e7f6c3eb2f Fix build_aabb_tree not being documented 2019-09-16 09:51:30 +02:00
Mael Rouxel-Labbé 7e29cbcf46 Misc minor changes (wrap / doc fixes) 2019-09-16 09:51:04 +02:00
Andreas Fabri e2d19b0c8d Replace NULL and Nullptr_t with nullptr and nullptr_t 2019-06-04 23:45:44 +02:00
Mael Rouxel-Labbé 2848158354 Fix typos 2019-05-20 08:54:04 +02:00
Laurent Rineau 90782d4b7f Revert the merge of two pull-requests that target CGAL-4.14-branch
- Revert "Merge pull request #3857 from MaelRL/CGAL-Fix_duplicate_non_manifold_vertices-GF"
- Revert "Merge pull request #3898 from lrineau/Mesh_3-stop_during_protection-lrineau"
2019-05-14 17:50:45 +02:00
Sébastien Loriot db65bd8ecc Merge remote-tracking branch 'cgal/releases/CGAL-4.14-branch' 2019-04-11 21:38:48 +02:00
albert-github 1dd7473818 Correction of links
Correction of redirected links and links that moved to another place.
2019-04-11 21:37:05 +02:00
Sébastien Loriot 124012d9f9 replace cpp11::array by std::array 2019-03-29 13:28:33 +01:00
Sébastien Loriot a2e8a1c68f add the suffix Ref to doxygen link to reference 2018-10-08 10:26:56 +02:00
Sébastien Loriot 742a615527 fix doc warnings triggered essentially by the improvement of doxygen 2018-04-25 23:36:21 +02:00
Andreas Fabri f723c527e1 Surface_mesh_shortest_path 2018-01-17 21:56:19 +00:00
Laurent Rineau 1c2e9df8cf Merge branch 'releases/CGAL-4.11-branch' 2017-12-19 16:29:10 +01:00
Sébastien Loriot 5291ebc58b workaround conversion warning 2017-12-11 13:26:32 +01:00
Sébastien Loriot ee57fc2d6c add SPDX identifier for files under the GPL-3+ license 2017-11-12 10:17:51 +01:00
Laurent Rineau 0baf7a7007 Merge pull request #2432 from MaelRL/SMSP-Fix_locate_with_VPM-GF
SM shortest paths: Fix locate with a custom VertexPoint Pmap
2017-09-15 16:31:10 +02:00
Laurent Rineau 2d82c363e3 Merge pull request #2432 from MaelRL/SMSP-Fix_locate_with_VPM-GF
SM shortest paths: Fix locate with a custom VertexPoint Pmap
2017-09-15 16:23:07 +02:00
Mael Rouxel-Labbé 5fccb8f591 Added an overload for convenience 2017-09-14 16:11:52 +02:00
Mael Rouxel-Labbé dbae01e10b Fixed not using the VertexPointPMap passed in parameter when building AABB trees 2017-09-14 16:10:37 +02:00
Laurent Rineau 6d148de316 Merge pull request #2277 from ocarre/master
FIX: crash in Surface_mesh_shortest_path::nearest_to_location
2017-07-28 18:31:02 +02:00
ocarre 95e35dc69d FIX: was using a deprecated version of the is_border function 2017-07-22 14:47:25 +02:00
ocarre 1cb9de1579 FIX: crash in Surface_mesh_shortest_path::nearest_to_location
This crash occurs if the point passed to the
Surface_mesh_shortest_path::nearest_to_location function
is located on a border edge.
It now returns directly the main face if the point is
located on a border edge and do not look anymore for a
non-existent opposite face.
2017-07-20 12:21:26 +02:00
Andreas Fabri d9549f2d5f Make the reference to the TriangleMesh const. In the implementation cast the constness away due to a problem with the vertex point pmap 2017-07-17 10:56:00 +02:00
Andreas Fabri 34e8ed18f0 Fix the VC++ warnings reported in Issue #1904 2017-02-15 15:38:09 +01:00
Sébastien Loriot 5212bb55a6 fix Core dependancies 2017-02-13 17:16:30 +01:00
Sébastien Loriot 1fc9b0976a fix Core dependancies 2017-02-13 16:21:02 +01:00
Sébastien Loriot 50510c05ea add include directive for license of all GPL header files
done using:
ack-grep "^GPL" */package_info/*/license.txt -l | awk -F "/" '{print $1}' > /tmp/gpl_packages
for i in `cat /tmp/gpl_packages | \
          grep -v Operations_on_polyhedra | \
          grep -v Algebraic_kernel_for_circles | \
          grep -v Algebraic_kernel_for_spheres | \
          grep -v Polyhedron_IO`;
do
  echo $i
  python Scripts/developer_scripts/add_license_in_pkg_header.py $i
done
python Scripts/developer_scripts/add_license_in_pkg_header.py Operations_on_polyhedra Polygon_mesh_processing
python Scripts/developer_scripts/add_license_in_pkg_header.py Algebraic_kernel_for_circles Circular_kernel_2
python Scripts/developer_scripts/add_license_in_pkg_header.py Algebraic_kernel_for_spheres Circular_kernel_3
python Scripts/developer_scripts/add_license_in_pkg_header.py Polyhedron_IO Polyhedron
2017-01-19 15:20:25 +01:00
Sebastien Loriot 8c9af91b01 Merge pull request #1749 from sloriot/SMSP-fix_incorrect_name
Barycentric coordinate -> Barycentric coordinates
2016-12-27 09:02:06 +01:00
Andreas Fabri 2ac94ff4fb Surface_mesh_shortest_path: Fix type
Fix type in std::priority_queue. Spotted by VC2016
2016-12-15 11:05:43 +01:00
Sébastien Loriot 958dae95b4 rename barycentric coordinate to barycentric coordinates 2016-12-06 11:04:18 +01:00
Laurent Rineau ccaf3441c4 Merge pull request #1529 from sloriot/SMSP-remove_Polyhedron_3_dependancy
Remove dependency to Polyhedron_3
2016-09-30 15:24:13 +02:00
Andreas Fabri 82e8ca42f3 Fix package Surface_mesh_shortest_path include headers 2016-09-30 15:23:14 +02:00
Laurent Rineau 37b4fdba78 fix compilation errors 2016-09-30 15:21:37 +02:00
Sébastien Loriot 0bd3044635 remove non-needed include directives 2016-09-30 14:09:33 +02:00
Sébastien Loriot ec69b336e8 Merge remote-tracking branch 'cgal/releases/CGAL-4.8-branch' 2016-06-22 13:20:25 +02:00
Sébastien Loriot a6bccbca40 handle the case when source and target are in the interior of the same edge 2016-06-20 17:00:57 +02:00
Sébastien Loriot b2d2e85d5a swap barycentric coordinates on the edge when seen from the other side 2016-06-20 14:53:25 +02:00
Maxime Gimeno f549b62a6a Fix the are_buffers_filled
- Using d->are_buffers_filled made useless the initialization made in the Scene_item constructor.
 Instead of re-initializing it in the private structs, I decided to use the one from the item again, as the
 cleaning of the Scene_item seems to be put aside.
2016-06-16 09:18:33 +02:00
Sébastien Loriot 4a696e13ea Uniformize names of template parameters and graph in shortest path package 2016-02-10 18:39:48 +01:00
Simon Giraudot 4d0e23b7ce Work-around to avoid boost 1.47 mistakingly using the get function from adjacency_list 2016-02-03 17:20:48 +01:00
Andreas Fabri c772598ae6 Use source() not prefixed with boost:: 2016-02-01 09:56:57 +01:00
Sébastien Loriot cc2693df4e avoid unused variable warning 2016-01-27 10:16:13 +01:00
Sébastien Loriot 85f5f4f4e8 avoid unused variable warning 2016-01-26 09:49:56 +01:00
Jane Tournois 45baa96c6e msvc does not support explicit conversion of optionals : fix it 2015-09-03 10:22:32 +02:00
Andreas Fabri 1e2ff1131e assert -> CGAL_assertion 2015-08-27 16:51:55 +02:00
Sébastien Loriot 96a9b14576 please MSVC10 2015-06-10 17:04:57 +02:00
Sébastien Loriot 4474cb29d5 remove extra typename 2015-06-10 16:26:35 +02:00
Sébastien Loriot 5d02945fc8 try to please Visual Studio 10 2015-06-08 13:44:18 +02:00
Sébastien Loriot 41edf299b6 Do not apply that filter if the incoming cone's parent is the nearest to v1 and v2 2015-05-29 13:30:01 +02:00
Sébastien Loriot 25d3728589 Do not apply that filter if the incoming cone's parent is the nearest to v3 2015-05-29 13:15:26 +02:00
Sébastien Loriot 9ae4763654 fix debug output 2015-05-29 13:13:11 +02:00
Sébastien Loriot 2cf70345eb remove unused variable 2015-05-29 07:35:34 +02:00
Sébastien Loriot 487ab9b859 fix warning 2015-05-28 13:43:43 +02:00
Stephen Kiazyk e80bde19ac Fixed an issue where edge sources were not being evaluated properly 2015-05-27 23:40:31 -05:00
Stephen Kiazyk 686bc75f33 Merge branch 'gsoc2014-Polyhedron_shortest_path-skiazyk' of github.com:CGAL/cgal-public-dev into gsoc2014-Polyhedron_shortest_path-skiazyk 2015-05-22 08:45:39 -05:00
Stephen Kiazyk 714988ddcd Removed an unneccessary if block 2015-05-22 08:40:23 -05:00
Sébastien Loriot cb2cda8476 rename barycentric coordinate enums to match the barycentric coordinate package 2015-04-28 08:33:36 +02:00
Sébastien Loriot e5b9a7cddf fix warnings 2015-04-27 10:09:10 +02:00
Sébastien Loriot 14465274bd remove unused variables 2015-04-27 09:49:01 +02:00
Andreas Fabri 38f0759663 do not use the boost test framework 2015-04-25 17:18:38 +02:00
Andreas Fabri fd623954ba remove trailing comma in enum 2015-04-25 16:10:03 +02:00
Andreas Fabri bc0f479080 remove trailing comma in enum 2015-04-25 16:09:11 +02:00
Andreas Fabri eee44a4a2d read data/elephant.off if called without arguments 2015-04-24 17:09:24 +02:00
Sébastien Loriot fc4980096b remove trailing whitespaces and remove empty dirs 2015-04-22 10:44:28 +02:00
Sébastien Loriot f800c1c855 FaceListGraph -> Triangle_mesh 2015-04-22 10:21:00 +02:00
Sébastien Loriot 6cab744616 no camel case for property map types 2015-04-22 09:46:58 +02:00
Sébastien Loriot 8ef7511d23 GraphTraits -> Graph_traits 2015-04-22 09:41:47 +02:00
Sébastien Loriot fe5564f5ac rename enum value 2015-04-22 09:39:11 +02:00
Sébastien Loriot 4d72975136 minor doc updates 2015-04-22 09:33:18 +02:00
Sébastien Loriot 7bf8ec26b3 accomadate comments of reviewer 1 2014-10-22 17:07:46 +02:00
Sébastien Loriot 19939d3172 Merge branch 'gsoc2014-Polyhedron_shortest_path-skiazyk' of ssh://scm.cgal.org/var/git/cgal-gsoc into gsoc2014-Polyhedron_shortest_path-skiazyk
Conflicts:
	Surface_mesh_shortest_path/doc/Surface_mesh_shortest_path/Surface_mesh_shortest_path.txt
2014-10-22 16:37:29 +02:00
Andreas Fabri 41d4a98a12 Fixed typos 2014-10-22 11:18:56 +02:00
Sébastien Loriot 6756bed8b2 shortest path queries always return the source point and distance 2014-10-21 17:03:27 +02:00
Stephen Kiazyk b7ef1ba969 Removed a no longer relevant TODO related to OpenMesh 2014-10-21 11:00:40 -04:00
Sébastien Loriot 5d700b97d7 using operator() instead of named function the shortest path visitor 2014-10-16 09:21:33 +02:00