Mael Rouxel-Labbé
357f9d6257
Reworked initialization of a periodic triangulation-based c3t3
2017-11-22 10:06:39 +01:00
Mael Rouxel-Labbé
dcfbd3ea42
Get rid of Mesh_domain_holder_with_corners
2017-11-22 10:03:47 +01:00
Mael Rouxel-Labbé
aadddba985
Fixed a couple of "an h..." that should have been "a h..."
2017-11-21 17:15:25 +01:00
Mael Rouxel-Labbé
59017a5e9e
Minor code cleaning
2017-11-21 16:14:16 +01:00
Mael Rouxel-Labbé
c1a4fe3d65
Added dual_segment_exact
2017-11-21 16:12:40 +01:00
Mael Rouxel-Labbé
07d6ce363d
Cleaned some obsolete todos
2017-11-20 17:35:24 +01:00
Mael Rouxel-Labbé
5bce5be47d
Included P3M3's protection file in P3M3/config.h
...
To ensure that the file is included before Mesh_3's
2017-11-20 17:03:25 +01:00
Mael Rouxel-Labbé
6bf075e682
Cleaned "get_vertex" usages from periodic protection code
...
Since we insert dummy before protecting, we're in a 1-sheet triangulation
and we don't need to get canonical vertices: every vertex is already canonical
2017-11-20 16:58:49 +01:00
Mael Rouxel-Labbé
837d685ae0
Forked Protect_edges_sizing_field.h away from Mesh_3
...
Can't figure out how to do it directly within the original file without making
things slower for Mesh_3... Fork!
2017-11-20 15:54:22 +01:00
Mael Rouxel-Labbé
d859221440
Added wrappers to Mesh_3's optimizers
2017-11-20 15:19:01 +01:00
Mael Rouxel-Labbé
9b1ebd71b3
Added a precondition
2017-11-20 15:13:11 +01:00
Mael Rouxel-Labbé
ecf9e64f56
Misc minor changes
2017-11-20 15:12:43 +01:00
Mael Rouxel-Labbé
f3931d5877
Misc minor changes
2017-11-17 18:42:34 +01:00
Mael Rouxel-Labbé
adfb2f6e74
Fixed nearest_power_vertex functions (some issue with offsets)
2017-11-17 18:34:58 +01:00
Mael Rouxel-Labbé
4f09343be1
Fixed not canonalizing some points in P3_mesh_triangulation_3
2017-11-17 18:33:03 +01:00
Mael Rouxel-Labbé
302b3c24fe
Introduced signatures for periodic triangulations
2017-11-17 18:28:34 +01:00
Mael Rouxel-Labbé
b32a7f8b00
Fixed erroneous precondition
2017-11-11 21:47:01 +01:00
Mael Rouxel-Labbé
c33fa46593
Misc minor changes (mostly v->point() to tr.point(v))
2017-11-11 21:46:14 +01:00
Mael Rouxel-Labbé
e1d09b140a
Added 'nearest_power_vertex_with_sq_distance'
...
Which returns, in addition to the power vertex, the squared distance
to this nearest power vertex
Done to avoid a call to tr.min_squared_distance() which is costly for P3M3
2017-11-10 17:49:07 +01:00
Mael Rouxel-Labbé
7298bf0882
Replaced double by FT where appropriate in Slivers_exuder.h
2017-11-10 11:31:45 +01:00
Mael Rouxel-Labbé
943327fe86
Cleaned some M3/P3M3 code
2017-11-06 15:36:30 +01:00
Mael Rouxel-Labbé
0ef6701e6c
Added the manifold criterium to P3M3
2017-11-06 14:59:41 +01:00
Mael Rouxel-Labbé
78b32eb91b
Fixed trailing whitespace (no real changes)
2017-11-06 13:19:14 +01:00
Mael Rouxel-Labbé
e968ab9275
Removed P3M3's Mesh_domain_holder_etc.
...
Simply use Mesh_3's mesh_domain_with_polylines_features.
2017-11-02 16:58:13 +01:00
Mael Rouxel-Labbé
5996f5959d
Replaced periodic code with a call to Mesh_3
2017-11-02 11:24:45 +01:00
Mael Rouxel-Labbé
3b0425a48d
Misc minor changes
...
Mostly code cleaning
2017-10-31 15:49:15 +01:00
Mael Rouxel-Labbé
ac0a27cdfd
Made Mesh_3's optimizers work with periodic triangulations
2017-10-31 15:47:23 +01:00
Mael Rouxel-Labbé
7009f228a5
Changed some documentation and comments
2017-10-30 14:50:51 +01:00
Mael Rouxel-Labbé
e2b33c4948
Progress on periodic optimizers
...
- Replaced a lot of v->point() with tr.point(v) & similar
- Fixed taking references to temporary:
we can't do "F(construct_point_3_object()(tr.point(c, i)))" for periodic
triangulations because tr.point(c,i) is _not_ a reference
- Added some sanity checks to debug Lloyd optimization
- Fixed some indentation
2017-10-29 21:31:59 +01:00
Mael Rouxel-Labbé
1f4475d471
Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
2017-10-27 16:26:27 +02:00
Mael Rouxel-Labbé
bae6f15fa5
WIP commit
2017-10-27 15:34:33 +02:00
Mael Rouxel-Labbé
60fbe1975c
Various readability changes (no real changes)
2017-10-26 13:01:39 +02:00
Mael Rouxel-Labbé
c4fddff235
Minor wording improvement
2017-10-22 23:32:16 +02:00
Mael Rouxel-Labbé
75fceea173
Removed useless commented assertion
2017-10-22 23:32:00 +02:00
Mael Rouxel-Labbé
d9ef84a33a
Added triangle() to P3_mesh_triangulation_3
2017-10-22 23:31:28 +02:00
Mael Rouxel-Labbé
9767912335
Fixed some functions from P3_mesh_triangulation...
...
... that did not properly canonicalize points
2017-10-22 23:30:26 +02:00
Mael Rouxel-Labbé
41f5c47394
Misc minor changes
...
Indentation, comments, whitespace, etc.
2017-10-22 23:28:37 +02:00
Mael Rouxel-Labbé
94bb59b722
Various doc/comments improvements
2017-10-17 12:45:30 +02:00
Mael Rouxel-Labbé
d8d4709012
Removed some std::cout
2017-08-18 10:58:25 +02:00
Mael Rouxel-Labbé
c6af3e8755
Minor doc changes
2017-08-07 11:32:58 +02:00
Mael Rouxel-Labbé
b330f05354
Misc minor changes
2017-07-27 17:01:28 +02:00
Mael Rouxel-Labbé
b938fd1c58
Fixed license
2017-07-27 16:40:46 +02:00
Mael Rouxel-Labbé
1c618f7e22
Fixed compilation issue
2017-07-27 13:57:39 +02:00
Mael Rouxel-Labbé
e1e5261603
Misc minor changes
2017-07-27 13:04:21 +02:00
Mael Rouxel-Labbé
9749c71a1c
Replaced calls to assert() with CGAL assertions
2017-07-27 11:55:37 +02:00
Mael Rouxel-Labbé
a8336f39ec
Minor misc changes
2017-06-22 15:52:43 +02:00
Mael Rouxel-Labbé
956b1f6fc0
Introduced robust_canonicalize_point()
...
This is a way to handle points that are epsilon-close to the boundary yet still
outside. This might create numerical issue such that the point + any offset
does not fall into the domain (due to -epsilon + 1 ~= 1)
The numerical issue is detected when the offset is computed and we snap the
point to the domain.
This is done for P3M3 only (not P3T3: people should give proper input points!)
2017-06-22 15:48:01 +02:00
Mael Rouxel-Labbé
fe14379106
P3M3 now use the new robust traits
2017-06-22 15:36:02 +02:00
Mael Rouxel-Labbé
7ba903423a
Silenced warning
2017-06-22 15:07:48 +02:00
Mael Rouxel-Labbé
6fcb046c4f
Fixed unused variable warning
2017-06-22 15:02:36 +02:00
Mael Rouxel-Labbé
bf3df5b397
Cleaned Periodic_3_mesh_triangulation_3 includes
2017-06-20 11:07:46 +02:00
Mael Rouxel-Labbé
4c636bbd1c
Remove all criteria-related classes from P3M3
...
They are now obsolete: we can simply use Mesh_3's
2017-06-19 16:24:23 +02:00
Mael Rouxel-Labbé
65ef142bff
P3M3 now uses Mesh_3 criteria
2017-06-19 16:00:38 +02:00
Mael Rouxel-Labbé
1b2c929af4
Removed P3M3 cell base file that was copied from T3
2017-06-16 15:59:51 +02:00
Mael Rouxel-Labbé
dca4a3ff32
Hid main encroachment code in P3_mesh_triangulation_3
...
End goal is to hide periodic details in P3MT3 so that the criteria of Mesh_3
can be fully used without change in P3M3
2017-06-13 17:53:31 +02:00
Mael Rouxel-Labbé
513af55151
Fixed calling c->circumcenter() with a periodic cell
...
can't do that since it will take point coordinates through c->vertex(i)->point()
which will give the wrong cell
2017-06-02 16:59:17 +02:00
Mael Rouxel-Labbé
9d0e9336f5
P3M3 must use a regular cell base that caches its weighted circumcenter cache
2017-06-02 16:12:54 +02:00
Mael Rouxel-Labbé
b56f24ddee
Added some empty parallel functions to P3_mesh_triangulation_3
...
(necessary for compilation)
2017-06-02 16:11:37 +02:00
Mael Rouxel-Labbé
9d37080d74
Cleaned off some useless "this->"
2017-06-02 16:11:22 +02:00
Mael Rouxel-Labbé
223c0fc869
Improved a comment
2017-06-02 16:10:51 +02:00
Mael Rouxel-Labbé
05debcfeac
Fixed some Bare_point / Weighted_point issues
...
and added a function canonicalize_weighted_point() to P3_mesh_triangulation_3
2017-06-02 16:08:11 +02:00
Mael Rouxel-Labbé
316e2e1b50
Added dual_segment and dual_ray to P3_mesh_triangulation_3
...
-- Removed P3M3 shenanigans from Refine_facets_3.h
-- exact_dual_segment is todo
2017-06-02 16:04:38 +02:00
Mael Rouxel-Labbé
46dad2abb6
Cosmetic changes
2017-06-02 16:02:05 +02:00
Mael Rouxel-Labbé
3870e20958
Adapted all cell / facets criteria to work with periodic meshes
...
and without implicit conversions.
These files are so close to Mesh_3's that it only requires hiding a bit of
periodic shenanigans behind some generic functions of which Mesh_3 would have
a trivial version to be able to remove those files and use Mesh_3.
2017-06-02 15:54:59 +02:00
Mael Rouxel-Labbé
c11d91b800
Improved periodic mesh medit output
...
There's no need to create a point per face, per cell, per periodic instance,
etc.
Much lighter meshes now!
2017-06-02 15:49:36 +02:00
Mael Rouxel-Labbé
52d5272330
Fixed canonicalize_point()
...
This function needs to work for bare and weighted points
2017-05-30 10:53:16 +02:00
Mael Rouxel-Labbé
8eb362abf0
Added a comment
2017-05-30 10:43:14 +02:00
Mael Rouxel-Labbé
50b86a94b6
Fixed "using::" of P3MT3 not including the necessary construct_* functions
2017-05-29 15:59:34 +02:00
Mael Rouxel-Labbé
6d3a8be7fa
Regular triangulations must use regular vertex/cell bases
2017-05-29 15:59:13 +02:00
Mael Rouxel-Labbé
9d256e500d
Removed obsolete use of Regular_triangulation_euclidean_traits_3
2017-05-29 15:58:27 +02:00
Mael Rouxel-Labbé
21ccf77504
Fixed Weighted_point / Bare_point issue in corner setting
2017-05-29 15:57:29 +02:00
Mael Rouxel-Labbé
74de94c602
Fixed some Weighted_point / Bare_point issues
...
and updated some geometrical function calls to use the new names
2017-05-29 15:56:44 +02:00
Mael Rouxel-Labbé
be0f81bcf4
Removed useless typedefs
2017-05-29 15:55:33 +02:00
Mael Rouxel-Labbé
8a00196484
Added P3M3 reference manual
2017-04-04 14:56:48 +02:00
Mael Rouxel-Labbé
bf097fd572
Added template arguments for Vb and Cb for the periodic mesh triangulation
2017-04-04 14:41:54 +02:00
Mael Rouxel-Labbé
d543552e9c
Moved Implicit->labeled_subdomains wrapper out of /P3M3 as it will be documented
2017-04-04 14:41:34 +02:00
Mael Rouxel-Labbé
b972f98264
Added a "_3" suffix to classes to indicate 3-directional periodicity
2017-03-18 17:50:57 +01:00
Mael Rouxel-Labbé
ddccdaf750
Moved output function to its own file
2017-03-17 17:46:01 +01:00
Mael Rouxel-Labbé
31736e72c8
Cosmetic changes
2017-03-17 17:12:14 +01:00
Mael Rouxel-Labbé
13437a5a12
Renamed Implicit and Labeled periodic domains
2017-03-17 16:26:04 +01:00
Mael Rouxel-Labbé
8b5708c809
Renamed Periodic_3_mesh_criteria_3 into Periodic_mesh_criteria_3
...
and subsequent changes.
Also changes required for 7446658.
2017-03-17 15:31:35 +01:00
Mael Rouxel-Labbé
2c8c7a0244
Renamed periodic criteria files
...
Align names on Mesh_3's.
Partial revert of a3cc1d4b141494492d52fba3bc433b14061bb455.
2017-03-17 15:19:49 +01:00
Mael Rouxel-Labbé
449dd11955
Renamed the periodic mesh triangulation and modified includes for ea1b492
2017-03-17 14:36:25 +01:00
Mael Rouxel-Labbé
d51ff5039e
Renamed Mesh_3_periodic_triangulation_3.h -> Periodic_mesh_triangulation_3.h
2017-03-17 14:35:45 +01:00
Mael Rouxel-Labbé
09b29de876
Fixed periodic criteria default facet and cell criteria values
2017-03-17 13:58:20 +01:00
Mael Rouxel-Labbé
ca2266ab42
Fixed two warnings
2017-03-17 13:58:02 +01:00
Mael Rouxel-Labbé
b12d46399e
Cosmetic changes and includes
2017-03-17 13:57:29 +01:00
Mael Rouxel-Labbé
ce04bc8809
Aligned some periodic classes with their current equivalent in Mesh_3
2017-03-17 13:55:47 +01:00
Mael Rouxel-Labbé
4434b50407
Modified the parameters of a call to init_C3T3
2017-03-17 12:51:43 +01:00
Mael Rouxel-Labbé
d2fb6cf273
Disable CGAL_MESH_3_SIZING_FIELD_INEXACT_LOCATE in P3M3
...
Structural filtering cannot, at the moment, be handled when remove traits
are being used.
2017-03-17 12:48:25 +01:00
Mael Rouxel-Labbé
dad3916c24
Cleaned medit output functions
2017-03-17 12:44:14 +01:00
Mael Rouxel-Labbé
f6252569da
Fixed the Periodic mesh triangulation class
...
Added new functions that (up-to-date) Mesh_3 requires, cleaned some obsolete
assert(), used the new functions available in P3RT3, added some comments, etc.
2017-03-17 12:40:32 +01:00
Mael Rouxel-Labbé
26fe13ba26
Fixed the traits of the Periodic mesh triangulation
2017-03-17 12:37:28 +01:00
Mael Rouxel-Labbé
8a11f510b1
Removed the Mesh_3 fork from P3M3
...
Changes will be directly incorporated into Mesh_3. Mesh_3's examples and tests
will consequently be temporarily broken in this branch.
2017-03-17 12:21:23 +01:00
Mael Rouxel-Labbé
7e419f342c
Fixed an outdated include
2017-03-08 17:41:13 +01:00
Mael Rouxel-Labbé
50620b1ca5
Bring Mesh_3 files used in P3M3 up to date
...
The real changes between Mesh_3 and Periodic_3_mesh_3 can be seen with e.g.
git diff --no-index Mesh_3/include/CGAL/Mesh_3/Refine_facets_3.h Periodic_3_mesh_3/include/CGAL/Mesh_3/Refine_facets_3.h
These files are meant to be cleaned eventually
2017-03-08 17:34:41 +01:00
Mael Rouxel-Labbé
a73d3d5a4c
Fixed examples/tests project names and minor QoL changes
2017-03-08 12:40:10 +01:00
Mael Rouxel-Labbé
817c7538e3
Fixed most of the warnings
2017-02-14 15:25:51 +01:00
Mael Rouxel-Labbé
7241cce269
Fixed Periodic_3 prefixes
2017-02-14 13:37:06 +01:00
Mael Rouxel-Labbé
2f1e8c6602
Quality of life changes for Periodic_3_mesh_3
...
(Trailing) whitespace, outdated URL/ID, indentation, etc.
2017-02-14 13:15:04 +01:00
Aymeric PELLÉ
2f92b91797
Rename Mesh_criteria_3 Periodic_3_mesh_criteria_3.
2016-01-19 20:28:09 +01:00
Aymeric PELLÉ
63b57ca2a0
Rename Periodic_3_Delaunay_triangulation_3_Mesher_3 Periodic_3_regular_triangulation_3_mesher_3.
2016-01-19 20:02:44 +01:00
Andreas Fabri
dbbab00aae
several small fixes
2015-12-16 14:20:45 +01:00
Andreas Fabri
dbe73c5779
get mesh_triply_periodic_minimal_surfaces.cpp compiled with VC++
2015-10-04 11:13:06 +02:00
Aymeric PELLE
d83cf415c6
Rename Mesh_3_periodic_triangulation_3_generator Mesh_periodic_3_triangulation_3.
2015-09-15 18:02:17 +02:00
Aymeric PELLE
6cc60e1348
Mesh_triangulation calls Base functions.
2015-07-27 13:53:13 +02:00
Aymeric PELLE
68a3ee3490
Periodic mesh uses periodic regular triangulations.
2015-07-27 13:53:12 +02:00
Aymeric PELLE
bfbb362c98
Fix : Periodic Refine_facets_3 implementation was deprecated.
2015-07-27 13:53:12 +02:00
Aymeric PELLE
afc1cc7dc5
Fix : Periodic_mesh didn't manage concurrency parameters.
2015-07-27 13:53:12 +02:00
Aymeric PELLE
0b9521aecb
Improve predicats of Periodic_labeled_mesh_domain_3.
...
All possible offsets are handled by Do_intersect_surface and
Construct_intersection.
2015-07-27 13:53:11 +02:00
Aymeric PELLE
7d4cedccb1
Fix bad copy-past in Do_intersect_surface.
2015-07-27 13:53:11 +02:00
Aymeric PELLE
f509cbe831
Fix the problem of holes on surface caused by bad analysis of dual facets.
...
Add redefined predicats in Periodic_labeled_mesh_domain_3.
(Do_intersect_surface and Construct_intersection.)
Mesh_3 has new protected member functions allowing its heirs to access the
labeling function and the error bound. Some private member functions
required in Periodic_labeled_mesh_domain_3 are set protected.
(Should be moved in a small feature modifying only Mesh_3?)
2015-07-27 13:53:11 +02:00
Aymeric PELLE
243723d8ad
Fix generation of mesh periodic triangulation medit file.
2015-07-27 13:53:11 +02:00
Aymeric PELLE
efe1dbb13a
Add a domain class for periodic meshing : Periodic_labeled_mesh_domain_3.
...
It can be built only with an Iso_cuboid_3.
It has a periodic_bounding_box member function required by periodic meshing
algorithms.
Periodic_implicit_mesh_domain_3 inherites from this new class now.
Periodic_implicit_mesh_domain_3 uses Implicit_to_labeling_function_wrapper as
default wrapper now.
2015-07-27 13:53:10 +02:00
Aymeric PELLE
8c2948201e
We use a specific domain to periodic mesh.
...
Periodic cases need a periodic bounding box with exact coordinates.
So, Periodic_implicit_mesh_domain_3 can only built with an Iso_cuboid_3.
Moreover, the method periodic_cuboid is renamed periodic_bounding_box.
2015-07-27 13:53:09 +02:00
Aymeric PELLE
a21e140d8b
Add the Periodic_3_mesh_3 folder.
...
Creation of the branch Periodic_3_mesh_3-Feature-MBogdanov.
We re-insert the folder Periodic_3_mesh_3.
2015-07-27 13:53:09 +02:00