Laurent Rineau
e86c3c4bba
Merge pull request #3102 from afabri/Property_map-empty_vector-GF
...
Property_map: Fix make_property_map(std::vector&) for an empty vector
2018-05-28 13:58:47 +02:00
Laurent Rineau
a7738b27c9
Merge pull request #3052 from maxGimeno/PMP-transform-GF
...
PMP: transform()
2018-05-28 13:58:16 +02:00
Laurent Rineau
851dfabd29
Merge pull request #2757 from maxGimeno/BGL-Add_facegraph_validity_check_function-GF
...
BGL: Add a FaceGraph validity check function
2018-05-28 13:58:07 +02:00
Maxime Gimeno
2adbfe0888
replace bool by cgal_no_property_::type in wrapper
2018-05-24 14:08:57 +02:00
Maxime Gimeno
57296468b1
Update doc for fimap
2018-05-24 12:46:16 +02:00
Maxime Gimeno
719033ad68
Create id-map on the fly if needed
2018-05-24 12:41:37 +02:00
Sébastien Loriot
f03f2176dd
do no collapse constrained edges
...
At the same time I removed halfedge_and_opp_removed since we don't
know prior to the collapse which edges are removed.
The only thing done by the function is to reset the status. This
is not an issue to remove it because halfedge_added is called
each time a new edge is created, thus a previous status cannot
be recovered by error.
2018-05-23 09:07:13 +02:00
Andreas Fabri
466a88077d
An empty soup is a mesh
2018-05-22 17:48:36 +02:00
Andreas Fabri
9abafecf9a
make the property map from the vector
2018-05-22 17:48:36 +02:00
Sébastien Loriot
be42fa9147
update ecmap_ during the remeshing
2018-05-18 17:07:14 +02:00
Sébastien Loriot
90faf5d060
simplify initialization of CC
2018-05-18 14:10:31 +02:00
Sébastien Loriot
42de73320a
only constrain edges split that were constrained before
2018-05-18 11:07:18 +02:00
Sébastien Loriot
43c6fd3635
make the projection optional
2018-05-18 10:59:26 +02:00
Maxime Gimeno
5fc0022d92
make copy_face_graph use NamedParameters
2018-05-17 10:49:58 +02:00
Sebastien Loriot
9938100097
Merge pull request #2955 from afabri/BGL-include_cleanup-GF
...
Do not include some BGL related header files
2018-05-15 22:21:42 +02:00
Laurent Rineau
5a5195a4f4
Merge branch 'master' into PMP-stitch_after_orient-GF
2018-05-15 16:11:14 +02:00
Andreas Fabri
077354f76e
Fix VC++ warning
2018-05-15 14:00:11 +01:00
Jane Tournois
76fd482cce
make collapse_constraints a parameter of collapse_short_edges
...
instead of a remesher global parameter
2018-05-15 12:52:32 +02:00
Sébastien Loriot
e08c1cdc4d
add an option to prevent the collapse of constrained edges
2018-05-15 12:21:05 +02:00
Jane Tournois
35125cd9a5
remove todo done by this PR
2018-05-15 11:23:46 +02:00
Jane Tournois
fbd982f7d8
document undocumented named parameters
...
and add extra info about split edges
2018-05-15 11:22:08 +02:00
Sébastien Loriot
73db555c5e
unconstrained an edge to be collapsed
2018-05-15 10:30:40 +02:00
Sébastien Loriot
ac8fbfd6aa
add a condition to make sure the flip does not create a non-manifold edge
2018-05-15 09:48:12 +02:00
Sébastien Loriot
6b601ccf80
update after Jane's review
2018-05-14 09:51:26 +02:00
Maxime Gimeno
9e78cb49c1
Rename Mesh in PolygonMesh for consistency with the rest of the package
2018-05-07 12:51:36 +02:00
Maxime Gimeno
ac5b0e73af
Fix warning
2018-05-07 12:51:36 +02:00
Maxime Gimeno
cb3b060d53
fix the doc
2018-05-07 12:51:36 +02:00
Maxime Gimeno
ca267506f8
Fix doc
2018-05-07 12:51:36 +02:00
Sébastien Loriot
b2fa6680d7
typo
2018-05-07 12:51:35 +02:00
Maxime Gimeno
3ca3d11512
Replace the tparam Transformation by any Functor with an operator()(Point_3) and use that operator instead of .transform() in the impl.
2018-05-07 12:51:35 +02:00
Maxime Gimeno
2f7d66e530
Clean-up
2018-05-07 12:50:41 +02:00
Maxime Gimeno
72c31ebfac
Add a function in PMP to apply a CGAL::Aff_transformation_3 to a mesh.
2018-05-07 12:50:41 +02:00
Sebastien Loriot
80acabc4b4
Merge pull request #3065 from maxGimeno/PMP-Do_intersect_with_different_vpm-GF
...
PMP: do_intersect() work with 2 types of VPM
2018-05-07 11:47:29 +02:00
Sebastien Loriot
1d6918ff4f
Merge pull request #2895 from kkatrio/triangulate_faces_fix
...
Triangulate faces : CDT2 / hole filling
2018-05-07 11:41:58 +02:00
Maxime Gimeno
9327e470c1
Fix doc
2018-05-04 16:11:25 +02:00
Maxime Gimeno
47635f11fe
Take fimap into account and add a test.
2018-05-03 14:55:49 +02:00
Andreas Fabri
991f3847e8
Do not include graph_traits_Polyhedron.h, properties_polyhedron.h and Polyhedron_iostream.h
2018-05-03 13:23:50 +02:00
Maxime Gimeno
9a77ece72f
Add a test
2018-05-03 12:50:30 +02:00
Maxime Gimeno
29e909b87b
Treat nm edges
2018-05-03 12:49:34 +02:00
Maxime Gimeno
861a6a16c5
Fixes
2018-05-03 12:49:34 +02:00
Maxime Gimeno
4a8375ce85
Optimize
2018-05-03 12:49:34 +02:00
Maxime Gimeno
68de1819cf
Move the code to the PMP functio nand document.
2018-05-03 12:49:34 +02:00
Maxime Gimeno
88899310ab
Fix massive typo in PMP test.
2018-05-03 12:03:14 +02:00
Maxime Gimeno
132cf694a0
remove is_valid() from the graph_traits
2018-05-03 12:03:14 +02:00
Maxime Gimeno
6dfa8d0ba3
replace CGAL_is_valid(Mesh) by CGAL::is_valid_polygon_mesh(Mesh)
2018-05-03 12:03:14 +02:00
Sébastien Loriot
c3255eee91
document projection functor named parameter
2018-05-01 14:15:27 +02:00
Sébastien Loriot
ec4675b451
do not build the aabb_tree and the cc map if not needed
2018-05-01 13:50:49 +02:00
Sébastien Loriot
54b6eb0fbc
handle case when there are no constrained edges
2018-05-01 13:50:43 +02:00
Maxime Gimeno
7e2255f797
do_intersect for 2 meshes work with 2 different types of VPM as long as their value_type is the same
2018-04-30 10:39:47 +02:00
Sébastien Loriot
ab9d668f52
first solution to correctly re-constrain edges refined
2018-04-29 13:13:58 +02:00
Sébastien Loriot
95d76709e8
isotropic remeshing can now use a user defined projection functor
...
you can pass it using a named parameter
2018-04-27 16:20:54 +02:00
Sébastien Loriot
742a615527
fix doc warnings triggered essentially by the improvement of doxygen
2018-04-25 23:36:21 +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
Laurent Rineau
dab01e9d20
Merge pull request #3020 from afabri/CGAL-VC2017permissive-GF
...
Fix compilation error with VC2017 and -permissive-
2018-04-24 17:33:05 +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
Andreas Fabri
c54a6a4980
Put CGAL::random_shuffle() in the subnamespace cpp98
2018-04-11 09:32:23 +01:00
Sébastien Loriot
348c0f92fa
do not overwrite output iterator, return it directly
2018-04-10 17:32:22 +02:00
Andreas Fabri
3955f031bd
Fix examples/tests/demos
2018-04-04 14:18:22 +01: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
Laurent Rineau
0311d0063b
Fix deps
2018-03-22 17:29:00 +01: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
9240f29ff8
update test to check both combinaisons
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
bec3227a00
add data test file
2018-03-16 15:13:42 +01:00
Konstantinos Katrioplas
0f14c1fad0
rm empty lines
2018-03-16 15:10:40 +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
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
Laurent Rineau
4a7966d145
Merge pull request #2860 from lrineau/Installation-fix_check_headers-GF
...
Fix CGAL_ENABLE_CHECK_HEADERS, again
2018-03-09 18:39:26 +01:00
Konstantinos Katrioplas
6ef74c39b5
conditional inclusion of cdt2 headers
2018-03-08 17:08:05 +01:00
Konstantinos Katrioplas
8242c05f7c
add the word main to be found by grep
2018-03-07 15:49:03 +01:00
Konstantinos Katrioplas
6edaa7a720
test different options using macro definitions
2018-03-07 11:41:31 +01:00
Konstantinos Katrioplas
8cfa4e7577
correct return types
2018-03-07 10:42:46 +01:00
Laurent Rineau
0a74393dcf
Commit all new dependencies files
2018-03-06 18:44:48 +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
Sébastien Loriot
9160483098
fix Dual_vpm
2018-03-01 09:51:03 +01:00
konstantinos katrioplas
77bd6f7366
solve issue with vpmap
2018-03-01 09:16:53 +01:00
konstantinos katrioplas
b400f39f1a
vpmap
2018-02-28 21:47:37 +01:00
Konstantinos Katrioplas
18ec0740c4
wip on dual vpm
2018-02-28 15:27:14 +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
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
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
Maxime Gimeno
9874046612
remove test.
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
1a1fcf9553
Add a test.
2018-02-19 18:04:03 +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
Laurent Rineau
78e7060525
Merge pull request #2712 from afabri/CGAL-VC+warnlevel_4-GF
...
Deal with VC++ warnings of level /W4
2018-02-19 14:27:06 +01:00
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
Maxime Gimeno
688b5dd06e
Move dependencies creation to package_info and add dependencies to git
2018-02-02 12:08:05 +01:00