Commit Graph
18898 Commits
Author SHA1 Message Date
Magne Sjaastad 2e1e99602b ContourMap: Increase texture resolution with bilinear interpolation
Scale texture up 4x and bilinearly interpolate between adjacent vertex
values to eliminate block artefacts. Pixels adjacent to any undefined
(infinity) vertex are rendered transparent.
2026-03-12 15:31:49 +01:00
Magne Sjaastad 87ef7a01b9 ContourMap: Add texture-based rendering as default rendering mode
Extract and clean up prototype from contour-map-01 branch:
- RivContourMapProjectionPartMgr: add appendProjectionAsTexturedQuad(),
  createSingleTexturedQuadPart(), createXYPlaneQuadGeoWithTexCoords(),
  and createTexture() — renders the map as a single GPU-textured quad
  with transparency (alpha=0) for undefined/infinity cells
- RimContourMapProjection: add m_showTextureImage (default true) and
  m_showTrianglesWithColor (default false) PDM fields; guard triangle
  mesh generation when showTrianglesWithColor() is false
- RimEclipseContourMapView, RimGeoMechContourMapView: branch
  appendContourMapProjectionToModel() to use texture or triangle path
  based on the new flags; Statistics view inherits Eclipse path

Prototype dead code (debug file save, SurfaceEffectGenerator fallback,
redundant createImage()) not carried forward.
2026-03-12 14:40:26 +01:00
Magne Sjaastad 5ea450494a RimWellEventTimeline: Update editors when applying events
Ensure that the well path collection's editors are updated whenever events are applied to the timeline, keeping the UI synchronized with model changes.
2026-03-12 10:37:35 +01:00
Kristian Bendiksen 334ccc3a66 #13682 Fix Unity build: add missing Color3f scripting include to RimWellPath
RimWellPath.cpp has a scriptable cvf::Color3f field but was missing the
Color3f IOHandler specialization header. In Unity builds, this caused
the primary template to be instantiated, conflicting with the
specialization in cafPdmScripting.lib.
2026-03-12 08:30:52 +01:00
Kristian Bendiksen 3d23e9b51b #13682 Fix Windows Unity build linker error for Color3f scripting
Include cafPdmFieldScriptingCapabilityCvfColor3.h so the compiler sees
the Color3f template specialization instead of instantiating the primary
template, which caused duplicate symbols with cafPdmScripting.lib.
2026-03-12 08:30:52 +01:00
Kristian Bendiksen 614acc664a #13682 Python: Expose polygon appearance properties to Python API
Make RimPolygonAppearance scriptable so polygon visual properties
(colors, line thickness, spheres, closed state, plane lock) can be
controlled from the Python API.
2026-03-12 08:30:52 +01:00
Kristian Bendiksen 576c2179da #13682 Python: Add API for well path color
Make m_wellPathColor scriptable so it is accessible via the Python API
as well_path_color (hex string). Add a test and update the
import_well_paths_and_logs example to demonstrate setting colors.
2026-03-12 08:30:52 +01:00
Magne Sjaastad 5d65057d6f RiuRecentFileActionProvider: Track last used project file via recent file list
Remove lastUsedProjectFileName from RiaPreferences and store it via the
existing recentFileList QSettings key. loadProject and saveProjectAs now
call addToRecentFiles instead of writing to preferences. A new static
method lastUsedProjectFileName() on RiuRecentFileActionProvider returns
the most recent .rsp entry from the list.
2026-03-11 12:46:43 +01:00
Magne Sjaastad ef7943feaa RiaRegressionTestRunner: Support hierarchical preference configuration
Update the preference lookup to search upward up to three levels from the test directory, allowing for shared configuration in nested folder structures. Also, ensure each test runs from a consistent baseline by saving the initial state once and restoring it after every test execution.
2026-03-11 12:46:43 +01:00
Magne Sjaastad 1fdd493bfb #13728 Telemetry: Include OS info for all events
Add OS info (os.type, os.version, os.name) to all non-crash events in
reportEventAsync. Consolidate OS info and hashUsername into an anonymous
namespace with a shared addOsInfo helper function.
2026-03-11 12:46:32 +01:00
Magne Sjaastad 9b5507611f RiuMainWindow: Add Test Progress Bar to Testing menu
Adds a "Test Progress Bar" action under File->Testing that runs a
long task on a worker thread using caf::ProgressInfo to exercise
cross-thread progress updates. Uses QEventLoop to keep the GUI thread
responsive while the worker sleeps between steps.
2026-03-10 15:32:02 +01:00
Magne Sjaastad 1a780211eb cafProgressInfo: Support progress updates from non-GUI threads
Add isOnGuiThread() helper and dispatch each static update method to
the GUI thread via QMetaObject::invokeMethod when called from a worker
thread. start()/finished() use BlockingQueuedConnection to ensure
stack integrity; description/progress updates use QueuedConnection.

