Commit Graph

88 Commits

Author SHA1 Message Date
Magne Sjaastad
06b5c9afbf
Adjustments for release
* Add notification of parent object when multiple objects are updated

* Make sure unchecked curves are removed from track

* Use object names instead of "Sub Items" when possible

* Set default simulation well visualization to top of reservoir

* Show plot window after plot is created

* Allow setting plot rendering flags

* Add more plots for update when clicking in 3D view

* Seismic Difference: Fix typo for poly line data extraction

* Version RC_5
2023-06-16 09:27:35 +02:00
Jørgen Herje
2639c7172f
Fix bug in color mapping when changing mapping mode for Tables
* Fix color mapping and ticks in table legend
- For Summary and WellConnectivity
- Add range types: automatic and user defined
- Remove category from mapping type
- Add closest to zero for correct logarithmic scale
---------

Co-authored-by: Magne Sjaastad <magne.sjaastad@ceetronsolutions.com>
2023-06-12 15:44:39 +02:00
Magne Sjaastad
76102a8396
Maintenance issues
* Improve toggling of checked state of sub items
Toggling state is only supported for objects in an array. For example, this will ensure that faults are toggled without altering the fault result object.

* Use gray instead of black for icons

* #9719 Use delete instead of deleteLater to avoid visual artifacts
Artifacts are seen in the Property Editor related to obsolete group boxes. This seems to be related to deleteLater().

* Improve text in menu when toggling sub items

* #10011 Make sure all grid cases are visible in RFT data source

* #10354 Show more info when hovering on curves in summary plot

* #10355 Copy model text info in 3D view to clipboard

* Make sure cell filter option is propagated to new field
Make sure the previous value of  m_showFaultsOutsideFilters_obsolete is propagated into m_applyCellFilters

* Fix wrong spelling when using of stylesheet color
2023-06-06 15:45:54 +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
40080a99de
9978 Improve UI for long drop-down lists, use tree selection more
* Improve tree selection editor
- always call defineEditorAttributes
- use heightHint in editor attributes 
- use tree selection editor as default editor for std::vector

* Use tree selection editor instead of list selection editor
List selection editor must be used when editing std::vector<cvf::vec3d> and similar. Replace other use of list selection editor with tree selection editor.

* Set checked state based on text string for integer only models
For models with only integer values, use text string to define the items to be selected. The full list will always be visible, and the checked state will be updated when editing the filter text.

Example: "1, 5-7" will set items 1, 5, 6, 7 checked and all other items unchecked

* Minor fixes
- Set placeholder text after content is added (to ensure correct data type)
- Fix check of integers. `canConvert<int>()`returns true for both QString and int. Thus convert to string and then check for int conversion.

* Activate filtering when unchecking all items in list with only integers
- Reactivate filtering when uncheck of all items for a list with only integer values (to keep consistency between filter and list)
- Update function name for clarity

---------

