Commit Graph

1429 Commits

Author SHA1 Message Date
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
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
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