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.
* 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
Several optimizations based on profiling of 20M grid model. These fixes will improve the largest performance issues, but there are still more operations that can be refactored.
* OpenMP: Use in fault geometry generator
* OpenMP: Use when computing statistics for result values
* OpenMP: Use multithreading on fault detection
* Add RiaOpenMPTools
* VizFwk: Use openMP for texture generation
* 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
* Major refactor from RimGridView to Rim3dView
* Move view linker/controller functions to Rim3dView
* Add bitmask to define the content of a 3D view
* Link views based on matching content
* Enable bit mask operators at global scope
* Make it possible to use 2d intersection views as comparison views
* Fix crash when a view used as comparison view is deleted
* Move unlinking to Rim3dView
* Add options to snapshot only 3D views/plots as part of regression testing
* WBS plot: Improve default name, hide axis for some tracks
* Allow linking of property filters across cases with same IJK size
* Recalculate when grid is replaced
Find dependencies between calculations and order them accordingly
* Make sure property filter is updated when completion type is cleared
* Clear geometry cache in views to make sure geometry is recreated
* Calculate required input parameters to completion type calculations
* Recompute values when depth changes
* Guard null pointer access
* Delay open of RFT files until data is requested
When opening ensemble summary cases, the opening of RFT files can take some time. Avoid this by delaying the file open operation.
* Fix infinite update loop for RFT plots
* Avoid moving the tracker line when clicking in the plot
* #9435 Do not auto update curve appearance during source stepping
* Update toolbar after vector is dropped into empty plot
* Use summary vector text in RiaSummaryDefines
* Fix missing update of curve color when curve is highlighted
* 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
* Add curve name template and handling of string variables
* Mark autoName as obsolete field
* Use key-value map to populate variable values
* Add curve naming methods Auto, Custom and Template
* Python: avoid assigning same port number to multiple grpc sessions
* Add retry count when checking for port number file
* Use grpc to find and use port number
* Add test used to start several instances of resinsight at the same time
Testing up to 50 instances works well
* Python: allow launch_port == 0 to assign port by GRPC in Instance.launch().
Also allow longer wait before failing the port number file reading:
it can take some time to launch when launching lots of instances at
the same time.
Several adjustments to UI as discussed with Håkon and Alireza.
* add link/unlink command to right-click menu of axis
* select curve in project tree when clicking on legend item
* make sure internal legend is always visible when toggling plot
* fix issue when using sub plot as data source for axis range
Use auto value concept in summary plot configuration. Default behavior is unchanged, but it is now possible to unlink a field to specify a custom value for this field.
Other changes:
* Add missing requirement for Svg in test application
* Use calculator icon and rename panel text
Use icon and relevant text to make it clear that the content in Calculator Data can be used for Grid Property Calculator and nothing else.
* Add example with scoped enum and auto value
* Use enum value starting av 10 to make sure enum values (not option item index) are working as expected
* #9203 Summary Case : Add rename to right-click menu
* Janitor: Move ID and description to private fields
* Eclipse Case: Add rename to right-click menu
* Rename feature
* Add unit test used to read data from WSEGLINK
* Add segment branch type
* Add detection of device branches
* Add data source stepping on branch type
* parse wseglink data
* add RFT case as child of RimFileSummaryCase
* Get rid of "ghost" windows on startup.
Removes hide all docking windows feature for now, to be replaced by a new implementation. Will probably break some tests due to this.
* Avoid creation of curve legend widgets during construction of a multi plot
* Make sure default z-value is correct to avoid expensive Qwt updates
* Avoid duplicate plot updates
* Do not create internal Qwt legend by default
* RFT import: Avoid expensive method throwing exception if no data is found
* Add system commands to test toolbar
* #9069 Summary Plot: Update only Y axis values during source stepping
* Reduce default brightness for ensemble summary curves
* Add a separate flag to control linking of time axis
* Make sure interactive zoom in plot is handled
* Move message dock window to right dock panel
- use vector name as plot title if a vector and the associated history vector is present
- use short vector name as fallback for curve name
- use Plot N as fallback name for sub plot
* Ensemble plot templates now have .erpt extension and new icon
* Default plot templates are given a checkmark overlay on the icon
* Context menu has been cleaned up a bit
* Old default template is really just the last used template. Rename it.
* Add max. recursive depth setting in preferences for plot template searches
* Only create plots based on correct template type when importing ensembles or single cases
* Support creating new plot from template explorer
* Update last used template when creating a new plot from a template
* Add summary default plot type selection in preferences
* Create plots as set in preferences when loading summary cases. Allow selecting default plot templates from templates explorer tree
* Do not create plot if data vector setting is empty
* #8947 Plot Template : Split export dialog into file path and name
* #8946 Update multi plot title when curve is appended by copy/paste
* #8946 Separate axis object name and axis title text
* If multi plot auto name is empty, use plot title "Plot N"
* QwtPlotWidget: Double click activates Zoom All
* More testing on valid main window before use
* Return false if event is not handeled
* Improve fallback plot name
* Tree View Editor: Early exit if selected object is unchanged
Resetting selection causes flickering
* Summary Plot : Select curve object in project tree when clicking on curve
* Guard use of back() on empty vector
* Add "Show Data Sources" to ensemble realizations
* Update summary plot as summary curve collection is not visible in tree view
* Set selection manager root in RiaApplication
* Always close both main windows if present
* Add copy/paste of summary multi plot
* Add test for RiuMainWindow::instance() before use
* Remove duplicated code
* Multiple Tree Views : Use getTreeViewWithItem() to find correct tree view
* Minor UI adjustments
Call RiaApplication::initialize() to recreate project and preferences. Do not call virtual method initialize(), as RiaGuiApplication::initialize() creates a new logger causing console text to disappear.
* Move layout options to separate toolbar
* Enable stepping on quantities, remove special history curve stepping for now
* Allow stepping ensembles and cases
* Add step next/prev and add new sub plot
* Deprecate single summary plots and plot collections. Replace functionality using summary multi plots. Clean up some code. Fix crash when trying to normalize an empty curve
All import of summary data was previously started from a SMSPEC file. As the ESMRY file is completely independent, it is useful to import these files directly.
* Use constructor instead of nullptr for WindowFlags
* Use constructor instead of nullptr for Alignment
* Disable deprecation warning for QProcess
* Add string split method to RaTextStringTools
* Add caf.cpp used to manage Qt function deprecations
* Use position()
* Create multi summary plot from summary plot(s)
* Rearrange multi summary plot properties
* Enable source stepping toolbar for multi summary plot
* Automatically activate new summary plot when creating from data sources -> data vector tree
* Enable global key controls for switching data in summary and multi summary plots
* Update tooltip texts for summary plot toolbar
Add reader for RFT data using opm-common
Extend RFT curve with support for RFT segment data
Adjustments related to horizontal well log plots
8581 Well Log Plot : Update of curve appearance does not update plot
* Janitor : Improve robustness
* Guard nullptr access
* Limit the curve points to incoming from/to curve point index range
Co-authored-by: magnesj <magnesj@users.noreply.github.com>
* #8425 Multi Graph : Support grouping on object name
* #8425 Multi Graph : Improve creation of new graphs
* #8425 Multi Graph : Improve default tick mark count
* Handle history and non history as identical headers
* #8425 Multi Graph : Increase space below a graph
Improve robustness related to update of Summary Plot Manager
Add RimSummaryMultiPlot
Move shared code into RiaSummaryStringTools
Added "Create Summary Multi Plot" to menu of MultiPlot in project tree
All import of summary data was previously started from a SMSPEC file. As the ESMRY file is completely independent, it is useful to import these files directly.
* Performance : Improve surface import
* Performance: Use opm when importing files
* Surface : Use the triangle size as basis for the maximum search distance
* Performance : Resample surfaces in parallell
* Performance: Import file surfaces in parallell
* Ensemble Surface : Create one ensemble per surface
The freeze bug in Qt is triggered when the progress bar is displayed for long-running processes. A temporary workaround for freeze issues is to disable the progress bar. Move the setting into General tab to make it easily available for all users.
- remove the gsl::not_null for pointer to curve data
- For summary cases linked to a grid model case, do not try to read the original location of file if grid file location is not valid (will happen when a project file is moved)
Update the name of statistics surface when created
Regenerate surface geo only when required
Create statistics surfaces when importing surface ensemble
* #7885 Update opm-common with optimized coordinate import
* #7885 Allow null as default result from a script method
* #7885 Propagate default parameter values to generated Python code
* #7885 Add CommandRouter as hub for worker methods
* #7885 Add support for use of CommadRouter from Python
* Improve handling of MD at first target
* When sea level well target is disabled, update MD of first target
* Show well target spheres by default, allow toggling of spheres
* Activate well target modifiers when clicking on well targets
* Remove selection update causing an unstable 3D view
* Improve display and handling of multiple locations
* Add special 3D target for tie in well target
* Add slider to tie in MD input field
* Show MD in well path target table
* Delete all well path laterals when deleting a well path
* Python : Add lateral to parent well
* Python : Add perforation interval
* #7797 Well Targets: Add scripting capability
* #7794 Python : Do not update childField or childFieldArray
* #7797: Python - Add scripting to well path collection
- Extend the pdmobject.py with method add_object()
- allow objects to be created from Python in well path collections
- add well targets to modelled well path
* #7795 Python : Make sure referenced generated classes are defined
* #7810 StimPlanModel: clean-up python generation
* Python : Always use empty string as default value for ptrFieldValue
It can happen that a ptrField is assigned to a pointer on object construction. (FaciesProperties) Make sure that constructor always assigns an empty string.
Co-authored-by: magnesj <magnesj@users.noreply.github.com>
Co-authored-by: Kristian Bendiksen <kristian.bendiksen@gmail.com>
* #7797 Well Targets: Add scripting capability
* #7794 Python : Do not update childField or childFieldArray
* #7797: Python - Add scripting to well path collection
- Extend the pdmobject.py with method add_object()
- allow objects to be created from Python in well path collections
- add well targets to modelled well path
* #7795 Python : Make sure referenced generated classes are defined
* #7810 StimPlanModel: clean-up python generation
* Python : Always use empty string as default value for ptrFieldValue
It can happen that a ptrField is assigned to a pointer on object construction. (FaciesProperties) Make sure that constructor always assigns an empty string.
Co-authored-by: magnesj <magnesj@users.noreply.github.com>
Co-authored-by: Kristian Bendiksen <kristian.bendiksen@gmail.com>