(#396) untangled Geomech Result Definition from the use of GeoMechView

In order to reuse the RimGeoMechResultDefinition in the curve data.
This commit is contained in:
Jacob Støren 2015-09-01 17:11:23 +02:00
parent c35e3fceaf
commit 52281633d6
6 changed files with 29 additions and 49 deletions

View File

@ -112,7 +112,7 @@ void RicGeoMechPropertyFilterFeatureImpl::setDefaults(RimGeoMechPropertyFilter*
RimGeoMechView* reservoirView = propertyFilterCollection->reservoirView();
CVF_ASSERT(reservoirView);
propertyFilter->resultDefinition->setReservoirView(reservoirView);
propertyFilter->resultDefinition->setGeoMechCase(reservoirView->geoMechCase());
propertyFilter->resultDefinition->setResultAddress(reservoirView->cellResult()->resultAddress());
propertyFilter->resultDefinition->loadResult();
propertyFilter->setToDefaultValues();

View File

@ -288,7 +288,10 @@ void RivFemPartPartMgr::updateCellResultColor(size_t timeStepIndex, RimGeoMechCe
}
}
RivScalarMapperUtils::applyTextureResultsToPart(m_surfaceFaces.p(), m_surfaceFacesTextureCoords.p(), mapper, m_opacityLevel, caf::FC_NONE, cellResultColors->reservoirView()->isLightingDisabled());
RimView* view = NULL;
cellResultColors->firstAnchestorOrThisOfType(view);
RivScalarMapperUtils::applyTextureResultsToPart(m_surfaceFaces.p(), m_surfaceFacesTextureCoords.p(), mapper, m_opacityLevel, caf::FC_NONE, view->isLightingDisabled());
}
}

View File

@ -80,7 +80,7 @@ void RimGeoMechPropertyFilterCollection::loadAndInitializePropertyFilters()
for (size_t i = 0; i < propertyFilters.size(); i++)
{
RimGeoMechPropertyFilter* propertyFilter = propertyFilters[i];
propertyFilter->resultDefinition->setGeoMechCase(reservoirView()->geoMechCase());
propertyFilter->resultDefinition->loadResult();
propertyFilter->computeResultValueRange();
}
@ -96,7 +96,7 @@ void RimGeoMechPropertyFilterCollection::initAfterRead()
RimGeoMechPropertyFilter* propertyFilter = propertyFilters[i];
propertyFilter->setParentContainer(this);
propertyFilter->resultDefinition->setReservoirView(reservoirView());
propertyFilter->resultDefinition->setGeoMechCase(reservoirView()->geoMechCase());
propertyFilter->updateIconState();
}

View File

