mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2509 Fracture : Disconnect fracture template when unit changes
This commit is contained in:
parent
1b7dabdc51
commit
8ad30d9350
@ -66,6 +66,8 @@ void RicConvertAllFractureTemplatesToFieldFeature::onActionTriggered(bool isChec
|
||||
if (ellipseFracTemplate->fractureTemplateUnit() == RiaEclipseUnitTools::UNITS_METRIC)
|
||||
{
|
||||
ellipseFracTemplate->changeUnits();
|
||||
|
||||
ellipseFracTemplate->disconnectAllFracturesAndRedrawViews();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -66,6 +66,8 @@ void RicConvertAllFractureTemplatesToMetricFeature::onActionTriggered(bool isChe
|
||||
if (ellipseFracTemplate->fractureTemplateUnit() == RiaEclipseUnitTools::UNITS_FIELD)
|
||||
{
|
||||
ellipseFracTemplate->changeUnits();
|
||||
|
||||
ellipseFracTemplate->disconnectAllFracturesAndRedrawViews();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -68,6 +68,8 @@ void RicConvertFractureTemplateUnitFeature::onActionTriggered(bool isChecked)
|
||||
fractureTemplate->convertToUnitSystem(RiaEclipseUnitTools::UNITS_METRIC);
|
||||
}
|
||||
|
||||
fractureTemplate->disconnectAllFracturesAndRedrawViews();
|
||||
|
||||
fractureTemplate->updateConnectedEditors();
|
||||
}
|
||||
|
||||
|
@ -324,6 +324,8 @@ std::vector<std::pair<QString, QString>> RimEllipseFractureTemplate::uiResultNam
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimEllipseFractureTemplate::convertToUnitSystem(RiaEclipseUnitTools::UnitSystem neededUnit)
|
||||
{
|
||||
if (m_fractureTemplateUnit() == neededUnit) return;
|
||||
|
||||
setFractureTemplateUnit(neededUnit);
|
||||
RimFractureTemplate::convertToUnitSystem(neededUnit);
|
||||
|
||||
|
@ -582,6 +582,34 @@ void RimFractureTemplate::convertToUnitSystem(RiaEclipseUnitTools::UnitSystem ne
|
||||
// TODO : Convert NON-darcy values
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFractureTemplate::disconnectAllFracturesAndRedrawViews() const
|
||||
{
|
||||
// The unit has changed. Disconnect all fractures referencing this fracture template to avoid mix of units between fracture
|
||||
// and template
|
||||
|
||||
std::vector<caf::PdmObjectHandle*> referringObjects;
|
||||
this->objectsWithReferringPtrFields(referringObjects);
|
||||
|
||||
for (auto objHandle : referringObjects)
|
||||
{
|
||||
RimFracture* fracture = dynamic_cast<RimFracture*>(objHandle);
|
||||
if (fracture)
|
||||
{
|
||||
fracture->setFractureTemplate(nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
RimProject* proj;
|
||||
this->firstAncestorOrThisOfType(proj);
|
||||
if (proj)
|
||||
{
|
||||
proj->createDisplayModelAndRedrawAllViews();
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -144,6 +144,8 @@ public:
|
||||
|
||||
virtual void loadDataAndUpdate() = 0;
|
||||
|
||||
void disconnectAllFracturesAndRedrawViews() const;
|
||||
|
||||
|
||||
protected:
|
||||
virtual caf::PdmFieldHandle* userDescriptionField() override;
|
||||
|
@ -501,6 +501,8 @@ bool RimStimPlanFractureTemplate::showStimPlanMesh() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimStimPlanFractureTemplate::convertToUnitSystem(RiaEclipseUnitTools::UnitSystem neededUnit)
|
||||
{
|
||||
if (m_fractureTemplateUnit() == neededUnit) return;
|
||||
|
||||
setFractureTemplateUnit(neededUnit);
|
||||
RimFractureTemplate::convertToUnitSystem(neededUnit);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user