mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2509 Fracture : Find matching template when adding new fracture
This commit is contained in:
@@ -93,17 +93,20 @@ void RicNewSimWellFractureAtPosFeature::onActionTriggered(bool isChecked)
|
||||
|
||||
fracture->setName(QString("Fracture_") + fracNum);
|
||||
|
||||
auto unitSet = RiaEclipseUnitTools::UNITS_UNKNOWN;
|
||||
{
|
||||
RimEclipseResultCase* eclipseCase = nullptr;
|
||||
simWell->firstAncestorOrThisOfType(eclipseCase);
|
||||
fracture->setFractureUnit(eclipseCase->eclipseCaseData()->unitsType());
|
||||
if (eclipseCase)
|
||||
{
|
||||
unitSet = eclipseCase->eclipseCaseData()->unitsType();
|
||||
}
|
||||
|
||||
fracture->setFractureUnit(unitSet);
|
||||
}
|
||||
|
||||
if (oilfield->fractureDefinitionCollection->fractureDefinitions.size() > 0)
|
||||
{
|
||||
RimFractureTemplate* fracDef = oilfield->fractureDefinitionCollection->fractureDefinitions[0];
|
||||
fracture->setFractureTemplate(fracDef);
|
||||
}
|
||||
RimFractureTemplate* fracDef = oilfield->fractureDefinitionCollection->firstFractureOfUnit(unitSet);
|
||||
fracture->setFractureTemplate(fracDef);
|
||||
|
||||
simWell->updateConnectedEditors();
|
||||
RiuMainWindow::instance()->selectAsCurrentItem(fracture);
|
||||
|
||||
@@ -81,17 +81,19 @@ void RicNewSimWellFractureFeature::onActionTriggered(bool isChecked)
|
||||
|
||||
fracture->setName(RicFractureNameGenerator::nameForNewFracture());
|
||||
|
||||
auto unitSet = RiaEclipseUnitTools::UNITS_UNKNOWN;
|
||||
{
|
||||
RimEclipseResultCase* eclipseCase = nullptr;
|
||||
objHandle->firstAncestorOrThisOfType(eclipseCase);
|
||||
fracture->setFractureUnit(eclipseCase->eclipseCaseData()->unitsType());
|
||||
if (eclipseCase)
|
||||
{
|
||||
unitSet = eclipseCase->eclipseCaseData()->unitsType();
|
||||
}
|
||||
fracture->setFractureUnit(unitSet);
|
||||
}
|
||||
|
||||
if (oilfield->fractureDefinitionCollection->fractureDefinitions.size() > 0)
|
||||
{
|
||||
RimFractureTemplate* fracDef = oilfield->fractureDefinitionCollection->fractureDefinitions[0];
|
||||
fracture->setFractureTemplate(fracDef);
|
||||
}
|
||||
RimFractureTemplate* fracDef = oilfield->fractureDefinitionCollection->firstFractureOfUnit(unitSet);
|
||||
fracture->setFractureTemplate(fracDef);
|
||||
|
||||
fracture->updateFracturePositionFromLocation();
|
||||
|
||||
|
||||
@@ -86,11 +86,11 @@ void RicNewWellPathFractureFeature::addFracture(RimWellPath* wellPath, double me
|
||||
|
||||
fracture->setName(RicFractureNameGenerator::nameForNewFracture());
|
||||
|
||||
if (oilfield->fractureDefinitionCollection->fractureDefinitions.size() > 0)
|
||||
{
|
||||
RimFractureTemplate* fracDef = oilfield->fractureDefinitionCollection->fractureDefinitions[0];
|
||||
fracture->setFractureTemplate(fracDef);
|
||||
}
|
||||
auto unitSet = wellPath->unitSystem();
|
||||
fracture->setFractureUnit(unitSet);
|
||||
|
||||
RimFractureTemplate* fracDef = oilfield->fractureDefinitionCollection->firstFractureOfUnit(unitSet);
|
||||
fracture->setFractureTemplate(fracDef);
|
||||
|
||||
wellPath->updateConnectedEditors();
|
||||
RiuMainWindow::instance()->selectAsCurrentItem(fracture);
|
||||
|
||||
@@ -202,7 +202,7 @@ void RimFracture::fieldChangedByUi(const caf::PdmFieldHandle* changedField, cons
|
||||
{
|
||||
QString fractureUnitText = RiaEclipseUnitTools::UnitSystemType::uiText(fractureUnit());
|
||||
|
||||
QString warningText = QString("Using a fracture template of different unit is not supported.\n\nPlease select a "
|
||||
QString warningText = QString("Using a fracture template defined in a different unit is not supported.\n\nPlease select a "
|
||||
"fracture template of unit '%1'")
|
||||
.arg(fractureUnitText);
|
||||
|
||||
@@ -240,7 +240,6 @@ void RimFracture::fieldChangedByUi(const caf::PdmFieldHandle* changedField, cons
|
||||
proj->reloadCompletionTypeResultsInAllViews();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -623,6 +622,20 @@ size_t RimFracture::findAnchorEclipseCell(const RigMainGrid* mainGrid ) const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFracture::setFractureTemplate(RimFractureTemplate* fractureTemplate)
|
||||
{
|
||||
if (fractureTemplate && fractureTemplate->fractureTemplateUnit() != fractureUnit())
|
||||
{
|
||||
QString fractureUnitText = RiaEclipseUnitTools::UnitSystemType::uiText(fractureUnit());
|
||||
|
||||
QString warningText =
|
||||
QString("Using a fracture template defined in a different unit is not supported.\n\nPlease select a "
|
||||
"fracture template of unit '%1'")
|
||||
.arg(fractureUnitText);
|
||||
|
||||
QMessageBox::warning(nullptr, "Fracture Template Selection", warningText);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
m_fractureTemplate = fractureTemplate;
|
||||
|
||||
if (!fractureTemplate)
|
||||
|
||||
@@ -66,6 +66,22 @@ RimFractureTemplateCollection::~RimFractureTemplateCollection()
|
||||
fractureDefinitions.deleteAllChildObjects();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimFractureTemplate* RimFractureTemplateCollection::firstFractureOfUnit(RiaEclipseUnitTools::UnitSystem unitSet) const
|
||||
{
|
||||
for (RimFractureTemplate* f : fractureDefinitions())
|
||||
{
|
||||
if (f->fractureTemplateUnit() == unitSet)
|
||||
{
|
||||
return f;
|
||||
}
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -37,6 +37,8 @@ class RimFractureTemplateCollection : public caf::PdmObject
|
||||
public:
|
||||
RimFractureTemplateCollection(void);
|
||||
virtual ~RimFractureTemplateCollection(void);
|
||||
|
||||
RimFractureTemplate* firstFractureOfUnit(RiaEclipseUnitTools::UnitSystem unitSet) const;
|
||||
|
||||
caf::PdmChildArrayField<RimFractureTemplate*> fractureDefinitions;
|
||||
caf::PdmField< RiaEclipseUnitTools::UnitSystemType > defaultUnitsForFracTemplates;
|
||||
|
||||
Reference in New Issue
Block a user