Commit Graph

1059 Commits

Author SHA1 Message Date
Sébastien Loriot 8cdfad0d08 add missing URL and Id tags 2017-11-15 22:58:57 +01:00
Laurent Rineau a9365554c9 Merge pull request #2550 from sloriot/CGAL-add_SPDX_tags
Add SPDX License Identifier
2017-11-15 16:48:27 +01:00
Laurent Rineau 3ff09bc549 Merge pull request #2580 from lrineau/CGAL-Support_CMake_3.10-GF
Renew the handle of policies, for CMake-3.10
2017-11-15 16:47:42 +01:00
Laurent Rineau 86fb40832a Merge pull request #2580 from lrineau/CGAL-Support_CMake_3.10-GF
Renew the handle of policies, for CMake-3.10
2017-11-13 12:01:39 +01:00
Sébastien Loriot ff26773f7b remove include directive for checking GPL compliance in LGPL headers 2017-11-12 10:21:35 +01:00
Sébastien Loriot ee57fc2d6c add SPDX identifier for files under the GPL-3+ license 2017-11-12 10:17:51 +01:00
Sébastien Loriot 97e8ea1794 remove extra space 2017-11-12 10:17:51 +01:00
Sébastien Loriot 0698f79aff add SPDX identifier for files under the LGPL-3+ license 2017-11-12 10:17:50 +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é 4294d546b3 Changed some P3T3 tests to fit function preconditions
Calls to locate(), nearest_vertex(), etc. should use canonical points
2017-11-10 16:24:03 +01:00
Mael Rouxel-Labbé 84e9c0c189 Removed some precondition() 2017-11-09 14:00:08 +01:00
Mael Rouxel-Labbé 77e98b977e Minor readability change 2017-11-09 10:52:19 +01:00
Mael Rouxel-Labbé ffc6cffe07 Removed a bunch of useless "using" 2017-11-09 10:51:07 +01:00
Mael Rouxel-Labbé 5208bd7cd2 Added a function that returns the dummy points (but does not insert them) 2017-11-09 10:34:34 +01:00
Mael Rouxel-Labbé dee1112ed9 Added treshold power radius to P3RT3's class members 2017-11-09 10:34:09 +01:00
Laurent Rineau 62c70d41ca Renew the handle of policies, for CMake-3.10
Now that we require CMake>=3.1, we can forget a lot of old CMake policies.

`CMP0053` `OLD` behavior is still needed, because of a bug in Qt5 CMake files, but it will
not be set with CMake>=3.10. Let's assume that a recent CMake version means
a recent Qt5 version.
2017-11-06 14:58:36 +01:00
Mael Rouxel-Labbé 78b32eb91b Fixed trailing whitespace (no real changes) 2017-11-06 13:19:14 +01:00
Mael Rouxel-Labbé 47c6f59f3f Fixed P3RT3's nearest_power_vertex()
- locate() falling a vertex doesn't mean that this vertex is the closest to
  the point
- the cell containing the point is not necessarily in conflict with the query
  in a weighted triangulation. Besides, there's no need to find the offset like
  that because periodic_locate() returns it already.

