Commit Graph

4334 Commits

Author SHA1 Message Date
Mael Rouxel-Labbé 08ccb7285e Fix wrongly ordered priority queue yielding wrong upper bounds 2022-02-12 13:52:09 +01:00
Mael Rouxel-Labbé e12f9febe8 Fix bad initialization
get_max_distance() does not yield a good hint for the lower value
Also it requires an extra traversal of the tree.
2022-02-12 01:32:34 +01:00
Mael Rouxel-Labbé 25dc9c0f11 Improve reader sanity (no real changes) 2022-02-11 11:31:17 +01:00
Laurent Rineau 5a6c24446b Merge pull request #6309 from sloriot/PMP-size_t_FT
Avoid std::size_t to FT conversion
2022-02-10 23:00:25 +01:00
Sébastien Loriot 72789b3790 make it compile with EPECK 2022-02-10 15:44:11 +01:00
Sébastien Loriot 62b54dab3f workaround MSVC warning 2022-02-09 19:04:45 +01:00
Mael Rouxel-Labbé 61dd3dd0df Remove some wide 'PMP' namespace declarations 2022-02-09 11:52:36 +01:00
Mael Rouxel-Labbé e5fda3c613 Tiny doc fixes 2022-02-09 10:29:49 +01:00
Laurent Rineau b68329fc28 Merge pull request #6299 from MaelRL/PMP-Repair_SI_improvements_2-GF
PMP::remove_self_intersections improvements
2022-02-08 23:44:26 +01:00
Laurent Rineau d78a7b9255 Merge pull request #6302 from afabri/P2T2-assert-GF
CGAL: In testcode do not use CGAL_assertion but assert
2022-02-08 23:44:24 +01:00
Sébastien Loriot 3e90db4824 prevent another size_t to FT 2022-02-08 17:00:23 +01:00
Sébastien Loriot 705fee5659 avoid cascading with Lazy 2022-02-07 18:35:07 +01:00
Sébastien Loriot ba5e5e041c avoid std::size_t to FT conversion 2022-02-07 09:36:26 +01:00
Sébastien Loriot 4ffc949199 replace boost::unordered by std::unordered
but in T3, Mesh_3, TDS_3, P3[TM]3
2022-02-03 19:11:12 +01:00
Andreas Fabri 440a8dfb7b Fix file name 2022-02-03 08:41:04 +00:00
Sébastien Loriot 77e5beeaca use features available in std instead of boost 2022-02-03 09:28:52 +01:00
Andreas Fabri 735752bec9 Do the remaining changes after Laurent's check 2022-02-03 08:02:11 +00:00
Mael Rouxel-Labbé 9defc96b33 Better detection of bad patch borders (also check the validity of sub patches) 2022-02-02 13:35:51 +01:00
Mael Rouxel-Labbé 2af6aeb573 Do not mark edges incident to degenerate faces as sharp 2022-02-02 13:34:55 +01:00
Mael Rouxel-Labbé 32823cb36b Hide some std::cerr behind debug macros 2022-02-02 13:34:21 +01:00
Laurent Rineau 32f8b7fa4d Merge pull request #6258 from sloriot/PMP-snap_post_cond
fix post condition
2022-02-01 08:58:31 +01:00
Sébastien Loriot 234deb8318 remove wrapper 2022-01-31 13:30:46 +01:00
Sébastien Loriot 7149bd90a5 add missing include statement 2022-01-28 16:43:27 +01:00
Sébastien Loriot 429ddd4e73 fix header 2022-01-28 15:30:05 +01:00
Sébastien Loriot 7c8ca39799 add named parameter + use cosinus value directly 2022-01-28 14:42:49 +01:00
Sébastien Loriot 9ba91280d1 use predicates from the Kernel 2022-01-28 13:46:33 +01:00
Sébastien Loriot 367ac9b200 rename file 2022-01-27 18:28:54 +01:00
Sébastien Loriot 11d60de9d1 Merge remote-tracking branch 'cgal/master' into PMP-decimation 2022-01-27 16:25:24 +01:00
Sébastien Loriot 559e942037 handle case when the graph of contraints is not made only of cycles 2022-01-27 16:23:07 +01:00
Sébastien Loriot 685de22277 fixes after merge 2022-01-19 20:50:26 +01:00
Sébastien Loriot 126b78fecf Merge remote-tracking branch 'sloriot/PMP-relax' into HEAD 2022-01-19 13:50:46 +01:00
Sébastien Loriot a0c17c8655 fix post condition 2022-01-19 13:21:00 +01:00
Sebastien Loriot 01414393f7
Fix warning 2022-01-18 09:26:05 +01:00
Sébastien Loriot 07e917ca09 Merge remote-tracking branch 'MaelRL/PMP-Improve_SI_repair-GF' into HEAD 2022-01-18 09:18:20 +01:00
Sébastien Loriot ff77535dd1 add comments about workaround 2022-01-13 14:47:10 +01:00
Sébastien Loriot 10b0af3092 rename macro since Named_function_parameter is part of STL_Extension 2022-01-13 14:43:34 +01:00
Sébastien Loriot 4bbe759f08 Try to please MSVC 2015 2022-01-13 14:25:32 +01:00
Sébastien Loriot 497dbcd44a try to please MSVC 2015 2022-01-13 14:22:29 +01:00
Sébastien Loriot 99a5e3c8ea try to please MSVC2015 2022-01-13 14:01:41 +01:00
Sébastien Loriot 3028bf45bd try to please MSVC2015 2022-01-13 13:43:12 +01:00
Sébastien Loriot 5c7df72f5d de-ambiguate for MSVC2015 2022-01-13 11:42:32 +01:00
Sébastien Loriot 0b7f563b18 fixes after merge 2022-01-12 13:37:38 +01:00
Sébastien Loriot c169c41240 Merge remote-tracking branch 'maxGimeno/PMP-Example_of_new_mp_function-maxGimeno' into HEAD 2022-01-12 13:33:49 +01:00
Laurent Rineau cdf33d4ff9 Merge pull request #6069 from sloriot/PMP-rnd_np
Add random generator np for sampling
2022-01-12 12:21:58 +01:00
Laurent Rineau 12028fed4a Merge pull request #6081 from MaelRL/PMP-PM_to_PS_array_point-GF
Allow polygon soups to use an `std::array` point type in PM_to_PS
2022-01-12 12:21:55 +01:00
Laurent Rineau 413421d3f2 Merge pull request #6195 from sloriot/PMP-snap_split_visitor
Add visitor function call for tracking faces split
2022-01-12 12:21:51 +01:00
Sébastien Loriot 4fa826b3ed keep only the static version of is_default_parameter 2022-01-10 18:36:37 +01:00
Sébastien Loriot 75b03e6c0a use_default_values() -> default_values() 2022-01-10 18:36:37 +01:00
Mael Rouxel-Labbé e38a1f6853 Fix minor issues and warnings 2022-01-10 16:38:15 +01:00
Sébastien Loriot 382cbfaf25 move test + handle no deprecated code 2022-01-10 10:26:11 +01:00
Sébastien Loriot 6d3176e061 move Named_parameters class in STL_extension
helpers stay in BGL because it depends on BGL tags
2022-01-07 15:12:22 +01:00
Sébastien Loriot 6ac74caffb fix warnings 2022-01-07 09:26:10 +01:00
Sébastien Loriot 821e7b79a2 remove some Point_set_processing specific helper classes 2022-01-06 18:53:46 +01:00
Sébastien Loriot 9714557046 replace overloads with default parameters (PMP) 2022-01-05 14:41:46 +01:00
Sébastien Loriot 92a0ced3c0 replace overloads with default parameters (PMP) 2022-01-04 18:46:42 +01:00
Jane Tournois 678b28ec23 avoid using deprecated header and function 2022-01-04 16:16:16 +01:00
Sébastien Loriot 1e7785b427 do not use PMP::parameters namespace 2022-01-04 16:00:38 +01:00
Sébastien Loriot ab38865f7c deprecated function 2022-01-04 11:33:50 +01:00
Sébastien Loriot 28ab8e9293 replace CGAL_PMP_NP macros with CGAL_BGL_NP ones 2022-01-04 11:19:05 +01:00
Sébastien Loriot 7900a96115 start documenting use_default_values() 2022-01-03 16:31:09 +01:00
Sébastien Loriot f057a72b2b use random_seed 2022-01-03 10:35:30 +01:00
Jane Tournois b2818f0bf4 fix unused parameter warning 2021-12-28 17:25:59 +01:00
Jane Tournois 3df4f97407 function face() also is needed 2021-12-28 15:48:16 +01:00
Jane Tournois 64af231b6e
Merge branch 'master' into PMP-relax 2021-12-28 14:52:48 +01:00
Jane Tournois 40d5b3daef face graph does not need to be mutable, only the vertex point map 2021-12-28 14:51:39 +01:00
Mael Rouxel-Labbé fe51c84552 Merge remote-tracking branch 'cgal/master' into PMP-Improve_SI_repair-GF 2021-12-23 16:40:15 +01:00
Sébastien Loriot 24b3c3eed6 add visitor function call for tracking faces split 2021-12-23 11:23:54 +01:00
Mael Rouxel-Labbé bacdc08865 Fix precondition 2021-12-21 10:46:14 +01:00
Laurent Rineau 2acd9ca3db Merge pull request #6159 from sloriot/PMP-coref_nm_border_vrt_cpy
Apply the operations per patches
2021-12-20 18:06:39 +01:00
Mael Rouxel-Labbé e383ebdfde Hide OBB usage in repair_SI behind macros for now (for licensing reasons) 2021-12-17 10:55:07 +01:00
Jane Tournois a897bbb71e improve doc 2021-12-16 16:12:57 +01:00
Jane Tournois 52d9a2f7f8
replace PolygonMesh by TriangleMesh in doc
Co-authored-by: Mael <mael.rouxel.labbe@geometryfactory.com>
2021-12-16 16:05:47 +01:00
Sébastien Loriot 39763cda4a avoid useless computation and default should be false for polylines too 2021-12-16 15:18:11 +01:00
Mael Rouxel-Labbé 6ff8379650 Fix compilation errors 2021-12-16 11:38:12 +01:00
Mael Rouxel-Labbé 6c4199be5c More improvements and fixes for repair_SI:
- Use OBB to avoid costly compactify
- Fix "local" variable; use all strategy (constrained/smoothing/etc.)
- Handle adapt creating degeneracies
- Fix adapt returns
- Fix max_element creating out of bound issue
- Better compatibility checks
- Clean output
2021-12-15 16:49:42 +01:00
Mael Rouxel-Labbé ebd390e32b Improvements and fixes for repair_SI 2021-12-07 19:01:50 +01:00
Sébastien Loriot 8ca5971699 handle all patches by operations
this workaround issue with boundary non-manifold vertices
that we needs to be imported
2021-12-07 11:30:34 +01:00
Mael Rouxel-Labbé b27233bbe2 Various important improvements to repair_SI 2021-12-03 16:39:38 +01:00
Mael Rouxel-Labbé f3c6c79ec1 Tiny doc fixes 2021-12-03 15:50:20 +01:00
Mael Rouxel-Labbé e5dfd6c8eb A little less chaotic indentation (no real changes) 2021-12-03 15:49:34 +01:00
Laurent Rineau 3e877fa124 Merge pull request #6109 from afabri/CGAL-VC_max_warning-GF
PMP: Fix Warnings in Master
2021-11-18 12:27:21 +01:00
Daniel Thul bb83be1e73
Mesh distance: use spatially sorted sample points
The Hausdorff distance code makes a copy of the provided sample points and sorts them spatially such that the hints provided to the AABB tree will be good. There is an apparent mistake in the code though and instead of the spatially sorted sample points, the original (unsorted) ones are given to the AABB tree. The sorted ones are in fact never used.
This PR changes the code such that the sorted points are used.
2021-11-12 21:58:49 +01:00
Andreas Fabri 451e9e9b26 Fix calls to min and max 2021-11-03 22:09:02 +01:00
Sébastien Loriot 9543deb304 Merge pull request #6046 from MaelRL/PM-Fix_pmaps_reference_types_master-GF
Various fixes for property maps (master)
2021-10-29 17:40:15 +02:00
Sébastien Loriot 90bc05e715 Merge pull request #6047 from MaelRL/PM-Fix_pmaps_reference_types_5.3-GF
Various fixes for property maps (5.3)
2021-10-29 17:39:22 +02:00
Laurent Rineau e9cb30955c Merge pull request #6037 from sloriot/PMP-nm_map_license
Add missing license include directive
2021-10-29 17:00:02 +02:00
Laurent Rineau 04cde86a24 Merge pull request #6080 from sloriot/PMP-max_w
Workaround compilation error on Windows, about `max`
2021-10-29 16:59:22 +02:00
Laurent Rineau 7c185a3e5c Merge pull request #6051 from MaelRL/PMP-Forward_GT_orient_to_bound_volume-GF
PMP: Forward the geometric traits in `orient_to_bound_a_volume()`
2021-10-29 16:50:09 +02:00
Laurent Rineau 8a797935aa Merge pull request #6068 from sloriot/PMP-sampling_doc
Fix NPs and improve doc
2021-10-29 16:50:03 +02:00
Laurent Rineau 5d965e0507 Merge pull request #6051 from MaelRL/PMP-Forward_GT_orient_to_bound_volume-GF
PMP: Forward the geometric traits in `orient_to_bound_a_volume()`
2021-10-29 16:46:39 +02:00
Laurent Rineau 4a17e26e28 Merge pull request #6068 from sloriot/PMP-sampling_doc
Fix NPs and improve doc
2021-10-29 16:46:33 +02:00
Mael Rouxel-Labbé 00cd63f209 Add some includes for completeness 2021-10-25 10:50:47 +02:00
Mael Rouxel-Labbé 0e2225d5c5 Allow polygon soups to use std::array points in PM_to_PS 2021-10-25 10:44:43 +02:00
Sébastien Loriot f4f484c5e0 workaround warning 2021-10-25 09:47:29 +02:00
Sébastien Loriot f55e482d0f add random generator np for sampling 2021-10-20 09:24:13 +02:00
Sébastien Loriot b793e7cd90 fix NPs and improve doc 2021-10-19 17:38:12 +02:00
Mael Rouxel-Labbé 1ab6b44d7d Fix NP forwarding in volume_CC 2021-10-15 10:22:08 +02:00
Mael Rouxel-Labbé 1f73af6cc4 Drive-by cleaning 2021-10-14 11:09:04 +02:00
Mael Rouxel-Labbé 91e7f1d20c Forward the geom traits in orient_to_bound_a_volume 2021-10-14 11:06:04 +02:00
Sébastien Loriot bdec97bccb remove backtick 2021-10-12 15:02:42 +02:00
Mael Rouxel-Labbé 131242bb80 Merge branch 'PM-Fix_pmaps_reference_types-GF' into PM-Fix_pmaps_reference_types_5.3-GF 2021-10-12 09:29:23 +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 64ead81a1c add missing license include directive 2021-10-08 15:28:13 +02:00
Mael Rouxel-Labbé df560987a6 Whitespace & cleaning changes 2021-10-08 12:13:43 +02:00
Laurent Rineau fb9333f0d0 Merge pull request #6028 from MaelRL/CGAL-Fix_typos-GF
Fix typos
2021-10-07 14:27:21 +02:00
Laurent Rineau 94ee9b1613 Merge pull request #6030 from MaelRL/CGAL-Minor_fixes-GF
Fix uninitialized id maps in heat method
2021-10-07 14:27:16 +02:00
Laurent Rineau 0e3b73852f Merge branch '5.2.x-branch' into 5.3.x-branch 2021-10-07 14:26:14 +02:00
Jane Tournois 0b757b8c30 avoid computing normals multiple times 2021-10-05 17:04:03 +02:00
Jane Tournois 6268b85432 various efficiency improvements 2021-10-05 15:47:05 +02:00
Jane Tournois bbd53e5664 doc (review Mael) 2021-10-05 15:14:52 +02:00
Mael Rouxel-Labbé 863ab7541c Various whitespace fixes 2021-10-05 12:14:03 +02:00
Mael Rouxel-Labbé 84d84278b9 Fix VPM type 2021-10-05 12:14:02 +02:00
Jane Tournois 276ea18313 formatting (Mael's review) 2021-10-05 11:12:49 +02:00
Mael Rouxel-Labbé 521c72d57e Fix typos 2021-10-04 13:34:07 +02:00
Mael Rouxel-Labbé 625848e629 Fix missing ':' in various namespaces 2021-10-04 13:21:47 +02:00
Laurent Rineau 01017f9deb Merge pull request #6022 from sloriot/PMP-deps
Reduce dependencies
2021-09-30 16:49:34 +02:00
Laurent Rineau 999ce8134a Merge pull request #6022 from sloriot/PMP-deps
Reduce dependencies
2021-09-30 16:48:55 +02:00
Laurent Rineau 804feece28 Merge pull request #5761 from danston/Weights-unification-danston
[Small Feature] Weights Unification
2021-09-29 16:59:34 +02:00
Laurent Rineau bb58df3ae5 Merge pull request #6021 from MaelRL/PMP-Snap_with_KD_tree-GF
Improvements for PMP's snapping code
2021-09-29 16:59:26 +02:00
Sébastien Loriot 2b666db30c use function
avoid compilation error about unknown function
2021-09-29 12:11:42 +02:00
Laurent Rineau 7e42541573 Merge pull request #5633 from sloriot/PMP-add_filter_for_caps_needles
Add a filter in function to remove caps/needle
2021-09-29 11:46:47 +02:00
Laurent Rineau e87bf84395 Merge pull request #5994 from MaelRL/PMP-Detect_sharp_edges_const-GF
Enhancements & fixes for PMP::detect_features
2021-09-29 11:46:41 +02:00
Laurent Rineau 0d304fe737 Merge pull request #6015 from sloriot/PMP-snap_fix_w
Fix vv snapping weight
2021-09-29 11:46:28 +02:00
Laurent Rineau b19086946c Merge pull request #5994 from MaelRL/PMP-Detect_sharp_edges_const-GF
Enhancements & fixes for PMP::detect_features
2021-09-29 11:45:38 +02:00
Sébastien Loriot c374b382a5 reduce dependancies 2021-09-29 11:06:39 +02:00
Mael Rouxel-Labbé b92c22d0a9 Improve preprocessing of snapping (don't move fixed vertices during collapsing) 2021-09-28 16:49:19 +02:00
Mael Rouxel-Labbé 60567eccbb Add Kd_tree-based vertex-vertex snapping + PMP::snap visitor 2021-09-28 16:25:43 +02:00
Sébastien Loriot 542d3603be fix weight for vertex-vertex snapping 2021-09-27 19:46:14 +02:00
Jane Tournois 6357211695 deprecate smooth_mesh() and rename it angle_and_area_smoothing() 2021-09-27 17:05:14 +02:00
Mael 4e5fbb6f22
Specify namespace
Co-authored-by: Laurent Rineau <Laurent.Rineau@cgal.org>
2021-09-27 12:15:09 +02:00
Mael Rouxel-Labbé 878d94e299 Fix sign call 2021-09-24 09:47:33 +02:00
Mael Rouxel-Labbé 2bc5643972 Fix comparison 2021-09-21 16:50:19 +02:00
Laurent Rineau 8cdfc3b214 Merge pull request #5941 from afabri/PMP-edge_lenght_area-GF
Polygon Mesh Processing:  Add measure functions not using sqrt
2021-09-20 17:07:09 +02:00
Mael Rouxel-Labbé c7519ef93c Cache the squared cos value 2021-09-15 14:59:55 +02:00
Mael Rouxel-Labbé a5bbd05c42 Do not compute square roots + various improvements 2021-09-15 14:46:56 +02:00
Mael Rouxel-Labbé 8b7ab25966 Minor cleaning 2021-09-15 14:08:25 +02:00
Sébastien Loriot 2337757ce4 add a way to pass functions to build local filters ...
...  created from link faces of edges to be flipped or collapsed
2021-09-14 21:43:41 +02:00
Jane Tournois 3b0971dae3 reference manual 2021-09-14 17:17:10 +02:00
Jane Tournois 1b47224755 rephrase 2021-09-14 16:48:13 +02:00
Jane Tournois c63729759e move code back to remesh_impl.h 2021-09-14 16:20:12 +02:00
Jane Tournois bb674b571c use property maps to define "general" constrained edges and vertices before relaxation 2021-09-14 15:42:43 +02:00
Jane Tournois f227eede9c use check_normals from b26818c023 2021-09-14 15:42:00 +02:00
Jane Tournois 77a6e29ee2 fix namespace 2021-09-14 13:21:34 +02:00
Jane Tournois 30e30bf164 use externalized tangential_relaxation() in Isotropic_remeshing() 2021-09-14 12:59:54 +02:00
Jane Tournois 32981602e3 add verbosity 2021-09-14 12:38:34 +02:00
Jane Tournois ff2e1adafd add a version of tangential_relaxation that takes a vertex range as input 2021-09-14 12:34:43 +02:00
Jane Tournois 203de706a9 rename verbosity macro 2021-09-14 12:17:46 +02:00
Jane Tournois 5f8bfd5795 fix check_normals(v) to have normals check per surface patch
separate surface patches are defined by edge_is_constrained_map and
face_patch_map (which complement each other)
2021-09-14 12:14:27 +02:00
Mael Rouxel-Labbé 2869e936e1 Filter the needle/cap predicates of PMP::shape_predicates.h 2021-09-13 16:47:05 +02:00
Jane Tournois ff0425db2e add minimal example and fix compilation 2021-09-13 10:56:30 +02:00
Sébastien Loriot b26818c023 add first version of tangential_relation extracted from isotropic_remeshing 2021-09-10 18:13:53 +02:00
Sebastien Loriot 575939c64f
Merge pull request #5952 from sloriot/SS-remove_Polygon_dep
remove artificial dependency to Polygon
2021-09-10 17:40:20 +02:00
Sebastien Loriot 4610cf3c66
Merge pull request #5904 from sloriot/CGAL-remove_config_flags
Replace macros with inline functions and remove a config flag
2021-09-10 17:38:50 +02:00
Sébastien Loriot 4afc249100 do not hide type definitions 2021-09-09 15:58:00 +02:00
Sébastien Loriot 000b03b595 follow up of #5889
cherry-picking for autorefinement
2021-09-06 18:44:07 +02:00
Dmitry Anisimov 936968fb4f Merge remote-tracking branch 'origin/master' into Weights-unification-danston 2021-09-06 10:38:24 +02:00
Sébastien Loriot d26246bced add missing include + restore dependency 2021-09-01 17:46:33 +02:00
Sébastien Loriot d82ca80d04 add a filter in function to remove caps/needle to be able to plug envelope 2021-08-31 15:52:47 +02:00
Andreas Fabri 168941a9b1 untabify 2021-08-31 12:19:31 +01:00
Andreas Fabri ed14ac0a28 Remove an #include 2021-08-31 12:11:37 +01:00
Andreas Fabri 265ca39dc1 Use geomtraits 2021-08-31 12:10:14 +01:00
Andreas Fabri e40cbc0ff5 Fixes after Mael's review 2021-08-31 10:07:44 +01:00
Andreas Fabri c71681747e Add functions for area and length that do not sqrt 2021-08-30 16:26:03 +01:00
Andreas Fabri 86ff15de35 Add the sqrt related warning to face_area() 2021-08-30 16:25:42 +01:00
Sebastien Loriot 2f0a643a84
Merge pull request #5889 from sloriot/PMP-cherry_picks_from_5089
Bug fixes cherry picked from #5049
2021-08-30 15:51:23 +02:00
Sébastien Loriot 4454c5b3ed Merge remote-tracking branch 'cgal/master' into T2-Document_projection_traits_3-maxGimeno 2021-08-30 12:25:51 +02:00
Sebastien Loriot 20ea9e775f
Merge pull request #4009 from afabri/CGAL-internal-GF
CGAL: Move from CGAL/internal  to CGAL/Pkg/internal
2021-08-30 11:55:36 +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
Sebastien Loriot 3a00b6fe3e
Merge pull request #5592 from afabri/PMP_accelerate_corefine-GF
PMP Corefinement: Replace containers to make it faster
2021-08-30 10:42:07 +02:00
Sébastien Loriot 98e471849b moving files from internal to PKG/internal 2021-08-26 11:33:39 +02:00
Sebastien Loriot 7e4fb11544
Merge pull request #5662 from sloriot/PMP-track_remove_si
Add a visitor to stop repair and track the current status
2021-08-18 18:52:14 +02:00
Dmitry Anisimov 60804d738e Merge remote-tracking branch 'origin/master' into Weights-unification-danston 2021-08-14 18:34:47 +02:00
Sébastien Loriot 038c57fb6a Merge pull request #5837 from maxGimeno/PMP-Self_intersections_limited_report-maxGImeno
PMP: Limited Number of Self-intersections
2021-08-13 18:23:20 +02:00
Sébastien Loriot e16e75c273 Merge pull request #5861 from sloriot/PMP-coref_vertex_visitor
Add vertex related functions in corefinement visitor
2021-08-13 18:17:39 +02:00
Sebastien Loriot e8b37c038a
Merge pull request #5781 from afabri/PMP_repair_psoup_use_deque-GF
PMP: Use deque instead of vector
2021-08-13 18:15:02 +02:00
Sébastien Loriot 40c7a67a91 add more function in the visitor to have a finer control 2021-08-13 14:23:20 +02:00
Sébastien Loriot 4f159d0209 add a visitor to stop repair and track the current status 2021-08-13 14:13:16 +02:00
Dmitry Anisimov c975eddf13 Merge remote-tracking branch 'origin/master' into Weights-unification-danston 2021-08-12 13:29:26 +02:00
Sébastien Loriot 814c9138ef Merge remote-tracking branch 'cgal/5.3.x-branch' 2021-08-12 10:38:11 +02:00
Sébastien Loriot cff3cdb40e Merge remote-tracking branch 'cgal/5.2.x-branch' into HEAD 2021-08-12 10:23:57 +02:00
Sebastien Loriot a6e19f5580
Merge pull request #5802 from janetournois/PMP-isotropic_remeshing_document_new_params-jtournois
PMP::isotropic_remeshing - document new parameters
2021-08-12 10:05:28 +02:00
Maxime Gimeno 7345cf1318 Merge remote-tracking branch 'cgal/master' into PMP-Self_intersections_limited_report-maxGImeno 2021-08-11 15:31:20 +02:00
Maxime Gimeno f7df517f57 Merge remote-tracking branch 'cgal/master' into T2-Document_projection_traits_3-maxGimeno 2021-08-09 09:14:23 +02:00
Sébastien Loriot 17ca9d86dc rename visitor concept 2021-08-05 18:13:40 +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 050e81d5fd set coplanar status of patches before classification
cherry-picked from #5049
2021-08-04 14:58:16 +02:00
Sébastien Loriot 8903e746f0 Correctly split intersection polylines when boundary/interior status changes along the polyline
Cherry-picked from #5049
2021-08-04 14:58:16 +02:00
Sébastien Loriot 6349441c4b better handling of boundary cases (cherry-picked from #5049) 2021-08-04 14:57:51 +02:00
Dmitry Anisimov 4126a5feec
Merge branch 'master' into Weights-unification-danston 2021-08-04 13:58:33 +02:00
Sébastien Loriot 1082f223db Merge remote-tracking branch 'cgal/5.3.x-branch' 2021-08-04 09:19:24 +02:00
Mael 753fc4d434 Minor comment fixes 2021-08-04 09:11: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
Maxime Gimeno c99fdebafe add a non_manifold_vertex() function to the visitor 2021-07-30 12:17:06 +02:00
Sébastien Loriot 592e470b72 update doc 2021-07-30 11:37:53 +02:00
Maxime Gimeno e52775f943 Documentation 2021-07-29 11:32:35 +02:00
Simon Lopez 7f6c39e898 Skip shared edges which are border edges 2021-07-29 10:52:13 +02:00
Laurent Rineau 4fb90756da Merge pull request #5475 from sloriot/gsoc2019-PMPHDist-martinskrodzki
[Small Feature] Add bounded error Hausdorff distance
2021-07-27 16:28:04 +02:00
Maxime Gimeno 22edbbe428 Merge remote-tracking branch 'cgal/master' into PMP-Add_a_visitor_to_orient_polygon_soup-maxGimeno 2021-07-26 11:46:51 +02:00
Maxime Gimeno e83dc8775d fixes after review 2021-07-23 15:13:33 +02:00
Sébastien Loriot 9c670a3552 add visitor calls done in the output builder 2021-07-21 13:55:00 +02:00
Sébastien Loriot f9a9d126e3 add visitor functions for intersection point detection and new vertex creation 2021-07-21 13:19:23 +02:00
Maxime Gimeno 83e7abf042 Changes after review 2021-07-21 12:48:11 +02:00
Maxime Gimeno 3cfa3e8c86 Use a NP to pass the visitor 2021-07-19 13:40:19 +02:00
Maxime Gimeno 1b04db1fad Give the visitor by copy (1st step for the Named Parameters) 2021-07-19 13:18:26 +02:00
Maxime Gimeno 36dd5be796 more fixes 2021-07-19 13:05:17 +02:00
Maxime Gimeno 67b2fd1454 Fix default visitor mechanism 2021-07-19 11:48:20 +02:00
Sebastien Loriot 9b27f53b28
Merge pull request #5544 from maxGimeno/PMP-compare_faces_from_meshes-maxGimeno
PMP: compare_meshes
2021-07-19 07:54:00 +02:00
Maxime Gimeno 4989eadb19 WIP 2021-07-13 16:06:52 +02:00
Maxime Gimeno 03a1639eff Replace NP name 2021-07-09 14:37:21 +02:00
Maxime Gimeno 83b69b5a98 Merge remote-tracking branch 'cgal/master' into T2-Document_projection_traits_3-maxGimeno 2021-07-08 11:33:42 +02:00
Maxime Gimeno 0b21e037ba Clean-up 2021-07-08 10:57:27 +02:00
Maxime Gimeno ef8ef503ee add missing @returns in doc 2021-07-08 10:37:25 +02:00
Maxime Gimeno a1e7fcee56 Changes after review 2021-07-08 10:16:10 +02:00
Laurent Rineau 2927306a67 Merge pull request #5663 from sloriot/PMP-snap_all_vertices
Add convenience function to snap all vertices of a mesh
2021-07-07 14:37:33 +02:00
Maxime Gimeno dfa136b86e Fix doc 2021-07-07 13:45:41 +02:00
Maxime Gimeno 3ee8461f03 Write more doc for parallel version 2021-07-07 13:29:16 +02:00
Maxime Gimeno 2ddf04254c Specialize the functor for sequential_tag 2021-07-07 13:26:22 +02:00
Maxime Gimeno 38d1246c28 Function and tests written, need better doc and functor for sequential 2021-07-07 13:19:14 +02:00
Maxime Gimeno e22ff7c378 add the named parmater 2021-07-06 13:26:02 +02:00
Dmitry Anisimov dcd8fe8fe4 added missing user docs for is_hausdorff_larger and symmetric distance + better user ref 2021-06-29 14:40:54 +02:00
Dmitry Anisimov d7782632fc fixed ref to the bounded error distance function 2021-06-29 14:27:38 +02:00
Dmitry Anisimov 73581e15ad added named param for choosing between one sided and symmetric dist in the is_larger_HD function 2021-06-29 14:17:00 +02:00
Dmitry Anisimov 7f19456fa2 better explained concurrency tag 2021-06-29 13:57:17 +02:00
Dmitry Anisimov 95cc9992cf fixed typo 2021-06-25 11:47:34 +02:00
Jane Tournois 2a90c31f77 document the new named parameters 2021-06-24 12:08:05 +02:00
Jane Tournois ec7a211a1d add parameters to isotropic_remeshing
to able/disable split, collapse, and flip
2021-06-22 14:22:32 +02:00
Dmitry Anisimov aa74cfc701 fixed one more useless ref 2021-06-18 16:08:53 +02:00
Dmitry Anisimov 747bc144bc removed fixes related to range loop analysis 2021-06-18 15:48:40 +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
Andreas Fabri c03444ac63 PMP: Use deque instead of vector. This probably only plays a role in case of many duplicates 2021-06-17 08:29:08 +02:00
Dmitry Anisimov aac86cb4d4 pmp, refactoring internal weights representation 2021-06-09 12:23:14 +02:00
Dmitry Anisimov 1cd22e36fe missing header 2021-06-04 15:23:27 +02:00
albert-github 2a54687e77 Correction of hyperlinks
The link checker gave a number of redirects and incorrect links.
- the redirects have been solved ass far as possible
- the incorrect links have been checked and corrected where possible, others  have been reported through issues;
2021-06-04 13:52:14 +02:00
Dmitry Anisimov 4fa2463fea pmp, renamed weight wrappers 2021-06-04 13:46:42 +02:00
Dmitry Anisimov 109d886d25 better naming in pmp 2021-06-03 15:48:11 +02:00
Dmitry Anisimov 2a6aaddd8f updated weights in the pmp package 2021-06-03 11:33:18 +02:00
Dmitry Anisimov 4d2931cee8 pmp, range loop analysis fixed warnings 2021-06-02 16:17:16 +02:00
Maxime Gimeno 2d5f91f763 Merge remote-tracking branch 'cgal/master' into T2-Document_projection_traits_3-maxGimeno 2021-05-27 09:06:59 +02:00
Maxime Gimeno c6c540503c changes after review 2 2021-05-26 12:36:59 +02:00
Maxime Gimeno 553445a771 Changes after review 1 2021-05-26 11:16:09 +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
Laurent Rineau f427e6b87d Merge pull request #5686 from sloriot/PMP-remove_si_boundary_cycles
Allow more repair
2021-05-19 17:24:06 +02:00
Laurent Rineau 26ad68e486 Merge pull request #5649 from sloriot/CGAL-no_boost_shared_ptr
Replace internal use of boost shared_ptr
2021-05-18 18:14:12 +02:00
Laurent Rineau 49aff67985 Merge pull request #5689 from janetournois/PMP-isotropic_remeshing_fixes-jtournois
PMP::isotropic_remeshing - fixes about "isolated constraints"

# Conflicts:
#	Polygon_mesh_processing/test/Polygon_mesh_processing/CMakeLists.txt
2021-05-18 17:31:55 +02:00
Laurent Rineau e0a4dd0680 Merge pull request #5677 from sloriot/CGAL-IO_namespace
CGAL IO namespace

# Conflicts:
#	Installation/test/Installation/test_gmp_mpfr_dll.cpp
2021-05-18 17:31:40 +02:00
Laurent Rineau b33a2f17bd Merge pull request #5689 from janetournois/PMP-isotropic_remeshing_fixes-jtournois
PMP::isotropic_remeshing - fixes about "isolated constraints"

# Conflicts:
#	Polygon_mesh_processing/test/Polygon_mesh_processing/CMakeLists.txt
2021-05-18 17:06:45 +02:00
Maxime Gimeno 3795c5236a Changes after review 2021-05-18 10:16:24 +02:00
Dmitry Anisimov 6ae21a4379 added visitor to save pairs of realizing triangles 2021-05-11 17:38:15 +02:00
Dmitry Anisimov 5686252475 is_further_than function finished 2021-05-11 16:11:42 +02:00
Dmitry Anisimov 73e9e867c2 added early quit option to accelerate distance vs user defined distance check 2021-05-11 14:18:49 +02:00
Dmitry Anisimov acce02aae3 do not build if inf value < 0 and added distance_bound, not finished 2021-05-11 12:39:38 +02:00
Dmitry Anisimov 559815e6be added more assertions 2021-05-11 10:37:03 +02:00
Dmitry Anisimov 77c2dc4d96 testing early quit 2021-05-10 13:15:09 +02:00
Dmitry Anisimov 80c776c298 added functions are_within_tolerance, not finished, fixing max funcs in naive 2021-05-09 17:02:35 +02:00
Dmitry Anisimov dbfca54358 hide the parallel version behind ifdefs 2021-05-09 16:08:42 +02:00
Dmitry Anisimov 04f556fe84 Merge remote-tracking branch 'sloriot/gsoc2019-PMPHDist-martinskrodzki' into gsoc2019-PMPHDist-martinskrodzki 2021-05-09 15:37:01 +02:00
Jane Tournois 74e2ee9734 do not collapse isolated constraints 2021-05-06 19:40:52 +02:00
Jane Tournois 3a6e31de65 do not split isolated constraints 2021-05-06 15:56:23 +01:00
Jane Tournois 64e568f748 an isolated constraint can be on the mesh border
the halfedge status for a pair of opposite halfedges can be
MESH_BORDER and ISOLATED_CONSTRAINT, but MESH_BORDER has
priority
2021-05-06 16:56:05 +02:00
Jane Tournois 49fc218c45 avoid iterating over all halfedges, but only the ones of the patch to be remeshed 2021-05-06 15:55:19 +01:00
Jane Tournois 9d3d29fd6d encapsulate debug code in debug macro 2021-05-06 16:55:02 +02:00
Sébastien Loriot 00f4a52b0a missing header 2021-05-06 15:50:19 +02:00
Sébastien Loriot 79057f3cdd allow to remesh a patch with boundary cycles of edges if genus is not to be preserved 2021-05-06 14:32:32 +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 13ef4342d1 fixing build errors when tbb and/or metis is unavailable 2021-05-05 13:43:31 +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
Dmitry Anisimov fb8538393d corrected includes 2021-05-05 10:04:48 +02:00
Dmitry Anisimov 7d0ae6b13d testing bunny dense 2021-05-04 17:19:12 +02:00
Dmitry Anisimov e3c693caac optimized one-sided parallel version 2021-05-04 15:58:17 +02:00
Sébastien Loriot fb6f703b55 IO namespace for files in IO directories 2021-05-04 14:36:06 +02:00
Dmitry Anisimov 9117c7ea2f fixed bug with parallel computation, now works 2021-05-04 13:58:50 +02:00
Dmitry Anisimov 27cc88524d fixed parallel preprocessing, computation is still buggy 2021-05-04 13:23:13 +02:00
Dmitry Anisimov 74f5d8af05 added one-sided parallel hausdorff distance, still with the seg fault 2021-05-03 18:17:41 +02:00
Dmitry Anisimov b31201294b cleanup 2021-05-03 15:46:12 +02:00
Dmitry Anisimov f158e3e5eb added symmetric distance, it is approx 2 times faster than naive version 2021-04-30 16:14:19 +02:00
Dmitry Anisimov 9afa43dad0 propagate lower bound for culling on TM1 to accelerate symmetric distance 2021-04-30 15:02:27 +02:00
Dmitry Anisimov c78c4d2963 all preprocessing steps are moved to their own function 2021-04-30 14:51:14 +02:00
Sébastien Loriot 6ad09d441a add convenience function to snap all vertices of a mesh 2021-04-30 13:53:13 +02:00
Dmitry Anisimov 5d77b22f7a changed sqrt to approximate sqrt 2021-04-30 10:25:22 +02:00
Sébastien Loriot fbffcfff5d Merge 'PMP-compare_faces_from_meshes-maxGimeno' into gsoc2019-PMPHDist-martinskrodzki 2021-04-29 17:46:54 +02:00
Sébastien Loriot d0608093ec remove unused typedef 2021-04-29 17:46:14 +02:00
Dmitry Anisimov 7fd291c588 added input-dependent infinity value + assertions 2021-04-29 17:43:00 +02:00
Sébastien Loriot e24c6bd3d8 rename variables to make it clear from which mesh the faces are from 2021-04-29 15:51:02 +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
Dmitry Anisimov 1f114461c4 removed return with realizing triangles + added naive version of symmetric distance 2021-04-28 17:14:22 +02:00
Dmitry Anisimov 4db22ca4ae removed internal test code that did not prove to be useful 2021-04-28 16:55:15 +02:00
Dmitry Anisimov 5c3ae06de7 group traversal should be called only on TM2 2021-04-28 15:44:34 +02:00
Laurent Rineau ab887fd909 Merge pull request #5634 from sloriot/PMP-improve_conditionnal_code
Simplify conditional code
2021-04-28 15:24:05 +02:00
Laurent Rineau b775b04eb8 Merge pull request #5637 from sloriot/PMP-hole_filling_empty_range_warning
Fix use of empty range
2021-04-28 15:24:01 +02:00
Dmitry Anisimov b45de72547 tested bbox comparisons but I do not think we can use them so they are off 2021-04-28 15:23:35 +02:00
Laurent Rineau 795c931b55 Merge pull request #5637 from sloriot/PMP-hole_filling_empty_range_warning
Fix use of empty range
2021-04-28 15:22:41 +02:00
Dmitry Anisimov 4ce1370043 tested group traversal, its sequential version is slower due to more candidate triangles 2021-04-28 11:37:49 +02:00
Sébastien Loriot 1faa0e2992 replace internal use of boost::shared_ptr by std::shared_ptr 2021-04-28 10:55:26 +02:00
Sébastien Loriot c3e5294df3 add extra function for group traversal
not activate for now
2021-04-27 19:24:56 +02:00
Dmitry Anisimov a2f460c9d6 Merge branch 'master' into gsoc2019-PMPHDist-martinskrodzki 2021-04-27 18:37:32 +02:00
Dmitry Anisimov 85f88c218a added inexact check with distances + more precise realizing triangles 2021-04-27 18:25:58 +02:00
Dmitry Anisimov 860cad669a added tighter bounds, changed std min/max to CGAL one, added missing realizing triangles 2021-04-27 16:46:02 +02:00
Dmitry Anisimov 930d364c3f face to triangle map made global 2021-04-27 12:43:47 +02:00
Dmitry Anisimov 95ab1a57a0 tests moved to the test folder 2021-04-27 11:22:55 +02:00
Dmitry Anisimov 5e99e80134 refined and debugged aabb tree with priority traversal 2021-04-26 17:07:19 +02:00
Dmitry Anisimov 7b8deffb9e Merge remote-tracking branch 'maxGimeno/PMP-compare_faces_from_meshes-maxGimeno' into gsoc2019-PMPHDist-martinskrodzki 2021-04-26 15:23:04 +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
Maxime Gimeno ce9bf321df use num_vertices() instead of vertices().size() (garbage probleme in SMesh) 2021-04-23 16:16:53 +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
Sébastien Loriot 0eea836f1e handle empty point range 2021-04-23 08:46:28 +02:00
Dmitry Anisimov 9a9c3ed887 a few comments in addition to the discussion with Sebastien and Martin 2021-04-22 12:19:58 +02:00
Sébastien Loriot b0a05ab501 fix default 2021-04-21 17:50:47 +02:00
Sébastien Loriot 8a3d9ad124 restrict the usage of the macro
everything is local now
2021-04-21 17:48:08 +02:00
Sébastien Loriot f513a791e2 Merge remote-tracking branch 'cgal/5.2.x-branch' 2021-04-21 15:48:36 +02:00
Sébastien Loriot eef92fbef7 Merge remote-tracking branch 'cgal/5.1.x-branch' 2021-04-21 15:47:06 +02:00
Sebastien Loriot fa4a31a87b
Merge pull request #5583 from sloriot/PMP-face_epsilon_map
Polyhedral_envelope: face epsilon map
2021-04-21 15:26:48 +02:00
Dmitry Anisimov 2f5ff51c60 missing include 2021-04-21 12:21:15 +02:00
Dmitry Anisimov 33d2f1073a optimized AABB tree calls 2021-04-21 11:48:56 +02:00
Dmitry Anisimov a0812c1ad7 added comments with refs to the original paper, checked all the formulas 2021-04-19 17:44:25 +02:00
Dmitry Anisimov 4ebbaba856 added bunny benchmarks versus original paper 2021-04-19 14:00:03 +02:00
Sébastien Loriot 0efe2459dc remove whitespace introduced during merge 2021-04-17 14:13:28 +02:00
Sébastien Loriot 39367c2313 Merge remote-tracking branch 'cgal/5.2.x-branch' 2021-04-17 11:14:29 +02:00
Sebastien Loriot e9c97d2b59
Merge pull request #5539 from sloriot/PMP-coref_check_si
Collect faces incident to edges too
2021-04-17 11:04:38 +02:00
Sebastien Loriot 66441af8c6
Merge pull request #5566 from afabri/PMP-accelerate_Envelope-GF
PMP - Polyhedral Envelope :  Make it faster by making combinatorial tests
2021-04-17 10:53:22 +02:00
Dmitry Anisimov 81513fc860 face descriptor is now stored in the candidate triangle to remember the realizing triangle 2021-04-16 18:15:07 +02:00
Dmitry Anisimov 56b77cfd9f fixed match faces + removed small optimization (not sure about it) 2021-04-16 17:43:26 +02:00
Sébastien Loriot 33a9553a13 rename variables 2021-04-14 11:09:14 +02:00
Sébastien Loriot 05e4b56c88 group intersecting segment of planar faces into a unique Node_set_id
This makes the unordered_map change working for autoref
2021-04-14 10:19:38 +02:00
Jane Tournois d61cf58f2f add ISOLATED_CONSTRAINT halfedge status
this type is needed for edges that are part of the input constrained
edges property map, and are incident to a face to be remeshed only by a
vertex.
These edges contribute to creating corner vertices (incident to >= 3
constrained edges), but should still not be considered as patch borders

without dealing with these "isolated constraints", the corner vertices that
are incident to 2 patch borders and 1 of these edges was not considered
as a corner but as a simple patch border vertex, hence it could be
moved/deleted by a collapse or relaxation steps
2021-04-13 15:20:21 +02:00
Sébastien Loriot 0e6754b15e typos 2021-04-10 09:19:46 +02:00
Dmitry Anisimov ddb8c6a9ff fewer candidate triangles for distance > 0 2021-04-09 18:48:15 +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 95f124fd30 added missing ref 2021-04-09 16:50:34 +02:00
Dmitry Anisimov 4d107b3b8d using std priority queue instead of boost heap 2021-04-09 16:34:03 +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 ffc8953a42 caching data 2021-04-08 16:25:38 +02:00
Dmitry Anisimov 0333778b96 added face matching, not finished 2021-04-08 16:22:32 +02:00
Andreas Fabri e0985c4daf PMP Corefinement: Replace containters to make it faster 2021-04-08 11:40:19 +01:00
Jane Tournois 371706e92a Merge remote-tracking branch 'cgal/master' into PMP-isotropic_remeshing_collapse_step-jtournois
# Conflicts:
#	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Isotropic_remeshing/remesh_impl.h
2021-04-08 11:11:51 +02:00
Sebastien Loriot dfe70d17e7
Fix typo 2021-04-08 08:56:54 +02:00
Sébastien Loriot d8cdbbdc28 avoid an extra is-degenerate test 2021-04-07 15:10:32 +02:00
Sébastien Loriot 5b554abce8 add named parameter for triangle soup 2021-04-07 14:52:51 +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 f8f37393f3 fixed warnings 2021-04-07 12:44:17 +02:00
Laurent Rineau 1b54449dc5 Merge pull request #4878 from danston/Kernels-decltypes-danston
Improve decltype/result_of/invoke_result
2021-04-06 15:13:21 +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
Laurent Rineau 791d4abfec Merge pull request #5555 from sloriot/PMP-exception_inheritance
Inherit from a std exception
2021-04-06 15:12:55 +02:00
Laurent Rineau 9b442d1595 Merge pull request #5570 from MaelRL/PMP-Repair_PS_invalid_polygons_speed_up-GF
Speed up invalid polygon removal in repair_PS
2021-04-06 15:12:47 +02:00
Laurent Rineau a11a7578f6 Merge pull request #5570 from MaelRL/PMP-Repair_PS_invalid_polygons_speed_up-GF
Speed up invalid polygon removal in repair_PS
2021-04-06 15:11:41 +02:00
Sébastien Loriot b7bafa1a34 do not build vector if not needed 2021-04-03 11:22:14 +02:00
Sébastien Loriot dd19b506ed first version to add epsilon per face 2021-04-03 11:14:15 +02:00
Andreas Fabri c97d3ffb65 Take into account that obtuse vertices are not clipped. 2021-04-01 16:47:07 +01:00
Andreas Fabri 6c4835f8db Introduce a struct for Prism so that we can also store which corner is obtuse 2021-04-01 15:35:16 +01:00
Maxime Gimeno 34e2180b22 rename match_faces 2021-04-01 13:50:41 +02:00
Mael Rouxel-Labbé dc854d8088 Use std::remove_if to speed-up invalid polygon removal 2021-03-31 11:54:38 +02:00
Andreas Fabri ebbe978291 Do not test combinations of planes where we know that there is no intersection point 2021-03-30 13:56:28 +01:00
Sébastien Loriot e3b0302b2b inherit from a std exception 2021-03-26 09:53:29 +01:00
Maxime Gimeno ca5867f172 Changes after review 2021-03-25 13:27:16 +01:00
Laurent Rineau 79ba1af61f Merge pull request #5492 from sloriot/PMP-coref_full_edge_visitor
Add missing visitor calls for the output_builder part
2021-03-24 15:05:24 +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 5f4437bef1 Fix missing inline and doc 2021-03-23 12:43:53 +01:00
Maxime Gimeno c3036b1e3e clean-up 2021-03-23 12:12:45 +01:00
Maxime Gimeno cc4d274399 Clarify np 2021-03-23 12:10:34 +01:00
Maxime Gimeno 277117613b Add a NP for orientation requirement 2021-03-23 11:49:47 +01:00
Maxime Gimeno aa2b527156 Fix holes situation 2021-03-23 11:13:47 +01:00
Maxime Gimeno 8f92a01b12 clean-up 2021-03-23 10:38:19 +01:00
Maxime Gimeno dd90a3ce84 OutputIterators 2021-03-23 10:17:39 +01:00
Maxime Gimeno 8c5fcd9209 Replace by bitset 2021-03-23 09:45:48 +01:00
Maxime Gimeno 27701711e7 Only 2 loops for faces 2021-03-23 09:25:06 +01:00
Jane Tournois f9eb2439bd Merge branch 'PMP-isotropic_remeshing_collapse_step-jtournois' of github.com:janetournois/cgal into PMP-isotropic_remeshing_collapse_step-jtournois 2021-03-22 16:50:00 +01:00
Jane Tournois a79fe08fcf Merge remote-tracking branch 'cgal/master' into PMP-isotropic_remeshing_collapse_step-jtournois 2021-03-22 16:46:08 +01:00
Maxime Gimeno 22e13faee9 1st pass after review 2021-03-22 16:28:10 +01:00
Maxime Gimeno c1895e74b6 mutbale ranges in doc 2021-03-22 14:59:40 +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
Sébastien Loriot f5a6ff424e collect face incident to edges too 2021-03-19 14:47:54 +01:00
Maxime Gimeno d33a3622c8 Fix namespace error in Triangulate_hole_polyline.h 2021-03-19 13:51:27 +01:00
Maxime Gimeno 735567531b RENAME 2021-03-19 12:00:08 +01:00
Jane Tournois 109a893657 remove #ifdef that should be defined 2021-03-19 11:30:05 +01:00
Dmitry Anisimov 00c185b028
Merge branch 'master' into Kernels-decltypes-danston 2021-03-12 12:06:20 +01:00
Andreas Fabri da17681a06 Avoid computing degree several times 2021-03-10 15:28:56 +00: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
Laurent Rineau 4dc8a341f9 Merge pull request #5423 from afabri/PMP-corefine_OM-GF
PMP:: Use operator<  instead of operator> as OM only implements the former
2021-03-10 10:33:17 +01:00
Andreas Fabri cea8cca6af WIP: less computations of degree 2021-03-09 15:45:18 +00:00
Andreas Fabri 45265a7e34 Replace vector with optional by two vectors. No idea what is better yet 2021-03-04 10:46:46 +00:00
Andreas Fabri 2e3bfa8743 Reduce calls to target @sloriot please double check the correctness 2021-03-04 09:27:05 +00:00
Sébastien Loriot 0710924d3b accomodate is_badly_shape API update 2021-03-04 09:34:40 +01:00
Sébastien Loriot a4669bc39f Merge remote-tracking branch 'cgal/master' into HEAD 2021-03-04 09:34:26 +01:00
Laurent Rineau fb00e173d6 Merge pull request #5405 from maxGimeno/PMP-Move_operations_for_collision_detector-maxGimeno
PMP Move assign for Rigid_triangle_mesh_collision_detection
2021-03-03 17:33:12 +01:00
Laurent Rineau 83244deabb Merge pull request #5429 from sloriot/PMP-coref_face_patch_init
Corefine: always init faces of patches
2021-03-03 17:33:02 +01:00
Laurent Rineau dcf9dfd0fe Merge pull request #5435 from afabri/Intersect_3-fix_isocuboid_plane-GF
Intersect_3: Fix Iso_cuboid_3/Plane_3 and Tetrahedon_/Plane_3 intersection using PMP::clip internal function

# Conflicts:
#	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/clip.h
2021-03-03 17:30:04 +01:00
Laurent Rineau adc8d9b686 Merge pull request #5442 from MaelRL/PMP-stitch_borders_reintroduce_zipping-GF
Re-introduce some kind of zipping as a first step to boundary cycle stitching
2021-03-03 17:29:45 +01:00
Laurent Rineau 8f9009e793 Merge pull request #5476 from sloriot/PMP-needle_caps_ecm_bug
PMP: Remove needles&caps fixes
2021-03-03 17:21:38 +01:00
Laurent Rineau ea7fa2dada Merge pull request #5480 from afabri/Filtered_kernel-Document_functor_for_Envelope-GF
Kernel_23:  Rename internal function and functor
2021-03-03 17:21:35 +01:00
Laurent Rineau 15263250a4 Merge pull request #5485 from danston/PMP-tbb_exception_fix-danston
Use TBB captured exception in PMP
2021-03-03 17:21:31 +01:00
Laurent Rineau fd353e84e9 Merge pull request #5509 from sloriot/PMP-coref_robust_side_of
Robustify internal side-of-triangle-mesh calls
2021-03-03 17:18:11 +01:00
Laurent Rineau 325436540f Merge pull request #5429 from sloriot/PMP-coref_face_patch_init
Corefine: always init faces of patches
2021-03-03 17:10:16 +01:00
Laurent Rineau 3c3dad3243 Merge pull request #5435 from afabri/Intersect_3-fix_isocuboid_plane-GF
Intersect_3: Fix Iso_cuboid_3/Plane_3 and Tetrahedon_/Plane_3 intersection
2021-03-03 16:56:31 +01:00
Laurent Rineau b5e6ef261f Merge pull request #5442 from MaelRL/PMP-stitch_borders_reintroduce_zipping-GF
Re-introduce some kind of zipping as a first step to boundary cycle stitching
2021-03-03 16:39:54 +01:00
Laurent Rineau e522630610 Merge pull request #5476 from sloriot/PMP-needle_caps_ecm_bug
PMP: Remove needles&caps fixes
2021-03-03 16:34:46 +01:00
Laurent Rineau 7e61495ef5 Merge pull request #5429 from sloriot/PMP-coref_face_patch_init
Corefine: always init faces of patches
2021-03-03 16:31:17 +01:00
Laurent Rineau 2800c8c587 Merge pull request #5435 from afabri/Intersect_3-fix_isocuboid_plane-GF
Intersect_3: Fix Iso_cuboid_3/Plane_3 and Tetrahedon_/Plane_3 intersection
2021-03-03 16:31:15 +01:00
Andreas Fabri dad0287b69 Remove trailing whitespace 2021-03-03 14:34:56 +00:00
Andreas Fabri 82e5b3a02d Do not collect in a vector per patch, but do the tests directly (@janetournois please double-check this commit) 2021-03-03 14:23:56 +00:00
Sébastien Loriot fa47c35271 remove unused variable 2021-03-03 08:28:28 +01:00
Andreas Fabri 22789f6f6b Replace geometric by combinatorial test 2021-03-02 21:56:54 +00:00
Sébastien Loriot c1dcaac020 remove TODOs 2021-03-02 16:21:06 +01:00
Sébastien Loriot 313f682b8c use custom functor for bbox and split primitives
aabb tree build runtime is similar to using EPICK
2021-03-02 16:16:07 +01:00
Andreas Fabri 5e2a580551 map -> unordered_map 2021-03-02 13:17:53 +00:00
Andreas Fabri 10f454d983 reserve(8) for incident faces to a vertex 2021-03-02 13:09:45 +00:00
Andreas Fabri 19e5e4a16e Use flaat_set and put it outside the loop 2021-03-02 12:25:28 +00:00
Sébastien Loriot 20865d2544 robustify side_of test 2021-02-26 15:46:01 +01:00
Dmitry Anisimov a1edfa76db fixed tbb warning 2021-02-25 12:05:56 +01:00
Dmitry Anisimov 4e911a4be0 fixed syntax error 2021-02-25 10:22:17 +01:00
Sébastien Loriot c0a90c101b doc update + missing renaming 2021-02-24 17:05:58 +01:00
Sébastien Loriot e2a80611ce complete the visitor for edge creation/copies 2021-02-24 16:53:20 +01:00
Dmitry Anisimov 9db3cdb22f use tbb captured_exception only on the x86_64 platforms 2021-02-24 11:08:44 +01:00
Dmitry Anisimov 688e76f70a
Update Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/self_intersections.h
Co-authored-by: Laurent Rineau <Laurent.Rineau@cgal.org>
2021-02-23 14:05:29 +01:00
Dmitry Anisimov c63741dbb6 better tbb exception 2021-02-23 12:40:18 +01:00
Dmitry Anisimov e16e773fb8 fixed exception handling 2021-02-22 17:37:57 +01:00
Mael Rouxel-Labbé abe1f6e577 Misc cleaning 2021-02-22 16:51:35 +01:00
Mael Rouxel-Labbé b3d7977fac Fix boundary cycle zipping not updating its representative 2021-02-22 16:50:52 +01:00
Dmitry Anisimov c0627fc05f cleaner solution using std exception 2021-02-22 16:45:10 +01:00
Dmitry Anisimov 99f8843197 in case tbb is on, we use tbb captured execption in pmp 2021-02-22 15:19:58 +01:00
Sébastien Loriot 85a9962892 2 fixes:
- an edge cannot be collapsed if both its endpoints are constrained -> allow cap classification
- an edge with two constrained endpoints can be flipped (if not constrained)
2021-02-22 14:50:41 +01:00
Andreas Fabri d5a5b20ce8 Make it clear that the functor is not part of the Kernel concept 2021-02-19 20:23:20 +00:00
Mael Rouxel-Labbé 68f53bc518 Clean preconditions of is_needle/cap 2021-02-19 18:04:58 +01:00
Mael Rouxel-Labbé 8afeab71e7 Various fixes for PMP::remove_almost_degenerate_faces
See https://github.com/CGAL/cgal/pull/5476
2021-02-19 18:02:15 +01:00
Mael Rouxel-Labbé aacd453965 Do not stitch two halfedges if both are incident to the same degenerate face 2021-02-19 17:38:34 +01:00
Sébastien Loriot a75ad50a31 allow to handle a triangle as a cap if the collapse_length_threshold is not met 2021-02-19 16:53:01 +01:00
Sébastien Loriot b5277495e2 remove no longer needed variables 2021-02-19 16:10:32 +01:00
Sébastien Loriot 7ab4a8f6a2 handle constrained edges removed upon collapse 2021-02-19 14:38:20 +01:00
Sébastien Loriot 6e4b5ead81 use new macros 2021-02-19 13:44:51 +01:00
Sébastien Loriot 35387df806 do not document all overloads 2021-02-19 13:37:28 +01:00
Sébastien Loriot 0d698f1bfc update header 2021-02-19 13:13:42 +01:00
Sébastien Loriot 5d0d98f35e add missing parameter not added in 2d4c254362 ? 2021-02-19 11:24:41 +01:00
Sébastien Loriot 8abb285302 post merge/cgal update fixes 2021-02-19 11:13:16 +01:00
Sébastien Loriot 20661527bd Merge branch 'martinskrodzki/gsoc2019-PMPHDist-martinskrodzki' into master 2021-02-19 10:58:11 +01:00
Laurent Rineau 1a040c8552
Merge pull request #4749 from danston/Polygon_mesh_processing-triangulate_hole_with_cdt2-danston 2021-02-19 07:59:59 +01:00
Laurent Rineau c70da09776 Merge pull request #5049 from sloriot/PMP-corefine_non_manifold
corefine with non manifold edges
2021-02-18 15:26:56 +01:00
Laurent Rineau 77466bc60e Merge pull request #5295 from barcode/Side_of_triangle_mesh_move_ctor_move_assign
Add move ctor and move assign to Side_of_triangle_mesh
2021-02-18 15:26:46 +01:00
Sébastien Loriot 692f35a62d fix warnings 2021-02-15 17:17:20 +01:00
Sébastien Loriot 0e025bddd9 add initial version of coplanar decimation 2021-02-15 09:32:45 +01:00
Dmitry Anisimov c970c4a758 removed unused Point_3 type in PMP 2021-02-11 09:48:27 +01:00
Dmitry Anisimov 81d9556707 Merge remote-tracking branch 'upstream/master' into Kernels-decltypes-danston 2021-02-10 10:06:45 +01:00
Sébastien Loriot a595e529c5 remove edge map and inter pt set 2021-02-09 18:43:05 +01:00
Mael Rouxel-Labbé f55d586d9d Re-introduce some kind of zipping as a first step to boundary cycle stitching
Zipping was removed when local stitching was introduced, and a common interface
between stitching-within-a-cycle and normal-stitching was introduced.

However, that common interface does not handle any non-manifold configuration,
even if it's a folded cycle with obvious stitching (consecutive equal edges).

So, some kind of zipping is re-added. It is cheap anyway
(compared to e.g. calling PMP::connected_components on the whole mesh).
2021-02-08 15:50:48 +01:00
Maxime Gimeno 564e4a1d9f Fix 2021-02-08 10:24:40 +01:00
Laurent Rineau 41765b6a26 Merge pull request #5377 from sloriot/PMP-typo
Remove extra p
2021-02-05 16:10:22 +01:00
Laurent Rineau 9986b1c151 Merge pull request #5424 from sloriot/PMP-hole_filling_no_warnings
Do not emit warning as hole filling can fail
2021-02-05 16:09:51 +01:00
Laurent Rineau 8c86a6a858 Merge pull request #5377 from sloriot/PMP-typo
Remove extra p
2021-02-05 16:07:20 +01:00
Laurent Rineau a4bbce7f7a Merge pull request #5424 from sloriot/PMP-hole_filling_no_warnings
Do not emit warning as hole filling can fail
2021-02-05 16:07:09 +01:00
Laurent Rineau 11939d830f Merge pull request #5377 from sloriot/PMP-typo
Remove extra p
2021-02-05 16:05:48 +01:00
Dmitry Anisimov 8914b2fc82
Update Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/triangulate_hole.h
Co-authored-by: Sebastien Loriot <sloriot.ml@gmail.com>
2021-02-05 14:43:29 +01:00
Sebastien Loriot c30056b126
use move assignment 2021-02-05 13:51:21 +01:00
Sébastien Loriot 2510571448 always init faces of patches 2021-02-04 17:00:48 +01:00
Andreas Fabri 96769b2873 Use 2 template parameters so that it matches for a handle and a smart handle 2021-02-03 12:38:25 +00:00
Sébastien Loriot 22724728e7 do not emit warning as hole filling can fail 2021-02-03 12:48:50 +01:00
Andreas Fabri cd70b9b172 Use operator< instead of operator> as OM only implements the former 2021-02-03 10:46:28 +00:00
Maxime Gimeno a0686c10ec use *this = std::move(other); 2021-01-28 12:21:57 +01:00
Maxime Gimeno 63fe0dc17a clean-up 2021-01-28 12:00:40 +01:00
Maxime Gimeno 5039f813ae Add move assign to Rigid_triangle_mesh_collision_detection 2021-01-28 11:21:32 +01:00
Dmitry Anisimov b2861aefa3 fixed warning with Vector 3 type 2021-01-28 10:57:01 +01:00
Sébastien Loriot 71ae816bfa Merge remote-tracking branch 'cgal/master' into PMP-corefine_non_manifold 2021-01-27 13:46:09 +01:00
Dmitry Anisimov 56a0cb15e4 added missing type 2021-01-26 10:48:17 +01:00
Dmitry Anisimov 3551d0224b fixed IO interface + the bug with misplaced assertions 2021-01-26 10:38:03 +01:00
Laurent Rineau 9ef6fc3182 Merge pull request #5330 from sloriot/PMP-hard_coded_EK
remove hardcoded kernel
2021-01-21 16:23:19 +01:00
Laurent Rineau 1fbc6ec52b Merge pull request #5330 from sloriot/PMP-hard_coded_EK
remove hardcoded kernel
2021-01-21 16:19:06 +01:00
Sébastien Loriot 4ef0295891 typo 2021-01-20 15:53:52 +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
Dmitry Anisimov f7abb6c343
Merge branch 'master' into Polygon_mesh_processing-triangulate_hole_with_cdt2-danston 2021-01-14 17:23:24 +01:00
Dmitry Anisimov c657451934
Merge branch 'master' into Polygon_mesh_processing-triangulate_hole_with_cdt2-danston 2021-01-14 10:38:51 +01:00
Sébastien Loriot ffc16da931 close stream 2021-01-13 13:50:32 +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
Laurent Rineau f33f3f5d7c Merge pull request #5256 from sloriot/PMP-improve_isotropic_remeshing
TIny improvement of surface isotropic remeshing
2021-01-06 16:11:40 +01:00
Sébastien Loriot 925abf284d expose type 2021-01-06 14:26:11 +01:00
Sébastien Loriot e63b032979 remove hardcoded kernel 2021-01-06 13:26:58 +01:00
Sébastien Loriot 02db50ae4f fix warnings 2021-01-04 10:36:14 +01:00
Andreas Fabri 404ee465df Address VC++ warnings 2021-01-04 09:16:30 +00:00
Andreas Fabri 8ae9070e5d Fix warnings 2020-12-30 09:06:19 +00:00
Raphael Grimm c395a5d3f7 Add std::move to all members 2020-12-18 10:54:42 +01:00
Raphael Grimm 7bd2923bc3 Remove BOOST_NO_CXX11_RVALUE_REFERENCES 2020-12-18 10:31:18 +01:00
Raphael Grimm f3330b91d6 Add move ctor and move assign to Side_of_triangle_mesh 2020-12-18 08:59:24 +01:00
Laurent Rineau 4b42d4b555 Merge pull request #5286 from janetournois/PMP-isotropic_remeshing_fix_is_corner-jtournois
PMP::isotropic_remeshing - fix is_corner(v)
2020-12-17 17:03:13 +01:00
Laurent Rineau 1357ebc0c1 Merge pull request #5286 from janetournois/PMP-isotropic_remeshing_fix_is_corner-jtournois
PMP::isotropic_remeshing - fix is_corner(v)
2020-12-17 17:02:46 +01:00
Laurent Rineau 6f8f790ae9 Merge pull request #5286 from janetournois/PMP-isotropic_remeshing_fix_is_corner-jtournois
PMP::isotropic_remeshing - fix is_corner(v)
2020-12-17 17:02:29 +01:00
Jane Tournois 0be31d5440 Revert "skip the null face when checking for self-intersections in a face range"
This reverts commit 9ba6ac4929.
2020-12-17 10:15:59 +01:00
Laurent Rineau ec4768468f Merge pull request #5263 from MaelRL/PMP-Fix_remove_degenerate_edges_mutated_loop-GF
Fix multiples calls to degenerate_edges() with an invalid input range
2020-12-16 17:49:12 +01:00
Laurent Rineau f612716d34 Merge pull request #5263 from MaelRL/PMP-Fix_remove_degenerate_edges_mutated_loop-GF
Fix multiples calls to degenerate_edges() with an invalid input range
2020-12-16 17:47:50 +01:00
Jane Tournois 1afacb1d0b is_corner(v) should count both incoming and outgoing halfedges around v 2020-12-15 17:39:10 +01:00
Mael Rouxel-Labbé 136ddee8da Do not use the iterator after its deletion 2020-12-15 16:13:00 +01:00
Jane Tournois fab3f8a55b move pid to where it is actually needed 2020-12-11 15:24:52 +01:00
Jane Tournois 9ba6ac4929 skip the null face when checking for self-intersections in a face range 2020-12-11 15:23:41 +01:00
Jane Tournois d984905e2e rename function for code readability 2020-12-11 15:00:27 +01:00
Jane Tournois a42b4326a9 improve flipping step
add another criterion to decide whether to flip or not
is_badly_shaped detects caps and needles
2020-12-11 14:51:46 +01:00
Mael Rouxel-Labbé 818037a0ce Fix multiples calls to degenerate_edges() with an invalid input range 2020-12-10 17:34:55 +01:00
Sébastien Loriot 7c7d9c0755 add missing requirement 2020-12-10 12:23:26 +01:00
Sébastien Loriot bd05e06b48 use patch_id_to_index_map 2020-12-10 12:19:43 +01:00
Sébastien Loriot 876a40afe5 do not test faces outside of the patches considered 2020-12-10 12:07:06 +01:00
Maxime Gimeno 1d98f0f71d Merge remote-tracking branch 'cgal/master' into CGAL_IO-maxGimeno 2020-12-09 14:40:02 +01:00
Sébastien Loriot ba0b215335 replace multimap by vector of vector 2020-12-08 17:14:05 +01:00
Sébastien Loriot 6e782ef0ee call reserve 2020-12-08 16:26:13 +01:00
Sébastien Loriot 06ac504bec fix indentation 2020-12-08 16:21:01 +01:00
Sébastien Loriot a31ccc4a2d remove property map 2020-12-08 16:19:07 +01:00
Sébastien Loriot 0d480ca612 use vectors instead of maps 2020-12-08 16:07:08 +01:00
Sébastien Loriot 08eeacca8b Merge remote-tracking branch 'cgal/master' into FastEnvelope-GF 2020-12-07 16:40:34 +01:00
Dmitry Anisimov c2085ea36c
Merge branch 'master' into Polygon_mesh_processing-triangulate_hole_with_cdt2-danston 2020-12-04 18:32:25 +01:00
Laurent Rineau 81336ab612 Merge pull request #5225 from albert-github/feature/bug_missing_End
Missing \cgalParamEnd
2020-12-04 17:15:52 +01:00
Laurent Rineau 3eed365417 Merge pull request #5228 from MaelRL/PMP-Add_missing_include_pm2ps-GF
PMP: Add missing header include (PM to PS)
2020-12-04 17:15:43 +01:00
Laurent Rineau a2140d8263 Merge pull request #5228 from MaelRL/PMP-Add_missing_include_pm2ps-GF
PMP: Add missing header include (PM to PS)
2020-12-04 17:08:22 +01:00
Sébastien Loriot 2e56e8d298 dump all debug prims in a single file (easier to load) 2020-12-03 19:29:42 +01:00
Sébastien Loriot 294b9cf1e3 empty() -> is_empty() 2020-12-03 18:55:05 +01:00
Sébastien Loriot 698eca8698 use std + make it work with EPECK 2020-12-03 18:54:38 +01:00
Sébastien Loriot 1aed8bad83 add soup as query 2020-12-03 15:37:38 +01:00
Sébastien Loriot 5b3c3eaeba remove old copy/paste 2020-12-03 10:54:23 +01:00
Sébastien Loriot 5f6dca4738 add an option to refuse a repair that is too far from the input
using Polyhedral_envelope
2020-12-03 10:43:03 +01:00
Sébastien Loriot 37218729f4 add move assignment and move constructor 2020-12-03 10:23:49 +01:00
Andreas Fabri 6046432534 Add a mesh in envelope test 2020-12-03 07:58:33 +00:00
Sébastien Loriot 3463501b4d add more operator() 2020-12-02 18:21:11 +01:00
Sébastien Loriot e8b68a3de8 dump prims at the end of init 2020-12-02 18:16:38 +01:00
Sébastien Loriot fd8d9eed31 fix copy-paste error: do not copy all vertices 2020-12-02 18:14:56 +01:00
Sébastien Loriot 3778b0c3c3 add default constructor 2020-12-02 18:14:18 +01:00
Sébastien Loriot 1f5a1cb314 link to user manual 2020-12-02 09:49:53 +01:00
Sébastien Loriot f76c5f9595 doc that triangle soup can be used too as input 2020-12-02 09:40:05 +01:00
Sébastien Loriot 87f0b49b11 remove extra template parameter 2020-12-01 18:17:03 +01:00
Mael Rouxel-Labbé 47df5dc4df Add missing header include 2020-11-30 18:00:41 +01:00
albert-github 44fdd8bda6 Missing \cgalParamEnd
A missing `\cgalParamEnd` results in incorrect HTML code (i.e. `</div>` is missing, but which is still shown correctly)
2020-11-30 14:45:14 +01:00
Sébastien Loriot 118b904429 document triangle soup constructor 2020-11-27 16:02:22 +01:00
Sébastien Loriot dbaf546a2f vector -> range 2020-11-27 16:02:06 +01:00
Sébastien Loriot 3e51ef97d6 use Oriented_side 2020-11-27 15:24:48 +01:00
Sébastien Loriot 2677630c84 remove experimental code 2020-11-27 15:13:35 +01:00
Sébastien Loriot 1d7c778b17 avoid signed vs unsigned int warnings 2020-11-27 15:10:43 +01:00
Sébastien Loriot 4a0b162b95 handle unused variable warnings 2020-11-27 14:53:22 +01:00
Sébastien Loriot 8c69ced9fb fix misleading braces 2020-11-27 14:34:36 +01:00
Sébastien Loriot 41a9ac9f26 use unsigned int in loops to avoid conversion warnings 2020-11-27 14:29:17 +01:00
Sébastien Loriot 2625934503 add constructor with a range of faces 2020-11-27 14:08:55 +01:00
Sébastien Loriot 5fa89e2fd2 fix constructor in case the mesh contains garbarge vertices
remove the need for a vertex index map
2020-11-27 14:08:05 +01:00
Sébastien Loriot cde45d2405 Merge remote-tracking branch 'cgal/master' into PMP-corefine_non_manifold 2020-11-27 10:22:24 +01:00
Sébastien Loriot feb5ed87fd export the handling of extra terminal node in a class template (with specialization for autoref) 2020-11-26 18:31:24 +01:00
Sébastien Loriot 172b16bf09 really split the intersection graph at node where the intersection polylines ...
... goes from the interior of a mesh onto its boundary
The patch is not yet valid for autorefinement
2020-11-26 14:10:53 +01:00
Andreas Fabri 9b794b2fa4 Update Polygon_mesh_processing/include/CGAL/Polyhedral_envelope.h
Co-authored-by: Sebastien Loriot <sloriot.ml@gmail.com>
2020-11-26 10:38:30 +01:00
Andreas Fabri 2f9de520b3 Update Polygon_mesh_processing/include/CGAL/Polyhedral_envelope.h
Co-authored-by: Sebastien Loriot <sloriot.ml@gmail.com>
2020-11-26 10:10:15 +01:00
Andreas Fabri 80bfe829ca Update Polygon_mesh_processing/include/CGAL/Polyhedral_envelope.h
Co-authored-by: Sebastien Loriot <sloriot.ml@gmail.com>
2020-11-26 10:10:02 +01:00
Andreas Fabri e36f34ad52 Update Polygon_mesh_processing/include/CGAL/Polyhedral_envelope.h
Co-authored-by: Sebastien Loriot <sloriot.ml@gmail.com>
2020-11-26 10:09:53 +01:00
Andreas Fabri 4722ed66db Update Polygon_mesh_processing/include/CGAL/Polyhedral_envelope.h
Co-authored-by: Sebastien Loriot <sloriot.ml@gmail.com>
2020-11-26 10:09:36 +01:00
Andreas Fabri b7a5dd9193 Update Polygon_mesh_processing/include/CGAL/Polyhedral_envelope.h
Co-authored-by: Sebastien Loriot <sloriot.ml@gmail.com>
2020-11-26 10:09:24 +01:00
Sébastien Loriot 4b26935ff5 fix boundary cases (regular and coplanar)
tests are updated as results were somehow invalid
2020-11-24 18:11:27 +01:00
Sébastien Loriot f56cbecce9 add missing resize for autoref case 2020-11-23 16:36:05 +01:00
Andreas Fabri 56886962ce typos 2020-11-20 10:43:14 +00:00
Maxime Gimeno d80d2eebc8 put expensive tests in weight calculation in expensive_assertions 2020-11-19 16:57:34 +01:00
Andreas Fabri 6080b92f12 Favor earlier exit by reordering planes 2020-11-19 08:44:28 +00:00
Sébastien Loriot cbc4360b43 better handling of setting of coplanar flag for patches
especially for connected components being entirely a coplanar patch
2020-11-17 15:01:24 +01: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 1b55b2823b Fix license check 2020-11-13 16:12:38 +00:00
Sébastien Loriot 63ad707c02 correctly handle orientation of coplanar patches 2020-11-13 15:20:54 +01:00
Sébastien Loriot aecc7c7ee7 improve debug 2020-11-10 14:44:32 +01:00
Sébastien Loriot e86b24e2c4 add an np to filter some self-intersections 2020-11-10 13:46:22 +01:00
Andreas Fabri ac1200fe28 Cleanup of GetFilter 2020-11-10 10:52:53 +00:00
Sébastien Loriot 06fbadbd10 add extra code to handle boundary conditions 2020-11-10 11:28:41 +01:00
Andreas Fabri c510a89ea0 Improve doc 2020-11-10 09:59:01 +00:00
Sébastien Loriot 21f64efbdc add non-documented visitor function calls 2020-11-09 18:25:13 +01:00
Laurent Rineau b248867e91
Merge pull request #5141 from maxGimeno/Demo-Fix-clipping_plugin-maxGimeno 2020-11-09 17:10:24 +01:00
Andreas Fabri 40283b618d Ignore degenerate faces 2020-11-09 08:42:19 +00:00
Andreas Fabri 5731813c19 Define polyhedral envelope 2020-11-06 12:44:53 +00:00
Andreas Fabri 45a24c2308 Duplicate a helper file in order to remove a dependency 2020-11-06 08:28:58 +00:00
Andreas Fabri 041502a60c Move Envelope_filter to PMP 2020-11-05 08:43:33 +00:00
Laurent Rineau 4acca1e770 Merge pull request #4978 from janetournois/PMP-remesh_non_triangle_faces-jtournois
Polyhedron demo - remesh a non-triangle mesh
2020-11-04 20:46:15 +01:00
Laurent Rineau 3f5e9bad29 Merge pull request #5124 from sloriot/PMP-simplify_polyline
Add experimental non-documented function to simplify a 3D polyline
2020-11-04 20:45:59 +01:00
Laurent Rineau 4b51704368 Merge pull request #5134 from MaelRL/PMP-Fix_remove_locate_dead_forward_declaration-GF
PMP: Remove obsolete forward declaration with no body
2020-11-04 20:45:57 +01:00
Laurent Rineau c122a9b687 Merge pull request #5134 from MaelRL/PMP-Fix_remove_locate_dead_forward_declaration-GF
PMP: Remove obsolete forward declaration with no body
2020-11-04 20:44:21 +01:00
Andreas Fabri e1c1e1fbb6 capitalize file name in the #include (VC++ did not care) 2020-11-04 11:28:02 +00:00
Andreas Fabri 5ff48521d1 Use TLS; Fix SMS example 2020-11-04 09:53:38 +00:00
Maxime Gimeno 8b0ba4c786 Add a named_parameter to allow self-intersections for clip and split for planes and iso_cuboids 2020-11-04 10:21:55 +01:00
Maxime Gimeno 5ab80cd54f Fix c++17 warning 2020-11-03 14:58:56 +01:00
Andreas Fabri 80053c515f typos 2020-11-03 07:40:30 +00:00
Sébastien Loriot a49e2bc6cd remove tabs 2020-11-02 18:06:38 +01:00
Andreas Fabri 85bb0775e8 Improve documentation 2020-11-02 14:44:46 +00:00
Sébastien Loriot 0abbeb303f add missing typedef 2020-11-02 09:38:39 +01:00
Sébastien Loriot 15094cd679 the visitor can now track edge splits 2020-10-30 16:23:17 +01:00
Sébastien Loriot 7bcbf8fb7d update from master
merge branch into master
2020-10-30 14:04:44 +01:00
Mael c1c21ae110
Remove obsolete forward declaration with no body 2020-10-29 15:33:58 +01:00
Laurent Rineau 484824c3bb Merge pull request #5097 from janetournois/PMP-fix_isotropic_remeshing_with_dart-jtournois
PMP isotropic remeshing - fix collapsibilty check
2020-10-29 15:30:16 +01:00
Laurent Rineau 16480d4b81 Merge pull request #5122 from lrineau/PMP-fix_locate_with_AABB_tree__point-GF
Fix locate_with_AABB_tree(Point, ..._) with default point pmap
2020-10-29 15:30:09 +01:00
Laurent Rineau af29a4819a Merge pull request #5097 from janetournois/PMP-fix_isotropic_remeshing_with_dart-jtournois
PMP isotropic remeshing - fix collapsibilty check
2020-10-29 15:29:30 +01:00
Laurent Rineau 50116b5cd4 Merge pull request #5122 from lrineau/PMP-fix_locate_with_AABB_tree__point-GF
Fix locate_with_AABB_tree(Point, ..._) with default point pmap
2020-10-29 15:29:25 +01:00
Sébastien Loriot 61174c8359 fix for collinear cycle + update tests 2020-10-28 10:11:34 +01:00
Sébastien Loriot 7309b09169 add function to simplify a 3D polyline (closed or open) with approximation guarantees 2020-10-27 19:12:20 +01:00
Laurent Rineau e5f8d11df5 Fix locate_with_AABB_tree(Point, ..._) with default point pmap 2020-10-27 10:51:13 +01:00