Commit Graph

315 Commits

Author SHA1 Message Date
Mael Rouxel-Labbé d2ece33849 Documented Mesh_3's and P3M3's medit IO function 2017-12-19 15:44:26 +01:00
Mael Rouxel-Labbé 91feb767a6 Moved CGAL/IO/Medit_IO to CGAL/P3M3/IO/File_medit
To have the same name as Mesh_3's, but can't put it in CGAL/IO/ directly...
2017-12-19 15:14:31 +01:00
Mael Rouxel-Labbé 3e48f65c08 Doc improvements 2017-12-18 16:50:11 +01:00
Mael Rouxel-Labbé 233e66fe44 Cleaned off useless 'using' 2017-12-16 13:07:57 +01:00
Mael Rouxel-Labbé 781e0c8822 Added a comment to explain the various traits class in P3MT3 2017-12-15 20:24:03 +01:00
Mael Rouxel-Labbé d574b759ed Added a precondition to check that the input domain is a cube 2017-12-15 20:23:46 +01:00
Mael Rouxel-Labbé 11901273cf Cleaned some comments 2017-12-15 20:23:20 +01:00
Mael Rouxel-Labbé c6f58bce4e Reworked the way periodicity is defined
The input domain does not need to be periodic. It is the domain class that
has to handle the periodicity. This is cleaner mathematically and will be
more natural for other types of domains.