Changes to be reproduced for P3DT3.
2017-11-02 14:29:01 +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é 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é 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
Laurent Rineau 7e9f756935 Replace all std::unary_function by CGAL::unary_function 2017-10-04 15:57:09 +02:00
Mael Rouxel-Labbé b82814a24b Changed K::Has_[static/filtered]... to use Has_[static/filtered]_...<K> instead 2017-08-29 12:35:46 +02:00
Mael Rouxel-Labbé 1473db57dc Fixed missing include 2017-08-24 10:30:58 +02:00
Mael Rouxel-Labbé 3640902c6f Misc minor changes 2017-08-23 17:15:44 +02:00
Mael Rouxel-Labbé aaeaf35380 Introduced the tag "Periodic_tag" to mark distinguish periodic triangulations 2017-08-23 16:18:05 +02:00
Mael Rouxel-Labbé 84d11ac797 Fixed Offset definition in P3T3's static filtered predicates 2017-08-23 11:00:03 +02:00
Mael Rouxel-Labbé f6da2ed7dc Static filter must be templated by the traits, not the kernel 2017-08-23 10:59:40 +02:00
Mael Rouxel-Labbé 1cc8449b34 Fixed using Point's default constructor instead of the base's operator() 2017-08-23 10:59:18 +02:00
Mael Rouxel-Labbé cf01313055 Fixed some P3T3 doc 2017-08-23 10:59:09 +02:00
Mael Rouxel-Labbé af86bfca8b Renamed P3T3's offset-handling functors (added a _3 suffix) 2017-08-22 13:38:31 +02:00
Sébastien Loriot 9bb2d4433f Merge remote-tracking branch 'cgal/releases/CGAL-4.10-branch' 2017-08-04 13:37:58 +02:00
Mael Rouxel-Labbé f95e207b60 Removed license headers from P3T3 test files 2017-08-03 15:38:51 +02:00
Maxime Gimeno 831f0239cb Fix CMP0071 warning. 2017-08-03 10:38:19 +02:00
Mael Rouxel-Labbé 3eebe5156b Improved readability of test file 2017-07-31 16:18:49 +02:00
Mael Rouxel-Labbé fd1c9d5dfa Added periodic weighted alpha shapes to the doc 2017-07-31 16:17:23 +02:00
Mael Rouxel-Labbé 06bfbfec6f Cleaned useless typedef/function in P3DT3
Those are now in the class P3T3
2017-07-31 15:30:58 +02:00
Mael Rouxel-Labbé a1c57031ba P3RT3 can now be used with Alpha Shapes 3 2017-07-31 12:52:22 +02:00
Mael Rouxel-Labbé 69167aef9a Move P3T3 off output to CGAL namespace 2017-07-31 12:52:21 +02:00
Mael Rouxel-Labbé acc79c707f Added a test to check that P3RT3 and RT3 produces consistent results 2017-07-31 12:52:09 +02:00
Mael Rouxel-Labbé b8de2148b2 Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2017-07-28 11:41:58 +02:00
Mael Rouxel-Labbé b330f05354 Misc minor changes 2017-07-27 17:01:28 +02:00
Mael Rouxel-Labbé 95ac19b935 Fixed exact construct periodic point 2017-07-27 12:13:33 +02:00
Laurent Rineau 871bba21f6 Merge pull request #2212 from MaelRL/Periodic_3_Regular_triangulation_3-APelle
Add periodic regular triangulations
2017-07-17 12:23:54 +02:00
Laurent Rineau 031205362b Fix the issue of the rounding mode
Replace a call to `force_ieee_double_precision()` by the creation of a
guard object `Set_ieee_double_precision`. The destructor of that object
restores the rounding mode. That avoids that sort of error:
```
terminate called after throwing an instance of 'CGAL::Assertion_exception'
  what():  CGAL ERROR: assertion violation!
Expr: FPU_get_cw() == mode
File: /mnt/testsuite/include/CGAL/test_FPU_rounding_mode_impl.h
Line: 45
```
2017-07-13 17:26:59 +02:00
Andreas Fabri 3329e0d6c7 Do not test hierarchy with epec in VC++ debug mode; make a test less verbose 2017-07-12 22:11:09 +02:00
Andreas Fabri ec7888cfb2 No need to do the complete specialization several times 2017-07-11 15:20:51 +02:00
Andreas Fabri c533398777 Replace >5000 function calls with an array of that size 2017-07-11 15:20:25 +02:00
Maxime Gimeno 51f7218c2a FIx Lloyd demo for QGLViewer 2.7 2017-07-10 16:11:09 +02:00
Maxime Gimeno 3a97734a70 fix T3 demo for QGLViewer v2.7.0 2017-07-10 16:11:09 +02:00
Laurent Rineau ab46739f07 Merge pull request #2213 from maxGimeno/Fix_demos_for_qglviewer2_7_0-GF
Fix demos for qglviewer 2.7.0
2017-07-10 15:00:09 +02:00
Mael Rouxel-Labbé 862e8a3f28 Disabled P3T3 test 2017-07-05 12:04:18 +02:00
Mael Rouxel-Labbé ad6361e45f Added virtual destructors 2017-07-05 11:53:09 +02:00
Mael Rouxel-Labbé 98f3211788 Re-added P3RT3_covering_test.tri (lighter version) 2017-07-04 18:45:00 +02:00
Mael Rouxel-Labbé 81fd184ecd Misc minor changes 2017-07-04 16:44:18 +02:00
Mael Rouxel-Labbé ee9de2ef90 Fixed including GMP without guards 2017-07-04 16:39:42 +02:00
Laurent Rineau 69f0125004 Fix the Travis build issue
On Trusty-updates, clang-3.6 with g++-4.8 cannot compile `<cstdio>` with
`-std=c++1y`. That is a [known bug].

  [known bug]: https://stackoverflow.com/q/24342312/1728537
2017-07-04 15:59:41 +02:00
Mael Rouxel-Labbé f14bb1747b Merge branch 'Periodic_3_Regular_triangulation_3-APelle' of github.com:CGAL/cgal-public-dev into Periodic_3_Regular_triangulation_3-APelle 2017-07-04 14:32:22 +02:00
Mael Rouxel-Labbé 006bdb18f6 Fixed not using CGAL's function_property_map in P3RT3 2017-07-04 14:31:14 +02:00
Jane Tournois e9ef53f09e do not use an erased iterator 2017-07-04 14:28:11 +02:00
Mael Rouxel-Labbé 24fd3fe0bb Fixed depending on a stable random generator to test P3T3
The tests check that the number of elements is the one expected, but if the
random generator changes (even for a fixed seed), this breaks everything...

