Commit Graph

129 Commits

Author SHA1 Message Date
Magne Sjaastad
ca0179d118 Remove obsolete CMake statements
When using modern CMake and Qt6 we can remove obsolete source_group() and QT_MOC_HEADERS
2025-01-28 07:01:42 +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
6894149f8e #11859 Summary Plot: Missing legend curve name for Excel data
Remove virtual from RimPlotCurve::setTitle()
Set curve name for an Ascii curve to custom
Make the curve title obsolete
2024-11-25 07:18:44 +01:00
Magne Sjaastad
7550b8702c Rename delta ensemble and case
Rename to RimDeltaSummaryCase and inherit RifSummaryReaderInterface
Rename to RimDeltaSummaryEnsemble

Remove obsolete RifDerivedEnsembleReader
2024-11-13 15:18:10 +01:00
Magne Sjaastad
67e6df28b5 #11857 Make sure the summary curve type is updated
Always compute curve type Rate or Accumulated based on address if Auto curve type is set.
2024-11-06 07:16:07 +01:00
Magne Sjaastad
2814b92055 Qt6: Adjustments (#11804)
* Qt6: Avoid insertWidget, use addWidget
In Qt6, the insertWidget function checks if the index parameter is valid based on current widgets present in the layout. This is error prone, and use addWidget to avoid manual counting of index.

* Disable use of Qt keyword foreach

* Replace use of QRegExp with QRegularExpression
Replace use of QRegExp with QRegularExpression
Remove dependency on qt5compat module
Simplify an expression based on review

* Remove Qt5 ifdefs

* Guard access out of bounds seen in debug build

* Avoid reuse of string variable

* Disconnect all signals from the QOpenGLContext
The call stack when this assert happens indicates that there are more signals to be disconnected from the object. Crash is fixed by disconnecting all signals.

Assert seen in debug build:

ASSERT failure in caf::Viewer: "Called object is not of the correct type (class destructor may have already run)", file C:\Qt\6.6.3\msvc2019_64\include\QtCore/qobjectdefs_impl.h, line 130

* Fix issue related to delete of a linked view
Guard null pointer use in view linker. Remove complicated cleanup in destructor in Rim3dVew.
2024-10-28 13:09:18 +01:00
Magne Sjaastad
df091336e0 Move summary tools into separate folder 2024-10-22 07:28:43 +02:00
Magne Sjaastad
360024c4bc Make sure the insertWidget function inserts at the correct index
Insert the first widget at index 1 causes crash in Qt6
2024-10-14 09:19:21 +02:00
magnesj
fc2106edb0 Fixes by clang-tidy 2024-09-02 15:26:44 +02:00
Kristian Bendiksen
cf23a6ae5f Improve name of Summary Curve Calculator. 2024-08-30 10:21:49 +02:00
Kristian Bendiksen
e9c46c5cec Rename RimSummaryCaseCollection to RimSummaryEnsemble. 2024-07-30 08:55:12 +02:00
Magne Sjaastad
a0ebb6e496 Add copyObject to PdmObjectHandle
New syntax to copy an object

    auto curveCopy = curve->copyObject<RimSummaryCurve>();

Previous deprecated syntax

    RimColorLegend* customLegend = dynamic_cast<RimColorLegend*>(
            standardLegend->xmlCapability()->copyByXmlSerialization( caf::PdmDefaultObjectFactory::instance() ) );
2024-06-14 17:18:28 +02:00
Kristian Bendiksen
d1d3ee129f Refactor: Extract parser options from RicPasteAsciiDataToSummaryPlotFeatureUi 2024-05-28 10:44:44 +02:00
Magne Sjaastad
b8391e6f92 Remove pure virtual from RimPlotCurve
Make it possible to use RimPlotCurve directly. Remove depnendencies on special implementation in derived classes.
2024-05-13 15:45:55 +02:00
Magne Sjaastad
030688cff6 Several adjustments related to Qt6
* Avoid ambiguous definition during unity build on Windows
* Add missing include
* Add Qt6 to expressionparser
* Add Qt6 to nightcharts
* Replace forward define of QStringList with include <QStringList>
* Use toMSecsSinceEpoch
* Use setContentsMargins
2024-04-16 14:22:15 +02:00
Magne Sjaastad
ce513be638 Remove all use of .uiCapability()->setUiTreeHidden( true ); 2024-02-05 10:15:36 +01:00
Kristian Bendiksen
ca87cee79b Summary Calculation: add import and export to toml 2023-12-04 17:26:44 +01:00
Magne Sjaastad
4b0f2b362e Add support for placing legend at several positions
Show legends on top of preview plot
2023-11-27 13:14:16 +01:00
Magne Sjaastad
243b07c42f Remove preview plot title 2023-11-27 13:14:16 +01:00
Magne Sjaastad
9d21faf38c Make sure summary case is set before assigning curve axis 2023-11-27 13:14:16 +01:00
Magne Sjaastad
da20b81c0e Make sure the detection of only cross plot curves works as expected 2023-11-27 13:14:16 +01:00
Magne Sjaastad
00cb4e3252 Always use auto title in preview plot 2023-11-27 13:14:16 +01:00
Magne Sjaastad
0ec5913024 Create Cross Plot: Improve text and add menu separator 2023-10-19 14:49:42 +02:00
Magne Sjaastad
f763f73ba3 Regression Curves: Use a contrast color for the regression curves
Use a list of predefined colors, and select the color with the larges RGB difference to the source curve. This will ensure that we avoid ending up with fully white or fully black curves, unable to see.
2023-10-19 07:50:02 +02:00
Magne Sjaastad
0a40e24851 Disable IO for RicPasteAsciiDataToSummaryPlotFeatureUi preview text field 2023-10-13 16:31:14 +02:00
Magne Sjaastad
4a3cdc4e94 Avoid use of time_t when using sliders in GUI
* Avoid use of time_t when using sliders in GUI
Sliders use int as internal representation of values, and time_t can cause overflow
2023-10-12 10:02:58 +02:00
Magne Sjaastad
51fe80b897 Create cross plot menu from list of addresses in preferences 2023-10-09 13:28:36 +02:00
Magne Sjaastad
445672cbb2 Remove use of obsolete cross plot code
Remove obsolete summary cross plot classes and features
2023-10-05 07:47:47 +02:00
Magne Sjaastad
263e39b97b Add regression curves to ensemble statistics curves
* Add statistics enum
* Support ensemble statistics curve as data source for regression curves
* Allow creation of regression curves from statistics curves
* Make sure regression curves are updated after source curves
* Add state to use full or user defined range for regression source data
* Add isRegressionCurve
* Make sure source stepping works when regression curves are present
2023-09-30 11:07:23 +02:00
Magne Sjaastad
d34bb8a64c Improve ensemble cross plot statistics
* Support cross plot in plot templates
* Fix source stepping for cross plots
* Show cross plot data in "Show Plot Data"
* Use bin size and realization count when computing cross plot statistics
2023-09-28 14:32:32 +02:00
Kristian Bendiksen
959c9d48fa #10649 ApplicationLibCode: Use collection.empty() instead of comparing with size 2023-09-27 10:16:37 +02:00
Magne Sjaastad
146412c600 Add support for summary cross plot curves in summary plots 2023-09-20 13:58:22 +02:00
Magne Sjaastad
f07a5db559 Use post fix Y in RiaSummaryCurveDefinition 2023-09-20 09:58:48 +02:00
Magne Sjaastad
806f367566 Rename to SummaryCategory 2023-09-20 09:58:48 +02:00
Magne Sjaastad
e8aada80c5 Rename to plotAxis() 2023-09-20 09:58:48 +02:00
Magne Sjaastad
96b3bef878 Reduce memory use for summary address object
* Use one common variable for object name, use three ints
* Move enums to separate file
* Refactor use of enums
* Move implementation to cpp
* Refactor includes
2023-08-21 07:12:08 +02:00
Kristian Bendiksen
5bf2c2a89d #10367 Janitor: Remove unneccessary 'this' pointers 2023-08-07 13:38:27 +02:00
Magne Sjaastad
1da509166a Improve CmdFeature base class
Add default implementation of isEnabled() and add const
2023-06-26 14:28:46 +02:00
Magne Sjaastad
59ca0b943c Add readability-simplify-boolean-expr
* Add readability-simplify-boolean-expr
* Fixes based on review
2023-06-26 13:12:41 +02:00
Kristian Bendiksen
1b85f628a0 Decline Curves: zoom to include forecast data when creating curves 2023-06-16 16:49:40 +02:00
Magne Sjaastad
91762aaeb1 RC3 adjustments
* Update icons for summary and ensemble templates

* Icons for regression and decline

* #10374 LineEditor: Hide the placeholder widget when not used

* #10376 Assign a case ID to delta summary case

* Do not show decline range text in plot
2023-06-10 16:30:34 +02:00
Kristian Bendiksen
3b4244bdbf #10360 Decline Curve: allow selecting subset of time range
Fixes #10360.
2023-06-08 12:50:54 +02:00
Kristian Bendiksen
f1794abff2 #10358 Regression Analysis: Allow selecting subset of time range for regression 2023-06-08 12:50:54 +02:00
Kristian Bendiksen
a3090c5ead #10268 Regression Analysis: improve default look of curve 2023-05-19 20:00:12 +02:00
Kristian Bendiksen
c23cdee17d #7206 Add regression analysis. 2023-05-16 09:42:18 +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
Kristian Bendiksen
c8b402651d Add "Decline Curves" functionality.
Adapted from formulas here:
https://petrowiki.spe.org/Production_forecasting_decline_curve_analysis
2023-05-05 15:30:48 +02:00
Kristian Bendiksen
ff209ad7c2 Refactor ensemble import dialog
* #9773 Refactor ensemble import dialog.
* #9773 Add support for ensemble import of StimPlan/Reveal summary data.
* #9773 Add method for finding min and max time steps.
* #9773 Add option for resampling to hour intervals.
* #9773 Add option for resampling to minute intervals.
* #9773 Ensemble statistics: determine sub-sampling period dynamically.
* Use RiaWeightedMeanCalculator for curve resampling.
* Add HOUR and MINUTE to date time app enum.
* #9773 Generate better ensembles for StimPlan summaries.
* #9773 Fix parameters.txt lookup for StimPlan summaries
* Refactor: Improve interface of RicImportSummaryCasesFreature::createSummaryCasesFromFiles

Co-authored-by: Magne Sjaastad <magne.sjaastad@ceetronsolutions.com>
2023-04-20 10:16:43 +02:00
Magne Sjaastad
643ccd67b8 Improve ensemble curve colors
* Use unique_ptr
* Improve default assignment of curve appearance
* Improve display of color tags in tree view items
* Select curve or ensemble instead of plot
* Only change curves connected to a Rim-object

* Improve color management for ensemble curves
Use a base color for statistics curves and set realization curves transparent
Make sure new curves are assigned a unique color
Harmonize how dropped addresses are handled

* Update all tags always
The update of tags for a subset of tree nodes is currently broken. Always update all tags.

* Add const
2023-04-19 15:36:06 +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