Mael Rouxel-Labbé
64f9045991
Removed useless include
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé
67d0dd4b5a
Reorganized Regular_triangulation_3 dual functions
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé
084225735f
Copy boost::bind return object
...
The lazy kernel returns temporaries and gives garbage to compare_xyz_3...
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé
a19ab8e500
Renamed Regular_triangulation base typedef (Base > Tr_Base)
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé
b18b6c1f3e
Removed useless construct_point_3
...
Construct_weighted_circumcenter_3 already returns a Bare_point
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé
5a388d85ac
Comparison result should be of type Comparison_result
...
(it worked anyway since Comparison_result is a Sign internally)
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé
19c1d509e0
Fixed compilation of add_temporary_points_on_far_sphere()
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé
81d3fae011
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-05-22 11:27:02 +02:00
Mael Rouxel-Labbé
aa03fdc65e
Adapted sorting algorithms based on compare_xyz to handle weighted point vectors
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé
f3c53cc53f
Construct_plane() must use bare points arguments
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé
5d1b88bc7c
Removed hiding-related functions from Triangulation_cell_base_3
...
Triangulation_cell_base_3 cannot be used anymore as a cell base of a regular
triangulation and thus there is no point keeping these functions.
People wishing to disable caching of hidden points in regular triangulations
should use the new policy, see commit b92528171c )
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé
5872c22be3
Added a template parameter to Regular_tr_cell_base on hidden points handling
...
Before WP<->P implicit conversion changes, one could choose to not keep hidden
points by using `Triangulation_cell_base_3` as cell base instead of
`Regular_triangulation_cell_base_3`. This is not possible anymore as point types
will conflict.
This changes introduces a new template parameter to pass a policy on whether
to keep or discard hidden points.
It is a breaking change since it is placed before the container template
parameter, but it makes more sense that way and the container type template
was not documented.
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé
320673924a
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-05-22 11:27:02 +02:00
Mael Rouxel-Labbé
ccb2b32616
Ensured that we call kernel functions with the correct (bare) point type
...
Note that if the type `Point` is already `Point_3`, Construct_point_3 does not
do anything (except in the lazy kernel, but in that case, the running time is
horrible anyway).
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé
1a693a0e89
Deduce Triangulation_3's point type from the TDS
...
Since we have a distinc vertex_base for regular triangulations and that this
regular vertex base defines a type Point, it is redundant to get the Point
type from the Geom_traits.
This also allows to remove the Weighted_point_mapper trick, and pass more easily
custom point types.
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé
84d7f97975
Fixed Regular_traits_adaptor
...
The functor members cannot be references because the Regular_triangulation
might be templated by a traits class that is not simply a Kernel (that is
the case in the package Interpolation).
When that is the case, calling this->K::function_object() might be a call
to a constructor in the base traits class. Thus, the functor members
of Reg_traits_adaptors get initialized to temporaries, which is problematic
because these temporaries are at a much lower scope and thus are quickly
cleaned, leaving us with references to nothing in Reg_traits_adaptor.
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé
729c054871
Do not provide Bare_point overloads in Regular_triangulation
2017-05-22 11:20:45 +02:00
Mael Rouxel-Labbé
5833272bd0
Fixed usage of Bare point and Weighted point across Triangulation_3
2017-05-22 11:20:45 +02:00
Mael Rouxel-Labbé
e041870954
Trimmed Regular triangulation euclidean traits
...
-- Code added as consequence of disabling implicit conversion between points and
weighted points implies that defining
typedef weighted_point point;
creates ambiguous functors.
This typedef is nevertheless still used, in Weighted_point_mappers.
-- The traits are not supposed to define Bare_point
2017-05-22 11:20:45 +02:00
Mael Rouxel-Labbé
4f81c8c794
Added CGAL_NO_DEPRECATED_CODE macros to Regular_triangulation_euclidean_traits
2017-05-22 11:20:45 +02:00
Mael Rouxel-Labbé
ea14f683d7
Cleaned #if 0 code
2017-05-22 11:20:45 +02:00
Mael Rouxel-Labbé
62b90dd86b
Fixed hide_point()
...
Hide weighted points since they can be re-inserted afterwards
2017-05-22 11:20:45 +02:00
Mael Rouxel-Labbé
83ab007236
Fixed initialization order warning
2017-05-22 11:20:45 +02:00
Sébastien Loriot
51bc69cca3
version without partial specialization
...
the norms says that partial specialization should be
done in a namespace (not inside a class)
2017-05-22 11:20:45 +02:00
Jane Tournois
a4ee219f99
remove hybrid operators, that use Bare points and Weighted points in an ambiguous manner
...
this commit only fixes the testsuite of Mesh_3
2017-05-22 11:20:45 +02:00
Andreas Fabri
81ae80c465
WIP: test_meshing_polyhedron_with_features compiles and crashes in odt
2017-05-22 11:20:45 +02:00
Andreas Fabri
c6f741c379
Changes after making Weighted_point_3(const Point_3) explicit
2017-05-22 11:20:45 +02:00
Andreas Fabri
57e6083b29
Disable Point_3(const Weighted_point_3&)
2017-05-22 11:20:45 +02:00
Andreas Fabri
ea5f9934e2
The Weighted_point_mapper becomes a traits class; test_regular_3.cpp passes
2017-05-22 11:20:45 +02:00
Mael Rouxel-Labbé
aaed0f6737
Fixed using default templated member functions
2017-05-16 17:49:32 +02:00
Mael Rouxel-Labbé
91c35808f9
Fixed using default templated member functions
2017-05-16 17:49:32 +02:00
Mael Rouxel-Labbé
f45c008721
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é
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
Andreas Fabri
40d6a3e68a
Change comment to avoid warning
2017-05-16 10:17:41 +02:00
Mael Rouxel-Labbé
266775bafa
Silenced depreciation warnings from Regular_triangulation_euclidean_traits_23
2017-05-16 10:17:41 +02:00
Mael Rouxel-Labbé
cd2a562ffa
Fixed improper guards against the inclusion of deprecated headers
2017-05-16 10:17:41 +02:00
Mael Rouxel-Labbé
c353f0f49c
Added CGAL_NO_DEPRECATED_CODE macros to Regular_triangulation_euclidean_traits
2017-05-16 10:17:41 +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é
5c2a089e3e
Fixed boost/core/is_same.hpp > boost/type_traits/is_same.hpp
2017-05-13 22:21:59 +02:00
Mael Rouxel-Labbé
01b2d61493
(Re)-added the unhide_point() function that is required for P3T3
2017-05-12 17:08:36 +02:00
Mael Rouxel-Labbé
23bd6c65ea
(Re)-added the unhide_point() function that is required for P3T3
2017-05-12 17:08:36 +02:00
Mael Rouxel-Labbé
2f0f955a59
Merge branch 'Kernel_Weighted_point_without_conversion-GF' of github.com:afabri/cgal into Kernel_Weighted_point_without_conversion-GF
2017-05-12 13:12:47 +02:00
Jane Tournois
6ed6af00a0
really use the GT given as a parameter
...
When the geom_traits given as parameter of `circumcenter` and/or
`weighted_circumcenter` was deriving from the cell base GT
(first template parameter), the gt was up-casted to the
cell base GT, and the function construct_circumcenter_3_object()
(or construct_weighted_circumcenter_3_object()) not
called on the right geom traits type --> possibly missing
the actual input of the function (the robust_circumcenter_traits in Mesh_3)
we add a static assert to check at compile time that point types are the same
2017-05-12 13:07:00 +02:00
Mael Rouxel-Labbé
b88bee84b2
Fixed using default templated class functions
2017-05-12 12:23:49 +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é
bf425a46e6
Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle
...
Strongly breaks P3T3, will be fixed in the next commits
2017-05-11 17:45:15 +02:00
Mael Rouxel-Labbé
37fad1a242
Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle
...
Strongly breaks P3T3, will be fixed in the next commits
2017-05-11 17:45:15 +02:00
Mael Rouxel-Labbé
13d8a6879f
Changed boost/core/enable_if.hpp to boost/utility/enable_if.hpp
2017-05-11 14:25:18 +02:00
Mael Rouxel-Labbé
f2a308d9f1
Fixed regular cell bases so they actually model the concept
...
Also, they should not use Bare_point / Weighted_point types, which are defined
in the triangulation (much later during compilation).
2017-05-10 16:35:28 +02:00
Mael Rouxel-Labbé
46b489b2b5
Fixed Has_nested_type_Bare_point includes
2017-05-10 12:33:43 +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é
37d7d0ab2e
Removed obsolete file: Regular_traits_adaptor.h
2017-04-28 17:26:19 +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é
4c96e75a8d
Comparison result should be of type Comparison_result
...
(it worked anyway since Comparison_result is a Sign internally)
2017-04-27 14:23:41 +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é
d9666bd342
Removed hiding-related functions from Triangulation_cell_base_3
...
Triangulation_cell_base_3 cannot be used anymore as a cell base of a regular
triangulation and thus there is no point keeping these functions.
People wishing to disable caching of hidden points in regular triangulations
should use the new policy, see commit b92528171c )
2017-04-27 11:50:54 +02:00
Mael Rouxel-Labbé
b92528171c
Added a template parameter to Regular_tr_cell_base on hidden points handling
...
Before WP<->P implicit conversion changes, one could choose to not keep hidden
points by using `Triangulation_cell_base_3` as cell base instead of
`Regular_triangulation_cell_base_3`. This is not possible anymore as point types
will conflict.
This changes introduces a new template parameter to pass a policy on whether
to keep or discard hidden points.
It is a breaking change since it is placed before the container template
parameter, but it makes more sense that way and the container type template
was not documented.
2017-04-27 11:42:34 +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é
db5da73483
Ensured that we call kernel functions with the correct (bare) point type
...
Note that if the type `Point` is already `Point_3`, Construct_point_3 does not
do anything (except in the lazy kernel, but in that case, the running time is
horrible anyway).
2017-04-27 00:25:12 +02:00
Mael Rouxel-Labbé
13d5e895ac
Deduce Triangulation_3's point type from the TDS
...
Since we have a distinc vertex_base for regular triangulations and that this
regular vertex base defines a type Point, it is redundant to get the Point
type from the Geom_traits.
This also allows to remove the Weighted_point_mapper trick, and pass more easily
custom point types.
2017-04-27 00:21:47 +02:00
Mael Rouxel-Labbé
ac63b66286
Fixed Regular_traits_adaptor
...
The functor members cannot be references because the Regular_triangulation
might be templated by a traits class that is not simply a Kernel (that is
the case in the package Interpolation).
When that is the case, calling this->K::function_object() might be a call
to a constructor in the base traits class. Thus, the functor members
of Reg_traits_adaptors get initialized to temporaries, which is problematic
because these temporaries are at a much lower scope and thus are quickly
cleaned, leaving us with references to nothing in Reg_traits_adaptor.
2017-04-18 15:16:43 +02:00
Laurent Rineau
dce8bb77ba
Merge pull request #2053 from cjamin/Mesh_3-code_improvements-cjamin
...
Mesh_3: code improvements + bug fix
2017-04-14 18:32:05 +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é
3c9063cd88
Trimmed Regular triangulation euclidean traits
...
-- Code added as consequence of disabling implicit conversion between points and
weighted points implies that defining
typedef weighted_point point;
creates ambiguous functors.
This typedef is nevertheless still used, in Weighted_point_mappers.
-- The traits are not supposed to define Bare_point
2017-04-14 15:39:30 +02:00
Mael Rouxel-Labbé
863584e863
Added CGAL_NO_DEPRECATED_CODE macros to Regular_triangulation_euclidean_traits
2017-04-14 10:59:42 +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
Mael Rouxel-Labbé
2ee5b13e6f
Merge branch 'Kernel_Weighted_point_without_conversion-GF-old' into Kernel_Weighted_point_without_conversion-GF
...
Using Kernel-Fix_weighted_point-GF @ 8703f5c122
2017-04-11 17:01:25 +02:00
Laurent Rineau
93311493c4
Merge pull request #1998 from afabri/CGAL-test_license_check-GF
...
CGAL: Test the license check mechanism
2017-04-07 12:06:23 +02:00
Andreas Fabri
8cbbe0e165
Remove dependencies of Triangulation_3 on Triangulation_2
2017-04-06 11:08:37 +02:00
Mael Rouxel-Labbé
9a41173936
Added documentation for Robust_weighted_circumcenter_filtered_traits_3
2017-03-28 13:32:12 +02:00
Mael Rouxel-Labbé
b966dea483
Added documentation for Robust_weighted_circumcenter_filtered_traits_3
2017-03-28 13:32:12 +02:00
Clement Jamin
6ea82bbe2a
Unnecessary double "if" blocks
2017-03-09 17:46:46 +01:00
Sébastien Loriot
ac0dfe3465
version without partial specialization
...
the norms says that partial specialization should be
done in a namespace (not inside a class)
2017-03-06 12:10:24 +01:00
Jane Tournois
30fe153651
remove hybrid operators, that use Bare points and Weighted points in an ambiguous manner
...
this commit only fixes the testsuite of Mesh_3
2017-03-03 12:14:30 +01: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
Laurent Rineau
c55e391f97
WIP: works with one thread
2017-02-17 16:37:11 +01:00
Andreas Fabri
4922f9e86d
Disable Point_3(const Weighted_point_3&)
2017-02-15 14:33:31 +01:00
Mael Rouxel-Labbé
45241b92a2
Moved Robust weighted filtered circumcenter traits out of Mesh_3
...
Also, these traits do not derive from Regular_euclidean_traits anymore.
2017-02-13 18:13:19 +01:00
Mael Rouxel-Labbé
f63f0b801e
Moved Robust weighted filtered circumcenter traits out of Mesh_3
...
Also, these traits do not derive from Regular_euclidean_traits anymore.
2017-02-13 18:13:19 +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
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
fe5e925367
Merge pull request #1701 from afabri/Convex_hull_3-FaceGraph-GF
...
Convex_hull_3: Switch to FaceGraph
2016-12-30 15:14:34 +01:00
Laurent Rineau
bbf430b0b1
Merge pull request #585 from afabri/Kernel-Weighted_point-GF
...
Introduce Kernel::Weighted_point_3 together with functors
2016-12-20 19:52:02 +01:00
Andreas Fabri
9ee11501ac
Changes after the review by Sebastien
2016-11-30 10:03:00 +01:00
Guillaume Damiand
12328929b2
Update LCC tests: now they are done both for CMap and GMap.
2016-11-29 11:43:38 +01:00
Guillaume Damiand
2ab268965f
LCC for CMap and GMap; incremental builder; save and load; test.
2016-11-29 11:43:36 +01:00
Andreas Fabri
38f799e82b
star -> link
2016-11-26 10:49:02 +01:00
Andreas Fabri
683490b2aa
star -> link
2016-11-26 10:46:54 +01:00
Andreas Fabri
e5e0cdd5f9
fix a typedef
2016-11-22 17:48:53 +01:00
Andreas Fabri
2a27d4ff38
Fix the Vertex_remover
2016-11-22 16:03:13 +01:00
Andreas Fabri
e26e60dd6c
Add Default to Convex_hull_graph_traits_3; BGLize some code
2016-11-22 12:27:18 +01:00
Andreas Fabri
af1cc4058a
fixes
2016-11-21 18:39:05 +01:00
Andreas Fabri
4d4db0cd70
Move star_to_face_graph() to Triangulation_3
2016-11-21 17:51:41 +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
Andreas Fabri
64832a0d1d
Change template parameter: K -> K_ to help VC++
2016-11-19 08:22:30 +01:00
Laurent Rineau
2835e361c8
Fix the constructors of RT euclidian traits class
...
@janetournois @afabri
That commit will fix both runtime errors in Interpolation and
compilation errors in KDS:
- in Interpolation, the traits class carries a normal vector: it needs
to be passed to the RT traits class as well,
- Same in KDS: the compilation error was saying that the constructor
of RT_euclidian_traits_3 must initialize it base class.
2016-11-18 17:55:05 +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
306323d45c
make doc and doc consistent
...
- add "model of Concept" as much as possible in the modified classes/concepts
- fix some links
- update package description of Kernel_23
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
dbb2cc3598
Sign -> Bounded_side; typo in code
2016-11-03 14:53:54 +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
ea50fb811d
Cleanup. The 2D and 3D triangulation testsuite pass
2016-11-03 13:07:50 +01:00
Andreas Fabri
9e94ee6178
Change the Power_test
2016-11-03 13:07:17 +01:00
Andreas Fabri
1375cd5c0a
Rename Compute_critical_squared_radius_3 to Compute_power_distance_to_power_sphere_3
2016-11-03 13:07:17 +01:00
Andreas Fabri
34eb29cac5
Documentation
2016-11-03 13:07:17 +01:00
Andreas Fabri
871471b2d8
Remove Weighted_point_triangulation_traits_3
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
10d9d28d1b
Add Weighted_point_triangulation_traits_3
2016-11-03 13:06:02 +01:00
Andreas Fabri
2d15b06d5e
Remove #ifdef 0 from debugging
2016-11-03 13:06:02 +01:00
Andreas Fabri
42435c2d21
Simplify the use of static filters for Regular triangulations
2016-11-03 13:06:02 +01:00
Andreas Fabri
d0a7c9574c
Simplify the use of static filters for Regular triangulations
2016-11-03 13:06:02 +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
Guillaume Damiand
2fbce8a8db
Remove spaces.
2016-10-06 08:26:16 -04:00
Guillaume Damiand
7620635cfe
* Bugfix in correct_invalid_attributes in LCC
...
* Remove deprecated code in LCC (that should be removed for CGAL 4.9)
2016-10-06 08:19:04 -04:00
Laurent Rineau
3fac1b31f0
Fix typos (and compilation errors!)
2016-10-03 12:12:46 +02:00
Andreas Fabri
cf8c1a6cdf
Dispatch import functions to Polyhedron, T2, T3
2016-09-30 15:23:15 +02:00
Andreas Fabri
91c6426ae2
Move info_check from T3 to T2
2016-09-30 15:22:28 +02:00
Andreas Fabri
21ad968457
Fix package Triangulation_3: Add #include
2016-09-30 15:22:27 +02:00
Clement Jamin
fa6ecf39be
Merge branch 'Triangulation-add_regular_tri-cjamin_mglisse-old' into Triangulation-add_regular_tri-cjamin_mglisse
2016-09-09 12:55:43 +02:00
Sébastien Loriot
7f3772a50b
replace the usage of raw pointer as property map
...
It was deprecated in boost 1.55
http://www.boost.org/users/history/version_1_55_0.html
2016-07-13 13:53:00 +02:00
Clement Jamin
9487c71ad1
Merge branch 'Triangulation-add_regular_tri-cjamin_mglisse-old' into Triangulation-add_regular_tri-cjamin_mglisse
2016-05-18 19:41:22 +02:00
Laurent Rineau
1f5fb012ba
Merge pull request #1015 from afabri/Mesh_3-accelerations-GF
...
Accelerate vertex removal in a 3D triangulation and saving a mesh
2016-04-22 15:24:06 +02:00
Andreas Fabri
abd9bfb125
std::map -> boost::unordered_map
2016-04-15 20:54:51 +02:00
Laurent Rineau
535c5bb5b2
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-06 16:03:55 +02:00
Andreas Fabri
64644c8c49
Init the doubles to avoid a warning
2016-03-02 16:31:52 +01:00
Sébastien Loriot
5e57abdc50
Merge remote-tracking branch 'cgal/releases/CGAL-4.7-branch' into HEAD
2016-02-18 17:01:59 +01:00
Andreas Fabri
4c477c853c
Accelerete 3D version of inexact_locate as we do it for 2D
2016-02-15 10:57:59 +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
194dfbf38f
Fix P3RT3::Self : the typedef must provide K to P3RTT3, not RT<K>.
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
bad32a2446
Add P3RT3::insert(beginIt, endIt).
2016-01-17 20:03:20 +01:00
Clement Jamin
20dd524de8
Merge branch 'Triangulation-add_regular_tri-cjamin_mglisse-old' into Triangulation-add_regular_tri-cjamin_mglisse
2015-12-08 17:16:16 +01:00
Andreas Fabri
b623100175
split the dual() functions; make the power test check for the absence of weights
2015-12-08 11:27:14 +01:00
Sébastien Loriot
4318feeca0
remove deprecated class since CGAL 3.6
2015-11-24 01:15:21 +01:00
Clement Jamin
003b435a46
Merge branch 'Triangulation-add_regular_tri-cjamin_mglisse-old' into Triangulation-add_regular_tri-cjamin_mglisse
2015-11-20 11:53:44 +01:00
Clement Jamin
b6c1581456
Fix type
2015-10-28 11:06:46 +01:00
Clement Jamin
ebf4192456
Add missing copy constructor + improve code/formatting
2015-10-27 12:25:14 +01:00
Clement Jamin
6fc4dd7dd3
Enable parallel insertion of points with info
...
There was a bug preventing the parallelism to be activated when
using points with info
2015-10-27 12:17:58 +01:00
Sebastien Loriot
37ff880fb8
Merge pull request #58 from dfunke/ParallelInsertionWithInfo
...
Enable parallel insertion of points with info
2015-10-22 09:48:56 +02:00
Clement Jamin
8081234930
Merge branch 'Triangulation-add_regular_tri-cjamin_mglisse-old' into Triangulation-add_regular_tri-cjamin_mglisse
2015-10-16 10:59:18 +02:00
Clement Jamin
bcb523ba3e
Merge branch 'Triangulation-add_regular_tri-cjamin_mglisse-old' into Triangulation-add_regular_tri-cjamin_mglisse
2015-09-09 14:21:30 +02:00
Andreas Fabri
91543fd382
move header files to TDS_2 and TDS_3
2015-08-23 15:36:12 +02:00
Sébastien Loriot
9f14949e69
add missing protecting guards
2015-07-29 08:44:14 +02:00
Sébastien Loriot
62906461f2
fix out of array bound warning
2015-07-21 09:12:12 +02:00
Daniel Funke
b0eae3bebe
remove explicit copy constructor
2015-06-26 17:40:57 +02:00
Daniel Funke
51eb954081
correct profiler branch name
2015-04-22 13:11:39 +02:00
Daniel Funke
1c78d67a0f
correct comment
2015-04-22 13:11:21 +02:00
Daniel Funke
77e2f38d6c
move addition and deletion of tempoary points on far sphere into own methods
2015-04-22 13:10:15 +02:00
Daniel Funke
8d29fc6e6e
Enable parallel insertion of points with info
2015-04-16 17:40:05 +02:00
Clement Jamin
5f8ca65abf
Merge branch 'Triangulation-add_regular_tri-cjamin_mglisse-old' into Triangulation-add_regular_tri-cjamin_mglisse
2015-03-25 13:48:38 +01:00
Laurent Rineau
434766c22b
Merge branch 'releases/CGAL-4.5-branch'
...
Approved by the Release Manager.
2015-01-30 11:30:49 +01:00
Laurent Rineau
72e0a3e677
Fix warnings about signed/unsigned
...
The code involved is about TBB.
2015-01-21 12:59:07 +01:00
Clement Jamin
2f4bb69e0a
Merge branch 'Triangulation-add_regular_tri-cjamin_mglisse-old' into Triangulation-add_regular_tri-cjamin_mglisse
2014-12-18 10:59:01 +01:00
Clement Jamin
c6de2a50b2
Merge branch 'Triangulation-higher_dimensions-odevil_shornus-old' into Triangulation-higher_dimensions-odevil_shornus
2014-11-20 19:19:23 +01:00
Jane Tournois
545fe18310
add missing typedef for compilation on Linux
2014-10-03 17:11:08 +02:00
Jane Tournois
9e921b1d48
add typedef requested as documented
2014-10-02 11:28:43 +02:00
Jane Tournois
d874698109
fix implementation of Delaunay_triangulation_cell_base_3
2014-10-02 10:49:16 +02:00
Clement Jamin
03253edf19
Merge branch 'Triangulation-add_regular_tri-cjamin_mglisse-old' into Triangulation-add_regular_tri-cjamin_mglisse
2014-09-09 14:35:38 +02:00
Clement Jamin
8f259e5dea
Merge branch 'Triangulation-higher_dimensions-odevil_shornus-old' into Triangulation-higher_dimensions-odevil_shornus
2014-09-09 11:20:33 +02:00
Laurent Rineau
3deb8e7910
Merge branch 'Mesh_3-compare_index-GF-old' into Mesh_3-compare_index-GF
...
Create an integration branch for 'Mesh_3-compare_index-GF': a new branch
created from 'master', where I merged the previous version of
'Mesh_3-compare_index-GF'.
There was a conflict with two features recently merged into 'master' for
CGAL-4.5:
- the move of two files from include/CGAL/Mesh_3/ to include/CGAL/. See
the small feature:
http://cgal.org/wiki/Features/Small_Features/New_constructor_in_Label_mesh_domain_3_and_new_function_wrapper
- parallelism for Triangulation_3 and Mesh_3:
http://cgal.org/wiki/Features/Parallel_Mesh_3
Conflicts:
Combinatorial_map/include/CGAL/Cell_attribute.h
Mesh_3/include/CGAL/Implicit_mesh_domain_3.h
Mesh_3/include/CGAL/Labeled_image_mesh_domain_3.h
Mesh_3/include/CGAL/Mesh_3/Sliver_perturber.h
Mesh_3/include/CGAL/Polyhedral_mesh_domain_3.h
Mesh_3/test/Mesh_3/test_meshing_3D_image.cpp
Mesh_3/test/Mesh_3/test_meshing_polyhedron.cpp
Mesh_3/test/Mesh_3/test_meshing_polyhedron_with_features.cpp
Polyhedron/demo/Polyhedron/Polyhedron_type.h
STL_Extension/include/CGAL/Compact_container.h
STL_Extension/test/STL_Extension/test_Compact_container.cpp
I also modified the following files during the conflict resolution:
Linear_cell_complex/include/CGAL/Cell_attribute_with_point.h
Mesh_3/include/CGAL/Labeled_mesh_domain_3.h
Mesh_3/include/CGAL/Polyhedral_mesh_domain_with_features_3.h
2014-07-18 15:47:14 +02:00
Clement Jamin
fbf824c711
Merge branch 'Mesh_3-parallel-cjamin'
...
This branch introduces parallel algorithms in Triangulation_3 and Mesh_3,
as well as a Concurrent_compact_container. The corresponding features are:
https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Parallel_triangulation_3
https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Parallel_Mesh_3
Tested in CGAL-4.5-Ic-98.
Approved by the Release Manager.
2014-07-17 19:08:24 +02:00
Clement Jamin
aa1aa597bb
Restore commit a09ed468 with a bug fix
...
"Thread-safe version of incident_cells and incident_facets"
2014-07-15 20:13:30 +02:00
Andreas Fabri
13bb5e38aa
remove unused parameters
2014-07-09 16:02:45 +02:00
Mael Rouxel-Labbé
d0b222bfac
Fix a bug in finite_adjacent_vertices when dimension()==0
...
When tr.dimension()==0, tr.finite_adjacent_vertices(...)
returned infinite things.
2014-07-08 15:44:26 +02:00
Clement Jamin
078e89f55f
Add the possibility to remove the far points
...
The far points are added by the parallel version to reduce the contention
on the infinite vertex
2014-07-08 15:37:59 +02:00
Clement Jamin
da4cf8fc1d
Fix gcc warnings (reorder + unused variables & typedef...)
2014-07-03 15:54:39 +02:00
Clement Jamin
0a4267b7ce
Temporarily revert "Thread-safe version of incident_cells and incident_facets"
2014-07-03 15:41:02 +02:00
Clement Jamin
65e8d40e33
Fix warning
2014-07-03 09:26:25 +02:00
Clement Jamin
982f140911
Use tbb::task_scheduler_init::default_num_threads...
...
... instead of boost:🧵 :hardware_concurrency
2014-07-02 15:10:34 +02:00
Clement Jamin
55ff0a9404
Add a warning in comments
2014-07-02 10:49:44 +02:00
Clement Jamin
5a6623c3fa
Move typedef since Vector_3 is not available in all kernels
...
TODO: find a better fix later
2014-07-01 17:00:05 +02:00
Clement Jamin
e3abf7fc40
Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin
2014-07-01 10:38:14 +02:00
Clement Jamin
7af8f8b768
Fix compilation with GCC
2014-06-30 19:58:44 +02:00
Clement Jamin
82c89aa58e
Fix template params
2014-06-30 15:52:24 +02:00
Clement Jamin
a09ed46810
Thread-safe version of incident_cells and incident_facets
2014-06-23 10:45:26 +02:00
Clement Jamin
48a8abb278
Use Face_circulator for incident_cells_2
2014-06-23 09:20:57 +02:00
Clement Jamin
9f5927af61
Move function from C3T3_helpers to TDS
...
Move C3T3_helpers::get_incident_cells_without_using_tds_data to TDS::incident_cells_threadsafe
2014-06-23 08:21:09 +02:00
Sébastien Loriot
0230e979e2
Merge branch 'CGAL-use_leda-GF-OLD' into CGAL-use_leda-GF
...
Conflicts:
Arrangement_on_surface_2/test/Arrangement_on_surface_2/construction_test_suite_generator.cpp
Arrangement_on_surface_2/test/Arrangement_on_surface_2/test_construction.cpp
Documentation/doc/Installation.txt
Kernel_23/include/CGAL/Exact_predicates_exact_constructions_kernel.h
2014-06-18 22:50:06 +02:00
Clement Jamin
30e47d01a1
Added the ability to export the surface
2014-06-17 14:54:10 +02:00
Clement Jamin
eebad0e1a4
Add applications to help comparison between T2/T3 and Td
2014-06-16 19:35:04 +02:00
Aymeric PELLE
c496b52d0c
The documentation of the member function swap is added.
...
rhs is renamed other in this member function.
2014-06-04 14:38:34 +02:00
Aymeric PELLE
250c079439
Implement the copy-and-swap idiom for the assigment operator.
2014-06-04 14:04:52 +02:00
Aymeric PELLE
144545cbf2
Fix Regular_triangulation_cell_base_with_weighted_circumcenter_3.
...
The default value for the template parameter 'Cell base' is replaced by
Regular_triangulation_cell_base_3. (The doc is updated.)
The operator= is fixed.
A test file is added for this class.
Trivial bug-fix for master
2014-06-03 19:34:29 +02:00
Clement Jamin
7145f7db0b
Replaced some C++11 lambda functions by functors +change mutex (static=>member)
2014-06-03 18:18:12 +02:00
Clement Jamin
05efa677a1
Merge branch 'Triangulation-higher_dimensions-odevil_shornus-old' into Triangulation-higher_dimensions-odevil_shornus
...
Conflicts:
NewKernel_d/include/CGAL/NewKernel_d/Cartesian_LA_functors.h
NewKernel_d/test/NewKernel_d/Epick_d.cpp
2014-05-28 14:53:26 +02:00
Clement Jamin
c9c8335811
More code clean-up
2014-05-27 13:46:34 +02:00
Clement Jamin
ce17a717c7
Restore some profiling code and remove some
2014-05-27 13:33:33 +02:00
Clement Jamin
2f78d27bd3
Code clean-up
2014-05-27 13:21:16 +02:00
Clement Jamin
dfe800bc40
Clean-up debug code (global lock)
2014-05-27 12:16:29 +02:00
Sébastien Loriot
3fa09693a3
Merge branch 'Mesh_3-compare_index-GF-old' into Mesh_3-compare_index-GF
...
Conflicts:
Mesh_3/include/CGAL/Mesh_3/Detect_features_in_polyhedra.h
Mesh_3/include/CGAL/Mesh_domain_with_polyline_features_3.h
Mesh_3/include/CGAL/Mesh_polyhedron_3.h
Mesh_3/test/Mesh_3/test_meshing_polylines_only.cpp
STL_Extension/include/CGAL/Compact_container.h
STL_Extension/test/STL_Extension/test_Compact_container.cpp
2014-05-21 18:24:17 +02:00
Clement Jamin
f3c00442fd
Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin
2014-05-14 19:05:40 +02:00
Clement Jamin
db3a642de4
Missing include
2014-05-14 17:35:16 +02:00
Andreas Fabri
7e00af50f5
Merge branch 'Triangulation_3-faster_incident_edges-GF'
...
Approved by the release manager
2014-05-14 17:03:41 +02:00
Jane Tournois
e97506adb7
Merge branch 'Triangulation_3-regular_cell_base_with_circumcenter-GF'
...
Resolve conflicts in Mesh_3/include/CGAL/Mesh_3/config.h
This branch implements the small feature described here :
https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/circumcenter%28%29_in_RT3_cell_base
It makes consistent implementations of dual(cell) in RT3 and DT3 :
they both return cell->circumcenter(gt) now
Approved by the release manager
2014-05-13 14:52:13 +02:00
Jane Tournois
8bc6e6136d
fix a warning from clang. Actually highlighted a real error : gt was missing
2014-05-12 14:55:11 +02:00
Andreas Fabri
3d0e6f2a4f
boost::unorerdered_set::reserve() was only introduced with Boost 1.50
2014-05-09 11:08:38 +02:00
Andreas Fabri
1ff9694206
int -> std::size_t
2014-05-08 13:41:33 +02:00
Andreas Fabri
3cc64eb19e
Call unordered_set::reserve()
2014-05-07 11:51:25 +02:00
Andreas Fabri
2ed094d23c
cleanup
2014-05-07 11:14:36 +02:00
Andreas Fabri
d1a6046fcd
Vertex_extractor gets a partial specialisation for Vertex::Has_visited
2014-05-07 11:00:05 +02:00
Andreas Fabri
09876e23fa
Add bool visited to the Vertex in order to avoid a map
2014-04-29 14:04:27 +02:00
Andreas Fabri
3812e53d64
Add flat_set
2014-04-29 06:47:32 +02:00
Andreas Fabri
d74653ece0
Replace std::map by boost::unordered_map in TDS_3::incident_edges
2014-04-28 16:18:13 +02:00
Clement Jamin
e07baefb17
Change the way we compute the exact circumcenter when needed
...
In some rare cases, we need to switch to exact computation for the circumcenter.
Some code for this computation is now moved from RT3 to Refine_facets.
2014-04-15 18:54:12 +02:00
Andreas Fabri
a45ed40f5d
Do not use the call stack for a recursive function as it may overflow
2014-03-25 16:01:27 +01:00
Andreas Fabri
18e85a1cea
Switch on a workaround using a CGAL_CFG ...
2014-03-24 17:52:31 +01:00
Andreas Fabri
24f78ce6de
Hack for the new problem with 'using' for VC12
...
We have to find out where the real problem is.
2014-03-20 16:47:25 +01:00
Clement Jamin
89d2d6a612
Merge branch 'Triangulation-higher_dimensions-odevil_shornus-old' into Triangulation-higher_dimensions-odevil_shornus
2014-03-19 13:00:57 +01:00
Clement Jamin
157cd0465f
Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin
...
Conflicts:
Mesh_3/demo/Mesh_3/Mesh_3_optimization_plugin_cgal_code.cpp
Mesh_3/doc/Mesh_3/Concepts/MeshCellBase_3.h
Mesh_3/include/CGAL/Mesh_3/C3T3_helpers.h
Mesh_3/include/CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h
Mesh_3/include/CGAL/Mesh_3/Mesh_global_optimizer.h
Mesh_3/include/CGAL/Mesh_3/Sliver_perturber.h
Mesh_3/include/CGAL/Mesh_3/Slivers_exuder.h
Mesh_3/include/CGAL/Mesh_3/Triangulation_helpers.h
Mesh_3/include/CGAL/Mesh_3/config.h
Mesh_3/include/CGAL/Mesh_3/vertex_perturbation.h
Mesh_3/include/CGAL/Polyhedral_mesh_domain_3.h
Mesh_3/include/CGAL/exude_mesh_3.h
Mesh_3/test/Mesh_3/test_meshing_utilities.h
Triangulation_3/include/CGAL/Triangulation_cell_base_with_circumcenter_3.h
2014-03-10 17:01:03 +01:00
Jane Tournois
bf03d6964d
remove useless diff with integration
2014-02-24 14:37:20 +01:00
Jane Tournois
0740b3652f
add class Has_timestamp not to modify the API of Compact_container
...
- use the Has_timestamp operator in Compact_container
- add partial specialization to classes that need the time stamp (i.e.
Mesh_vertex_base, Compact_mesh_cell_base_3 and Mesh_cell_base_3)
- remove "ts" from classes where they were actually needed for compilation
purpose only (i.e. Kd_tree_node and Triangulation_ds_cell_base_3)
- rename "ts" to time_stamp_
2014-02-20 15:53:36 +01:00
Jane Tournois
6db28ed43d
move ts from Tds to Compact_container
...
Tds now is back to its original version (not different from master)
2014-02-14 17:15:33 +01:00
Jane Tournois
ffc3bdfc2f
there is no need to compare "ts". Comparing Vertex_handle's is enough
2014-02-14 15:22:54 +01:00
Jane Tournois
8d7ec0ef19
use time stamps in make_canonical(vertex_triple)
2014-02-14 12:55:29 +01:00
Andreas Fabri
83546c53b1
Add a time stamp in vertices and cells of triangulations and polyhedra
...
and use this for operator< of handles in order to make mesh generation
deterministic
2014-02-13 19:46:34 +01:00
Jane Tournois
75771bacb3
rename Regular_triangulation_cell_base_with_circumcenter_3
...
to Regular_triangulation_cell_base_with_weighted_circumcenter_3
2014-02-06 15:50:38 +01:00
Jane Tournois
88666391da
introduce weighted_circumcenter() for RegularTriangulationCellBase_3
...
weighted_circumcenter() replaces circumcenter() in the regular framework,
which is not a member of TriangulationCellBase_3 anymore.
Triangulation_cell_base_with_circumcenter_3 is deprecated and replaced by:
Delaunay_triangulation_cell_base_with_circumcenter_3
and
Regular_triangulation_cell_base_with_circumcenter_3.
Implement the changes in documentation, Triangulation_3 code and Mesh_3 code.
2014-01-16 16:55:19 +01:00
Jane Tournois
7b55c30ba5
fix the use of Triangulation_cell_base_with_circumcenter
...
Triangulation_cell_base_with_circumcenter should not be responsible for
computing the circumcenter value. It is only responsible for its caching.
The Cell_base used as second template parameter should make the construction,
in the circumcenter() function.
Also fix the order of derivation in Mesh_cell_base_3
2014-01-10 14:31:02 +01:00
Jane Tournois
bf9e964f0e
remove macro CGAL_REGULAR_TRIANGULATION_3_USE_CIRCUMCENTER_CACHE
...
has been checked and is always activated
2014-01-09 12:05:50 +01:00
Jane Tournois
88eddc7e8b
Merge branch 'Triangulation_3-regular_cell_base_with_circumcenter-GF-old' into Triangulation_3-regular_cell_base_with_circumcenter-GF
2014-01-03 18:03:01 +01:00
Olivier Devillers
d8197fb718
merge master and Triangulation
2013-11-29 13:40:14 +01:00
Clement Jamin
6b65ad71da
Changes in the "lock data structure" concept and models
...
The concept is now much more generic (SurjectiveLockDataStructure).
The names have been changed accordingly.
2013-10-16 12:17:56 +02:00
Clement Jamin
5101c3d2e7
Added my name in a few places + implementation history
2013-10-15 11:14:58 +02:00
Clement Jamin
29525dfcb7
Back-quotes for could_lock_zone and true + minor fixes + replace 0 by NULL
2013-10-15 10:27:35 +02:00
Laurent Rineau
240385d011
Add expensive assertions to check the circumcenter cache
2013-10-14 17:12:54 +02:00
Clement Jamin
88ed4cc924
Removed strategies in T3 benchmark and Dummy TDS
2013-10-01 17:27:21 +02:00
Clement Jamin
2706cbfeff
Compact_container: erase counter strategy is now automatically deduced from T.
...
If the T::increment_erase_counter() function exists, then the erase counter
value will be updated by the Compact_container.
2013-09-30 18:25:41 +02:00
Clement Jamin
2944261214
Merge branch 'Mesh_3-parallel-cjamin' of ssh://scm.cgal.org/var/git/cgal into Mesh_3-parallel-cjamin
2013-09-25 10:50:46 +01:00
Clement Jamin
41929ed520
Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin
...
Conflicts:
Mesh_3/doc/Mesh_3/Concepts/MeshCellBase_3.h
Mesh_3/dont_submit
Triangulation_3/doc/TDS_3/CGAL/Triangulation_data_structure_3.h
Triangulation_3/doc/TDS_3/Concepts/TriangulationDataStructure_3.h
Triangulation_3/doc/Triangulation_3/CGAL/Delaunay_triangulation_3.h
Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_3.h
Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_3.h
Triangulation_3/doc/Triangulation_3/PackageDescription.txt
2013-09-25 11:47:43 +02:00
Clement Jamin
a173372321
Fixes for GCC + removed trailing spaces
2013-09-25 11:18:18 +02:00
Andreas Fabri
5c454cec64
add missing includes
2013-09-13 12:43:01 +02:00
Sébastien Loriot
ded66799a6
make the insertion of a range of points with info working with hierarchy
2013-08-05 15:03:46 +02:00
Clement Jamin
18895e6f42
Use the TBB's scalable allocator in a few places
...
=> better scalability of the parallel remove
2013-07-23 17:51:06 +02:00
Clement Jamin
fc10668b31
Spelling mistake + minor change
2013-07-23 17:17:38 +02:00
Marc Glisse
530f20179c
Finish Philipp's patch on initializing arrays.
2013-07-23 15:58:04 +02:00
Clement Jamin
8aaee67985
Removed some "p_" prefixes in variable names
2013-07-12 15:49:45 +02:00
Clement Jamin
09d75308fb
Untabify
2013-07-02 18:16:22 +02:00
Clement Jamin
206b20bc15
Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin
2013-07-02 17:37:50 +02:00
Clement Jamin
fcdf906f06
Option to add temporary points on a far sphere before insertion
...
Helps to reduce contention on the infinite vertex
But removing those points in the end takes time
so it's only worth it when points lie on a surface.
2013-07-02 12:57:26 +02:00
Clement Jamin
8181587ed7
Fix tabs + better profiling
2013-07-02 11:37:32 +02:00
Clement Jamin
2dc6c405b8
Drop the use of the TBB malloc proxy, use TBB allocators manually instead
...
The TBB's "malloc proxy", which allows to replace all calls to the standard
allocators by calls to the TBB scalable allocator, is not available on MacOS.
Instead, we use the TBB allocators manually, where relevant.
2013-06-27 15:29:47 +02:00
Jane Tournois
404f2e0e3c
merge
2013-06-21 10:01:19 +01:00
Clement Jamin
bc360c8b13
Changes for GCC compilation + removed some trailing spaces
2013-06-07 17:40:53 +02:00
Clement Jamin
440a654a58
Added a concurrency-safe version of DT3::find_conflicts + better doc
2013-06-05 17:23:19 +02:00
Clement Jamin
b43f28c6ab
Renamed p_could_lock_zone + use NULL instead of 0 + CGAL_TRIANGULATION_3_PROFILING
2013-06-05 13:44:34 +02:00
Clement Jamin
dbe1c9c597
Reversed the "facet_not_in_its_cz" variables by removing the "not"
2013-05-28 15:56:22 +02:00
Clement Jamin
eeeb6cc841
Smaller tag names (continued)
2013-05-28 15:42:39 +02:00
Clement Jamin
127926aa14
Proof-reading + minor changes
...
Renamed unlock_all_tls_locked_locations => unlock_all_points_locked_by_this_thread
2013-05-28 15:07:20 +02:00
Clement Jamin
9aefdbe939
Replaced is_base_of by is_convertible.
2013-05-23 17:49:24 +02:00
Clement Jamin
c471fb442d
Untabify + removed useless spaces
2013-05-21 11:13:36 +02:00
Sébastien Loriot
8d602ed8c2
Merge branch 'triangulation_3-copy_tds-sloriot'
...
Approved by the release manager
Conflicts:
Alpha_shapes_3/test/Alpha_shapes_3/copy_tds.h
Triangulation_2/doc/TDS_2/Concepts/TriangulationDataStructure_2.h
it introduces a more general copy_tds that allows to copy tds with different types of simplices.
2013-04-29 11:09:01 +02:00
Laurent Rineau
76da6cf570
Add missing #include
...
That fixes the compilation when no <CGAL/Gmp*.h> header is included.
2013-04-24 12:57:57 +02:00
Sébastien Loriot
0beb1a8861
add an extra overload to please MSVC
2013-04-19 08:38:56 +02:00
Clement Jamin
3a4caaaa1c
Changed the place of the erase counters.
...
Changed Compact_container_strategy_XXX::Uses_erase_counter type + moved the erase counters from Triangulation_ds_xxx_base_3 to Mesh_xxx_base_3.
2013-04-16 15:31:36 +02:00
Sébastien Loriot
498492e770
add set_infinite_vertex to Triangulation_3 and use it with copy_tds
...
the 2D version already exists
2013-04-12 16:04:59 +02:00
Sébastien Loriot
f9e0c97aac
for convenience add a default to simple converter
...
it is useful if you want to copy the tds of a familly
alpha-shape into a fixed one
2013-04-11 20:03:32 +02:00
Jane Tournois
7a530ea7d8
remove just_incident_cells.
...
The bench I made did not show that it provided any computation time improvement.
2013-04-11 12:48:04 +02:00
Clement Jamin
2a7c402c07
Regular_triangulation_3 is now parallel (insert/remove)
2013-04-10 18:08:53 +02:00
Clement Jamin
6a85889a1e
New constructor + minor changes
2013-04-10 18:07:14 +02:00
Clement Jamin
ef756afafd
Missing "dummy function" for the sequential case
2013-04-03 17:35:24 +02:00
Clement Jamin
1cc98e9abd
Updated doc + code clean-up
2013-04-03 17:34:21 +02:00
Clement Jamin
e6b33376bb
Avoid multiple calls to tbb::enumerable_thread_specific::local()
2013-03-29 17:16:26 +01:00
Clement Jamin
4399f8218b
Untabify (missed some of them last time)
2013-03-28 10:13:32 +01:00
Clement Jamin
8c19195bcb
Untabify
2013-03-27 15:32:10 +01:00
Clement Jamin
cc9dde002e
Untabify
2013-03-27 15:30:46 +01:00
Clement Jamin
c3e9699887
Clean-up + better "profiling"
2013-03-27 14:39:10 +01:00
Clement Jamin
de1f43e30b
The remove is now fully parallel.
...
The remove operations are done in parallel as long as the dimension stays = 3, then the few remaining points are removed sequentially.
2013-03-27 13:47:40 +01:00
Clement Jamin
57d84ecb24
New constructor for Tri_3 and TDS + new way of testing "dim down" in the 3D case
...
New constructor taking 4 non-coplanar vertices, for faster construction of very small triangulations => a 3D triangulation is directly constructed.
The new "test_dim_down_using_incident_cells_3" is used in the 3D and will be used by the parallel version.
2013-03-26 19:00:37 +01:00
Jane Tournois
35120cdf53
small feature documentation about inexact_locate
2013-03-22 15:46:38 +01:00
Andreas Fabri
7bd3e3698e
use CGAL::compare instead of compare to avoid Koenig lookup
2013-03-15 17:34:53 +01:00
Clement Jamin
b83b159c2f
Fix so that we don't require xx_erase_counter functions anymore when sequential
2013-03-14 17:45:19 +01:00
Clement Jamin
1f0e994a00
Renamed a few functions + tabs to spaces conversion + benchmark output + minor changes
2013-03-11 15:46:27 +01:00
Clement Jamin
a7cfd06598
Replaced the unused pair<bool,int> returned by try_lock by a simple bool.
2013-03-08 16:47:37 +01:00
Clement Jamin
3eae2927e7
Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin
2013-03-04 15:50:57 +01:00
Clement Jamin
a8d38a5fed
Code clean-up
2013-02-28 19:46:06 +01:00
Laurent Rineau
bc7e2a1d71
Merge remote-tracking branch 'origin/Mesh_3-improvements-GF' into Mesh_3-improvements-GF-new
...
Mesh_3-improvements-GF-new is fresh fork of master
Conflicts:
.gitattributes
AABB_tree/include/CGAL/AABB_tree.h
GraphicsView/src/CGAL_Qt4/DemosMainWindow.cpp
Mesh_3/include/CGAL/Mesh_3/C3T3_helpers.h
Mesh_3/include/CGAL/Mesh_3/Refine_facets_3.h
Mesh_3/include/CGAL/Polyhedral_mesh_domain_3.h
2013-02-28 17:10:16 +01:00
Laurent Rineau
bd0930fc26
Fix segfaults in T3, caused by the use of CGAL_assume
...
I wonder why the compiler created buggy code. Anyway, I found easy
workarounds, without reintroducing the warnings.
2013-02-22 16:15:04 +01:00
Laurent Rineau
66c5d23154
Use CGAL_assume to remove warnings
2013-02-20 18:55:43 +01:00
Clement Jamin
a29a847e55
Some tests with parallel removal of vertices.
2013-02-20 17:39:15 +01:00
Clement Jamin
44b8217d54
New/modified constructors for triangulations.
...
Can now take a lock data structure as parameter.
2013-02-19 10:39:39 +01:00
Clement Jamin
864f4eca81
Moved Spatial_grid_lock_data_structure_3.h to STL_Extension
2013-02-18 13:09:12 +01:00
Clement Jamin
8d5352e15f
Better grid lock data structure.
...
There is just one grid lock data structure class now, with several specialization.
Moreover, now the type of the lock data structure is only defined in the triangulation.
2013-02-18 12:58:57 +01:00
Clement Jamin
0c80db26d4
Forgot to remove an #include
2013-02-18 11:16:45 +01:00
Clement Jamin
bce43fbb8e
Improved the way parallelism is handle in Mesh_3/Triangulation_3
...
Added a better support for parallelism in Triangulation_3.
Simplified how to enable/disable concurrency in Mesh_3.
Moved the Compact_container stategies to a new file.
2013-02-15 18:07:43 +01:00
Andreas Fabri
8b5b56adb1
make index an unsigned int
2013-02-15 11:30:08 +01:00
Clement Jamin
eb2ed63d8b
Changed the way we activate concurrency in Triangulation_3 + Code clean-up
2013-02-11 19:12:30 +01:00
Laurent Rineau
70bf8d7e88
New branch to add c->circumcenter (and the verson with cache) to RT3
2013-02-07 19:07:42 +01:00
Andreas Fabri
afeea1e124
replace size_t with int in loops over the vertices of a cell
2013-02-07 17:26:32 +01:00
Clement Jamin
c4859681e3
Removed the "localization ids" related code.
...
It was an old, unused and slow.
2013-02-06 18:57:36 +01:00
Clement Jamin
cb89562205
Removed the CGAL_MESH_3_ACTIVATE_GRID_INDEX_CACHE_IN_VERTEX macro.
...
It was buggy and useless.
2013-02-06 18:10:35 +01:00
Clement Jamin
5938113aff
Moved some code because there was a problem with some #ifdef
2013-02-06 14:30:04 +01:00
Clement Jamin
dc5e90b8cc
Clean-up + some debugging functions + comments
2013-02-02 06:53:43 +01:00
Clement Jamin
2ee92ca346
Missing #ifdef
2013-01-30 17:30:31 +01:00
Clement Jamin
ad4a9dcaf6
New is_element_locked_by_this_thread for testing purposes
2013-01-29 19:03:07 +01:00
Clement Jamin
7af597cb4f
Parallel Mesh_3 can now be compiled with GCC
2013-01-17 14:49:04 +01:00
Clement Jamin
3dd7981cf4
The erase counter in vertex_base is only required for the parallel version.
2013-01-15 17:05:24 +01:00
Clement Jamin
44e91351ce
Code clean-up + minor changes/optimizations
2013-01-11 16:40:03 +01:00
Clement Jamin
7efd61b6db
Removed some data race conditions in the parallel perturber.
...
Note: the code needs some clean-up
2013-01-08 08:59:17 +01:00
Sébastien Loriot
aeb1edeae8
Merge branch 'triangulation_3-copy_tds-sloriot-old' into triangulation_3-copy_tds-sloriot
2012-12-18 19:57:32 +01:00
Sébastien Loriot
7843d7ce20
using internal::TDS_3 namespace
2012-12-17 16:39:04 +01:00
Clement Jamin
dc7096b1e5
This parallel version of the Perturber seems much better. Needs to be tested...
2012-12-13 20:39:37 +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
Sébastien Loriot
c25f925174
renaming functor in copy_tds
2012-12-05 12:43:54 +01:00
Sébastien Loriot
6152194fa8
remove boolean for first vertex
2012-12-05 12:43:54 +01:00
Sébastien Loriot
47fea6c6f1
merge experimental-packages/Triangulation_3_copy_tds to a proper branch
2012-12-05 12:43:53 +01:00
Clement Jamin
9c5cddbbc3
Global optimizers: better parallel performance
...
- We used to have a thread-local variable for cell::TDS_data to make
incident_cells concurrently callable but it was slow and memory-consuming
=> new incident_cells function which do not use cell::TDS_data
=> faster and lighter
- update_restricted_delaunay now uses parallel_for instead of parallel_do
(it was quite slow with the implicit oracle)
=> faster (but requires to fill a temporary vector)
2012-11-28 14:17:59 +01:00
Clement Jamin
11a2a1c68a
Merge from Mesh_3-improvements-GF
2012-11-21 17:49:59 +01:00
Clement Jamin
ab4d97c1e5
The global optimizers are now parallel (needs some intense testing now)
2012-11-21 16:16:47 +01:00
Clément Jamin
ffc70d4482
Added support for concurrency to "locate" + minor changes
2012-11-20 15:16:21 +01:00
Laurent Rineau
57a58d00a3
Triangulation_cell_base_with_circumcenter_3::invalidate_circumcenter() must
...
be public.
That is required by the slivers exuder.
2012-11-20 10:25:47 +01:00
Laurent Rineau
4509b5bbe2
Merge branch 'master' into improvements
...
Conflicts:
Mesh_3/include/CGAL/Mesh_3/mesh_standard_facet_criteria.h
2012-11-14 12:17:29 +01:00
Sébastien Loriot
825bfe6144
make create_star_3 non recursive only after 100 recursive calls.
...
The speed observed on random data set produced by simple_2.cpp is equivalent
to the original recursive version and faster than the version better this commit
2012-10-30 13:42:47 +00:00
Clément Jamin
74fad3a088
Typo
2012-10-19 08:50:18 +00:00
Clément Jamin
8a12c83451
The parallel version can now use safely FORCE_STRUCTURAL_FILTERING (optimization from GF-Improvements)
2012-10-17 16:33:37 +00:00
Clément Jamin
1ca7174e01
Merge from Mesh_3-improvements-GF
...
+ some bugfixes (most of them are related to the parallel version)
This version works (sequential and parallel) as long as the following macros are NOT defined:
* CGAL_COMPACT_MESH_VERTEX_CELL
* CGAL_INTRUSIVE_LIST
* FORCE_STRUCTURAL_FILTERING
2012-10-16 14:02:16 +00:00
Clément Jamin
4e1f8aa4f8
Merge from next
2012-10-15 08:28:01 +00:00
Laurent Rineau
795c71fc9b
Fix headers of Mesh_2 and Mesh_3. All were missing #include.
...
I found out that way that <CGAL/Mesh_3/Refine_facets.h> and
<CGAL/Mesh_3/Protect_edges_sizing_field> were using global functions
instead of functors of the traits class.
Note also the funny bug that <CGAL/Regular_triangulation_cell_base_3.h> was
depending on <CGAL/Triangulation_vertex_base_3.h>!
2012-10-08 09:33:38 +00:00
Clément Jamin
2366fee1e1
Merge from next
2012-09-28 14:51:02 +00:00
Jane Tournois
3555cf3cb2
make just_incident_cells_3 the default use of incident_cells(v)
...
replace macro CGAL_JUST_INCIDENT_CELLS with CGAL_TDS_3_NOT_JUST_INCIDENT_CELLS (and reverse use), and comment it in config.h
2012-08-28 09:01:47 +00:00
Jane Tournois
abc1515741
r70387, r70573, r70574 from Mesh_3-experimental-GF
...
Add incident_cells_3(Vertex_handle, std::vector<Cell_handle>)
This function avoids the construction of two additional std::vectors.
The performance gain is between 30% (g++) and 50% (VC++)
for points on surfaces as well as for points filling space.
We at the same time change the implementation of the function
incident_cells(Vertex_handle, OutputIterator).
In order to save one additional std::vector,
the cells are reported in bfs and not in dfs order
2012-07-31 14:44:45 +00:00
Jane Tournois
7d169b85f8
r70573 from Mesh_3-experimental-GF
...
add macro to force Structural_filtering
2012-07-31 14:14:25 +00:00
Jane Tournois
db9f968ea9
r70321 from Mesh_3-experimental-GF
...
Change inexact_locate and inexact_orientation from protected to public (needed for the commit in Mesh_3 concerning inexact_locate in Mesh_sizing_field)
2012-07-31 13:30:29 +00:00