#1813 Observed data: Observed data folder as an oilfield child

This commit is contained in:
Rebecca Cox 2017-09-14 15:44:01 +02:00
parent aca3436e7b
commit e1263888b4
8 changed files with 52 additions and 9 deletions

View File

@ -53,6 +53,7 @@
#include "RimGeoMechView.h"
#include "RimIdenticalGridCaseGroup.h"
#include "RimMainPlotCollection.h"
#include "RimObservedDataCollection.h"
#include "RimOilField.h"
#include "RimProject.h"
#include "RimReservoirCellResultsStorage.h"
@ -484,6 +485,11 @@ bool RiaApplication::loadProject(const QString& projectFileName, ProjectLoadActi
oilField->summaryCaseMainCollection()->createSummaryCasesFromRelevantEclipseResultCases();
oilField->summaryCaseMainCollection()->loadAllSummaryCaseData();
if (!oilField->observedDataCollection())
{
oilField->observedDataCollection = new RimObservedDataCollection();
}
#ifdef USE_PROTOTYPE_FEATURE_FRACTURES
oilField->fractureDefinitionCollection()->loadAndUpdateData();

View File

@ -18,8 +18,12 @@
#include "RimObservedData.h"
CAF_PDM_SOURCE_INIT(RimObservedData, "ObservedData");
RimObservedData::RimObservedData()
{
CAF_PDM_InitObject("Observed data file", ":/Default.png", "", "");
}
RimObservedData::~RimObservedData()

View File

@ -16,8 +16,11 @@
//
/////////////////////////////////////////////////////////////////////////////////
class RimObservedData
#include "cafPdmObject.h"
class RimObservedData : public caf::PdmObject
{
CAF_PDM_HEADER_INIT;
public:
RimObservedData();
~RimObservedData();

View File

@ -17,11 +17,20 @@
/////////////////////////////////////////////////////////////////////////////////
#include "RimObservedDataCollection.h"
#include "RimObservedData.h"
CAF_PDM_SOURCE_INIT(RimObservedDataCollection, "ObservedDataCollection");
RimObservedDataCollection::RimObservedDataCollection()
{
CAF_PDM_InitObject("Observed Data", ":/Folder.png", "", "");
CAF_PDM_InitFieldNoDefault(&m_observedData, "ObservedData", "", "", "", "");
m_observedData.uiCapability()->setUiHidden(true);
}
RimObservedDataCollection::~RimObservedDataCollection()
{
m_observedData.deleteAllChildObjects();
}

View File

@ -16,12 +16,19 @@
//
/////////////////////////////////////////////////////////////////////////////////
class RimObservedDataCollection
#include "cafPdmObject.h"
#include "cafPdmChildArrayField.h"
class RimObservedData;
class RimObservedDataCollection : public caf::PdmObject
{
CAF_PDM_HEADER_INIT;
public:
RimObservedDataCollection();
~RimObservedDataCollection();
virtual ~RimObservedDataCollection();
private:
caf::PdmChildArrayField<RimObservedData*> m_observedData;
};

View File

@ -28,6 +28,7 @@
#endif // USE_PROTOTYPE_FEATURE_FRACTURES
#include "RimGeoMechModels.h"
#include "RimObservedDataCollection.h"
#include "RimSummaryCaseMainCollection.h"
#include "RimWellPathCollection.h"
@ -50,6 +51,7 @@ RimOilField::RimOilField(void)
CAF_PDM_InitFieldNoDefault(&summaryCaseMainCollection,"SummaryCaseCollection","Summary Cases",":/GridModels.png","","");
CAF_PDM_InitFieldNoDefault(&formationNamesCollection,"FormationNamesCollection","Formations","","","");
CAF_PDM_InitFieldNoDefault(&observedDataCollection, "ObservedDataCollection", "Observed data", ":/Cases16x16.png", "", "");
#ifdef USE_PROTOTYPE_FEATURE_FRACTURES
fractureDefinitionCollection = new RimFractureTemplateCollection();
@ -58,6 +60,7 @@ RimOilField::RimOilField(void)
analysisModels = new RimEclipseCaseCollection();
wellPathCollection = new RimWellPathCollection();
summaryCaseMainCollection = new RimSummaryCaseMainCollection();
observedDataCollection = new RimObservedDataCollection();
}
//--------------------------------------------------------------------------------------------------
@ -75,5 +78,6 @@ RimOilField::~RimOilField(void)
if (analysisModels()) delete analysisModels();
if (summaryCaseMainCollection()) delete summaryCaseMainCollection();
if (formationNamesCollection()) delete formationNamesCollection();
if (observedDataCollection()) delete observedDataCollection();
}

View File

@ -26,11 +26,12 @@
#include "cafPdmPointer.h"
class RimEclipseCaseCollection;
class RimGeoMechModels;
class RimWellPathCollection;
class RimFractureTemplateCollection;
class RimSummaryCaseMainCollection;
class RimFormationNamesCollection;
class RimFractureTemplateCollection;
class RimGeoMechModels;
class RimObservedDataCollection;
class RimSummaryCaseMainCollection;
class RimWellPathCollection;
//==================================================================================================
///
@ -49,6 +50,7 @@ public:
caf::PdmChildField<RimWellPathCollection*> wellPathCollection;
caf::PdmChildField<RimFractureTemplateCollection*> fractureDefinitionCollection;
caf::PdmChildField<RimSummaryCaseMainCollection*> summaryCaseMainCollection;
caf::PdmChildField<RimObservedDataCollection*> observedDataCollection;
caf::PdmChildField<RimFormationNamesCollection*> formationNamesCollection;
};

View File

@ -47,6 +47,7 @@
#include "RimIdenticalGridCaseGroup.h"
#include "RimMainPlotCollection.h"
#include "RimMultiSnapshotDefinition.h"
#include "RimObservedDataCollection.h"
#include "RimOilField.h"
#include "RimScriptCollection.h"
#include "RimSummaryCaseMainCollection.h"
@ -867,7 +868,14 @@ void RimProject::defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QS
RimOilField* oilField = activeOilField();
if (oilField)
{
if (oilField->summaryCaseMainCollection()) uiTreeOrdering.add(oilField->summaryCaseMainCollection());
if (oilField->summaryCaseMainCollection())
{
uiTreeOrdering.add( oilField->summaryCaseMainCollection() );
}
if (oilField->observedDataCollection())
{
uiTreeOrdering.add( oilField->observedDataCollection() );
}
}
if (mainPlotCollection)