Andreas Fabri
7d7b080842
PMP: Change inclusion order to check dependencies
2024-01-31 09:39:45 +00:00
Andreas Fabri
03bcb67ca6
Deal with PCA
2022-01-18 18:51:37 +00:00
Sébastien Loriot
1e7785b427
do not use PMP::parameters namespace
2022-01-04 16:00:38 +01:00
Mael Rouxel-Labbé
8166579e55
Merge branch 'PM-Fix_pmaps_reference_types-GF' into PM-Fix_pmaps_reference_types_master-GF
2021-10-11 19:58:07 +02:00
Mael Rouxel-Labbé
590ddf8015
Various fixes for pmaps:
...
- Use `value_type` when the returned type is not a reference
- Enforce `reference = value_type` if the returned type is not
a reference (to avoid `typename PM::reference r = get(m, k)`,
which will take a ref to a temporary if the `reference`
typedef is an actualy reference)
- Do not use `put_get_helper` if the property map is not a `lvalue`
**mutable** property map: the `put()` is `map[k] = v`, which
is broken if `operator[]` does not return a reference
- The concept `boost::lvalue_property_map_tag` requires `operator[](key)`,
not a reference in `get(map, key)`. You can have a readable property map
returning a reference through its `get(map, key)`, but if there is
no `operator[]`, it's just a `boost::readable_property_map_tag`
- Some const correctness to avoid copying maps with state
or heavy keys in `get(map, key)` / `put(map, key, value)`
- Base the category of a wrapping pmap on what it offers instead
of just forwarding the base property map's category
- Tried to do something like mutable lvalue pmap:
* `value_type& operator[](key&)`
* `ref get(map, const key&)`
* `put(map, const key&, const value_type&)`
and non-mutable lvalue pmap:
* `const value_type& operator[](const key&)`
* `ref get(map, const key&)`
but not everything fits properly...
2021-10-08 15:38:47 +02:00
Mael Rouxel-Labbé
df560987a6
Whitespace & cleaning changes
2021-10-08 12:13:43 +02:00
Sébastien Loriot
4436fd62a5
Merge pull request #5266 from janetournois/PMP-isotropic_remeshing_collapse_step-jtournois
...
PMP isotropic_remeshing() - improve edge flip step
2021-04-17 10:51:15 +02:00
Sébastien Loriot
a177ed01a4
fix warnings
2021-03-04 09:34:56 +01:00
Sebastien Loriot
ec8bfa577a
missing typename
2021-03-04 09:02:33 +01:00
Maxime Gimeno
d5811d0a41
clang-tidy on tests
2021-02-18 15:15:12 +01:00
Jane Tournois
087a2e04a9
introduce more testing to avoid self-intersections creation during remeshing
2020-12-11 15:27:26 +01:00
Sébastien Loriot
d60f5645aa
replace BOOST_FOREACH by c++ ranged-based for loop
...
some of the command used for the replacement:
ack --cpp BOOST_FOREACH -l | xargs sed -i -E "s/BOOST_FOREACH\(([a-zA-Z_:&0-9]+)\s(\w+)\,/for(\1 \2 :/"
ack --cpp BOOST_FOREACH -l | xargs sed -i -E "s/BOOST_FOREACH\((const [a-zA-Z_:&0-9]+)\s(\w+)\,/for(\1 \2 :/"
ack --cpp BOOST_FOREACH -l | xargs sed -i -E "s/BOOST_FOREACH\((const typename [a-zA-Z_:&0-9]+)\s(\w+)\,/for(\1 \2 :/"
ack --cpp BOOST_FOREACH -l | xargs sed -i -E "s/BOOST_FOREACH\((typename [<>a-zA-Z_:&0-9]+)\s(\w+)\,/for(\1 \2 :/"
ack "boost/foreach.hpp" -l --cpp | xargs sed -i '/boost\/foreach.hpp>/d'
2019-03-29 13:22:15 +01:00
Andreas Fabri
58bcecc497
License check for Corefinement and Distance
2017-03-22 14:07:52 +01:00
Jane Tournois
b6d88274fb
deactivate output to files in the testsuite
...
it takes long and is not really useful for the tests
2017-03-14 16:20:28 +01:00
Jane Tournois
f9fe9a5e6a
add assertions to the PMP testsuite
2017-03-14 15:46:48 +01:00
Jane Tournois
25d3d2b8f6
do not test isotropic_remeshing with Epec
2016-09-13 10:29:02 +02:00
Jane Tournois
d4ab14197a
fix typo
2016-09-12 17:16:30 +02:00
Sébastien Loriot
79ad1b2dc6
Merge pull request #1141 from janetournois/PMP-isotropic_remeshing_smoothing_options-jtournois
...
PMP isotropic_remeshing : smoothing options
2016-06-22 11:46:05 +02:00
Sébastien Loriot
8b10e64260
add missing typename and template keywords
2016-06-14 14:17:31 +02:00
Andreas Fabri
702149cd93
Also test EPEC in the testsuite
2016-06-14 14:17:26 +02:00
Jane Tournois
7fde6edb32
rename relaxation named parameters
2016-06-07 12:38:27 +02:00
Jane Tournois
b27447d2c0
fix badly resolved rebase conflict
2016-04-22 11:05:36 +02:00
Sébastien Loriot
cfe32713d7
add default constructor for pmap
2016-04-21 15:26:50 +02:00
Jane Tournois
f0bb4febb5
improve remeshing test and get() in pmap
2016-04-21 15:25:28 +02:00
Jane Tournois
fd7b4cd6e1
improve remeshing_test
2016-03-31 12:25:01 +02:00
Sébastien Loriot
a2935493e1
add missing using namespace
2016-03-02 20:12:16 +01:00
Jane Tournois
2f3de6e80c
remove remeshing of a patch from the test
...
because the patch has been modified by split_long_edges,
so the "patch" container is not consistent anymore
it would be nice to use detect_sharp_edges to collect a patch in this test
2016-01-26 10:00:11 +01:00
Jane Tournois
b3f470723b
fix the test - it was working by accident!
...
faces of 'patch' are modified by the call to split_long_edges
so let's separate border protection and remeshing of a patch
into 2 separate calls
2016-01-18 15:06:10 +01:00
Jane Tournois
ae1ea30d45
reorder parameters for consistency in PMP package
2016-01-11 12:20:45 +01:00
Jane Tournois
0ab047eb37
reorder variables for API consistency in PMP package
2016-01-11 12:12:59 +01:00
Jane Tournois
74355818b1
reorder parameters for border_halfedges()
2016-01-11 10:19:41 +01:00
Jane Tournois
a5dd2fe12e
use new API of border_halfedges
2015-11-13 09:56:50 +01:00
Jane Tournois
46cfb1d849
add new line add end of file (triggers a warning)
2015-11-09 11:46:28 +01:00
Jane Tournois
9379a8551e
unset expensive debug macros for testing
2015-11-09 10:55:28 +01:00
Jane Tournois
52dbd6ef3d
add precondition about protection of constraints
...
this precondition is here to check whether protection of constraints is
compatible with termination of the refinement step
2015-11-05 20:09:15 +01:00
Jane Tournois
893b80c490
rename function to isotropic_remeshing()
2015-11-05 20:09:14 +01:00
Jane Tournois
8e44b5d77a
fix remeshing test
2015-07-15 16:02:32 +02:00
Jane Tournois
6214feaaf1
add stuff for verbose mode
2015-07-15 16:02:29 +02:00
Jane Tournois
6e7f4f7b21
test code
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
0844e79b67
add code to read selection from input
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
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
8b9bcefe22
remeshing of the patch
...
works when the patch describes the full mesh
otherwise, it enters an endless loop for now
2015-07-15 16:02:22 +02:00
Jane Tournois
f7820a6517
introduce API to mesh only a patch (does not implement anything yet)
2015-07-15 16:02:22 +02:00
Jane Tournois
e80a4adfaa
increase the number of iterations in test
2015-07-15 16:02:21 +02:00
Jane Tournois
fc0b9bd51a
add collapse short edges to remeshing
...
longest edges are split first
and shortest edges are collapsed first
todo : allow edges incident to boundary to be collapsed
2015-07-15 16:02:21 +02:00
Jane Tournois
79b5ba8553
first step : split_long_edges
2015-07-15 16:02:20 +02:00
Jane Tournois
598472d210
add framework for remeshing
2015-07-15 16:02:20 +02:00