Dmitry Anisimov
04f556fe84
Merge remote-tracking branch 'sloriot/gsoc2019-PMPHDist-martinskrodzki' into gsoc2019-PMPHDist-martinskrodzki
2021-05-09 15:37:01 +02:00
Jane Tournois
74e2ee9734
do not collapse isolated constraints
2021-05-06 19:40:52 +02:00
Jane Tournois
14385aaf15
add a test with isolated constraints, on and away from mesh borders
2021-05-06 17:48:39 +02:00
Jane Tournois
3a6e31de65
do not split isolated constraints
2021-05-06 15:56:23 +01:00
Jane Tournois
64e568f748
an isolated constraint can be on the mesh border
...
the halfedge status for a pair of opposite halfedges can be
MESH_BORDER and ISOLATED_CONSTRAINT, but MESH_BORDER has
priority
2021-05-06 16:56:05 +02:00
Jane Tournois
49fc218c45
avoid iterating over all halfedges, but only the ones of the patch to be remeshed
2021-05-06 15:55:19 +01:00
Jane Tournois
9d3d29fd6d
encapsulate debug code in debug macro
2021-05-06 16:55:02 +02:00
Sébastien Loriot
00f4a52b0a
missing header
2021-05-06 15:50:19 +02:00
Sébastien Loriot
79057f3cdd
allow to remesh a patch with boundary cycles of edges if genus is not to be preserved
2021-05-06 14:32:32 +02:00
Dmitry Anisimov
c4e23b5ced
tested with different concurrency tags, cleanup, added empty test for the new function
2021-05-05 15:29:48 +02:00
Dmitry Anisimov
13ef4342d1
fixing build errors when tbb and/or metis is unavailable
2021-05-05 13:43:31 +02:00
Dmitry Anisimov
3c0fc281e8
more optimizations, using boost any and factoring out kd tree, adding metis check
2021-05-05 13:17:23 +02:00
Sébastien Loriot
4e519a3c7a
move documented IO functions in IO namespace
2021-05-05 13:15:37 +02:00
Dmitry Anisimov
fb8538393d
corrected includes
2021-05-05 10:04:48 +02:00
Dmitry Anisimov
7d0ae6b13d
testing bunny dense
2021-05-04 17:19:12 +02:00
Dmitry Anisimov
e3c693caac
optimized one-sided parallel version
2021-05-04 15:58:17 +02:00
Sébastien Loriot
fb6f703b55
IO namespace for files in IO directories
2021-05-04 14:36:06 +02:00
Dmitry Anisimov
9117c7ea2f
fixed bug with parallel computation, now works
2021-05-04 13:58:50 +02:00
Dmitry Anisimov
27cc88524d
fixed parallel preprocessing, computation is still buggy
2021-05-04 13:23:13 +02:00
Dmitry Anisimov
74f5d8af05
added one-sided parallel hausdorff distance, still with the seg fault
2021-05-03 18:17:41 +02:00
Dmitry Anisimov
b31201294b
cleanup
2021-05-03 15:46:12 +02:00
Dmitry Anisimov
bafc127499
cout a few more timings for parallel version
2021-05-03 14:53:04 +02:00
Dmitry Anisimov
887a715a26
added naive parallel version
2021-05-03 14:22:14 +02:00
Dmitry Anisimov
482bc457e4
added test for parallel version + METIS partition of tm1 and partially filtered face graph
2021-04-30 17:16:15 +02:00
Dmitry Anisimov
f158e3e5eb
added symmetric distance, it is approx 2 times faster than naive version
2021-04-30 16:14:19 +02:00
Dmitry Anisimov
9afa43dad0
propagate lower bound for culling on TM1 to accelerate symmetric distance
2021-04-30 15:02:27 +02:00
Dmitry Anisimov
c78c4d2963
all preprocessing steps are moved to their own function
2021-04-30 14:51:14 +02:00
Sébastien Loriot
6ad09d441a
add convenience function to snap all vertices of a mesh
2021-04-30 13:53:13 +02:00
Dmitry Anisimov
5d77b22f7a
changed sqrt to approximate sqrt
2021-04-30 10:25:22 +02:00
Dmitry Anisimov
5fe5bb049c
Update Polygon_mesh_processing/examples/Polygon_mesh_processing/hausdorff_bounded_error_distance_example.cpp
...
Co-authored-by: Sebastien Loriot <sebastien.loriot@cgal.org>
2021-04-30 09:27:21 +02:00
Sébastien Loriot
fbffcfff5d
Merge 'PMP-compare_faces_from_meshes-maxGimeno' into gsoc2019-PMPHDist-martinskrodzki
2021-04-29 17:46:54 +02:00
Sébastien Loriot
d0608093ec
remove unused typedef
2021-04-29 17:46:14 +02:00
Dmitry Anisimov
7fd291c588
added input-dependent infinity value + assertions
2021-04-29 17:43:00 +02:00
Sébastien Loriot
e24c6bd3d8
rename variables to make it clear from which mesh the faces are from
2021-04-29 15:51:02 +02:00
Sébastien Loriot
d4e7879464
make the code work with different input mesh types
2021-04-29 15:45:06 +02:00
Sébastien Loriot
93855b1af1
Merge PMP-compare_faces_from_meshes-maxGimeno into gsoc2019-PMPHDist-martinskrodzki
2021-04-29 10:36:22 +02:00
Sébastien Loriot
b4787adc19
allow difference mesh types
2021-04-29 10:35:26 +02:00
Dmitry Anisimov
1f114461c4
removed return with realizing triangles + added naive version of symmetric distance
2021-04-28 17:14:22 +02:00
Dmitry Anisimov
4db22ca4ae
removed internal test code that did not prove to be useful
2021-04-28 16:55:15 +02:00
Dmitry Anisimov
5c3ae06de7
group traversal should be called only on TM2
2021-04-28 15:44:34 +02:00
Laurent Rineau
c091c7f86e
Merge pull request #5532 from lrineau/Kernel_23-Do_interesect__without_division-GF
...
Remove operator/ from CGAL::Mpzf and implement Do_intersect_3 with RT only (without division)
2021-04-28 15:24:15 +02:00
Laurent Rineau
ab887fd909
Merge pull request #5634 from sloriot/PMP-improve_conditionnal_code
...
Simplify conditional code
2021-04-28 15:24:05 +02:00
Laurent Rineau
b775b04eb8
Merge pull request #5637 from sloriot/PMP-hole_filling_empty_range_warning
...
Fix use of empty range
2021-04-28 15:24:01 +02:00
Dmitry Anisimov
b45de72547
tested bbox comparisons but I do not think we can use them so they are off
2021-04-28 15:23:35 +02:00
Laurent Rineau
795c931b55
Merge pull request #5637 from sloriot/PMP-hole_filling_empty_range_warning
...
Fix use of empty range
2021-04-28 15:22:41 +02:00
Dmitry Anisimov
4ce1370043
tested group traversal, its sequential version is slower due to more candidate triangles
2021-04-28 11:37:49 +02:00
Sébastien Loriot
1faa0e2992
replace internal use of boost::shared_ptr by std::shared_ptr
2021-04-28 10:55:26 +02:00
Sébastien Loriot
c3e5294df3
add extra function for group traversal
...
not activate for now
2021-04-27 19:24:56 +02:00
Dmitry Anisimov
a2f460c9d6
Merge branch 'master' into gsoc2019-PMPHDist-martinskrodzki
2021-04-27 18:37:32 +02:00
Dmitry Anisimov
85f88c218a
added inexact check with distances + more precise realizing triangles
2021-04-27 18:25:58 +02:00
Dmitry Anisimov
860cad669a
added tighter bounds, changed std min/max to CGAL one, added missing realizing triangles
2021-04-27 16:46:02 +02:00
Dmitry Anisimov
930d364c3f
face to triangle map made global
2021-04-27 12:43:47 +02:00
Dmitry Anisimov
95ab1a57a0
tests moved to the test folder
2021-04-27 11:22:55 +02:00
Dmitry Anisimov
5e99e80134
refined and debugged aabb tree with priority traversal
2021-04-26 17:07:19 +02:00
Dmitry Anisimov
d5e1c1fdd9
shorter bunny test
2021-04-26 15:38:06 +02:00
Dmitry Anisimov
7b8deffb9e
Merge remote-tracking branch 'maxGimeno/PMP-compare_faces_from_meshes-maxGimeno' into gsoc2019-PMPHDist-martinskrodzki
2021-04-26 15:23:04 +02:00
Dmitry Anisimov
4cf4e2c50a
return a pair of realizing triangles, still to be discussed
2021-04-26 15:21:58 +02:00
Dmitry Anisimov
69c48308cc
added test for realizing triangles, updated how the bounds are stored, removed useless types
2021-04-26 13:04:59 +02:00
Maxime Gimeno
ce9bf321df
use num_vertices() instead of vertices().size() (garbage probleme in SMesh)
2021-04-23 16:16:53 +02:00
Dmitry Anisimov
f92e24f9c2
now we can return realizing triangles
2021-04-23 16:01:32 +02:00
Dmitry Anisimov
1b892e0558
subdivision tested - it works
2021-04-23 15:41:57 +02:00
Dmitry Anisimov
6bf1966012
partially fixed issue for match faces + added minimum example for that issue
2021-04-23 14:37:58 +02:00
Sébastien Loriot
0eea836f1e
handle empty point range
2021-04-23 08:46:28 +02:00
Dmitry Anisimov
9a9c3ed887
a few comments in addition to the discussion with Sebastien and Martin
2021-04-22 12:19:58 +02:00
Sébastien Loriot
b0a05ab501
fix default
2021-04-21 17:50:47 +02:00
Sébastien Loriot
8a3d9ad124
restrict the usage of the macro
...
everything is local now
2021-04-21 17:48:08 +02:00
Sébastien Loriot
f513a791e2
Merge remote-tracking branch 'cgal/5.2.x-branch'
2021-04-21 15:48:36 +02:00
Sébastien Loriot
eef92fbef7
Merge remote-tracking branch 'cgal/5.1.x-branch'
2021-04-21 15:47:06 +02:00
Sebastien Loriot
fa4a31a87b
Merge pull request #5583 from sloriot/PMP-face_epsilon_map
...
Polyhedral_envelope: face epsilon map
2021-04-21 15:26:48 +02:00
Dmitry Anisimov
2f5ff51c60
missing include
2021-04-21 12:21:15 +02:00
Dmitry Anisimov
33d2f1073a
optimized AABB tree calls
2021-04-21 11:48:56 +02:00
Mael Rouxel-Labbé
c489b7ffa5
Add missing Coercion_traits specialization for custom FT in PMP test
2021-04-20 15:59:29 +02:00
Dmitry Anisimov
a0812c1ad7
added comments with refs to the original paper, checked all the formulas
2021-04-19 17:44:25 +02:00
Dmitry Anisimov
4ebbaba856
added bunny benchmarks versus original paper
2021-04-19 14:00:03 +02:00
Sébastien Loriot
0efe2459dc
remove whitespace introduced during merge
2021-04-17 14:13:28 +02:00
Sébastien Loriot
39367c2313
Merge remote-tracking branch 'cgal/5.2.x-branch'
2021-04-17 11:14:29 +02:00
Sebastien Loriot
e9c97d2b59
Merge pull request #5539 from sloriot/PMP-coref_check_si
...
Collect faces incident to edges too
2021-04-17 11:04:38 +02:00
Sebastien Loriot
b7323389c7
Merge pull request #5622 from maxGimeno/CMake-Update_versions_in_scripts-maxGimeno
...
Update maximum cmake versions
2021-04-17 10:58:14 +02:00
Sebastien Loriot
66441af8c6
Merge pull request #5566 from afabri/PMP-accelerate_Envelope-GF
...
PMP - Polyhedral Envelope : Make it faster by making combinatorial tests
2021-04-17 10:53:22 +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
Dmitry Anisimov
81513fc860
face descriptor is now stored in the candidate triangle to remember the realizing triangle
2021-04-16 18:15:07 +02:00
Dmitry Anisimov
56b77cfd9f
fixed match faces + removed small optimization (not sure about it)
2021-04-16 17:43:26 +02:00
Maxime Gimeno
c49152359c
update max version of cmake and announce the new minimal in CHANGE.md
2021-04-15 15:08:54 +02:00
Sébastien Loriot
33a9553a13
rename variables
2021-04-14 11:09:14 +02:00
Sébastien Loriot
05e4b56c88
group intersecting segment of planar faces into a unique Node_set_id
...
This makes the unordered_map change working for autoref
2021-04-14 10:19:38 +02:00
Jane Tournois
d61cf58f2f
add ISOLATED_CONSTRAINT halfedge status
...
this type is needed for edges that are part of the input constrained
edges property map, and are incident to a face to be remeshed only by a
vertex.
These edges contribute to creating corner vertices (incident to >= 3
constrained edges), but should still not be considered as patch borders
without dealing with these "isolated constraints", the corner vertices that
are incident to 2 patch borders and 1 of these edges was not considered
as a corner but as a simple patch border vertex, hence it could be
moved/deleted by a collapse or relaxation steps
2021-04-13 15:20:21 +02:00
Sébastien Loriot
0e6754b15e
typos
2021-04-10 09:19:46 +02:00
Dmitry Anisimov
ddb8c6a9ff
fewer candidate triangles for distance > 0
2021-04-09 18:48:15 +02:00
Dmitry Anisimov
50fc1cabd9
faster queries for close meshes, now traversal traits initial bounds depend on error_bound
2021-04-09 18:19:54 +02:00
Dmitry Anisimov
95f124fd30
added missing ref
2021-04-09 16:50:34 +02:00
Dmitry Anisimov
4d107b3b8d
using std priority queue instead of boost heap
2021-04-09 16:34:03 +02:00
Dmitry Anisimov
63db510aef
epeck support, fixed bug with infinity value
2021-04-09 16:03:55 +02:00
Dmitry Anisimov
dc9e958503
removed some asserts and types, added const, make it compile with epeck, but epeck gives wrong results
2021-04-09 12:35:18 +02:00
Dmitry Anisimov
410b03bc1f
added z-shaped test
2021-04-09 10:46:01 +02:00
Dmitry Anisimov
a255f692dc
matching faces finished, still needs several more tests
2021-04-08 17:07:13 +02:00
Dmitry Anisimov
ffc8953a42
caching data
2021-04-08 16:25:38 +02:00
Dmitry Anisimov
0333778b96
added face matching, not finished
2021-04-08 16:22:32 +02:00
Dmitry Anisimov
3b7931dcd9
added timings test
2021-04-08 15:50:49 +02:00
Andreas Fabri
e0985c4daf
PMP Corefinement: Replace containters to make it faster
2021-04-08 11:40:19 +01:00
Jane Tournois
371706e92a
Merge remote-tracking branch 'cgal/master' into PMP-isotropic_remeshing_collapse_step-jtournois
...
# Conflicts:
# Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Isotropic_remeshing/remesh_impl.h
2021-04-08 11:11:51 +02:00
Sebastien Loriot
dfe70d17e7
Fix typo
2021-04-08 08:56:54 +02:00
Sébastien Loriot
667817ece0
test new API
2021-04-07 15:27:56 +02:00
Sébastien Loriot
d8cdbbdc28
avoid an extra is-degenerate test
2021-04-07 15:10:32 +02:00
Sébastien Loriot
5b554abce8
add named parameter for triangle soup
2021-04-07 14:52:51 +02:00
Dmitry Anisimov
dfd2e15066
Merge remote-tracking branch 'maxGimeno/PMP-compare_faces_from_meshes-maxGimeno' into gsoc2019-PMPHDist-martinskrodzki
2021-04-07 13:54:02 +02:00
Dmitry Anisimov
841ad3b8b1
fixed bug introduced in 2d4c254
2021-04-07 13:53:10 +02:00
Dmitry Anisimov
4033bc14f3
added new tests with test data
2021-04-07 12:52:08 +02:00
Dmitry Anisimov
f8f37393f3
fixed warnings
2021-04-07 12:44:17 +02:00
Maxime Gimeno
17602e589e
Merge remote-tracking branch 'cgal/master' into CGAL-clang_tidy__nullptr_on_Mesh_2-GF
2021-04-07 09:17:51 +02:00
Laurent Rineau
1b54449dc5
Merge pull request #4878 from danston/Kernels-decltypes-danston
...
Improve decltype/result_of/invoke_result
2021-04-06 15:13:21 +02:00
Laurent Rineau
58ddf16295
Merge pull request #5507 from afabri/PMP-vtune_isotropic_remeshing-GF
...
PMP: Accelerate isotropic remeshing
2021-04-06 15:13:11 +02:00
Laurent Rineau
d46dcec5e5
Merge pull request #5510 from pentacular/wasm
...
Round-to-nearest support for intervals
2021-04-06 15:13:09 +02:00
Laurent Rineau
8247232cf1
Merge pull request #5535 from sloriot/CGAL-more_cmake_support_files
...
Add more cmake support files
2021-04-06 15:13:04 +02:00
Laurent Rineau
791d4abfec
Merge pull request #5555 from sloriot/PMP-exception_inheritance
...
Inherit from a std exception
2021-04-06 15:12:55 +02:00
Laurent Rineau
9b442d1595
Merge pull request #5570 from MaelRL/PMP-Repair_PS_invalid_polygons_speed_up-GF
...
Speed up invalid polygon removal in repair_PS
2021-04-06 15:12:47 +02:00
Laurent Rineau
a11a7578f6
Merge pull request #5570 from MaelRL/PMP-Repair_PS_invalid_polygons_speed_up-GF
...
Speed up invalid polygon removal in repair_PS
2021-04-06 15:11:41 +02:00
Sébastien Loriot
b7bafa1a34
do not build vector if not needed
2021-04-03 11:22:14 +02:00
Sébastien Loriot
dd19b506ed
first version to add epsilon per face
2021-04-03 11:14:15 +02:00
Andreas Fabri
ab75cbea46
Add data set that shows the performance gain when running self_intersections_example.cpp (4.6 sec master, 0.6 sec this PR when run sequentially
2021-04-01 18:42:05 +01:00
Andreas Fabri
c97d3ffb65
Take into account that obtuse vertices are not clipped.
2021-04-01 16:47:07 +01:00
Andreas Fabri
6c4835f8db
Introduce a struct for Prism so that we can also store which corner is obtuse
2021-04-01 15:35:16 +01:00
Maxime Gimeno
34e2180b22
rename match_faces
2021-04-01 13:50:41 +02:00
Sébastien Loriot
f4a79aebd8
catch const ref
2021-03-31 14:12:43 +02:00
Mael Rouxel-Labbé
dc854d8088
Use std::remove_if to speed-up invalid polygon removal
2021-03-31 11:54:38 +02:00
Andreas Fabri
ebbe978291
Do not test combinations of planes where we know that there is no intersection point
2021-03-30 13:56:28 +01:00
Sébastien Loriot
e3b0302b2b
inherit from a std exception
2021-03-26 09:53:29 +01:00
Maxime Gimeno
ca5867f172
Changes after review
2021-03-25 13:27:16 +01:00
Laurent Rineau
79ba1af61f
Merge pull request #5492 from sloriot/PMP-coref_full_edge_visitor
...
Add missing visitor calls for the output_builder part
2021-03-24 15:05:24 +01:00
Maxime Gimeno
9e6eaa504a
Orientation requirements always on, as it won't work without it on non triangle meshes
2021-03-23 13:43:49 +01:00
Maxime Gimeno
5f4437bef1
Fix missing inline and doc
2021-03-23 12:43:53 +01:00
Maxime Gimeno
c3036b1e3e
clean-up
2021-03-23 12:12:45 +01:00
Maxime Gimeno
cc4d274399
Clarify np
2021-03-23 12:10:34 +01:00
Maxime Gimeno
f4da3182d7
add new tests
2021-03-23 12:04:25 +01:00
Maxime Gimeno
277117613b
Add a NP for orientation requirement
2021-03-23 11:49:47 +01:00
Maxime Gimeno
aa2b527156
Fix holes situation
2021-03-23 11:13:47 +01:00
Maxime Gimeno
8f92a01b12
clean-up
2021-03-23 10:38:19 +01:00
Maxime Gimeno
dd90a3ce84
OutputIterators
2021-03-23 10:17:39 +01:00
Maxime Gimeno
8c5fcd9209
Replace by bitset
2021-03-23 09:45:48 +01:00
Maxime Gimeno
27701711e7
Only 2 loops for faces
2021-03-23 09:25:06 +01:00
Jane Tournois
f9eb2439bd
Merge branch 'PMP-isotropic_remeshing_collapse_step-jtournois' of github.com:janetournois/cgal into PMP-isotropic_remeshing_collapse_step-jtournois
2021-03-22 16:50:00 +01:00
Jane Tournois
a79fe08fcf
Merge remote-tracking branch 'cgal/master' into PMP-isotropic_remeshing_collapse_step-jtournois
2021-03-22 16:46:08 +01:00
Maxime Gimeno
22e13faee9
1st pass after review
2021-03-22 16:28:10 +01:00
Maxime Gimeno
c1895e74b6
mutbale ranges in doc
2021-03-22 14:59:40 +01:00
Maxime Gimeno
7d4a661671
Overloads, plugin and data sets
2021-03-22 14:59:01 +01:00
Maxime Gimeno
67aaf04a0a
doc + example + tests
2021-03-22 14:02:18 +01:00
Brian Spilsbury
b05f6061ab
Merge branch 'master' into wasm
2021-03-20 17:57:57 +09:00
Andreas Fabri
29a40dc40b
Remove the timer and the output of the result
2021-03-19 15:47:12 +01:00
Sébastien Loriot
f5a6ff424e
collect face incident to edges too
2021-03-19 14:47:54 +01:00
Jane Tournois
109a893657
remove #ifdef that should be defined
2021-03-19 11:30:05 +01:00
Sébastien Loriot
ac15312260
add Ceres support cmake file
2021-03-18 14:47:56 +01:00