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 triangular mesh support and octree acceleration #1057

Draft
wants to merge 14 commits into
base: develop
Choose a base branch
from

Conversation

a-l-demelo
Copy link

Adds support for STL triangular meshes, thanks to @mxxo. Also adds octree acceleration to the implementation, similar to egs_mesh, thanks to @a-l-demelo.

There is still an outstanding bug in the mesh code, so do not expect correct results yet. This is a draft pull request.

mxxo and others added 14 commits January 8, 2023 19:38
Instead of a less-than comparison of the minimum interior and exterior
distances, less-or-equal is required to correctly implement isWhere.

Rays intersecting the mesh exactly on the corner can lead to a case
where the minimum interior distance and minimum exterior distance are
equal. If this occurs, it should be counted as outside the mesh,
otherwise, extra dose is wrongly attributed to the mesh region.
This will be extended in future commits to a full octree.
Adding the octree accelerated version of the howfar, iswhere and hownear geometric egs methods.
Several previously unnoticed bugs have been fixed:
1) enveloppe bug fix improved by adding infinitesmal amount (1e-08) around dist=0
2) corrected bug where not all triangles would be added to any suboctant, which is a problem since they must be contained in at least one suboctant if they are contained in the octant
Also, left some debugging outputs listing the number of geometric checks on a triangle by a given method for both the naive and octree accelerated case (changes to application, genveloppe and gtransform are simply to be able to output these at the end of the simulation and will be removed in a future commit)
@a-l-demelo a-l-demelo requested a review from a team as a code owner August 25, 2023 18:26
@rtownson rtownson added improvement work in progress Work in progress, don't merge yet labels Aug 25, 2023
@rtownson rtownson self-assigned this Aug 25, 2023
@rtownson rtownson marked this pull request as draft August 25, 2023 18:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
improvement work in progress Work in progress, don't merge yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants