#8375 Flow Vectors : Avoid recomputing NNCs when accessing flow data

Avoid include of RigNNCData.h in header files.
This commit is contained in:
Magne Sjaastad
2021-12-17 12:44:06 +01:00
parent 4cf0efad61
commit 869921d300
24 changed files with 124 additions and 73 deletions

View File

@@ -29,6 +29,7 @@
#include "RigEclipseCaseData.h"
#include "RigEclipseResultAddress.h"
#include "RigMainGrid.h"
#include "RigNNCData.h"
#include "cafDisplayCoordTransform.h"
@@ -224,11 +225,11 @@ void RivElementVectorResultPartMgr::appendDynamicGeometryPartsToModel( cvf::Mode
}
}
RigNNCData* nncData = eclipseCaseData->mainGrid()->nncData();
size_t numNncConnections = nncData->connections().size();
if ( result->showNncData() )
{
RigNNCData* nncData = eclipseCaseData->mainGrid()->nncData();
nncData->buildPolygonsForEclipseConnections();
std::vector<const std::vector<std::vector<double>>*> nncResultVals;
std::vector<RigEclipseResultAddress> combinedAddresses;
result->resultAddressesCombined( combinedAddresses );
@@ -244,9 +245,9 @@ void RivElementVectorResultPartMgr::appendDynamicGeometryPartsToModel( cvf::Mode
}
}
for ( size_t nIdx = 0; nIdx < numNncConnections; ++nIdx )
for ( size_t nIdx = 0; nIdx < nncData->eclipseConnectionCount(); ++nIdx )
{
const RigConnection& conn = nncData->connections()[nIdx];
const RigConnection& conn = nncData->eclipseConnections()[nIdx];
if ( conn.polygon().size() )
{
double resultValue = 0.0;

View File

@@ -76,7 +76,7 @@ void RivNNCGeometryGenerator::computeArrays()
const cvf::Vec3f offset( m_offset );
long long numConnections =
static_cast<long long>( m_nncIndexes.isNull() ? m_nncData->connections().size() : m_nncIndexes->size() );
static_cast<long long>( m_nncIndexes.isNull() ? m_nncData->allConnections().size() : m_nncIndexes->size() );
bool isVisibilityCalcActive = m_cellVisibility.notNull() && m_grid.notNull();
std::vector<RigCell>* allCells = nullptr;
@@ -90,12 +90,12 @@ void RivNNCGeometryGenerator::computeArrays()
{
size_t conIdx = m_nncIndexes.isNull() ? nIdx : ( *m_nncIndexes )[nIdx];
if ( !m_includeAllanDiagramGeometry && conIdx >= m_nncData->nativeConnectionCount() )
if ( !m_includeAllanDiagramGeometry && conIdx >= m_nncData->eclipseConnectionCount() )
{
continue;
}
const RigConnection& conn = m_nncData->connections()[conIdx];
const RigConnection& conn = m_nncData->allConnections()[conIdx];
if ( conn.polygon().size() )
{

View File

@@ -20,6 +20,7 @@
#include "RivReservoirFaultsPartMgr.h"
#include "RigMainGrid.h"
#include "RigNNCData.h"
#include "RimEclipseCase.h"
#include "RimEclipseCellColors.h"
@@ -200,7 +201,7 @@ void RivReservoirFaultsPartMgr::appendPartsToModel( cvf::ModelBasicList* model )
if ( showNncs )
{
RigMainGrid* mainGrid = m_reservoirView->mainGrid();
mainGrid->nncData()->ensureConnectionDataIsProcessed();
mainGrid->nncData()->ensureAllConnectionDataIsProcessed();
if ( showCompleteNncGeo )
{

View File

@@ -37,6 +37,8 @@
#include "cvfModelBasicList.h"
#include "cvfPart.h"
#include <cmath>
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------