Instead, we dump the random generator for a given seed and use this output
as input every time.

This commit is inspired by the playstation network.
2017-07-04 12:50:11 +02:00
Mael Rouxel-Labbé 629f38e440 Fixed size_t / int conversion warning 2017-07-04 10:51:55 +02:00
Mael Rouxel-Labbé 0c8aa344dd Revert "Add 'visited_for_vertex_extractor' to the periodic TDS vertex base"
This reverts commit 0a5e3320d99327f649a39e97ebb5e12966afec0e.

Not sure what this commit was, might have been for P3M3 ? In any case, this is
not how it should be done...
2017-07-03 18:48:28 +02:00
Mael Rouxel-Labbé 2ae3eaae17 Fixed P3T3's number_of_finite_edges() 2017-07-03 16:26:41 +02:00
Maxime Gimeno 82f39dadbf FIx Lloyd demo for QGLViewer 2.7 2017-07-03 09:35:14 +02:00
Maxime Gimeno 9bf422ad5b fix T3 demo for QGLViewer v2.7.0 2017-07-03 09:35:14 +02:00
Mael Rouxel-Labbé 1fc2282350 Fixed regular triangulation capitalization across CGAL 2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé 376fab19ab Periodic_3 construct point 3 needs access to its base operator() 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 1163d7e3c1 Periodic_3 remove traits must overwrite construct_point_3() 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 4e33192074 Fixed get_offset_location's second version 2017-06-22 16:02:37 +02:00
Mael Rouxel-Labbé dc8e2a62d5 Minor P3T3 doc changes 2017-06-22 16:02:00 +02:00
Mael Rouxel-Labbé d9c3ec76ad Reworked dual(Cell_handle) and introduced canonical_dual(Cell_handle)
-- canonical_dual() is what the old dual() function was: returns the
   representation of the dual of the cell handle that is in the domain
-- dual() returns the 'true' dual of the cell handle, which might be out of
   the canonical domain.

The point is that P3M3 must return the 'true' dual to have no issue with the
conflict assertions of Mesh_3, and not a canonicalized dual !
2017-06-22 15:58:25 +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é ea5a063db8 Added new traits class: Robust_peroidic_weighted_circumcenter_traits_3
The purpose of that class is somewhat similar to Robust_weighed_circum...etc.:
it aims to provide robust circumcenter computations.

This is the parallel version that switches to exact if the circumcenter is
not in the (smallest) power sphere of the points.

The accuracy issue comes from the use of construct_point_3 with offsets.
Consequently, this class only overrides the versions with offsets.
The other robust class should be used for non-offset versions.
2017-06-22 15:15:55 +02:00
Mael Rouxel-Labbé 7c014c9e27 Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
Based on cgal-public-dev/Periodic_3_Regular...
  @ 7efd46f427580437943fa549bdbf1159f35b1edb
2017-06-16 11:21:52 +02:00
Mael Rouxel-Labbé 3c42724e22 Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle
Based on Kernel_Weighted_point_without...
  @ 41e7520b3e
2017-06-15 15:07:53 +02:00
Mael Rouxel-Labbé 5018c014b7 Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle
Based on Kernel_Weighted_point_without...
  @ 41e7520b3e
2017-06-15 15:07:53 +02:00
Mael Rouxel-Labbé 98800d2de8 Fixed regular triangulation capitalization across CGAL 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 2dbee09cab Periodic_3 construct point 3 needs access to its base operator() 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 1192f2eba1 Periodic_3 remove traits must overwrite construct_point_3() 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 3abbace437 Minor improvements to P3T3's tests
-- It's a bit dangerous to take random points in the complete periodic domain
   because insert(p) should have p in the original domain and half the border
   of the periodic domain is open
-- Cleaned some unused variables
2017-06-14 17:46:53 +02:00
Mael Rouxel-Labbé 99537e4671 Minor improvements to P3T3's tests
-- It's a bit dangerous to take random points in the complete periodic domain
   because insert(p) should have p in the original domain and half the border
   of the periodic domain is open