Also prevent multiple overlapping dialogs by only reparenting the
progress dialog when no operation is active.
2026-03-10 15:32:02 +01:00
Magne adf33c3658 Refactor disconnect calls in AnimationToolBar to use explicit signal-slot disconnection
The following text was seen on Ubuntu 20.24, and the text disappears after this commit:
"QObject::disconnect: wildcard call disconnects from destroyed signal of QComboBox::unnamed
QObject::disconnect: wildcard call disconnects from destroyed signal of QSlider::unnamed"
2026-03-10 15:32:02 +01:00
Jon Jenssen 62519d9b24 Support custom DATA file input name.
Fix crash due to invalid cell box
2026-03-10 15:27:48 +01:00
Jon Jenssen 04dc045b19 Handle AQUNUM and AQUANCON keywords in sector export 2026-03-10 13:40:51 +01:00
Magne Sjaastad ab994cc8cf Bump to 2026.02.1-dev.03 2026-03-10 13:18:14 +01:00
Magne Sjaastad e21097a2fc #13713 RifReaderOpmCommon: Fix ACTNUM showing undefined when only stored in EGRID
ACTNUM is always present in the EGRID file, but not always in the INIT
file. The OPM reader's staticResult() searched only the INIT file, so
models that omit ACTNUM from INIT returned an empty result vector,
causing all cells to display as undefined.

Fix by deriving ACTNUM values directly from the active cell info, which
is populated from the EGRID during grid import via transferActiveCells().
2026-03-10 13:18:14 +01:00
Magne Sjaastad 85b3ad4cf5 RimReservoirGridEnsemble: Fix statistics not including all realizations
Copy result metadata from main case to all cases after loading in shared
grid mode. Without this, findOrLoadKnownScalarResultForTimeStep() returned
UNDEFINED_SIZE_T for cases 1..N, silently excluding them from statistics.
Mirrors behavior of RimIdenticalGridCaseGroup::loadMainCaseAndActiveCellInfo().

RicImportGridAndSummaryEnsembleDialog: Enable 'realization-*' filter by default
and make tree view grow vertically on dialog resize.
2026-03-10 13:17:54 +01:00
Magne Sjaastad 30eaac6535 Docs: Update Git and PR conventions
- Restructure Git conventions into sub-sections for better organization
- Add a new convention to exclude test plans from PR descriptions
2026-03-10 13:17:54 +01:00
Magne Sjaastad a94c1235c6 #13715 RiuSummaryVectorSelectionUi: Create addresses for all realizations in Plot Editor
For ensemble member cases used as individual sources in the Plot Editor,
createAddressesIfRequired() was never called, causing allResultAddresses()
to return an empty set for all non-representative realizations.
2026-03-10 11:56:38 +01:00
Magne Sjaastad c13eed4544 RiaOpenTelemetryManager: Ensure crash reports are sent before exit
- Track pending network replies using an atomic counter
- Pump the event loop in `reportCrash` to allow asynchronous telemetry requests to complete before the process terminates
- Use a timeout to prevent the crash handler from hanging indefinitely if the network is unresponsive
2026-03-09 15:34:39 +01:00
Magne Sjaastad 0ebb81ff87 RiuMainWindow: Trigger actual crash in test telemetry
- Replace manual telemetry event reporting with an intentional SIGSEGV
- This allows for testing the end-to-end crash reporting pipeline and signal handling instead of just simulating telemetry data
2026-03-09 15:34:39 +01:00
magnesj 8d57bfbe51 Bump to version 2026.02.1-dev.02 2026-03-09 14:44:48 +01:00
Magne Sjaastad 56fc450543 opm-flowdiagnostics-applications: Improvements to relative perm curves
Integrate PR https://github.com/OPM/opm-flowdiagnostics-applications/pull/116 for testing
2026-03-09 14:43:21 +01:00
Magne Sjaastad fd27722991 RicImportGridAndSummaryEnsembleFeature: Add feature for importing grid and summary ensembles
- Add RicImportGridAndSummaryEnsembleFeature with icon and menu/toolbar registration
- Register in main window toolbar, import menu (both windows)
- Add feature to plot window Standard toolbar
- Wire up post-import view and plot creation
- Skip grid/summary ensemble creation when no files of that type are found
- Keep focus in plot window when no grid ensembles are created
2026-03-09 14:43:02 +01:00
Magne Sjaastad 5b07323ac8 RicImportGridAndSummaryEnsembleDialog: Add dialog and extract shared tree helpers
- Add new RicImportGridAndSummaryEnsembleDialog for searching and selecting
  grid and summary ensemble files
