Skip to content

Move well path visibility into the view, remove global well path checkbox - #14827

Draft
magnesj wants to merge 12 commits into
OPM:devfrom
magnesj:1087-well-path-visibility-into-view
Draft

magnesj wants to merge 12 commits into
OPM:devfrom
magnesj:1087-well-path-visibility-into-view

Conversation

@magnesj

@magnesj magnesj commented Oct 1, 2026 •

Copy link
Copy Markdown
Member

Summary

Implements magnesj#1087 - moves well path visibility control from the global well path collection into each 3D view, and removes the redundant global well path collection checkbox.

Changes

  • Added RimWellPathInView / RimWellPathInViewCollection as a per-view mirror of the well path collection, giving each 3D view (grid views, seismic view, Eclipse contour map view) its own well path visibility checkboxes.
  • Migrated rendering and measurement/linking call sites to use the per-view visibility state instead of the global RimWellPath::showWellPath() / RimWellPathCollection checkbox.
  • Removed the global RimWellPathCollection checkbox (objectToggleField()); the old isActive field is now retained only as legacy migration data, seeding the new per-view checkbox state on first load of older project files.
  • Updated RicHideGridGeometryFeature and other consumers to operate on the active view's well path collection instead of the removed global toggle.
  • Fixed a pre-existing Windows MSVC build break in RimPolygonInViewCollection.cpp (missing RiaViewDefines.h include for RiaDefines::ItemIn3dView), found while rebasing this branch onto latest dev.

Testing

  • Full local build (RelWithDebInfo, ninja): succeeds (1603/1603).
  • ResInsight-featuretests: 504/504 passed.
  • ResInsight-tests: 1182/1182 passed.

magnesj added 12 commits October 1, 2026 15:36
View3dContent and ItemIn3dView are forward declared in Rim3dView.h and RiaViewDefines.h is included only in the .cpp files that use the enum values, so changes to these enums no longer trigger a rebuild of everything depending on RiaDefines.h.
RimGridView and RimGeneric3dView own a RimWellPathInViewCollection that mirrors the global well path collection, shown in the Eclipse, GeoMech and generic view trees. RivWellPathPartMgr hides well paths unchecked in the view, and the generic view bounding box respects per-view visibility. The mirror is resynchronized when well paths are added or deleted.
…eckbox

Prepares for removal of the global well path checkbox: new RimWellPathInView
items are now seeded from the source RimWellPath::showWellPath() value, and
a version-gated initAfterRead migration re-syncs already-existing per-view
items for project files saved before the checkbox is removed.
…iew well path visibility

- RivWellPathPartMgr::isWellPathEnabled/appendStaticFracturePartsToModel: drop the
  legacy global showWellPath() check; rely on the per-view
  RimWellPathInViewCollection, while still honoring the FORCE_ALL_ON/FORCE_ALL_OFF
  project-wide override.
- RimGeneric3dView::computeDomainBoundingBox: same change, keep FORCE_ALL_ON bypass.
- RimWellMeasurementInViewCollection::visibleMeasurementsForWellPath: resolve the
  owning Rim3dView and check its wellPathInViewCollection() instead of the legacy
  per-well checkbox.
…llPath()

- RicExportCompletionsForVisibleWellPathsFeature: use the active view's
  RimWellPathInViewCollection to determine 'visible' well paths, falling back to
  all well paths when there is no active view.
- RimEclipseCase::computeAndGetVirtualPerforationTransmissibilities and
  RimCompletionCellIntersectionCalc::calculateCompletionTypeResult: drop the
  per-case visibility filter entirely and include all well paths with
  perforations/geometry, since these are data calculations rather than 3D-view
  rendering (per-view visibility doesn't apply to a single case shown in
  multiple views).
- RimEclipseCase_exportCompletions (Python export_completions): when no explicit
  well_paths are given, default to all well paths in the project instead of the
  removed global visibility flag.
- RicDeleteSubItemsFeature: drop the 'Delete Unchecked Items' well path branch;
  there is no longer a meaningful global checked/unchecked state to delete by.
The per-well checkbox under the global 'Well Paths' tree node is removed; the
per-view checkbox (RimWellPathInView::m_isChecked) under each view's Well Paths
node is now the only visibility toggle. RimWellPath::m_showWellPath remains as
a hidden field, kept only as a migration source for RimWellPathInViewCollection
when reading old project files.
…sibility

Fix RiaFeatureTestTreeView to set uiConfigurationName to
MainWindow.ProjectTree before building the headless tree, since
RimEclipseCase::defineUiTreeOrdering only adds view children for that
config name. Without it, views (and everything nested under them,
including RimWellPathInViewCollection) were absent from the test tree.
RimGeoMechFaultReactivationResult creates two synthetic well paths and
hides them via the now-inert RimWellPath::setShowWellPath(false). Since
view-level rendering now checks RimWellPathInViewCollection instead,
explicitly hide the well paths in every existing view when they are
created so they do not become visible by default.
The RimWellPathCollection ('Wells' folder) no longer exposes its legacy
'Active' toggle as a tree checkbox. Well path visibility is now controlled
per-view via RimWellPathInViewCollection's own checkbox, matching the
per-well migration already done for issue #1087.

- Remove objectToggleField() override from RimWellPathCollection; keep
  the hidden isActive field only as a migration source.
- Seed the per-view collection checkbox from the legacy isActive value
  when a view's mirror is first created, and migrate older project files
  in initAfterRead, mirroring the per-well pattern.
- Update RivWellPathsPartMgr/RivWellPathPartMgr rendering gates to use the
  active view's wellPathInViewCollection checked state instead of the
  removed global isActive() check.
- Update RicHideGridGeometryFeature to force the active view's well path
  collection checkbox on instead of the removed global toggle.

This branch has not been deployed

No deployments
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.

1 participant