Commit Graph

149 Commits

Author SHA1 Message Date
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
Sébastien Loriot 7983a44b0c more polishing of the doc 2014-10-15 16:45:14 +02:00
Sébastien Loriot 14ca4cacef rename Source_point_handle -> Source_point_iterator 2014-10-15 16:27:09 +02:00
Sébastien Loriot a2dc6f6ccc rename clear_sequence_tree -> clear 2014-10-15 16:23:47 +02:00
Sébastien Loriot 37591853e3 fix doc and public API of main class 2014-10-15 16:19:45 +02:00
Sébastien Loriot d21cb80244 rename traits functors
Project_triangle_3_to_triangle_2 -> Construct_triangle_3_to_triangle_2_projection
  Flatten_triangle_3_along_segment_2 -> Construct_triangle_3_along_segment_2_flattening
  Parametric_distance_along_segment_2 -> Compute_parametric_distance_along_segment_2
2014-10-15 10:31:17 +02:00
Sébastien Loriot 9dfb6bf372 polishing doc before submission 2014-10-15 10:21:27 +02:00
Sébastien Loriot da5298f123 fix warnings 2014-10-15 10:03:49 +02:00
Stephen Kiazyk f720e3a07f Proofreading the documentation 2014-09-26 11:53:30 -04:00
Stephen Kiazyk 07e35591d5 Changed API to use incremental construction paradigm
The code itself does not take advantage of this yet, but it
could be modified to do so in the future.  I believe this also
makes the API a little clearer and easier to use.
2014-09-25 13:56:09 -04:00
Stephen Kiazyk 581a34accf Moved documentation for Barycentric_coordinate_type enum 2014-09-24 17:48:30 -04:00
Stephen Kiazyk b7968eae18 Modifications to shortest_path_sequence_to_source_points
Changed the documentation to be clearer about which halfedges are
returned.
The query point will now always be passed to the visitor (unless no
shortest paths were found).
2014-09-22 17:01:38 -04:00
Sébastien Loriot fbc46bd95e rename Polyhedron_shortest_path -> Surface_mesh_shortest_path 2014-09-19 17:33:43 +02:00