- Extract firstLevelItems, setCheckedStateChildItems, findItemsMatching and
  populateComboBoxHistoryFromRegistry to public static methods on
  RicRecursiveFileSearchDialog to eliminate duplication
2026-03-09 14:43:02 +01:00
Kristian Bendiksen 00b4f180a2 #13515 Fix comma-aware parsing of gRPC string values in Python
Replace naive split(", ") in __makelist() with a quote-aware state
machine that respects quoted strings and nested brackets. Also add
__unescape_string() to reverse C++ escaping, and fix strip('"') to
only remove the outer quote pair.
2026-03-06 20:56:48 +01:00
kriben a85b49f86f Fixes by clang-format 2026-03-06 12:32:05 +01:00
Kristian Bendiksen 079372ea85 #13484 Auto-import PVD surfaces for command line and replace case
Extract auto-import logic into public static method
importPvdSurfacesForGridFiles() and call it from:
- Command line case loading (--case argument)
- Replace case menu action
2026-03-06 12:32:05 +01:00
JJ 24be78f105 Tie-in valve improvements (#13661)
Support (bool, something) pairs as tuples on python side.
Support custom outlet valve md
Add python test for custom outlet valve md
Use tie-in depth as default for custom valve md
Standalone valve creation and display updates
Update MSW valve export
Add valve open/shut flag.
Add python examples
2026-03-06 12:01:14 +01:00
jonjenssen f47de8457c Fix segfault on startup on ubuntu25.10/gcc15.2 2026-03-06 11:35:59 +01:00
kriben fcff011200 Python code linting changes detected by ruff 2026-03-06 08:52:04 +01:00
Kristian Bendiksen 58775bc1cc CI: Fix python-linting workflow to catch unfixable ruff errors
ruff check --diff only reported fixable violations, silently passing
on unfixable errors like E402. Replace with ruff check (no flags) to
fail CI on all violations. Auto-fix PR creation now only triggers on
failure for same-repo branches.
2026-03-06 08:52:04 +01:00
Kristian Bendiksen 27042e4bab Python: Fix ruff E402 lint errors in __init__.py
Move typing import to top of file and add noqa: E402 comments
to imports that must follow the sys.path.insert call.
2026-03-06 08:52:04 +01:00
Magne Sjaastad d9e3967519 Add example on creation of regions based on existing polygons 2026-03-06 08:22:16 +01:00
magnesj 759b143c5e Fixes by codespell 2026-03-06 06:44:52 +01:00
Kristian Bendiksen 75bc84e146 #12452 Python: Replace logger.error with raise RipsError in instance.py
Error conditions in launch() and find() now raise RipsError instead of
logging and returning None, making failures explicit. Updated test to
expect the exception.
2026-03-05 15:58:25 +01:00
Kristian Bendiksen e4ea6ea44f #12452 Python: Replace print() with logging API in rips module 2026-03-05 15:58:25 +01:00
Magne Sjaastad c354819e5a RigActiveCellInfo: Fix debug build error in setCellResultIndex 2026-03-04 11:27:51 +01:00
Magne Sjaastad 50009ac4d2 Use cafPdmUiButton instead of bool PdmField in multiple classes
Replace PdmField<bool> push button pattern with addNewButton() lambdas
in RiaPreferences, RiaPreferencesSummary, RicUserDefinedCalculatorUi,
RimUserDefinedPolylinesAnnotation, RimPolygonFilter, RimFractureTemplate,
RimEllipseFractureTemplate, RimMeshFractureTemplate, and
RicSummaryPlotEditorWidgetCreator.
2026-03-04 09:52:17 +01:00
Magne Sjaastad 06016d18e3 cafPdmUiButton: Add fillWidth property and expose createButton as protected
Add fillWidth() to PdmUiButton to allow buttons to expand horizontally
instead of sizing to content. Make createButton protected so subclasses
can reuse button creation logic.
2026-03-04 09:52:17 +01:00
Magne Sjaastad 9f30c981bc Remove unused cafPdmUiPushButtonEditor.h includes
Follow-up cleanup after switching from bool PdmField push buttons to cafPdmUiButton.
2026-03-04 09:52:17 +01:00
Magne Sjaastad f5234f0e06 RigWellTargetMapping: Extract private implementation into RigWellTargetMappingTools
Move private methods, DataContainer, and ClusterStatistics from
RigWellTargetMapping into a new RigWellTargetMappingTools class to reduce
header complexity. Change generateEnsembleCandidates to accept
std::vector<RimEclipseCase*> instead of RimEclipseCaseEnsemble.
2026-03-04 07:37:19 +01:00
Magne Sjaastad ed8917dc1b RigActiveCellInfo: Use type-safe index types and add ActiveCellIndex
Refactor RigActiveCellInfo to use ReservoirCellIndex and ActiveCellIndex
instead of raw size_t. Add ActiveCellIndexTag/ActiveCellIndex to
RigTypeSafeIndex.h and add inline comments describing both index types.
Deprecate raw size_t overloads.
2026-03-04 07:37:19 +01:00
magnesj 530b8c8a1a Fixes by clang-tidy 2026-03-04 03:42:23 +00:00
Magne Sjaastad 59b425ae7e #13686 Update vcpkg
Update vcpkg to https://github.com/microsoft/vcpkg/releases/tag/2025.12.12
2026-03-03 21:21:03 +01:00
Magne Sjaastad 61a69bacc4 Use cafPdmUiButton instead of bool in PdmField
* Adopts dynamic PDM buttons with lambda callbacks

Refactors PDM push buttons from boolean fields to use the `addNewButton` API with direct lambda callbacks.

This change enforces a new coding guideline to extract complex or multi-line lambdas to dedicated `on*Clicked()` methods, improving code readability and maintainability.

- Replaces `PdmField` button fields with `PdmUiOrdering::addNewButton` calls.
- Extracts multi-line/control-flow lambdas into named methods in `RimFlowCharacteristicsPlot`, `RimGeoMechCase`, and `RimStatisticsContourMap`.
- Removes obsolete `defineEditorAttribute` overrides and `fieldChangedByUi` logic for these buttons.
- Updates `RimWellPathFracture` to utilize base class-provided button creation.
- Adds new lambda line-count guideline to the coding style documentation.
- Includes minor build fixes, such as adding `cafPdmUiButton.h` and correcting tooltip API usage.
2026-03-03 08:54:45 +01:00
magnesj 76fe5fd4d5 Fixes by clang-format 2026-03-03 07:37:26 +01:00
Magne Sjaastad 5b7e62f649 RicNewStatisticsContourMapFeature: Consolidate addStatisticsContourMap to use RimReservoirGridEnsembleBase 2026-03-03 07:35:48 +01:00
Magne Sjaastad 8fdaa83f15 RimReservoirGridEnsembleBase: Make optional methods non-pure virtual with default implementations
mainGrid(), unionOfActiveCells(), computeUnionOfActiveCells(), and statisticsCaseCollection() default to null/no-op. Remove redundant overrides from RimEclipseCaseEnsemble.
2026-03-03 07:35:48 +01:00