@ -94,7 +94,7 @@ QList<caf::PdmOptionItemInfo> RimGeoMechResultDefinition::calculateValueOptions(
QList<caf::PdmOptionItemInfo> options;
*useOptionsOnly = true;
if (m_reservoirView)
if (m_geomCase)
{
@ -110,19 +110,6 @@ QList<caf::PdmOptionItemInfo> RimGeoMechResultDefinition::calculateValueOptions(
{
options.push_back(caf::PdmOptionItemInfo(uiVarNames[oIdx], varNames[oIdx]));
}
#if 0
for (auto fieldIt = fieldCompNames.begin(); fieldIt != fieldCompNames.end(); ++fieldIt)
{
options.push_back(caf::PdmOptionItemInfo(QString::fromStdString(fieldIt->first), QString::fromStdString(fieldIt->first)));
for (auto compIt = fieldIt->second.begin(); compIt != fieldIt->second.end(); ++compIt)
{
options.push_back(caf::PdmOptionItemInfo(QString::fromStdString(" " + *compIt), QString::fromStdString(fieldIt->first + " " + *compIt)));
}
}
#endif
}
}
@ -130,24 +117,15 @@ QList<caf::PdmOptionItemInfo> RimGeoMechResultDefinition::calculateValueOptions(
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimGeoMechResultDefinition::setReservoirView(RimGeoMechView* ownerReservoirView)
void RimGeoMechResultDefinition::setGeoMechCase(RimGeoMechCase* geomCase)
{
m_reservoirView = ownerReservoirView;
m_geomCase = geomCase;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimGeoMechView* RimGeoMechResultDefinition::reservoirView()
{
return m_reservoirView;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@ -174,6 +152,8 @@ void RimGeoMechResultDefinition::fieldChangedByUi(const caf::PdmFieldHandle* cha
// Get the possible property filter owner
RimGeoMechPropertyFilter* propFilter = dynamic_cast<RimGeoMechPropertyFilter*>(this->parentField()->ownerObject());
RimView* view = NULL;
this->firstAnchestorOrThisOfType(view);
if (&m_resultVariableUiField == changedField)
{
@ -191,30 +171,25 @@ void RimGeoMechResultDefinition::fieldChangedByUi(const caf::PdmFieldHandle* cha
m_resultComponentName = "";
}
if (m_reservoirView->geoMechCase()->geoMechData()->femPartResults()->assertResultsLoaded(this->resultAddress()))
if (m_geomCase->geoMechData()->femPartResults()->assertResultsLoaded(this->resultAddress()))
{
m_reservoirView->hasUserRequestedAnimation = true;
if (view) view->hasUserRequestedAnimation = true;
}
if (propFilter)
{
propFilter->setToDefaultValues();
((RimView*)reservoirView())->scheduleGeometryRegen(PROPERTY_FILTERED);
if (view) view->scheduleGeometryRegen(PROPERTY_FILTERED);
}
reservoirView()->scheduleCreateDisplayModelAndRedraw();
if (view) view->scheduleCreateDisplayModelAndRedraw();
if (dynamic_cast<RimGeoMechCellColors*>(this))
{
RimView* view = NULL;
this->firstAnchestorOrThisOfType(view);
if (view)
{
view->managedViewCollection->updateCellResult();
}
if (view) view->managedViewCollection->updateCellResult();
}
}
}
@ -230,7 +205,7 @@ void RimGeoMechResultDefinition::fieldChangedByUi(const caf::PdmFieldHandle* cha
//--------------------------------------------------------------------------------------------------
std::map<std::string, std::vector<std::string> > RimGeoMechResultDefinition::getResultMetaDataForUIFieldSetting()
{
RimGeoMechCase* gmCase = m_reservoirView->geoMechCase();
RimGeoMechCase* gmCase = m_geomCase;
if (gmCase && gmCase->geoMechData())
{
return gmCase->geoMechData()->femPartResults()->scalarFieldAndComponentNames(m_resultPositionTypeUiField());
@ -296,9 +271,9 @@ void RimGeoMechResultDefinition::initAfterRead()
//--------------------------------------------------------------------------------------------------
void RimGeoMechResultDefinition::loadResult()
{
if (m_reservoirView->geoMechCase())
if (m_geomCase)
{
m_reservoirView->geoMechCase()->geoMechData()->femPartResults()->assertResultsLoaded(this->resultAddress());
m_geomCase->geoMechData()->femPartResults()->assertResultsLoaded(this->resultAddress());
}
}
@ -307,7 +282,7 @@ void RimGeoMechResultDefinition::loadResult()
//--------------------------------------------------------------------------------------------------
RigGeoMechCaseData* RimGeoMechResultDefinition::ownerCaseData()
{
return m_reservoirView->geoMechCase()->geoMechData();
return m_geomCase->geoMechData();
}
//--------------------------------------------------------------------------------------------------

View File

@ -30,6 +30,7 @@ class RimGeoMechView;
class RimGeoMechPropertyFilter;
class RifGeoMechReaderInterface;
class RigGeoMechCaseData;
class RimGeoMechCase;
//==================================================================================================
///
@ -43,8 +44,7 @@ public:
RimGeoMechResultDefinition(void);
virtual ~RimGeoMechResultDefinition(void);
void setReservoirView(RimGeoMechView* ownerReservoirView);
RimGeoMechView* reservoirView();
void setGeoMechCase(RimGeoMechCase* geomCase);
RigGeoMechCaseData* ownerCaseData();
bool hasResult();
@ -82,7 +82,7 @@ private:
caf::PdmField<caf::AppEnum<RigFemResultPosEnum> > m_resultPositionTypeUiField;
caf::PdmField<QString> m_resultVariableUiField;
caf::PdmPointer<RimGeoMechView> m_reservoirView;
caf::PdmPointer<RimGeoMechCase> m_geomCase;
static QString convertToUiResultFieldName(QString resultFieldName);
};

View File

@ -81,7 +81,7 @@ RimGeoMechView::RimGeoMechView(void)
m_propertyFilterCollection = new RimGeoMechPropertyFilterCollection();
m_propertyFilterCollection.uiCapability()->setUiHidden(true);
this->cellResult()->setReservoirView(this);
//this->cellResult()->setReservoirView(this);
this->cellResult()->legendConfig()->setReservoirView(this);
m_scaleTransform = new cvf::Transform();
@ -362,6 +362,8 @@ void RimGeoMechView::updateDisplayModelVisibility()
void RimGeoMechView::setGeoMechCase(RimGeoMechCase* gmCase)
{
m_geomechCase = gmCase;
cellResult()->setGeoMechCase(gmCase);
}
//--------------------------------------------------------------------------------------------------
@ -494,7 +496,7 @@ void RimGeoMechView::fieldChangedByUi(const caf::PdmFieldHandle* changedField, c
//--------------------------------------------------------------------------------------------------
void RimGeoMechView::initAfterRead()
{
this->cellResult()->setReservoirView(this);
this->cellResult()->setGeoMechCase(m_geomechCase);
this->updateUiIconFromToggleField();
}