konstantinos katrioplas
6f46f5d55d
rebased summer work
2018-03-26 14:10:49 +02:00
Sébastien Loriot
4824f3bcc9
Merge branch 'master' into gsoc17-summerwork
...
Reworking of 4e4d495ac2
2018-03-26 14:04:36 +02:00
Sébastien Loriot
5af495ea45
remove kernel typedef
2018-03-26 13:59:25 +02:00
konstantinos katrioplas
a1d6164466
License on evaluation class
2018-03-26 13:59:25 +02:00
konstantinos katrioplas
b39fe7803d
mesh quality evaluation class
2018-03-26 13:59:24 +02:00
konstantinos katrioplas
c840481b8c
License
2018-03-26 13:59:24 +02:00
konstantinos katrioplas
897692bc16
document overloads
2018-03-26 13:59:24 +02:00
konstantinos katrioplas
a9cc924001
renaming functions in API
2018-03-26 13:59:24 +02:00
konstantinos katrioplas
2a7e9e81fd
clean curvature flow impl
2018-03-26 13:59:23 +02:00
konstantinos katrioplas
300897c358
corrections in verbose output
2018-03-26 13:59:23 +02:00
konstantinos katrioplas
9706baa796
compatible remeshing function
2018-03-26 13:59:22 +02:00
konstantinos katrioplas
a0e7cf4a7f
cleaning code & use weight calculator which covers better at 0 and Pi making possible many curvature iterations
2018-03-26 13:58:37 +02:00
konstantinos katrioplas
d3f9ac7636
testing different weight calculation methods for curvature flow
2018-03-26 13:58:36 +02:00
konstantinos katrioplas
b4c6f78f97
init after removing degenerate faces
2018-03-26 13:58:36 +02:00
konstantinos katrioplas
d3081ce2ff
counting not moved points for debug
2018-03-26 13:58:36 +02:00
konstantinos katrioplas
b4d3259f3f
angle remeshing only if it impoves min angle
2018-03-26 13:58:36 +02:00
konstantinos katrioplas
f899dbdec3
calculate movement in separate function
2018-03-26 13:58:36 +02:00
konstantinos katrioplas
43a20f8a21
selected vertices
2018-03-26 13:58:36 +02:00
konstantinos katrioplas
f1c793eab4
reference manual documentation
2018-03-26 13:57:24 +02:00
konstantinos katrioplas
42e7d12df6
debugging curvature flow
2018-03-26 13:56:09 +02:00
konstantinos katrioplas
e6d3c9224c
change directory
2018-03-26 13:56:09 +02:00
konstantinos katrioplas
1d8f62963a
use constrained vertices on all types of smoothing
2018-03-26 13:56:09 +02:00
konstantinos katrioplas
94f434231f
clean redundant code & minor syntax corrections
2018-03-26 13:56:09 +02:00
konstantinos katrioplas
3e34fdd500
another attempt to curvature flow
2018-03-26 13:56:09 +02:00
konstantinos katrioplas
dfb3a5c977
plugin nb iterations parameter
2018-03-26 13:56:08 +02:00
konstantinos katrioplas
1b223ab1aa
improve demo plugin by separating functionalities
2018-03-26 13:56:08 +02:00
konstantinos katrioplas
f8ffda08c2
use opposite direction for move vector & remove monge jet fitting code
2018-03-26 13:56:08 +02:00
konstantinos katrioplas
27ebd0d8ea
secure cot calculation & avoid division with zero weight
2018-03-26 13:56:08 +02:00
konstantinos katrioplas
b6833a00ce
fixes on weights & degnerate cases
2018-03-26 13:56:08 +02:00
Jane Tournois
fca69df4cc
fix compilation
2018-03-26 13:56:08 +02:00
Jane Tournois
86f948ca22
fix compilation of smoothing_plugin
2018-03-26 13:56:08 +02:00
konstantinos katrioplas
843ab3623e
fix bug with curvature flow - sphere test is much better
2018-03-26 13:56:08 +02:00
konstantinos katrioplas
0cfa9906bc
all degenerate faces are taken out with remove_degenerate_faces - for now at least
2018-03-26 13:56:07 +02:00
konstantinos katrioplas
d5c6283b54
testing curvature flow, exploring robust degenerate handling, overloads and minor fixes
2018-03-26 13:56:07 +02:00
konstantinos katrioplas
6a41e8b48a
paste degenerate removal code in compatible remeshing class
2018-03-26 13:56:07 +02:00
konstantinos katrioplas
54a8b80eac
more robust edge collapsing and use of repair.h for deg faces
2018-03-26 13:56:07 +02:00
konstantinos katrioplas
bc72d6715c
recent pull in repair.h - minor changes
2018-03-26 13:56:07 +02:00
konstantinos katrioplas
493992978c
remove degenerate edges and faces
2018-03-26 13:56:07 +02:00
konstantinos katrioplas
29dc7c968a
find new location using cot weigths
2018-03-26 13:56:06 +02:00
konstantinos katrioplas
02a295c93a
normalize kn
2018-03-26 13:56:06 +02:00
konstantinos katrioplas
ed5908233d
setup plugin for curvature flow
2018-03-26 13:56:06 +02:00
konstantinos katrioplas
7fbe5e156d
verbose info in smoothing.h and an overload
2018-03-26 13:56:06 +02:00
konstantinos katrioplas
f46a9b06cc
add projection to initial surface on curvature smoothing
2018-03-26 13:56:06 +02:00
konstantinos katrioplas
1b28c2d032
mean curvature smoothing - testing with and without cot angles in simple cases
2018-03-26 13:56:06 +02:00
konstantinos katrioplas
f1d2339d1a
calculate mean curvature flow with Monge jet fitting
2018-03-26 13:56:06 +02:00
konstantinos katrioplas
9d1f09921c
cotangent weights calculation
2018-03-26 13:56:06 +02:00
konstantinos katrioplas
9293646193
add tests for invalid meshes and adjust tolerance a bit to comply with some extreme cases
2018-03-26 13:56:06 +02: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
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
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
Sébastien Loriot
b347c88bc5
add some debug code
2017-09-20 14:33:36 +02:00
Sébastien Loriot
7dbbfc5647
add an option to control the merge of vertex points
...
this is conveniant if we do not want to modify the mesh
when the function is called
2017-09-20 14:33:35 +02:00
Sébastien Loriot
f77baded9b
add function to collect pairs of halfedges closed (up to epsilon)
2017-09-20 12:57:17 +02:00
Sébastien Loriot
18725e8841
rename internal function
2017-09-20 12:57:17 +02:00
Sébastien Loriot
4c496ffa83
remove the stitching modifier and use a function instead
2017-09-20 12:57:17 +02:00
Sébastien Loriot
e392b79883
Merge remote-tracking branch 'cgal/releases/CGAL-4.11-branch'
2017-09-20 12:54:11 +02:00
Sébastien Loriot
a7caa5c433
Merge remote-tracking branch 'cgal/releases/CGAL-4.10-branch'
2017-09-20 12:53:27 +02:00
Sébastien Loriot
47e20a4a15
add missing include directive
2017-09-20 12:52:35 +02:00
Laurent Rineau
9d013d2e59
Fix the default AABB tree in Side_of_triangle_mesh
2017-09-20 12:03:32 +02:00
Laurent Rineau
8f9ea82a14
Merge branch 'releases/CGAL-4.10-branch' into releases/CGAL-4.11-branch
2017-09-20 11:17:43 +02:00
Laurent Rineau
5b1828cda2
Merge pull request #2445 from sloriot/PMP-fix_is_stitchable
...
Fix stitchable conditions
2017-09-20 11:13:30 +02:00
Sébastien Loriot
c84014992a
fix the collection of edges to stitch
...
we ignore those incident to a degenerate edge on the border
2017-09-19 15:08:19 +02:00
Sébastien Loriot
4fd381128a
fix stitchable test
...
we were skipping all border edges in the test which was
making it missing some non valid cases detected only
with this border edge (since the test is assymetric
as we consider the first halfedge only for the outer
loop)
2017-09-19 11:52:05 +02:00
Laurent Rineau
36fdb16370
Allow to customize the AABB tree of Side_of_triangle_mesh
...
This is a new optional fourth template parameter of
`Side_of_triangle_mesh`, that is left undocumented for the moment.
2017-09-18 14:56:56 +02:00
Laurent Rineau
cba3b1c20c
Fix detection of border *edges*
2017-09-07 12:07:17 +02:00
Maxime Gimeno
d5ea0b6cbc
Fix warnings and copy PMaps in detect_features.h
2017-09-05 12:03:35 +02:00
Maxime Gimeno
5a9a0bc9fb
Constify read only maps and modify doc accordingly
2017-08-29 12:16:14 +02:00
Sebastien Loriot
97b8782a27
Merge branch 'master' into Detect_features-GF
2017-08-18 16:34:29 +02:00
Jane Tournois
126a85d863
use the fact that vertex_incident_pmap is an LValuePropertyMap
...
and add a missing 'const'
2017-08-18 16:14:22 +02:00