#13411 Sector Model Export: unify BOX/ENDBOX processing into single pass

Replace 7 separate deck iterations (cropDataKeywordsInsideBoxContext,
expandBoxContextInDeckFile, and 5 replace*KeywordIndices wrappers) with
a single transformKeywordsInDeckFile function that tracks BOX/ENDBOX
state once and handles all keyword types as they are encountered.
This commit is contained in:
Kristian Bendiksen committed 2026-03-20 14:30:34 +01:00
1 parent fce37b8fdb
commit 539eec6cc5
3 files changed
+196 -250

No files matched your search

@@ -26,6 +26,7 @@
#include <expected>
#include <functional>
#include <map>
#include <set>
#include <string>
#include <vector>
@@ -102,11 +103,8 @@ public:
static std::vector<int> createRefinedVisibility( const RigGridExportAdapter& gridAdapter );
static void expandBoxContextInDeckFile( RifOpmFlowDeckFile& deckFile );
static void cropDataKeywordsInsideBoxContext( RifOpmFlowDeckFile& deckFile,
const caf::VecIjk0& sectorMin,
const caf::VecIjk0& sectorMax,
const cvf::Vec3st& refinement );
static std::expected<void, QString>
transformKeywordsInDeckFile( RimEclipseCase* eclipseCase, const RigSimulationInputSettings& settings, RifOpmFlowDeckFile& deckFile );
// Public EDITNNC methods for testing
static std::vector<NNCConnection> extractDeckEditNncConnections( RifOpmFlowDeckFile& deckFile, const RigMainGrid& mainGrid );
@@ -144,21 +142,6 @@ private:
cvf::ref<cvf::UByteArray> visibility,
RifOpmFlowDeckFile& deckFile );
static std::expected<void, QString>
replaceEqualsKeywordIndices( RimEclipseCase* eclipseCase, const RigSimulationInputSettings& settings, RifOpmFlowDeckFile& deckFile );
static std::expected<void, QString>
replaceMultiplyKeywordIndices( RimEclipseCase* eclipseCase, const RigSimulationInputSettings& settings, RifOpmFlowDeckFile& deckFile );
static std::expected<void, QString>
replaceBoxKeywordIndices( RimEclipseCase* eclipseCase, const RigSimulationInputSettings& settings, RifOpmFlowDeckFile& deckFile );
static std::expected<void, QString>
replaceCopyKeywordIndices( RimEclipseCase* eclipseCase, const RigSimulationInputSettings& settings, RifOpmFlowDeckFile& deckFile );
static std::expected<void, QString>
replaceAddKeywordIndices( RimEclipseCase* eclipseCase, const RigSimulationInputSettings& settings, RifOpmFlowDeckFile& deckFile );
static std::expected<void, QString>
replaceAquconKeywordIndices( RimEclipseCase* eclipseCase, const RigSimulationInputSettings& settings, RifOpmFlowDeckFile& deckFile );