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 CGAL::Surface_mesh support #13653
Conversation
738f207
to
591a201
Compare
5b5530d
to
4864299
Compare
@@ -0,0 +1,4 @@ | |||
New: Added function CGALWrappers::to_cgal_mesh() to convert a deal.II cell |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would merge the change-log entries so that the major one lists all the features that can be used.
// | ||
// --------------------------------------------------------------------- | ||
|
||
#ifndef dealii_cgal_surface_mesh_h |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A general comment (not just related to this library): I think we should consider to not make these folders a top level folder but rather move them into subdirs (here into grid
). The same holds also for arborx
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But CGAL does other things in addition to "grid". It also handles point clouds, bounding boxes of trees, etc. Don't you think it makes sense to keep features related to an external library in their own directory when this is the case (e.g, sundials, opencascade)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But CGAL does other things in addition to "grid". It also handles point clouds, bounding boxes of trees, etc.
I see. It seems we have now too many options to do the same thing ;) Does CGAL work in the distributed setting?
Apart from that I would very much prefer if external libraries where we only provide wrappers (incl. sundials) would not be in the main deal.II include
directory but in a 3rd party library. But I guess I am too late for such wishes...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see your point. If it makes you feel better, there will be also functions like
const Quadrature<spacedim> compute_intersection(Tria::cell_iterator, OtherTria::cell_iterator)
that internally use CGAL. This is not a wrapper, strictly speaking... where would you prefer these functions to be?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(all the types there are native dealii types)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
fe0a87c
to
647c05e
Compare
@peterrum Thanks for the review. I addressed some of your comments. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left some minor comments. Good to go, once the other PR is merged!
07cdfb3
to
50ae8d4
Compare
@peterrum, I think we have addressed all your comments. |
/rebuild |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good to go, once you have rebased!
// | ||
// --------------------------------------------------------------------- | ||
|
||
#ifndef dealii_cgal_surface_mesh_h |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
|
This is failing with bundled boost. This header is missing. I'm adding it to our bundled boost.
|
Also, @peterrum, shall we rename the functions to be more verbose also here? Something like |
Sounds good 👍 I guess we will have at some stage functions that work in the opposite direction? |
Yes, I'm working on it right now! @peterrum |
50ae8d4
to
f56fd40
Compare
f56fd40
to
aafc7e0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK from my side once the compilation issue has been sorted out!
I need help with the Here are the issues:
I think I need @tamiko's help here. For users' codes, I do
In the
some versions do, and some don't have the Any ideas? |
@peterrum, for the moment I fixed the compilation by requiring a newer version of CGAL. In a followup PR I will update the simplex runner to 20.04 (20.04 ships with CGAL 5). Is there a reason for having it 18.04 in the first place? |
It used to be that all linux runners used 18.04. But recently we switch one to be able to test C++20: #13535 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's go ahead. @luca-heltai Could you open an issue to track the described problem.
Depends on #13644
This is intended to work in 2d and 3d, and allows to convert a dealii cell to a CGAL::Surface_mesh