Commit Graph

1628 Commits

Author SHA1 Message Date
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 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
Laurent Rineau f3924fe8d6 curve segment -> curve 2017-10-13 15:59:48 +02:00
Laurent Rineau 87f56930e5 New documentation for MeshDomainWithFeatures_3 2017-10-13 15:57:03 +02:00
Laurent Rineau dfb64ce2f1 "Return `true`" 2017-10-13 15:57:02 +02:00
Laurent Rineau f38c886c8b Fix typos reported by @janetournois
The review: https://github.com/CGAL/cgal/pull/2315#pullrequestreview-58370911
2017-10-13 15:57:02 +02:00
Laurent Rineau 9076ecaddf Add K::Has_on_bounded_side_3(Sphere_3, Sphere_3, Point_3, Point_3) 2017-10-13 15:57:02 +02:00
Laurent Rineau dec5908e32 Fix a warning 2017-10-13 15:57:02 +02:00
Laurent Rineau 02d0bea546 Fix a warning
```
include/CGAL/Mesh_3/Protect_edges_sizing_field.h:1821:14: warning: unused variable 'point_through' [-Wunused-variable]
  Bare_point point_through = wp2p((*previous)->point());
             ^
```
2017-10-13 15:57:02 +02:00
Laurent Rineau e6cf0e73f5 Assure the covering of curves by protecting balls
- That changes the API of Mesh_domain_with_polyline_features_3 (and the
  corresponding concept... TODO)

  - The domain is now responsible for checking the covering.

  - A lot of method have gained the `orientation` parameter: it is uses
    on cycles, to know distinguish between the two curves segments
    between two points.

- The implementation of <CGAL/Mesh_3/Protect_edges_sizing_field.h> has
  changed accordingly.
2017-10-13 15:57:02 +02:00
Laurent Rineau 38617b17a3 Refactoring of Sizing_field_with_aabb_tree (API breakage too)
The refactoring allows to compute a better size of corners in a cycle.
2017-10-13 15:57:02 +02:00
Laurent Rineau 4ff88c8220 Cosmetic 2017-10-13 15:57:02 +02:00
Laurent Rineau 8ef4832e7c Factorize the `disp_vert` functions into <CGAL/Mesh_3/utilities.h> 2017-10-13 15:57:02 +02:00
Laurent Rineau 6c78907ecc Fix header guards and license 2017-10-13 15:57:02 +02:00
Laurent Rineau ddb1aa8aec Fix compilation of <CGAL/Mesh_3/experimental/Get_facet_patch_id.h>
missing header
2017-10-13 15:57:02 +02:00