-- Cleaned some unused variables
2017-06-14 17:46:53 +02:00
Mael Rouxel-Labbé ed9562e565 Fixed P3DT3 test
find_conflicts() can't (in fact, only "shouldn't") be called on points
that are not in the original domain
2017-06-14 10:14:09 +02:00
Mael Rouxel-Labbé a9085c63af Fixed P3DT3 test
find_conflicts() can't (in fact, only "shouldn't") be called on points
that are not in the original domain
2017-06-14 10:14:09 +02:00
Mael Rouxel-Labbé 1fb7b2d9f8 Cleaned unused variable 2017-06-14 10:08:24 +02:00
Mael Rouxel-Labbé 4b94e58862 Cleaned unused variable 2017-06-14 10:08:24 +02:00
Mael Rouxel-Labbé f80d9ebbd3 Cleaned unused variables 2017-06-13 18:06:39 +02:00
Mael Rouxel-Labbé a504383f8f Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
Based on Periodic_3_Regular_triangulation_3...
@ 1b953b44066b26b2927b5f39e89f05283fb6a0a4
2017-06-09 13:07:34 +02:00
Mael Rouxel-Labbé 4685de8c76 Minor doc changes 2017-06-09 13:00:21 +02:00
Mael Rouxel-Labbé 18bb11c5a1 Removed useless comments 2017-06-08 16:04:08 +02:00
Mael Rouxel-Labbé 5955f9c7c0 Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle
Based on Kernel_Weighted_point_without...
  @ 67c531af53
2017-06-08 14:37:26 +02:00
Mael Rouxel-Labbé 1f8b6d3e19 Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle
Based on Kernel_Weighted_point_without...
  @ 67c531af53
2017-06-08 14:37:26 +02:00
Mael Rouxel-Labbé 0709641a4c Periodic_3 construct point 3 needs access to its base operator() 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 192821fe85 Periodic_3 remove traits must overwrite construct_point_3() 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 57f1bf23ae Fixed comments of side_of_cell()
There are no infinite cells in a periodic triangulation
2017-06-07 16:00:07 +02:00
Mael Rouxel-Labbé 5a85e9d094 Renamed some power_test functions to comply with the new standard 2017-06-07 15:58:42 +02:00
Mael Rouxel-Labbé 8be22d0570 Re-united some functions and their declarations 2017-06-07 15:55:22 +02:00
Mael Rouxel-Labbé 75e9d0dbc1 Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
Based on Periodic_3_Regular_triangulatio...
  @ e933ec4459c1ea00e9f43098807da7122b099425
2017-06-02 16:42:23 +02:00
Mael Rouxel-Labbé 46dad2abb6 Cosmetic changes 2017-06-02 16:02:05 +02:00
Mael Rouxel-Labbé 3e05860363 Renamed construct_periodic_point's version in P3RT3 (added "weighted") 2017-06-02 15:58:34 +02:00
Mael Rouxel-Labbé b3f5820ac9 Added default parameter to the P3T3 constructor
Existed long back ago, documented, were removed for seemingly no reason
2017-06-01 12:26:19 +02:00
Mael Rouxel-Labbé 07445a4d34 Added default parameter to the P3T3 constructor
Existed long back ago, documented, were removed for seemingly no reason
2017-06-01 12:26:19 +02:00
Mael Rouxel-Labbé b6588a0224 Minor doc changes 2017-06-01 12:26:08 +02:00
Mael Rouxel-Labbé 0c3cebe9ac Minor doc changes 2017-06-01 12:26:08 +02:00
Mael Rouxel-Labbé e1f3c36f0b Added a domain getter requirement to Periodic Triangulation Traits 2017-06-01 12:24:28 +02:00
Mael Rouxel-Labbé 3f154816dd Added a domain getter requirement to Periodic Triangulation Traits 2017-06-01 12:24:28 +02:00
Mael Rouxel-Labbé d88a736790 Fixed a comment 2017-06-01 11:41:06 +02:00
Mael Rouxel-Labbé 7b7d44f75a Fixed a comment 2017-06-01 11:41:06 +02:00
Mael Rouxel-Labbé 487d773257 Moved comment
since it does not apply to the function `point(periodic_point)`
2017-05-30 16:55:40 +02:00
Mael Rouxel-Labbé 5deebd2410 Moved comment
since it does not apply to the function `point(periodic_point)`
2017-05-30 16:55:40 +02:00
Mael Rouxel-Labbé e2585c4646 Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
Based on Periodic_3_Regular_triangulation...
  @ 9a669584bb9bf44757f99a3fb8c40aa661b6ebe0
