Commit Graph

1721 Commits

Author SHA1 Message Date
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é 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
Laurent Rineau 92a7449cac Merge pull request #3006 from sloriot/PMP_PSP-fixes_for_release
Pmp psp fixes for release
2018-04-24 17:34:21 +02:00
Andreas Fabri 37e677e989 Fix compilation error with VC2017 and -permissive- It looks like a compiler bug though 2018-04-13 12:01:23 +01:00
Sébastien Loriot 348c0f92fa do not overwrite output iterator, return it directly 2018-04-10 17:32:22 +02:00
Laurent Rineau d057f6d9f1 Merge pull request #2958 from sloriot/PMP-coref_more_coplanar_fixes
Update incorrectly handled coplanar intersection computation
2018-03-28 17:46:24 +02:00
Laurent Rineau 237735ab73 Merge pull request #2946 from afabri/CGAL-dependencies-GF
Move properties from Mesh_3 to BGL, Polyhedron_3 and Surface_mesh
2018-03-27 10:35:23 +02:00
Sébastien Loriot 8553713885 update incorrectly handled coplanar intersection computation
follow up of 6bb6f470c4
2018-03-26 11:20:16 +02:00
Laurent Rineau cd6fe20bd4 Merge branch 'releases/CGAL-4.11-branch' 2018-03-26 11:03:37 +02:00
Laurent Rineau f1b94f0a2b Merge pull request #2919 from sloriot/PMP-orient_handle_isolated_vertices
Handle isolated vertices
2018-03-26 10:56:05 +02:00
Laurent Rineau 1ef766c19b Merge pull request #2932 from kkatrio/null-edge-hole-filling
PMP hole filling: null edge
2018-03-26 10:55:58 +02:00
Laurent Rineau 4b2e2db728 Merge pull request #2945 from sloriot/PMP-remove_si_improvements
Improvement of self-intersection removal using local remeshing
2018-03-26 10:55:51 +02:00
Andreas Fabri 8c41669fb7 move properties from Mesh_3 to BGL, Polyhedron_3 and Surface_mesh 2018-03-22 16:37:37 +01:00
Sébastien Loriot 640e78f92b add an option to allow to change the genus
this is useful if the surface has some small artefact
that is not a topological disk
2018-03-22 11:15:47 +01:00
Sébastien Loriot 885f485ce1 use named parameter instead of default int and bool 2018-03-22 10:50:48 +01:00
Sébastien Loriot 56dca973be add a debug function to dump faces of a cc into an OFF 2018-03-22 10:24:24 +01:00
Sébastien Loriot 6bb6f470c4 update incorrectly handled coplanar intersection computation 2018-03-21 16:51:24 +01:00
Sébastien Loriot dabd127d12 fix typo in the name of an internal function 2018-03-19 15:24:04 +01:00
Sébastien Loriot d2e02c1eee compactify the domain to be remeshed
we additional select faces that are incident to the selection
that are strictly  inside the bounding box of the initial selection
2018-03-19 15:18:27 +01:00
Konstantinos Katrioplas 61735be71c deny triangulation for input of 3 points or less when using all search space 2018-03-16 14:08:43 +01:00
Laurent Rineau 9708c41ad1 Off-topic, Mesh_3: fix a bug in detect_features
The commit cba3b1c20c from the PR #2336
was incomplete: there are two overloads of `sharp_call(..)` and it
fixed only one occurrence.
2018-03-15 15:27:07 +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 613eca7448 do not use Euler::add_face + reuse edges and faces scheduled for removal 2018-03-14 14:07:40 +01:00
Sébastien Loriot 0d8e21f25c avoid recomputing self-intersections if not needed 2018-03-14 10:44:44 +01:00
Sébastien Loriot 5af7b56589 expand the selection only by CC (instead of globally) 2018-03-14 10:22:24 +01:00
Sébastien Loriot c2e849935e handle isolated vertices 2018-03-12 15:25:46 +01:00
Sébastien Loriot e86ca2eec2 add the usage of the CDT as an undocumented option 2018-03-12 10:43:57 +01:00
Sébastien Loriot 8be7c2b2d1 add convenience header 2018-03-12 10:27:38 +01:00
Sébastien Loriot ee07db2b1e protect code using DT3 with the macro disabling its use 2018-03-12 10:24:35 +01:00
Konstantinos Katrioplas 6ef74c39b5 conditional inclusion of cdt2 headers 2018-03-08 17:08:05 +01:00
Konstantinos Katrioplas 8cfa4e7577 correct return types 2018-03-07 10:42:46 +01:00
Sébastien Loriot 07a70919c2 do not expand/reduce all the time + handle nm vertices per cc 2018-03-06 18:37:09 +01:00
Laurent Rineau caca4d67de Merge pull request #2891 from sloriot/PMP-handle_deg_tri_self_inter
Handle degenerate faces in self-intersection tests
2018-03-06 16:23:32 +01:00
Laurent Rineau 81a7e2d737 Merge pull request #2888 from sloriot/PMP-autorefine_bugfixes
Autorefine bugfixes
2018-03-06 16:23:08 +01:00
Sébastien Loriot 7ab6120a0c workaround warning 2018-03-05 17:09:23 +01:00
Andreas Fabri 5d1cd90517 Add two typename 2018-03-05 14:17:26 +00:00
Konstantinos Katrioplas 8ccec9fe98 macro rename 2018-03-05 13:20:50 +01:00
Konstantinos Katrioplas 9224e83c0a clean up 2018-03-05 13:05:37 +01:00
Sébastien Loriot 8cc234fe26 handle degenerate faces 2018-03-02 15:45:34 +01:00
Sébastien Loriot 8817f067d1 mark vertices as terminal if incident to edge where the surface is pinched 2018-03-02 11:38:42 +01:00
Sébastien Loriot 26dec7527a prevent duplicated nodes at existing vertex between faces intersecting 2018-03-01 16:19:23 +01:00
Sébastien Loriot 29eeac3e3d make autorefinement working with exact constructions 2018-03-01 16:10:14 +01:00
Sébastien Loriot c668b90379 add assertion and fix comment 2018-03-01 16:09:55 +01:00
Sébastien Loriot e478e12471 do not use Euler::add_face 2018-03-01 15:38:26 +01:00
Sébastien Loriot da812c6b77 only remove the face if hole filling was successful 2018-03-01 14:14:36 +01:00
konstantinos katrioplas 833c54faef using triangulate_hole_polyline 2018-03-01 12:59:52 +01:00
Konstantinos Katrioplas a765b152e3 wip - testing dual 2018-02-28 13:47:10 +01:00
Konstantinos Katrioplas 39ab6e00f4 test triangle face 2018-02-28 11:54:11 +01:00
Konstantinos Katrioplas 1869830e72 hole filling impl 2018-02-28 10:53:51 +01:00
konstantinos katrioplas 36dd6e7bf9 setup mech and function with hole filling 2018-02-27 21:24:26 +01:00
konstantinos katrioplas eab0c12190 compiling 2018-02-27 20:28:27 +01:00
Konstantinos Katrioplas 2c86fd6c54 setup new function with cdt 2018-02-27 16:07:17 +01:00
Mael Rouxel-Labbé d9168d011c Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2018-02-23 18:24:39 +01:00
Laurent Rineau 9e8a40fc70 Merge pull request #2845 from sloriot/PMP-improve_autorefine_v2
Improve internal autorefinement function
2018-02-23 17:35:09 +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
Sébastien Loriot 51f4858f26 detect non-manifold edges that the hole filling would produce 2018-02-20 15:36:36 +01:00
Sébastien Loriot 6920f4be98 better handling of coplanar faces + throw when more than 2 faces sharing an edge 2018-02-20 11:15:21 +01:00
Sébastien Loriot ac5c061b4b fix warning 2018-02-19 18:04:55 +01:00
Sébastien Loriot 48e1d686a1 fix warning 2018-02-19 18:04:55 +01:00
Sébastien Loriot 32e74839df handle topology issue due to boundary cycle of edges 2018-02-19 18:04:55 +01:00
Sébastien Loriot c7b836570f clean up and simplify code 2018-02-19 18:04:55 +01:00
Maxime Gimeno e650284d3d Don't crash if cc_bordes_he is empty. 2018-02-19 18:04:55 +01:00
Maxime Gimeno d4f50b5b47 Don't use filtered_graph 2018-02-19 18:04:55 +01:00
Sébastien Loriot b1ee7fb7db remove trailing whitespaces 2018-02-19 18:04:55 +01:00
Sébastien Loriot 84a2e04afc simplying the sorting of points
lexicographic order is fine since extreme points are
already using this order
2018-02-19 18:04:55 +01:00
Sébastien Loriot 6e1b680058 handle case when face orientation around the cc of deg faces is incorrect 2018-02-19 18:04:54 +01:00
Maxime Gimeno cde00f7757 Clean-up and overload. 2018-02-19 18:04:54 +01:00
Maxime Gimeno 3fdc7b67b2 remove non_filled_holes 2018-02-19 18:04:54 +01:00
Sébastien Loriot 935bba4ad3 use dynamic property maps + clean up 2018-02-19 18:04:54 +01:00
Maxime Gimeno 2758143116 fixing the topology test. 2018-02-19 18:04:03 +01:00
Sébastien Loriot 209f1a246c iteratively remove degree 3 vertices incident to a degenerate face 2018-02-19 18:04:03 +01:00
Sébastien Loriot f3a3b5eb5e fix the collapsibility check of connected components of degenerate faces 2018-02-19 18:04:03 +01:00
Maxime Gimeno 59b72cb364 Add some enhancements to remove_self_intersections() 2018-02-19 18:04:02 +01:00
Sébastien Loriot 12c57b588a fix condition to drop patch with dangling edges 2018-02-19 09:34:46 +01:00
Sébastien Loriot c0fc3e92bf avoid identical faces in case of coplanar 2018-02-19 09:11:36 +01:00
Sébastien Loriot d785378bdd workaround issue with msvc 2018-02-15 17:06:31 +01:00
Sébastien Loriot 50dfffcedf Sort halfedge of coplanar faces intersecting in autorefinement case
Since the faces are coming from the same mesh...
2018-02-15 10:31:31 +01:00
Sébastien Loriot c20177c55d add TODO 2018-02-15 10:31:31 +01:00
Sébastien Loriot 3eb109a944 better handling of dangling edges 2018-02-15 10:31:31 +01:00
Sébastien Loriot e9596acaec fix issue with intersection edges not found
this happen when such an edge if not on the same
sheet (and would be found next thanks to the
multimap).
2018-02-15 10:31:31 +01:00
Sébastien Loriot e11a1d8617 fix patches to keep in coplanar cases 2018-02-15 10:31:31 +01:00
Sébastien Loriot 129b4c48fb use union find to track incident between patches and discard nested intersections 2018-02-15 10:31:31 +01:00
Sébastien Loriot 80d820a10e first version of autorefinement able to handle self-intersection of 3 faces
the code is not working with coplanar faces for now and does not handle
more that 3 faces meeting at a point not more that 2 triangles intersecting
along an edge
2018-02-15 10:29:27 +01:00
Sébastien Loriot 483f69728e Refresh branch 2018-02-12 22:21:38 +01:00
Laurent Rineau f310fc588d
Merge pull request #2690 from sgiraudot/Classification-ETHZ_random_forest-GF
Classification: ETHZ Random Forest
2018-02-01 17:35:30 +01:00
Simon Giraudot 6269309d86 Use CGAL include for boost counting/transform iterators everywhere 2018-01-23 11:09:52 +01:00
Laurent Rineau e72444ab60
Merge pull request #2709 from lrineau/CGAL-fix_merge_of_PR_2478-GF
Fix the merge of PR #2478 into releases/CGAL-4.11-branch
2018-01-22 10:06:21 +01:00
Laurent Rineau dd3357c508 Merge pull request #2738 from sloriot/PMP-distance_update_max
Make the update of the max value correct
2018-01-19 15:22:22 +01:00
Laurent Rineau 5b5002f694 Merge pull request #2738 from sloriot/PMP-distance_update_max
Make the update of the max value correct
2018-01-19 15:21:22 +01:00
Andreas Fabri 38b2e57b11 PMP 2018-01-17 17:59:35 +00:00
Laurent Rineau f7cbe80c7d Merge pull request #2711 from sloriot/PMP-Janes_commits
More verbose debug output
2018-01-17 10:43:06 +01:00
Sébastien Loriot 499f3c4604 make the update of the max value correct 2018-01-15 18:22:11 +01:00
Simon Giraudot ae41b4af74 Fix namespace in PMP 2018-01-10 16:38:35 +01:00
Mael Rouxel-Labbé b8df8ba29b Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2018-01-08 10:44:01 +01:00
Jane Tournois 2650a46d5f fix implicit conversion warning (size_type to bool) 2018-01-05 09:25:11 +01:00
Jane Tournois 4a8b735792 remove nested if, already tested 2018-01-05 09:25:11 +01:00
Jane Tournois b7e641ef6a add verbosity for debugging 2018-01-05 09:25:11 +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
Sébastien Loriot 9fe73a801e Merge pull request #2552 from maxGimeno/PMP_does_intersect-GF
PMP: do_intersect
2018-01-04 15:34:18 +01:00
Sebastien Loriot e3f78ff10e
Merge pull request #2545 from maxGimeno/PMP_orient_connected_components-GF
PMP :  Orient_connected_components function
2018-01-04 15:31:21 +01:00
Sebastien Loriot 625df00b19
Merge pull request #2219 from afabri/BGL-generic_property_map-GF
BGL: Add an API for adding and removing a property map
2018-01-04 15:28:54 +01:00
Sébastien Loriot 29ef1e566b make it clear than any intersection will make the predicate to return true 2018-01-03 15:09:35 +01:00
Sébastien Loriot ba1664e6d1 specify that the point is a 3D point 2018-01-03 13:48:27 +01:00
Sébastien Loriot be51b908a1 add missing link and missing dots 2018-01-03 13:35:17 +01:00
Sébastien Loriot d90c76368d initialize the hedge status map + always do the update for new halfedge 2018-01-02 11:33:41 +01:00
Sébastien Loriot 230ba205e3 update link to np page 2017-12-22 23:01:09 +01:00
Sébastien Loriot 4590be2920 update link to np page 2017-12-22 22:58:42 +01:00
Sebastien Loriot b6cdb1ae5b
Merge pull request #2686 from sloriot/Demo-duplicate_nm_vertices
Add plugin to duplicate non-manifold vertices
2017-12-22 22:10:50 +01:00
Sébastien Loriot fe65254d13 use unordered map instead of map 2017-12-21 09:20:04 +01:00
Sébastien Loriot 942db1bba8 avoid conversion warnings 2017-12-21 09:19:51 +01:00
Sébastien Loriot d1597f2fb5 Merge branch 'maxGimeno/PMP_orient_connected_components-GF' into cgal/master 2017-12-19 17:34:51 +01:00
Sébastien Loriot 430ad5bc72 Merge branch 'maxGimeno/PMP_does_intersect-GF' into cgal/master 2017-12-19 17:31:29 +01:00
Mael Rouxel-Labbé 0bca01d872 Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2017-12-19 17:22:03 +01:00
Laurent Rineau 61e662c4e4 Merge pull request #2649 from sgiraudot/BGL-Regroup_named_parameters-GF
Regroup PMP named parameters with BGL named parameters

# Conflicts:
#	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/parameters_interface.h
2017-12-19 16:33:44 +01:00
Laurent Rineau 1c2e9df8cf Merge branch 'releases/CGAL-4.11-branch' 2017-12-19 16:29:10 +01:00
Laurent Rineau 5181cd7474 Merge branch 'releases/CGAL-4.10-branch' into releases/CGAL-4.11-branch
# Conflicts:
#	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/measure.h
2017-12-19 16:19:22 +01:00
Sébastien Loriot a9a85b37e6 fix compilation issues and warnings 2017-12-19 14:43:30 +01:00
Sébastien Loriot 569649e810 add function to duplicate non-manifold vertices + add plugin 2017-12-15 09:16:45 +01:00
Sébastien Loriot 2db6203c44 fix range type 2017-12-14 17:17:59 +01:00
Sébastien Loriot e97ef309f3 add named parameter for overlapping test 2017-12-14 17:12:37 +01:00
Sébastien Loriot 6011be6fa9 allow to change the named parameters from which the vpm is taken 2017-12-14 17:12:20 +01:00
Andreas Fabri 50e041134e Changes after @sloriot's review 2017-12-14 13:00:34 +00:00
Andreas Fabri ee8c0fad5d Changes after @sloriot's review 2017-12-14 10:49:02 +00:00
Sébastien Loriot 4b1430ca07 use a named parameter for choosing inward or outward orientation 2017-12-14 11:23:43 +01:00
Sébastien Loriot a49f50c8aa add missing using directives 2017-12-14 10:41:47 +01:00
Sébastien Loriot 0d8f33f67d remove duplicated typedef 2017-12-14 10:38:11 +01:00
Laurent Rineau 7df26c594b
Merge branch 'master' into BGL-generic_property_map-GF 2017-12-14 09:46:01 +01:00
Laurent Rineau fe81d31ec2
Merge branch 'master' into PMP_does_intersect-GF 2017-12-13 16:25:32 +01:00
Sébastien Loriot e482e3c30c do not use volume to avoid confusion with bounded volume 2017-12-13 16:17:19 +01:00
Sébastien Loriot abadd74b12 use tm for the variable name of a triangle mesh 2017-12-13 15:58:40 +01:00
Sébastien Loriot fe6b6b13e8 move internal functions in the PMP namespace 2017-12-13 15:45:42 +01:00
Sébastien Loriot 9820a9bacd do_intersect for 2 meshes now also can test for overlaps 2017-12-13 15:37:22 +01:00
Sébastien Loriot 6b98f2db97 move functions 2017-12-13 15:36:22 +01:00
Sébastien Loriot e91761bdbb extract the geom traits from the named parameter 2017-12-13 15:35:02 +01:00
Sébastien Loriot 1ab1635fb4 move implementation is free functions 2017-12-13 14:01:17 +01:00
Sébastien Loriot f88092bfad remove useless ref 2017-12-13 13:44:16 +01:00
Sébastien Loriot c35f45b9d3 volume intersection test is actually an overlap test 2017-12-13 13:37:04 +01:00
Sébastien Loriot 9123802d83 fix function name as it is actually the converse that is tested 2017-12-13 13:32:24 +01:00
Sébastien Loriot 5a04bc7053 clean up 2017-12-13 13:31:09 +01:00
Mael Rouxel-Labbé fe9d21a6cd Fix links to all_default() 2017-12-13 10:54:21 +01:00
Sébastien Loriot 4c2964ba69 fix namespace change 2017-12-13 10:17:45 +01:00
Sébastien Loriot f9b61facd7 update doc of does_bound_a_volume() + add default for bool parameter 2017-12-13 10:17:45 +01:00
Sébastien Loriot d3e0fc820f update doc of orient() + turn checks into assertions 2017-12-13 10:17:45 +01:00
Sébastien Loriot 3f45d98501 remove useless tests since the mesh must be closed 2017-12-13 10:17:45 +01:00
Maxime Gimeno 93c7018ab0 Update doc 2017-12-13 10:17:45 +01:00
Maxime Gimeno 687e5b6c60 Add requirement close for orient function 2017-12-13 10:17:42 +01:00
Maxime Gimeno 6c42ce6958 Doc review 2017-12-13 10:17:08 +01:00
Maxime Gimeno 67d06cadb6 Add a function that orient a closed triangle mesh to make it bound a volume. 2017-12-13 10:17:04 +01:00
Maxime Gimeno 0f4f30b37b Add a boolean to specify output orientation 2017-12-13 10:16:58 +01:00
Maxime Gimeno 497f46f4d3 Robustify 2017-12-13 10:16:58 +01:00
Maxime Gimeno 4a381cdb42 Avoid isolated vertices 2017-12-13 10:16:58 +01:00
Maxime Gimeno dbb63e155d Fices in the doc and the test 2017-12-13 10:16:40 +01:00
Maxime Gimeno 9fd5dda4fe Add an action to inside out plugin for orienting connected components 2017-12-13 10:16:40 +01:00
Maxime Gimeno e7f61869cb Fix case triangles orthogonal to XY plane. 2017-12-13 10:16:40 +01:00
Maxime Gimeno 9f986ea9ef Add a function and associated test that orient all the connected components of a triangulated face graph positively. 2017-12-13 10:16:23 +01:00
Mael Rouxel-Labbé ad947da752 Give each package a NamedParameters.txt 2017-12-12 00:07:57 +01:00
Simon Giraudot a52b14a776 Update tag namedparameters -> namedparameterspmp 2017-12-11 12:08:59 +01:00
Laurent Rineau 68cf051563 Fix <CGAL/Polygon_mesh_processing/measure.h>
It requires `CGAL::exact(FT)` from `<CGAL/Lazy.h>`.

