Commit Graph

102 Commits

Author SHA1 Message Date
Sebastien Loriot 20ac7ff2da
Merge pull request #4792 from lrineau/Mesh_3-reduce_size_of_debuginfo-GF
Reduce size of symbols (and debug infos)
2020-10-02 15:17:44 +02:00
Laurent Rineau bd7d3c498f Merge pull request #4786 from lrineau/Mesh_3-fix_compilation_error_MSVC2015-GF
Continue workaround for MSVC2015
2020-06-23 18:49:58 +02:00
Laurent Rineau b64a1718c4 Reduce size of symbols (and debug infos)
- one nested struct `Tds` in `Mesh_triangulation_3`,
- rework of `Mesh_vertex_base_3` and `Compact_mesh_cell_base_3`.

That reduction of debug infos and size of symbols will help the IDE
and debuggers.

```
Debug info size (with gcc-9, and `-g`)

ORIG	AFTER	RATIO  		FILE IN examples/Mesh_3/
56532	55572	1.01727		mesh_3D_image_with_custom_initialization.debug
64696	63420	1.02012		mesh_cubes_intersection_with_features.debug
56700	55536	1.02096		mesh_3D_image.debug
56488	55324	1.02104		mesh_implicit_sphere.debug
56496	55332	1.02104		mesh_implicit_sphere_variable_size.debug
56776	55604	1.02108		mesh_3D_image_variable_size.debug
56520	55296	1.02214		mesh_cubes_intersection.debug
56684	55428	1.02266		mesh_3D_gray_image.debug
56796	55536	1.02269		mesh_3D_gray_image_multiple_values.debug
56732	55472	1.02271		mesh_3D_gray_vtk_image.debug
57128	55824	1.02336		mesh_optimization_example.debug
57420	56088	1.02375		mesh_optimization_lloyd_example.debug
56948	55560	1.02498		mesh_implicit_domains_2.debug
56932	55544	1.02499		mesh_implicit_domains.debug
69160	63304	1.09251		mesh_hybrid_mesh_domain.debug
72212	66088	1.09266		mesh_3D_image_with_features.debug
70172	63924	1.09774		mesh_two_implicit_spheres_with_balls.debug
75388	66128	1.14003		mesh_polyhedral_domain_sm.debug
75676	64412	1.17487		mesh_polyhedral_complex_sm.debug
81544	67772	1.20321		mesh_polyhedral_domain.debug
87456	71672	1.22023		mesh_polyhedral_domain_with_features_sm.debug
87524	71600	1.2224		remesh_polyhedral_surface_sm.debug
92332	74528	1.23889		mesh_polyhedral_complex.debug
98640	77448	1.27363		mesh_polyhedral_domain_with_lipschitz_sizing.debug
95640	74456	1.28452		mesh_polyhedral_domain_with_features.debug
95132	74000	1.28557		mesh_polyhedral_domain_with_surface_inside.debug
95724	74388	1.28682		remesh_polyhedral_surface.debug

1899448	1695256	1.12045		total
```
2020-06-16 17:47:00 +02:00
Laurent Rineau 113c3d1d6f Continue woraround for MSVC2015
That is a followup to commit 5fbaaa9e42
from PR #4468.

I also chose a better name `is_null` instead of
`compare_weighted_circumcenter`.
2020-06-15 15:56:28 +02:00
Laurent Rineau dcc4fb1cc1 Merge remote-tracking branch 'cgal/master' into CGAL-move_semantic_for_triangulations-GF
# Conflicts:
#	STL_Extension/include/CGAL/Compact_container.h
2020-05-20 09:46:26 +02:00
Sébastien Loriot fb83386f44 Merge remote-tracking branch 'cgal/releases/CGAL-4.14-branch' 2020-05-12 16:58:32 +02:00
Laurent Rineau 3951c38637 Fix UBSAN error: do not bind reference to null pointer
Equivalent to #4683
2020-05-04 18:54:19 +02:00
Sébastien Loriot d1a323c730 extra run of the script to remove tabs and trailing whitespaces 2020-03-26 19:24:14 +01: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 590612a563 run the script to remove tabs and trailing whitespaces 2020-03-26 13:25:16 +01:00
Laurent Rineau 378554e5a7 Change the API of `for_compact_container`/`Compact_container_traits`
Now, we have a proper pair of getter/setter, and the `void` pointer is
get by a `reinterpret_cast`, instead of a union.

Cc: @mglisse
2020-03-09 17:19:58 +01:00
Maxime Gimeno e3c1de5f03 fix helpers 2020-01-28 10:36:19 +01:00
Maxime Gimeno 05735be4e3 Overload atomic<T*> instead of atomic<T> 2020-01-27 16:02:24 +01:00
Maxime Gimeno 5fbaaa9e42 Workaround for VS 2015 2020-01-27 10:25:24 +01:00
Maxime Gimeno 85712ba28c WIP replacing tbb deprecated includes. 2020-01-14 15:03:20 +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
Sébastien Loriot 124012d9f9 replace cpp11::array by std::array 2019-03-29 13:28:33 +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é 5ef4ed6083 Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle
Based on master
2017-07-03 16:12:14 +02:00
Mael Rouxel-Labbé 044deb6c7e Replaced boost_static_assert with cgal_static_assert and used () guards 2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé aed94b400b Renamed Compact_mesh_cell_base_3's circumcenter_ to weighted_circumcenter_ 2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé 1f14a66d94 Renamed uses of invalidate_circumcenter() in accordance with the modified concept 2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé 2d2eb22f98 Fixed boost/core/is_same.hpp > boost/type_traits/is_same.hpp 2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé 614293f673 Forgot compact_mesh_cell_base in f2a308d
That is, making cell_bases models of the concept RegularTriangulationCellBase_3
2017-06-28 10:16:23 +02:00
Jane Tournois 130e65db97 really use the GT given as a parameter
When the geom_traits given as parameter of `circumcenter` and/or
`weighted_circumcenter` was deriving from the cell base GT
(first template parameter), the gt was up-casted to the
cell base GT, and the function construct_circumcenter_3_object()
(or construct_weighted_circumcenter_3_object()) not
called on the right geom traits type --> possibly missing
the actual input of the function (the robust_circumcenter_traits in Mesh_3)

we add a static assert to check at compile time that point types are the same
2017-06-28 10:16:23 +02:00
Jane Tournois 110316570c really use the GT given as a parameter
When the geom_traits given as parameter of `circumcenter` and/or
`weighted_circumcenter` was deriving from the cell base GT
(first template parameter), the gt was up-casted to the
cell base GT, and the function construct_circumcenter_3_object()
(or construct_weighted_circumcenter_3_object()) not
called on the right geom traits type --> possibly missing
the actual input of the function (the robust_circumcenter_traits in Mesh_3)

we add a static assert to check at compile time that both geom traits
are compatible
2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé 234c2bf973 Fixed (remaining) Bare_point / Weighted_point wrong usages across Mesh_3 2017-06-28 10:14:35 +02:00
Andreas Fabri 780e01dc90 WIP: test_meshing_polyhedron_with_features compiles and crashes in odt 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
Mael Rouxel-Labbé a9e25ec619 Renamed Compact_mesh_cell_base_3's circumcenter_ to weighted_circumcenter_ 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 9cc17dc935 Renamed uses of invalidate_circumcenter() in accordance with the modified concept 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé fa6be567e5 Fixed boost/core/is_same.hpp > boost/type_traits/is_same.hpp 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé d22eaa2ce5 Forgot compact_mesh_cell_base in f2a308d
That is, making cell_bases models of the concept RegularTriangulationCellBase_3
2017-06-15 10:34:15 +02:00
Jane Tournois dae940b0fd really use the GT given as a parameter
When the geom_traits given as parameter of `circumcenter` and/or
`weighted_circumcenter` was deriving from the cell base GT
(first template parameter), the gt was up-casted to the
cell base GT, and the function construct_circumcenter_3_object()
(or construct_weighted_circumcenter_3_object()) not
called on the right geom traits type --> possibly missing
the actual input of the function (the robust_circumcenter_traits in Mesh_3)

we add a static assert to check at compile time that point types are the same
2017-06-15 10:34:15 +02:00
Jane Tournois e399530d69 really use the GT given as a parameter
When the geom_traits given as parameter of `circumcenter` and/or
`weighted_circumcenter` was deriving from the cell base GT
(first template parameter), the gt was up-casted to the
cell base GT, and the function construct_circumcenter_3_object()
(or construct_weighted_circumcenter_3_object()) not
called on the right geom traits type --> possibly missing
the actual input of the function (the robust_circumcenter_traits in Mesh_3)

we add a static assert to check at compile time that both geom traits
are compatible
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 96e053211e Fixed (remaining) Bare_point / Weighted_point wrong usages across Mesh_3 2017-06-15 10:32:03 +02:00
Andreas Fabri 58c8d7cb1a WIP: test_meshing_polyhedron_with_features compiles and crashes in odt 2017-06-15 10:29:26 +02:00
Andreas Fabri 80224bf2c8 Disable Point_3(const Weighted_point_3&) 2017-06-15 10:29:26 +02:00
Laurent Rineau 0757cfaeb0 Re-use existing time stamps
When a `Vertex` or a `Cell` is recycled by the `Compact_container`,
re-use the existing time stamp instead of increment it. That will avoid
that the pointee of a handle has a changing timestamp.
2017-05-18 10:57:13 +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
Laurent Rineau 683fa43b69 Fix -Wconversion warnings (g++-5.3.1 Fedora 23) 2016-04-21 16:41:14 +02:00
Laurent Rineau 216b298652 Fix issues in I/O of Mesh_complex_3_in_triangulation_3
And restore the possibility for the Polyhedron demo to load two types of
C3t3 (with `Patch_id` being `int` or `std::pair<int, int>`).
2016-03-25 15:45:28 +01:00
Simon 067647eebf Replacing the use of operator!= by !( operator== ) when comparing domain or surface indexes.
This is link to issue #37.
2015-04-16 10:12:50 +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 deb6edcb1f Wrong variable name. 2014-07-16 17:05:22 +02:00
Clement Jamin dad9162352 Missing "using" 2014-07-16 17:04:47 +02:00
Clement Jamin 2dd27c4d13 Fix a (minor) data race on the circumcenter cache 2014-07-16 16:35:31 +02:00