2017-05-30 16:22:13 +02:00
Mael Rouxel-Labbé 178630064b Alphabetical re-ordering of "using::" 2017-05-30 11:44:22 +02:00
Mael Rouxel-Labbé 0d1f943c24 Alphabetical re-ordering of "using::" 2017-05-30 11:44:22 +02:00
Mael Rouxel-Labbé c2279248e1 Changed protected -> public
Giving public access to traits wrappers is not a problem
2017-05-30 11:07:13 +02:00
Mael Rouxel-Labbé 400d780fbb Changed protected -> public
Giving public access to traits wrappers is not a problem
2017-05-30 11:07:13 +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é 1ebc537874 Improved readability of periodic triangulations
(only cosmetic changes)
2017-05-30 10:41:56 +02:00
Mael Rouxel-Labbé e2de85aa8a Improved readability of periodic triangulations
(only cosmetic changes)
2017-05-30 10:41:56 +02:00
Mael Rouxel-Labbé 96867f416e Dropped a useless "public:" 2017-05-30 10:09:22 +02:00
Mael Rouxel-Labbé 158c727437 Dropped a useless "public:" 2017-05-30 10:09:22 +02:00
Mael Rouxel-Labbé 284921e2dd Renamed construct_periodic_3_object to construct_periodic_object
Just for consistency
2017-05-30 10:07:35 +02:00
Mael Rouxel-Labbé 7223ff3dbc Renamed construct_periodic_3_object to construct_periodic_object
Just for consistency
2017-05-30 10:07:35 +02:00
Mael Rouxel-Labbé cc7a826efb Added default offset parameter to construct_periodic_3_segment() 2017-05-30 10:05:44 +02:00
Mael Rouxel-Labbé 1f90f97957 Added default offset parameter to construct_periodic_3_segment() 2017-05-30 10:05:44 +02:00
Mael Rouxel-Labbé 91a771acbe Added some comments 2017-05-30 10:05:27 +02:00
Mael Rouxel-Labbé c4a9c5b331 Added some comments 2017-05-30 10:05:27 +02:00
Mael Rouxel-Labbé bf1853aabd Reworked the point() functions of periodic triangulations
Commit f554c062e39978fd8c0f15ba6a6d90597b36d768 fixed a lot of stuff
but point() functions were still a bit messy.

Now, ALL `point()` functions return a canonical point. If one wants to
get the "real" point in the complete space, one should use v->point()

point() must be the canonical point and not the real point since we
will pass P3T3 to other packages (Mesh_3/Alpha_shapes_3) that will
use tr.point(v) and expect the canonical point.

Might be worth to introduce a function "real_point()" to return v->point()
2017-05-30 09:59:09 +02:00
Mael Rouxel-Labbé 1874acad07 Reworked the point() functions of periodic triangulations
Commit f554c062e39978fd8c0f15ba6a6d90597b36d768 fixed a lot of stuff
but point() functions were still a bit messy.

Now, ALL `point()` functions return a canonical point. If one wants to
get the "real" point in the complete space, one should use v->point()

point() must be the canonical point and not the real point since we
will pass P3T3 to other packages (Mesh_3/Alpha_shapes_3) that will
use tr.point(v) and expect the canonical point.

Might be worth to introduce a function "real_point()" to return v->point()
2017-05-30 09:59:09 +02:00
Mael Rouxel-Labbé 2c298448b6 Removed useless variables 2017-05-30 09:56:18 +02:00
Mael Rouxel-Labbé d68ad76dc5 Removed useless variables 2017-05-30 09:56:18 +02:00
Mael Rouxel-Labbé a88f72fe4e Moved a function
to be with similar traits functions
2017-05-30 09:43:43 +02:00
Mael Rouxel-Labbé c9b0734985 Moved a function
to be with similar traits functions
2017-05-30 09:43:43 +02:00
Mael Rouxel-Labbé b5006fda88 Revert "Changed some v->point() to tr.point(v)"
This reverts commit c373227616bed00f97115d5cab14ede38f3b5223.

tr.point() will now be a canonical point (a point in the base domain)
while here we do not want to have a canonical point
2017-05-29 16:20:10 +02:00
Mael Rouxel-Labbé a6146c69b7 Revert "Changed some v->point() to tr.point(v)"
This reverts commit c373227616bed00f97115d5cab14ede38f3b5223.

tr.point() will now be a canonical point (a point in the base domain)
while here we do not want to have a canonical point
2017-05-29 16:20:10 +02:00
Mael Rouxel-Labbé d50022813b Clarified comment 2017-05-29 16:06:50 +02:00
Mael Rouxel-Labbé 6f0ad42e81 Clarified comment 2017-05-29 16:06:50 +02:00
Mael Rouxel-Labbé 50184ecb34 Added is_parallel() to P3T3 2017-05-29 15:58:03 +02:00
Mael Rouxel-Labbé aab9c237e7 Removed duplicate "using function()" 2017-05-24 12:24:50 +02:00
Mael Rouxel-Labbé ef715bc1cd Removed duplicate "using function()" 2017-05-24 12:24:50 +02:00
Mael Rouxel-Labbé 5354134469 Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle 2017-05-24 12:18:49 +02:00
Mael Rouxel-Labbé 4018368e11 Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle 2017-05-24 12:18:49 +02:00
Maxime Gimeno 5ae96fc2aa Explicitely set the policy of CMP0053 to OLD to silent the warning when it is not found. 2017-05-23 16:12:56 +02:00
Mael Rouxel-Labbé c37731b1de Periodic_3 construct point 3 needs access to its base operator() 2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 10a9348124 Periodic_3 remove traits must overwrite construct_point_3() 2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé d30bcabe6f Modified authors 2017-05-17 16:04:20 +02:00
Mael Rouxel-Labbé dffc66e9e7 Modified authors 2017-05-17 16:04:20 +02:00
Mael Rouxel-Labbé a1a6a17271 Improved Periodic_3 documentation 2017-05-17 15:07:12 +02:00
Mael Rouxel-Labbé 596fb64ffe Improved Periodic_3 documentation 2017-05-17 15:07:12 +02:00
Mael Rouxel-Labbé 357f842da7 Cleaned two examples 2017-05-17 15:04:47 +02:00
Mael Rouxel-Labbé 758cbe840d Cleaned two examples 2017-05-17 15:04:47 +02:00
Mael Rouxel-Labbé 878cb53f04 Simplified inexact_orientation 2017-05-16 14:41:41 +02:00
Mael Rouxel-Labbé 3b7951c51d Simplified inexact_orientation 2017-05-16 14:41:41 +02:00
Mael Rouxel-Labbé 2cd9121c14 Fixed compilation of P3 demo 2017-05-16 14:25:09 +02:00
Mael Rouxel-Labbé 4190e89f3e Fixed compilation of P3 demo 2017-05-16 14:25:09 +02:00
Mael Rouxel-Labbé 8a63f0cb4c Fixed point/weighted_point usage in /P3T3/tests 2017-05-16 11:27:40 +02:00
Mael Rouxel-Labbé 70fb387fb1 Fixed point/weighted_point usage in /P3T3/tests 2017-05-16 11:27:40 +02:00
Mael Rouxel-Labbé 30c1ac60bb Changed some v->point() to tr.point(v) 2017-05-16 11:24:40 +02:00
Mael Rouxel-Labbé bd3292f019 Changed some v->point() to tr.point(v) 2017-05-16 11:24:40 +02:00
Mael Rouxel-Labbé 94fc29291d Fixed trying to access cell's hidden_points in P3T3
Only regular triangulation cells have the hidden_points member
2017-05-16 11:23:11 +02:00
Mael Rouxel-Labbé 1e1ac5982d Fixed trying to access cell's hidden_points in P3T3
Only regular triangulation cells have the hidden_points member
2017-05-16 11:23:11 +02:00
Mael Rouxel-Labbé 33956eaff1 Re-organized P3 triangulations constructors 2017-05-16 11:20:30 +02:00
Mael Rouxel-Labbé 3e02ccaf7c Re-organized P3 triangulations constructors 2017-05-16 11:20:30 +02:00
Mael Rouxel-Labbé 650e257f2d Moved Periodic_3_construct_(weighted_)point_3 to /internal
and small modifications
2017-05-16 11:12:23 +02:00
Mael Rouxel-Labbé 59ae234e58 Moved Periodic_3_construct_(weighted_)point_3 to /internal
and small modifications
2017-05-16 11:12:23 +02:00
Mael Rouxel-Labbé 0b5ef494ce Periodic_3 traits v3.0
Version 2.0 was commit: 5b8b5c21ec18c878a93be2fca95f9c9dafd58ac6

Short version:
Made it work without point/weighted_point implicit conversions
and made it more generic by reworking the inheritance of adaptors and providing
appropriate constructors

Long version:
-- Reworked P3_construct_point_3 and P3_construct_weighted_point_3 to inherit
a base Construct_point_3 and initialize it properly at construction.

-- Renamed Traits_with_offset / Regular_traits_with_offset adaptors. These
classes now inherit the base functor and the constructors allow to initialize
that base from an existing functor (meaning that we don't default constructor
functors anymore). This also means that we can use the base operator() of the
functors and can thus use all possible inputs (with or without offsets).

-- Static filters now probably inherit the correct *_filtered_traits_base_3.

-- All traits classes now have constructor to be able to initialize traits
from a given domain and a given base kernel (rather than default construct)

-- Fixed Del/regular_remove_traits inherting the wrong classes

-- Filtered traits have exact and approximate traits rather than exact and
approximate domains with default constructed traits

One problem is left:
Filtered traits members are initialized with a default constructed base kernel.
Ideally, it should use Cartesian_converter(Base::kernel()), but this does not
exist...
2017-05-16 10:55:01 +02:00
Mael Rouxel-Labbé 37c9085b07 Periodic_3 traits v3.0
Version 2.0 was commit: 5b8b5c21ec18c878a93be2fca95f9c9dafd58ac6

Short version:
Made it work without point/weighted_point implicit conversions
and made it more generic by reworking the inheritance of adaptors and providing
appropriate constructors

Long version:
-- Reworked P3_construct_point_3 and P3_construct_weighted_point_3 to inherit
a base Construct_point_3 and initialize it properly at construction.

