Laurent Rineau
3694d7a005
Only use polymorphism if CGAL_TST_ASSUME_CORRECT_TYPES is undefined
2019-09-12 13:10:14 +02:00
Laurent Rineau
c78d4b66a9
Add SPDX license headers
2019-09-12 10:01:20 +02:00
Laurent Rineau
2acb975ba4
Merge 'cgal/master' to fix conflicts
2019-09-11 14:35:38 +02:00
Laurent Rineau
e4e065fad5
'how to make superclass for inserter pattern.txt' turned to comment
2019-09-11 11:22:36 +02:00
Laurent Rineau
b438e73b4b
cleanup: synchronize with the older branch
2019-09-11 11:04:34 +02:00
Jane Tournois
9d23b2f20c
move functions from Triangulation_3 to the traverser header
...
now Triangulation_3.h is the same as in cgal/master branch,
and everything specific to the traverser has been moved to
the traverser header
2019-09-10 19:26:43 +02:00
Jane Tournois
3f96a41f93
fix warning : code not reached
2019-09-10 19:21:45 +02:00
Jane Tournois
4e419e9c75
little cleaning around CGAL_FAST_TRAVERSER
...
using this code speedups the traversal by 20% with Epick, 35% with Epeck
and our tests remain valid,
so we can remove the macro and activate the code
2019-09-10 19:21:45 +02:00
Jane Tournois
0d6a9e8367
add a benchmark for simplex traverser and cell traverser
2019-09-10 19:21:45 +02:00
Laurent Rineau
bbf559ee17
Merge remote-tracking branch cgal/master into Triangulation_segment_traverser_3-tvanlank
2019-09-10 19:21:38 +02:00
Laurent Rineau
88a915779f
Merge tag 'base2018' into HEAD
...
# Conflicts:
# Triangulation_3/examples/Triangulation_3/CMakeLists.txt
# Triangulation_3/include/CGAL/Triangulation_3.h
# Triangulation_3/include/CGAL/Triangulation_utils_3.h
2019-09-10 18:41:08 +02:00
Laurent Rineau
dc02598a5c
Merge pull request #4016 from gdamiand/CGAL-more_viewers-gdamiand
...
CGAL: more viewers
2019-07-10 14:22:50 +02:00
Laurent Rineau
dbb1cb6c9b
Merge pull request #3974 from afabri/Triangulation-add_ranges-GF
...
Triangulation_{2,3): Add ranges
2019-07-01 11:16:05 +02:00
Guillaume Damiand
67307dcead
Merge master to remove conflicts; plus rephrase draw documentation following Sebastien comments.
2019-06-19 15:48:10 +02:00
Andreas Fabri
f7b7b9957f
Merge remote-tracking branch 'cgal/master' into CGAL-null_ptr-GF
2019-06-05 14:47:11 +02:00
Andreas Fabri
4581f1b7a8
Morte replacements
2019-06-05 08:39:55 +02:00
Andreas Fabri
5532b84b4f
nullptr_t -> std::nullptr_t
2019-06-05 07:28:56 +02:00
Andreas Fabri
e2d19b0c8d
Replace NULL and Nullptr_t with nullptr and nullptr_t
2019-06-04 23:45:44 +02:00
Andreas Fabri
285cdd5be5
Add more ranges and a testsuite
2019-06-04 10:40:13 +02:00
Andreas Fabri
4c9bda8169
Use C++11 for loop in examples
2019-06-03 17:23:32 +02:00
Andreas Fabri
edd84534a9
Fix code
2019-06-03 17:02:18 +02:00
Andreas Fabri
b42fd4428d
Triangulation_{2,3): Add ranges
2019-06-03 15:36:34 +02:00
Andreas Fabri
d067fb409a
uncomment
2019-05-21 17:18:11 +02:00
Andreas Fabri
f354210be3
Add using statements
2019-05-21 14:32:03 +02:00
Andreas Fabri
2d1c78fdd9
Unify T3
2019-05-20 18:23:08 +02:00
Sébastien Loriot
124012d9f9
replace cpp11::array by std::array
2019-03-29 13:28:33 +01:00
Sébastien Loriot
0ce7fc09b5
turns iterator pairs into iterable ranges
2019-03-29 13:28:22 +01:00
Sébastien Loriot
d60f5645aa
replace BOOST_FOREACH by c++ ranged-based for loop
...
some of the command used for the replacement:
ack --cpp BOOST_FOREACH -l | xargs sed -i -E "s/BOOST_FOREACH\(([a-zA-Z_:&0-9]+)\s(\w+)\,/for(\1 \2 :/"
ack --cpp BOOST_FOREACH -l | xargs sed -i -E "s/BOOST_FOREACH\((const [a-zA-Z_:&0-9]+)\s(\w+)\,/for(\1 \2 :/"
ack --cpp BOOST_FOREACH -l | xargs sed -i -E "s/BOOST_FOREACH\((const typename [a-zA-Z_:&0-9]+)\s(\w+)\,/for(\1 \2 :/"
ack --cpp BOOST_FOREACH -l | xargs sed -i -E "s/BOOST_FOREACH\((typename [<>a-zA-Z_:&0-9]+)\s(\w+)\,/for(\1 \2 :/"
ack "boost/foreach.hpp" -l --cpp | xargs sed -i '/boost\/foreach.hpp>/d'
2019-03-29 13:22:15 +01:00
Laurent Rineau
fdd8357915
Merge pull request #3580 from afabri/Stream_support-Color-GF
...
Fix warnings (Add/remove copy constructors, and other warnings)
Co-authored-by: Laurent Rineau <laurent.rineau@cgal.org>
Co-authored-by: Mael <mael.rouxel.labbe@geometryfactory.com>
Co-authored-by: Maxime GIMENO <maxime.gimeno@gmail.com>
2019-02-13 15:25:07 +00:00
Andreas Fabri
88add6bc7b
Regular_triangulation_3: Add undocumented Regular_triangulation_cell_base_3::hidden_points()
2019-02-07 15:24:00 +01:00
Laurent Rineau
afc3de2894
Merge branch 'master' into Stream_support-Color-GF
2019-01-23 09:37:08 +01:00
Mael Rouxel-Labbé
c4b82ba14b
Added swap() and an assignement operator for RT3
2019-01-21 14:48:28 +01:00
Andreas Fabri
380cffffb1
Remove copy constructor instead of adding operator= as it triggers a compilation error VC12 Poisson
2019-01-15 09:32:21 +01:00
Andreas Fabri
806ba2ec98
Add operartor= for DT3
2019-01-10 18:29:52 +01:00
Sébastien Loriot
61169b394e
Merge remote-tracking branch 'cgal/releases/CGAL-4.13-branch'
2019-01-04 17:19:19 +01:00
Mael Rouxel-Labbé
b6f6aeb844
Merge remote-tracking branch 'mine/T3-Fix_weighted_ranges_insertion_removal-GF' into T3-Fix_weighted_ranges_insertion_removal-GF
2018-12-18 13:20:58 +01:00
Mael Rouxel-Labbé
82e458da80
Replaced TDS template specialization with tag-based detection
2018-11-14 07:58:08 +01:00
Mael Rouxel-Labbé
bb19c965f9
Moved helper struct outside of TBB macros to fix sequential compilation
2018-11-14 07:58:08 +01:00
Laurent Rineau
574f21cca6
Merge pull request #3383 from lrineau/Triangulation_3-fix_examples_with_TBB-GF
...
Re-add examples incorrectly disabled by PR #2835
2018-10-29 10:27:48 +01:00
Guillaume Damiand
520015f92a
Align typedef
2018-10-15 14:21:20 +02:00
Mael Rouxel-Labbé
aa1e0acbee
Replaced macro with a legal vertex handle validity checker
2018-10-10 13:08:14 +02:00
Laurent Rineau
4a70d8773e
Re-add examples incorrectly disabled by PR #2835
...
... and then fix them.
2018-10-08 12:32:12 +02:00
Mael Rouxel-Labbé
8500add791
There is no 'try'!
2018-10-03 16:31:42 +02:00
Mael Rouxel-Labbé
e1122cef5c
Fixed deadlocks in parallel removal of a range of weighted points
2018-10-03 15:58:59 +02:00
Mael Rouxel-Labbé
e2b0683030
Fixed not checking 'hint' validity in the parallel insertion of a range of WPs
2018-10-03 15:57:40 +02:00
Guillaume Damiand
ddd7f8fa3b
Add an option to disable viewer when running ctest.
2018-09-07 13:29:38 +02:00
Guillaume Damiand
2c8af2ebcc
Update all draw_XXX functions to use specialized version, allowing to use different draw in a same program.
2018-09-06 18:43:32 +02:00
Mael Rouxel-Labbé
7490f34560
Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
2018-06-21 10:15:25 +02:00
Laurent Rineau
08043e442c
Merge pull request #2835 from gdamiand/CGAL-basic_viewers-gdamiand
...
Add basic viewers
2018-06-14 17:36:37 +02:00
Guillaume Damiand
bc4eca82b3
Need double cast
2018-06-13 10:47:44 +02:00
Guillaume Damiand
f6fd8cae4c
Remove a warning; when using test suite, compile all the code but run nothing.
2018-06-13 09:14:18 +02:00
Guillaume Damiand
59f797f066
Update the 5 basic viewers to remove factorized functions, and to define different versions in order to remove default template parameters.
2018-06-11 13:09:50 +02:00
Maxime Gimeno
fdeb5621ca
replace cast in unsigned long int to std::size_t to fix warnings.
2018-06-07 13:55:22 +02:00
Maxime Gimeno
10c277ea2d
Use special args if running testsuite to avoid execution errors.
2018-06-07 13:35:28 +02:00
Mael Rouxel-Labbé
7ea3a8044e
Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
2018-06-05 14:39:18 +02:00
Laurent Rineau
c151778454
Merge pull request #3122 from MaelRL/T23-Fix_functor_return_type-GF
...
Triangulation_23: fix wrong return type in spatial_sort functor
# Conflicts:
# Triangulation_3/test/Triangulation_3/test_regular_insert_range_with_info.cpp
2018-06-01 17:24:23 +02:00
Laurent Rineau
72d2c8e1ef
Merge pull request #3122 from MaelRL/T23-Fix_functor_return_type-GF
...
Triangulation_23: fix wrong return type in spatial_sort functor
# Conflicts:
# Triangulation_3/test/Triangulation_3/test_regular_insert_range_with_info.cpp
2018-06-01 17:21:44 +02:00
Maxime Gimeno
979bde1025
Fix Triangulation_3 viewer
2018-05-29 11:27:53 +02:00
Andreas Fabri
4b14990209
Fix warnings; Remove typename in non-template code
2018-05-29 11:11:50 +02:00
Guillaume Damiand
c62fb2b01e
Move include iostream.
2018-05-29 11:11:49 +02:00
Guillaume Damiand
b361e78a99
Add missing include
2018-05-29 11:11:49 +02:00
Guillaume Damiand
39de8ac459
Add licence includes
2018-05-29 11:11:49 +02:00
Guillaume Damiand
d8a62aa2c8
Update licence headers of new files.
2018-05-29 11:11:49 +02:00
Guillaume Damiand
dba44f48a1
Harmonize the 5 basic viewers.
2018-05-29 11:11:49 +02:00
Guillaume Damiand
53769e98a7
* Add draw examples in the 5 concerned packages (Polyhedron, Surface_mesh, T2, T3, LCC)
...
* Update FindQGLViewel to add a target.
2018-05-29 11:11:49 +02:00
Guillaume Damiand
6e83b034dc
Rename file for basic viewers.
2018-05-29 11:06:07 +02:00
Guillaume Damiand
73905ce8dd
Avoid to run the viewer for the CGAL test suite.
2018-05-29 11:06:07 +02:00
Guillaume Damiand
5d375eff74
Update all basic viewers to have the correct behavior when CGAL_USE_BASIC_VIEWER is not defined.
2018-05-29 11:06:07 +02:00
Guillaume Damiand
5e5a9611db
Protect the code of the basic viewers; rename display into draw; add a draw function that display an error message if the basic viewer is not defined.
2018-05-29 11:04:57 +02:00
Guillaume Damiand
00c2eed479
update name of first parameter for qt window
2018-05-29 11:04:57 +02:00
Guillaume Damiand
a59c5f6398
Update all basic viewers to allow to have a color functor as parameter.
2018-05-29 11:04:57 +02:00
Guillaume Damiand
80ff774d20
Add T3 viewer, and use it in regular_3.cpp example
2018-05-29 11:02:00 +02:00
Guillaume Damiand
1477c6c503
Start t3 viewer
2018-05-29 11:02:00 +02:00
Mael Rouxel-Labbé
e9d3b9767e
Fixed taking a reference to a temporary (when using EPECK)
2018-05-28 15:43:45 +02:00
Mael Rouxel-Labbé
bfdb89e595
Removed 'move_point()' from Triangulation_3
2018-05-24 14:50:40 +02:00
Mael Rouxel-Labbé
b41f1d6272
Various deprecation-related improvements
2018-05-18 16:47:54 +02:00
Mael Rouxel-Labbé
a0427ec756
Fixed abusing Triangulation_cell_base_3 for Delaunay triangulations
...
TriangulationCellBase_3 does not request a circumcenter;
DelaunayTriangulationCellBase_3 does.
Delaunay_triangulation_3 only compiled because
Triangulation_cell_base_3 (and Triangulation_ds_cell_base_3 !)
provided circumcenter() operators and DT3 inherited T3's TDS.
- The circumcenter() functions are removed where they shouldn't exist
- DT3 uses DT_cell_base_3 as cell base instead of T_cell_base_3
- Concepts/Classes that supposedly only required TriangulationCellBase_3
and then built Delaunay triangulations with that (Alpha Shapes, etc.)
are upgraded to request DelaunayTriangulationCellBase_3 (anyway, it
wouldn't compile if you actually provided a model of
TriangulationCellBase_3)
- Fixed various wrong templates in classes/concepts such as
MeshVertexBase_3 not refining RegularTriangulationVertexBase_3
and (only in the doc) defaulting to Triangulation_vertex_base_3
- Removed the deprecated class (for 4+ years) T_cell_base_with_circumcenter
2018-04-26 13:21:53 +02:00
Mael Rouxel-Labbé
7007f44f1f
Removed deprecated (since 2014) cls Triangulation_cell_base_with_circumcenter_3
2018-04-26 13:00:21 +02:00
Mael Rouxel-Labbé
17d46e9211
Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
2018-04-26 11:55:17 +02:00
Andreas Fabri
063a91a771
Use CGAL::random_shuffle
2018-04-04 14:00:23 +01:00
Laurent Rineau
cd6fe20bd4
Merge branch 'releases/CGAL-4.11-branch'
2018-03-26 11:03:37 +02:00
Laurent Rineau
3c70f8bad0
Fix dependencies by moving files
2018-03-23 14:17:24 +01:00
Andreas Fabri
bbfeedcf5a
Oliver's faster walk_to_next_3()
2018-03-16 19:24:36 +01:00
Mael Rouxel-Labbé
b080804f09
Fixed missing bound check in the sequential insertion phase
...
If the input point set is degenerate, dimension() < 3 is always 'true'
and we will eventually try to read beyond the end of the points vector.
See issue https://github.com/CGAL/cgal/issues/2922
2018-03-13 11:14:06 +01:00
Mael Rouxel-Labbé
c28e05be0c
Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
2018-02-23 12:50:06 +01:00
Laurent Rineau
78e7060525
Merge pull request #2712 from afabri/CGAL-VC+warnlevel_4-GF
...
Deal with VC++ warnings of level /W4
2018-02-19 14:27:06 +01:00
Laurent Rineau
01e2405fa7
Merge pull request #2774 from MaelRL/T3-Fix_is_Gabriel-GF
...
T3/P3T3: Fix Is_Gabriel(Vertex_handle) for regular triangulations
2018-02-14 15:35:05 +01:00
Mael Rouxel-Labbé
05c31eac52
Fixed is_Gabriel(Vertex_handle) for RT3
2018-01-31 15:29:18 +01:00
Andreas Fabri
43d2ecb521
Triangulation_3
2018-01-17 16:57:46 +00:00
Andreas Fabri
6cc385c6ec
Number_types
2018-01-17 15:47:18 +00:00
Laurent Rineau
42b11ddf29
Revert the merge of PR #2478
...
This reverts the merge commit 46cc91e787 onto
488c3e2879 .
2018-01-04 17:54:08 +01:00
Mael Rouxel-Labbé
852cc12dc6
Fixed wrong type
2017-12-14 10:13:11 +01:00
Andreas Fabri
7d0ce1e317
fix typedef
2017-12-12 22:16:30 +01:00
Mael Rouxel-Labbé
adfdc70374
Uniformized template parameters names in all P3T3 traits classes
...
Hopefully works around a bug in MSCV compilers too
2017-12-12 20:53:10 +01:00
Mael Rouxel-Labbé
417903d640
Reworked some 'using' keywords in P3T3 traits classes
2017-12-12 17:48:51 +01:00
Mael Rouxel-Labbé
72995837db
Improved Robust_weighted_circumcenter_filtered_traits_3
2017-12-12 17:43:14 +01:00
Mael Rouxel-Labbé
c5993c95b3
Replaced a postcondition
...
When manually building a triangulation, we might have inserted vertices but
not yet cells, and thus the dimension is 0 but point() should still work.
This is the case in tet_soup_to_c3t3 for example.
2017-12-12 00:46:01 +01:00
Mael Rouxel-Labbé
ba3a59ed5a
Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
2017-11-30 15:54:00 +01:00
Mael Rouxel-Labbé
812109df83
Added Mesh_3_regular_triangulation_3_wrapper
...
This wrapper around Regular_triangulation_3 adds undocumented, straightforward
functions which are required for Mesh_3 because of Periodic_3_mesh_3:
they are functions for which both (periodic and non-periodic) triangulations
have fundamentally different implementations, usually because Periodic_3_mesh_3
does not know the offset of a point and must brute-force check all
possibilities. To allow Periodic_3_mesh_3 to use Mesh_3's files,
each mesh triangulation implements its own version.
2017-11-22 14:23:59 +01:00
Mael Rouxel-Labbé
c89ae64e31
Fixed getting kernel type through traits
2017-11-21 14:55:32 +01:00
Sébastien Loriot
8cdfad0d08
add missing URL and Id tags
2017-11-15 22:58:57 +01:00
Sébastien Loriot
ff26773f7b
remove include directive for checking GPL compliance in LGPL headers
2017-11-12 10:21:35 +01:00
Sébastien Loriot
ee57fc2d6c
add SPDX identifier for files under the GPL-3+ license
2017-11-12 10:17:51 +01:00
Sébastien Loriot
0698f79aff
add SPDX identifier for files under the LGPL-3+ license
2017-11-12 10:17:50 +01:00
Mael Rouxel-Labbé
7d7fb2f81d
Generalized the signatures of some predicate wrappers
...
Since construct_point() is used, the arguments can be either Point_3 or
Weighted_point_3.
2017-11-06 14:40:29 +01:00
Mael Rouxel-Labbé
33ea377bbe
Cleaned robust weighted circumcenter filtered traits (no real changes)
2017-11-02 11:41:40 +01:00
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é
9edd4194ba
Fixed Triangulation_3.h indentation and whitespace (no real changes)
2017-10-31 18:23:31 +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é
bae6f15fa5
WIP commit
2017-10-27 15:34:33 +02:00
Mael Rouxel-Labbé
7b379d4338
Temporarily moved code from RT3 to T3
2017-10-22 23:40:45 +02:00
Jane Tournois
bd34d03c15
add cheaper orientation function to traverser
...
it uses Simple_cartesian<double> to make cheaper, though less
precise, tests
2017-09-21 11:39:40 +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é
516281d34b
Fixed a couple of warnings
2017-07-31 12:43:57 +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
Laurent Rineau
66a10f5a91
Merge pull request #2275 from afabri/Convex_hull_3-OpenMesh-GF
...
Convex_hull_3: Make it work for OpenMesh
2017-07-25 18:17:02 +02:00
Andreas Fabri
0cce789437
Add examples for using 3D convex hull functions with open mesh. And fix a bug in convex hull code
2017-07-19 12:25:31 +02:00
Mael Rouxel-Labbé
52956a40fb
Fixed accidentally including boost's function_property_map.h
2017-07-04 10:45:33 +02:00
Mael Rouxel-Labbé
5ef4ed6083
Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle
...
Based on master
2017-07-03 16:12:14 +02:00
Mael Rouxel-Labbé
7943d0877e
Fixed taking reference to temporary (ter)
2017-06-30 11:40:14 +02:00
Mael Rouxel-Labbé
02a9a91e40
Cleaned off useless 'using'
2017-06-30 11:32:07 +02:00
Mael Rouxel-Labbé
4ac89861ba
Fixed (?) taking reference to temporary
2017-06-28 10:17:14 +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é
044deb6c7e
Replaced boost_static_assert with cgal_static_assert and used () guards
2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé
87e0ae40b0
Closed a parenthesis
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é
1f14a66d94
Renamed uses of invalidate_circumcenter() in accordance with the modified concept
2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé
f964171f14
Fixed Point / Point_3 issues in T3 and improved the documentation
...
-- Do not use concept names as template names in the doc
-- Fixed point / point_3 issues and other problems of coherence between concept
and model
-- Fixed some wrong refinement relationships
2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé
2d2eb22f98
Fixed boost/core/is_same.hpp > boost/type_traits/is_same.hpp
2017-06-28 10:16:23 +02:00
Jane Tournois
130e65db97
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-06-28 10:16:23 +02:00
Mael Rouxel-Labbé
a990913d99
Fixed using default templated class functions
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
Jane Tournois
110316570c
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 both geom traits
are compatible
2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé
b5affb383d
Changed boost/core/enable_if.hpp to boost/utility/enable_if.hpp
2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé
e122246f5f
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-06-28 10:16:23 +02:00
Mael Rouxel-Labbé
ec7efb6d70
Fixed Has_nested_type_Bare_point includes
2017-06-28 10:15:30 +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é
ae480077de
Removed obsolete file: Regular_traits_adaptor.h
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é
47b3e7193e
Comparison result should be of type Comparison_result
...
(it worked anyway since Comparison_result is a Sign internally)
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é
b50098bb1e
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-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
98226c97c4
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-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é
cd9a908393
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-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
ae1fb2bfec
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-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
e421fe92f9
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-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é
d2abb2d981
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-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
22bd3538a0
Added CGAL_NO_DEPRECATED_CODE macros to Regular_triangulation_euclidean_traits
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
Sébastien Loriot
e602bae784
version without partial specialization
...
the norms says that partial specialization should be
done in a namespace (not inside a class)
2017-06-28 10:14:35 +02:00
Jane Tournois
ae4449782d
remove hybrid operators, that use Bare points and Weighted points in an ambiguous manner
...
this commit only fixes the testsuite of Mesh_3
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
Clement Jamin
c7bd6a7403
Include licence check header
2017-06-23 10:41:05 +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
Clement Jamin
5b9562ea84
Merge branch 'Triangulation-add_regular_tri-cjamin_mglisse-old' into Triangulation-add_regular_tri-cjamin_mglisse
2017-06-16 11:09:07 +02:00
Mael Rouxel-Labbé
3c42724e22
Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle
...
Based on Kernel_Weighted_point_without...
@ 41e7520b3e
2017-06-15 15:07:53 +02:00
Mael Rouxel-Labbé
5018c014b7
Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle
...
Based on Kernel_Weighted_point_without...
@ 41e7520b3e
2017-06-15 15:07:53 +02:00
Mael Rouxel-Labbé
98800d2de8
Fixed regular triangulation capitalization across CGAL
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé
9cc17dc935
Renamed uses of invalidate_circumcenter() in accordance with the modified concept
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé
9fa4df6ece
Fixed Point / Point_3 issues in T3 and improved the documentation
...
-- Do not use concept names as template names in the doc
-- Fixed point / point_3 issues and other problems of coherence between concept
and model
-- Fixed some wrong refinement relationships
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé
fa6be567e5
Fixed boost/core/is_same.hpp > boost/type_traits/is_same.hpp
2017-06-15 10:34:15 +02:00
Jane Tournois
dae940b0fd
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-06-15 10:34:15 +02:00
Mael Rouxel-Labbé
42f4c310e7
Fixed using default templated class functions
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
Jane Tournois
e399530d69
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 both geom traits
are compatible
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé
b94b32bacb
Changed boost/core/enable_if.hpp to boost/utility/enable_if.hpp
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé
042e558f77
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-06-15 10:34:15 +02:00
Mael Rouxel-Labbé
8ad34307ad
Fixed Has_nested_type_Bare_point includes
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é
a4c1c2371f
Removed obsolete file: Regular_traits_adaptor.h
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