Commit Graph

623 Commits

Author SHA1 Message Date
Mael Rouxel-Labbé 4e33192074 Fixed get_offset_location's second version 2017-06-22 16:02:37 +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é f80d9ebbd3 Cleaned unused variables 2017-06-13 18:06:39 +02:00
Mael Rouxel-Labbé 18bb11c5a1 Removed useless comments 2017-06-08 16:04:08 +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é 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
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é 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é 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é 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é 7a6a3e3690 Added skeleton of regular static filtering operations 2017-03-31 17:05:00 +02:00
Mael Rouxel-Labbé e3fb4affb0 Added skeleton of regular static filtering operations 2017-03-31 17:05:00 +02:00
Mael Rouxel-Labbé ed034fde47 Fixed periodic draw_dual() and added some off output in the examples 2017-03-31 15:58:34 +02:00
Mael Rouxel-Labbé daa39955de Fixed periodic draw_dual() and added some off output in the examples 2017-03-31 15:58:34 +02:00
Mael Rouxel-Labbé 49c79e9829 Renamed Delaunay remove traits
so Delaunay actually appears in the name. Also minor typedef and comment
changes within the file.
2017-03-31 15:56:29 +02:00
Mael Rouxel-Labbé fb87be450a Renamed Delaunay remove traits
so Delaunay actually appears in the name. Also minor typedef and comment
changes within the file.
2017-03-31 15:56:29 +02:00
Mael Rouxel-Labbé e2824bc1fe Removed include/CGAL/Periodic_3_Delaunay_triangulation_filtered_traits_3.h
Deprecated remnant from the the old traits. Old enough to be cleaned up,
especially since the traits got remade recently.
2017-03-31 15:41:00 +02:00
Mael Rouxel-Labbé 70cf2c2375 Removed include/CGAL/Periodic_3_Delaunay_triangulation_filtered_traits_3.h
Deprecated remnant from the the old traits. Old enough to be cleaned up,
especially since the traits got remade recently.
2017-03-31 15:41:00 +02:00
Mael Rouxel-Labbé 8aedc5a170 Various minor changes to doc and functions
Cleaned some todos, added some, removed useless includes etc.
2017-03-31 15:30:01 +02:00
Mael Rouxel-Labbé be41bebd18 Various minor changes to doc and functions
Cleaned some todos, added some, removed useless includes etc.
2017-03-31 15:30:01 +02:00
Mael Rouxel-Labbé 20801e0ccc Cleaned traits classes 2017-03-29 18:22:38 +02:00
Mael Rouxel-Labbé df0ca173e8 Cleaned traits classes 2017-03-29 18:22:38 +02:00
Mael Rouxel-Labbé 163b31f120 Mirror P3T3's static filters with their (newer) corresponding versions...
... from /Filtered_kernel
2017-03-29 18:02:44 +02:00
Mael Rouxel-Labbé 40db7e8c33 Mirror P3T3's static filters with their (newer) corresponding versions...
... from /Filtered_kernel
2017-03-29 18:02:44 +02:00
Mael Rouxel-Labbé 84220b9297 Warning fix
See a954ce9
2017-03-27 17:57:28 +02:00
Mael Rouxel-Labbé aaadf769c6 Warning fix
See a954ce9
2017-03-27 17:57:28 +02:00
Mael Rouxel-Labbé 2ae3683856 Add 'visited_for_vertex_extractor' to the periodic TDS vertex base 2017-03-27 17:07:35 +02:00
Mael Rouxel-Labbé 8cd089be7c Add 'visited_for_vertex_extractor' to the periodic TDS vertex base 2017-03-27 17:07:35 +02:00
Mael Rouxel-Labbé 6f66b81fda Remove unused member in periodic TDS vertex base 2017-03-27 16:46:59 +02:00
Mael Rouxel-Labbé 58592254fa Remove unused member in periodic TDS vertex base 2017-03-27 16:46:59 +02:00
Mael Rouxel-Labbé 54e70be250 Changed years 2017-03-27 15:47:23 +02:00
Mael Rouxel-Labbé 0728a573d9 Changed years 2017-03-27 15:47:23 +02:00
Mael Rouxel-Labbé 1e48818746 Cosmetic changes in P3T3.h
(indentation, whitespace, etc.)
2017-03-16 21:34:21 +01:00
Mael Rouxel-Labbé 7a10d7b290 Cosmetic changes in P3T3.h
(indentation, whitespace, etc.)
2017-03-16 21:34:21 +01:00
Mael Rouxel-Labbé 86b1c0b603 Cosmetic changes in P3RT3.h
(indentation, whitespace, etc.)
2017-03-16 21:34:20 +01:00
Mael Rouxel-Labbé 28f56984d5 Cosmetic changes in P3RT3.h
(indentation, whitespace, etc.)
2017-03-16 21:34:20 +01:00
Mael Rouxel-Labbé ec2507981f Added some new operators to the traits_with_offset adaptor
Required for P3M3
2017-03-16 21:34:11 +01:00
Mael Rouxel-Labbé 86f374e6da Added some new operators to the traits_with_offset adaptor
Required for P3M3
2017-03-16 21:34:11 +01:00
Mael Rouxel-Labbé 0bc89f7faa Do not copy the cuboid 2017-03-16 18:24:07 +01:00
Mael Rouxel-Labbé 111cc39d28 Do not copy the cuboid 2017-03-16 18:24:07 +01:00
Mael Rouxel-Labbé 0e14887b6d Cosmetic changes in P3T3 traits classes 2017-03-16 18:21:59 +01:00
Mael Rouxel-Labbé 09e2ed00f8 Cosmetic changes in P3T3 traits classes 2017-03-16 18:21:59 +01:00
Mael Rouxel-Labbé c6207d5d87 Added periodic_point(const Point&) 2017-03-16 18:19:46 +01:00
Mael Rouxel-Labbé 486967a003 Added periodic_point(const Point&) 2017-03-16 18:19:46 +01:00
Mael Rouxel-Labbé 4efff0e217 Renamed the macro CGAL_PT3_STRUCTURAL_FILTERING_MAX_VISITED_CELLS 2017-03-16 18:08:07 +01:00
Mael Rouxel-Labbé de98b5f1d3 Renamed the macro CGAL_PT3_STRUCTURAL_FILTERING_MAX_VISITED_CELLS 2017-03-16 18:08:07 +01:00
Mael Rouxel-Labbé 2f31bbb60e Added namespaces to 'array' 2017-03-16 18:04:07 +01:00
Mael Rouxel-Labbé 444d7b626e Added namespaces to 'array' 2017-03-16 18:04:07 +01:00
Mael Rouxel-Labbé 9d7ab2ce92 Added number_of_finite_* functions
Required for P3M3
2017-03-16 17:42:25 +01:00
Mael Rouxel-Labbé a98c7d447d Added number_of_finite_* functions
Required for P3M3
2017-03-16 17:42:25 +01:00
Mael Rouxel-Labbé 8104ba58cf Restructured the hierarchy of traits in Periodic triangulations
BEFORE:
A template mecanism allows to determine wether the kernel offers filtered, or
even statistically filtered operations. The highest level is chosen and includes
the sub-levels. For example, if the kernel offers filtered but _not_ statistically
filtered operations, using the traits class `Periodic_3_triangulation_traits_3`
is equivalent to using the class `Periodic_3_triangulation_filtered_traits_3`,
which inherits the operations of `Periodic_3_triangulation_traits_3` (implemented
in `Periodic_3_triangulation_traits_base_3`) and overwrites some of them.

A similar mecanism is done for Delaunay and regular traits; e.g. if the kernel
offers statistically filtered traits, then using `Periodic_3_Delaunay_triangulation_traits_3`
is similar to using `Periodic_3_Delaunay_triangulation_statistically_filtered_traits_3`,
which inherits from `Periodic_3_Delaunay_triangulation_filtered_traits_3`, which itself
inherits from `Periodic_3_Delaunay_triangulation_traits_3`.

PROBLEM:
The base class of Delaunay and regular traits, respectively
`Periodic_3_Delaunay_triangulation_traits_base_3` and
`Periodic_3_regular_triangulation_traits_base_3` inherit the class
`Periodic_3_triangulation_traits_base_3`. Thus, if the kernel is filtered
or statistically filtered, then the filtered operations that should
"belong" at the level of triangulation traits (for example, orientation_3)
must be duplicated in the Delaunay and regular traits file otherwise
they are not filtered.

AFTER:
With this commit, the Delaunay and regular bases traits inherit
from `Periodic_3_triangulation_traits_3` (no "_base"). This means
that the base class will also select its highest possible level of
filtration and there is no need to duplicate code 3 times anymore.
2017-03-16 17:25:53 +01:00
Mael Rouxel-Labbé 055c4a928b Restructured the hierarchy of traits in Periodic triangulations
BEFORE:
A template mecanism allows to determine wether the kernel offers filtered, or
even statistically filtered operations. The highest level is chosen and includes
the sub-levels. For example, if the kernel offers filtered but _not_ statistically
filtered operations, using the traits class `Periodic_3_triangulation_traits_3`
is equivalent to using the class `Periodic_3_triangulation_filtered_traits_3`,
which inherits the operations of `Periodic_3_triangulation_traits_3` (implemented
in `Periodic_3_triangulation_traits_base_3`) and overwrites some of them.

A similar mecanism is done for Delaunay and regular traits; e.g. if the kernel
offers statistically filtered traits, then using `Periodic_3_Delaunay_triangulation_traits_3`
is similar to using `Periodic_3_Delaunay_triangulation_statistically_filtered_traits_3`,
which inherits from `Periodic_3_Delaunay_triangulation_filtered_traits_3`, which itself
inherits from `Periodic_3_Delaunay_triangulation_traits_3`.

PROBLEM:
The base class of Delaunay and regular traits, respectively
`Periodic_3_Delaunay_triangulation_traits_base_3` and
`Periodic_3_regular_triangulation_traits_base_3` inherit the class
`Periodic_3_triangulation_traits_base_3`. Thus, if the kernel is filtered
or statistically filtered, then the filtered operations that should
"belong" at the level of triangulation traits (for example, orientation_3)
must be duplicated in the Delaunay and regular traits file otherwise
they are not filtered.

AFTER:
With this commit, the Delaunay and regular bases traits inherit
from `Periodic_3_triangulation_traits_3` (no "_base"). This means
that the base class will also select its highest possible level of
filtration and there is no need to duplicate code 3 times anymore.
2017-03-16 17:25:53 +01:00
Mael Rouxel-Labbé 08aa7c949b Accelerate 3D version of inexact_locate as we do it for 2D
see commit 4c477c853c
2017-03-16 17:18:40 +01:00
Mael Rouxel-Labbé c38ab09bde Accelerate 3D version of inexact_locate as we do it for 2D
see commit 4c477c853c
2017-03-16 17:18:40 +01:00
Mael Rouxel-Labbé a93445274c Revert "Fixed periodic nearest power vertex"
This reverts commit 6caf42979f905958b0e147291433097987daa713.

P3M3 crashes without this. To be investigated.
2017-03-16 17:13:06 +01:00
Mael Rouxel-Labbé 9d04f427dc Revert "Fixed periodic nearest power vertex"
This reverts commit 6caf42979f905958b0e147291433097987daa713.

P3M3 crashes without this. To be investigated.
2017-03-16 17:13:06 +01:00
Mael Rouxel-Labbé 763cb513b0 Fixed missing functors in periodic (regular) triangulation filtered traits
Maybe the regular filtered traits ought to derive from the non-regular filtered
traits
2017-03-08 16:04:49 +01:00
Mael Rouxel-Labbé 8d91a9718f Fixed missing functors in periodic (regular) triangulation filtered traits
Maybe the regular filtered traits ought to derive from the non-regular filtered
traits
2017-03-08 16:04:49 +01:00
Mael Rouxel-Labbé 8f947a5327 Improved P3T3 tests
Mainly P3RT3 being exhaustively tested.
2017-02-15 15:59:43 +01:00
Mael Rouxel-Labbé 53f83ee2e3 Improved P3T3 tests
Mainly P3RT3 being exhaustively tested.
2017-02-15 15:59:43 +01:00
Mael Rouxel-Labbé 47f282ed9f Fixing authors and other minor changes 2017-02-15 15:13:23 +01:00
Mael Rouxel-Labbé 4c88d8fa62 Fixing authors and other minor changes 2017-02-15 15:13:23 +01:00
Mael Rouxel-Labbé 3a5348826f Fixed periodic nearest power vertex
Because the point lies on a vertex does not mean that it is closest to that
vertex for the power distance (e.g. there could be a point with near infinite
weight somewhere else and that point would be the closest)
2017-02-15 15:03:58 +01:00
Mael Rouxel-Labbé 6439bf2530 Fixed periodic nearest power vertex
Because the point lies on a vertex does not mean that it is closest to that
vertex for the power distance (e.g. there could be a point with near infinite
weight somewhere else and that point would be the closest)
2017-02-15 15:03:58 +01:00
Mael Rouxel-Labbé 1136382a3f Changed a protected in public for a subclass of Periodic_3_triangulation_3
Perturbation_order must be public to be accessed by the base of
Periodic_3_regular_Delaunay_3 that does not use Weighted_point_mapper_3
2017-02-06 13:56:46 +01:00
Mael Rouxel-Labbé c68fd24af5 Changed a protected in public for a subclass of Periodic_3_triangulation_3
Perturbation_order must be public to be accessed by the base of
Periodic_3_regular_Delaunay_3 that does not use Weighted_point_mapper_3
2017-02-06 13:56:46 +01:00
Mael Rouxel-Labbé 41012e44f9 Removes two warnings 2017-02-06 13:56:31 +01:00
Mael Rouxel-Labbé 7a69495eb7 Removes two warnings 2017-02-06 13:56:31 +01:00
Mael Rouxel-Labbé 407836103d Quality of life changes for Periodic_3
This commit only:
-- fixes indentation
-- adds licence includes that are missing
-- clarifies some variable names
-- removes trailing whitespace
2017-02-06 13:53:58 +01:00
Mael Rouxel-Labbé 6fa42de727 Quality of life changes for Periodic_3
This commit only:
-- fixes indentation
-- adds licence includes that are missing
-- clarifies some variable names
-- removes trailing whitespace
2017-02-06 13:53:58 +01:00
Mael Rouxel-Labbé f38177bbf5 Cleaned Periodic_3_triangulation_traits_3.h
Remove that inheritance of Periodic_3_Delaunay_triangulation_traits_3
2017-02-03 18:55:13 +01:00
Mael Rouxel-Labbé c505bf5904 Cleaned Periodic_3_triangulation_traits_3.h
Remove that inheritance of Periodic_3_Delaunay_triangulation_traits_3
2017-02-03 18:55:13 +01:00
Mael Rouxel-Labbé 878bd123c8 Fixed P3RT3 spatial sort
Can't use the underlying Kernel anymore since ::Point is a Weighted_Point_3
and it doesn't match Point_2/Point_3/Point_d in spatial_sort.h
2017-02-03 18:12:50 +01:00
Mael Rouxel-Labbé 0de5ac7b11 Fixed P3RT3 spatial sort
Can't use the underlying Kernel anymore since ::Point is a Weighted_Point_3
and it doesn't match Point_2/Point_3/Point_d in spatial_sort.h
2017-02-03 18:12:50 +01:00
Mael Rouxel-Labbé 5815e457b5 Use Weighted_point_mapper_3 and Regular_triangulation_vertex_base_3 for P3RT3
This aligns the way Periodic_3_regular_triangulation_3 is built with Triangulation_3's
Regular_triangulation_3: the TDS now uses a Regular_triangulation_vertex_base_3 and
a Weighted_point_mapper_3 wraps the Point_3 type out of the base geometric traits
2017-02-03 18:11:11 +01:00
Mael Rouxel-Labbé 8386aba929 Use Weighted_point_mapper_3 and Regular_triangulation_vertex_base_3 for P3RT3
This aligns the way Periodic_3_regular_triangulation_3 is built with Triangulation_3's
Regular_triangulation_3: the TDS now uses a Regular_triangulation_vertex_base_3 and
a Weighted_point_mapper_3 wraps the Point_3 type out of the base geometric traits
2017-02-03 18:11:11 +01:00
Mael Rouxel-Labbé a2bc3d207f Reworked the detection of tets with "too big" orthospheres
"Compare_weighted_squared_radius_3" is used instead of computing explicitely
the squared radius
2017-02-03 17:41:57 +01:00
Mael Rouxel-Labbé 9eb8ef1245 Reworked the detection of tets with "too big" orthospheres
"Compare_weighted_squared_radius_3" is used instead of computing explicitely
the squared radius
2017-02-03 17:41:57 +01:00
Mael Rouxel-Labbé f043beb859 Quality of life changes
-- Moved the polluting function insert_dummy_points() to its own file
-- Some regrouping of trait functors
2017-02-03 17:31:31 +01:00
Mael Rouxel-Labbé 868c68ba62 Quality of life changes
-- Moved the polluting function insert_dummy_points() to its own file
-- Some regrouping of trait functors
2017-02-03 17:31:31 +01:00
Mael Rouxel-Labbé 640ab2cdb6 Fixed Periodic_3_regular_triangulation_filtered_traits_3
-- A real kernel is now passed to the traits and not some kind of Regular_traits
   thus removing the need for Weighted_converter_3 (and similar changes)
