Mael Rouxel-Labbé
deb7f45d86
Fixed (almost all) default constructed traits in Mesh_3
...
Also fixed constructing points/weighted_points not through the traits and
uses of point().point()
2017-04-15 23:17:23 +02:00
Laurent Rineau
dce8bb77ba
Merge pull request #2053 from cjamin/Mesh_3-code_improvements-cjamin
...
Mesh_3: code improvements + bug fix
2017-04-14 18:32:05 +02:00
Mael Rouxel-Labbé
7228eaa7cc
Fixed (remaining) Bare_point / Weighted_point wrong usages across Mesh_3
2017-04-14 10:53:03 +02:00
Laurent Rineau
87c9afd486
Fix the compilation of individual headers
...
- in most cases, that was just adding missing #include
- I have removed the use of <CGAL/basic.h>
2017-04-13 15:56:51 +02:00
Mael Rouxel-Labbé
457b1bc14a
Removed Bare_point definition from Mesh_3's Robust_weighted_...etc..._traits
...
It is not for the traits to define Bare_point. It is defined in the regular
triangulation.
This commit breaks stuff, but it'll be fixed in the following commits.
2017-04-13 14:16:28 +02:00
Mael Rouxel-Labbé
ea67407e10
Removed useless semicolon
2017-04-12 15:05:21 +02:00
Mael Rouxel-Labbé
67a80fe4ec
Minor doc improvement
2017-04-12 15:04:53 +02:00
Mael Rouxel-Labbé
337eb26c9d
Fixed compilation issues resulting from the removal of WP->P implicit conversion
2017-04-11 17:13:19 +02:00
Mael Rouxel-Labbé
2ee5b13e6f
Merge branch 'Kernel_Weighted_point_without_conversion-GF-old' into Kernel_Weighted_point_without_conversion-GF
...
Using Kernel-Fix_weighted_point-GF @ 8703f5c122
2017-04-11 17:01:25 +02:00
Laurent Rineau
93311493c4
Merge pull request #1998 from afabri/CGAL-test_license_check-GF
...
CGAL: Test the license check mechanism
2017-04-07 12:06:23 +02:00
Andreas Fabri
8cbbe0e165
Remove dependencies of Triangulation_3 on Triangulation_2
2017-04-06 11:08:37 +02:00
Laurent Rineau
2cbd2532bb
Merge pull request #1911 from lrineau/Mesh_3-manifold_TBB-lrineau
...
Mesh 3: fix the manifold code with TBB
2017-04-05 17:02:00 +02:00
Mael Rouxel-Labbé
75a9c1fbc2
Consistently grab the Bare_point typedef from the triangulation
...
instead of the geometric traits
2017-04-04 17:49:47 +02:00
Mael Rouxel-Labbé
7e5e1822f4
Fixed missing typedef
...
and removed some warnings due to unused typedefs
2017-04-04 16:31:31 +02:00
Laurent Rineau
e1035a9477
Improve the debug output
...
and rename a function
2017-03-31 18:26:19 +02:00
Mael Rouxel-Labbé
b12d46399e
Cosmetic changes and includes
2017-03-17 13:57:29 +01:00
Mael Rouxel-Labbé
08d8e16d50
Modified Mesh_3 to work with P3M3
...
These are new changes compared to the previous commit (7b3314a). They are
required because Mesh_3 has also evolved since it was forked.
2017-03-17 12:28:35 +01:00
Mael Rouxel-Labbé
e2a8aede8b
Applied the (old) changes of the P3M3 Mesh_3 fork into Mesh_3
2017-03-17 12:26:33 +01:00
Mael Rouxel-Labbé
993346cb26
Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
...
Using Periodic_3_Regular_triangulation_3-APelle @ 8ce1446
2017-03-17 10:52:24 +01:00
Mael Rouxel-Labbé
9dedcae60c
Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle
...
Using cgal/master @ cce6932
2017-03-16 16:39:20 +01:00
Sebastien Loriot
cce6932af9
Merge pull request #1947 from janetournois/Mesh_3-add_lipschitz_sizing-example-jtournois
...
Mesh_3 - add an example for `Lipschitz_sizing`
2017-03-16 11:03:33 +01:00
Jane Tournois
882893c9d9
remove empty file description
2017-03-16 10:37:58 +01:00
Jane Tournois
a88efb4144
rename header protection macros, and include license headers
2017-03-14 10:58:46 +01:00
Jane Tournois
8a8827add0
remove useless file description
2017-03-14 10:35:00 +01:00
Jane Tournois
81b6084e98
fix compilation when CGAL_LINKED_WITH_TBB is not defined
2017-03-10 15:56:29 +01:00
Laurent Rineau
ee1b7d7793
Reallow to compile without TBB
2017-03-10 15:42:09 +01:00
Laurent Rineau
38a064f582
Fix one_step() with TBB/manifold and mesh_3_plugin
2017-03-10 14:46:50 +01:00
Jane Tournois
964ed1d853
protect with CGAL_LINKED_WITH_TBB and Parallel_tag
2017-03-10 14:16:10 +01:00
Jane Tournois
2cd2173ba3
'erase' should not be done in parallel mode
...
it's useless anyway because the set is empty
2017-03-10 13:56:09 +01:00
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
Mael Rouxel-Labbé
84110e83d9
Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
...
Note that the base is not master but INRIA/Periodic_3_Regular_... etc.
at commit 5e09c13
2017-03-07 18:54:18 +01:00
Jane Tournois
8b391642e5
remove useless variables
2017-03-06 17:32:15 +01:00
Jane Tournois
e0764dc995
remove extra reference
...
this was leading to (fp == p), and no way to move back to the original
position of v0
2017-03-06 17:30:37 +01:00
Jane Tournois
18a279bf70
return type should be Bare_point
2017-03-06 15:46:56 +01:00
Jane Tournois
07aeaa3584
fix one more Bare_point
2017-03-06 15:28:03 +01:00
Jane Tournois
a18f17a7f1
Merge branch 'Kernel_Weighted_point_without_conversion-GF' of github.com:afabri/cgal into Kernel_Weighted_point_without_conversion-GF
2017-03-06 13:55:04 +01:00
Jane Tournois
55e1533ded
make constructors of Weighted_point explicit
...
and fix compilation errors
2017-03-06 13:54:29 +01:00
Andreas Fabri
54cd7bc39a
make the Polyhedron demo mesh_3_plugin work
2017-03-03 18:05:18 +01:00
Jane Tournois
caab9d86eb
avoid using wp.point(), use Construct_point_3 instead
2017-03-03 15:13:06 +01:00
Jane Tournois
30fe153651
remove hybrid operators, that use Bare points and Weighted points in an ambiguous manner
...
this commit only fixes the testsuite of Mesh_3
2017-03-03 12:14:30 +01:00
Andreas Fabri
f1f095bfbd
Now also the examples compile
2017-03-02 18:57:51 +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
Andreas Fabri
741838b9c4
WIP: test_meshing_polyhedron_with_features compiles and crashes in odt
2017-03-02 15:51:41 +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
Andreas Fabri
97397a23d4
Consistently use Bare_point and Weighted_point
2017-02-17 16:37:08 +01:00
Andreas Fabri
4922f9e86d
Disable Point_3(const Weighted_point_3&)
2017-02-15 14:33:31 +01:00
Mael Rouxel-Labbé
f63f0b801e
Moved Robust weighted filtered circumcenter traits out of Mesh_3
...
Also, these traits do not derive from Regular_euclidean_traits anymore.
2017-02-13 18:13:19 +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
Laurent Rineau
cfd76f1b00
Avoid degenerated polylines
2016-05-27 16:46:28 +02:00
Jane Tournois
5b45da6239
boundary edges already are detected by detect_features
...
do not detect and add them twice
and prevent from not-terminating
2016-05-26 17:02:05 +02:00
Maxime Gimeno
475d19894c
Removed the file Mesh_3/include/CGAL/internal/Mesh_3/split_in_polylines.h and replaced its usage by CGAL::split_graph_into_polylines.
2016-05-26 16:23:06 +02:00
Jane Tournois
57b609464e
save the input polyhedra in a vector
...
and implement the derived constructors to be able to detect features in them
2016-05-26 16:15:45 +02:00
Jane Tournois
be95730ee2
fix commit c7d614193e
...
I had forgotten 2 constructors
2016-05-26 13:01:30 +02:00
Laurent Rineau
fe67240536
Change the default for `edge_size` from 0 to +∞
...
The previous default value for `CGAL::parameters::edge_size`, in the
constructor of `CGAL::Mesh_criteria_3` was `FT(0)`.
That was in contradiction with the documentation of
[`CGAL::Mesh_criteria_3`][*]:
> Each parameter has a special default value `ignored` which means that
> the corresponding criteria will be ignored.
With `edge_size=0`, the protection of 1D-features is certain to trigger
an assertion or a segmentation fault.
The new default value is now `FT(DBL_MAX)`.
[*]: http://doc.cgal.org/latest/Mesh_3/classCGAL_1_1Mesh__criteria__3.html#ada26edb7ee77aa7279b2ae7e96c56eb0
2016-05-26 12:33:30 +02:00