Commit Graph

1741 Commits

Author SHA1 Message Date
Laurent Rineau 1dfbb84bf0 Add Labeled_mesh_domain_3<K>::create_gray_image_mesh_domain
... and deprecate `CGAL::Gray_image_mesh_domain_3`.
2018-05-15 14:56:22 +02:00
Laurent Rineau f0ad9b4872 Correct use of CGAL_NO_DEPRECATED_CODE 2018-05-15 14:56:22 +02:00
Laurent Rineau e687db7b61 Missing #include 2018-05-15 14:56:22 +02:00
Laurent Rineau c3de61a1d9 Use <boost/noncopyable.hpp> instead of our home-made solution 2018-05-15 14:56:22 +02:00
Laurent Rineau 87066b93a1 Rename a function for readability 2018-05-15 14:56:22 +02:00
Laurent Rineau a2a5c6ed6a Cleaning of impl. details in <CGAL/Mesh_3/Image_to_labeled_function_wrapper.h>
Now that wrapper class:
 - uses `std::function`,
 - is not longer templated by the kernel,
 - or by the image type.
2018-05-15 14:56:22 +02:00
Laurent Rineau 0d839ce60a Correct usage of Boost Parameters 2018-05-15 14:56:21 +02:00
Laurent Rineau 8b25761094 Add a constructor using Boost Parameters 2018-05-15 14:56:21 +02:00
Laurent Rineau 0400eb6c4b Cleanup included header for Boost Parameters 2018-05-15 14:56:21 +02:00
Laurent Rineau fd1a788851 Replace Default by the real type default 2018-05-15 14:56:21 +02:00
Laurent Rineau 85d9e02cc3 Call iso_cuboid in the Impl_details base class 2018-05-15 14:56:21 +02:00
Laurent Rineau 91b6dc3b13 Add Construct_surface_patch_index to the Impl_details 2018-05-15 14:56:21 +02:00
Laurent Rineau 7e9165d78a WIP: Change the template parameters of Labeled_image_mesh_domain_3 (TODO)
TODO: document the changes, once that is over.
2018-05-15 14:56:21 +02:00
Laurent Rineau cbcad49920 Use CGAL::cpp11::function to store functors
and at the same time the constructors logic is factorized in the
constructor of a base class.
2018-05-15 14:56:21 +02:00
Laurent Rineau 1a3c4436ae WIP: allow to change the Surface_patch_index type 2018-05-15 14:56:21 +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 9655043e69 Add debug instructions 2018-05-15 14:56:21 +02:00
Laurent Rineau c19c84a022 Fix a line of code that was never tested 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
Laurent Rineau 569b823cd5 Protection of triple lines of the bbox for scalar images
Now that work. I have to work a bit on the precision of the approximation.
2018-05-15 14:56:20 +02:00
Laurent Rineau 1d5e9e9150 WIP: implementation for scalar image
... tested only on segmented images!
2018-05-15 14:56:20 +02:00
Mael Rouxel-Labbé c238d7822d Moved functions's bodies 2018-05-03 14:52:52 +02:00
Mael Rouxel-Labbé d629406451 Fixed bad auto merge 2018-05-03 14:22:26 +02:00
Mael Rouxel-Labbé 7630458123 Added some safety nets on find() calls 2018-05-03 14:22:07 +02:00
Mael Rouxel-Labbé eda93364be Made register_corner() public (but undocumented) 2018-05-03 14:19:23 +02:00
Mael Rouxel-Labbé 1f9655f935 Add 'add_corner_with_context' 2018-05-03 12:53:30 +02:00
Mael Rouxel-Labbé f2171b799e Get rid of 'corners_incidence_map_'
'corners_incidence_map_' was a map<point, surface_patch_index>.
'corners_indidences_'    is a  map<Corner_index, surface_patch_index>.

The first map was only used in Lipschitz_sizing, at a place where
we are given a point and a MeshDomain::Index.