Fixes #2654.
2017-12-07 10:07:16 +01:00
Sébastien Loriot f191e6114a fix named parameter functions 2017-12-06 17:46:24 +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 a48ca62967 Merge pull request #2642 from sloriot/PMP-add_missing_include_4.12
Add missing directive

# Conflicts:
#	Polygon_mesh_processing/include/CGAL/polygon_mesh_processing.h
2017-12-05 18:26:38 +01:00
Laurent Rineau bc3a0c7271 Merge pull request #2638 from sloriot/PMP-experimental_autorefinement
Add experimental autorefinement code
2017-12-05 18:26:23 +01:00
Laurent Rineau f37630bc0f Merge branch 'releases/CGAL-4.11-branch'
# Conflicts:
#	Kernel_23/test/Kernel_23/include/CGAL/_Result_of_kernel.h
#	Kernel_23/test/Kernel_23/test_result_of.cpp
2017-12-05 18:14:23 +01:00
Laurent Rineau 77664fb683 Merge pull request #2641 from sloriot/PMP-missing_includes
Add missing include directives
2017-12-05 17:58:17 +01:00
Laurent Rineau 438200154b Merge pull request #2602 from sloriot/PMP-fix_verbosity_remesh
Turn some #ifndef that should be #ifdef
2017-12-05 17:58:07 +01:00
Mael Rouxel-Labbé d89bedd546 Occurence -> Occurrence 2017-12-05 16:23:46 +01:00
Simon Giraudot 426a72af74 Merge parameters_interface.h to BGL 2017-12-01 15:32:29 +01:00
Simon Giraudot 3dc39c7641 Regroup PMP named parameters with BGL named parameters 2017-11-30 16:05:11 +01:00
Sébastien Loriot 63de8495d0 add missing directive 2017-11-29 14:48:22 +01:00
Sébastien Loriot 94efd620d9 add missing include directives 2017-11-29 14:46:04 +01:00
Andreas Fabri 1f8849dfea Make dynamic property API similar to the non dynamic case 2017-11-29 08:28:16 +00:00
Sébastien Loriot ff9dc98390 remove non-needed #undef 2017-11-28 13:53:07 +01:00
Sébastien Loriot 6b38454803 add missing identifier 2017-11-28 13:49:56 +01:00
Sébastien Loriot 56762a60a4 move all functions related to autorefinement in experimental namespace
+ remove all public documentation associated to it
2017-11-28 11:30:44 +01:00
Sébastien Loriot c22f455f2f do the collect of edges no longer on the intersection in the stitching collect 2017-11-28 10:21:45 +01:00
Sébastien Loriot bcc88dcb25 Merge patches kept and patches removed and update the set of intersection
That way internal intersection edges and vertices also get removed
2017-11-28 10:21:45 +01:00
Sébastien Loriot 0f0a67b55e fix error and warnings in release mode 2017-11-28 10:21:45 +01:00
Sébastien Loriot 32aea69cba fix bug when two coplanar faces intersect while sharing an edge
the edge should ignore the shared edge as there is no stitching needed
2017-11-28 10:21:45 +01:00
Sébastien Loriot f0ce3644f8 bugfix: use the correct halfedge for setting next pointer 2017-11-28 10:21:45 +01:00
Sébastien Loriot 47b4a3941b update user and reference manual 2017-11-28 10:21:45 +01:00
Sébastien Loriot 2feff1c01a handle open meshes 2017-11-28 10:21:45 +01:00
Sébastien Loriot 857f996c3f avoid reporting duplicated coplanar face pairs by sorting them in the callback 2017-11-28 10:21:45 +01:00
Sébastien Loriot 9954a41e3f handling two intersecting edges that are identical for autorefinement 2017-11-28 10:21:45 +01:00
Sébastien Loriot 3d434f7953 correctly initialize bitset to 1 2017-11-28 10:21:45 +01:00
Sébastien Loriot adcfc00996 do not block the fixing when there is a non-manifold situation
Note that is might pose pb in case the status of the patch is
changed in another case
2017-11-28 10:21:44 +01:00
Sébastien Loriot 247ad9ec1b by default patches are tagged as kept
the purpose of the function being to remove self-intersection
I decided to not remove self-inclusion (as it might be surprizing
considering the name of the function)
2017-11-28 10:21:44 +01:00
Sébastien Loriot ad4327530f clean up 2017-11-28 10:21:44 +01:00
Sébastien Loriot 54998f8246 fix comment 2017-11-28 10:21:44 +01:00
Sébastien Loriot 983d3cbdb8 WIP for self-intersection removal using autorefinement 2017-11-28 10:21:44 +01:00
Sébastien Loriot a093cd5e9f use a small struct instead of a two element map 2017-11-28 10:17:05 +01:00
Sébastien Loriot d449fa56f7 move mesh_to_intersection_edges to the output builder 2017-11-28 10:17:05 +01:00
Sébastien Loriot efb2f596bb move an_edge_per_polyline_map in the output builder 2017-11-28 10:17:05 +01:00
Sébastien Loriot ea31cc4bde add autorefine 2017-11-28 10:17:04 +01:00
Sébastien Loriot 70d1d18461 Add function to compute auto-intersection of a surface 2017-11-28 10:17:04 +01:00
Jane Tournois 2feb79a16b Add example for dynamic_property_map 2017-11-27 16:35:30 +00:00
Maxime Gimeno c940bbd20d Update doc 2017-11-27 15:58:56 +01:00
Maxime Gimeno 57bbb4cd92 More fixes for pre-review 2017-11-20 14:54:09 +01:00
Maxime Gimeno 31161a7788 Fix doc. 2017-11-17 12:55:28 +01:00
Maxime Gimeno 830f1e3f80 add volumic tests and tests data files 2017-11-17 12:55:28 +01:00
Maxime Gimeno 4d19c0e1b1 Add named parameters and fix mesh id in range calculation. 2017-11-17 12:55:28 +01:00
Maxime Gimeno 691649590c Add a function to compute the number of pairs of intersecting meshes in a range of meshes. 2017-11-17 12:55:28 +01:00
Maxime Gimeno 55a0bbc628 fix doc 2017-11-17 12:55:27 +01:00
Maxime Gimeno 27f29bc6f2 Add overloads for polylines ranges and tests that go with them 2017-11-17 12:55:27 +01:00
Maxime Gimeno e21ff58b6a Update doc. 2017-11-17 12:55:27 +01:00
Maxime Gimeno 536c0246cf Changes and hide enable_if in doc. 2017-11-17 12:55:27 +01:00
Maxime Gimeno 334b4be9b2 Remove useless code. 2017-11-17 12:55:05 +01:00
Maxime Gimeno edc49e77b7 Move intersection computation functions in internal. 2017-11-17 12:55:05 +01:00
Maxime Gimeno ece79dd277 Add default values for NPs and no more need for Kernel in do_intersect. Also rename and un-document intersection functions. 2017-11-17 12:55:05 +01:00
Maxime Gimeno 71817eb67a Add polylines intersections detection to the surface_intersection plugin 2017-11-17 12:55:05 +01:00
Maxime Gimeno 47defffbdb Documents the new functions 2017-11-17 12:55:05 +01:00
Maxime Gimeno 5a5accaaa8 Move intersection code into a header 2017-11-17 12:55:04 +01:00
Sébastien Loriot 7e12600403 remove deprecated TODO 2017-11-15 22:59:55 +01:00
Sébastien Loriot 5c32e0ab62 turn some #ifndef that should be #ifdef 2017-11-15 15:12:41 +01:00
Sébastien Loriot ee57fc2d6c add SPDX identifier for files under the GPL-3+ license 2017-11-12 10:17:51 +01:00
Laurent Rineau 666ff0c862 Merge pull request #2544 from janetournois/PMP-corefinement-improve-doc-GF
PMP corefinement : improve doc
2017-10-27 18:00:42 +02:00
Laurent Rineau a1d6d2a7a7 Merge pull request #2514 from janetournois/Polyhedron_demo-fix_isotropic_remeshing_plugin-jtournois
Polyhedron demo - fix isotropic remeshing plugin
2017-10-23 17:14:37 +02:00
Laurent Rineau 7caa6ea021 Merge pull request #2514 from janetournois/Polyhedron_demo-fix_isotropic_remeshing_plugin-jtournois
Polyhedron demo - fix isotropic remeshing plugin
2017-10-23 16:53:18 +02:00
Jane Tournois a7a94ac1d7 improve doc
add a precondition,
and move a piece of doc where it should be
2017-10-19 15:23:24 +02:00
Jane Tournois 5a45fdf99d Merge branch 'PMP-fix_isotropic_remeshing_next_to_corners-jtournois' into Polyhedron_demo-fix_isotropic_remeshing_plugin-jtournois 2017-10-17 15:45:30 +02:00
Jane Tournois fb0d7840d5 remove useless check for reverse version 2017-10-17 15:30:37 +02:00
Jane Tournois aa758493b1 Merge branch 'PMP-fix_isotropic_remeshing_next_to_corners-jtournois' into Polyhedron_demo-fix_isotropic_remeshing_plugin-jtournois
# Conflicts:
#	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Isotropic_remeshing/remesh_impl.h
2017-10-16 14:49:02 +02:00
Jane Tournois 03e7265cef a Polyhedron_3 does not have an internal pmap for face_patch_id_t
so the condition was always returning false for a Polyhedron
we are inside the demo, so this condition can be safely removed
2017-10-16 13:04:42 +02:00
Laurent Rineau 46cc91e787 Merge pull request #2478 from mtola/master
fix bug -> 2x 2 missing "inline" to prevent duplicate symbols during …
2017-10-13 17:06:22 +02:00
Laurent Rineau 0533547da9 Merge pull request #2447 from sloriot/Demo-add_more_repair_functions
add more repair functions in the Polyhedron demo
2017-10-13 17:00:47 +02:00
Laurent Rineau 6bda8ad7d5 Merge pull request #2516 from janetournois/PMP-fix_isotropic_remeshing_with_isolated_vertices-jtournois
PMP - fix isotropic remeshing with isolated vertices
2017-10-13 16:54:35 +02:00
Sébastien Loriot 01bda3f852 add function to close boundary cycle of size 2
use it after the general stitching function
2017-10-12 14:38:41 +02:00
Sébastien Loriot a2cc276ccb simplify the code by avoid to have an extra map for the edge to be stitched
the code changes a little bit the output as some border cycles of size 2
can be created (these edges were not set for stitching for example if
there were a third edge that could be stitched and was rejected by the
manifold test)
2017-10-12 14:19:58 +02:00
Laurent Rineau 107cdccd6d Merge pull request #2438 from lrineau/Mesh_3-test_polyhedral_complex_with_surface_mesh-GF
Mesh_3: make it work with Surface_mesh
2017-10-11 19:14:49 +02:00
Jane Tournois 8d486694dc use check_normals() inside collapse_does_not_invert_face() 2017-10-10 12:51:04 +02:00
Jane Tournois c657f43f19 deal with more than 2 surface patches in check_normals(v)
until now it did not deal with the corner cases
2017-10-10 12:16:03 +02:00
Jane Tournois 6e8bb6b03e deal with more than 2 patches in the collapsibility checks 2017-10-10 11:48:37 +02:00
Jane Tournois ddaad24e63 add corner case conditions for collapsibility 2017-10-10 11:46:31 +02:00
Jane Tournois 5cc6209528 filter out isolated vertices
for tangential_relaxation and projection
2017-10-09 16:38:57 +02:00
Jane Tournois 6a5c46dd50 remove duplicate member variable 2017-10-09 11:27:06 +02:00
Jane Tournois 3e4e4968f7 add missing vertex_point_map 2017-10-09 11:26:34 +02:00
Jane Tournois f6418c6145 add a little verbosity 2017-10-09 11:22:54 +02:00
Sébastien Loriot e9cb74d927 remove doc of parameter removed 2017-10-03 14:00:50 +02:00
Sébastien Loriot 26c1543d14 remove the requirements on the absence of degenerate edges
it is no longer needed thanks to the union-find used to merge vertices
2017-10-03 13:58:12 +02:00
Sébastien Loriot 7fdf9cad8c integrate the are_vertices_stitchable test into the check for non-manifold edges
also reinit the union-find on vertices as the master vertex kept
might be one marked as non-stitchable
2017-10-03 13:41:58 +02:00
Sébastien Loriot d23b301cea filter edges to be stitched to avoid creating non-manifold vertices
edges filtered have two endpoints to be merged
2017-10-02 16:20:05 +02:00
Sébastien Loriot 07bb1d6839 use union-find to merge vertices and decide which vertex to keep
This is needed if two patches have edges stitched with identical
vertex point coordinates.
2017-09-29 17:51:58 +02:00
Sébastien Loriot 67791520a1 ignore degenerate edges during the collection of edges to stitch 2017-09-29 16:39:34 +02:00
Sébastien Loriot 671b7abcb6 do nothing is the model is fixed 2017-09-20 14:33:37 +02:00
Sébastien Loriot 78f3d1a38d extract the function removing faces and filling hole ...
... and use it to handle deg faces
2017-09-20 14:33:37 +02:00
Sébastien Loriot ea34f1b2dd remove assertions that are using Surface_mesh features 2017-09-20 14:33:37 +02:00
Sébastien Loriot 03cff151ba factorize the code 2017-09-20 14:33:36 +02:00
Sébastien Loriot 488858cacc add a check (not yet factorized) to prevent invalid removal of degenerate faces 2017-09-20 14:33:36 +02:00
Sébastien Loriot 0bc5e715e9 add more debug 2017-09-20 14:33:36 +02:00
Sébastien Loriot 90a4e2eefd add a condition to prevent a flip that is not possible 2017-09-20 14:33:36 +02:00
Sébastien Loriot 6e9cbde3b1 add a method to remove degree 3 vertices in caps degenerate triangles 2017-09-20 14:33:36 +02:00