Fast mesh-to-mesh intersection and mesh self intersection without CGAL#2109
Fast mesh-to-mesh intersection and mesh self intersection without CGAL#2109alecjacobson merged 7 commits intolibigl:mainfrom
Conversation
|
@alecjacobson Hello, is there I should do to make this pull request pass Windows build ? |
|
Is it just timing out? I haven't seen this issue before. @jdumas do you recognize it? |
|
It may be just a transient issue. I've restarted the failed jobs, fingers crossed... If this happens repeatedly we'll need to investigate more closely. |
|
Something seems seriously wrong on windows. It should not take 6 hours to build on windows. (using two make threads didn't help: #2163). It seems like the |
|
I don't see any reasons why those macros cannot be inline functions, or just regular functions anyway (I doubt it'll make a difference in perfs, but you'd need to measure). In any case, if someone wants to spend time investigating slow compile times on MSVC, @aras-p has some cool blog posts about it here and there. One can also try the newer flag /timetrace. |
…ion for fast detection of mesh self-intersections and mesh-to-mesh intersections withoug CGAL
862f54f to
c183818
Compare
|
I replaced macros with proper c++ |
c183818 to
dce9478
Compare
dce9478 to
24289b8
Compare
alecjacobson
left a comment
There was a problem hiding this comment.
This looks good but as a final thing I'd like to standardize the file/function names a bit.
- file names
Guigue2003_tri_tri_intersect.{h,cpp}→tri_tri_intersect.{h,cpp}to match the functions within - include paper name for Guigue2003 in header.
fast_find_mesh_intersect(files and functions) →fast_find_intersectionsfast_find_mesh_intersect(files and functions) →fast_find_self_intersectionstests/include/igl/XYZ.cpp[XYZ] should match theinclude/igl/XYZfunction being tested.723_ShowSelfIntersections→ -723_FastFindSelfIntersections723_ShowIntersections→ -723_FastFindIntersections
Thanks!! This is a really cool thing and will be a great feature in the upcoming new release
|
|
||
| /* | ||
| * | ||
| * C++ version based on the routines published in |
There was a problem hiding this comment.
Might be worth mentioning that this code is under MIT license, according to this repository (and the original code can be grabbed from this folder, since the original web page shows a 404 error).
There was a problem hiding this comment.
I added a reference to the original repository and copy of the original license.
7b85470 to
f77dacc
Compare
added reference to the original license for tri_tri_intersect
f77dacc to
7d9e7ab
Compare
I implemented these changes in the last commit. |
Added code for fast triangle-triangle intersection checking and function for fast detection of mesh self-intersections and mesh-to-mesh intersections without CGAL.
Triangle-triangle intersection code is based on https://github.com/erich666/jgt-code/blob/master/Volume_08/Number_1/Guigue2003/tri_tri_intersect.c
Functions for fast mesh self-intersection detection and mesh-mesh intrersections is using AABB and triangle-triangle intersection functions.
I added unit tests for mesh-mesh intersection and mesh-self intersection.
Also added two tutorial programs.
Checklist