Commit Graph
36 Commits
Author SHA1 Message Date
Kristian Bendiksen 4977941896 #14821 Python: Report specific errors when import_surface fails
- Return std::expected from RimSurfaceCollection::importSurfacesFromFiles
  with a message naming the files that could not be imported
- Return specific errors from ImportSurface and NewSurface scripting
  methods instead of nullptr
- Import before deleting the surface to overwrite, so a failed overwrite
  keeps the existing surface
- Catch surfio exceptions in RifSurfio to avoid a crash on corrupt files
- Include the method name in the generic "no result" gRPC error
- Add Python tests for import_surface error handling
2026-10-05 08:30:33 +02:00
Magne Sjaastad 7838290a4d #13807 Add a case-less Data View and merge it with Eclipse views in the tree
- Added RimGeneric3dView, a 3D view that is not tied to any grid case,
  useful for wells, surfaces and other data not requiring a reservoir
  grid. The view supports a custom name.
- Introduced RimGenericViewCollection, a new top-level collection that
  holds both Eclipse views and RimGeneric3dView instances. It overrides
  defineUiTreeOrdering() to display both types as a single flat list
  under the top-level 'Views' node.
- RimOilField now exposes a single genericViewCollection instead of a
  plain eclipseViewCollection field.
- RimEclipseViewCollection is unchanged and continues to be used for
  per-case and ensemble view collections.
- Updated RimEclipseCase::globalViewCollection() and related helpers to
  use RimGenericViewCollection, and added matching overloads in
  RicNewViewFeature for creating eclipse views from the merged
  collection.
- Added RicNewGenericDataViewFeature to create a new generic data view
  from the context menu.
2026-09-28 18:35:28 +02:00
Magne Sjaastad ebf75c09a1 #14411 Enforce name uniqueness for surfaces, polygons and folders
* #14411 Enforce name uniqueness for surfaces, polygons and folders

Names must be unique among siblings sharing the same parent folder. Items in different folders may keep identical names, and comparison is case sensitive.

Siblings are the objects held by the same caf::PdmChildArrayField. Items and folders live in two distinct child arrays in caf::PdmNestedCollection, so a folder and an item may share a name under the same parent.

The Python API gets an OnNameConflict flag on AddFolder, CreatePolygon, ImportSurface and NewRegularSurface, supporting FAIL (default), AUTO_RENAME and OVERWRITE. NewSurface is left out, as grid case surfaces derive their tree label from the case and K index and carry no name of their own.
2026-08-07 08:34:58 +02:00
Magne Sjaastad dc20a016f7 #13987 PDM: Migrate Surface and Polygon collections to PdmNestedCollection
Port RimSurfaceCollection, RimPolygonCollection and the polygon-in-view
side onto the new caf::PdmNestedCollection framework, replacing the
per-class folder plumbing (m_subCollections field, topmost-folder flag,
add/remove/find sub-collection, factory, "new folder" command) with the
shared base.

- RimSurfaceCollection and RimPolygonCollection now derive from
  caf::PdmNestedCollection. Each constructor uses the generic folder
  icon and exposes a static createTopmost() that marks the top instance
  and applies the branded domain icon; RimOilField calls the factory.
- RimPolygonInViewCollection uses the new RimNestedMirrorCollectionInView
  helper, and a new RimPolygonContainer carries the source-side polygon
  link.
- RicNewSurfaceCollectionFeature is removed; the generic
  RicNewNestedCollectionFeature drives the "Add Folder" action against
  both collections.
- Update callers (RimAnnotationCollection, RimEnsembleSurface, polygon
  command features) and the scripting wrapper (RimcSurfaceCollection),
  plus the Python add-folder binding and polygon test.
2026-05-13 14:53:00 +02:00
Kristian Bendiksen 5ffcb69acc #13126 RiaLogging: Use std::string_view instead of QString for logging 2026-05-08 10:11:09 +02:00
jonjenssen 9a5dfd8183 Do not allow rename of top surface folder 2026-04-28 12:32:08 +02:00
Magne Sjaastad 4b9f94efb8 Refactor depth property handling for regular surfaces
- Introduce RimRegularFileSurface::propertyName() as canonical property key for file-based surfaces.
- Change RimRegularSurface::setPropertyAsDepth() to void and remove existence check; error handling is now in updateSurfaceData().
- Update all usages to match new setPropertyAsDepth() behavior.
- Log and handle missing depth property in updateSurfaceData().
- Update tests to reflect new error handling approach.
- Minor includes and logging improvements.
2026-01-20 18:21:56 +01:00
Kristian Bendiksen 3d2449c361 #13296 Add file-based surface interface to enable polymorphic file path handling
Add virtual methods (isFileBased, filePath, setFilePath) to RimSurface base
class. Implement these in RimFileSurface and RimRegularFileSurface to provide
a common interface for all file-based surfaces.

