Sébastien Loriot
acec5469fe
lazily build the tree
2019-10-10 08:00:41 +02:00
Mael Rouxel-Labbé
3801a35eb3
Tiny fixes
2019-10-08 16:03:51 +02:00
Mael Rouxel-Labbé
0b67e30c01
Improve user-friendliness of PMP::Locate by removing the class Location_traits
...
The problem was that Location_traits is templated by Named Parameters, and
it is extremely unpractical to have to explicitly write the type (it's nested
classes all the way down).
Instead, we use template aliases for most types, and template by the field
type (FT) when necessary, which is much easier to write for the user.
Since template aliases cannot automatically deduce template parameters,
non-Doxygen versions of functions must be written without them
from time to time.
Other fixes:
- Simplify implementation of function 'random_location_halfedge'
- Don't initialize FTs from doubles
- Minor doc improvements
- reference to points when using VPMs
2019-10-08 15:54:08 +02:00
Maxime Gimeno
cf4e1b4bd6
Add missing macro definition
2019-10-03 12:15:46 +02:00
Maxime Gimeno
0c26c6c3e8
Add missing macro def
2019-10-03 12:14:41 +02:00
Maxime Gimeno
9e3b59e55d
Add missing macro def
2019-10-03 12:07:47 +02:00
Maxime Gimeno
fe746764cf
remove the bool.
2019-10-02 15:20:18 +02:00
Maxime Gimeno
130d4a5e24
remove useless bool
2019-10-02 09:56:07 +02:00
Maxime Gimeno
e42c87b54f
add the missing box
2019-10-02 09:35:41 +02:00
Mael Rouxel-Labbé
e834971904
Minor code fixes
2019-10-01 13:03:43 +02:00
Mael Rouxel-Labbé
978a3f9504
Minor doc fixes
2019-10-01 13:03:29 +02:00
Maxime Gimeno
c18ad651d6
Fix last constro
2019-10-01 10:19:54 +02:00
Maxime Gimeno
c42d1b3cfd
test the dry_run
2019-10-01 09:56:37 +02:00
Maxime Gimeno
1a429d03e4
Add dry_run to keep_large_components() and remove_connected_components_of_negligible_size9)
2019-10-01 09:47:00 +02:00
Maxime Gimeno
10f53f8595
Fix the doc
2019-10-01 09:30:29 +02:00
Maxime Gimeno
546be7aff7
Add a `dry_run` parameter to `keep_large_connected_components()`
2019-09-30 15:49:36 +02:00
Sébastien Loriot
ee8528e02b
fix the test
2019-09-27 11:45:57 +02:00
Sébastien Loriot
429bf8676b
fix handling of constrained vertices in geometric test for collapse
2019-09-27 11:15:34 +02:00
Sébastien Loriot
80a462d9a4
disable the max length test if 0 is given as threshold
2019-09-27 11:08:10 +02:00
Sébastien Loriot
6cedfac39a
move code to internal/experimental and example to test
...
also update test that was no longer compiling
2019-09-27 08:35:03 +02:00
Maxime Gimeno
b831e41013
Use a bbox in Side-of_triangle_mesh until a request is inside, only then use the tree. Make it faster when working with disjoint meshes.
2019-09-25 13:03:12 +02:00
Mael Rouxel-Labbé
3bd071175e
Tiny optimization
2019-09-25 09:40:21 +02:00
Mael Rouxel-Labbé
2049e9e90c
Add support for VCM
2019-09-25 09:26:25 +02:00
Mael Rouxel-Labbé
a6ff330190
Use traits' functors
2019-09-24 17:32:50 +02:00
Mael Rouxel-Labbé
898663245f
Allow needle/cap/length threshold to be passed as NP
...
+ edge constraint map
+ general code cleaning
2019-09-24 16:58:10 +02:00
Maxime Gimeno
a52592909f
Remove all calls to accelerate_distance_queries(), now redundant.
2019-09-24 11:44:20 +02:00
Mael Rouxel-Labbé
9b3da64b8c
Merge branch 'PMP-Remove_needles_and_caps-GF-old' into PMP-Remove_needles_and_caps-GF
2019-09-24 09:54:30 +02:00
Mael Rouxel-Labbé
05fdacd6bf
Clean code
2019-09-24 09:42:06 +02:00
Sébastien Loriot
168463e038
remove extra assertion
2019-09-24 08:51:22 +02:00
Sébastien Loriot
1a4c47d6b4
update macro name
2019-09-19 12:47:48 +02:00
Laurent Rineau
ebcd182b5c
Merge remote-tracking branch 'cgal/releases/CGAL-4.14-branch'
2019-09-17 14:31:44 +02:00
Maxime Gimeno
d893b694f4
Don't use "using parameters::choose_param"
2019-09-17 10:11:12 +02:00
Sébastien Loriot
e1366dd184
flip only if the flip is the best quad diagonal
2019-09-12 10:52:41 +02:00
Sébastien Loriot
31e44f2580
keep the vertex minimizing the volume variation
2019-09-11 16:04:25 +02:00
Sébastien Loriot
7cf0c7daad
add a geometric test to prevent folding and self-intersections
2019-09-11 14:44:27 +02:00
Sébastien Loriot
5e736889d2
make sure all elements are removed during one call of the function
...
an additional call should not do anything
2019-09-11 07:06:23 +02:00
Sébastien Loriot
d47f3f57a3
Test the opposite triangle too (same edge = same key)
2019-09-10 17:27:03 +02:00
Sébastien Loriot
f3c2ae6b98
re-evaluate triangles after changes
2019-09-10 14:34:26 +02:00
Sébastien Loriot
fe2daaae75
retest the validity of the criteria before doing the operations
...
+ add debug code to dump model before the operation
2019-09-10 10:27:12 +02:00
Sébastien Loriot
89c1c4b3e8
check if the edge to be collapsed still verify the needle criteria
2019-09-06 15:35:03 +02:00
Sébastien Loriot
ee537eb89c
do not iterate on a container if we remove elements from it
2019-09-06 11:41:19 +02:00
Sébastien Loriot
acb8b8ffa2
split the function checking for needles and caps and use it to avoid inifinite flipping loops
2019-09-06 10:35:29 +02:00
Sébastien Loriot
64cd7b67c2
hide debug
2019-09-05 11:26:12 +02:00
Mael Rouxel-Labbé
2c06609445
Fix some warnings
2019-08-30 16:22:50 +02:00
Sébastien Loriot
5fe1b43ce6
Merge pull request #4139 from MaelRL/PMP-Fix_duplicate_nm_vertices_5.0-GF
...
PMP: Fix improper halfedge incidence state in post non-manifold vertex duplication mesh (5.0)
2019-08-29 20:10:16 +02:00
Sébastien Loriot
73ff5f610b
Merge pull request #4174 from MaelRL/PMP-Fix_boundary_cycle_stitching_5.0-GF
...
PMP: Fix boundary cycle when non manifold vertices exist in the cycle (5.0)
2019-08-29 20:09:34 +02:00
Sebastien Loriot
201a4b8ff8
Merge pull request #4176 from MaelRL/PMP-Fix_boundary_cycle_nm_vertices-4.14-GF
...
PMP: Fix boundary cycle when non manifold vertices exist in the cycle (4.14)
2019-08-29 19:52:12 +02:00
Sebastien Loriot
98f3847cf1
Merge pull request #4137 from MaelRL/PMP-Fix_duplicate_nm_vertices_414-GF
...
PMP: Fix improper halfedge incidence state in post non-manifold vertex duplication mesh (4.14)
2019-08-29 19:51:17 +02:00
Sebastien Loriot
aa3b75a596
Merge pull request #4178 from janetournois/PMP-fix_isotropic_remeshing_degenerate_flip-jtournois
...
`PMP::isotropic_remeshing()` - prevent creating non-manifold configurations
2019-08-29 07:32:44 +02:00
Sébastien Loriot
551313ac5c
Merge branch 'cgal/releases/CGAL-4.14-branch'
2019-08-27 06:37:23 +02:00
Sébastien Loriot
f0fb56233a
Merge 'cgal/releases/CGAL-4.13-branch'
2019-08-27 06:36:39 +02:00
Mael Rouxel-Labbé
c2cb44175b
Add a reference to the paper
2019-08-26 13:24:51 +02:00
Mael Rouxel-Labbé
5cf6ec5261
Fix minor bug in 'is_default_parameter' usage
2019-08-26 13:05:50 +02:00
Mael Rouxel-Labbé
ae60ff2d15
Robustification of most visible vertex normal computation
2019-08-26 13:05:27 +02:00
Mael Rouxel-Labbé
6da2cebc8d
Sqrt -> Approximate_sqrt
2019-08-26 13:04:52 +02:00
Mael Rouxel-Labbé
ce9b3a890d
Use sin-based weights in the default vertex normal computation
2019-08-26 13:04:24 +02:00
Mael Rouxel-Labbé
b9f37cea38
Hide debug code behind macros
2019-08-26 13:03:22 +02:00
Mael Rouxel-Labbé
cf35771337
Robustify and incorporate most visible normal computations into standard fns
2019-08-23 16:29:36 +02:00
Mael Rouxel-Labbé
195a3319eb
Also remove isolated vertices in remove_negligible_CCs
2019-08-23 14:37:16 +02:00
Mael Rouxel-Labbé
bba6e57053
Misc code cleaning
2019-08-23 11:35:34 +02:00
Mael Rouxel-Labbé
ad90fa30fd
Fix potentially taking references to temporaries
...
For example, if the vertex point property map returned temporaries
2019-08-23 11:16:01 +02:00
Mael Rouxel-Labbé
f05a11dde5
Fix some internal functions not being in the 'internal' namespace
2019-08-23 11:15:41 +02:00
Mael Rouxel-Labbé
c65c5e0b42
Merge branch 'PMP-New_vertex_normal_computations-GF-old' into PMP-New_vertex_normal_computations-GF
2019-08-23 11:01:31 +02:00
Mael Rouxel-Labbé
923bd66ddf
Document remove_connected_components_of_negligible_size
2019-08-23 10:33:13 +02:00
Mael Rouxel-Labbé
68419d1e65
Remove_negligible_CCs now take two new NP: area and volume thresholds
...
If no treshold is provided, a default value is computed based on the length
of the diagonal of the bbox.
2019-08-23 09:24:17 +02:00
Mael Rouxel-Labbé
cd46683b48
Update NP syntax to new standards (choose_parameter / get_parameter)
2019-08-23 09:23:40 +02:00
Mael Rouxel-Labbé
83184032e6
Add a function 'number_of_CCs' for convenience
...
Just so that we don't have have to create the face map and such
if we only care about the number of CCs
2019-08-23 09:22:54 +02:00
Mael Rouxel-Labbé
fad61974d6
Merge branch 'PMP-Remove_small_CCs-old' into PMP-Remove_small_CCs
2019-08-22 14:22:41 +02:00
Mael Rouxel-Labbé
6d2ebc7a6e
Minor doc changes
2019-08-22 13:14:45 +02:00
Mael
023dfec313
Add const marker
2019-08-22 09:06:02 +02:00
Mael
be20ddb568
Add const marker
2019-08-22 09:05:14 +02:00
Mael
d2349066af
Add const marker
...
Co-Authored-By: Sebastien Loriot <sloriot.ml@gmail.com>
2019-08-22 09:03:01 +02:00
Mael Rouxel-Labbé
4bca5d114f
Rephrase end condition
2019-08-21 17:07:44 +02:00
Mael Rouxel-Labbé
afec55f375
Rephrase end condition
2019-08-21 17:06:55 +02:00
Mael Rouxel-Labbé
799916d7c5
Rephrase end condition
2019-08-21 17:04:39 +02:00
Mael Rouxel-Labbé
a1039b9d33
Fix boundary cycle stitching when nm vertices are present
2019-08-21 16:51:58 +02:00
Mael Rouxel-Labbé
b60f1f5205
stitch_borders() now returns the number of halfedge pairs that were stitched
2019-08-21 16:24:34 +02:00
Mael Rouxel-Labbé
9bd79323f6
Change guard name
2019-08-21 16:15:57 +02:00
Mael Rouxel-Labbé
7c09f56889
Minor changes to enable debug code
2019-08-21 16:10:04 +02:00
Mael Rouxel-Labbé
13f9d60518
Fix boundary cycle stitching when non-manifold vertices are present
2019-08-21 16:05:04 +02:00
Mael Rouxel-Labbé
7f55980ac6
Misc debug and code cleaning (no real changes)
2019-08-21 16:02:53 +02:00
Simon Giraudot
dd5fe73996
Document type of iterator (random access)
2019-08-21 15:43:50 +02:00
Simon Giraudot
790ed44613
Fix distance range type
2019-08-21 14:51:04 +02:00
Jane Tournois
77c8e68e07
fix the use of flip() inside fix_degenerate_faces()
...
the topological condition should be a strong condition, not an assertion
2019-08-20 17:23:32 +02:00
Maxime Gimeno
3b38ede8c4
Add CGAL_USE to manage case where assertions are ignored
2019-08-14 13:22:19 +02:00
Andreas Fabri
7db6c8e670
make const &
2019-08-12 07:51:32 -07:00
Andreas Fabri
52ca4f828f
Comment debug output as travis fails
2019-08-12 07:49:12 -07:00
Sébastien Loriot
760365987c
Merge branch 'cgal/releases/CGAL-4.14-branch'
2019-08-12 09:20:53 +02:00
Sebastien Loriot
e67611862b
Merge pull request #4129 from janetournois/PMP-fix_isotropic_remeshing_collapse-jtournois
...
Fix segfault in `PMP::isotropic_remeshing()`
2019-08-12 09:16:57 +02:00
Sebastien Loriot
eb712a67e9
Merge pull request #4094 from MaelRL/PMP-Snap_pp-GF
...
PMP: speed improvements for snap.h
2019-08-12 09:02:50 +02:00
Mael Rouxel-Labbé
82e1c93eef
Ensure that all vertices have a proper halfedge after non manifold duplication
2019-08-05 16:06:33 +02:00
Mael Rouxel-Labbé
9bf457ffcc
Fix duplicate nm vertices
...
There was an issue with keeping a valid incident halfedge for vertices
post-duplication
2019-08-05 15:38:30 +02:00
Mael Rouxel-Labbé
56354bcf8b
Use approximate sqrt because compute_area_3 does not work for some kernels
2019-08-02 12:14:25 +02:00
Mael Rouxel-Labbé
71304cf145
Fix np internal type
2019-08-02 11:04:26 +02:00
Mael Rouxel-Labbé
9f3009f88b
Add breathing room
2019-08-02 09:05:09 +02:00
Mael Rouxel-Labbé
22acb31a12
Add a function to remove small (in terms of area && volume) CCs
2019-08-01 16:10:52 +02:00
Mael Rouxel-Labbé
16cdbb4b8f
Avoid default constructing the traits
2019-08-01 16:10:36 +02:00
Mael Rouxel-Labbé
edbe852d4d
Simplify initialization
2019-08-01 16:10:14 +02:00
Jane Tournois
5f8a58a046
deal with faces on the boundary
...
a precondition inside `flip_edge()` fails if this boundary condition is not satisfied
2019-08-01 14:58:19 +02:00
Sébastien Loriot
b84297f8f6
update the usage for the new CGAL named function parameters
2019-07-29 09:38:39 +02:00