Commit Graph
87 Commits
Author SHA1 Message Date
Kristian Bendiksen 4ed6d70b73 CellFilters: Add case-level Data Filters with per-view wrappers
Introduce RimDataFilterCollection on RimEclipseCase to hold filter
configuration that is shared across all views of the case. Each
RimEclipseView gets a RimDataFilterInViewCollection of
RimDataFilterInView wrappers that auto-sync with the case-level list
and expose an independent on/off toggle per view. The wrapper's
applyToCellVisibility delegates to the wrapped RimCellFilter via the
existing unified virtual, so property, range, and combined filters all
work uniformly.

RimDataFilterCollection is built on caf::PdmObjectCollection<RimCellFilter>
and emits a filtersChanged signal on add/remove/reorder/child changes.
The wrapper collection mirrors RimSurfaceInViewCollection's sync pattern:
new wrappers default to checked, removed sources drop their wrappers,
and the wrapper list follows the case order. Per-view wrappers feed into
RivReservoirViewPartMgr::computePropertyVisibility after the existing
view-level property-filter loop.

The RicNew*Feature commands now route into a selected RimDataFilterCollection,
and the existing combined-filter path is generalized to allow combined
filters living under either a per-view RimEclipsePropertyFilterCollection
or the new case-level collection. Several Asserted ancestor lookups in
RimEclipsePropertyFilter, RimCellFilter and RimEclipseResultDefinition
that assumed a Rim3dView ancestor were relaxed to the non-asserting
variant with graceful fallbacks, so case-level filters can be created
and edited without a host view.

Backwards compatible: empty Data Filter collection is a no-op,
existing per-view RimEclipsePropertyFilterCollection and
RimCellFilterCollection paths are unchanged. GeoMech parity deferred.
2026-05-15 08:37:46 +02:00
Kristian Bendiksen 5ffcb69acc #13126 RiaLogging: Use std::string_view instead of QString for logging 2026-05-08 10:11:09 +02:00
Kristian Bendiksen 88355751a5 Sector export: Hide empty Refinement Regions folder in project tree
Add shouldBeVisibleInTree() to RimRefinementRegionCollection (true only
when at least one region exists) and consult it from
RimEclipseView::defineUiTreeOrdering. Refresh the parent view's
connected editors from addNewRegion, removeRegion, and onChildDeleted so
the folder appears and disappears as regions are added or removed via
the generic delete-item action.

The "New Refinement Region" action remains reachable from the Eclipse
view's context menu while the folder is hidden.
2026-04-29 13:14:49 +02:00
Kristian Bendiksen 9d04f0b122 Sector export: Add refinement regions
Promote sector-export refinement from inline wizard fields to first-class
PDM objects so users can create, edit, and preview refinement regions in
the 3D view before opening the export dialog.
2026-04-29 13:14:49 +02:00
Kristian Bendiksen a0dbbf6cb1 Remove deprecated size_t overloads from RigActiveCellInfo
Migrate all callers to use type-safe ReservoirCellIndex and
ActiveCellIndex wrappers, then remove the deprecated isActive(size_t),
cellResultIndex(size_t), and setCellResultIndex(size_t, size_t) methods.
2026-03-31 12:32:05 +02:00
Magne Sjaastad aa3372efce Add support for Reservoir Grid Ensembles
Introduce RimReservoirGridEnsemble and RimReservoirGridEnsembleBase to manage ensembles of grid-only Eclipse cases. Enable detection of identical grids for shared operations and statistics. Integrate grid ensembles into project structure, UI, and menu system. Refactor statistics and view handling to support both case groups and grid ensembles via a common interface. Add deferred grid loading, robust case referencing, and migration for well data source fields. New features and menu items allow creation and management of grid ensembles from file sets, enabling new workflows for grid-only ensemble analysis.
2026-02-13 14:35:52 +01:00
Magne Sjaastad 303c781341 Remove cell result data API from RimEclipseView
Deleted m_cellResultData field and related methods from RimEclipseView, including UI handling and scriptable access. Also removed cell_result_data.py, eliminating direct scripting access to cell result data.

These functions are supported on a case in functions set_grid_property() and grid_property()
2026-01-20 13:50:27 +01:00
Magne Sjaastad 9851afc621 #2070 AppFwk : Disable default IO for proxy fields
Proxy fields usually reads and transforms data from other sources, usually other Pdm fields. This commit disables IO for proxy fields in the constructor. If XML serialization is required, this must be set on the proxy field, like this

