#12957 Sector Model Export: introduce RigRefinement interface hierarchy

Replace the monolithic RigNonUniformRefinement class with a proper
polymorphic hierarchy: RigRefinement (abstract base), RigNoRefinement
(identity), RigUniformRefinement (O(1) uniform), and
RigNonUniformRefinement (per-cell custom fractions).

Ownership uses std::unique_ptr<RigRefinement>, consumers receive
const RigRefinement&. This eliminates the misleading class name,
removes effectiveRefinement() indirection, and gives each refinement
mode an appropriately optimized implementation.
This commit is contained in:
Kristian Bendiksen committed 2026-03-30 11:24:56 +02:00
1 parent 4aa0910db3
commit 3067823e71
33 files changed
+922 -796

No files matched your search

@@ -460,7 +460,7 @@ RicRefinementSettings* RicExportSectorModelUi::refinementSettings() const
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RigNonUniformRefinement RicExportSectorModelUi::effectiveRefinement() const
std::unique_ptr<RigRefinement> RicExportSectorModelUi::effectiveRefinement() const
{
m_refinementSettings->setSectorBounds( min(), max() );
return m_refinementSettings->effectiveRefinement();
@@ -475,15 +475,6 @@ cvf::Vec3st RicExportSectorModelUi::refinement() const
return m_refinementSettings->refinement();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RigNonUniformRefinement RicExportSectorModelUi::nonUniformRefinement() const
{
m_refinementSettings->setSectorBounds( min(), max() );
return m_refinementSettings->nonUniformRefinement();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------