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
Mael Rouxel-Labbé
49625a6093
Fixed compilation of add_temporary_points_on_far_sphere()
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé
15f2e6d7a7
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-15 10:34:15 +02:00
Mael Rouxel-Labbé
196afa074b
Adapted sorting algorithms based on compare_xyz to handle weighted point vectors
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé
713eccb729
Construct_plane() must use bare points arguments
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé
70d7823c6b
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-15 10:34:15 +02:00
Mael Rouxel-Labbé
fb8c22c3a1
Do not provide Bare_point overloads in Regular_triangulation
2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé
73b572a7f0
Fixed usage of Bare point and Weighted point across Triangulation_3
2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé
2e379fb032
Cleaned #if 0 code
2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé
c2ad237670
Fixed hide_point()
...
Hide weighted points since they can be re-inserted afterwards
2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé
65a2c08d2d
Fixed initialization order warning
2017-06-15 10:32:03 +02:00
Andreas Fabri
58c8d7cb1a
WIP: test_meshing_polyhedron_with_features compiles and crashes in odt
2017-06-15 10:29:26 +02:00
Andreas Fabri
6a1b4c154b
Changes after making Weighted_point_3(const Point_3) explicit
2017-06-15 10:29:26 +02:00
Andreas Fabri
80224bf2c8
Disable Point_3(const Weighted_point_3&)
2017-06-15 10:29:26 +02:00
Andreas Fabri
64e5c887ec
The Weighted_point_mapper becomes a traits class; test_regular_3.cpp passes
2017-06-15 10:29:26 +02:00
Mael Rouxel-Labbé
dca4a3ff32
Hid main encroachment code in P3_mesh_triangulation_3
...
End goal is to hide periodic details in P3MT3 so that the criteria of Mesh_3
can be fully used without change in P3M3
2017-06-13 17:53:31 +02:00
Mael Rouxel-Labbé
dbc98ac410
Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle
...
Using afabri/Kernel_Weighted_point_without_conversion-GF
@ 5c2a089e3e
2017-05-16 17:48:07 +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é
9f865e87bb
Fixed wrong template type (which induced taking references of references)
2017-05-12 12:21:39 +02:00
Mael Rouxel-Labbé
97b789a741
Merge branch 'Kernel_Weighted_point_without_conversion-GF-old' into Kernel_Weighted_point_without_conversion-GF
2017-05-10 12:32:46 +02:00
Mael Rouxel-Labbé
be441f8dd1
Removed an ugly static_cast
2017-05-01 16:15:40 +02:00
Mael Rouxel-Labbé
169d0be212
Misc minor changes
2017-05-01 16:15:31 +02:00
Mael Rouxel-Labbé
d6576d1857
Use boost::function_property_map to apply spatial_sort to weighted points
2017-05-01 16:14:57 +02:00
Mael Rouxel-Labbé
6610dc7116
Moved facet dual computation functions from Mesh_3 to Regular_triangulation_3
...
... and improved them and gave them more overloads
2017-04-28 17:51:22 +02:00
Mael Rouxel-Labbé
5e9bad8e5d
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-04-28 17:30:37 +02:00
Mael Rouxel-Labbé
2e78fee32e
Removed useless include
2017-04-28 17:24:44 +02:00
Mael Rouxel-Labbé
31f82720e8
Reorganized Regular_triangulation_3 dual functions
2017-04-28 15:00:29 +02:00
Mael Rouxel-Labbé
fe3c728a42
Copy boost::bind return object
...
The lazy kernel returns temporaries and gives garbage to compare_xyz_3...
2017-04-28 14:38:27 +02:00
Mael Rouxel-Labbé
88f97d2974
Renamed Regular_triangulation base typedef (Base > Tr_Base)
2017-04-27 16:31:35 +02:00
Mael Rouxel-Labbé
3681ec4460
Removed useless construct_point_3
...
Construct_weighted_circumcenter_3 already returns a Bare_point
2017-04-27 16:13:48 +02:00
Mael Rouxel-Labbé
863a223860
Fixed compilation of add_temporary_points_on_far_sphere()
2017-04-27 14:01:58 +02:00
Mael Rouxel-Labbé
2a06660a2b
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-04-27 13:56:01 +02:00
Mael Rouxel-Labbé
9651371c6f
Adapted sorting algorithms based on compare_xyz to handle weighted point vectors
2017-04-27 13:52:20 +02:00
Mael Rouxel-Labbé
7108383498
Construct_plane() must use bare points arguments
2017-04-27 12:03:47 +02:00
Mael Rouxel-Labbé
450c78e814
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-04-27 08:44:32 +02:00
Mael Rouxel-Labbé
f1c1cd26c4
Do not provide Bare_point overloads in Regular_triangulation
2017-04-14 16:49:50 +02:00
Mael Rouxel-Labbé
5856c7de2b
Fixed usage of Bare point and Weighted point across Triangulation_3
2017-04-14 16:48:31 +02:00
Mael Rouxel-Labbé
2b8684c874
Cleaned #if 0 code
2017-04-12 15:06:03 +02:00
Mael Rouxel-Labbé
2c79d6e939
Fixed hide_point()
...
Hide weighted points since they can be re-inserted afterwards
2017-04-11 17:04:34 +02:00
Mael Rouxel-Labbé
77c83642f2
Fixed initialization order warning
2017-04-11 17:04:03 +02:00
Andreas Fabri
8cbbe0e165
Remove dependencies of Triangulation_3 on Triangulation_2
2017-04-06 11:08:37 +02:00
Andreas Fabri
741838b9c4
WIP: test_meshing_polyhedron_with_features compiles and crashes in odt
2017-03-02 15:51:41 +01:00
Andreas Fabri
30b7f131d7
Changes after making Weighted_point_3(const Point_3) explicit
2017-02-17 16:38:39 +01:00
Andreas Fabri
4922f9e86d
Disable Point_3(const Weighted_point_3&)
2017-02-15 14:33:31 +01:00
Andreas Fabri
2fab595c19
The Weighted_point_mapper becomes a traits class; test_regular_3.cpp passes
2017-02-08 16:24:14 +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
Andreas Fabri
2a27d4ff38
Fix the Vertex_remover
2016-11-22 16:03:13 +01:00
Andreas Fabri
b978fa8fdd
Fix the typedef for the Bare_point
2016-11-21 15:49:43 +01:00
Andreas Fabri
d35c6c913d
Use Weighted_point_mapper_3
2016-11-21 15:33:27 +01:00
Andreas Fabri
4ab59919e6
Use Regular_triangulation_vertex_base_3
2016-11-20 19:06:08 +01:00
Andreas Fabri
310845f01e
Add class Regular_triangulation_vertex_base_3
2016-11-19 11:07:52 +01:00
Laurent Rineau
57f0b33eb6
Fix Alpha_shapes_3
...
Alpha_shapes_3 needs to know a lot about its template parameter `Dt`. To
simplify the code, I have chosen to make the typedef `Tr_Base` public in
3D Delaunay and Regular triangulations.
2016-11-18 17:36:50 +01:00
Jane Tournois
3b5e069325
add constructors to Regular_triangulation_euclidean_traits_3,
...
and fix constructors from Regular_triangulation_3
Revert "introduce Has_nested_type_Bare_point to keep backward compatible"
This reverts part of the commit 98b43b1a49fb2dfb3baee0a532bf5d097f2f4ebd.
2016-11-03 14:57:10 +01:00
Jane Tournois
0f569a8fd6
introduce Has_nested_type_Bare_point to keep backward compatible
...
it is needed when Regular_triangulation_euclidean_traits is used the first
template parameter for Regular_triangulation (both 2d and 3d)
2016-11-03 14:57:10 +01:00
Laurent Rineau
3353d4d64d
Kernel now refines RegularTriangulationTraits_3
...
ie all CGAL kernels are now models of `RegularTriangulationTraits_3`.
2016-11-03 14:55:39 +01:00
Jane Tournois
6af2db1b91
Use Power_side_of_bounded_power_sphere instead of Side_of_bounded_orthogonal_sphere
...
both functors made the same computation, up the sign of the result.
The return type now is CGAL::Bounded_side, which makes things easier
to understand and use
2016-11-03 14:55:39 +01:00
Andreas Fabri
ad9d2c369c
Rename tests following Olivier's recommendations
2016-11-03 14:53:54 +01:00
Jane Tournois
4bcd272a99
compute dual only after infinity test has been performed
2016-11-03 13:10:27 +01:00
Andreas Fabri
9e94ee6178
Change the Power_test
2016-11-03 13:07:17 +01:00
Andreas Fabri
ea6e48e1e4
Don't use the internal traits adapter
2016-11-03 13:07:17 +01:00
Andreas Fabri
5edd015669
Use Weighted_point_triangulation_traits_3
2016-11-03 13:06:42 +01:00
Andreas Fabri
6a8f77c5ff
Added CGAL::Weighted_point_3<K> and the predicates and constructions of the Regular Traits to the kernel
...
- The Regular 3 testsuite passes
- only 3D
- not documented
2016-11-03 13:04:43 +01:00