#14439 Create 2D intersection views for views in a grid ensemble - #14440
Draft
magnesj wants to merge 1 commit into
Draft
#14439 Create 2D intersection views for views in a grid ensemble#14440magnesj wants to merge 1 commit into
magnesj wants to merge 1 commit into
Conversation
Rim2dIntersectionViewCollection::syncFromExistingIntersections() found the intersections by walking the PDM child tree of the case. Views located in a grid ensemble view collection or in the project level view collection are not children of the case, so no 2D intersection view was created for their intersections and "Show 2D Intersection View" did nothing. Collect the intersections from the grid views displaying the case instead. Display the 2D intersection views as a child of RimReservoirGridEnsemble, next to the 3D views they are created from, and skip the node on the case to avoid showing the same object twice in the project tree.
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fixes #14439
Problem
Rim2dIntersectionViewCollection::syncFromExistingIntersections()collected the intersections to create 2D views for by walking the PDM child tree of the case:This only works when the 3D view is a child of the case. Views located in
RimReservoirGridEnsemble::m_viewCollection,RimEclipseCaseEnsemble::m_viewCollectionorRimOilField::eclipseViewCollectionare not, so noRim2dIntersectionViewwas created,RimExtrudedCurveIntersection::correspondingIntersectionView()returned nullptr and "Show 2D Intersection View" did nothing. This is also the root cause of the crash in #14379, which was only guarded against infebea598dc.Changes
Rim2dIntersectionViewCollectiongridViewsForCase()starts fromRimCase::gridViews()and adds the views of the owningRimEclipseCaseEnsemble/RimReservoirGridEnsembleview collection, filtered onownerCase().RimReservoirGridEnsembledefineUiTreeOrdering()placing the non-empty "2D Intersection Views" collections of the member cases directly under the ensemble, right after "Views". Only active forMainWindow.ProjectTree, other tree configurations keep the default children.RimEclipseCasem_2dIntersectionViewCollectionunder the case node when the case belongs to aRimReservoirGridEnsemble, to avoid showing the same object twice in the project tree.Not addressed
RimEclipseCase::reservoirViews()still does not report views located in an ensemble view collection, soRimCase::views()andRimProject::allViews()remain incomplete for ensemble views. Fixing that would likely repair this and other features at once, but is a considerably broader behavioural change.Draft: builds clean and the unit tests pass, but the tree placement and the "Show 2D Intersection View" action have not been verified interactively on an ensemble project yet.