Mael Rouxel-Labbé
5c9e18a2f6
Improved readability of Regular/Delaunay_triangulation_3
...
The quest continues
2017-11-01 15:09:18 +01:00
Mael Rouxel-Labbé
ac0a27cdfd
Made Mesh_3's optimizers work with periodic triangulations
2017-10-31 15:47:23 +01:00
Mael Rouxel-Labbé
1f4475d471
Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
2017-10-27 16:26:27 +02:00
Mael Rouxel-Labbé
7b379d4338
Temporarily moved code from RT3 to T3
2017-10-22 23:40:45 +02:00
Mael Rouxel-Labbé
aaeaf35380
Introduced the tag "Periodic_tag" to mark distinguish periodic triangulations
2017-08-23 16:18:05 +02:00
Mael Rouxel-Labbé
b8de2148b2
Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
2017-07-28 11:41:58 +02:00
Mael Rouxel-Labbé
a9be53be85
Fixed warnings
2017-07-27 12:15:52 +02:00
Mael Rouxel-Labbé
8c7bda5f2d
Changed from boost::function_property_map to CGAL::internal::boost_'s
...
This is so it's always available, even if using an old version of boost
2017-06-28 10:17:14 +02:00
Mael Rouxel-Labbé
ddfc4fc0fe
T2/T3 now use Perturbation_order in tests with symbolic perturbations
2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé
1fc2282350
Fixed regular triangulation capitalization across CGAL
2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé
d770640506
Fixed wrong template type (which induced taking references of references)
2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé
5990db5557
Removed an ugly static_cast
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
d0cf0fc86b
Misc minor changes
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
4b556707a4
Use boost::function_property_map to apply spatial_sort to weighted points
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
b0b1e5ceaf
Moved facet dual computation functions from Mesh_3 to Regular_triangulation_3
...
... and improved them and gave them more overloads
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
aab0bca377
Avoid copies by using result_of in boost::bind() return type
...
Copies were previously done on purpose to go around the Lazy kernel, but this
can be done without copies (for all kernels) by using result_of.
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
a98d78cffb
Removed useless include
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
1dff564d40
Reorganized Regular_triangulation_3 dual functions
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
34c2032edc
Copy boost::bind return object
...
The lazy kernel returns temporaries and gives garbage to compare_xyz_3...
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
2653ebe612
Renamed Regular_triangulation base typedef (Base > Tr_Base)
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
e59e8c2aa0
Removed useless construct_point_3
...
Construct_weighted_circumcenter_3 already returns a Bare_point
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
0f8f34c9d4
Fixed compilation of add_temporary_points_on_far_sphere()
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
94abc23da9
Adapted the call to spatial_sort() to handle weighted points
...
Downside: we copy points at each comparison, which is terrible! No noticeable
changes when profiling the construction of a triangulation.
We need this copy because of Lazy kernel: despite construct_point_3 having
const Point_3& construct_point_3_object()(const Point_3&)
the Lazy kernel can return some copies.
Other solutions that were not used:
-- Distinguish the Ouput type of Unary_function_to_property map depending on
the type of Kernel (ugly and not safe)
-- Use Weighted_point_mappers traits (but that blood will not be on my hands)
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
91ea1b4049
Adapted sorting algorithms based on compare_xyz to handle weighted point vectors
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
12fb8d35fc
Construct_plane() must use bare points arguments
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
de76ccf545
Removed Weighted_point_mapper_3 and RegTraits_3 shenanigans
...
There is no need anymore for sneaky traits adaptors to make Triangulation_3
a compatible base of Regular_triangulation_3:
- The Point type in Triangulation_3 is obtained through TDS::Vertex::Point (see
commit 13d5e89 )
- Triangulation_3 always ensures that we are passing bare points to the kernel
functors that require bare point arguments (see commit db5da73 )
This greatly clarifies the code of Regular_triangulation_3: there is only a
single traits type, a single base type, etc.
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
d668d42f44
Do not provide Bare_point overloads in Regular_triangulation
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
f0d3e77558
Fixed usage of Bare point and Weighted point across Triangulation_3
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
e1dcdcaf4d
Cleaned #if 0 code
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
78a4a12b0c
Fixed hide_point()
...
Hide weighted points since they can be re-inserted afterwards
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
d884edd84a
Fixed initialization order warning
2017-06-28 10:14:35 +02:00
Andreas Fabri
780e01dc90
WIP: test_meshing_polyhedron_with_features compiles and crashes in odt
2017-06-28 10:14:35 +02:00
Andreas Fabri
bb213d5ad1
Changes after making Weighted_point_3(const Point_3) explicit
2017-06-28 10:14:35 +02:00
Andreas Fabri
787d46ffb8
Disable Point_3(const Weighted_point_3&)
2017-06-28 10:14:35 +02:00
Andreas Fabri
2f895335d0
The Weighted_point_mapper becomes a traits class; test_regular_3.cpp passes
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
1761ec3294
Mesh_3 criteria is_bad() now additionally takes the triangulation as parameter
...
Instead of calling Criteria(element), one must now call Criteria(tr, element).
The idea is that the triangulation should be responsible of geometric data
while elements only handle connectivity (using ids for example).
This is already the case for Periodic_3_mesh_3 which must obtain
"true" geometric information through the (periodic) triangulation class's
methods.
These changes are transparent for Mesh_3 but allow Periodic_3_mesh_3 to use
Mesh_3's criteria.
2017-06-19 15:15:20 +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é
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é
9872edfe93
Fixed wrong template type (which induced taking references of references)
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé
bbccf42ef9
Removed an ugly static_cast
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé
40566671c7
Misc minor changes
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé
0d352759e6
Use boost::function_property_map to apply spatial_sort to weighted points
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé
a4503e7edc
Moved facet dual computation functions from Mesh_3 to Regular_triangulation_3
...
... and improved them and gave them more overloads
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé
02732237aa
Avoid copies by using result_of in boost::bind() return type
...
Copies were previously done on purpose to go around the Lazy kernel, but this
can be done without copies (for all kernels) by using result_of.
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé
411fbe4ea0
Removed useless include
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé
c0e71d3fae
Reorganized Regular_triangulation_3 dual functions
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé
1ef25bdfcf
Copy boost::bind return object
...
The lazy kernel returns temporaries and gives garbage to compare_xyz_3...
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé
2644989471
Renamed Regular_triangulation base typedef (Base > Tr_Base)
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé
d5c54f68b7
Removed useless construct_point_3
...
Construct_weighted_circumcenter_3 already returns a Bare_point
2017-06-15 10:34:15 +02:00