Commit Graph

623 Commits

Author SHA1 Message Date
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
Aymeric PELLE aec77fa201 P3RT3 Cover_manager. 2016-01-17 20:03:18 +01:00
Aymeric PELLE 4adebfaf14 Move Delaunay data from P3T3 to P3DT3. 2016-01-17 20:03:18 +01:00
Aymeric PELLE ac42805654 P3RT3::remove() is fixed. Hidden points were lost.
Vertices weren't stored in the point hider when copies were treated.
2016-01-17 20:03:17 +01:00
Aymeric PELLE 323d351229 P3RT3::remove() is available. A test for this member function is added. 2016-01-17 20:03:17 +01:00
Aymeric PELLE 6d7e6b1499 Fix default template parameter for the TDS in P3RT3.
Regular_triangulation_cell_base_3 must be used to store hidden points in cells.
2016-01-17 20:03:17 +01:00
Aymeric PELLE 0c46ac5e04 Remove unused code.
We are sure that we can't use the virtual_vertices_reverse with P3RT3 for
inserting copies of the inserted point.
2016-01-17 20:03:16 +01:00
Aymeric PELLE c2a3249cdf Fix P3T3::periodic_insert(). Remove an assert which made sense only with P3DT3. 2016-01-17 20:03:16 +01:00
Aymeric PELLE cb54e214ae Fix P3T3::insert_in_conflict.
The start_vertices vector has been invalid since we remove vertex references in
virtual_vertices_reverse causing periodic_locate() to fail.
For the moment, Cell_handle() is provided as start cell for periodic_locate().
Maybe a better approach is possible.
2016-01-17 20:03:16 +01:00
Aymeric PELLE fa3b82f8b8 Fix P3T3::periodic_insert.
If a point must be hidden in the triangulation, get_location_offset()
can't find a valid offset and fails with an assert.
So, it is ok for P3RT3 that get_location_offset() doesn't find an offset
at this step of the insertion.
2016-01-17 20:03:16 +01:00
Aymeric PELLE 14700eea3b Fix P3T3::delete_vertex().
The virtual_vextices_reverse of a vertex can only be deleted after deleting
all copies before.
2016-01-17 20:03:16 +01:00
Aymeric PELLE 5a06cb69ab Improve P3T3::is_valid().
We test the validity of the virtual_vertices and virtual_vertices_reverse
in P3T3::is_valid.
2016-01-17 20:03:15 +01:00
Aymeric PELLE c4e6462dd8 Fix deletion of vertex in P3RT3::Point_hider.
The vertex was deleted in the tds, but it was still referenced in
some attributes of P3T3 (virtual_vertices and virtual_vertices_reverse).

