Commit Graph

73 Commits

Author SHA1 Message Date
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
174123f8b5 Refactor: rename confusing push_back method on view collections. 2024-04-17 14:34:36 +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
jonjenssen
fb5758a363
Support both AND and OR operations when combining range and index filters (#11275)
Support both AND and OR operations when combining range and index filters
2024-03-11 20:02:47 +01:00
Magne Sjaastad
bfda6519db
Cleanup includes
Use new tools in Visual Studio to help cleaning up includes and remove redundant includes.
2024-03-07 19:45:43 +01: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
6fe997b3c9 Add and use caf::PdmUiPushButtonEditor::configureEditorLabelHidden 2024-02-23 08:47:52 +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
Magne Sjaastad
833a0e8584 Performance: Cellcount functions are used in many loops, and must be as fast as possible
cellCountIJK was computed based on the value of griPointDimensions. These converstion turned up during profiling. Change implementation to have cellcount as a member variable instead of being computed every time.
2024-01-22 14:52:49 +01:00
Kristian Bendiksen
544e6974e7 Refactor: improve interface for finding intersecting cells. 2024-01-03 13:00:09 +01:00
Kristian Bendiksen
ffa117e736 Refactor: Extract getPartIndexFromPoint to avoid duplication. 2024-01-03 13:00:09 +01:00
Jon Jenssen
a4db175bea Make sure imported element properties goes to the selected case.
Improve reload/close element property UI
2023-12-21 08:23:37 +01:00
jonjenssen
1fab743d56
INP import updates (#10952)
Support reading element type results
Automatically load properties from INP include files generated by Fault Reactivation Model exporter
Some refactoring of element and result types.
2023-12-14 08:46:41 +01:00
jonjenssen
ea56ceaea0
Refresh cell filters when geomech grid is reloaded (#10924)
* Make sure the cell filters are refreshed when the geomech grid is reloaded to handle grid changes
2023-12-08 15:26:18 +01:00
Kristian Bendiksen
e7eb460737 GeoMechView: Fix crash when case is missing. 2023-10-18 18:44:03 +02:00
Magne Sjaastad
21843820e6
Update clang-tidy.yml
* Make sure clang-tidy action use .clang-tidy config file
Use add-paths to instruct create-pull-request to a sub folder to avoid diff from Qt and vcpkg

* Use empty() in macro to avoid clang-tidy warning
* Add NOLINT to CAF_ASSERT
* Add NOLINT to cvfAssert
2023-10-03 09:04:08 +02:00
jonjenssen
0ccddcb836
Fault Reactivation updates (#10665)
* Support getting pore pressure for all nodes
* Misc fixes and updates in fault reactivation UI
* Disable fault reactivation result unless you load an odb from a valid working folder
2023-09-27 15:15:17 +02:00
Kristian Bendiksen
959c9d48fa #10649 ApplicationLibCode: Use collection.empty() instead of comparing with size 2023-09-27 10:16:37 +02:00
jonjenssen
5d3fb8ceb9
Fault reactivation (#10624)
Update result to generate well paths based on information from model generator. Store settings in JSON file.
Add method to access local coordinate system definition
2023-09-19 18:03:36 +02:00
jonjenssen
0a807618b9
Cell filter performance improvement (#10550)
* Speed up eclipse and geomech cell filters
2023-08-29 14:41:55 +02:00
Magne Sjaastad
bb293539d5
Additional refactoring for POR-Bar result handling
* Always use element-nodal for POR calculations
* Add RigFemAddressDefines
Add special handling for "POR-Bar" result, always use element_nodal

* 9362 Show unit text "sg" when normalized by hydrostatic pressure
2023-08-23 13:29:54 +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
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
Jørgen Herje
0685078ab3
Fix automatic part id detection for Fault Reactivation Result, and resampling bug in RigWellLogCurveData
* Fix resampling bug and refactor code
- Fix bug for resampling, prevent index increment.
- Refactor functions into static functions.
- Fix issue in interpolateSegment not using correct indices for depthType != resamplingDepthType
- Add unit tests

* Change WellAllocationPlot to use step left
Remove dummy point and utilize step left for WellAllocationPont

* Fix bug in creating resampled values and depths for RigWellLogCurveData

* Fix automatic part detection for Fault Reactivation Result
- Fix incorrect automatic part detection
- Set default distance to intersection to 1.0 [m]
2023-06-20 10:08:10 +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
Jørgen Herje
5975fe6765
Rename RimWellLogDiffCurve to RimWellLogCalculatedCurve and additional improvements
* Rename from DiffCurve to CalculatedCurve and add operators selection
* Add option to select depth source for resampling in CalculatedCurve

- Select source for depth values for resampling
- Depths from first curve, second curve or union of these
- Added unit tests for function creating union depth values and calculate value with selected operator.

* Guard divide by zero

* Adjust algorithm for union of depths

- Prevent duplicated depth values (no need for enter/exist of k-layer when resampling)
- Add threshold for depth distance
- Update unit tests
2023-05-27 10:30:03 +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
Jørgen Herje
b83fe73395
Displacement curves fault faces (#10243) 2023-05-22 11:37:57 +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
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
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
jonjenssen
2e01f4a31d
Basic seismic support (#10010)
Add basic seismic section support to eclipse and geomech views.
2023-03-24 15:36:10 +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
Jon Jenssen
42a9fef2d3 Fix geomech reload issues 2023-01-25 16:12:10 +01:00
jonjenssen
b28832eccd
Support loading only last geomech frame (#9727)
Support option for loading only the last frame for each geomech timestep. Turn it default on for old projects.
2023-01-24 18:30:30 +01:00
Magne Sjaastad
ab165b0d72
Fix issues related to well bore stability plots
* Check if data is present
* Move plot update to geomech case
* Return empty vector if no data is present
2023-01-23 12:38:55 +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
jonjenssen
85f1b004cb
Geomech frames support (#9678)
Support for showing frames in geomech data.
2023-01-18 14:42:33 +01:00
jonjenssen
14d4022ada
Add toolbar toggle button for showing displacements (#9677)
* Add toolbar toggle button for showing displacements
2023-01-13 20:21:55 +01:00
Jon Jenssen
10960ea2fa Add safeguard 2023-01-02 16:51:27 +01:00
Magne Sjaastad
82968ca1a9
Support linking of 2D intersection views
* 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
2022-11-24 10:46:54 +01:00
Magne Sjaastad
c2ab9e6fe0 Regression Test: Do not access RimWellLogPlotCollection directly from desctructors
Regression tests are calling RimProject::reset(), and this function deletes the RimProject object.
2022-08-24 08:58:03 +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
c8f642d83a
Add rename case to summary and grid cases (#9204)
* #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
2022-08-18 07:12:23 +02:00