Commit Graph

1373 Commits

Author SHA1 Message Date
Laurent Rineau 682d07825c Fix the namespace of tbb_hasher
`tbb_hasher` is called with ADL (Koenig-lookup).
2017-03-09 18:59:47 +01:00
Clement Jamin a5f9d4e3b7 Fix typo 2017-03-09 17:45:46 +01:00
Clement Jamin ddb2a41da2 Remove never-used code 2017-03-08 10:36:51 +01:00
Clement Jamin cecb8910d9 Use std::sort on batches when std::vector is used + code clean-up 2017-03-07 20:57:00 +01:00
Clement Jamin d2c3462334 Typo 2017-03-07 20:54:46 +01:00
Clement Jamin 1e645f4145 Rename function which had a confusing name + add comment 2017-03-07 19:48:36 +01:00
Laurent Rineau 2e7d96f87e Merge pull request #1934 from lrineau/Mesh_3-improve_Protect_edges_sizing_field-GF
Improve/fix Mesh_3/Protect_edges_sizing_field.h
2017-03-02 16:55:24 +01:00
Laurent Rineau 366ddb9513 Merge pull request #1939 from lrineau/Mesh_3-fix_determinism-GF
Fix non-determinism!
2017-03-02 16:54:50 +01:00
Laurent Rineau cb5b3acf98 Class Compare_handles_with_or_without_timestamps to replace hacks
Previously, each file was using its own implementation of the "compare
handle" function object. This commits adds a new class
`Compare_handles_with_or_without_timestamps` that checks the presence of
`Has_timestamp` in the pointed type, and provides a different
`operator()` depending on that.
2017-03-01 12:08:52 +01:00
Laurent Rineau 035a35e78f Fix non-determinism! 2017-02-28 19:19:59 +01:00
Jane Tournois c699d45e66 simplify lipschitz sizing for a polyhedral domain
it can be enriched later, once we have the multi-polyhedral domain

the complete code is in Lipschitz_sizing_experimental.h
2017-02-28 12:19:21 +01:00
Jane Tournois 0b0a063db3 reorder things to make example more clear 2017-02-28 11:32:53 +01:00
Jane Tournois 67dca100f4 write example for Lipschitz sizing
and adapt the code while multi-polyhedral surfaces is experimental
2017-02-28 10:38:44 +01:00
Jane Tournois 7bb355c4a3 add experimental per-subdomain lipschitz sizing field 2017-02-28 10:38:44 +01:00
Laurent Rineau 58481453f0 More debug possibilities 2017-02-27 15:27:11 +01:00
Laurent Rineau 9c88d16e7b Bug fix! 2017-02-27 15:27:11 +01:00
Jane Tournois 9668b1b6dd add missing abs 2017-02-27 15:27:11 +01:00
Laurent Rineau e28b298c99 Refactoring of Sizing_field_with_aabb_tree (API breakage too)
The refactoring allows to compute a better size of corners in a cycle.

... But the bug is still there on the nasty data set!
2017-02-27 15:27:11 +01:00
Jane Tournois e023fc9157 protect verbose code with macro CGAL_MESH_3_PROTECTION_DEBUG 2017-02-27 15:27:10 +01:00
Laurent Rineau 83f74c0448 Fix the sampling of protecting balls
The previous code never verified that the curve is inside the union of
balls. Now it does.
2017-02-27 15:27:10 +01:00
Jane Tournois 056309de5e allow to use the sizing field of curves more than once
the protecting balls placement algorithm is now allowed to use the sizing field
during 3 iterations, instead of 1. This allows it to fix most of the
forbidden intersections of spheres before switching to the constant size case

this commit relaxes the condition set
 in commit 051c55b08f2bfe5047eef1be1f70f0192b1c5c60
