Commit Graph

109 Commits

Author SHA1 Message Date
Sebastien Loriot 833d425ca3
Triangulation: Add static filter for 5D and 6D orientation predicate (#8862)
## Summary of Changes

This PR adds a static filter for the orientation test of 4D, 5D and 6D
points. It is ~20% faster than just interval arithmetic.

- [x] Add for 4D
- [x] ~~Add in sphere predicate~~

## Release Management

* Affected package(s): Triangulation
* License and copyright ownership:  unchanged
2025-08-05 16:15:54 +02:00
Andreas Fabri 17586da7a4 No need to spatial_sort() 2025-07-17 19:34:06 +01:00
Sébastien Loriot f3b8f20d00 handle convert between const and non-const iterators 2025-05-22 19:50:06 +02:00
Andreas Fabri 3d54d512a7 Triangulation: filter_iterator 2025-05-21 10:18:14 +01:00
Andreas Fabri 400c1da751 In bench6.cpp add indices to the vertices, and report the edges on the convex hull 2025-04-25 17:26:18 +01:00
Laurent Rineau 1914ba61d0 Merge pull request #8022 from mglisse/Triangulation-dup_vertex-glisse
Don't set the point again when reinserting the same point

# Conflicts:
#	Installation/CHANGES.md
2024-02-16 18:04:42 +01:00
Marc Glisse 270a2398d6 Use 'if' rather than % 2024-02-10 20:40:17 +01:00
Marc Glisse 86e0943dd0 Don't set the point again when reinserting the same point 2024-02-07 20:11:36 +01:00
Sébastien Loriot f06d9fb606 fix shortcut mistake 2023-08-04 15:04:26 +02:00
Sébastien Loriot cb840ac84b boost::optional::get -> std::optional::value 2023-06-15 11:34:14 +02:00
Sébastien Loriot 604dcdc435 boost::optional => std::optional 2023-06-15 10:57:09 +02:00
Sébastien Loriot 98e471849b moving files from internal to PKG/internal 2021-08-26 11:33:39 +02:00
Sébastien Loriot 4e519a3c7a move documented IO functions in IO namespace 2021-05-05 13:15:37 +02:00
Marc Glisse f8fd7a6669 Use the more precise current dimension
maximal_dimension() made (some) sense for a global object that was reused.
2020-04-18 13:53:46 +02:00
Marc Glisse 666808c2ea Make orientations_ a local variable, for thread-safety
In small dimension, small_vector won't allocate, and in large dimension,
orientations are more costly than a single allocation.
2020-04-18 13:42:45 +02:00
Sébastien Loriot 0779373835 extra run of the script to remove tabs and trailing whitespaces
right after the  merge of 4.14 release branch

+ manual fix on one line in:
    * Arrangement_on_surface_2/include/CGAL/IO/Arr_text_formatter.h
    * .travis/generate_travis.sh
2020-03-26 14:16:06 +01:00
Sébastien Loriot 254d60f642 First pass on removing license notice in header for GPL files 2019-10-19 15:23:19 +02:00
Sébastien Loriot 7356421d80 introduce Commercial license SPDX tag 2019-10-19 12:15:19 +02:00
Sébastien Loriot 9bd9c68b83 update LGPL[23]+ and GPL[23]+ SPDX tags
ack -l --no-svg "SPDX-License-Identifier: GPL-3.0\+" | xargs sed -i "s/SPDX-License-Identifier: GPL-3.0+/SPDX-License-Identifier: GPL-3.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-3.0\+" | xargs sed -i "s/SPDX-License-Identifier: LGPL-3.0+/SPDX-License-Identifier: LGPL-3.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: GPL-2.0\+" | xargs sed -i "s/SPDX-License-Identifier: GPL-2.0+/SPDX-License-Identifier: GPL-2.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-2.0\+" | xargs sed -i "s/SPDX-License-Identifier: LGPL-2.0+/SPDX-License-Identifier: LGPL-2.0-or-later/"
2019-10-18 21:57:54 +02:00
Andreas Fabri 4581f1b7a8 Morte replacements 2019-06-05 08:39:55 +02:00
Mael Rouxel-Labbé 2848158354 Fix typos 2019-05-20 08:54:04 +02:00
Sébastien Loriot f62624c4f9 replace cpp11::tuple by std::tuple 2019-03-29 13:28:33 +01:00
Sebastien Loriot 21d53cd984
Merge pull request #3172 from sloriot/Triangulation-fix_IO
Fix vertex istream operator
2018-11-12 09:58:14 +01:00
Sébastien Loriot e91acb5520 correctly fix the warning 2018-11-09 09:03:52 +01:00
Sébastien Loriot 2e2ddb7880 fix conversion warning 2018-11-08 15:42:38 +01:00
Maxime Gimeno a7a998cbda add binary management to Point_d, Weighted Point_d and Vector_d and test 2018-10-11 15:06:58 +02:00
Maxime Gimeno dfd5d383fc WIP 2018-10-05 17:01:13 +02:00
Sébastien Loriot 8282e7f0ba move eol to the triangulation operator 2018-10-04 15:52:55 +02:00
Mael Rouxel-Labbé d88f69a02a Fixed compilation of Triangulation::finite_facets_begin()/end() 2018-08-08 11:51:31 +02:00
Sébastien Loriot 483f69728e Refresh branch 2018-02-12 22:21:38 +01:00
Simon Giraudot 6269309d86 Use CGAL include for boost counting/transform iterators everywhere 2018-01-23 11:09:52 +01:00
Andreas Fabri f972c6da7a Nef 2018-01-18 10:46:12 +00:00
Laurent Rineau 42b11ddf29 Revert the merge of PR #2478
This reverts the merge commit 46cc91e787 onto
488c3e2879.
2018-01-04 17:54:08 +01:00
Sébastien Loriot ee57fc2d6c add SPDX identifier for files under the GPL-3+ license 2017-11-12 10:17:51 +01:00
Mael Rouxel-Labbé aaeaf35380 Introduced the tag "Periodic_tag" to mark distinguish periodic triangulations 2017-08-23 16:18:05 +02:00
Clement Jamin 9b46105579 Get rid of Bare_point_d in the adapter and in Regular_triangulation 2017-06-20 12:41:22 +02:00
Clement Jamin 5b9562ea84 Merge branch 'Triangulation-add_regular_tri-cjamin_mglisse-old' into Triangulation-add_regular_tri-cjamin_mglisse 2017-06-16 11:09:07 +02: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
Clement Jamin 3704a59422 Fix warning (unused types and variables) 2016-09-28 18:13:20 +02:00
Clement Jamin d3c838e4cd Remove more const & other minor fixes 2016-09-08 16:15:38 +02:00
Clement Jamin 867e6d1158 Remove useless const 2016-09-08 15:52:38 +02:00
Clement Jamin 9487c71ad1 Merge branch 'Triangulation-add_regular_tri-cjamin_mglisse-old' into Triangulation-add_regular_tri-cjamin_mglisse 2016-05-18 19:41:22 +02:00
Andreas Fabri b9dafe6745 apply the fix proposed in Issue #557 2015-12-17 11:02:35 +01:00
Clement Jamin 077e9c43eb Add missing new_vertex() function 2015-10-21 11:15:42 +02:00
Clement Jamin 409b2773d4 Move misplaced header inclusion 2015-10-16 10:04:48 +02:00
Clement Jamin 2c1f647107 Forgot to fix Triangulation accordingly (see previous commit)
(cherry picked from commit 35555fd3f9)
2015-07-06 20:02:27 +02:00
Clement Jamin 5531f6f169 Definitely removed the "infinite vertex at position 0" constraint...
... and fixed the regular triangulation at the same time.
Even though this constraint had been dropped, the code was still
expecting the infinite vertex to be at position 0 in the cells.
Now, it's not the case anymore, the infinite vertex can be anywhere.
This is particularly useful for the 2D case, because the constraint made
the orientation of the "rightmost" infinite cell wrong.

(cherry picked from commit 48b8382de3)
2015-07-06 19:07:11 +02:00
Mael Rouxel-Labbé 7a11937b97 Fixed TDS's incident_faces() using the wrong index for the first vertex
(and added consts)

(cherry picked from commit e312d7ddae0188ed0d99b4247f73871a57124f41)
2015-01-09 14:57:46 +01:00
Clement Jamin 81f68efb7e Oops. This fixes the previous bug fix (wrong place). 2014-12-18 11:00:12 +01:00
Clement Jamin 2f4bb69e0a Merge branch 'Triangulation-add_regular_tri-cjamin_mglisse-old' into Triangulation-add_regular_tri-cjamin_mglisse 2014-12-18 10:59:01 +01:00