field.xmlCapability()->setIOWritable(true)
field.xmlCapability()->setIOReadable(true)
2026-01-19 16:10:14 +01:00
Magne Sjaastad 4135a743fe Release preparations
* Adds a bounds check on the node index to prevent accessing invalid memory locations.
This prevents potential crashes caused by out-of-bounds access when retrieving summary variable values.
* Updates warning message for incomplete deltas
* Plot based on a single realization from a file set ensemble is not restored correctly on project load
* Populate result addresses if no addresses are present
* Adds CNV_ (convergence) result name
* Avoid include of RiaResultNames.h in header file
2025-08-27 14:22:11 +02:00
Kristian Bendiksen 0da6e3ccb5 Histogram: add data source for ensemble fracture statistics histograms. 2025-07-04 16:57:41 +02:00
Kristian Bendiksen d6b79ae328 Histogram: Update grid statistics histogram when filter changes. 2025-07-04 16:57:41 +02:00
Magne Sjaastad ae8446073b Refactors selection handling for improved code clarity
Modernize the interface to selection system. Create and return data instead of populating incoming parameters.
2025-04-09 07:21:54 +02:00
jonjenssen 41af091511 Change contourmap default name and menu entry
Look for formation names in multiple locations
Skip realizations with missing formation names, if used
2025-03-24 07:53:27 +01:00
Magne Sjaastad c66f4f8158 Fracture Surfaces: Add surface import from VTU/PVD files
Parse VTU files. If element results are detected, duplicate nodes and assign result values to nodes for display.
2025-03-07 10:34:48 +01:00
Magne Sjaastad fe417cf40a #12189 Ongoing 3D interaction for picking points is not working 2025-02-26 15:19:48 +01:00
Magne Sjaastad 3c79f3cbff #12190 Make sure polyline parts are included when dynamic intersection geometry is added 2025-02-25 14:59:16 +01:00
Magne Sjaastad 28d3050433 #11871 Remove simulation well fractures and completion export 2025-02-03 18:19:03 +01:00
jonjenssen b999faf293 Statistics Contourmap UI updates (#12060)
* Enable time step selections and controls in view
* Support loading just what we need for statistics contour maps by using custom reader settings
* Close case once done with it unless there are active views.
* Add selection of user interface case (for result selection, display of wells, faults...)
* Avoid int overflow for nested progresses by using double
* Improve auto naming
* Misc. UI improvements
2025-01-14 21:52:54 +01:00
Magne Sjaastad 0ec9a36406 #11994 Allow property filter to be linked to cell result 2024-12-20 07:37:33 +01:00
Magne Sjaastad 4cf6a26083 Improve draw performance for active cell grid
* Show timing for geoBuilder.generateSurface()
* Check state of element vector result before geometry is created

* Improve performance for isFaceVisible
Avoid calling costly function cell() when possible
Remove check on fault geometry as this does not affect the visualization

* Performance: Avoid traversal of all cells when computing visibility
When we have an active cell grid, we can skip checking for inactive and invalid state.
Use the list of active grid cells when looping through cells.
2024-11-03 13:38:03 +01:00
jonjenssen da683bed9e Move Rig well related things to subfolder and update include statements 2024-10-31 15:08:59 +01:00
jonjenssen 88118ee4e1 Privatize grid cell array 2024-10-29 18:17:31 +01:00
Magne Sjaastad 2befcf6417 Create quick access objects when opening project and some objects
Create quick access for Eclipse view, IJK slice filters and property filters
Create quick access objects for existing projects automatically
2024-10-21 14:11:22 +02:00
Magne Sjaastad 360a635cda Guard null pointer access 2024-09-27 10:38:10 +02:00
Magne Sjaastad 19354ac7b2 Revert "Make sure intersection calculations are done before legend update"
This reverts commit a0997821c6.
2024-09-24 14:49:10 +02:00
Magne Sjaastad a0997821c6 Make sure intersection calculations are done before legend update
The legend categories can be filtered to only visible categories. This requires the geometry generators to do intersection calculations, as the legend is created based on intersected cells.
2024-09-24 07:45:10 +02:00
Magne Sjaastad c65e15fad1 #11693 Add enum to control zoom operation when case is changed 2024-09-19 13:54:23 +02:00
Magne Sjaastad 9d66e6195e Release adjustments
* Use appendMenuItems instead of ContextCommandBuilder
* Specify RimEclipseCaseCollection menu features once
* Add function to enable up/down arrows for combo box
* Guard crash when closing project
* Improve UI for grid case ensemble
- Create a view for the first case in the ensemble
- Show case name in view title
- Enable up/down buttons to Eclipse case
* Make sure 3D views in grid ensemble are created on project load
2024-09-16 09:49:22 +02:00
Magne Sjaastad 1f80503f01 #9405 Update window title when required 2024-09-14 17:28:04 +02:00
Magne Sjaastad f4da2d748f #11693 Store camera position for each associated case
A top level view can change the connected grid case. Add option to store the camera position for each grid case. Add option Store View Settings for Case , default off.
2024-09-13 15:06:32 +02:00
Magne Sjaastad 0d48c7d5b7 #11515 Show Eclipse data source on top in Property Editor 2024-06-19 07:45:51 +02:00
Kristian Bendiksen ade044adbf Grid Ensemble: add methods to add view 2024-04-17 14:34:36 +02:00
Kristian Bendiksen 39b9a25faa Fix update of grid nodes. 2024-04-15 16:10:43 +02:00
Kristian Bendiksen ce6199289f Show case option when not in the tree. 2024-04-15 16:10:43 +02:00
Kristian Bendiksen b5666c333a Refactor connection between cases and views.
Eclipse grid views and contour maps are not longer a child of the case.
The views are not separate collections (one for grid and one for contour maps)
on root level.
2024-04-15 16:10:43 +02:00
Kristian Bendiksen c074033dc2 Refactor: Fix misspelling of "synchronize". 2024-04-05 13:55:09 +02:00
Magne Sjaastad 818c5c0f9c Add polygon file readers and make sure UI items are in sync
* Add polygon reader for POL file format
* Add CSV import
* Add helper function to create tag with color and text
* Show polygon color as tag, allow color edit by clicking on tag
* Support optional header in csv file
* Add Reload on polygon file
* Show warning icon if no polygons
* Improve logging text
* Do not show file polygon in view if no polygons are imported
* Use appendMenuItems
* Set default polygon color to orange
* Enter edit state when creating a new polygon
* Fix missing UI text in menu builder
2024-03-01 14:59:14 +01:00
Magne Sjaastad a3d520e26e Use project polygons from polygon cell filter
* Use RimPolygonInView to edit locally defined polygon
* Add scaling to polygon in view
* Move polygon line visualization to RimGridView
* Rename to polygonInViewCollection
* Show appearance for local polygon
2024-02-22 15:13:29 +01:00
Magne Sjaastad 8fe82423ae Display polygon project items if RiaApplication::enableDevelopmentFeatures() is defined 2024-02-16 15:51:19 +01:00
Magne Sjaastad 5fdf30d124 Add polygon classes 2024-02-16 15:51:19 +01:00
Magne Sjaastad ce513be638 Remove all use of .uiCapability()->setUiTreeHidden( true ); 2024-02-05 10:15:36 +01:00
Kristian Bendiksen 78544f5c70 #6051 Fix crash when pasting intersection on another eclipse case.
Fixes #6051.
2023-11-17 12:47:34 +01:00
Magne Sjaastad 4da4a222ca Add optional Eclipse case as data source in a view
This option makes it possible to look at data from other cases without creating one view per case.
2023-11-07 19:14:58 +01:00
jonjenssen bd7f34f835 Fault Reactivation Modeling updates (#10602)
* Add timestep selection
* Add import geomech model to context menu
* Add command for running fault reactivation 
* Change order of nodes for exported elements
* Add command to quickly show model in 3D view
2023-09-14 08:29:28 +02:00
jonjenssen 32326bfa9b Add fault reactivation modeling 2023-09-06 13:51:59 +02:00
jonjenssen 2172199999 Add seismic 3d view (#10472)
* Show seismic, surfaces, annotations and wellpaths in new view not requiring a grid loaded first.
2023-08-07 16:35:59 +02:00
Kristian Bendiksen 5bf2c2a89d #10367 Janitor: Remove unneccessary 'this' pointers 2023-08-07 13:38:27 +02:00
jonjenssen 17f09878d2 Enable filters for curve intersections (#10329)
* Enable cell filters
* Enable property filters
* Clean up fault collection interface and use similar setting for controlling filters as in intersection collection
* Enable cell/property filters on geomech intersections
* Enable cell and property filters for box intersections
2023-06-05 07:33:04 +02:00
Magne Sjaastad 0c90f67dcc Change API for PdmObjectHandle and PdmFieldHandle
* Refactor interface to PdmObjectHandle and PdmFieldHandle
Return objects instead of passing in structures as parameters

* Add nodiscard to several functions
* Remove redundant this->
* Rename to ptrReferencedObjectsByType
2023-05-12 21:41:34 +02:00
jonjenssen dea931cb25 Hide seismic section folder in views if no seismic data is loaded 2023-04-21 20:19:34 +02:00