-- Updated function objects names
2017-02-03 17:19:08 +01:00
Mael Rouxel-Labbé 6ce58f2668 Fixed Periodic_3_regular_triangulation_filtered_traits_3
-- A real kernel is now passed to the traits and not some kind of Regular_traits
   thus removing the need for Weighted_converter_3 (and similar changes)
-- Updated function objects names
2017-02-03 17:19:08 +01:00
Mael Rouxel-Labbé 1c11a6c5fd Fixed Periodic_3_regular_triangulation_traits_base_3
-- Gave Regular_traits_with_offsets_adaptor its own file
-- Updated function objects names
   (e.g. power_test_3 -> Power_side_of_oriented_power_sphere_3)
-- Regular_traits_with_offsets_adaptor now has all the required operator()
   overloads to avoid losing point weights due to implicit WP->P conversions
-- Periodic_3_regular_triangulation_traits_base_3 now derives from
   Periodic_3_triangulation_traits_base_3
2017-02-03 17:15:04 +01:00
Mael Rouxel-Labbé 4dd4f009ea Fixed Periodic_3_regular_triangulation_traits_base_3
-- Gave Regular_traits_with_offsets_adaptor its own file
-- Updated function objects names
   (e.g. power_test_3 -> Power_side_of_oriented_power_sphere_3)
-- Regular_traits_with_offsets_adaptor now has all the required operator()
   overloads to avoid losing point weights due to implicit WP->P conversions
-- Periodic_3_regular_triangulation_traits_base_3 now derives from
   Periodic_3_triangulation_traits_base_3
