#3854 Add MSW reference depth to Perforations

This commit is contained in:
Gaute Lindkvist
2018-12-18 13:43:21 +01:00
parent 7296c11bc2
commit 394c84efef
8 changed files with 179 additions and 96 deletions

View File

@@ -35,6 +35,18 @@
#include "Riu3DMainWindowTools.h"
namespace caf
{
template<>
void RimPerforationCollection::ReferenceMDEnum::setUp()
{
addItem(RimPerforationCollection::AUTO_REFERENCE_MD, "GridIntersectionRefMD", "Grid Entry Point");
addItem(RimPerforationCollection::MANUAL_REFERENCE_MD, "ManualRefMD", "User Defined");
setDefault(RimPerforationCollection::AUTO_REFERENCE_MD);
}
} // namespace caf
CAF_PDM_SOURCE_INIT(RimPerforationCollection, "PerforationCollection");
//--------------------------------------------------------------------------------------------------
@@ -93,35 +105,6 @@ void RimPerforationCollection::setUnitSystemSpecificDefaults()
m_mswParameters->setUnitSystemSpecificDefaults();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimPerforationCollection::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
{
caf::PdmUiGroup* mswGroup = uiOrdering.addNewGroup("Multi Segment Well Options");
m_mswParameters->uiOrdering(uiConfigName, *mswGroup);
m_nonDarcyParameters->uiOrdering(uiConfigName, uiOrdering);
uiOrdering.skipRemainingFields(true);
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimPerforationCollection::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue)
{
RimProject* proj;
this->firstAncestorOrThisOfTypeAsserted(proj);
if (changedField == &m_isChecked)
{
proj->reloadCompletionTypeResultsInAllViews();
}
else
{
proj->scheduleCreateDisplayModelAndRedrawAllViews();
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -203,3 +186,32 @@ std::vector<const RimPerforationInterval*> RimPerforationCollection::activePerfo
return myActivePerforations;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimPerforationCollection::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
{
caf::PdmUiGroup* mswGroup = uiOrdering.addNewGroup("Multi Segment Well Options");
m_mswParameters->uiOrdering(uiConfigName, *mswGroup);
m_nonDarcyParameters->uiOrdering(uiConfigName, uiOrdering);
uiOrdering.skipRemainingFields(true);
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimPerforationCollection::fieldChangedByUi(const caf::PdmFieldHandle* changedField,
const QVariant& oldValue,
const QVariant& newValue)
{
RimProject* proj;
this->firstAncestorOrThisOfTypeAsserted(proj);
if (changedField == &m_isChecked)
{
proj->reloadCompletionTypeResultsInAllViews();
}
else
{
proj->scheduleCreateDisplayModelAndRedrawAllViews();
}
}