Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add autorefine for triangle soup #7614

Merged
merged 105 commits into from
Dec 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
a1ff847
add "brute-force" version of autorefine()
sloriot Jan 2, 2023
b0edd90
add option to directly dump the soup
sloriot Jan 2, 2023
47ac016
skip degenerate faces
sloriot Jan 2, 2023
6df9926
add another example with soup as input
sloriot Jan 2, 2023
e1414de
add debug
sloriot Jan 2, 2023
85368c4
use all vertices in the check
sloriot Jan 2, 2023
944475f
triangulate input faces
sloriot Jan 2, 2023
2b77fcd
faster implementation + fix intersection segments + check
sloriot Jan 3, 2023
d92d37c
fix condition
sloriot Jan 3, 2023
34e8d7e
disable CDT+ that is slower and add debug
sloriot Jan 4, 2023
e94c7be
update doc + TODOs
sloriot Jan 5, 2023
370d913
use insertion by range
sloriot Jan 9, 2023
9ba370a
use a canonical orientation
sloriot Jan 10, 2023
a216905
Merge pull request #7370 from sloriot/PMP-soup_self_intersections
sloriot Apr 6, 2023
f9668e2
use self-intersection test for soup for checking the validity of the …
sloriot Jan 11, 2023
7d1582d
avoid doing twice the degenerate test
sloriot Jan 11, 2023
822e65b
build visitor once for all
sloriot Jan 13, 2023
9c2de3e
handle soup as input
sloriot Jan 13, 2023
b488727
use soup as input/output in example
sloriot Jan 13, 2023
d979121
repair soup is still recommanded
sloriot Jan 13, 2023
4bc74c3
WIP: start improving intersect computation
sloriot Jan 16, 2023
842b628
STILL WIP: copy/paste code for coplanar intersection
sloriot Jan 23, 2023
39d7bbc
WIP import intersection computation from coref code
sloriot Jan 24, 2023
10252fa
WIP use segments
sloriot Jan 24, 2023
5905003
always std::array as cst
sloriot Jan 24, 2023
8107157
WIP handle coplanar
sloriot Jan 24, 2023
fa662e7
WIP handle duplicated intersections + add in intersection list
sloriot Jan 25, 2023
8bea32d
WIP new coplanar intersection
sloriot Feb 2, 2023
8e050bd
fix various bug and add debug
sloriot Mar 1, 2023
0bf300d
plug new coplanar triangle intersection code
sloriot Mar 1, 2023
4fa600b
bug fix
sloriot Mar 3, 2023
2fade29
add more debug
sloriot Mar 3, 2023
f3e4a60
fix intersection point computation
sloriot Mar 6, 2023
f499c39
add a version with fixed dimension for projection
sloriot Mar 6, 2023
3abf7c4
add debug
sloriot Mar 6, 2023
8ff9f17
restore traits creation
sloriot Mar 13, 2023
14105bb
always use local indices for range insertion of constraints
sloriot Mar 14, 2023
003910e
fix typo
sloriot Mar 14, 2023
adb5a31
dramatic typo
sloriot Mar 14, 2023
5defd78
better treatment of intersection between segments
sloriot Mar 15, 2023
48c49ad
more debug and enum fix
sloriot Mar 15, 2023
ebb051f
remove debug
sloriot Mar 16, 2023
b31dc68
add another option coplanar orientation
sloriot Mar 16, 2023
38a92ea
make the message clearer
sloriot Mar 16, 2023
6139fc4
insert points even if no constraints
sloriot Mar 16, 2023
85b3f7e
working around non-triangular polygons
sloriot Mar 27, 2023
b06ed79
add more debug
sloriot Mar 27, 2023
bd967e7
avoid duplicated tangency point
sloriot Mar 27, 2023
2b74b8f
fix some bugs
sloriot Mar 28, 2023
e29d524
fix doc
sloriot Mar 28, 2023
d3bcae0
Merge pull request #7353 from MaelRL/PMP-Triangulate_PS-GF
sloriot Apr 6, 2023
2bae23a
triangulate soup
sloriot Mar 29, 2023
2a791d2
add optional progress display
sloriot Mar 31, 2023
aefc4b9
repair soup before orient + to mesh
sloriot Mar 31, 2023
55f8bcb
fix assertion
sloriot Apr 6, 2023
a15956d
add clear function and input must mesh should be const in principle
sloriot May 24, 2023
5d73a7a
add TODOs for parallelism
sloriot May 25, 2023
278e186
parallize #1
afabri May 26, 2023
1c1ed53
Parallelize deduplicate_segments()
afabri May 30, 2023
2695834
Rename lambdas
afabri May 30, 2023
e34a798
debug macro
sloriot May 30, 2023
3d6d9b3
parallelize unique points
afabri May 30, 2023
a1fbd10
add TODO
sloriot May 30, 2023
4b2f3e6
take np into account for concurrency
sloriot May 30, 2023
3d6c0da
remove debug
sloriot May 31, 2023
854aacd
add comments
sloriot Jun 6, 2023
0551cef
add more test from errors while testing thingi10k models
sloriot Jun 7, 2023
48712f7
don't use c++17 features
sloriot Jun 8, 2023
003bf47
move alpha computation into a functor
sloriot Jun 8, 2023
0684bd2
hide debug
sloriot Jun 8, 2023
c5fab1c
fix sequential run
sloriot Jun 8, 2023
45c7b00
add stop
sloriot Jun 12, 2023
41449d7
fix bug when setting the ids of points
sloriot Jun 12, 2023
b86a1fe
Merge remote-tracking branch 'sloriot/PMP-BF_autorefine' into PMP-BF_…
sloriot Jul 5, 2023
a8a3d8a
add functor to compute the intersection of 3 independant planes
sloriot Jul 6, 2023
a0658b6
track coplanar triangles and use direct point construction
sloriot Jul 6, 2023
bab2c72
add functor to compute intersection point of coplanar segments
sloriot Jul 6, 2023
e7490ee
use direct construction of coplanar segment intersection
sloriot Jul 6, 2023
806ffa9
remove TODO
sloriot Jul 6, 2023
fdb6b79
add doc + do the autorefine inplace for the soup
sloriot Jul 21, 2023
d6fdc85
rename variables
sloriot Jul 21, 2023
e1d7105
add visitor + add calls to the visitor
sloriot Jul 21, 2023
9822f37
doc precision
sloriot Jul 21, 2023
d1779ca
doc concurrency_tag
sloriot Jul 21, 2023
1f61a84
add demo plugin that support refinement of one or several items
sloriot Aug 2, 2023
a528464
Merge branch 'cgal/master' into PMP-BF_autorefine
sloriot Aug 28, 2023
49d6821
accomodate update to c++17 STL
sloriot Aug 28, 2023
4dc2ad3
fix map type
sloriot Sep 4, 2023
9d68f53
doc + changes
sloriot Sep 4, 2023
8e36b7b
the map is either const or take by copy
sloriot Oct 5, 2023
a193a1d
implement comments from review
sloriot Oct 9, 2023
08b25d8
prevent a warning with older versions of TBB
sloriot Nov 2, 2023
bcdc0f9
remove non needed include
sloriot Dec 8, 2023
d620bcd
user manual
sloriot Dec 8, 2023
9ac0ef6
aspell check
sloriot Dec 8, 2023
d75e4f2
Merge remote-tracking branch 'cgal/master' into PMP-BF_autorefine
sloriot Dec 8, 2023
e352f2b
fix doc
sloriot Dec 8, 2023
8d0a047
remote debug code and abandonned alternatives
sloriot Dec 8, 2023
93a1549
used typedef
sloriot Dec 11, 2023
d0c224f
handle some todos
sloriot Dec 11, 2023
07acb78
add tests for autoref
sloriot Dec 12, 2023
10f4caa
add missing ref
sloriot Dec 12, 2023
b267b31
workaround MSVC 2022 bug
sloriot Dec 12, 2023
814a926
remove non needed typenames + missing ref
sloriot Dec 12, 2023
9a944e5
Merge remote-tracking branch 'cgal/master' into PMP-BF_autorefine
lrineau Dec 13, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion Installation/CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Release date: October 2023
- **Breaking change**: The usage of `boost::shared_ptr` has been replaced by `std::shared_ptr`. Packages affected are 2D Straight Line Skeleton and Shape Detection.
- **Breaking change**: The usage of `boost::optional` has been replaced by `std::optional`. Packages affected are 2D Straight Line Skeleton, 3D Fast Intersection and Distance Computation (AABB Tree), and the Kernel intersection.
- **Breaking change**: The usage of `boost::variant` has been replaced by `std::variant`. Packages affected are 2D Arrangements, and the Kernel intersection.
- **Breaking chahge**: The file CMake file `UseCGAL.cmake` has been removed from CGAL. Usages of the CMake variables `${CGAL_USE_FILE}` and `${CGAL_LIBRARIES}` must be replaced by a link to the imported target `CGAL::CGAL`, for example: `target_link_library(the_target PRIVATE CGAL::CGAL)`.
- **Breaking change**: The file CMake file `UseCGAL.cmake` has been removed from CGAL. Usages of the CMake variables `${CGAL_USE_FILE}` and `${CGAL_LIBRARIES}` must be replaced by a link to the imported target `CGAL::CGAL`, for example: `target_link_library(the_target PRIVATE CGAL::CGAL)`.


#### 2D Arrangements
Expand Down Expand Up @@ -45,6 +45,10 @@ Release date: October 2023
- Added the option to use a variable sizing field for `CGAL::Polygon_mesh_processing::isotropic_remeshing()`,
and a sizing function based on a measure of local curvature for adaptive remeshing.
- Added the function `CGAL::Polygon_mesh_processing::refine_mesh_at_isolevel()` that refines a polygon mesh along an isocurve.
- Added the function
`CGAL::Polygon_mesh_processing::autorefine_triangle_soup()` that refines a soup of triangles so that no pair of triangles intersects
in their interiors. Also added, the function `autorefine()` operating directly on a triangle mesh and updating it
using the aforementioned function on a triangle soup.

### [2D Arrangements](https://doc.cgal.org/6.0/Manual/packages.html#PkgArrangementOnSurface2)
- Fixed a bug in the zone construction code applied to arrangements of geodesic arcs on a sphere,
Expand Down
Loading