2017-02-03 17:15:04 +01:00
Mael Rouxel-Labbé efd7821efe Added Periodic_3_construct_weighted_point_3
and Periodic_3_construct_point_3 can now take a Weighted_point_3 in input
2017-02-03 17:00:26 +01:00
Mael Rouxel-Labbé 6d6b720dc2 Added Periodic_3_construct_weighted_point_3
and Periodic_3_construct_point_3 can now take a Weighted_point_3 in input
2017-02-03 17:00:26 +01:00
Mael Rouxel-Labbé a77272be94 Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle 2017-02-03 16:52:51 +01:00
Mael Rouxel-Labbé e9398450ab Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle 2017-02-03 16:52:51 +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
Sébastien Loriot 2e2e94727e add operator for weighted point
required by ostream export
on the behalf of @afabri
2016-11-03 13:12:29 +01:00
Laurent Rineau 45e70a3304 Fix compilation errors with -DCGAL_TRIANGULATION_NO_ASSERTIONS 2016-11-03 13:10:27 +01:00
Laurent Rineau cd0335cda9 Fix warnings with CGAL_TRIANGULATION_NO_ASSERTIONS
Warnings about unused variables when `CGAL_TRIANGULATION_NO_ASSERTIONS`
is defined.
2016-10-07 14:33:44 +02:00
Andreas Fabri 9c6868a3a6 Fix package Periodic_3_Triangulation_3 2016-09-30 15:22:27 +02:00
Laurent Rineau e715dcaaa3 trivial typo 2016-09-14 16:02:13 +02:00
Sebastien Loriot ee093122bc Merge pull request #803 from afabri/Periodic_3-approx-GF
Periodic_3: Use static filters also for Epeck and make  it faster
2016-05-13 12:10:42 +02:00
Sébastien Loriot d6606ce607 add backward compatibility header 2016-05-13 12:05:54 +02:00
Andreas Fabri 2bae47aad9 More init_double 2016-04-15 20:42:12 +02:00
Andreas Fabri ad51e6fde3 resize the vector 2016-04-12 10:35:47 +02:00
Laurent Rineau 5dbc34f3a0 Follow-up to "Speed-up Triangulation_3::read_cells..."
Followup to:
> commit 535c5bb5b2
> Author: Laurent Rineau <laurent.rineau@cgal.org>
> Date:   Wed Apr 6 16:03:55 2016 +0200
>
>     Speed-up Triangulation_3::read_cells...
>
>     ... by a factor 5 for big triangulations! The old code was using:
>
>         std::map<size_t, Vertex_handle> V;
>         std::map<size_t, Cell_handle> C;
>
>     whereas the indices are contiguous: from 0 to n. `std::vector` is a lot
>     better for that use case!
2016-04-08 15:49:34 +02:00
Andreas Fabri 021f1b3151 Fix warning 2016-03-31 10:08:50 +02:00
Sébastien Loriot e21a48a306 use Has_filtered_predicates flag for selecting base traits 2016-03-08 15:01:02 +01:00
Sébastien Loriot a87e5b6cc4 use Has_filtered_predicates flag for selecting base traits 2016-03-08 15:01:02 +01:00
Sébastien Loriot b960e41291 move non-user traits class files into internal 2016-03-08 14:38:40 +01:00
Sébastien Loriot 5762a02ffb remove deprecated traits class implementation 2016-03-08 14:21:47 +01:00
Sébastien Loriot 9c8cd5ad31 Make the boolean flag requirements optionals 2016-03-08 09:09:34 +01:00
Sébastien Loriot d00d06750d select traits using Has_filtered_predicates and Has_static_filters 2016-02-29 22:29:59 +01:00
Andreas Fabri ce406887f9 Use static filters also for Epeck and make it faster 2016-02-19 08:24:52 +01:00
Andreas Fabri 57096a60fd Kernel -> Kernel_ as VC++ has a problem; unsigned -> ptrdiff_t 2016-01-17 20:11:42 +01:00
Aymeric Pellé bee20b4027 Rename internal member functions. (No need to update the doc.) 2016-01-17 20:11:42 +01:00
Aymeric Pellé 00afaca516 Fix warning : typedefs locally defined but not used. 2016-01-17 20:11:42 +01:00
Aymeric Pellé c0cd56e99b Fix warning : Add a virtual destructor for P3T3. 2016-01-17 20:11:42 +01:00
Aymeric PELLE bdd1c0099b Fix warning : typedef 'FT' locally defined but not used. 2016-01-17 20:11:41 +01:00
Aymeric PELLE 17162a9388 Fix remove debug variable. 2016-01-17 20:11:41 +01:00
Aymeric PELLE b3216a0a92 Update copyrights. 2016-01-17 20:11:41 +01:00
Aymeric PELLE 5fe5d83034 Add copy constructor and assignment operator. 2016-01-17 20:11:39 +01:00
Aymeric PELLE 96dd1b1494 Add missing member functions in P3RT3. (not tested)
* is_extensible_triangulation_in_1_sheet_h1().
* is_extensible_triangulation_in_1_sheet_h2().
2016-01-17 20:11:39 +01:00
Aymeric PELLE f3c61898a9 Fix P3RT_traits_3. The traits was badly filtered. 2016-01-17 20:11:37 +01:00
Aymeric PELLE 760c852430 Fix Periodic_3_regular_triangulation_filtered_traits_3.
We need RT::Exact_traits and RT::Filtering_traits.
2016-01-17 20:11:37 +01:00
Aymeric PELLE 06aa166dfa Add test for P3RT3::find_conflicts(). 2016-01-17 20:11:36 +01:00
Aymeric PELLE 4e652b990d Add P3RT3::vertices_in_conflict(). 2016-01-17 20:11:36 +01:00
Aymeric PELLE e245aeae61 Add P3RT3::find_conflicts(). 2016-01-17 20:11:36 +01:00
Aymeric PELLE 2f3635cbdb P3RT_traits_3 is filtered. 2016-01-17 20:11:36 +01:00
Aymeric PELLE 0e3333be1b P3RT3::nearest_vertex -> P3RT3::nearest_power_vertex 2016-01-17 20:03:32 +01:00
Aymeric PELLE 09b96d2324 Add nearest_vertex(), side_of_power_sphere() 2016-01-17 20:03:32 +01:00
Aymeric PELLE 8791fb3aa5 The class P3RTT3 needs a regular traits as first template parameter. 2016-01-17 20:03:31 +01:00
Aymeric PELLE e62493abce The class P3RTT3 is a strict model of the concept P3RTT3 : it doesn't provide extra predicates anymore. 2016-01-17 20:03:31 +01:00
Aymeric PELLE 194dfbf38f Fix P3RT3::Self : the typedef must provide K to P3RTT3, not RT<K>. 2016-01-17 20:03:30 +01:00
Aymeric PELLE 250db3a63e Remove some includes. 2016-01-17 20:03:30 +01:00
Aymeric PELLE 0e6291687e Periodic_3_regular_triangulation_traits_3 inherites from Regular_triangulation_euclidean_traits_3<K>. 2016-01-17 20:03:30 +01:00
Aymeric PELLE 287d01a6a0 Fix insert(It,It, false).
Some points were added twice when is_large_point_set is set to false.
2016-01-17 20:03:30 +01:00
Aymeric PELLE 15e771ff05 Revert "Periodic_3_regular_triangulation_traits_base_3 inherites from Periodic_3_triangulation_traits_base_3 now."
This reverts commit fc82184902908b148555050de45cadf708f79c0c.
2016-01-17 20:03:30 +01:00
Aymeric PELLE b91298468d Add constructor P3RT3(It begin, It end). 2016-01-17 20:03:29 +01:00
Aymeric PELLE 1d2912af0e Add function dual_centroid(). 2016-01-17 20:03:26 +01:00
Aymeric PELLE 3fbc5769aa Add function dual_volume(). 2016-01-17 20:03:26 +01:00
Aymeric PELLE 7b60661e83 size_type is used as returned type in number_of_hidden_points(). 2016-01-17 20:03:25 +01:00
Aymeric PELLE a03c933d51 Add functions draw_dual() and canonical_dual_segment(). 2016-01-17 20:03:25 +01:00
Aymeric PELLE 8d23ca4201 Add dual for a vertex. (Not tested.) 2016-01-17 20:03:25 +01:00
Aymeric PELLE d48a4b65af Add dual for an edge. (Not tested.) 2016-01-17 20:03:25 +01:00
Aymeric PELLE c63804f6f8 Add dual for a cell and a facet. (Not tested.) 2016-01-17 20:03:24 +01:00
Aymeric PELLE 2a3fe76100 Periodic_3_regular_triangulation_traits_base_3 inherites from Periodic_3_triangulation_traits_base_3 now. 2016-01-17 20:03:24 +01:00
Aymeric PELLE 83f43c13ff Add function periodic_weighted_circumcenter() 2016-01-17 20:03:24 +01:00
Aymeric PELLE 6ad6f5665f Fix preconditions in insert() functions. 2016-01-17 20:03:23 +01:00
Aymeric PELLE 325dd24e16 CGAL_triangulation_precondition_msg() is used in insert() instead of using CGAL_triangulation_assertion_msg(). 2016-01-17 20:03:23 +01:00
Aymeric PELLE 29032a0548 Some changes after rebasing branch. 2016-01-17 20:03:22 +01:00
Aymeric PELLE 6a6d49ed37 Rename Periodic_3_Regular_triangulation_3 Periodic_3_regular_triangulation_3. 2016-01-17 20:03:22 +01:00
Aymeric PELLE 4b20942d64 Add P3RT3::number_of_hidden_points(). 2016-01-17 20:03:22 +01:00
Aymeric PELLE 5a4bb5c80a Add an assertion message for assertion tests in insert() functions. 2016-01-17 20:03:22 +01:00
Aymeric PELLE c4067ae58c FT(1)/FT(64) -> FT(0.015625) 2016-01-17 20:03:22 +01:00
Aymeric PELLE 27ced0c668 assert() -> CGAL_triangulation_assertion() 2016-01-17 20:03:21 +01:00
Aymeric PELLE 0e9b85b362 Fix threshold computation. 2016-01-17 20:03:21 +01:00
Aymeric PELLE c5f8be07da Rename get_neighbor_offset neighbor_offset. 2016-01-17 20:03:21 +01:00
Aymeric PELLE 93eebb6691 get_neighbor_offset() can take only two parameters now. 2016-01-17 20:03:20 +01:00
Aymeric PELLE 774134835f Add new locate functions and geometry getters.
Locate functions returns an Offset indicating the translation to apply on the
periodic geometry object associated to a cell, to get the periodic
geometry object really containing the input point.
2016-01-17 20:03:20 +01:00
Aymeric PELLE bad32a2446 Add P3RT3::insert(beginIt, endIt). 2016-01-17 20:03:20 +01:00
Aymeric PELLE 9631475f1f Add insert_dummy_points() initializing a P3RT3 with a 1-sheeted covering. 2016-01-17 20:03:20 +01:00
Aymeric PELLE d19b69e94b There is no hidden points if there is only one point. 2016-01-17 20:03:20 +01:00
Aymeric PELLE d7c2a71ce4 Hidden points were badly saved in P3T3::remove().
Some hidden points were saved twice when removing cause triangulation
to convert to 27 copies.
2016-01-17 20:03:19 +01:00
Aymeric PELLE eaae41ff75 Fix : Hidden points were lost when passing to 1-cover. 2016-01-17 20:03:19 +01:00
Aymeric PELLE 04445079b2 We use an unordered_set for stocking cells with too big orthoball. Fix a protected update ceover data function. 2016-01-17 20:03:19 +01:00
Aymeric PELLE 13a3170048 Add a precondition on weight in insert(). (assert() for the moment) 2016-01-17 20:03:19 +01:00
Aymeric PELLE 63e5572dbc Clean some useless comments. 2016-01-17 20:03:18 +01:00
Aymeric PELLE 4342569e8e We use a set instead of using a vector for storing cell with too big orthoball. 2016-01-17 20:03:18 +01:00
Aymeric PELLE 1da3e307bb Use point() in P3RT3::squared_orthoball_radius. 2016-01-17 20:03:18 +01:00
Aymeric PELLE f6c969dfde Fix : P3DT3 tests failed after moving attributes and specific code to P3DT3.
(Remove some print in P3RT3.)
2016-01-17 20:03:18 +01:00