-- Renamed Traits_with_offset / Regular_traits_with_offset adaptors. These
classes now inherit the base functor and the constructors allow to initialize
that base from an existing functor (meaning that we don't default constructor
functors anymore). This also means that we can use the base operator() of the
functors and can thus use all possible inputs (with or without offsets).

-- Static filters now probably inherit the correct *_filtered_traits_base_3.

-- All traits classes now have constructor to be able to initialize traits
from a given domain and a given base kernel (rather than default construct)

-- Fixed Del/regular_remove_traits inherting the wrong classes

-- Filtered traits have exact and approximate traits rather than exact and
approximate domains with default constructed traits

One problem is left:
Filtered traits members are initialized with a default constructed base kernel.
Ideally, it should use Cartesian_converter(Base::kernel()), but this does not
exist...
2017-05-16 10:55:01 +02:00
Mael Rouxel-Labbé e72e8db2a2 Fixed some includes 2017-05-15 17:51:37 +02:00
Mael Rouxel-Labbé f143463fc8 Fixed some includes 2017-05-15 17:51:37 +02:00
Mael Rouxel-Labbé da1ae646d8 Removed the domain from P3T3
There is no need to store the domain in the triangulation, it should be left
to the traits to handle it
2017-05-15 17:46:57 +02:00
Mael Rouxel-Labbé 303edf3517 Removed the domain from P3T3
There is no need to store the domain in the triangulation, it should be left
to the traits to handle it
2017-05-15 17:46:57 +02:00
Mael Rouxel-Labbé 52800ecbdc Fixed wrong include 2017-05-15 17:37:30 +02:00
Mael Rouxel-Labbé d43171f332 Fixed wrong include 2017-05-15 17:37:30 +02:00
Mael Rouxel-Labbé ba1ffdd939 Fixed geometrical types across Periodic_3_triangulation_3
It was a giant mess of point, construct_point, Point_3, point,
and the same for segment, triangle, tetrahedron.

With this commit :
-- All types are aligned on Point and Point_3, that is the former
may in fact be a K::Weighted_point_3 while the latter is always
a K::Point_3. For example, the type Periodic_segment is a periodic
segment with extremities of type Point (thus possible weighted),
while Periodic_segment_3 has extremities Point_3 (bare points).

-- Functions with 'construct_' in the name will return a
"bare" type (e.g. construct_segment() returns a Segment_3,
construct_periodic_segment() a Periodic_segment_3, etc.).
Functions without 'construct_' will return possibly-weighted
types (e.g. segment() returns a Segment, periodic_segment()
returns a Periodic_segment, etc.).

-- Fixed many duplicates functions

-- Geometric functions now allow all possible inputs (e.g. it is
possible to call construct_point() on a Point, a Point_3, a Periodic_point,
and a Periodic_point_3).

-- Fixed a few bugs:
   -- tr.point() will correctly return a Weighted_point when called
   from a regular triangulation
   -- construct_point() must not be called before the predicates otherwise
   we are using the wrong version of the domain (and get wrong filters)

-- Fixed wrong function types (e.g. nearest_power_vertex takes a Bare_point
in argument, not a weighted_point)
2017-05-15 17:24:32 +02:00
Mael Rouxel-Labbé 9c6cc6ca07 Fixed geometrical types across Periodic_3_triangulation_3
It was a giant mess of point, construct_point, Point_3, point,
and the same for segment, triangle, tetrahedron.

With this commit :
-- All types are aligned on Point and Point_3, that is the former
may in fact be a K::Weighted_point_3 while the latter is always
a K::Point_3. For example, the type Periodic_segment is a periodic
segment with extremities of type Point (thus possible weighted),
while Periodic_segment_3 has extremities Point_3 (bare points).

-- Functions with 'construct_' in the name will return a
"bare" type (e.g. construct_segment() returns a Segment_3,
construct_periodic_segment() a Periodic_segment_3, etc.).
Functions without 'construct_' will return possibly-weighted
types (e.g. segment() returns a Segment, periodic_segment()
returns a Periodic_segment, etc.).

-- Fixed many duplicates functions

-- Geometric functions now allow all possible inputs (e.g. it is
possible to call construct_point() on a Point, a Point_3, a Periodic_point,
and a Periodic_point_3).

-- Fixed a few bugs:
   -- tr.point() will correctly return a Weighted_point when called
   from a regular triangulation
   -- construct_point() must not be called before the predicates otherwise
   we are using the wrong version of the domain (and get wrong filters)