The first map was filled in 'insert_edge()', which calls
'compute_corners_incidences()' (which fills 'corners_incidences').
Thus, we can simply grab the Corner_index and use the second map
immediately.
2018-05-03 12:52:06 +02:00
Mael Rouxel-Labbé e1ffe36e7c Added 'add_corner(s)'
Allows to add 0-dimensional features which are not necessarily incident to
a 1-dimensional feature.
2018-05-03 12:51:39 +02:00
Andreas Fabri c54a6a4980 Put CGAL::random_shuffle() in the subnamespace cpp98 2018-04-11 09:32:23 +01:00
Andreas Fabri 063a91a771 Use CGAL::random_shuffle 2018-04-04 14:00:23 +01:00
Laurent Rineau 237735ab73 Merge pull request #2946 from afabri/CGAL-dependencies-GF
Move properties from Mesh_3 to BGL, Polyhedron_3 and Surface_mesh
2018-03-27 10:35:23 +02:00
Laurent Rineau cd6fe20bd4 Merge branch 'releases/CGAL-4.11-branch' 2018-03-26 11:03:37 +02:00
Laurent Rineau 3c70f8bad0 Fix dependencies by moving files 2018-03-23 14:17:24 +01:00
Jane Tournois b9f4a4e06b implement number_of_corners(), that is documented 2018-03-23 11:54:53 +01:00
Laurent Rineau c504ea3e9f Fixes
- cleanup
- be careful not to add things to the documentation
2018-03-22 17:23:28 +01:00
Andreas Fabri 8c41669fb7 move properties from Mesh_3 to BGL, Polyhedron_3 and Surface_mesh 2018-03-22 16:37:37 +01:00
Andreas Fabri 5d1cd90517 Add two typename 2018-03-05 14:17:26 +00:00
Laurent Rineau da744ba852
Fix a warning
```
[ 50%] Building CXX object CMakeFiles/generic_random_test.dir/generic_random_test.cpp.o
/usr/local/bin/c++   -DCGAL_TEST_SUITE=1 -DCGAL_USE_GMP -DCGAL_USE_MPFR -I/home/cgal_tester/build/src/cmake/platforms/Ubuntu-latest-GCC6-CXX1z/test/Generator/../../include -isystem /usr/include/x86_64-linux-gnu -I/home/cgal_tester/build/src/cmake/platforms/Ubuntu-latest-GCC6-CXX1z/test/Generator -I/home/cgal_tester/build/src/cmake/platforms/Ubuntu-latest-GCC6-CXX1z/include -I/mnt/testsuite/include  -DDONT_USE_BOOST_PROGRAM_OPTIONS -Wall -Wextra -std=c++1z -frounding-math   -Wall -frounding-math -o CMakeFiles/generic_random_test.dir/generic_random_test.cpp.o -c /home/cgal_tester/build/src/cmake/platforms/Ubuntu-latest-GCC6-CXX1z/test/Generator/generic_random_test.cpp
In file included from /mnt/testsuite/include/CGAL/Mesh_3/vertex_perturbation.h:35,
                 from /mnt/testsuite/include/CGAL/Mesh_3/Sliver_perturber.h:48,
                 from /mnt/testsuite/include/CGAL/perturb_mesh_3.h:35,
                 from /mnt/testsuite/include/CGAL/optimize_mesh_3.h:32,
                 from /mnt/testsuite/include/CGAL/refine_mesh_3.h:39,
                 from /mnt/testsuite/include/CGAL/make_mesh_3.h:35,
                 from /home/cgal_tester/build/src/cmake/platforms/Ubuntu-latest-GCC6-CXX1z/test/Generator/generic_random_test.cpp:9:
/mnt/testsuite/include/CGAL/Mesh_3/C3T3_helpers.h: In member function 'void CGAL::Mesh_3::C3T3_helpers<C3T3, MeshDomain>::Cell_data_backup::backup_finite_cell(const Cell_handle&)':
/mnt/testsuite/include/CGAL/Mesh_3/C3T3_helpers.h:1431:48: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
         const int ii = static_cast<const int>(i);//avoid warnings
                                                ^
```
https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-4.12-Ic-186/Generator/TestReport_lrineau_Ubuntu-latest-GCC6-CXX1z.gz
2018-02-28 13:45:03 +00:00
Laurent Rineau 78e7060525 Merge pull request #2712 from afabri/CGAL-VC+warnlevel_4-GF
Deal with VC++ warnings of level /W4
2018-02-19 14:27:06 +01:00
Laurent Rineau c3ad015f51 Merge pull request #2823 from afabri/Mesh_3-undocumented_function_for_FEniCS-GF
Mesh_3: Add access function to the stored polyhedra
2018-02-19 14:26:40 +01:00
Laurent Rineau 9d227d0fba Merge pull request #2758 from maxGimeno/BGL-Document_graph_has_property-GF
BGL: Document graph_has_property
2018-02-19 14:26:33 +01:00
Andreas Fabri 07b0ddf9a5 Fix disable/enable warnings; Fix indentation 2018-02-13 14:15:38 +00:00
Sébastien Loriot 483f69728e Refresh branch 2018-02-12 22:21:38 +01:00
Andreas Fabri 39526dd16f Mesh_3: Add access function to the stored polyhedra for the FeniCS project 2018-02-12 16:00:14 +00:00
Laurent Rineau 66b19d9cb5 Merge pull request #2779 from lrineau/Mesh_3-fix_bugs-GF
Mesh_3: fix bugs in undocumented code
2018-02-02 16:07:53 +01:00
Laurent Rineau f310fc588d
Merge pull request #2690 from sgiraudot/Classification-ETHZ_random_forest-GF
Classification: ETHZ Random Forest
2018-02-01 17:35:30 +01:00
Laurent Rineau f2bc9d6b62 Fix merge_duplicated_points
`Union_find` is required to merge correct patch ids.
2018-02-01 17:07:35 +01:00
Laurent Rineau 50865f38e8 Fix a compilation error with CGAL_MESH_3_PROTECTION_HIGH_VERBOSITY 2018-02-01 17:07:12 +01:00
Andreas Fabri 4ef0bdbcb6 Suppress this warning not globally in disable_warnings.h 2018-01-24 14:21:16 +00:00
Andreas Fabri f25b6b9b52 cast 2018-01-24 13:10:37 +00:00
Andreas Fabri dc2f37a4ae disable/enable warnings 2018-01-24 08:59:20 +00:00
Simon Giraudot 6269309d86 Use CGAL include for boost counting/transform iterators everywhere 2018-01-23 11:09:52 +01:00
Maxime Gimeno c3215b9331 Move graph_has_property from namespace boost to namespace CGAL and provide some doc for it. 2018-01-22 12:43:29 +01:00
Laurent Rineau 87ddddf04b Merge pull request #2278 from maxGimeno/Integrate_remeshing_plugin_into_mesh_3-GF
Polyhedron_demo: Remove the Remeshing_plugin
2018-01-19 15:22:41 +01:00
Andreas Fabri 5efce459da Mesh_3 2018-01-18 08:49:52 +00:00
Laurent Rineau 5e7ad51345 Merge pull request #2681 from lrineau/Mesh_3-fix_CGAL_SEQUENTIAL_MESH_3_ADD_OUTSIDE_POINTS_ON_A_FAR_SPHERE-GF
Mesh_3: fix CGAL_SEQUENTIAL_MESH_3_ADD_OUTSIDE_POINTS_ON_A_FAR_SPHERE
2018-01-17 10:43:30 +01:00
Maxime Gimeno 81800eb937 Add a feature to the Mesh_3_plugin that allows to create a Facegraph_item when performing a surface_meshing. 2018-01-15 11:17:37 +01: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
Laurent Rineau 14b810d87c Merge pull request #2680 from lrineau/Mesh_3-improve_polylines_to_protect-GF
Fix a compilation error (on CentOS5)
2017-12-19 16:31:00 +01:00
Laurent Rineau 8bd5896baf Fix Mesh_3 if that macro is defined
With recent changes, Mesh_3 was no longer compiler with
`CGAL_SEQUENTIAL_MESH_3_ADD_OUTSIDE_POINTS_ON_A_FAR_SPHERE` defined.

