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