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

View File

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

View File

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

View File

@ -17,11 +17,20 @@
///////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////
#include "RimObservedDataCollection.h" #include "RimObservedDataCollection.h"
#include "RimObservedData.h"
CAF_PDM_SOURCE_INIT(RimObservedDataCollection, "ObservedDataCollection");
RimObservedDataCollection::RimObservedDataCollection() RimObservedDataCollection::RimObservedDataCollection()
{ {
CAF_PDM_InitObject("Observed Data", ":/Folder.png", "", "");
CAF_PDM_InitFieldNoDefault(&m_observedData, "ObservedData", "", "", "", "");
m_observedData.uiCapability()->setUiHidden(true);
} }
RimObservedDataCollection::~RimObservedDataCollection() 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: public:
RimObservedDataCollection(); RimObservedDataCollection();
~RimObservedDataCollection(); virtual ~RimObservedDataCollection();
private: private:
caf::PdmChildArrayField<RimObservedData*> m_observedData;
}; };

View File

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

View File

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

View File

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