Points are hidden in wrong cells. Work on this bug has begun.
2016-01-17 20:03:15 +01:00
Monique Teillaud 5e07e7ea06 bug fix _side_of_power_sphere : degenerate cases, 2 iterations are not enough for regular 2016-01-17 20:03:15 +01:00
Aymeric PELLE 02b76cc910 We use Base::Perturbation_order instead od a local functor. 2016-01-17 20:03:15 +01:00
Aymeric PELLE 4f66fa4c6e Fix typo. 2016-01-17 20:01:04 +01:00
Aymeric PELLE 8ab85640d3 Make sure periodic triangulation has 27 copies for the moment. 2016-01-17 20:01:04 +01:00
Aymeric PELLE 7a5c9db9b6 Change the sort functor in the member function _side_of_power_sphere.
Fix a constructor of the conflict tester.
Comment useless member functions int the conflict tester.
2016-01-17 20:01:04 +01:00
Aymeric PELLE 2002441c8e Add member functions is_valid() in Periodic_3_Regular_triangulation_3. 2016-01-17 20:01:03 +01:00
Aymeric PELLE 6c999f12d8 Disable 1-cover until Periodic_3_regular_triangulation_3 can exploit it. 2016-01-17 20:01:03 +01:00
Aymeric PELLE 300d15a018 Add remove member function in Periodic_3_regular_triangulation_3. 2016-01-17 20:01:03 +01:00
Aymeric PELLE 4002d187e3 Add a remove traits class for periodic regular triangulations. 2016-01-17 20:01:03 +01:00
Aymeric PELLE 8d9c26d3a8 Fix iteration in Point_hider. 2016-01-17 20:01:02 +01:00
Aymeric PELLE 9e2174beef Add two insert() member functions in Periodic_3_regular_triangulation_3. 2016-01-17 20:01:02 +01:00
Aymeric PELLE 4c754a84b5 Define the Point_hidder in Periodic_3_regular_triangulation_3.
The member functions hide(), do_hide(), replace_vertex<T>(),
hide_points<T>() are useful?
2016-01-17 20:01:02 +01:00
Aymeric PELLE f9cb2c398d Define the Conflit_tester in Periodic_3_regular_triangulation_3. 2016-01-17 20:01:02 +01:00
Aymeric PELLE d839b406c5 Add tests for periodic regular triangulation traits with EPICK and EPECK. 2016-01-17 20:01:02 +01:00
Aymeric PELLE 63952162d3 Periodic_3_Regular_triangulation_traits_3 is done.
Regular_traits_with_offsets_adaptor was created for compatibility with
less_power_distance() method. Construct_circumcenter is defined to be
compatible with Periodic_3_triangulation_3.
2016-01-17 20:01:02 +01:00
Aymeric PELLE ed2f133355 Fix : Some functors of the regular traits were bad constructed.
The _domain wasn't passed to the constructor.
2016-01-17 20:01:01 +01:00
Aymeric PELLE 6069b84162 Traits_with_offsets_adaptor is moved into Traits_with_offsets_adaptor.h. 2016-01-17 20:01:01 +01:00
Aymeric PELLE 8d8f1f04b5 The Periodic_3_Regular_triangulation_traits_3 partial done.
The template specializations aren't handled (Filters, ...).
Traits_with_offsets_adaptor has been modified to work with regular traits.
2016-01-17 20:01:01 +01:00
Aymeric PELLE 14ddd81d44 Creation of the file Periodic_3_Regular_triangulation.h. 2016-01-17 20:01:01 +01:00
Laurent Rineau 8c9b4975bc Fix a typedef 2015-08-18 18:46:51 +02:00
Laurent Rineau de7db3ca68 Merge pull request #111 from aympelle/Periodic_3_Delaunay_triangulation_traits_3-APelle
- Rename `Periodic_3_triangulation_traits_3` to `Periodic_3_Delaunay_triangulation_traits_3`.
- Rename the concept `Periodic_3TriangulationTraits_3` to `Periodic_3DelaunayTriangulationTraits_3`.
- Create `Periodic_3_triangulation_traits_3`.
- Create the concept `Periodic_3TriangulationTraits_3`.