-- Fixed wrong function types (e.g. nearest_power_vertex takes a Bare_point
in argument, not a weighted_point)
2017-05-15 17:24:32 +02:00
Mael Rouxel-Labbé c8020eaa97 Removed broken trick
Doesn't work anymore without implicit conversions between P and WP
2017-05-15 17:17:17 +02:00
Mael Rouxel-Labbé 4e0efcbfc4 Removed broken trick
Doesn't work anymore without implicit conversions between P and WP
2017-05-15 17:17:17 +02:00
Mael Rouxel-Labbé d07976b2ac All triangulations now use Perturbation_order in tests using symbolic perturbations 2017-05-15 17:13:38 +02:00
Mael Rouxel-Labbé de3874f1ef All triangulations now use Perturbation_order in tests using symbolic perturbations 2017-05-15 17:13:38 +02:00
Mael Rouxel-Labbé 029e988cba Added an example to the documentation 2017-05-14 15:03:12 +02:00
Mael Rouxel-Labbé 56e0abadd8 Added an example to the documentation 2017-05-14 15:03:12 +02:00
Mael Rouxel-Labbé f2b2b5cd2e Moved some files to /internal 2017-05-11 17:56:41 +02:00
Mael Rouxel-Labbé c1acf18841 Moved some files to /internal 2017-05-11 17:56:41 +02:00
Mael Rouxel-Labbé 9a73be4c09 Misc minor changes 2017-05-10 15:16:52 +02:00
Mael Rouxel-Labbé 6884722216 Misc minor changes 2017-05-10 15:16:52 +02:00
Mael Rouxel-Labbé e0038110bf Adapted P3RT3's hilbert sort to handle weighted points 2017-05-10 15:16:08 +02:00
Mael Rouxel-Labbé 4dd11d2c6a Adapted P3RT3's hilbert sort to handle weighted points 2017-05-10 15:16:08 +02:00
Mael Rouxel-Labbé acd5f3f560 Removed Weighted_point_mapper_3 and fixed typenames
Preparation for rebase on the implicit conversion branch.

Improved consistency on typedefs in P3T3:
-Point: either Gt::Point_3 or Gt::Weighted_point_3
-Point_3: Gt::Point_3
-Periodic_point: a periodic Point
-Periodic_point_3: a periodic Point_3

in P3RT3:
-Bare_point: Gt::Point_3
-Weighted_point: Gt::Weighted_point_3
-Periodic_bare_point: a periodic Bare_point
-Periodic_weighted_point: a periodic Weighted_point

in P3T3, functions:
construct_point: return_type --> Gt::Point_3
point: return_type --> Point
construct_periodic_point: return_type --> Periodic_point_3
periodic_point: return_type --> Periodic_point

in P3RT3, functions:
construct_weighted_point: return_type --> Gt::Weighted_point_3
2017-05-10 15:08:59 +02:00
Mael Rouxel-Labbé de3425cc4e Removed Weighted_point_mapper_3 and fixed typenames
Preparation for rebase on the implicit conversion branch.

Improved consistency on typedefs in P3T3:
-Point: either Gt::Point_3 or Gt::Weighted_point_3
-Point_3: Gt::Point_3
-Periodic_point: a periodic Point
-Periodic_point_3: a periodic Point_3

in P3RT3:
-Bare_point: Gt::Point_3
-Weighted_point: Gt::Weighted_point_3
-Periodic_bare_point: a periodic Bare_point
-Periodic_weighted_point: a periodic Weighted_point

in P3T3, functions:
construct_point: return_type --> Gt::Point_3
point: return_type --> Point
construct_periodic_point: return_type --> Periodic_point_3
periodic_point: return_type --> Periodic_point

in P3RT3, functions:
construct_weighted_point: return_type --> Gt::Weighted_point_3
2017-05-10 15:08:59 +02:00
Mael Rouxel-Labbé 7b9b8949d6 P3_construct_point_3 should not define a return_type type
Since it's not always the same (Point_3 / const Point_3&)
2017-05-10 14:45:18 +02:00
Mael Rouxel-Labbé 61485e2770 P3_construct_point_3 should not define a return_type type
Since it's not always the same (Point_3 / const Point_3&)
2017-05-10 14:45:18 +02:00
Mael Rouxel-Labbé 43595aab76 Fixed copying the domain in Periodic_construct_p/wp_3 2017-05-10 14:01:53 +02:00
Mael Rouxel-Labbé 7d77abf01e Fixed copying the domain in Periodic_construct_p/wp_3 2017-05-10 14:01:53 +02:00
Mael Rouxel-Labbé 3e1f38d673 Periodic regular traits now select the highest possible level of filtering
(but there is currently nothing for regular static filtering)
2017-03-31 17:11:58 +02:00
Mael Rouxel-Labbé 1bc77915aa Periodic regular traits now select the highest possible level of filtering
(but there is currently nothing for regular static filtering)
2017-03-31 17:11:58 +02:00
Mael Rouxel-Labbé 761de0be4d Add dual output the simple example too 2017-03-31 17:11:32 +02:00