Co-authored-by: Jørgen Herje <jorgen.herje@ceetronsolutions.com>
2023-05-22 15:44:37 +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
Magne Sjaastad
5ee764af48
Refactor result definition 2023-05-11 08:37:58 +02:00
Jørgen Herje
342f191288
Add filtering/exclude of rows in SummaryTable (#10193)
- Add selector for excluding rows in table
- Row selection is based on category, vector, threshold
- Move data containers to utils class
- TreeSelectionEditor: Add context menu to invert selection
- Improved naming of menu items
- Guard plotDefinition before connect signal/slots

---------

Co-authored-by: Magne Sjaastad <magne.sjaastad@ceetronsolutions.com>
2023-05-02 11:18:45 +02:00
Magne Sjaastad
b7f8d0e0f1
Increase warning level
* Set warning level to /W3 for MSVC to catch more warnings
* remove several excluded checks for clang
* removed several unused variables
* Hide warnings qwt
* add missing parentheses in logical expressions
* Remove double check on same logical expression
2023-04-17 15:57:39 +02:00
Jørgen Herje
0f0cc4c5a8 Implement doRenderWindowContent
Note: Not tested!
2023-04-17 14:50:53 +02:00
Jørgen Herje
cfca0ac665 Guard -1 for timeStepIndex
- Guard -1 from getTimeStepIndex
- Guard indexes < 0 in general usage
2023-04-17 14:50:53 +02:00
Magne Sjaastad
6f6dc80bc6
Added more clang-tidy checks
Improved GitHub Action to run clang-format as part of clang-tidy

* Simplify clang-tidy workflow
* Added modernize-use-using, modernize-redundant-void-arg, readability-static-accessed-through-instance
* Add nolint for libecl typedefs
2023-04-14 14:07:45 +02:00
Jørgen Herje
457dc9080f
Refactor classes in RigWellResultPoint.h
* Move RigWellResultFrame implementation into separate file
Update/correct includes accordingly

* First step of moving attributes from public to private
- Move public members to private and create interface
- Single public member remains due to strong dependency on usage of reference and reference to its object public members

* Second step of moving attributes from public to privatee
- Remove usage of reference directly to attributes. Interface with copy and set.
- Moving attributes in RigWellResultFrame and RigWellResultBranch

* Move class RigWellResultBranch into separate file
2023-04-14 11:00:45 +02:00
Jørgen Herje
7427e7b6e9 Fix tracer selection issues 2023-04-14 08:32:17 +02:00
Magne Sjaastad
952e766c2f
Update clang-format.yml (#10068)
* Update to clang-format-15
Removed two custom .clang-format files in subfolders of AppFwk

* Fixes by clang-format
2023-04-13 07:05:53 +02:00
Jørgen Herje
c40b400346
Improve filtering by 3D view for Producer/Injector Connectivity Table (#10027)
- Calculate by visible cells: Calculate flow diag by use of visible cells in 3D view (already existing functionality).
- Filter producers: select producer wells based on visibility in 3D view. Synch connected injectors - even if they are not visible in 3D view.
- Filter injectors: select injector wells based on visibility in 3D view. Synch connected producers - even if they are not visible in 3D view.
2023-03-31 10:04:17 +02:00
github-actions[bot]
d9ba01b927
Fixes by clang-tidy 2023-03-23 07:11:24 +01:00
Jørgen Herje
4f73995947 Use use CoboBoxDown/Up svg icons 2023-03-22 15:52:54 +01:00
Jørgen Herje
a42a17bf10 Add icon and hide children in tree for Well Connectivity Table 2023-03-22 15:52:54 +01:00
Jørgen Herje
0fcbba6795 Add icon for WellAllocationOverTimePlot 2023-03-22 15:13:19 +01:00
Magne Sjaastad
911f260d0f Improve robustness of well flow calculator 2023-03-21 18:48:55 +01:00
Jørgen Herje
535811cc4f
Producer/Injector Connectivity Table (#9928)
- Crated new RimMatrixPlotWidget to show table data
- Create RimWellConnectivityTable for showing Producer/Injector connectivity table data
- Rename RimWellAllocationOverTimeCollection to RigWellAllocationOverTime for well allocation over time data storage
- Created heatmap color palette
- Move utils from RimWellAllocationOverTimePlot to RiaQDateTimeTools
- Create RimFlowDiagnosticsTools for producer/injector well utility functions


---------

Co-authored-by: jorgenherje <jorgenherje@users.noreply.github.com>
2023-03-21 08:32:38 +01:00
Magne Sjaastad
09c04cbcd0
Improve RFT reader performance
* #9963 Rft reader: Search for DATA file when required
WSEGLINK is used to establish the branch topology for MSW wells. Search and read WSEGLINK data when segment data is requested by the user. This can be a time consuming operation.
Avoid doing this search for standard RFT plots.

* Make sure that single summary curves are displayed correctly
* Make sure single summary curves are visible in the plot
2023-03-14 13:14:40 +01:00
Magne Sjaastad
527743a845
Adjustments for release
* Make sure text for multiple wells in same grid cell is displayed correctly
* Improve selection of result in Advanced Snapshot Export
* Restore the main window that was on top when project was saved
* Trim string to make sure '/' is exported with no space in front
* #9872 RFT-plot: Make colors stable for curves in RFT plots
* Set version to RC_02
2023-03-09 08:54:28 +01:00
Magne Sjaastad
c248c9fb57
RFT segment plot adjustments (#9912)
* Delete RFT plot when associated case is deleted
* Rename
* Hide track/curves with no data
2023-03-06 14:34:22 +01:00
Magne Sjaastad
d2f435c00a
Improved simulation well visualization
* Move members to private in RigWellResultPoint
* Create simulation well path geometry using well topology
* Add separate MSW well pipe centerline computations
* Review comments

---------

Co-authored-by: magnesj <magnesj@users.noreply.github.com>
2023-02-28 16:06:37 +01:00
Magne Sjaastad
f8c5cf389f
clang-format: Set column width to 140
* Set column width to 140
* Use c++20
* Remove redundant virtual
2023-02-26 10:48:40 +01:00
Magne Sjaastad
345095185e #9859 PLT plot: Fix missing LAS data for regression test 2023-02-17 12:52:06 +01:00
Jørgen Herje
b1e94adffd Change to point to point for Accumulated Flow Volume Percentage 2023-02-06 14:00:05 +01:00
Magne Sjaastad
b9f6662126 #9771: Guard nullpointer access 2023-02-01 13:44:06 +01:00
Magne Sjaastad
234719aea3
Improve RftPlt data source objects (#9769)
Move AppEnum init to RifDataSourceForRftPlt
Simplify constructors for RifDataSourceForRftPlt
Rename enum names in RifDataSourceForRftPlt::SourceType
Add missing pressureDepthData in RimDataSourceForRftPlt
2023-01-30 11:12:26 +01:00
Bård Skaflestad
6eebd01bd4 Look Up Time Step Object Exactly Once
Using .contains() followed by .at() with the same argument will
perform the same map lookup twice.
2023-01-27 11:52:06 +01:00
Magne Sjaastad
62ce2b18e0
RFT improvements
* Avoid accessing nullptr
* remove unused function
* Allow RFT data from single summary case to be used in RFT plots
* #9736 Support horizontal plotting of LAS curves
2023-01-27 10:29:11 +01:00
Jørgen Herje
e3a347ccaa Invert default isCurveHighlightSupported flag for RimPlot
- Make default flag = false, thus highlighting must be activated
- To prevent unwanted logic for new RimPlot objects
- Activate highlighting for RimSummaryPlot, RimVfpPlot and RimCorrelationMatrixPlot
2023-01-27 07:14:40 +01:00
Jørgen Herje
8aff5b4694
Well Allocation over time adjustements (#9738)
- Add font size settings
- Move legend to right side of plot
- Set default selected time steps to time step count = 10
- When excluding time steps, duplicates rates from next valid time step onto excluded time steps
- Allow time step selection "Show all time steps" or "Time step count" for subset of time steps
- Allow excluding on the active set, i.e. all or subset, of time steps
2023-01-26 10:56:42 +01:00
Kristian Bendiksen
1eac9f8a1f #9620 Pressure/depth data: add user interface. 2023-01-19 09:00:05 +01:00
Magne Sjaastad
abc9e82ff5 System: Enable and use c++20
Enable c++20 in top level cmake. Keep c++17 for GrpcInterface, as the protoc tool does not work with c++20.
Several code adjustments to fix compiler issues.
2023-01-19 08:33:02 +01:00
Jørgen Herje
95202ad36a
Well allocation over time plot (#9655)
- Plot for showing well allocation over time. 
- Select time range
- Option to exclude time steps in selected range
- Possible value types: Flow rate, flow rate percentage, flow volume, accumulated flow volume, accumulated flow volume percentage
- Group small contributors into group "Others"
2023-01-18 09:18:00 +01:00
Magne Sjaastad
09e05e9996
Fix summary issues
* Add missing time conversion for month
* #9606: FIx wrong usage of function when accessing data from summary file
The result values are aggregated into the destination vector in RimSummaryCaseCollection::computeMinMax(), so make sure the vector is recreated per case.
* #9602 : Make sure the plot is updated correctly for "Time since simulation start"
* Move roundToNumSignificantDigits() to RiaNumericalTools
* Make sure the time axis is consistent when individual time range differs
2023-01-02 10:22:44 +01:00
Magne Sjaastad
5ec32f8613
Update text for curve names and plot titles when source data changes
* Update titles after dropping vectors into plot
* Do not replace _Name variables
* Make sure signals are wired when opening a project file
* Add auto name field and set default on
* Remove includes from header files
2022-12-09 08:46:36 +01:00
Magne Sjaastad
493531626f
Rft segment plot adjustments
* #9371 RFT Curves: Add scaling factor
* Make sure isUsingAutoName is guarded by project file date
* Rearrange font and legend group in property editor
2022-10-19 15:13:15 +02:00
Magne Sjaastad
1d23e8f5c9
Show packer in RFT topology track
* Show packers in topology track
* Support optional display of property axis values
* Add legend item clickable option to RimPlotWindow
2022-10-13 13:03:55 +02:00
Magne Sjaastad
e7a486c802
Improve curve naming for plot and use in RFT segment plots
* Improve plot naming for depth track plots
* Move template text replace to string tools
* More data available for object template text
* Set plot visible and define default object name template text
2022-10-12 12:41:08 +02:00
Kristian Bendiksen
921c90beea
#9280 Fix missing horizontal error bars
* #9280 Fix missing horizontal error bars.
The x axis was not assigned properly for the error bars in the plot curve.
* Propagate error bar visibility state
2022-09-09 13:57:47 +02:00
Magne Sjaastad
7f78cb8c89
Fix some smaller issues
* #9253 Well allocation plot: Keep checked state of curves when changing time step
* #9254 Guard pointer when clicking on linked time axis icon
* #9250 Cross Plot : Ensure summary case change update both x and y data sources
2022-09-01 07:50:40 +02:00
Magne Sjaastad
4cd38d7daf
Simplify access to RimMainPlotCollection
* Add current() to RimMainPlotCollection to avoid include of RimProject
* Remove "segment" prefix
* Reload data when RftCase changes
2022-08-19 14:30:25 +02:00
Magne Sjaastad
506bfbd638
Remove control flag in setCollapsedByDefault
* Remove control flag in setCollapsedByDefault
* Set regions/annotations collapsed by default
2022-08-19 14:18:36 +02:00
Magne Sjaastad
f102a8b249
Improve annotations to work in both vertical and horizontal plots (#9154)
* Move enums to RiaPlotDefines.h
* Add support for formation names shading in horizontal plots
* Refactor line property code
* modernize code
2022-08-05 13:14:58 +02:00
Magne Sjaastad
a86abab3cb Regression Test: Guard null pointer access 2022-06-27 19:25:27 +02:00
Magne Sjaastad
62cf62b9a2
Improve UI for RFT segment curves (#9061)
* Make sure all curve values are set correctly for plot orientation
* Make sure depth zoom is propagated to the Qwt plot
* Expand min/max value range to allow more space around curves
* Use int values to represent RFT segment branch number
2022-06-16 13:55:42 +02:00