Commit Graph

1843 Commits

Author SHA1 Message Date
Mael Rouxel-Labbé 8ac412cb8a Fixed missing includes 2018-05-29 15:29:19 +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 8a0dc2f279 Add one draw example in each user manual. 2018-05-29 11:11:49 +02:00
Guillaume Damiand fb95a8e0d9 Add doc for draw 2018-05-29 11:11:49 +02:00
Guillaume Damiand 23426e70c4 Remove macro modified. 2018-05-29 11:11:49 +02:00
Guillaume Damiand ff586425af All 4 new examples to illustrate the usage of CGAL::draw. 2018-05-29 11:11:49 +02:00
Guillaume Damiand ddfb8204dc Add figures for all the basic viewers. 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é 8fb3f1a782 Improved RT3's tests of "insertion with info" types of functions 2018-05-28 15:45:02 +02:00
Mael Rouxel-Labbé e9d3b9767e Fixed taking a reference to a temporary (when using EPECK) 2018-05-28 15:43:45 +02:00
Laurent Rineau 588cc67897 Merge pull request #3096 from MaelRL/CGAL-Fix_deprecated_code_usage-GF
Fix some deprecation-related issues
2018-05-28 13:58:41 +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
Andreas Fabri 3804bf6983 Fix Triangulation_3 demo (CGAL_PI) 2018-05-18 08:01:26 +01:00
Maxime Gimeno f22c2864a0 Put qglviewer in the namespace CGAL 2018-05-17 10:20:56 +02:00
Andreas Fabri ff0836ec79 cleanup 2018-05-17 10:20:56 +02:00
Maxime Gimeno 6fae94ad90 fix trackball transparency in T3 demo 2018-05-17 10:20:55 +02:00
Maxime Gimeno 6584abd90b Use integrated qglviewer for 3D demos 2018-05-17 10:20:55 +02:00
Mael Rouxel-Labbé c5f134c9ae Readability changes 2018-04-26 13:58:23 +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 c54a6a4980 Put CGAL::random_shuffle() in the subnamespace cpp98 2018-04-11 09:32:23 +01:00
Andreas Fabri 3955f031bd Fix examples/tests/demos 2018-04-04 14:18:22 +01: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 e8adff9cd4 Merge pull request #2926 from sloriot/CGAL-https_links
Use https for all links to www.cgal.org and doc.cgal.org
2018-03-26 10:56:00 +02:00
Laurent Rineau 3c70f8bad0 Fix dependencies by moving files 2018-03-23 14:17:24 +01:00
Mael Rouxel-Labbé 8646350d47 Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2018-03-15 14:42:21 +01:00
Sébastien Loriot 01af331c72 use https for all links to www.cgal.org and doc.cgal.org 2018-03-14 15:59:38 +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
Laurent Rineau e687e38d9c Merge pull request #2911 from lrineau/CGAL-prefix_CMake_options_with_CGAL-GF
Prefix CMake options with `CGAL_`
2018-03-09 18:41:24 +01:00
Laurent Rineau 4a7966d145 Merge pull request #2860 from lrineau/Installation-fix_check_headers-GF
Fix CGAL_ENABLE_CHECK_HEADERS, again
2018-03-09 18:39:26 +01:00
Laurent Rineau f12b3bf302 Prefix CMake options with `CGAL_`
- in `examples/Mesh_3/`,
- in `examples/Point_set_processing_3/`,
- in `demo/Polyhedron/`, and
- in `demo/Triangulation_3/`.
2018-03-08 12:07:49 +01:00
Laurent Rineau 0a74393dcf Commit all new dependencies files 2018-03-06 18:44:48 +01:00
Laurent Rineau 182239d6b6
Merge branch 'master' into CGAL-remove_SCL_SECURE_NO_DEPRECATE-GF 2018-03-06 16:49:30 +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
Andreas Fabri f7ba8ff4df Fix Box_intersection_d, Minkowski_sum_2, Nef_3, Surface_mesh, Straight_skeleton, Triangulation_3 2018-02-23 11:35:58 +00: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
Sébastien Loriot 483f69728e Refresh branch 2018-02-12 22:21:38 +01:00
Maxime Gimeno 688b5dd06e Move dependencies creation to package_info and add dependencies to git 2018-02-02 12:08:05 +01:00
Maxime Gimeno 8bde832931 Fix METIS headers in BGL 2018-02-02 12:08:05 +01:00
Maxime Gimeno a676d5a60e Try to fix errors in classification checks 2018-02-02 12:08:05 +01:00
Maxime Gimeno acd0a72edf Modify travis script to test dependencies 2018-02-02 12:08:05 +01:00
Maxime Gimeno ae36b452bc Add dependencies of all packages 2018-02-02 12:08:05 +01:00
Mael Rouxel-Labbé 62368d8b3f
Reverted useless line addition 2018-01-31 15:41:37 +01:00
Mael Rouxel-Labbé 05c31eac52 Fixed is_Gabriel(Vertex_handle) for RT3 2018-01-31 15:29:18 +01:00
Mael Rouxel-Labbé bd4c643868 Fixed T3/P3T3 concepts
- Fixed RT/DT/P3RT3/P3DT3 not requiring (power)side_of_bounded_(power)_sphere
- No need to specify offset-less predicates in Periodic concepts
2018-01-31 15:27:15 +01:00
Simon Giraudot 6269309d86 Use CGAL include for boost counting/transform iterators everywhere 2018-01-23 11:09:52 +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
Simon Giraudot e00c4f67d6 Fix missing propagations of PSP named parameters API change 2018-01-10 16:39:34 +01: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é 34d53aa2d9 Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2017-12-05 20:32:30 +01:00
Laurent Rineau 3c6640bf59 Merge pull request #1436 from lrineau/CGAL-new_cmake-GF
Renewal of CMake scripts: header-only, ctest, CMake>=3.1

