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
ed9dffe80d
remove the attempt for `os << std::pair`
2019-06-21 09:39:42 +02:00
Laurent Rineau
96912aaa20
Merge branch 'releases/CGAL-4.14-branch'
2019-06-17 13:53:42 +02:00
Laurent Rineau
9f99ee087e
Merge pull request #3986 from janetournois/Mesh_3-fix_optimizers_protection-jtournois
...
Mesh_3 : fix global optimizers protection
2019-06-17 13:51:33 +02:00
Laurent Rineau
91157b2167
Fix <CGAL/internal/Mesh_3/check_weights.h>
...
`Has_feature<Mesh_domain>` is not `Tag_true` or `Tag_false`, but
it *derives* from one of them!
Anyway, it is easier to use the nested value `::value`.
2019-06-13 18:08:38 +02:00
Jane Tournois
a70bf9458a
fix optimizers protection
...
If some vertices have a non-zero weights and they do not belong to input
features, then global optimizers should not be used.
The case without feature protection was not treated until now.
2019-06-06 17:34:53 +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
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
Laurent Rineau
d50e70eee8
boost::make_variant_over cannot be trusted!
...
Use my own naive implementation, with ugly meta-programming, instead
of using `boost::make_variant_over` and `boost::mpl::set`.
2018-10-08 14:53:48 +02:00
Laurent Rineau
d82cdbcff1
Mesh_3: Allow `Subdomain_index` to be `short`
...
... That forced me to modify the `Index` of domains with features.
2018-10-05 17:02:38 +02:00
Mael Rouxel-Labbé
e5cbe7eb1e
Use facets_in_complex_3_to_TM in Boundary_of_subdomain off functions
2018-07-18 17:17:47 +02:00
Mael Rouxel-Labbé
27b6e03968
Added some missing header includes
2018-06-07 10:24:15 +02:00
Mael Rouxel-Labbé
7ea3a8044e
Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
2018-06-05 14:39:18 +02:00
Laurent Rineau
2766e1ff5d
Merge 'master' and fix conflicts
2018-05-28 16:40:09 +02:00
Andreas Fabri
76c260142b
Add #include
2018-05-23 11:48:59 +02:00
Andreas Fabri
4de6c30323
Add missing #include
2018-05-23 11:48:59 +02:00
Andreas Fabri
c15306df4c
Put duplicated functors in an extra file
2018-05-23 11:48:58 +02:00
Laurent Rineau
6653dabc62
Add the license-checking #include
2018-05-16 11:07:13 +02:00
Laurent Rineau
5a38837588
fixup! Force nodes on the edges of the cube to be terminal nodes
2018-05-15 14:56:23 +02:00
Laurent Rineau
d91929a539
Force nodes on the edges of the cube to be terminal nodes
2018-05-15 14:56:23 +02:00
Laurent Rineau
e687db7b61
Missing #include
2018-05-15 14:56:22 +02:00
Laurent Rineau
79829ffb99
Move Index_generator to another header
2018-05-15 14:56:21 +02:00
Laurent Rineau
c751c1fc39
Rename the file
2018-05-15 14:56:21 +02:00
Laurent Rineau
2a66790614
Fix a bug
...
and add assertions. The assertions use lambda expression to display useful
information.
2018-05-15 14:56:21 +02: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
5efce459da
Mesh_3
2018-01-18 08:49:52 +00:00
Mael Rouxel-Labbé
34d53aa2d9
Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
2017-12-05 20:32:30 +01:00
Laurent Rineau
c961014fb4
Merge pull request #2583 from lrineau/Mesh_3-improve_polylines_to_protect-GF
...
Mesh 3: improve polylines_to_protect()
2017-12-05 18:19:47 +01:00
Laurent Rineau
9e99cf7d59
Fix a warning
...
```
In file included from .../include/CGAL/Mesh_3/polylines_to_protect.h:34:0,
from /home/cgal_tester/build/src/cmake/platforms/Fedora-32/test/Mesh_3_Examples/mesh_3D_image_with_features.cpp:40:
.../include/CGAL/internal/Mesh_3/Graph_manipulations.h: In instantiation of 'CGAL::internal::Mesh_3::Graph_manipulations<Graph, Point_3, NT, InterpolationFunctor>::Graph_manipulations(Graph&, InterpolationFunctor) [with Graph = boost::adjacency_list<boost::setS, boost::vecS, boost::undirectedS, CGAL::Point_3<CGAL::Epick>, boost::no_property, boost::no_property, boost::listS>; Point_3 = CGAL::Point_3<CGAL::Epick>; NT = unsigned char; InterpolationFunctor = CGAL::internal::Mesh_3::Returns_midpoint<CGAL::Epick, unsigned char>]':
.../include/CGAL/Mesh_3/polylines_to_protect.h:255:63: required from 'void CGAL::polylines_to_protect(const CGAL::Image_3&, double, double, double, std::vector<std::vector<IC> >&, Image_word_type*, Null_subdomain_index, DomainFunctor, InterpolationFunctor, PolylineInputIterator, PolylineInputIterator) [with P = CGAL::Point_3<CGAL::Epick>; Image_word_type = unsigned char; Null_subdomain_index = CGAL::Null_subdomain_index; DomainFunctor = CGAL::Identity<unsigned char>; InterpolationFunctor = CGAL::internal::Mesh_3::Returns_midpoint<CGAL::Epick, unsigned char>; PolylineInputIterator = __gnu_cxx::__normal_iterator<std::vector<CGAL::Point_3<CGAL::Epick>, std::allocator<CGAL::Point_3<CGAL::Epick> > >*, std::vector<std::vector<CGAL::Point_3<CGAL::Epick>, std::allocator<CGAL::Point_3<CGAL::Epick> > > > >]'
.../include/CGAL/Mesh_3/polylines_to_protect.h:802:5: required from 'void CGAL::polylines_to_protect(const CGAL::Image_3&, std::vector<std::vector<IC> >&, Image_word_type*, Null_subdomain_index, PolylineInputIterator, PolylineInputIterator) [with P = CGAL::Point_3<CGAL::Epick>; Image_word_type = unsigned char; Null_subdomain_index = CGAL::Null_subdomain_index; PolylineInputIterator = __gnu_cxx::__normal_iterator<std::vector<CGAL::Point_3<CGAL::Epick>, std::allocator<CGAL::Point_3<CGAL::Epick> > >*, std::vector<std::vector<CGAL::Point_3<CGAL::Epick>, std::allocator<CGAL::Point_3<CGAL::Epick> > > > >]'
.../include/CGAL/Mesh_3/polylines_to_protect.h:780:5: required from 'void CGAL::polylines_to_protect(const CGAL::Image_3&, std::vector<std::vector<IC> >&, PolylineInputIterator, PolylineInputIterator) [with P = CGAL::Point_3<CGAL::Epick>; Image_word_type = unsigned char; PolylineInputIterator = __gnu_cxx::__normal_iterator<std::vector<CGAL::Point_3<CGAL::Epick>, std::allocator<CGAL::Point_3<CGAL::Epick> > >*, std::vector<std::vector<CGAL::Point_3<CGAL::Epick>, std::allocator<CGAL::Point_3<CGAL::Epick> > > > >]'
/home/cgal_tester/build/src/cmake/platforms/Fedora-32/test/Mesh_3_Examples/mesh_3D_image_with_features.cpp:62:71: required from here
.../include/CGAL/internal/Mesh_3/Graph_manipulations.h:49:10: warning: 'CGAL::internal::Mesh_3::Graph_manipulations<boost::adjacency_list<boost::setS, boost::vecS, boost::undirectedS, CGAL::Point_3<CGAL::Epick>, boost::no_property, boost::no_property, boost::listS>, CGAL::Point_3<CGAL::Epick>, unsigned char, CGAL::internal::Mesh_3::Returns_midpoint<CGAL::Epick, unsigned char> >::g' will be initialized after [-Wreorder]
Graph& g;
^
.../include/CGAL/internal/Mesh_3/Graph_manipulations.h:48:24: warning: 'CGAL::internal::Mesh_3::Returns_midpoint<CGAL::Epick, unsigned char> CGAL::internal::Mesh_3::Graph_manipulations<boost::adjacency_list<boost::setS, boost::vecS, boost::undirectedS, CGAL::Point_3<CGAL::Epick>, boost::no_property, boost::no_property, boost::listS>, CGAL::Point_3<CGAL::Epick>, unsigned char, CGAL::internal::Mesh_3::Returns_midpoint<CGAL::Epick, unsigned char> >::interpolate' [-Wreorder]
InterpolationFunctor interpolate;
^~~~~~~~~~~
.../include/CGAL/internal/Mesh_3/Graph_manipulations.h:51:3: warning: when initialized here [-Wreorder]
Graph_manipulations(Graph& g,
^~~~~~~~~~~~~~~~~~~
```
2017-12-04 11:38:46 +01:00
Mael Rouxel-Labbé
5e810e3c09
Replaced std::map with unordered map + timestamp hash function
2017-12-01 19:07:55 +01:00
Mael Rouxel-Labbé
8a9750709b
Moved the timestamp hash function to STL_extension (and rewrote it)
2017-12-01 08:44:12 +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é
1078e00e7f
Uniformized between Mesh_3::internal and internal::Mesh_3
2017-11-30 14:26:12 +01:00
Mael Rouxel-Labbé
9b8c5cd824
Another batch of v->point() --> tr.point(v)
2017-11-29 17:48:55 +01:00
Mael Rouxel-Labbé
78133c5100
Replaced usages of '.weight()' in Mesh_3 and P3M3
...
Either through the comparison predicate or the weight constructor.
2017-11-29 16:30:34 +01:00
Mael Rouxel-Labbé
aa43fbf1f4
Fixed typo
2017-11-22 10:13:01 +01:00
Mael Rouxel-Labbé
582742b105
Moved timestamp_hash_fct from internal::mesh_3 to mesh_3::internal
2017-11-22 09:58:55 +01:00
Mael Rouxel-Labbé
1affc98dd1
Added class Timestamp_hash_function
...
Provides hashes for Vertex_handle-like classes. The hash will be based on
the timestamp member if the vertex has one, and on its memory address otherwise.
2017-11-21 17:22:39 +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
79418f2f43
prepare the introduction of DomainFunctor and InterpolationFunctor
2017-11-09 20:45:11 +01:00
Laurent Rineau
f3924fe8d6
curve segment -> curve
2017-10-13 15:59:48 +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
7776720ca9
Merge pull request #1752 from lrineau/Mesh_3-various_fixes_and_improvements-lrineau
...
Fix the patch from #1524
2016-12-28 16:12:14 +01:00
Laurent Rineau
6214312575
For CGAL_MESH_3_PROTECTION_DEBUG
2016-12-07 11:24:28 +01:00
Jane Tournois
9187318744
Revert "convert weighted points to bare points when needed"
...
This reverts commits 19dadd6d58
and 137fe12b6b
We now use Kernel functors instead of Construct_point_3 converters,
because they work with both Point_3 and Weighted_point_3
2016-11-04 15:41:00 +01:00
Jane Tournois
19dadd6d58
convert weighted points to bare points when needed
2016-11-04 12:27:56 +01:00
Laurent Rineau
fa5cb831c9
Add Output_rep<T,F>::is_specialized...
...
.. that allows `Dump_c3t3` to detect if a type can be streamed, using
either `operator<<` or `Output_rep<T>`.
2016-06-15 18:10:14 +02:00
Laurent Rineau
16d18351ce
Add example showing how to initialize components
2016-06-15 18:10:14 +02:00