https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/rename_p3tt3_p3dtt3
2015-06-17 09:59:33 +02:00
Aymeric PELLE dab94dbcb5 Complete copyright years. 2015-06-10 14:11:47 +02:00
Aymeric PELLE 7be51168fd Fix copyright years. 2015-06-10 00:44:56 +02:00
Aymeric PELLE 72c30d6eef Add copyright info. 2015-06-09 18:44:15 +02:00
Aymeric PELLE 6e3e79977b Include P3TT3.h after declaring Filtered_periodic_predicate. 2015-06-08 17:30:30 +02:00
Aymeric PELLE 2abe69b7c0 Fix : add an include for removing an error on Windows. 2015-06-01 20:20:50 +02:00
Aymeric PELLE b4133b40ca P3DTT_base_3 inherites from P3TT_base_3 now.
Fix : P3TT_base_3 did have Delaunay functions.
CGAL_DEPRECATED is used on P3TT3.
2015-05-29 20:02:00 +02:00
Andreas Fabri 1631be5368 Merge branch 'Periodic_3-split_test_for_MSVC-GF'
Approved by the release manager
2015-01-15 12:40:36 +01:00
Andreas Fabri af09f13a81 do not test Lazy_exact_nt<Expr> 2015-01-12 12:28:07 +01:00
Aymeric PELLE f511291e38 Trivial warning fix : Fix Missing statement in P3T3::point(Cell_handle, int). 2015-01-12 11:56:38 +01:00
Andreas Fabri c42e1c8744 derecursify operator== 2015-01-09 16:15:35 +01:00
Aymeric PELLE 6d972f52ec Small changes in Periodic_3_Delaunay_triangulation_statically_filtered_traits_3.
Periodic_3_Delaunay_triangulation_statically_filtered_traits_3 inherits from
Periodic_3_triangulation_statically_filtered_traits_3 now.
2014-12-04 09:21:49 +01:00
Aymeric PELLE 5f1c440a2e Remove predicates unused by Periodic_3_triangulation_traits_3. 2014-12-03 19:10:32 +01:00
Aymeric PELLE 9519952035 Create Periodic_3_triangulation_traits_3.
Add class Periodic_3_triangulation_traits_3.
Add class Periodic_3_triangulation_filtered__traits_3.
Put Traits_with_offsets_adaptor in a separate header.
Put Periodic_3_construct_point_3 in a separate header.
Update tests.
2014-12-03 18:11:15 +01:00
Aymeric PELLE bc8853e6e5 Rename Periodic_3_triangulation_filtered_traits_3 Periodic_3_Delaunay_triangulation_filtered_traits_3.
The class Periodic_3_triangulation_filtered_traits_3 is renamed.
The class Periodic_3_triangulation_filtered_traits_base_3 is renamed.
New header file.
Periodic_3_triangulation_filtered_traits_base_3 is set deprecated.
2014-11-27 15:56:46 +01:00
Aymeric PELLE caa3164db5 Rename Periodic_3_triangulation_traits_3 Periodic_3_Delaunay_triangulation_traits_3.
Classes Periodic_3_triangulation_traits_3 and
Periodic_3_triangulation_traits_base_3 are renamed.
Tests, examples, ... are updated.
Doc is updated.
Periodic_3_triangulation_traits_3.h is set deprecated.
2014-11-26 18:23:21 +01:00
Aymeric PELLE 4910a198f2 periodic_inexact_locate stops also if the max num of turns is reached. 2014-04-15 15:11:07 +02:00
Aymeric PELLE 7259c76434 Fix warning : Some variables weren't unused in inexact_periodic_locate. 2014-04-09 17:01:49 +02:00
Aymeric PELLE c05c4c56f1 Fix bug in inexact_orientation.
We use construction_point() instead of doing a fail addition between
point and offset.
2014-04-07 10:11:36 +02:00
Aymeric PELLE acbeac0983 In p3T3, inexact_locate() is added. 2014-03-11 18:57:52 +01:00
Aymeric PELLE 2175dd4237 In P3T3, inexact_periodic_locate is done.
inexact_locate() have to be done now.
2014-03-11 18:46:06 +01:00
Aymeric PELLE bec402f3c3 The inexact_locate architecture is applied on periodic_locate function instead. 2014-03-11 17:24:37 +01:00
Aymeric PELLE bf2a73f220 Add inexact_locate() in P3T3. But, it does nothing for the moment. 2014-03-11 16:31:58 +01:00
Andreas Fabri 6c547e5663 Mainly added includes 2013-09-13 22:24:30 +02:00
Sébastien Loriot e3af5e6443 typo 2013-07-26 09:20:27 +02:00
Sébastien Loriot a59bc5edd5 Finish Philipp's patch on initializing arrays. 2013-07-25 07:53:57 +02:00
Nico Kruithof 0889773189 * Changed template parameter Predicate_ to Functor_ (for the traits classes of P2T2 and P3T3)
* Added side_of_bounded_circle to the predicates in the 2D traits classes
2013-07-15 13:06:45 +02:00
Sébastien Loriot 7baa997ce1 Merge branch 'Filtered_kernel-ring-glisse'
This branch adds an additional way to filter predicates that are only doing
operations using a ring number type. In case of failure, a RT is used rather
than an FT which speeds things up.