# Conflicts:
#	Installation/config/testfiles/CGAL_CFG_NESTED_CLASS_FRIEND_DECLARATION_BUG.cpp
2017-12-05 18:20:05 +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
Laurent Rineau 6ec4c12031 Do not use OpenGL directly, but only using Qt5 OpenGL classes 2017-11-28 17:58:12 +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
Mael Rouxel-Labbé 816fd4f646 Doc improvements
and trailing whitespace cleaning
2017-11-21 14:26:02 +01:00
Laurent Rineau 891a83840e Merge branch 'CMake-parse_CTest_XML_output-lrineau' into CGAL-new_cmake-GF 2017-11-17 15:03:57 +01:00
Laurent Rineau 21dabf1b1b Add compilation tests for demos 2017-11-16 18:45:33 +01:00
Laurent Rineau bbee705221 Add compilation tests for demos 2017-11-16 18:38:15 +01:00
Sébastien Loriot 8cdfad0d08 add missing URL and Id tags 2017-11-15 22:58:57 +01:00
Laurent Rineau 0681ac6dbc Fix the TBB_USE_FILE warnings 2017-11-15 17:00:02 +01:00
Laurent Rineau a9365554c9 Merge pull request #2550 from sloriot/CGAL-add_SPDX_tags
Add SPDX License Identifier
2017-11-15 16:48:27 +01:00
Laurent Rineau 3ff09bc549 Merge pull request #2580 from lrineau/CGAL-Support_CMake_3.10-GF
Renew the handle of policies, for CMake-3.10
2017-11-15 16:47:42 +01:00
Laurent Rineau fe24a4db68 Explicit the dependencies of QGLViewer 2017-11-14 14:08:55 +01:00
Guillaume Damiand 6b300501aa T3 demo does not need script 2017-11-14 11:13:17 +01:00
Clement Jamin e2a1dd87ff Add SVG component 2017-11-13 17:57:33 +01:00
Laurent Rineau 86fb40832a Merge pull request #2580 from lrineau/CGAL-Support_CMake_3.10-GF
Renew the handle of policies, for CMake-3.10
2017-11-13 12:01:39 +01:00
Laurent Rineau 099b3685f6 Fix: the target was defined twice 2017-11-13 11:52:51 +01:00
Laurent Rineau c6068691fa Merge pull request #2547 from lrineau/CMake-parse_CTest_XML_output-lrineau
CGAL testsuite implemented with CTest plus Python (part.1)
2017-11-13 11:13:54 +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 97e8ea1794 remove extra space 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
Laurent Rineau 62c70d41ca Renew the handle of policies, for CMake-3.10
Now that we require CMake>=3.1, we can forget a lot of old CMake policies.

`CMP0053` `OLD` behavior is still needed, because of a bug in Qt5 CMake files, but it will
not be set with CMake>=3.10. Let's assume that a recent CMake version means
a recent Qt5 version.
2017-11-06 14:58:36 +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é f058555fc3 Minor doc changes in T2/T3 2017-10-25 14:31:54 +02:00
Laurent Rineau 1c4667b7ff Avoid all T_3 test run at the same time
... because they all save/load from the same file names.
2017-10-24 11:46:59 +02:00
Mael Rouxel-Labbé 7b379d4338 Temporarily moved code from RT3 to T3 2017-10-22 23:40:45 +02:00
Laurent Rineau 7e9f756935 Replace all std::unary_function by CGAL::unary_function 2017-10-04 15:57:09 +02:00
Mael Rouxel-Labbé aaeaf35380 Introduced the tag "Periodic_tag" to mark distinguish periodic triangulations 2017-08-23 16:18:05 +02:00
Sébastien Loriot 9bb2d4433f Merge remote-tracking branch 'cgal/releases/CGAL-4.10-branch' 2017-08-04 13:37:58 +02:00
Maxime Gimeno 831f0239cb Fix CMP0071 warning. 2017-08-03 10:38:19 +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
Laurent Rineau 08ec884deb Merge pull request #2248 from lrineau/Triangulation_3-disable_CTest_for_demos-lrineau
Disable CTest for demo/Triangulation_3_Geomview_demos/
2017-07-17 12:24:12 +02:00
Laurent Rineau 871bba21f6 Merge pull request #2212 from MaelRL/Periodic_3_Regular_triangulation_3-APelle
Add periodic regular triangulations
2017-07-17 12:23:54 +02:00
Laurent Rineau 40d65ab16f Disable CTest for demo/Triangulation_3_Geomview_demos/ 2017-07-11 14:55:50 +02:00
Maxime Gimeno 8104d153af Fixes
Conflicts:
	Polyhedron/demo/Polyhedron/Plugins/Operations_on_polyhedra/Clip_polyhedron_plugin.cpp
2017-07-10 16:16:34 +02:00
Maxime Gimeno 14482af5ea Add missing semicolon. 2017-07-10 16:11:10 +02:00
Maxime Gimeno d03fc56520 Fix Triangulation_3 demo for QGLViewer v2.7 2017-07-10 16:11:10 +02:00
Maxime Gimeno 3a97734a70 fix T3 demo for QGLViewer v2.7.0 2017-07-10 16:11:09 +02:00
Laurent Rineau ab46739f07 Merge pull request #2213 from maxGimeno/Fix_demos_for_qglviewer2_7_0-GF
Fix demos for qglviewer 2.7.0
2017-07-10 15:00:09 +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
Maxime Gimeno 1a5d74f020 Fixes 2017-07-03 09:39:12 +02:00
Maxime Gimeno ccec9f45c8 Add missing semicolon. 2017-07-03 09:35:15 +02:00
Maxime Gimeno 722776b78e Fix Triangulation_3 demo for QGLViewer v2.7 2017-07-03 09:35:14 +02:00
Maxime Gimeno 9bf422ad5b fix T3 demo for QGLViewer v2.7.0 2017-07-03 09:35: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é d0749f1d53 Minor doc fixes 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é 2ddbc31721 Minor doc changes 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é a68423f4c8 Adapted the documentation to the new concept RegTrCellBaseWithWeightedCircumcenter
- MeshCellBase_3 loses "invalidate_circumcenter" and refines the new concept
- Reg_tr_cell_base_with_weighted_circumcenter_3 is a model of the new concept
2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé ea5c4fabb7 Added new concept RegularTriangulationCellBaseWithWeightedCircumcenter_3
Describes the requirements of a base cell that caches its weighted circumcenter
2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé 15979cd037 Fixed missing dependency in T3's documentation 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é 77e6ed8aec Fixed Point typedef in Triangulation_3 doc 2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé 992bd6e263 Fixed documentation of Regular cell bases
-- Regular_triangulation_cell_base_3 must document hidden_points handling
functions

