Jane Tournois
535a50217f
avoid iterating twice
2020-03-06 17:11:45 +01:00
Jane Tournois
593489a614
wip smoothing using FMLS
...
reorganize code to have smaller functions,
use c++11 for loops on ranges,
constify variables...
2020-02-28 16:51:00 +01:00
Jane Tournois
ad6de49304
and const's and use range iterators in smoothing
...
and remove outdated code
2020-02-28 14:28:20 +01:00
Jane Tournois
1c6d251859
fix conversion warning
2020-02-28 13:45:06 +01:00
Jane Tournois
a7b745a446
fix init_c3t3() and the collapse() step
...
* the code of collapse() is made simpler because the C3t3 already embeds a lot
of topology information that we do not need to re-test
* init_c3t3() now fixes the dimension() of vertices because it was not always
properly set in the input c3t3
* add counters in the plugin to understand why some collapse of very short edges
fail
2020-02-28 13:40:00 +01:00
Jane Tournois
baefa0d307
fix cout
2020-02-28 11:46:53 +01:00
Jane Tournois
bb76c17ae5
use FMLS in smoothing, and revert to an older version
...
fix compilation with c3t3
this version is buggy and produces nan, I don't know why yet so smoothing is
commented out
2020-02-14 17:02:59 +01:00
Jane Tournois
2ef615d65d
reset smoothing function to its initial version
...
and make sure it compiles with C3t3 requirements and a regular triangulation
2020-02-14 11:32:27 +01:00
Jane Tournois
628b800077
move back to helpers file the functions that are needed by smoothing
2020-02-14 11:31:46 +01:00
Jane Tournois
b2686b35cc
fix cout
2020-02-13 12:13:10 +01:00
Jane Tournois
a7c2de7521
improve/fix collapse step
...
the topology_test was too restrictive and now makes better use of the info
stored in the C3t3
this commit also moves collapse-specific code to the corresponding file
(instead of the general "helpers" header)
2020-02-13 12:12:48 +01:00
Jane Tournois
7f8790332e
fix iteration counting
2020-02-13 12:10:52 +01:00
Jane Tournois
8bacd01349
minor cout fix
2020-02-07 16:49:59 +01:00
Jane Tournois
d0baa099d0
remove max_si computation, not needed anymore
...
also fix the count of c3t3 simplices in init_c3t3
(protected by debug macro anyway)
2020-02-07 16:49:35 +01:00
Jane Tournois
14b326bbe4
"far points" of Mesh_3 have dimension -1
...
deal with those, and keep their dimension "invalid" to be able to detect them
2020-02-07 15:39:31 +01:00
Jane Tournois
22e07a4a32
factor code
2020-02-07 12:16:28 +01:00
Jane Tournois
9ae27914cf
fix the c3t3 surfaces in flip_n_to_m
2020-02-07 11:35:31 +01:00
Jane Tournois
707cdae9ed
use c++11 for loops
2020-02-07 10:02:38 +01:00
Jane Tournois
d345c2fe51
flip_3_to_2 does not break surfaces anymore
...
updating the outer hull of the set of modified cells is not enough,
"internal" facets should also be updated
2020-02-06 17:41:03 +01:00
Jane Tournois
62c390c354
use c++11 for loops, add const when possible, and rename containers
2020-02-06 16:44:23 +01:00
Jane Tournois
83df2cea52
rename is_inside(edge) to is_internal(edge)
...
for more readability
2020-02-06 11:27:07 +01:00
Jane Tournois
9eb178247d
remove is_convex(tr) that has become useless
2020-02-06 11:20:41 +01:00
Jane Tournois
74243bae58
fix is_inside(edge)
...
by taking care also of facets that are in complex though incident
to the same subdomain on both sides
2020-02-06 11:19:27 +01:00
Jane Tournois
575f8111c3
remove imaginary stuff, and use CGAL internal named parameters
2020-02-04 17:23:30 +01:00
Jane Tournois
dc496f5db6
add "peeling" of ultra-thin surface slivers
2020-02-04 16:32:32 +01:00
Jane Tournois
9d527321c4
cleaning
2020-02-04 15:30:04 +01:00
Jane Tournois
a9e254efb4
flip does not break surfaces anymore
2020-02-04 15:29:49 +01:00
Jane Tournois
b66b83f52c
fix is_outside(edge) and in the meantime surfaces protection
2020-02-04 12:19:18 +01:00
Jane Tournois
fea1bb946f
collapse does not break surfaces anymore
2020-02-04 10:39:57 +01:00
Jane Tournois
d59ef5021d
fix split() step by fixing is_outside(edge)
...
- go on removing stuff about imaginary vertices
- after this commit, split() is fixed and collapse() causes holes on the surface
2020-02-03 16:50:05 +01:00
Jane Tournois
54df59efbb
fix surface patch and subdomain indices during split
...
all of them should be restored after split, which creates twice as many cells
and is likely to recycle old cells, with their outdated c3t3 indices
2020-01-31 16:55:05 +01:00
Jane Tournois
2e5174f349
fix binary ofstream
2020-01-30 13:19:35 +01:00
Jane Tournois
a791ea131e
test the validity of the TDS only
...
when the input is a c3t3, the internal triangulation can be Delaunay
or Regular
remeshing it breaks its validity "on purpose", do we should not test
triangulation validity
2020-01-30 11:13:47 +01:00
Jane Tournois
f53639ef83
use new API for named parameters
2020-01-28 17:50:14 +01:00
Jane Tournois
d3db64f680
add binary dump
2020-01-28 15:50:57 +00:00
Jane Tournois
bb0a407ed0
improve doc
2020-01-28 15:50:57 +00:00
Jane Tournois
69e64e5b0c
add the ability to use a C3t3 directly in the remesher
...
instead of extracting the triangulation first
2020-01-28 15:50:57 +00:00
Jane Tournois
c01952b98c
use Triangulation_3 explicitly to make sure the base class is used
...
before that, one could give a DT3 or a RT3 to the remeshing function.
Remeshing would then make the triangulation invalid with respect to the
Delaunay or Regular criterion, though the TDS would remain valid.
Now it is clear that we do not expect nor return anything but a valid T3.
2020-01-28 15:50:57 +00:00
Jane Tournois
b4a3dc181d
add facet_is_constrained_map to constrain facets
2020-01-28 15:50:57 +00:00
Jane Tournois
abe46686d8
move visitor to a private named parameter
...
this way we can use the triangulation output by Mesh_3
in a straightforward manner, without converting it to a
Remeshing_triangulation_3
also make sure that it compiles with the Regular_triangulation
used in the Mesh_3 demo plugin
and fix a doc typo
2020-01-28 15:50:56 +00:00
Jane Tournois
e5dfe077b6
use MeshVertexBase_3 and MeshCellBase_3
...
the code uses a C3t3 so let's use the actual vertex base and cell base needed
by C3t3, instead of copied simplified versions
2020-01-28 15:50:56 +00:00
Jane Tournois
56003ec27e
apply Laurent's review and rename some parameters
2020-01-28 15:50:56 +00:00
Jane Tournois
2a8335b60b
wip smoothing
2020-01-28 15:50:56 +00:00
Jane Tournois
1c51a62a15
reintroduce FLMS smoothing on surfaces
...
code compiles but crashes in the smoothing step in the demo
2020-01-28 15:50:56 +00:00
Jane Tournois
b0549946f5
add dump helpers and fix existing dump functions
2020-01-28 15:50:55 +00:00
Jane Tournois
92ac1cf2d9
user manual : make better examples
2020-01-28 15:50:55 +00:00
Jane Tournois
27c67b70db
wip user manual
2020-01-28 15:50:55 +00:00
Jane Tournois
fe270e4509
use geom traits in smoothing
2020-01-28 15:50:55 +00:00
Jane Tournois
1e7d4a2289
use the triangulation traits class in split, collapse and flip steps
2020-01-28 15:50:55 +00:00
Jane Tournois
87d01eb7cd
add RemeshingTriangulationTraits_3 and start using the concept
...
preprocess() is done
2020-01-28 15:50:54 +00:00
Jane Tournois
cbce3b9237
first introduction of an API for future sizing function
2020-01-28 15:50:54 +00:00
Jane Tournois
ad85942c0b
move Vertex_converter and cell_converter to the user code : the plugin
2020-01-28 15:50:54 +00:00
Jane Tournois
911cd4a82f
reintroduce examples and simplify converters
2020-01-28 15:50:54 +00:00
Jane Tournois
fb71408aed
replace cell_base_with_info by a visitor
...
the goal is to let a visitor deal with external cell info
it also simplifies the API
2020-01-28 15:50:54 +00:00
Jane Tournois
cd77b55210
replace constrained map of edges by constrained map of pairs of vertices
...
because there are more than one representation of the same Edge,
all around it
2020-01-28 15:50:53 +00:00
Jane Tournois
51eea5fcf0
wip documentation after review of Pierre & Laurent
2020-01-28 15:50:53 +00:00
Jane Tournois
3d83914017
wip : start implementing Laurent's review
2020-01-28 15:50:53 +00:00
Jane Tournois
fe5a669a0d
reference manual ready for review
2020-01-28 15:50:53 +00:00
Jane Tournois
ea34ae0a56
wip doc continued
2020-01-28 15:50:53 +00:00
Jane Tournois
feb6305d60
wip doc
2020-01-28 15:50:53 +00:00
Jane Tournois
0281777dae
more cleaning of helper files (merged)
2020-01-28 15:50:52 +00:00
Jane Tournois
ebb9416762
reorganize helper headers
...
and move all dump_***() functions to the same file
2020-01-28 15:50:52 +00:00
Jane Tournois
6af44bf121
remove obsolete code
2020-01-28 15:50:52 +00:00
Jane Tournois
3ac4d6d4a6
minor cleaning and commenting
2020-01-28 15:50:52 +00:00
Jane Tournois
5a4b1a0d9b
clean typedefs and point types
2020-01-28 15:50:52 +00:00
Jane Tournois
e4ee1e3926
clean preprocess() point types
2020-01-28 15:50:51 +00:00
Jane Tournois
f40210d858
clean split()
2020-01-28 15:50:51 +00:00
Jane Tournois
d2466b9fee
start cleaning
...
Corner_index and Curve_segment_index are int by default in C3t3
2020-01-28 15:50:51 +00:00
Jane Tournois
5c0b40f591
remove imaginary cells from the complex once remeshing is done
2020-01-28 15:50:51 +00:00
Jane Tournois
0fb3a44d2e
remeshing plugin should use Remeshing_triangulation
...
using Mesh_triangulation_3 (which is an enriched Regular_triangulation_3)
compiles, but the calls of tr.is_valid() fail since the triangulation
is not regular anymore after remeshing
we reconvert it back to the demo c3t3 triangulation type anyhow, to be able
to display it, hoping that is_valid() will not be called later on
2020-01-28 15:50:51 +00:00
Jane Tournois
ebb4a99822
towards the use of remeshing with any input triangulation with subdomain_index
2020-01-28 15:50:51 +00:00
Jane Tournois
197193bdbd
fix more Point_3/Weighted_point_3 conflicts
2020-01-28 15:50:50 +00:00
Jane Tournois
3fe06a2fa3
adapt the remesher code to the demo
...
- make it work with Regular_triangulation and its Weighted_points
- remove everything which was not needed about Surface_patch_index
(1 is in the complex, 0 is not, and is_in_complex(facet) tests
incident subdomains)
2020-01-28 15:50:50 +00:00
Jane Tournois
5716dcfc88
fix namespaces
2020-01-28 15:50:50 +00:00
Jane Tournois
e42fcff754
add operator<< and operator>> for IO
2020-01-28 15:50:50 +00:00
Jane Tournois
dc16af085b
take any simple triangulation as input
...
it is not needed to store `input_cell` in the general case
2020-01-28 15:50:50 +00:00
Jane Tournois
97651adbec
add very first version of tetrahedral remeshing package
2020-01-28 15:50:49 +00:00