Along the way, the labeled periodic domain is brought up to date with Mesh_3's
(bug fixes, null subdomain index, etc.)
2017-12-15 17:25:42 +01:00
Mael Rouxel-Labbé 225ec1f573 Symmetrized usage of 'CGAL_PERIODIC_CANONICALIZE_DUAL_INTERSECTIONS' 2017-12-15 11:28:11 +01:00
Mael Rouxel-Labbé adfdc70374 Uniformized template parameters names in all P3T3 traits classes
Hopefully works around a bug in MSCV compilers too
2017-12-12 20:53:10 +01:00
Mael Rouxel-Labbé 4c72848bff Added some robustifying code in P3Mesh_triangulation_3
Snap when a point is too close to the border, even if it's not an issue for
construct_periodic_point()
2017-12-12 14:02:09 +01:00
Mael Rouxel-Labbé f4d5606bd4 Added temporary output code 2017-12-12 13:15:21 +01:00
Mael Rouxel-Labbé 0e71201778 Renamed template parameters to avoid conflicts with base class typedefs 2017-12-12 11:25:27 +01:00
Mael Rouxel-Labbé 9a0075ef01 Silenced some output 2017-12-12 00:25:02 +01:00
Mael Rouxel-Labbé add23592de Fixed license/tag issues 2017-12-08 10:02:26 +01:00
Mael Rouxel-Labbé 59a26dc496 Added a comment 2017-12-06 11:10:43 +01:00
Mael Rouxel-Labbé 671fe63cfa Cleaned output 2017-12-06 11:00:18 +01:00
Mael Rouxel-Labbé 00f6a874e2 Minor doc fixes 2017-12-05 18:32:30 +01:00
Mael Rouxel-Labbé cd8a1d60bc Misc minor changes 2017-12-05 16:37:13 +01:00
Mael Rouxel-Labbé 80578d7e04 Minor improvements to periodic medit output function 2017-12-05 16:29:08 +01:00
Mael Rouxel-Labbé 548fdde7ba Fixed not duplicating the number of facets when 'print_twice' is used 2017-12-04 17:44:53 +01:00
Mael Rouxel-Labbé 14d8540c82 Enhanced medit output for periodic meshes
(looks exactly like Mesh_3's now)
2017-12-04 16:09:18 +01:00
Mael Rouxel-Labbé 45aa2d3ab3 Fixed taking a reference to the position of a vertex about to be destroyed 2017-12-01 19:56:55 +01:00
Mael Rouxel-Labbé 5e810e3c09 Replaced std::map with unordered map + timestamp hash function 2017-12-01 19:07:55 +01:00
Mael Rouxel-Labbé c6a91e3281 Misc minor changes 2017-12-01 18:33:05 +01:00
Mael Rouxel-Labbé a843cf0530 Moved function bodies out of class 2017-12-01 18:30:24 +01:00
Mael Rouxel-Labbé daec72c617 Fixed periodic medit output function for occurence values less than 8 2017-12-01 09:02:01 +01:00
Mael Rouxel-Labbé 8a9750709b Moved the timestamp hash function to STL_extension (and rewrote it) 2017-12-01 08:44:12 +01:00
Mael Rouxel-Labbé 412bda1c44 Fixed licence headers, include guards, authors, etc. 2017-11-30 16:00:23 +01:00
Mael Rouxel-Labbé 7031e940aa Fixed projection of dummies using the wrong index 2017-11-30 15:37:08 +01:00
Mael Rouxel-Labbé 69d13d0a7b Changed name of function 2017-11-30 15:36:46 +01:00
Mael Rouxel-Labbé 11f35f57ed Reworked how the periodic protection class is selected
Rather than overwriting Mesh_3's, a virtual function is used in the initializer.
This allows to use Mesh_3 along Periodic_3_mesh_3.
2017-11-30 15:15:07 +01:00
Mael Rouxel-Labbé c83469fa0e The remove() function of P3M3 now does not do anything if the cover would change 2017-11-30 14:29:11 +01:00
Mael Rouxel-Labbé 8139500daf Added a check on robust_canonicalize_point() 2017-11-30 14:28:51 +01:00
Mael Rouxel-Labbé 1078e00e7f Uniformized between Mesh_3::internal and internal::Mesh_3 2017-11-30 14:26:12 +01:00
Mael Rouxel-Labbé 9b8c5cd824 Another batch of v->point() --> tr.point(v) 2017-11-29 17:48:55 +01:00
Mael Rouxel-Labbé 13a49227c1 Improved documentation 2017-11-29 16:32:58 +01:00
Mael Rouxel-Labbé 45e93cacfd Misc minor changes 2017-11-29 16:32:05 +01:00
Mael Rouxel-Labbé 78133c5100 Replaced usages of '.weight()' in Mesh_3 and P3M3
Either through the comparison predicate or the weight constructor.
2017-11-29 16:30:34 +01:00
Mael Rouxel-Labbé cae1889fe2 Enabled the visited vertex boolean in P3M3 (safe 1-cover) 2017-11-29 12:32:44 +01:00
Mael Rouxel-Labbé 5b93c880de Added missing licence 2017-11-29 12:32:31 +01:00
Mael Rouxel-Labbé 67fde8ea05 Misc minor changes 2017-11-28 15:25:52 +01:00
Mael Rouxel-Labbé 557176e23e Reworked the way periodic protection is done
A map allows to keep multiple (different) positions for each vertex. Determiningwhich position is chosen for a given vertex is done using curve_index,
orientation, and other available information.
2017-11-28 14:33:23 +01:00
Mael Rouxel-Labbé e8a905e56f Aesthetical changes 2017-11-25 21:01:05 +01:00
Mael Rouxel-Labbé c78d8651ac Introduced mechanism to handle problematic dummy vertices during protection 2017-11-24 13:31:31 +01:00
Mael Rouxel-Labbé ce0c2afd40 Readability changes
Increasing reader sanity, one commit at a time
2017-11-24 11:19:21 +01:00
Mael Rouxel-Labbé 461a8a0ff7 Added is_vertex to the periodic mesh triangulation 2017-11-22 14:53:45 +01:00
Mael Rouxel-Labbé 6b674f6efd Renamed Periodic_3_regular_triangulation_3_mesher_3
for consistency with Mesh_3's version
2017-11-22 14:24:34 +01:00
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é 3fa3a6820e Removed CGAL_3.7 remnant files 2017-06-02 08:38:46 +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