2017-02-27 15:27:10 +01:00
Jane Tournois 2b932b5b71 add dump of c3t3 at every step of protecting balls placement 2017-02-27 15:27:10 +01:00
Laurent Rineau 58abe5a32a Do not use the nonlinear strategy from inside refine_balls() 2017-02-27 15:27:10 +01:00
Clement Jamin a3720a6604 Missing namespace for tbb_hasher functions
It was generating a compilation error on Windows.
2017-02-27 14:34:10 +01:00
Philipp Knechtges 463438d330 Allow AbstractCriterion to be visited by Cell_criteria_visitor_with_features 2017-02-21 15:23:13 +01:00
Laurent Rineau 38c7bbaa9f Call scan_edges and scan_vertices from Mesher_3
Before that the logic was hidden in `no_longer_element_to_refine_impl()`.
2017-02-17 18:53:49 +01:00
Laurent Rineau a5b5503325 Use tbb::concurrent_hasp_map
TODO: write the API for the case without TBB.
2017-02-17 18:52:45 +01:00
Laurent Rineau c55e391f97 WIP: works with one thread 2017-02-17 16:37:11 +01:00
Laurent Rineau 6ea415022b Merge pull request #1885 from maxGimeno/Tet_soup_in_c3t3-GF
Add a .mesh reader
2017-02-10 19:03:49 +01:00
Maxime Gimeno cc64739c66 Fixes :
- set the dimension of vertices without connectivity to -1 (fixes the BBox's problem)
- re-center the cut-plane after every type of load (fixes the cutplane problem)
2017-02-10 10:10:00 +01:00
Laurent Rineau 3ef84ed758 Merge pull request #1893 from janetournois/Mesh_3-reorganize_experimental-GF
Mesh_3 experimental code - reorganize headers
2017-02-09 18:42:39 +01:00
Jane Tournois eb6797f6b6 include license file header in new files 2017-02-09 16:25:24 +01:00
Jane Tournois 09d09a4dc3 update license preamble 2017-02-09 16:18:36 +01:00
Jane Tournois 4d35f9a36a add wrapper sizing function that is the minimum of 2 sizing fields 2017-02-09 14:25:52 +01:00
Jane Tournois ff36a27ba2 move files to Mesh_3/include/CGAL/Mesh_3/experimental 2017-02-09 14:19:07 +01:00
Maxime Gimeno ef764634b4 Replace the CGAL_precondition about empty finite cells by a warning. 2017-02-08 11:42:18 +01:00
Maxime Gimeno 7a3520b28d Clean-up 2017-02-08 11:42:18 +01:00
Jane Tournois 7fca673ed6 there is no need to collect the connectivity between infinite facets
warning : putting 'end' out of the for loop end condition evaluation is
important. It avoids to continue the loop on newly added things

The condition on the size of `incident_cells_map` inside `assign_neighbors`
is not correct anymore, because there are 4 facets per finite cell
+ 1 facet per infinite cell (boundary facets)
2017-02-08 11:42:18 +01:00
Maxime Gimeno e93b38406c Read the vertices references and discard them 2017-02-08 11:42:18 +01:00
Jane Tournois f86f84db16 revert commit 1602b59845d054b89bf2d0f426943746a9640c2c 2017-02-08 11:42:17 +01:00
Maxime Gimeno 1845bf8c51 Clean-up 2017-02-08 11:42:17 +01:00
Jane Tournois 4b00e1a990 fix orientation and index for built infinite cells
the index does not matter, and the orientation depends on the parity
of i.
Here it does not matter much because infinite cells will not be used,
but let's keep the code as generic as possible
2017-02-08 11:42:17 +01:00
Jane Tournois 1086a8f7ef this precondition is wrong in the general case 2017-02-08 11:42:17 +01:00
Maxime Gimeno f8d8c012f4 Re-indentation 2017-02-08 11:42:16 +01:00
Maxime Gimeno 5e487d75a4 Move Enum to cpp and add license files 2017-02-08 11:42:16 +01:00
Maxime Gimeno a50606ca6f Add a .mesh reader for the c3t3 item 2017-02-08 11:42:14 +01:00
Laurent Rineau 760076510c Merge pull request #1845 from lrineau/Mesh_3-fix_detect_features-GF
Various modifications of Mesh_3
2017-02-06 15:19:31 +01:00
Laurent Rineau 5b19c47bac Fix a warning 2017-02-03 16:43:36 +01:00
Laurent Rineau 9b05a3a5a9 Replace CGAL_MESH_3_NO_PROTECTION_NON_LINEAR by a Boolean
The Boolean `nonlinear_growth_of_balls` can be set by the
non-documented API:
  - the function `Protect_edges_sizing_field::set_nonlinear_growth_of_balls()`,
  - the Boolean `Mesh_3_options.nonlinear_growth_of_balls`.

Of course the demo sets that Boolean when possible.
2017-01-25 16:18:10 +01: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 ff1f7f2f02 Function to get the number of detected patches 2017-01-19 11:29:42 +01:00
Laurent Rineau ad1b4fe0fc Refine the use of CGAL_MESH_3_PROTECTION_DEBUG 2017-01-19 11:29:42 +01:00
Laurent Rineau dfe8703b21 Access the bounding AABB tree 2017-01-19 11:29:42 +01:00
Laurent Rineau ad3424c41f Update the copyright
There is no longer any line of this file wrote by Stéphane!
2017-01-19 11:29:42 +01:00
Laurent Rineau 099af18b65 Fix detect_features when the domain has several polyhedra 2017-01-19 11:29:42 +01:00
Laurent Rineau ebcc2eaaa0 Compilation fix for test_backward_compatibility.cpp 2017-01-10 11:22:59 +01:00
Laurent Rineau 244ebc1621 Simplify 2017-01-05 15:45:54 +01:00
Laurent Rineau 56285ef220 std::cerr only if CGAL_MESH_3_VERBOSE 2017-01-05 15:45:04 +01:00
Laurent Rineau d3da0be120 Fix detect_features() 2017-01-04 15:49:41 +01:00
Laurent Rineau 2016805734 Reimplement constructors
- In `Polyhedral_mesh_domain_3`:

  - The handling of `p_rng_` is now simpler: the `Random` generator is
    only created just before its use. That reduces code duplication
    between constructors.

  - Use `add_primitives()` and `add_primitives_to_bounding_tree()`, and
    `build()` to reduce the code duplication between all constructors.

- In `Polyhedral_mesh_domain_with_features_3`:

  - All polyhedra are stored in a data member `this->stored_polyhedra`.

  - Always construct the base class without any polyhedron, then use
    `add_primitives()` and `add_primitives_to_bounding_tree()`, from
    polyhedra of `this->stored_polyhedra`.

  - All constructors are inlined in the class (now that their code is
    shorter).

  - Fix the compilation of `detect_borders()`.
2017-01-04 15:45:22 +01:00
Laurent Rineau 29f92b72ce Reimplement detect_borders() with detect_features() 2016-12-30 17:33:36 +01:00
Laurent Rineau ca0fac22e7 Merge branch 'Mesh_3-improve_detect_features-GF' into Mesh_3-various_improvements-lrineau 2016-12-30 17:33:16 +01:00
Laurent Rineau 256416e751 Reimplement detect_features using split_graph_into_polylines (2) 2016-12-30 17:07:16 +01:00
Laurent Rineau 0061a43ec7 CGAL::Real_timer for the building of AABB trees 2016-12-30 16:44:09 +01:00
Laurent Rineau 30397ce22e Integrate Sizing_field_with_aabb_tree in the demo 2016-12-30 16:44:09 +01:00
Laurent Rineau 65c5bd7579 Add the possibility to add new abstract criteria
In `Mesh_criteria_3`, add functions:
- `void add_facet_criterion(Abstract_facet_criterion*)`
- `void  add_cell_criterion(Abstract_cell_criterion*)`
2016-12-30 16:44:08 +01:00
Laurent Rineau 1b8b63c485 Reimplement detect_features using split_graph_into_polylines (1) 2016-12-30 14:51:50 +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 bbf430b0b1 Merge pull request #585 from afabri/Kernel-Weighted_point-GF
Introduce Kernel::Weighted_point_3 together with functors
2016-12-20 19:52:02 +01:00
Laurent Rineau acc9581342 Split angle: from 135° to 90°. 2016-12-07 11:24:28 +01:00
Laurent Rineau 49053ee10b Improve display_corner_incidences()
Now the method also displays the points of corners.
2016-12-07 11:24:28 +01:00
Laurent Rineau 6214312575 For CGAL_MESH_3_PROTECTION_DEBUG 2016-12-07 11:24:28 +01:00
Laurent Rineau 0e59869580 Add a CGAL_error_msg when the sizing is locally zero 2016-11-23 11:59:53 +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
Jane Tournois 137fe12b6b convert weighted points to bare points 2016-11-03 17:02:34 +01:00
Andreas Fabri 2c7bed8b92 Use ->point(), because a weighted point no longer derives from Point_3 2016-11-03 14:53:54 +01:00
Andreas Fabri ad9d2c369c Rename tests following Olivier's recommendations 2016-11-03 14:53:54 +01:00
Andreas Fabri f488b9baf9 Changes after Laurent's review 2016-11-03 14:53:15 +01:00
Laurent Rineau c0ae994d14 Fix Mesh_3 plugin, from the polyhedron demo 2016-11-03 13:10:00 +01:00
Andreas Fabri 59cedfc7dd Fix Mesh_3 2016-11-03 13:08:31 +01:00
Andreas Fabri 9e94ee6178 Change the Power_test 2016-11-03 13:07:17 +01:00
Andreas Fabri 1375cd5c0a Rename Compute_critical_squared_radius_3 to Compute_power_distance_to_power_sphere_3 2016-11-03 13:07:17 +01:00
Andreas Fabri 95027822f5 move predicates and constructions in Kernel packages 2016-11-03 13:07:17 +01:00
Andreas Fabri 9eca152dca No need for a Weighted_converter 2016-11-03 13:06:02 +01:00
Andreas Fabri be1b2f9231 Do not construct from a string 2016-11-01 11:19:43 +01:00
Laurent Rineau 0eb09e96ba Merge pull request #1611 from MaelRL/Mesh_3-fix_medit_io_redundant_find_calls-GF
Avoid some unnecessary set/map's find() calls in Mesh_3's medit output
2016-10-26 14:39:24 +02:00
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
Laurent Rineau bbc05a11d9 Fix -Wconversion warnings
All conversions are safe.
2016-06-16 16:36:43 +02:00
Laurent Rineau 955e965561 Move code
That will fix the initialization of c3t3 from 3D images, in the
Polyhedron demo, with the protection of 1D-features is used, but there
are no 1D-features.

For other use-cases, that does not change anything.
2016-06-16 15:08:36 +02:00
Laurent Rineau 99b646bdd4 Try to fix a warning
> include\CGAL/Mesh_3/search_for_connected_components_in_labeled_image.h(192): warning C4244: 'argument': conversion from 'const ptrdiff_t' to 'const unsigned short', possible loss of data
2016-06-16 14:44:05 +02:00
Laurent Rineau cfb6c060af Try to fix a warning with MSVC
> include\CGAL/Mesh_3/search_for_connected_components_in_labeled_image.h(111): warning C4267: 'argument': conversion from 'size_t' to 'const unsigned short', possible loss of data
2016-06-16 14:44:05 +02: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
Guillaume Damiand a53f16edac Merge branch 'CGAL_headers_only_step1-gdamiand_cjamin-old' into CGAL_headers_only_step1-gdamiand_cjamin 2016-06-09 19:09:38 +02:00
Sébastien Loriot 97e122ccb8 Merge pull request #1110 from maxGimeno/Mesh_3_use_split_graph_into_polylines-GF
Remove duplicated implementation in <CGAL/Mesh_3/polylines_to_protect.h>
2016-05-31 16:03:16 +02:00
Sebastien Loriot cf15f57a50 Merge pull request #1097 from lrineau/Mesh_3-improve_polylines_to_protect-GF
Mesh 3: add an example that protects features of a 3D image
2016-05-31 16:00:58 +02:00
Sebastien Loriot 0f04b4262a Merge pull request #1109 from lrineau/Mesh_3-change_default_for_edge_size-GF
Mesh_criteria_3: change the default for `edge_size` from 0 to +∞
2016-05-31 15:49:16 +02:00
Sébastien Loriot 40ff09bd43 Merge pull request #303 from lrineau/Mesh_3-add_remesh_polyhedral_surface-GF
Add an example that remeshes a polyhedral surface
2016-05-31 15:43:05 +02:00
Sébastien Loriot bb856cbd63 add missing typename 2016-05-27 17:25:17 +02:00
Laurent Rineau 5770538719 Fix a warning
> warning: typedef ‘K’ locally defined but not used [-Wunused-local-typedefs]
2016-05-27 16:47:26 +02:00