Commit Graph

1185 Commits

Author SHA1 Message Date
Laurent Rineau c6cf01c7f6 Merge pull request #1562 from afabri/Kernel_Compute_dihedral_angle-GF
Add doc of functor class and concept corresponding to dihedral_angle()
2016-10-20 09:48:05 +02:00
Laurent Rineau d43ac6d667 Merge pull request #1586 from janetournois/Mesh_3-protection_deterministic-GF
Mesh_3 : make features protection deterministic again
2016-10-20 09:47:45 +02:00
Laurent Rineau e92075ab0d Deal with implicit fallthrough
That was a bug in the PR #1564. Actually, the code has the right
behavior, but the implicit fallthrough was not intended.
2016-10-17 16:21:19 +02:00
Jane Tournois 6c9da8b572 re-introduce determinism of protection with protecting balls
use vecS instead of setS for vertices, to have a consistent order on the
list of vertices
2016-10-17 14:48:09 +02:00
Laurent Rineau 6be3772654 Fix calls to dihedral_angle() 2016-10-17 14:43:15 +02:00
Laurent Rineau 6a72c4749f Merge pull request #1564 from lrineau/Mesh_3-fix_an_old_bug__issue_1554-lrineau
Fix issue #1554
2016-10-17 10:01:17 +02:00
Andreas Fabri 423242be31 dihedral_angle() -> approximate_dihedral_angle() 2016-10-11 15:35:20 +02:00
Laurent Rineau 0f4661087b Fix issue #1554
Fix a runtime error. The `Intersect_3` functor of
`Robust_intersection_traits_3_new` was ignored cases in the intersection
between a segment and a triangle.

In `ts_intersection`, if one of the extremities of the segment was
coplanar with the triangle, the empty object was always returned.

This bug of mines was introduced in CGAL-4.3 by
56d733b254.

