From 417ef314b419921f839410e8914e414bbf88045b Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Thu, 30 Aug 2018 08:26:29 +0200 Subject: [PATCH] #3246 Fracture Visualization: Move fracture coordinates into separate scope --- .../RivWellFracturePartMgr.cpp | 35 +++++++++++-------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/ApplicationCode/ModelVisualization/RivWellFracturePartMgr.cpp b/ApplicationCode/ModelVisualization/RivWellFracturePartMgr.cpp index 0fffcf5e8f..0cbe95491f 100644 --- a/ApplicationCode/ModelVisualization/RivWellFracturePartMgr.cpp +++ b/ApplicationCode/ModelVisualization/RivWellFracturePartMgr.cpp @@ -324,14 +324,16 @@ cvf::ref RivWellFracturePartMgr::createEllipseSurfacePart(const RimEc if (m_rimFracture) { - std::vector nodeCoords; std::vector triangleIndices; + std::vector nodeDisplayCoords; - m_rimFracture->fractureTemplate()->fractureTriangleGeometry(&nodeCoords, &triangleIndices); + { + std::vector nodeCoords; + m_rimFracture->fractureTemplate()->fractureTriangleGeometry(&nodeCoords, &triangleIndices); - cvf::Mat4d fractureXf = m_rimFracture->transformMatrix(); - std::vector nodeDisplayCoords = - transformToFractureDisplayCoords(nodeCoords, fractureXf, *displayCoordTransform); + cvf::Mat4d fractureXf = m_rimFracture->transformMatrix(); + nodeDisplayCoords = transformToFractureDisplayCoords(nodeCoords, fractureXf, *displayCoordTransform); + } if (triangleIndices.empty() || nodeDisplayCoords.empty()) { @@ -396,18 +398,20 @@ cvf::ref RivWellFracturePartMgr::createStimPlanColorInterpolatedSurfa // Note that the filtering and result mapping code below couples closely to the triangulation and vertex layout returned by // triangleGeometry() If this ever changes, the entire code must be revisited - std::vector nodeCoords; std::vector triangleIndices; - - stimPlanFracTemplate->fractureTriangleGeometry(&nodeCoords, &triangleIndices); - - if (triangleIndices.empty() || nodeCoords.empty()) + std::vector nodeDisplayCoords; { - return nullptr; - } + std::vector nodeCoords; + stimPlanFracTemplate->fractureTriangleGeometry(&nodeCoords, &triangleIndices); - cvf::Mat4d fractureXf = m_rimFracture->transformMatrix(); - std::vector nodeDisplayCoords = transformToFractureDisplayCoords(nodeCoords, fractureXf, *displayCoordTransform); + if (triangleIndices.empty() || nodeCoords.empty()) + { + return nullptr; + } + + cvf::Mat4d fractureXf = m_rimFracture->transformMatrix(); + nodeDisplayCoords = transformToFractureDisplayCoords(nodeCoords, fractureXf, *displayCoordTransform); + } RimRegularLegendConfig* legendConfig = nullptr; if (activeView.fractureColors() && activeView.fractureColors()->isChecked()) @@ -422,7 +426,8 @@ cvf::ref RivWellFracturePartMgr::createStimPlanColorInterpolatedSurfa // Since some time steps don't have result vales, we initialize the array to well known values before populating it std::vector perNodeResultValues(nodeDisplayCoords.size(), HUGE_VAL); { - size_t idx = 0; + size_t idx = 0; + const std::vector> dataToPlot = stimPlanFracTemplate->resultValues(activeView.fractureColors()->uiResultName(), activeView.fractureColors()->unit(),