-- Regular cell bases must document their Point type
2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé a64fb2f271 Cleaned Weighted_point_mappers from the documentation 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é 9bfe9b24a5 Trimmed Construct_point_23's note in TriangulationTraits_23 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é 104baabaeb Aligned the concept RegularTriangulationCellBase_3 with other similar concepts
That is, it should define the type `Point` (instead of `Weighted_point`), like
in TriangulationVertexBase_3 and RegularTriangulationVertexBase_3.
2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé 31dc2998a5 Clarified some documentation about the usage of Construct_point_23 in TTraits_23 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é 9fbf2720ce Annihilated Regular_triangulation_euclidean_traits_23 across all packages
Left a little bit alive in the tests and in the Triangulation_23/doc
2017-06-28 10:15:30 +02:00
Mael Rouxel-Labbé 52e366ebd3 TriangulationTraits_23 refine SpatialSortingTraits_23 for Hilbert sorting 2017-06-28 10:15:30 +02:00
Mael Rouxel-Labbé f9b65eeac0 Small improvements to the (Regular)TriangulationTraits_2/3 concepts 2017-06-28 10:15:30 +02:00
Mael Rouxel-Labbé 42506237b2 Add Construct_point_2/3 to the concepts of triangulation traits
-- TriangulationTraits_2 requires Point_2 construct_point_2(Point_2)
-- RegularTriangulationTraits_2 requires Point_2 construct_point_2(Weighted_point_2)
-- TriangulationTraits_3 requires Point_3 construct_point_3(Point_3)
-- RegularTriangulationTraits_3 requires Point_3 construct_point_3(Weighted_point_3)
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é 42fa20881c Fixed point typedef in Tr_3/benchmarks 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 1e30446d7e Fixed Triangulation_benchmark_3.cpp
-- Fix Weighted_point_3 / Point_3 incompatibilities
-- Generator of weighted points also generates random weights
-- Do not use Regular_euclidean_triangulation_traits since they are deprecated
-- Do not use 'using namespace'
-- Use the new policy tag to disable hidden point caching (see b925281)
-- Remove unused objects (such as pts2_bbox)
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé b4eed5b64c Fixed test_RT_cell_base_with_weigh... and added it to the CMakeLists
-Some wrong Bare_point/Weighted_point usage
-Fully instantiate the Regular_triangulation_cell_base_with_weighted_circum...
 with all the template parameters of the regular cell base
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é e08b054aff Trimmed Regular triangulation euclidean traits (doc version)
Now that the traits is exactly the kernel, there isn't a big need for a lot of
documentation.
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é 7bdd0b1383 Fixed Triangulation_3's regular test
Constructing weighted points with (x,y,z,w) is ambiguous and that is why it was
disabled.
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé d1f86d0146 Removed unused typedef 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 9d5eaa8259 Fixed missing typename 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé fcdadec2c7 Fixed Triangulation_3's test using Traits::Bare_point/Weighted_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
Jane Tournois 223e3a20b6 make constructors of Weighted_point explicit
and fix compilation errors
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 6ec4669937 fix compilation of tests wrt Point vs Weighted point 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
Laurent Rineau 036b4b064f Merge pull request #2185 from cjamin/Triangulation-add_regular_tri-cjamin_mglisse
Triangulation: add dD regular triangulation
2017-06-27 16:29:11 +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é 7beae5f1af Minor doc fixes 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 98800d2de8 Fixed regular triangulation capitalization across CGAL 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 77f415f02c Minor doc changes 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é 6e3f07a72d Adapted the documentation to the new concept RegTrCellBaseWithWeightedCircumcenter
- MeshCellBase_3 loses "invalidate_circumcenter" and refines the new concept
- Reg_tr_cell_base_with_weighted_circumcenter_3 is a model of the new concept
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 027ef8e22f Added new concept RegularTriangulationCellBaseWithWeightedCircumcenter_3
Describes the requirements of a base cell that caches its weighted circumcenter
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé c28381d728 Fixed missing dependency in T3's documentation 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é 4a31b6bff7 Fixed Point typedef in Triangulation_3 doc 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 2c9fd32ddb Fixed documentation of Regular cell bases
-- Regular_triangulation_cell_base_3 must document hidden_points handling
functions

-- Regular cell bases must document their Point type
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 30efb5deb6 Cleaned Weighted_point_mappers from the documentation 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é 1d6fb4764b Trimmed Construct_point_23's note in TriangulationTraits_23 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é 99989b9247 Aligned the concept RegularTriangulationCellBase_3 with other similar concepts
That is, it should define the type `Point` (instead of `Weighted_point`), like
in TriangulationVertexBase_3 and RegularTriangulationVertexBase_3.
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 4003f28fcb Clarified some documentation about the usage of Construct_point_23 in TTraits_23 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é 451f084021 Annihilated Regular_triangulation_euclidean_traits_23 across all packages
Left a little bit alive in the tests and in the Triangulation_23/doc
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 93d16a4d23 TriangulationTraits_23 refine SpatialSortingTraits_23 for Hilbert sorting 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé e44fe83070 Small improvements to the (Regular)TriangulationTraits_2/3 concepts 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 1f34ef2b2d Add Construct_point_2/3 to the concepts of triangulation traits
-- TriangulationTraits_2 requires Point_2 construct_point_2(Point_2)
-- RegularTriangulationTraits_2 requires Point_2 construct_point_2(Weighted_point_2)
-- TriangulationTraits_3 requires Point_3 construct_point_3(Point_3)
-- RegularTriangulationTraits_3 requires Point_3 construct_point_3(Weighted_point_3)
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