Commit Graph

640 Commits

Author SHA1 Message Date
Jane Tournois e8ac9f281c add feature detection 2021-10-27 12:24:24 +02:00
Mael Rouxel-Labbé 8166579e55 Merge branch 'PM-Fix_pmaps_reference_types-GF' into PM-Fix_pmaps_reference_types_master-GF 2021-10-11 19:58:07 +02:00
Mael Rouxel-Labbé 590ddf8015 Various fixes for pmaps:
- Use `value_type` when the returned type is not a reference
- Enforce `reference = value_type` if the returned type is not
  a reference (to avoid `typename PM::reference r = get(m, k)`,
  which will take a ref to a temporary if the `reference`
  typedef is an actualy reference)
- Do not use `put_get_helper` if the property map is not a `lvalue`
  **mutable** property map: the `put()` is `map[k] = v`, which
  is broken if `operator[]` does not return a reference
- The concept `boost::lvalue_property_map_tag` requires `operator[](key)`,
  not a reference in `get(map, key)`. You can have a readable property map
  returning a reference through its `get(map, key)`, but if there is
  no `operator[]`, it's just a `boost::readable_property_map_tag`
- Some const correctness to avoid copying maps with state
  or heavy keys in `get(map, key)` / `put(map, key, value)`
- Base the category of a wrapping pmap on what it offers instead
  of just forwarding the base property map's category
- Tried to do something like mutable lvalue pmap:
  * `value_type& operator[](key&)`
  * `ref get(map, const key&)`
  * `put(map, const key&, const value_type&)`
  and non-mutable lvalue pmap:
  * `const value_type& operator[](const key&)`
  * `ref get(map, const key&)`
  but not everything fits properly...