Successfully tested in CGAL-4.3Ic-37
2013-05-23 11:15:32 +02:00
Laurent Rineau d19578725b Fix warnings 2013-02-07 18:15:23 +01:00
Marc Glisse 571f370e28 Rename Exact_type_selector to Exact_field_selector. 2012-12-24 12:20:13 +01:00
Sébastien Loriot 0b4e9c67a4 inherits from Filtered_predicates rather than defining a completely new one
I just needed to added a constructor where the approximate predicates and exact
one needed to be provided (which is reasonable and cannot hurts thanks to the
explicit)
2012-12-21 11:09:39 +01:00
Philipp Möller 3e98c46535 Correct syntax for uniform initialization 2012-12-12 11:24:34 +01:00
Philipp Möller ae1b135c54 Replace usage of CGAL_CFG_ARRAY_MEMBER_INITIALIZATION_BUG 2012-12-11 17:46:14 +01:00
Philipp Möller 79b30908d5 WARNFIX: Silence a good part of unused variable/parameter warnings.
Wextra results in a dreadful wall of yellow in the test-suite and is
scary when using CGAL. Reduce some of the noise by silencing the
obvious cases with CGAL_USE or comments.
2012-08-07 11:04:32 +00:00
Laurent Rineau db194534c7 First big patch to fix -Wunused-local-typedefs
-Wunused-local-typedefs is a new warning flag of gcc-4.7, and it will enabled
 by -Wall since gcc-4.8 (not yet released).

The fix is a big set of removals of unused typedefs (or comments, or moves,
depending on the context).
2012-08-01 13:29:16 +00:00
Laurent Rineau 6a560629d2 Adapt Periodic_3 to the new API of TDS_3::print_cells. 2012-04-02 13:08:57 +00:00
Laurent Rineau 76c157041f Remove warnings about unused variables 2012-01-31 15:27:50 +00:00
Laurent Rineau 569a0e174e Add explicit casts
This seems required. At least the Intel Compiler version 12 gives a set of errors
(not even warnings!). Here is one of them:

/home/lrineau/CGAL/CGAL-4.0-Ic-248/include/CGAL/Periodic_3_triangulation_ds_cell_base_3.h:192:29: error: non-constant-expression cannot be narrowed from type 'int' to 'unsigned int' in initializer list
    unsigned int off0[3] = {(o0>>2)&1,(o0>>1)&1,(o0&1)};
                            ^~~~~~~~~
