-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Parallel overlap checking with staged workflow #20963
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
Merged
Merged
Changes from all commits
Commits
Show all changes
20 commits
Select commit
Hold shift + click to select a range
20aeacd
[geom] Legacy overlap checker now independent wrt checking order.
agheata fcfca6e
[geom] Rebuild touched voxels before checking overlaps.
agheata 6107f8f
[geom] Remove typos in CheckGeometry.
agheata 5a9badc
[geom] Correction for TGeoChecker::SamplePoints.
agheata 54235b9
[geom] Overlap checking now split in an enumeration phase and a paral…
agheata 422c3e5
[geom] Implemented IsConvex checks for all shapes.
agheata ce4989e
[geom] Implemented general oriented bounding box (OBB) intersection u…
agheata 7863a80
[geom] Expose candidate counters from EnumerateOverlapCandidates.
agheata 203b1e4
[geom] Activated OBB checks in overlap checking, including in assembl…
agheata e1dafd9
[geom] First implementation of parallelism in CheckOverlaps.
agheata d9854c2
[geom] Fixed legacy TGeoShape::GetPointsOnSegments implementations an…
agheata cbeb3af
[geom] Minor printout adjustments.
agheata 63d2856
[geom] Implemented internal mesh point caching invalidation for compo…
agheata 04943d9
[geom] Documented CheckOverlaps similar to other utilities in TGeoChe…
agheata 9815ba7
[geom] Added explicit dependency of Geom on Imt.
agheata b37881f
[geom] Added missing TGeoOverlapCandidate.h
agheata 03e59a5
[geom] Protect parallel checking for no IMT available.
agheata d828cb6
Use explicit ROOT units in extrusion test.
agheata 793c33b
[geom] Print failure trace for the extrusion test.
agheata cf4af72
Fixed copy constructor for TGeoHMatrix.
agheata File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,44 @@ | ||
| // @(#)root/geom:$Id$ | ||
| // Author: Andrei Gheata 05/01/26 | ||
|
|
||
| /************************************************************************* | ||
| * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * | ||
| * All rights reserved. * | ||
| * * | ||
| * For the licensing terms see $ROOTSYS/LICENSE. * | ||
| * For the list of contributors see $ROOTSYS/README/CREDITS. * | ||
| *************************************************************************/ | ||
|
|
||
| #ifndef ROOT_TGeoOverlapCandidate | ||
| #define ROOT_TGeoOverlapCandidate | ||
|
|
||
| #include "TBuffer3D.h" | ||
| #include "TString.h" | ||
| #include "TGeoMatrix.h" | ||
| class TGeoShape; | ||
| class TGeoVolume; | ||
|
|
||
| // Lightweight description of a single overlap/extrusion check to perform | ||
| struct TGeoOverlapCandidate { | ||
| TString fName; ///< display name | ||
| TGeoVolume *fVol1 = nullptr; ///< first volume | ||
| TGeoVolume *fVol2 = nullptr; ///< second volume | ||
| TGeoHMatrix fMat1; ///< matrix for first volume | ||
| TGeoHMatrix fMat2; ///< matrix for second volume | ||
| Bool_t fIsOverlap = kTRUE; ///< kTRUE=overlap, kFALSE=extrusion | ||
| Double_t fOvlp = 0.0; ///< threshold for "illegal" | ||
| }; | ||
|
|
||
| // Output of the numerical check (no ROOT object allocation inside) | ||
| struct TGeoOverlapResult { | ||
| TString fName; ///< display name | ||
| TGeoVolume *fVol1 = nullptr; ///< first volume | ||
| TGeoVolume *fVol2 = nullptr; ///< second volume | ||
| TGeoHMatrix fMat1; /// matrix for first volume | ||
| TGeoHMatrix fMat2; /// matrix for second volume | ||
| Bool_t fIsOverlap = kTRUE; ///< kTRUE=overlap, kFALSE=extrusion | ||
| Double_t fMaxOverlap = 0.0; ///< overlap distance found | ||
| std::vector<std::array<Double_t, 3>> fPoints; ///< up to N points (e.g. 100) | ||
| }; | ||
|
|
||
| #endif // ROOT_TGeoOverlapWorkState |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.