Commit Graph

67 Commits

Author SHA1 Message Date
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