Sébastien Loriot
590612a563
run the script to remove tabs and trailing whitespaces
2020-03-26 13:25:16 +01:00
Mael Rouxel-Labbé
2556196dad
Merge remote-tracking branch 'cgal/master' into CGAL-Optimal_bounding_box-GF
2020-03-23 08:59:49 +01:00
Sébastien Loriot
d10359d09e
Merge remote-tracking branch 'cgal/releases/CGAL-4.14-branch'
2020-03-19 16:27:55 +01:00
Mael Rouxel-Labbé
100304667d
Remove CGAL::internal::boost_::function_property_map
...
This file was duplicated from BOOST 1.64 because it appeared in a boost
release that was younger than the oldest boost release supported by CGAL
when the file was first required.
The minimum boost version (1.57) now required by CGAL is younger
than the version in which the file appeared in boost (1.51)
and it can thus be removed.
2020-03-12 20:58:44 +01:00
Mael Rouxel-Labbé
fe1fd95d23
Fix always returning by copy when it is possible to return by reference
2020-03-09 15:31:51 +01:00
Maxime Gimeno
52cf9815e4
Remove free function and fix TDS3 test
2020-02-28 15:33:03 +01:00
Laurent Rineau
b311ab59ed
[modernize-use-nullptr] (clang-tidy)
2020-01-31 12:11:16 +01:00
Laurent Rineau
b56cdcb743
Add move-semantic to CGAL (non-periodic) 3D triangulations
...
- For `Triangulation_3`, the rule-of-zero cannot be used, because of
the infinite vertex. A special copy-constructor and copy-assignment
operators are required. But one can `= default the move-constructor
and move-assignment operator, as well as the destructor.
- For `Delaunay_triangulation_3`, the rule-of-zero is
sufficient. Nothing to do.
- For `Regular_triangulation_3`, the `hidden_point_visitor` data
member is a function that is constructed with the `this` pointer, so
the rule-of-zero cannot be used. Probably the move-constructor
and move-assignment operator could be explicitly defaulted.
2020-01-31 12:01:43 +01:00
Maxime Gimeno
065a7ac0c6
Add a test for file_input()
2020-01-10 13:14:31 +01:00
Mael
8a48be1dd8
Remove unused macro
2019-12-12 13:10:25 +01:00
Laurent Rineau
c08c632fc8
Merge branch 'releases/CGAL-5.0-branch' into T3_accelerate_insert_in_hole-rebased
2019-12-10 13:02:24 +01:00
Laurent Rineau
435bb4d4c4
Cleanup the patch
2019-12-10 10:59:13 +01:00
Andreas Fabri
7c9ef9c9f2
Move code into TDS_3 and make it work for parallel mode
2019-12-10 10:20:12 +01:00
Andreas Fabri
27a93fc25a
First cleanup
2019-12-10 10:19:07 +01:00
Andreas Fabri
9303a3318a
Use small_vector for find_conflicts()
2019-12-10 10:19:07 +01:00
Laurent Rineau
a9abea6dc7
Use local small-indices, 2% win.
2019-12-10 10:18:57 +01:00
Laurent Rineau
a93dd81642
Cleanup
2019-12-10 10:17:08 +01:00
Andreas Fabri
f2eea9cf78
Call clear()
2019-12-10 10:17:08 +01:00
Andreas Fabri
a3fc6790ca
Use a boost::small_vector instead of a std::deque in a stack
2019-12-10 10:17:08 +01:00
Andreas Fabri
6462016ce3
Use an unordered map to find neighbor cells
2019-12-10 10:17:03 +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
Laurent Rineau
dbb1cb6c9b
Merge pull request #3974 from afabri/Triangulation-add_ranges-GF
...
Triangulation_{2,3): Add ranges
2019-07-01 11:16:05 +02:00
Andreas Fabri
f7b7b9957f
Merge remote-tracking branch 'cgal/master' into CGAL-null_ptr-GF
2019-06-05 14:47:11 +02:00
Andreas Fabri
e2d19b0c8d
Replace NULL and Nullptr_t with nullptr and nullptr_t
2019-06-04 23:45:44 +02:00
Andreas Fabri
285cdd5be5
Add more ranges and a testsuite
2019-06-04 10:40:13 +02:00
Andreas Fabri
4c9bda8169
Use C++11 for loop in examples
2019-06-03 17:23:32 +02:00
Andreas Fabri
edd84534a9
Fix code
2019-06-03 17:02:18 +02:00
Andreas Fabri
b42fd4428d
Triangulation_{2,3): Add ranges
2019-06-03 15:36:34 +02:00
Andreas Fabri
2d1c78fdd9
Unify T3
2019-05-20 18:23:08 +02:00
Sébastien Loriot
0ce7fc09b5
turns iterator pairs into iterable ranges
2019-03-29 13:28:22 +01:00
Sébastien Loriot
d60f5645aa
replace BOOST_FOREACH by c++ ranged-based for loop
...
some of the command used for the replacement:
ack --cpp BOOST_FOREACH -l | xargs sed -i -E "s/BOOST_FOREACH\(([a-zA-Z_:&0-9]+)\s(\w+)\,/for(\1 \2 :/"
ack --cpp BOOST_FOREACH -l | xargs sed -i -E "s/BOOST_FOREACH\((const [a-zA-Z_:&0-9]+)\s(\w+)\,/for(\1 \2 :/"
ack --cpp BOOST_FOREACH -l | xargs sed -i -E "s/BOOST_FOREACH\((const typename [a-zA-Z_:&0-9]+)\s(\w+)\,/for(\1 \2 :/"
ack --cpp BOOST_FOREACH -l | xargs sed -i -E "s/BOOST_FOREACH\((typename [<>a-zA-Z_:&0-9]+)\s(\w+)\,/for(\1 \2 :/"
ack "boost/foreach.hpp" -l --cpp | xargs sed -i '/boost\/foreach.hpp>/d'
2019-03-29 13:22:15 +01:00
Mael Rouxel-Labbé
17d46e9211
Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
2018-04-26 11:55:17 +02:00
Andreas Fabri
063a91a771
Use CGAL::random_shuffle
2018-04-04 14:00:23 +01:00
Mael Rouxel-Labbé
c28e05be0c
Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
2018-02-23 12:50:06 +01:00
Andreas Fabri
6cc385c6ec
Number_types
2018-01-17 15:47:18 +00:00
Mael Rouxel-Labbé
c5993c95b3
Replaced a postcondition
...
When manually building a triangulation, we might have inserted vertices but
not yet cells, and thus the dimension is 0 but point() should still work.
This is the case in tet_soup_to_c3t3 for example.
2017-12-12 00:46:01 +01:00
Mael Rouxel-Labbé
ba3a59ed5a
Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
2017-11-30 15:54:00 +01:00
Mael Rouxel-Labbé
812109df83
Added Mesh_3_regular_triangulation_3_wrapper
...
This wrapper around Regular_triangulation_3 adds undocumented, straightforward
functions which are required for Mesh_3 because of Periodic_3_mesh_3:
they are functions for which both (periodic and non-periodic) triangulations
have fundamentally different implementations, usually because Periodic_3_mesh_3
does not know the offset of a point and must brute-force check all
possibilities. To allow Periodic_3_mesh_3 to use Mesh_3's files,
each mesh triangulation implements its own version.
2017-11-22 14:23:59 +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é
7d7fb2f81d
Generalized the signatures of some predicate wrappers
...
Since construct_point() is used, the arguments can be either Point_3 or
Weighted_point_3.
2017-11-06 14:40:29 +01:00
Mael Rouxel-Labbé
5c9e18a2f6
Improved readability of Regular/Delaunay_triangulation_3
...
The quest continues
2017-11-01 15:09:18 +01:00
Mael Rouxel-Labbé
9edd4194ba
Fixed Triangulation_3.h indentation and whitespace (no real changes)
2017-10-31 18:23:31 +01:00
Mael Rouxel-Labbé
ac0a27cdfd
Made Mesh_3's optimizers work with periodic triangulations
2017-10-31 15:47:23 +01:00
Mael Rouxel-Labbé
1f4475d471
Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
2017-10-27 16:26:27 +02:00
Mael Rouxel-Labbé
bae6f15fa5
WIP commit
2017-10-27 15:34:33 +02:00
Mael Rouxel-Labbé
7b379d4338
Temporarily moved code from RT3 to T3
2017-10-22 23:40:45 +02:00
Mael Rouxel-Labbé
aaeaf35380
Introduced the tag "Periodic_tag" to mark distinguish periodic triangulations
2017-08-23 16:18:05 +02:00
Mael Rouxel-Labbé
7943d0877e
Fixed taking reference to temporary (ter)
2017-06-30 11:40:14 +02:00
Mael Rouxel-Labbé
02a9a91e40
Cleaned off useless 'using'
2017-06-30 11:32:07 +02:00
Mael Rouxel-Labbé
4ac89861ba
Fixed (?) taking reference to temporary
2017-06-28 10:17:14 +02:00
Mael Rouxel-Labbé
8c7bda5f2d
Changed from boost::function_property_map to CGAL::internal::boost_'s
...
This is so it's always available, even if using an old version of boost
2017-06-28 10:17:14 +02:00
Mael Rouxel-Labbé
ddfc4fc0fe
T2/T3 now use Perturbation_order in tests with symbolic perturbations
2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé
87e0ae40b0
Closed a parenthesis
2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé
4b556707a4
Use boost::function_property_map to apply spatial_sort to weighted points
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
47b3e7193e
Comparison result should be of type Comparison_result
...
(it worked anyway since Comparison_result is a Sign internally)
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
94abc23da9
Adapted the call to spatial_sort() to handle weighted points
...
Downside: we copy points at each comparison, which is terrible! No noticeable
changes when profiling the construction of a triangulation.
We need this copy because of Lazy kernel: despite construct_point_3 having
const Point_3& construct_point_3_object()(const Point_3&)
the Lazy kernel can return some copies.
Other solutions that were not used:
-- Distinguish the Ouput type of Unary_function_to_property map depending on
the type of Kernel (ugly and not safe)
-- Use Weighted_point_mappers traits (but that blood will not be on my hands)
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
cd9a908393
Ensured that we call kernel functions with the correct (bare) point type
...
Note that if the type `Point` is already `Point_3`, Construct_point_3 does not
do anything (except in the lazy kernel, but in that case, the running time is
horrible anyway).
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
ae1fb2bfec
Deduce Triangulation_3's point type from the TDS
...
Since we have a distinc vertex_base for regular triangulations and that this
regular vertex base defines a type Point, it is redundant to get the Point
type from the Geom_traits.
This also allows to remove the Weighted_point_mapper trick, and pass more easily
custom point types.
2017-06-28 10:14:35 +02:00
Andreas Fabri
787d46ffb8
Disable Point_3(const Weighted_point_3&)
2017-06-28 10:14:35 +02:00
Laurent Rineau
dce8bb77ba
Merge pull request #2053 from cjamin/Mesh_3-code_improvements-cjamin
...
Mesh_3: code improvements + bug fix
2017-04-14 18:32:05 +02:00
Clement Jamin
6ea82bbe2a
Unnecessary double "if" blocks
2017-03-09 17:46:46 +01:00
Laurent Rineau
c55e391f97
WIP: works with one thread
2017-02-17 16:37:11 +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
Andreas Fabri
e5e0cdd5f9
fix a typedef
2016-11-22 17:48:53 +01:00
Andreas Fabri
ea50fb811d
Cleanup. The 2D and 3D triangulation testsuite pass
2016-11-03 13:07:50 +01:00
Laurent Rineau
1f5fb012ba
Merge pull request #1015 from afabri/Mesh_3-accelerations-GF
...
Accelerate vertex removal in a 3D triangulation and saving a mesh
2016-04-22 15:24:06 +02:00
Andreas Fabri
abd9bfb125
std::map -> boost::unordered_map
2016-04-15 20:54:51 +02:00
Laurent Rineau
535c5bb5b2
Speed-up Triangulation_3::read_cells...
...
... by a factor 5 for big triangulations! The old code was using:
std::map<size_t, Vertex_handle> V;
std::map<size_t, Cell_handle> C;
whereas the indices are contiguous: from 0 to n. `std::vector` is a lot
better for that use case!
2016-04-06 16:03:55 +02:00
Andreas Fabri
4c477c853c
Accelerete 3D version of inexact_locate as we do it for 2D
2016-02-15 10:57:59 +01:00
Clement Jamin
8f259e5dea
Merge branch 'Triangulation-higher_dimensions-odevil_shornus-old' into Triangulation-higher_dimensions-odevil_shornus
2014-09-09 11:20:33 +02:00
Laurent Rineau
3deb8e7910
Merge branch 'Mesh_3-compare_index-GF-old' into Mesh_3-compare_index-GF
...
Create an integration branch for 'Mesh_3-compare_index-GF': a new branch
created from 'master', where I merged the previous version of
'Mesh_3-compare_index-GF'.
There was a conflict with two features recently merged into 'master' for
CGAL-4.5:
- the move of two files from include/CGAL/Mesh_3/ to include/CGAL/. See
the small feature:
http://cgal.org/wiki/Features/Small_Features/New_constructor_in_Label_mesh_domain_3_and_new_function_wrapper
- parallelism for Triangulation_3 and Mesh_3:
http://cgal.org/wiki/Features/Parallel_Mesh_3
Conflicts:
Combinatorial_map/include/CGAL/Cell_attribute.h
Mesh_3/include/CGAL/Implicit_mesh_domain_3.h
Mesh_3/include/CGAL/Labeled_image_mesh_domain_3.h
Mesh_3/include/CGAL/Mesh_3/Sliver_perturber.h
Mesh_3/include/CGAL/Polyhedral_mesh_domain_3.h
Mesh_3/test/Mesh_3/test_meshing_3D_image.cpp
Mesh_3/test/Mesh_3/test_meshing_polyhedron.cpp
Mesh_3/test/Mesh_3/test_meshing_polyhedron_with_features.cpp
Polyhedron/demo/Polyhedron/Polyhedron_type.h
STL_Extension/include/CGAL/Compact_container.h
STL_Extension/test/STL_Extension/test_Compact_container.cpp
I also modified the following files during the conflict resolution:
Linear_cell_complex/include/CGAL/Cell_attribute_with_point.h
Mesh_3/include/CGAL/Labeled_mesh_domain_3.h
Mesh_3/include/CGAL/Polyhedral_mesh_domain_with_features_3.h
2014-07-18 15:47:14 +02:00
Clement Jamin
aa1aa597bb
Restore commit a09ed468 with a bug fix
...
"Thread-safe version of incident_cells and incident_facets"
2014-07-15 20:13:30 +02:00
Andreas Fabri
13bb5e38aa
remove unused parameters
2014-07-09 16:02:45 +02:00
Clement Jamin
da4cf8fc1d
Fix gcc warnings (reorder + unused variables & typedef...)
2014-07-03 15:54:39 +02:00
Clement Jamin
0a4267b7ce
Temporarily revert "Thread-safe version of incident_cells and incident_facets"
2014-07-03 15:41:02 +02:00
Clement Jamin
65e8d40e33
Fix warning
2014-07-03 09:26:25 +02:00
Clement Jamin
7af8f8b768
Fix compilation with GCC
2014-06-30 19:58:44 +02:00
Clement Jamin
82c89aa58e
Fix template params
2014-06-30 15:52:24 +02:00
Clement Jamin
a09ed46810
Thread-safe version of incident_cells and incident_facets
2014-06-23 10:45:26 +02:00
Clement Jamin
9f5927af61
Move function from C3T3_helpers to TDS
...
Move C3T3_helpers::get_incident_cells_without_using_tds_data to TDS::incident_cells_threadsafe
2014-06-23 08:21:09 +02:00
Clement Jamin
05efa677a1
Merge branch 'Triangulation-higher_dimensions-odevil_shornus-old' into Triangulation-higher_dimensions-odevil_shornus
...
Conflicts:
NewKernel_d/include/CGAL/NewKernel_d/Cartesian_LA_functors.h
NewKernel_d/test/NewKernel_d/Epick_d.cpp
2014-05-28 14:53:26 +02:00
Clement Jamin
c9c8335811
More code clean-up
2014-05-27 13:46:34 +02:00
Sébastien Loriot
3fa09693a3
Merge branch 'Mesh_3-compare_index-GF-old' into Mesh_3-compare_index-GF
...
Conflicts:
Mesh_3/include/CGAL/Mesh_3/Detect_features_in_polyhedra.h
Mesh_3/include/CGAL/Mesh_domain_with_polyline_features_3.h
Mesh_3/include/CGAL/Mesh_polyhedron_3.h
Mesh_3/test/Mesh_3/test_meshing_polylines_only.cpp
STL_Extension/include/CGAL/Compact_container.h
STL_Extension/test/STL_Extension/test_Compact_container.cpp
2014-05-21 18:24:17 +02:00
Clement Jamin
f3c00442fd
Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin
2014-05-14 19:05:40 +02:00
Clement Jamin
db3a642de4
Missing include
2014-05-14 17:35:16 +02:00
Andreas Fabri
a45ed40f5d
Do not use the call stack for a recursive function as it may overflow
2014-03-25 16:01:27 +01:00
Jane Tournois
ffc3bdfc2f
there is no need to compare "ts". Comparing Vertex_handle's is enough
2014-02-14 15:22:54 +01:00
Jane Tournois
8d7ec0ef19
use time stamps in make_canonical(vertex_triple)
2014-02-14 12:55:29 +01:00
Olivier Devillers
d8197fb718
merge master and Triangulation
2013-11-29 13:40:14 +01:00
Clement Jamin
6b65ad71da
Changes in the "lock data structure" concept and models
...
The concept is now much more generic (SurjectiveLockDataStructure).
The names have been changed accordingly.
2013-10-16 12:17:56 +02:00
Clement Jamin
5101c3d2e7
Added my name in a few places + implementation history
2013-10-15 11:14:58 +02:00
Clement Jamin
29525dfcb7
Back-quotes for could_lock_zone and true + minor fixes + replace 0 by NULL
2013-10-15 10:27:35 +02:00
Clement Jamin
a173372321
Fixes for GCC + removed trailing spaces
2013-09-25 11:18:18 +02:00
Clement Jamin
18895e6f42
Use the TBB's scalable allocator in a few places
...
=> better scalability of the parallel remove
2013-07-23 17:51:06 +02:00
Clement Jamin
8aaee67985
Removed some "p_" prefixes in variable names
2013-07-12 15:49:45 +02:00
Clement Jamin
206b20bc15
Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin
2013-07-02 17:37:50 +02:00
Clement Jamin
fcdf906f06
Option to add temporary points on a far sphere before insertion
...
Helps to reduce contention on the infinite vertex
But removing those points in the end takes time
so it's only worth it when points lie on a surface.
2013-07-02 12:57:26 +02:00
Clement Jamin
2dc6c405b8
Drop the use of the TBB malloc proxy, use TBB allocators manually instead
...
The TBB's "malloc proxy", which allows to replace all calls to the standard
allocators by calls to the TBB scalable allocator, is not available on MacOS.
Instead, we use the TBB allocators manually, where relevant.
2013-06-27 15:29:47 +02:00