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

Improved overlap checker #35

Draft
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

Waqar-ukaea
Copy link
Contributor

@Waqar-ukaea Waqar-ukaea commented Dec 18, 2024

Draft PR to add an algorithm for checking overlaps along geometry edges to the overlap checker tool.

Current state:

  • Loops over all triangles and fires rays from every triangle vertex fires a ray along the edge checking for an intersection with a surface belonging to a volume that is not the parent volume of the triangle. This works and correctly identifies intersections where I would expect. However...
  • There are additional intersections detected from rays that are launched from one volume and collide with another volume (as they are not stopping at the boundary of the volume they are launched from) leading to intersections on the other volume (see image below).
  • Perhaps the extra intersections are inevitable due to the way rays travelling along surfaces are handled but I would need a way to isolate the intersection points of interest (where the edges overlap) - not sure how I would do this just yet.
    Screenshot from 2024-12-18 16-50-05
  • Explicitly refers to elements as triangles - should probably change variable names to reflect generic elements. In theory this shouldn't require any logic changes just nomenclature.
  • By default the overlap-check tool will only check for overlaps on vertices but edge checking can be enabled by passing flags -e or --check-edges at runtime.
  • Lots of extra fluff in writing things out to files and stdout which needs to be removed before merging into main.
  • Missing a progress bar.
  • Missing support for openmp parallelism over the new algorithm.
  • Added skeleton for an additional test in the overlap checker tests. This currently doesn't test for anything but is in place ready for once I am happy with the edge algorithm for the overlap checker. The test relies on the geometry added in PR#3 for the xdg_test_files repo.

@pshriwise
Copy link
Owner

I updated the test files submodule here and included the symbolic link line for the test in the CMakeLists file. I'll do a more thorough review soon if you feel like this is ready to go @Waqar-ukaea

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants