#2509 Fracture : Find matching template when adding new fracture

This commit is contained in:
Magne Sjaastad
2018-02-21 09:10:40 +01:00
parent 28ab07b199
commit 0d7e4f460c
6 changed files with 55 additions and 19 deletions

View File

@@ -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)

View File

@@ -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;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -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;