Replace class-specific methods (setSurfaceFilePath/surfaceFilePath) with the
common interface methods (setFilePath/filePath) in both RimFileSurface and
RimRegularFileSurface. Update RimEnsembleSurface to use the common interface.

This enables polymorphic treatment of file-based surfaces without changing
the inheritance hierarchy or breaking backward compatibility.

Fixes #13296
2025-12-15 12:59:32 +01:00
Kristian Bendiksen 4f5d7b65a5 #13258 Add support for more surface file type in Import ensemble surface 2025-12-06 12:55:38 +01:00
Magne Sjaastad a45a4f3b85 Fix spelling in keywords 2025-11-19 14:33:21 +01:00
Magne Sjaastad 13a793f16c #12461 Add support for import of .irap and .gri
* Add surfio as submodule and create importer with tests
* Update compile fix when mio.h is included in multiple compile units
* Move file tools into RifFileTools
2025-05-28 09:50:45 +02:00
Kristian Bendiksen 1a55fa11c3 #12459 Add regular surface domain object. 2025-05-20 20:39:07 +02:00
Kristian Bendiksen 8c9da1c87b Cleanup includes. 2025-03-07 10:34:48 +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 736bfd9a96 Add Depth Surface
Add Depth surface and initialize the location of the surface based on the first available grid model. Add feature to create Depth surface.
2024-07-24 15:42:25 +02:00
Kristian Bendiksen 873282b339 Refactor: avoid local variable only used in range-based for loops 2024-04-04 10:24:21 +02:00
Kristian Bendiksen be3d06c549 Refactor: improve api for views and oil fields. 2024-04-04 10:24:21 +02: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 10189da362 Fix display of intersection lines in 3D view
* 10675 Fix missing intersection line geometry
* Change to list of visible surface intersection lines
* Enable surface intersection band for any intersection
* Show labels for intersection curves in 3D

The polylines are defined in the display coordinate system without Z-scaling. The z-scaling is applied to the visualization parts using Part::setTransform(Transform* transform)
The annotation objects are defined by display coordinates, so apply the Z-scaling to the coordinates.

* Improve naming of surfaces
* Use scaling factor of 1.0 for flat intersection views
2023-10-03 09:04:46 +02:00
Kristian Bendiksen 959c9d48fa #10649 ApplicationLibCode: Use collection.empty() instead of comparing with size 2023-09-27 10:16:37 +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 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 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 c74701b687 Rename several child() and children() functions 2022-05-31 15:05:07 +02:00
Magne Sjaastad 74075cc9ab Merge pull request #8888 from OPM/8887-fix-reorder-capability
Fix reorder capability
2022-05-06 10:52:08 +02:00
Magne Sjaastad 3c35244809 #8420 Janitor: Remove empty parameters in initialization macros 2022-01-07 08:31:52 +01:00
Magne Sjaastad 2a65636ba3 #8250 Use variadic macros and remove obsolete parameters 2021-11-14 15:26:09 +01:00
Magne Sjaastad 15b4077876 Fix some minor issues (#8043)
* #8016 Surface Ensemble : Update 2d intersection views
* Ensemble WLP : Make code more robust to missing data
* Janitor: Do not add files to recently used list when importing ensemble
* #8016 Ensemble WLP : Delete all temporary plots in one go
* #8016 WLP: Create a default date string that can be exported to LAS
* #8016 Janitor: Use *.dev as default well path extension
2021-09-24 10:21:16 +00:00
Magne Sjaastad 515168600f Improved UI for surface band and curves (#8026)
* Add surface intersection bands and curves
* #8024 Ensemble Surface : Fix mix of files for a ensemble layer surface
2021-09-23 09:59:29 +02:00
Magne Sjaastad 7b1185cec4 Surface Folders
* #7978 Ensemble Surface : Use collection instead of specialized class
* Review updates
2021-09-13 10:16:09 +02:00
Kristian Bendiksen 966bcd1e77 Ensemble surface import and statistics 2021-08-17 13:38:12 +02:00
jonjenssen ae7285b478 Fault Reactivation Assessment: updates and tweaks (#7732)
* Add flag to keep temp. parameter files or not.
* Ask user if it is ok to clean the output folder if selected.
* Add property for elastic table input file.
* Do not show legend by default when refreshing tsurfs
* Make sure all loadsteps are enabled in post processing json file
* Support running adv. proc without req. basic proc to be run first
2021-05-28 00:55:54 +02:00
jonjenssen 4a4db5a3f2 Fault reactivation assessment #7321 (#7690)
Fault Reactivation Assessment implementation (ref issue #7321)
2021-05-18 14:28:54 +02:00
Gaute Lindkvist 81699db187 Rename ApplicationCode to ApplicationLibCode 2021-01-11 15:27:45 +01:00