Skip to content

#TBD Sector export: Add declarative refinement regions#13896

Draft
kriben wants to merge 5 commits intodevfrom
predefined-refinement-regions-export
Draft

#TBD Sector export: Add declarative refinement regions#13896
kriben wants to merge 5 commits intodevfrom
predefined-refinement-regions-export

Conversation

@kriben
Copy link
Copy Markdown
Collaborator

@kriben kriben commented Apr 17, 2026

Promote sector-export refinement from inline wizard fields to first-class PDM objects so users can create, edit, and preview refinement regions in the 3D view before opening the export dialog.

  • Add RimRefinementRegion (IJK bounds + embedded RicRefinementSettings for uniform/non-uniform refinement) and RimRefinementRegionCollection (attached to each RimEclipseView, persists in the project file).
  • Render each active region as a wireframe box in the 3D view via the new RivRefinementRegionPartMgr, reusing RivBoxGeometryGenerator.
  • Add RicNewRefinementRegionFeature; context menu on view/collection/region.
  • Replace the sector-export wizard's Refinement page with a multi-select of regions defined in the tree. The combiner enforces disjoint per-axis projections across selected regions and surfaces a clear error on the wizard page if two regions disagree on a shared I/J/K index.

@kriben kriben force-pushed the predefined-refinement-regions-export branch from e0209b4 to 35dc661 Compare April 20, 2026 09:39
kriben added 4 commits April 22, 2026 14:50
Promote sector-export refinement from inline wizard fields to first-class
PDM objects so users can create, edit, and preview refinement regions in
the 3D view before opening the export dialog.

- Add RimRefinementRegion (IJK bounds + embedded RicRefinementSettings for
  uniform/non-uniform refinement) and RimRefinementRegionCollection
  (attached to each RimEclipseView, persists in the project file).
- Render each active region as a wireframe box in the 3D view via the new
  RivRefinementRegionPartMgr, reusing RivBoxGeometryGenerator.
- Add RicNewRefinementRegionFeature; context menu on view/collection/region.
- Replace the sector-export wizard's Refinement page with a multi-select
  of regions defined in the tree. The combiner enforces disjoint per-axis
  projections across selected regions and surfaces a clear error on the
  wizard page if two regions disagree on a shared I/J/K index.
…change

RicRefinementSettings::fieldChangedByUi previously only called
updateConnectedEditors(), so changing the refinement mode or any of the
non-uniform sub-fields did not refresh the 3D preview. Add an ancestor
lookup that schedules a display-model rebuild on the enclosing view when
the settings are embedded in a RimRefinementRegion. The lookup returns
null in the standalone sector-export wizard, so that flow is unchanged.
updateCellResultColor() called mapper->mapToTextureCoord() directly, so
sentinel values clamped to the legend's min/max color instead of the
grey undefined color. Match RivDefaultResultToTextureMapper::getTexCoord
by short-circuiting HUGE_VAL, NaN, and both signs of infinity to
texture coord (0, 1.0), which targets the legend's undefined row.
…n list

RicRefinementSettings no longer exposes a None/Uniform/Non-Uniform top-level
mode. Deleting the region replaces NONE; LINEAR_EQUAL_SPLIT with all three
axes enabled replaces UNIFORM(N,M,P) — the two paths produce identical
cumulative fractions via RigNonUniformRefinement. Dropping the enum removes
the UNIFORM/NONE branches and the uniform-count fields (RefinementCountI/J/K)
entirely.

- RefinementMode enum, RefinementModeEnum typedef, refinementMode() and
  refinement() accessors, and m_refinementMode / m_refinementCountI/J/K
  fields removed.
- effectiveRefinement() always delegates to nonUniformRefinement().
- addToUiOrdering drops the radio and the uniform-count row; the sub-mode
  dropdown is relabelled "Refinement Mode" and shown unconditionally.
- LINEAR_EQUAL_SPLIT moved to the top of the enum (and kept as setDefault)
  so new regions pick it up both as the default and the first listed item.
- m_nonUniformEnableI/J/K default flipped to true so a new region previews
  a 2x2x2 refinement without extra clicks.
- validateSettings drops the NONE early-return and the UNIFORM branch.
- RicExportSectorModelUi: set heightHint=100 on the "Regions to Include
  in Export" tree-selection editor so the dialog box is less oversized.

No external callers reference the removed enum or accessors; no project-file
migration is needed since the feature has not shipped.
@kriben kriben force-pushed the predefined-refinement-regions-export branch from 35dc661 to c1ef3fb Compare April 22, 2026 12:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant