mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#1138 - pre-proto - Using legend config for controlling colors of stimPlan fracture
This commit is contained in:
@@ -32,6 +32,7 @@
|
|||||||
#include "cvfPrimitiveSetIndexedUInt.h"
|
#include "cvfPrimitiveSetIndexedUInt.h"
|
||||||
#include "cvfScalarMapperContinuousLinear.h"
|
#include "cvfScalarMapperContinuousLinear.h"
|
||||||
#include "RimStimPlanFractureTemplate.h"
|
#include "RimStimPlanFractureTemplate.h"
|
||||||
|
#include "RimLegendConfig.h"
|
||||||
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -133,7 +134,7 @@ void RivWellFracturePartMgr::updatePartGeometryTexture(caf::DisplayCoordTransfor
|
|||||||
dataToPlot = stimPlanFracTemplate->getWidthsAtTimeStep(timeStepIndex);
|
dataToPlot = stimPlanFracTemplate->getWidthsAtTimeStep(timeStepIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dataToPlot.empty()) return;
|
if (dataToPlot.empty()) return; //TODO: Set all values to undefined if no data available...
|
||||||
|
|
||||||
const std::vector<cvf::Vec3f>& nodeCoords = m_rimFracture->nodeCoords();
|
const std::vector<cvf::Vec3f>& nodeCoords = m_rimFracture->nodeCoords();
|
||||||
const std::vector<cvf::uint>& triangleIndices = m_rimFracture->triangleIndices();
|
const std::vector<cvf::uint>& triangleIndices = m_rimFracture->triangleIndices();
|
||||||
@@ -151,19 +152,20 @@ void RivWellFracturePartMgr::updatePartGeometryTexture(caf::DisplayCoordTransfor
|
|||||||
m_part = new cvf::Part;
|
m_part = new cvf::Part;
|
||||||
m_part->setDrawable(geo.p());
|
m_part->setDrawable(geo.p());
|
||||||
|
|
||||||
|
RimLegendConfig* legend = m_rimFracture->activeLegend();
|
||||||
cvf::ref<cvf::ScalarMapperContinuousLinear> scalarMapper = new cvf::ScalarMapperContinuousLinear;
|
cvf::ScalarMapper* scalarMapper = legend->scalarMapper();
|
||||||
{
|
// cvf::ref<cvf::ScalarMapperContinuousLinear> scalarMapper = new cvf::ScalarMapperContinuousLinear;
|
||||||
cvf::Color3ubArray legendColors;
|
// {
|
||||||
legendColors.resize(4);
|
// cvf::Color3ubArray legendColors;
|
||||||
legendColors[0] = cvf::Color3::GRAY;
|
// legendColors.resize(4);
|
||||||
legendColors[1] = cvf::Color3::GREEN;
|
// legendColors[0] = cvf::Color3::GRAY;
|
||||||
legendColors[2] = cvf::Color3::BLUE;
|
// legendColors[1] = cvf::Color3::GREEN;
|
||||||
legendColors[3] = cvf::Color3::RED;
|
// legendColors[2] = cvf::Color3::BLUE;
|
||||||
scalarMapper->setColors(legendColors);
|
// legendColors[3] = cvf::Color3::RED;
|
||||||
scalarMapper->setRange(0.0, 4.0);
|
// scalarMapper->setColors(legendColors);
|
||||||
scalarMapper->setLevelCount(4, true);
|
// scalarMapper->setRange(0.0, 4.0);
|
||||||
}
|
// scalarMapper->setLevelCount(4, true);
|
||||||
|
// }
|
||||||
|
|
||||||
//double scalarValue = i % 4;
|
//double scalarValue = i % 4;
|
||||||
|
|
||||||
@@ -186,8 +188,8 @@ void RivWellFracturePartMgr::updatePartGeometryTexture(caf::DisplayCoordTransfor
|
|||||||
|
|
||||||
geo->setTextureCoordArray(textureCoords.p());
|
geo->setTextureCoordArray(textureCoords.p());
|
||||||
|
|
||||||
caf::ScalarMapperEffectGenerator nncEffgen(scalarMapper.p(), caf::PO_NEG_LARGE);
|
caf::ScalarMapperEffectGenerator scalarMapperEffectGenerator(scalarMapper, caf::PO_NEG_LARGE);
|
||||||
cvf::ref<cvf::Effect> eff = nncEffgen.generateUnCachedEffect();
|
cvf::ref<cvf::Effect> eff = scalarMapperEffectGenerator.generateUnCachedEffect();
|
||||||
|
|
||||||
m_part->setEffect(eff.p());
|
m_part->setEffect(eff.p());
|
||||||
}
|
}
|
||||||
@@ -217,6 +219,8 @@ std::vector<double> RivWellFracturePartMgr::mirrorDataAtSingleDepth(std::vector<
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RivWellFracturePartMgr::appendGeometryPartsToModel(cvf::ModelBasicList* model, caf::DisplayCoordTransform* displayCoordTransform)
|
void RivWellFracturePartMgr::appendGeometryPartsToModel(cvf::ModelBasicList* model, caf::DisplayCoordTransform* displayCoordTransform)
|
||||||
{
|
{
|
||||||
|
clearGeometryCache();
|
||||||
|
|
||||||
if (m_part.isNull())
|
if (m_part.isNull())
|
||||||
{
|
{
|
||||||
if (m_rimFracture->attachedFractureDefinition())
|
if (m_rimFracture->attachedFractureDefinition())
|
||||||
|
|||||||
@@ -705,10 +705,9 @@ void RimFracture::defineEditorAttribute(const caf::PdmFieldHandle* field, QStrin
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimFracture::defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName /*= ""*/)
|
void RimFracture::defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName /*= ""*/)
|
||||||
{
|
{
|
||||||
// TODO: Based on selected result, show correct legend
|
if (stimPlanParameterToPlot == RimFracture::CONDUCTIVITY) uiTreeOrdering.add(m_legendConfigConductivity);
|
||||||
if (RimFracture::CONDUCTIVITY) uiTreeOrdering.add(m_legendConfigConductivity);
|
else if (stimPlanParameterToPlot == RimFracture::PERMEABILITY) uiTreeOrdering.add(m_legendConfigPermeability);
|
||||||
if (RimFracture::PERMEABILITY) uiTreeOrdering.add(m_legendConfigPermeability);
|
else if (stimPlanParameterToPlot == RimFracture::WIDTH) uiTreeOrdering.add(m_legendConfigWidth);
|
||||||
if (RimFracture::WIDTH) uiTreeOrdering.add(m_legendConfigWidth);
|
|
||||||
|
|
||||||
uiTreeOrdering.setForgetRemainingFields(true);
|
uiTreeOrdering.setForgetRemainingFields(true);
|
||||||
}
|
}
|
||||||
@@ -794,6 +793,18 @@ RivWellFracturePartMgr* RimFracture::fracturePartManager()
|
|||||||
return m_rivFracture.p();
|
return m_rivFracture.p();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
RimLegendConfig* RimFracture::activeLegend()
|
||||||
|
{
|
||||||
|
if (stimPlanParameterToPlot == RimFracture::CONDUCTIVITY) return m_legendConfigConductivity;
|
||||||
|
else if (stimPlanParameterToPlot == RimFracture::PERMEABILITY) return m_legendConfigPermeability;
|
||||||
|
else if (stimPlanParameterToPlot == RimFracture::WIDTH) return m_legendConfigWidth;
|
||||||
|
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -80,6 +80,7 @@ public:
|
|||||||
RimFractureTemplate* attachedFractureDefinition() const;
|
RimFractureTemplate* attachedFractureDefinition() const;
|
||||||
|
|
||||||
RivWellFracturePartMgr* fracturePartManager();
|
RivWellFracturePartMgr* fracturePartManager();
|
||||||
|
RimLegendConfig* activeLegend();
|
||||||
|
|
||||||
bool hasValidGeometry() const;
|
bool hasValidGeometry() const;
|
||||||
void computeGeometry();
|
void computeGeometry();
|
||||||
|
|||||||
Reference in New Issue
Block a user