Jane Tournois
7ad049d14c
don't use status visitor, it is not enough to keep halfedges status up-to-date
2015-07-15 16:02:31 +02:00
Jane Tournois
e87c65bd3d
rename variable for consistency
2015-07-15 16:02:30 +02:00
Jane Tournois
ab1ddcac25
fix non-inversion test
2015-07-15 16:02:30 +02:00
Jane Tournois
b7c0acae56
first operations for visitor that deals with status map
2015-07-15 16:02:30 +02:00
Laurent Rineau
b639f7d051
Fix a compilation error
...
One cannot bind a temporary object to a non-const reference.
2015-07-15 16:02:30 +02:00
Jane Tournois
4b7a997df0
add the ability to use a Visitor for a BGL graph using an overload of graph_traits
...
TODO : is_valid(mesh) does not compile on msvc. To be fixed
2015-07-15 16:02:30 +02:00
Jane Tournois
f8eb659abd
remove debug_mesh_border
...
since it has become wrong when we have 2 adjacent patches
with a constrained polyline separating them
the same vertex can appear more than twice
2015-07-15 16:02:30 +02:00
Jane Tournois
237c20321f
deal with degenerate faces better
2015-07-15 16:02:29 +02:00
Jane Tournois
6214feaaf1
add stuff for verbose mode
2015-07-15 16:02:29 +02:00
Jane Tournois
4f5be714bb
add warning code
2015-07-15 16:02:29 +02:00
Jane Tournois
e3121567fa
automatically re-select border of selection after refining only border
2015-07-15 16:02:29 +02:00
Jane Tournois
7da4b81a19
add very verbose mode
2015-07-15 16:02:29 +02:00
Jane Tournois
99e0a245a0
add macro for verbose mode
2015-07-15 16:02:29 +02:00
Jane Tournois
dea8a59dbb
make flip_allowed test simpler, and reorganize flipping step
...
to save useless operations
2015-07-15 16:02:28 +02:00
Jane Tournois
4e95d9cc05
check that flip does not create a non-triangle face
...
this can happen around sharp tips of the domain,
when no incident edge is selected for protection
2015-07-15 16:02:28 +02:00
Jane Tournois
df1985d296
use named parameters
2015-07-15 16:02:28 +02:00
Jane Tournois
07820b8e0d
remove dump
2015-07-15 16:02:28 +02:00
Jane Tournois
6e7f4f7b21
test code
2015-07-15 16:02:28 +02:00
Jane Tournois
4f58f5182e
add debug code and fix constness
2015-07-15 16:02:28 +02:00
Jane Tournois
2dd3ae2407
fix remeshing of a patch WITH protection of constrained edges
2015-07-15 16:02:28 +02:00
Jane Tournois
cfff71068d
add options and draft to the remeshing test
2015-07-15 16:02:28 +02:00
Jane Tournois
d56e54ec6f
fix the edge collapse step
...
degenerate faces where responsible for some self intersections, so we remove
them after collapses and flips
the function that checks that no triangle gets inverted by a flip has also
been fixed
we had to check both the 1-ring of source(h) and target(h), even though those
vertices got the same coordinates
The common faces in their rings were degenerate, but their normals had all to
be checked for consistent orientation
also add more debugging code
2015-07-15 16:02:28 +02:00
Jane Tournois
891b426f82
new attempt to avoid self intersections
2015-07-15 16:02:27 +02:00
Jane Tournois
679e93b252
remove degenerate faces a posteriori
2015-07-15 16:02:27 +02:00
Jane Tournois
7543f35ff2
adapt code to PATCH_BORDER cases and add debugging code
2015-07-15 16:02:27 +02:00
Jane Tournois
97379e50b2
add null vector test (should not happen!)
2015-07-15 16:02:27 +02:00
Jane Tournois
0844e79b67
add code to read selection from input
2015-07-15 16:02:27 +02:00
Jane Tournois
6f667c7a24
reorganize
2015-07-15 16:02:27 +02:00
Jane Tournois
8b5902b038
add function to split long edges listed by the user
...
this changes the remesher internal API only
2015-07-15 16:02:27 +02:00
Jane Tournois
8d5312d263
reorganize test
2015-07-15 16:02:26 +02:00
Jane Tournois
117a24807d
make tests simpler
2015-07-15 16:02:26 +02:00
Jane Tournois
67874c737d
fix test when splitting of constraints is allowed
2015-07-15 16:02:26 +02:00
Jane Tournois
2b7bf24205
add documentation for protect_constraints
2015-07-15 16:02:26 +02:00
Jane Tournois
00cc96f968
add code to protect_constraints
...
edges tagged as constraints are not refined when protect_constraints is true
2015-07-15 16:02:26 +02:00
Jane Tournois
ebeb1fdcaa
edge_is_constrained_map does not need to be kept as a member
...
it is used only in the initialization, to fill the halfedge_status_map
2015-07-15 16:02:26 +02:00
Jane Tournois
c460008f23
make test simpler (it is equivalent)
2015-07-15 16:02:26 +02:00
Jane Tournois
f7204a0a99
add edge_is_constrained_map as a parameter for remeshing
...
this property map "tags" the edges that should be kept in the remeshed mesh.
They can be splitted or collapsed, but their vertices can't move with the
Laplacian, and they can't be flipped.
in the Polyhedron demo, this feature is integrated in order to remesh two
adjacent surface patches and keep the (possibly sharp) polyline that is
delimitating them
2015-07-15 16:02:26 +02:00
Jane Tournois
c554466b80
fix default value
2015-07-15 16:02:25 +02:00
Jane Tournois
caad50a628
documentation
2015-07-15 16:02:25 +02:00
Jane Tournois
7256746891
doc
2015-07-15 16:02:25 +02:00
Jane Tournois
c41bc2250d
start documentation for get_border and incremental_triangle_based_remeshing
2015-07-15 16:02:24 +02:00
Jane Tournois
e6a7b5a0a3
use get and set to access vertex point map, instead of operator[]
2015-07-15 16:02:24 +02:00
Jane Tournois
f958fe7d5d
fix warning
2015-07-15 16:02:24 +02:00
Jane Tournois
d34d47a6d5
Revert "detect sharp edges and surface patches"
...
This reverts commit 80b1363f1db4db8391398188bcb33427ffc69aac.
2015-07-15 16:02:23 +02:00
Jane Tournois
83957ed495
add code to the selection tool to be able to select a surface patch
...
for now it works only for facets and the checkbox is not used
2015-07-15 16:02:23 +02:00
Jane Tournois
9e8ad02f94
more in remeshing test
2015-07-15 16:02:23 +02:00
Jane Tournois
577e0f08f0
use macro and 17 digits in cout
2015-07-15 16:02:23 +02:00
Jane Tournois
54922319ff
remove todo
2015-07-15 16:02:23 +02:00
Jane Tournois
abc92fcc24
fix assertion code
2015-07-15 16:02:23 +02:00
Jane Tournois
d7caded018
remove useless template qualifier
2015-07-15 16:02:23 +02:00