Commit Graph

1886 Commits

Author SHA1 Message Date
konstantinos katrioplas 5b90d9a805 latest fixes 2018-03-26 14:19:32 +02:00
Pierre Alliez 3b56478bb1 added time parameter to shape smoothing 2018-03-26 14:17:48 +02:00
konstantinos katrioplas 2ca3d01e35 area smoothing tolerance fix 2018-03-26 14:12:42 +02:00
konstantinos katrioplas 45063e1346 bug fixes & selection functionality in the demo 2018-03-26 14:12:35 +02:00
konstantinos katrioplas 23670bb712 add implicit scheme for shape smoothing 2018-03-26 14:12:18 +02:00
konstantinos katrioplas 52126819e0 fix typo 2018-03-26 14:12:08 +02:00
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 329b017c76 results & images in docs 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 1a4e91d095 fix and clean test files 2018-03-26 13:59:24 +02:00
konstantinos katrioplas 3fa3d5a4f0 images in user manual 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 bd5a0ff22e improved doc 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 3f7267502a remove trivial example 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 6100a85442 examples 2018-03-26 13:58:36 +02:00
konstantinos katrioplas 6fadb2ba3a cmakelists for smoothing tests 2018-03-26 13:58:36 +02:00
konstantinos katrioplas d7c114719d unit tests for curvature flow 2018-03-26 13:58:35 +02:00
konstantinos katrioplas 7b80d7be89 unit tests for smoothing 2018-03-26 13:58:35 +02:00
konstantinos katrioplas b9865e2610 user manual doc 2018-03-26 13:58:34 +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 d5e42a4da5 half subsampled sphere under curvature flow example 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 46c524ecaf curvature example in cmakelists 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 208005b014 Merge pull request #2565 from MaelRL/Various-Fix_numeric_limits_min_uses_411-GF
Fix wrong uses of std::numeric_limits::min() (4.11)
2017-11-03 14:29:30 +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
Mael Rouxel-Labbé 5ef873d67e Merge remote-tracking branch 'mine/Various-Fix_numeric_limits_min_uses-GF' into Various-Fix_numeric_limits_min_uses_411-GF 2017-10-27 11:57:21 +02:00
Mael Rouxel-Labbé da5200f577 Fixed wrong uses of std::numeric_limits::min() 2017-10-27 11:40:22 +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
Laurent Rineau 7e9f756935 Replace all std::unary_function by CGAL::unary_function 2017-10-04 15:57:09 +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