/home/lrineau/CGAL/CGAL-4.0-Ic-248/include/CGAL/Periodic_3_triangulation_ds_cell_base_3.h:192:29: note: override this message by inserting an explicit cast
    unsigned int off0[3] = {(o0>>2)&1,(o0>>1)&1,(o0&1)};
                            ^~~~~~~~~
                            static_ca)t<unsigned int>(
2012-01-19 11:33:04 +00:00
Andreas Fabri 5e3416b4e8 Fix for Windows 'min/max' bug 2012-01-18 10:57:34 +00:00
Andreas Fabri bcb3936fa7 Fix for Windows 'min/max' bug 2012-01-18 09:56:05 +00:00
Laurent Rineau 8f59fd9592 Turn QPL into LGPLv3+ 2012-01-13 16:33:35 +00:00
Sébastien Loriot 6e897fafb6 bug-fix: typo 2011-04-26 17:01:34 +00:00
Sébastien Loriot a2cec87f46 replace remaing fabs in include files by CGAL::abs 2011-02-18 15:37:40 +00:00
Andreas Fabri 4070f44d62 Use CGAL::abs instead of fabs 2011-02-16 16:37:23 +00:00
Manuel Caroli f1059c785c remove deprecated functions as was done for the non-periodic case
to avoid warning with clang
2010-11-17 13:30:08 +00:00
Manuel Caroli 27f838fb7e remove unused variables 2010-11-12 17:03:19 +00:00
Andreas Fabri c2ca884e0a Remove unused variable 2010-11-12 08:39:33 +00:00
Laurent Rineau 3e7b862d7d Follow-up to my previous commit: Periodic_3_triangulation_filtered_traits_3
needs a default value for its second template argument "Off".
2010-09-15 21:08:15 +00:00
Laurent Rineau a448af53f7 Revert the following revision, which was the wrong way to "fix" the issue:
| ------------------------------------------------------------------------
  | r58079 | mcaroli | 2010-08-15 20:28:30 +0200 (Sun, 15 Aug 2010) | 2 lines
  | Changed paths:
  |    M /trunk/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_traits_3.h
  | 
  | minor fix
  | 
  | ------------------------------------------------------------------------

The issue is that Periodic_3_triangulation_traits_3<K> needs to be
specialized for Filtered_kernel, but
CGAL::Exact_predicates_inexact_constructions_kernel is no longer a typedef
for Filtered_kernel<Simple_cartesian<double> >:  it is now a class
CGAL::Epick, equivalent to Filtered_kernel<...>.

The solution is to partially specialize
Periodic_3_triangulation_traits_3<K> for CGAL::Epick too. But, for that, I
needed to make Periodic_3_triangulation_filtered_traits_base_3 have a
second template parameter Offset, like Periodic_3_triangulation_traits_3<K>
(Offset has a default value), to avoid an instantiation loop.

The revision 58079 above was just a patch that showed that
Periodic_3_triangulation_filtered_traits_base_3 was no longer used with the
EPIC kernel.
2010-09-15 16:36:27 +00:00
Manuel Caroli cafa29bd6e minor fix 2010-08-15 18:28:30 +00:00
Laurent Rineau 210578c95a Fix compilation with -DCGAL_CFG_MATCHING_BUG_6 2010-08-13 16:07:57 +00:00
Andreas Fabri f30692b048 int size_t 2010-06-24 16:24:54 +00:00
Sébastien Loriot 52317dd49f add python script (replace_CGAL_NAMESPACE.py) to replace CGAL_BEGIN_NAMESPACE and CGAL_END_NAMESPACE
by namespace CGAL { and } //namespace CGAL. in all .h and .cpp files
in a directory.
Apply it to all packages in the trunk
Remove macro definition from the config.h file.
2010-06-09 07:37:13 +00:00
Laurent Rineau 67928706cf C++ conformance: calls to member templates of dependent names must be
qualified with the "template" keyword.

Example:
  template <typenam T>
  void f(T foobar) {
    foobar.get<0>().foobar(); // error
  }
must be written:

  foobar.template get<0>().foobar();
2010-05-16 16:50:24 +00:00
Manuel Caroli 258d98bfaf establish strict-ansi compliance 2010-05-13 15:33:16 +00:00
Sébastien Loriot e3c0dd54fb change private to protected (needed by 'using locate' in Alpha_shape_3 class) 2010-05-13 06:39:52 +00:00
Manuel Caroli 2154129b9c use NT_converter to test whether the given domain is a cube (precondition) 2010-05-10 21:42:48 +00:00
Manuel Caroli bf5e38abb8 fix errors in strict-ansi mode 2010-05-07 08:38:36 +00:00
Manuel Caroli 83e7ca6895 deactivate assertion that is not evaluated exactly 2010-05-06 16:52:46 +00:00
Manuel Caroli 62310ab94d change int to unsigned int to avoid compiler warning 2010-05-04 10:38:21 +00:00
Manuel Caroli 5b8efd2fdb bugfix in triangulation hierarchy: put the down pointers right if the triangulation
in the upper level is in 27-cover and the next lower one in 1-cover
2010-05-03 16:08:26 +00:00
Manuel Caroli 39b81098ac bugfix in management of the too long edges 2010-04-27 19:00:21 +00:00
Manuel Caroli 05319e6059 bugfix in is_Gabriel with tests 2010-04-22 17:09:21 +00:00
Manuel Caroli 3fb24464ea speed-up: Use kernel instead of periodic traits for spatial sorting 2010-04-15 17:27:24 +00:00
Manuel Caroli b0b46225a2 change find_conflicts from recursive to using a stack (as in Triangulation_3) 2010-04-14 18:18:23 +00:00
Mikhail Bogdanov cf8684a394 class Conflict_tester: private -> protected 2010-04-14 16:20:51 +00:00
Mikhail Bogdanov 9dd237f1af Adjusted a piece of code. It deals with the previous commit 2010-04-13 13:26:29 +00:00
Mikhail Bogdanov c53fa10c22 Modified get_location_offset. This function returns an offset for a point such that this point is in conflict with given cell. 2010-04-13 11:56:28 +00:00