(Fix #1554.)
2016-10-10 18:01:20 +02:00
Laurent Rineau 02b22f216e Fix a compilation error
There was a compilation error if
`CGAL_MESH_3_NO_LONGER_CALLS_DO_INTERSECT_3` was undefined.
2016-10-10 18:01:20 +02:00
Laurent Rineau 7b57c42e51 Merge pull request #1524 from lrineau/Mesh_3-split_graph_into_polylines_determinism-lrineau
Make split_graph_into_polylines deterministic
2016-10-05 15:13:19 +02:00
Laurent Rineau 223c1cf5a4 Merge pull request #1530 from lrineau/Installation-compute_dependencies-GF
Compute and fix packages dependencies
2016-10-05 13:11:04 +02:00
Laurent Rineau 745cdaeba5 Merge pull request #1524 from lrineau/Mesh_3-split_graph_into_polylines_determinism-lrineau
Make split_graph_into_polylines deterministic
2016-10-05 13:03:36 +02:00
Laurent Rineau 7b6addbb55 Merge pull request #1519 from lrineau/Mesh_3-fix_conversion_warnings-lrineau
Mesh_3: fix conversion warnings
2016-10-05 13:03:15 +02:00
Laurent Rineau 1c19028e5b Merge pull request #1267 from maxGimeno/Random_generator-GF
Random generator
2016-10-05 13:02:29 +02:00
Laurent Rineau 31b3ae37f0 Merge pull request #1506 from lrineau/Mesh_3-fix_issue_1501-lrineau
Mesh_3: fix issue #1501 - about degenerate cases in initialization
2016-10-05 13:02:28 +02:00
Laurent Rineau 9ba4132a38 No helper.update_restricted_facets() with dim 2! 2016-10-04 16:15:17 +02:00
Laurent Rineau 12cc3a6cc9 Fix another compilation error
`dihedral_angle` has been moved to the CGAL kernels
2016-10-03 11:37:53 +02:00
Laurent Rineau bc95c778b3 Add missing includes 2016-09-30 15:23:15 +02:00
Andreas Fabri c58582b5ec Add global function dihedral_angle() 2016-09-30 15:23:15 +02:00
Laurent Rineau c22dcd0e2c Missing includes 2016-09-30 15:23:15 +02:00
Andreas Fabri 6caea9384f Fix package Mesh_3: include headers 2016-09-30 15:22:30 +02:00
Laurent Rineau 1391a3ca83 Merge pull request #1506 from lrineau/Mesh_3-fix_issue_1501-lrineau
Mesh_3: fix issue #1501 - about degenerate cases in initialization
2016-09-30 11:04:16 +02:00
Laurent Rineau de3d1f4459 Fix compilation of mesh_3_plugin
... after the last merge commit.
2016-09-30 10:05:59 +02:00
Laurent Rineau e4ae38ae97 Merge pull request #1514 from janetournois/Mesh_3-fix_small_angles_in_input_features-GF
Mesh_3 - deal with sharp angles inside input sharp features
2016-09-29 17:42:31 +02:00
Laurent Rineau 5bd65fba58 Make split_graph_into_polylines deterministic
- There is a new argument, `Less`, that allows to sort the `std::set` of
  vertex descriptors with a deterministic sort functor.

- The header `<CGAL/Mesh_3/polylines_to_protect.h>` defines and use such
  a functor.
2016-09-29 17:41:32 +02:00
Jane Tournois f3ea115db9 check nb of facets in c3t3
the issue is not the dimension of the triangulation,
but the nb of facets that are in the c3t3 after the initialization of features

it is necessary to start the refinement procedure that this nb is > 0
2016-09-29 15:35:03 +02:00
Laurent Rineau 7dbc756d42 Mesh_3: Fix other conversion warnings 2016-09-29 14:39:11 +02:00
Jane Tournois 9c181d7860 Angles < 135 deg (90 in theory) should be counted as terminal vertices,
otherwise protection may fail by refining protecting balls endlessly,
getting closer and closer to the input sharp angle
2016-09-29 10:43:11 +02:00
Laurent Rineau 100a4ceb10 Fix #1501
Even if the `dimension()` of initial triangulation is 3, the initial
c3t3 can be empty, even with a non-empty domain. Let's use more initial
points.
2016-09-28 15:20:37 +02:00
Maxime Gimeno 8469c45336 Enhance Prevent_deref API and use it. 2016-09-28 10:48:07 +02:00
Andreas Fabri d5c31f0080 90 -> 12 2016-09-26 17:34:32 +02:00
Andreas Fabri c4faaa99fd remove static variables 2016-09-26 16:23:23 +02:00
Jane Tournois e6d0fe99e0 missing const when TBB available 2016-09-06 11:01:42 +02:00
Laurent Rineau 79dc30fee3 Bug-fix Mesh_3: clear c3t3 before refine_mesh
If vertices are inserted manually in the triangulation between calls to
refine_mesh, the c3t3 is corrupted and must be cleared.
2016-09-02 16:55:37 +02:00
Laurent Rineau 955ca9a55d Bug-fix: bug with Null in Labeled_mesh_domain_3
The bug was introduced in the PR #1010, and was only exposed when the
`Null_subdomain_index` functor was non-trivial.
2016-09-02 16:55:19 +02:00
Laurent Rineau 056df4d93d A Mesh_3 bug-fix!
Some use-cases were triggering the assertion
```C++
CGAL_assertion (this->is_facet_on_surface(facet)
```
in `Refine_facets_3::refinement_point_impl()`.

With Jane, we eventually found out that the bug was that, once a
refinement point is not in conflict with the facet, the dual of the
facet is reconstructed using an exact arithmetic (then a round to
doubles); it turns out that, if the new (exact) dual was not
intersecting the surface of the domain, then the facet must be removed
from the `c3t3`... but it must also be removed from the priority queue
of bad facets! The last part was missing.
2016-09-02 11:51:11 +02:00
Laurent Rineau bffed99bb0 Add a missing overload of the constructor: 4 args 2016-09-02 11:51:11 +02:00
Laurent Rineau a3ffae35bd Merge pull request #1364 from sloriot/CGAL-replace_assert
Replace assert by CGAL_assertion in CGAL code
2016-08-29 12:32:01 +02:00
Sébastien Loriot ff1b240a37 replace assert by CGAL_assertion in CGAL code 2016-08-25 11:12:17 +02:00
Laurent Rineau ec78fd78eb A function that allows to specify ones own lines 2016-08-03 15:36:36 +02:00
Laurent Rineau 426f6e623b bugfix for master: used the copied polyhedron
As `Polyhedral_mesh_domain_with_features_3` copies the polyhedra, the
aabb tree should used the copy (with the assigned patch ids!)

cc @jtournoi
2016-07-26 12:36:21 +02:00
Laurent Rineau 2cd9a15bb9 Merge remote-tracking branch 'cgal/releases/CGAL-4.8-branch'
Merge the following merge commits:
> 12b92f5 Merge pull request #1271 from lrineau/Mesh_3-distance_criterion_sizing_field-GF
> 9c3d0b0 Merge pull request #1295 from lrineau/CGAL-add_test-GF

Conflicts:
	Maintenance/release_building/BUGFIX_NUMBER
	Maintenance/release_building/public_release_name
2016-07-22 18:31:02 +02:00
Laurent Rineau 05260fb4ae Allow a sizing field for the distance criterion 2016-07-21 12:59:14 +02:00
Laurent Rineau 06436ba2ea Fix the I/O for Polyhedral_mesh_domain_3 2016-07-11 18:09:25 +02:00
Laurent Rineau 2e1a6d2c3a Add support for Parallel_tag in io_signature.h 2016-07-11 18:08:51 +02:00
Laurent Rineau 831c0def3d Add an assertion 2016-07-11 18:08:40 +02:00
Sébastien Loriot 10cadcb985 Merge remote-tracking branch 'cgal-dev/CGAL_headers_only_step1-gdamiand_cjamin' into HEAD 2016-06-24 17:05:40 +02:00
Sébastien Loriot c951fe0fca Merge pull request #1035 from lrineau/CGAL-fix_Wconversion_warnings-GF
Fix -Wconversion warnings, and issues detected by those warnings
2016-06-24 13:30:48 +02:00
Laurent Rineau f9dd4b4be7 Try to fix a compilation error with CentOS5's g++
The compilation error was:

> ../include/CGAL/Mesh_3/polylines_to_protect.h: In function ‘void CGAL::polylines_to_protect(const CGAL::Image_3&, double, double, double, std::vector<std::vector<IC, std::allocator<_CharT> >, std::allocator<std::vector<IC, std::allocator<_CharT> > > >&, 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> > >, std::allocator<std::vector<CGAL::Point_3<CGAL::Epick>, std::allocator<CGAL::Point_3<CGAL::Epick> > > > > >]’:
> ../include/CGAL/Mesh_3/polylines_to_protect.h:538:   instantiated from ‘void CGAL::polylines_to_protect(const CGAL::Image_3&, std::vector<std::vector<IC, std::allocator<_CharT> >, std::allocator<std::vector<IC, std::allocator<_CharT> > > >&, 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> > >, std::allocator<std::vector<CGAL::Point_3<CGAL::Epick>, std::allocator<CGAL::Point_3<CGAL::Epick> > > > > >]’
> ../test/Mesh_3_Examples/mesh_3D_image_with_features.cpp:62:   instantiated from here
> ../include/CGAL/Mesh_3/polylines_to_protect.h:193: error: no matching function for call to ‘get(boost::tuples::tuple<boost::array<int, 3ul>, CGAL::Point_3<CGAL::Epick>, unsigned char, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>&)’

See https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-4.9-Ic-81/Mesh_3_Examples/TestReport_lrineau_CentOS5.gz
2016-06-23 14:19:24 +02:00
Guillaume Damiand e21ef313c0 Merge branch 'CGAL_headers_only_step1-gdamiand_cjamin-old' into CGAL_headers_only_step1-gdamiand_cjamin 2016-06-22 20:54:37 +02:00