2021-10-08 15:38:47 +02:00
Sébastien Loriot 8a0b290478 char* -> string 2021-10-05 17:42:25 +02:00
Sébastien Loriot efbd86df7f extra manual fixes 2021-10-05 17:42:21 +02:00
Jane Tournois 1e334366f7 improve example 2021-10-05 17:04:13 +02:00
Jane Tournois 276ea18313 formatting (Mael's review) 2021-10-05 11:12:49 +02:00
Sébastien Loriot 6dad5b6922 rename file 2021-10-04 11:00:40 +02:00
Sébastien Loriot 8350dea94a char* -> std::string 2021-10-04 09:49:24 +02:00
Sébastien Loriot 47028cd184 automatically move data files in data dir + update paths
Done for OFF/OBJ/STL/XYZ/PWN/PLY
2021-10-04 09:42:49 +02:00
Jane Tournois 7e673974cc add facet_distance 2021-10-01 10:30:08 +02:00
Jane Tournois 9bbd1b179a add edge sizing field management 2021-10-01 09:23:25 +02:00
Jane Tournois bf2b30d9ce fix parameter name in example 2021-09-30 14:53:22 +02:00
Jane Tournois 993802046c add mesh_edge_size 2021-09-30 14:28:57 +02:00
Jane Tournois b3e528c901 use parameters in example 2021-09-28 15:37:15 +02:00
Jane Tournois 6357211695 deprecate smooth_mesh() and rename it angle_and_area_smoothing() 2021-09-27 17:05:14 +02:00
Jane Tournois 73b0cb5369 add make_surface_mesh to be implemented with Mesh_3 2021-09-27 11:01:18 +02:00
Jane Tournois 9621e79d20 change input
(elephant is not in the data folder)
2021-09-14 13:09:38 +02:00
Jane Tournois ff0425db2e add minimal example and fix compilation 2021-09-13 10:56:30 +02:00
Sebastien Loriot 1bd8e07743
Merge pull request #5851 from maxGimeno/PMP-Add_a_visitor_to_orient_polygon_soup-maxGimeno
PMP: Add a visitor to the orientation function
2021-08-30 10:45:41 +02:00
Sébastien Loriot cc3db6bf60 rename variable 2021-08-09 10:43:08 +02:00
Sébastien Loriot b539d4a301 extend the visitor to report non-manifold vertex in an umbrella without nm edge 2021-08-05 18:13:35 +02:00
Sébastien Loriot bc1fe892d8 remove const& 2021-08-02 10:40:12 +02:00
Sébastien Loriot d2a3f35d03 replace point -> vertex 2021-08-02 10:05:59 +02:00
Sebastien Loriot a16105d548 fix phrasing
Co-authored-by: Mael <mael.rouxel.labbe@geometryfactory.com>
2021-08-02 09:58:54 +02:00
Maxime Gimeno c99fdebafe add a non_manifold_vertex() function to the visitor 2021-07-30 12:17:06 +02:00
Maxime Gimeno e52775f943 Documentation 2021-07-29 11:32:35 +02:00
Maxime Gimeno 2e3ebb1916 Add a visitor to the example 2021-07-29 10:13:05 +02:00
Dmitry Anisimov d37eb48ade using new OFF reader from IO 2021-06-18 14:59:26 +02:00
Dmitry Anisimov aaf55dbaa0 Merge remote-tracking branch 'maxGimeno/PMP-compare_faces_from_meshes-maxGimeno' into gsoc2019-PMPHDist-martinskrodzki 2021-06-18 14:45:24 +02:00
Dmitry Anisimov 859bae9036 sebastien review 2021-06-18 14:44:09 +02:00
Maxime Gimeno 553445a771 Changes after review 1 2021-05-26 11:16:09 +02:00
Maxime Gimeno acd6bb3c57 Fix namespace and remove unused typedef 2021-05-20 09:00:29 +02:00
Maxime Gimeno 797c5ad08b Merge remote-tracking branch 'cgal/master' into PMP-compare_faces_from_meshes-maxGimeno 2021-05-20 08:58:24 +02:00
Dmitry Anisimov c4e23b5ced tested with different concurrency tags, cleanup, added empty test for the new function 2021-05-05 15:29:48 +02:00
Dmitry Anisimov 3c0fc281e8 more optimizations, using boost any and factoring out kd tree, adding metis check 2021-05-05 13:17:23 +02:00
Sébastien Loriot fb6f703b55 IO namespace for files in IO directories 2021-05-04 14:36:06 +02:00
Dmitry Anisimov 5fe5bb049c Update Polygon_mesh_processing/examples/Polygon_mesh_processing/hausdorff_bounded_error_distance_example.cpp
Co-authored-by: Sebastien Loriot <sebastien.loriot@cgal.org>
2021-04-30 09:27:21 +02:00
Dmitry Anisimov 7fd291c588 added input-dependent infinity value + assertions 2021-04-29 17:43:00 +02:00
Sébastien Loriot d4e7879464 make the code work with different input mesh types 2021-04-29 15:45:06 +02:00
Sébastien Loriot 93855b1af1 Merge PMP-compare_faces_from_meshes-maxGimeno into gsoc2019-PMPHDist-martinskrodzki 2021-04-29 10:36:22 +02:00
Sébastien Loriot b4787adc19 allow difference mesh types 2021-04-29 10:35:26 +02:00
Laurent Rineau c091c7f86e Merge pull request #5532 from lrineau/Kernel_23-Do_interesect__without_division-GF
Remove operator/ from CGAL::Mpzf and implement Do_intersect_3 with RT only (without division)
2021-04-28 15:24:15 +02:00
Dmitry Anisimov a2f460c9d6 Merge branch 'master' into gsoc2019-PMPHDist-martinskrodzki 2021-04-27 18:37:32 +02:00
Dmitry Anisimov 95ab1a57a0 tests moved to the test folder 2021-04-27 11:22:55 +02:00
Dmitry Anisimov d5e1c1fdd9 shorter bunny test 2021-04-26 15:38:06 +02:00
Dmitry Anisimov 4cf4e2c50a return a pair of realizing triangles, still to be discussed 2021-04-26 15:21:58 +02:00
Dmitry Anisimov 69c48308cc added test for realizing triangles, updated how the bounds are stored, removed useless types 2021-04-26 13:04:59 +02:00
Dmitry Anisimov f92e24f9c2 now we can return realizing triangles 2021-04-23 16:01:32 +02:00
Dmitry Anisimov 1b892e0558 subdivision tested - it works 2021-04-23 15:41:57 +02:00
Dmitry Anisimov 6bf1966012 partially fixed issue for match faces + added minimum example for that issue 2021-04-23 14:37:58 +02:00
Dmitry Anisimov 33d2f1073a optimized AABB tree calls 2021-04-21 11:48:56 +02:00
Dmitry Anisimov 4ebbaba856 added bunny benchmarks versus original paper 2021-04-19 14:00:03 +02:00
Maxime Gimeno c49152359c update max version of cmake and announce the new minimal in CHANGE.md 2021-04-15 15:08:54 +02:00
Dmitry Anisimov 50fc1cabd9 faster queries for close meshes, now traversal traits initial bounds depend on error_bound 2021-04-09 18:19:54 +02:00
Dmitry Anisimov 63db510aef epeck support, fixed bug with infinity value 2021-04-09 16:03:55 +02:00
Dmitry Anisimov dc9e958503 removed some asserts and types, added const, make it compile with epeck, but epeck gives wrong results 2021-04-09 12:35:18 +02:00
Dmitry Anisimov 410b03bc1f added z-shaped test 2021-04-09 10:46:01 +02:00
Dmitry Anisimov a255f692dc matching faces finished, still needs several more tests 2021-04-08 17:07:13 +02:00
Dmitry Anisimov 0333778b96 added face matching, not finished 2021-04-08 16:22:32 +02:00
Dmitry Anisimov 3b7931dcd9 added timings test 2021-04-08 15:50:49 +02:00
Dmitry Anisimov dfd2e15066 Merge remote-tracking branch 'maxGimeno/PMP-compare_faces_from_meshes-maxGimeno' into gsoc2019-PMPHDist-martinskrodzki 2021-04-07 13:54:02 +02:00
Dmitry Anisimov 841ad3b8b1 fixed bug introduced in 2d4c254 2021-04-07 13:53:10 +02:00
Dmitry Anisimov 4033bc14f3 added new tests with test data 2021-04-07 12:52:08 +02:00
Dmitry Anisimov f8f37393f3 fixed warnings 2021-04-07 12:44:17 +02:00
Laurent Rineau 58ddf16295 Merge pull request #5507 from afabri/PMP-vtune_isotropic_remeshing-GF
PMP:  Accelerate isotropic remeshing
2021-04-06 15:13:11 +02:00
Andreas Fabri ab75cbea46 Add data set that shows the performance gain when running self_intersections_example.cpp (4.6 sec master, 0.6 sec this PR when run sequentially 2021-04-01 18:42:05 +01:00
Maxime Gimeno 34e2180b22 rename match_faces 2021-04-01 13:50:41 +02:00
Maxime Gimeno ca5867f172 Changes after review 2021-03-25 13:27:16 +01:00
Maxime Gimeno 9e6eaa504a Orientation requirements always on, as it won't work without it on non triangle meshes 2021-03-23 13:43:49 +01:00
Maxime Gimeno dd90a3ce84 OutputIterators 2021-03-23 10:17:39 +01:00
Maxime Gimeno 7d4a661671 Overloads, plugin and data sets 2021-03-22 14:59:01 +01:00
Maxime Gimeno 67aaf04a0a doc + example + tests 2021-03-22 14:02:18 +01:00
Andreas Fabri 29a40dc40b Remove the timer and the output of the result 2021-03-19 15:47:12 +01:00
Sébastien Loriot ac15312260 add Ceres support cmake file 2021-03-18 14:47:56 +01:00
Maxime Gimeno 96a88df41b Working example. 2021-03-16 16:00:10 +01:00
Maxime Gimeno 0675a0d55e WIP 2021-03-12 17:00:44 +01:00
Laurent Rineau b2ed4e5f7e Merge pull request #5423 from afabri/PMP-corefine_OM-GF
PMP:: Use operator<  instead of operator> as OM only implements the former

Conflicts:
	Polygon_mesh_processing/examples/Polygon_mesh_processing/corefinement_consecutive_bool_op.cpp
	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Corefinement/intersection_impl.h
2021-03-10 11:33:30 +01:00
Andreas Fabri b1c2dd8db6 WIP: early exit in the static filter 2021-03-07 18:25:18 +00:00
Sébastien Loriot 6390fef896 rename example 2021-02-23 14:01:30 +01:00
Sébastien Loriot 61ce29600a move data and split example 2021-02-23 13:57:38 +01:00
Sébastien Loriot 20661527bd Merge branch 'martinskrodzki/gsoc2019-PMPHDist-martinskrodzki' into master 2021-02-19 10:58:11 +01:00
Sébastien Loriot 0e025bddd9 add initial version of coplanar decimation 2021-02-15 09:32:45 +01:00
Sébastien Loriot 29379aec95 use EPECK 2021-02-03 14:09:33 +01:00
Sébastien Loriot bdbc4a3ca0 remove unused typedef 2021-02-03 14:09:22 +01:00
Andreas Fabri 3f05cf3139 Add the example 2021-02-03 11:08:56 +00:00
Andreas Fabri cd70b9b172 Use operator< instead of operator> as OM only implements the former 2021-02-03 10:46:28 +00:00
Sébastien Loriot 8f0b2bb446 add an example do the union of a set of meshes in parallel 2021-01-29 09:47:10 +01:00
Laurent Rineau f176529041 Merge pull request #5357 from sloriot/CGAL-boost_function_output-master
Include non-deprecated header (master)
2021-01-21 16:22:39 +01:00
Laurent Rineau 52bb68c012 Merge pull request #5356 from sloriot/CGAL-boost_function_output-5.2
Include non-deprecated header (5.2)
2021-01-21 16:18:55 +01:00
Sébastien Loriot bc161f2ae9 Merge 'CGAL-Eigen3_support-5.2' 2021-01-15 10:59:20 +01:00
Sébastien Loriot f4935dc199 Merge branch 'CGAL-Eigen3_support-5.1' 2021-01-15 10:54:02 +01:00
Sébastien Loriot eecb00534e fix macro name to be consistent with find_package 2021-01-15 10:43:34 +01:00
Sébastien Loriot ad911271a9 Merge commit '6594e7549bd70923990d86c31e2aa267a79bb629' into HEAD 2021-01-15 10:12:17 +01:00
Sébastien Loriot bdd4efe3b3 Merge commit 'efc0c525e8b' into HEAD 2021-01-15 10:06:56 +01:00
Sébastien Loriot efc0c525e8 include non-deprecated header 2021-01-15 10:02:00 +01:00
Maxime Gimeno cf19fb2df9 Fixes 2021-01-08 09:35:35 +01:00
Maxime Gimeno 3d1c41fd14 Merge remote-tracking branch 'cgal/master' into CGAL_IO-maxGimeno 2021-01-07 15:05:28 +01:00
Laurent Rineau 85325d789f Merge pull request #5090 from afabri/FastEnvelope-GF
Polygon Mesh Processing:  Add envelope test
2021-01-06 16:11:56 +01:00
Sébastien Loriot a095b674e7 change extension to the one recognized by the demo 2020-12-09 14:20:07 +01:00
Sébastien Loriot 3b8d8ecfde update input 2020-12-07 16:22:26 +01:00
Sébastien Loriot 0edbd98898 update example + add it in the user manual 2020-12-03 14:36:43 +01:00
Sébastien Loriot bac1b56e00 test move constructor 2020-12-03 10:24:36 +01:00
Andreas Fabri 3253d61876 Add a 'done' before returning 2020-12-03 08:07:15 +00:00
Andreas Fabri 6046432534 Add a mesh in envelope test 2020-12-03 07:58:33 +00:00
Sébastien Loriot 87f0b49b11 remove extra template parameter 2020-12-01 18:17:03 +01:00
Andreas Fabri 9ec3cf56fb Add example with polygon soup 2020-11-30 07:43:24 +00:00
Maxime Gimeno 3b70343590 Merge remote-tracking branch 'cgal/master' into CGAL_IO-maxGimeno 2020-11-16 16:19:43 +01:00
Andreas Fabri f246c4abf8 merge 2020-11-13 16:26:57 +00:00
Andreas Fabri c510a89ea0 Improve doc 2020-11-10 09:59:01 +00:00
Andreas Fabri 56b461b2d4 Do not triangulate the prisms 2020-10-22 13:07:28 +01:00
Andreas Fabri d1a5e6c13b Add a figure 2020-10-22 13:00:01 +01:00
Maxime Gimeno bebd60c12b Merge remote-tracking branch 'cgal/master' into Cmake_improvements-maxGimeno 2020-10-20 09:53:54 +02:00
Sébastien Loriot 87b8f66e14 update from master 2020-10-20 09:19:13 +02:00
Andreas Fabri 89c9ed68b6 change namespace and add doc 2020-10-20 09:17:16 +02:00
Mael Rouxel-Labbé f55ef7dd50 Merge remote-tracking branch 'cgal/master' into CGAL_IO-maxGimeno 2020-10-09 18:36:17 +02:00
Laurent Rineau d075ef4fb3 Merge pull request #4712 from MaelRL/PMP-Clip_with_self_intersections-GF
PMP: Generalize some corefinement code
2020-10-09 17:10:50 +02:00
Mael Rouxel-Labbé 46630bdaad Merge remote-tracking branch 'cgal/master' into PMP-Clip_with_self_intersections-GF 2020-09-22 11:25:01 +02:00
Jane Tournois 4745308384 use graph_visitor instead of creating new triangulate_visitor 2020-09-15 14:38:29 +02:00
Jane Tournois 39e75e7530 rename split_visitor to triangulate_visitor and add PMPTriangulateFaceVisitor 2020-09-10 12:06:10 +02:00
Jane Tournois 626ba2745c replace done() by end() to be consistent with start() 2020-09-08 21:42:00 +02:00
Jane Tournois 268c0eabee replace operator() with more explicit visit() function 2020-09-08 19:03:34 +02:00
Jane Tournois 7f154f5c41 remove trailing whitespaces 2020-09-08 18:45:47 +02:00
Andreas Fabri 903fff4751 Restore example and add one for the visitor
# Conflicts:
#	Polygon_mesh_processing/examples/Polygon_mesh_processing/triangulate_faces_example.cpp
2020-09-08 15:18:19 +02:00
Andreas Fabri f2ff13d6c4 Add a visitor that allows to map each triangle to its original face
# Conflicts:
#	BGL/include/CGAL/boost/graph/named_params_helper.h
#	Polygon_mesh_processing/examples/Polygon_mesh_processing/triangulate_faces_example.cpp
#	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/triangulate_faces.h
2020-09-08 15:17:18 +02:00
Mael Rouxel-Labbé 8682f9bafb Merge remote-tracking branch 'cgal/master' into CGAL_IO-maxGimeno 2020-08-24 11:45:17 +02:00
Mael Rouxel-Labbé 1c53aea4e2 Add missing 'const' qualifiers 2020-08-06 08:50:41 +02:00
Mael Rouxel-Labbé 2375fed008 Enhance example to use custom traits (and test array-based PS_to_PM/repair_PS) 2020-08-05 10:49:54 +02:00
Maxime Gimeno 9c15f2c9dc Use FeatureSummary in the demo, and remove CGAL_FOUND 2020-08-04 12:46:17 +02:00
Mael 6553b0dfaa
Remove deleted example from CMakeLists.txt 2020-07-16 09:27:55 +02:00
Mael bbedb5e8b4
Fix name of property maps 2020-07-13 10:19:06 +02:00
Mael Rouxel-Labbé 7e2e9d849a Remove experimental code related to clipping self-intersecting meshes
See functionality added in https://github.com/CGAL/cgal/pull/4790 instead.

Keeping it in a commit instead of filtering the branch to keep the code
in history.
2020-07-03 15:02:00 +02:00
Mael Rouxel-Labbé 3280b9b087 Use new IO functions 2020-06-26 17:06:42 +02:00
Mael Rouxel-Labbé 9cca59ba36 Actually use the new IO functions + some example improvements 2020-06-23 18:24:39 +02:00
Maxime Gimeno ea53a8d70d Merge remote-tracking branch 'cgal/master' into CGAL_IO-maxGimeno 2020-06-17 14:25:21 +02:00
Maxime Gimeno 25c8313859 Replace IO functions in examples and fix Surface_mesh read_OFF() 2020-06-16 14:36:24 +02:00
Maxime Gimeno 7de5f28310 Fix pmp example about eigen 2020-06-12 09:41:02 +02:00
Mael Rouxel-Labbé e7fd86c2ef Add example of clipping w/ SI 2020-06-12 09:16:41 +02:00
Simon Giraudot 89285f1feb Merge remote-tracking branch 'mine/CMake-Third_party_imported_targets-GF' into CMake-Third_party_imported_targets-GF 2020-05-28 08:53:17 +02:00
Mael Rouxel-Labbé fb8463f470 Merge remote-tracking branch 'cgal/master' into CGAL_IO-maxGimeno 2020-05-22 15:17:56 +02:00
Maxime Gimeno 20898e4b31 fix functions calls 2020-05-14 13:46:57 +02:00
Sébastien Loriot 7c4586be1b Merge remote-tracking branch 'cgal/releases/CGAL-5.0-branch' 2020-05-12 16:59:02 +02:00
Sébastien Loriot fb83386f44 Merge remote-tracking branch 'cgal/releases/CGAL-4.14-branch' 2020-05-12 16:58:32 +02:00
Maxime Gimeno 098cc6abde Fix a PMP example 2020-05-06 11:31:13 +02:00
Sébastien Loriot 0c85cbfcf4 simplify example 2020-05-05 12:16:14 +02:00
Maxime Gimeno 049439fa6b Merge remote-tracking branch 'cgal/master' into CGAL_IO-maxGimeno 2020-04-30 16:47:58 +02:00
Simon Giraudot 1dd6a665a1 Merge remote-tracking branch 'mine/CMake-Third_party_imported_targets-GF' into CMake-Third_party_imported_targets-GF 2020-04-20 09:09:32 +02:00
Simon Giraudot 421096fd7f Use imported targets everywhere 2020-04-15 14:06:13 +02:00
Mael Rouxel-Labbé c16c1a7ea3 Merge remote-tracking branch 'cgal/master' into CGAL-Optimal_bounding_box-GF 2020-04-10 16:10:11 +02:00
Sébastien Loriot 34299f037c Merge pull request #4140 from MaelRL/PMP-Make_remove_self_intersections_local-GF
PMP: Self-intersection local removal
2020-04-02 13:55:49 +02:00