-
Notifications
You must be signed in to change notification settings - Fork 35
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
Extend BIH capabilities for intersection operations #1479
Extend BIH capabilities for intersection operations #1479
Conversation
Test summary 3 901 files 6 012 suites 4m 13s ⏱️ Results for commit acc261d. ♻️ This comment has been updated with latest results. |
ed047f4
to
c768aa4
Compare
c768aa4
to
089bde7
Compare
@sethrj this is ready. Probably better to review this one first, then I will do the vol_id + others one. |
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.
Still working on this, but gotta take the day off and here's what I have so far.
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.
One final comment is to consider whether it would be better to split this class into class BihIntersectFinder
and template<class F> class BihIntersectingVolFinder
, which I think would have a more sensible interface. (If we do that we should also add a note in BIHEnclosingVolFinder
that we could update its interface in the future since I know that's what we based this on.)
@sethrj this is ready for another look. I don't understand what you mean by splitting this into |
I just mean this as an implementation detail: half the functions are templated on F (which is probably better as a class template parameter) and the other half aren't (so they probably shouldn't be part of a templated class). One solution would be to move the non-templated to an "implementation base class" and then template the class on F. |
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.
Looks good after you add the last min_dist
and change double
to real_type
. Thanks!
This MR creates the
BIHIntersectingVolFinder
class which is used to find the surface that a ray intersects with first, and the corresponding distance to this surface. This is done using a traversal strategy that is distinct fromBIHEnclosingVolFinder
, as is documented in their respective top-level doc strings. In a subsequent MR, this will be "hooked up" for use in background volumes.