This commit fixes the compilation issue.
2017-12-13 18:10:09 +01:00
Laurent Rineau a3b979e0b8 Fix a compilation error (on CentOS5) 2017-12-13 16:50:40 +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
Sébastien Loriot ff26773f7b remove include directive for checking GPL compliance in LGPL headers 2017-11-12 10:21:35 +01:00
Sébastien Loriot 39e4fdd3ed add missing SPDX identifiers 2017-11-12 10:21:27 +01:00
Sébastien Loriot ee57fc2d6c add SPDX identifier for files under the GPL-3+ license 2017-11-12 10:17:51 +01:00
Sébastien Loriot 0698f79aff add SPDX identifier for files under the LGPL-3+ license 2017-11-12 10:17:50 +01:00
Laurent Rineau f686b140cf Add ASCII-art "pictures" to comment the code 2017-11-10 16:09:31 +01:00
Laurent Rineau 79418f2f43 prepare the introduction of DomainFunctor and InterpolationFunctor 2017-11-09 20:45:11 +01:00
Laurent Rineau 539097d732 Use a struct instead of a tuple
That way the access to fields is clearer: `.point` instead of `get<1>(..)`.
2017-11-09 18:39:26 +01:00
Laurent Rineau be3fa5ba1f Factorize debug output 2017-11-09 18:34:23 +01:00
Laurent Rineau 3630aa32df Debug output 2017-11-07 17:32:59 +01:00
Laurent Rineau 2910c5d009 Support 2D images 2017-11-07 17:32:47 +01:00
Laurent Rineau 69b4dacb17 Merge pull request #2482 from lrineau/Mesh_3-API_with_incidences-GF
Document Mesh_domain_with_polyline_features_3::add_features_and_incidences
2017-10-27 18:01:12 +02:00
Laurent Rineau 3f12ad1276 Fix compilation error when NO_ERROR is a macro
(On macro `NO_ERROR` evaluates to `0L`!)
2017-10-26 16:37:38 +02:00
Laurent Rineau a686179700 Re-add curve_segment_index(..) as a deprecated compatibility method 2017-10-23 19:24:04 +02:00
Laurent Rineau 675bcc1cbe Fix compilation errors 2017-10-23 18:53:42 +02:00
Laurent Rineau 93f6caa02d Include the license checking header 2017-10-23 18:53:42 +02:00
Laurent Rineau de938ea79f Cherry-pick, then adapt, two old commits:
|commit 6a76062ba692f284cdca8b4504fbf5000c942c39
  |Author: Laurent Rineau <Laurent.Rineau__CGAL@normalesup.org>
  |Date:   Wed Aug 29 10:15:10 2012 +0000
  |
  |    Add a way to specify a maximal number of vertices. That aborts the meshing.
  |
  |Notes:
  |    r71799 branches/features/Mesh_3-experimental-GF

  | commit 9d501d0bef44cf0e3419299947c1b7ccfd0e87d8
  | Author: Laurent Rineau <Laurent.Rineau__CGAL@normalesup.org>
  | Date:   Wed Aug 29 16:14:13 2012 +0000
  |
  |     A pointer to a CGAL::Mesh_error_code (an enum) can be passed to Mesh_3
  |
  | Notes:
  |     r71818 branches/features/Mesh_3-experimental-GF
2017-10-23 18:53:42 +02:00
Laurent Rineau 69360e2946 Fix typos
See Mael's comment https://github.com/CGAL/cgal/pull/2482#issuecomment-334126506
2017-10-23 18:30:32 +02:00
Laurent Rineau 69397e159d Remove that include
- it is actually not used
- it does not exist in older Boost versions (1.48)
2017-10-23 18:30:32 +02:00
Laurent Rineau 2b19cfe269 Re-add curve_segment_index(..) as a deprecated compatibility method 2017-10-23 18:30:32 +02:00
Laurent Rineau 250cfea70c typo 2017-10-23 18:30:32 +02:00
Laurent Rineau ac90c88be7 paches->patches 2017-10-23 18:30:32 +02:00
Laurent Rineau 430a62fd60 Document also the parameters 2017-10-23 18:30:31 +02:00
Laurent Rineau dbd818e68b Remove the deprecation of signed_geodesic_distance
That function is still required by `Sizing_field_with_aabb_tree`. We
will document it later.
2017-10-23 18:30:31 +02:00
Laurent Rineau 728f358c31 Write the documentation 2017-10-23 18:30:31 +02:00
Laurent Rineau e8ce4a9bf5 Add add_features_and_incidences 2017-10-23 18:30:31 +02:00
Laurent Rineau 3dcc4cf5d7 Merge pull request #2491 from janetournois/Mesh_3-document_manifold_criterion-jtournois
Mesh 3 : document manifold criterion
2017-10-23 17:24:51 +02:00
Laurent Rineau faf023b988 Merge pull request #2541 from lrineau/Mesh_3-fix_NaN-lrineau
Fix a perturber bug
2017-10-23 17:14:18 +02:00
Laurent Rineau ce6e3a121f Merge branch 'releases/CGAL-4.10-branch' into releases/CGAL-4.11-branch 2017-10-23 16:55:54 +02:00
Laurent Rineau 6be9fcab9d Forbid the use of CGAL_MESH_3_USE_RELAXED_HEAP
That code using a Boost relaxed heap is buggy. Let's warn the developer
that he/she must not use it.
2017-10-19 15:14:01 +02:00
Laurent Rineau 6178c04cf1 Fix also restore_infinite_cell
Thanks @MaelRL for the suggestion.

https://github.com/CGAL/cgal/pull/2541#issuecomment-337278638
2017-10-18 17:00:25 +02:00
Jane Tournois fb4f087317 fix conversion warning 2017-10-17 17:39:13 +02:00
Laurent Rineau 9a7b48d693 Fix a perturber bug
The `facet_surface_center` of facet was not always restored correctly,
after an aborted move, and that eventually led to use of uninitialized
memory... and a crash.
2017-10-17 09:48:45 +02:00
Laurent Rineau 38548abc92 Fix the feature "several_vertices_on_patch"
For small bubbles, the set of 20 initial points was not at all
random (bad implementation).
2017-10-13 16:30:03 +02:00
Laurent Rineau 3a7dc085db Remove CGAL_DEPRECATED
I cannot find a way to use it cross-platform. The syntax of attributes
for gcc and MSVC do not seem compatible.
2017-10-13 15:59:48 +02:00
Laurent Rineau b6e8b96f2a Attribute for typedefs must be at the end of line 2017-10-13 15:59:48 +02:00
Laurent Rineau 946af7f3c7 Fix the polyhedron demo after the API changes 2017-10-13 15:59:48 +02:00