2015-08-26 12:27:29 +02:00
|
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
//
|
|
|
|
|
// Copyright (C) 2015- Statoil ASA
|
|
|
|
|
// Copyright (C) 2015- Ceetron Solutions AS
|
2019-03-18 12:41:44 +01:00
|
|
|
//
|
2015-08-26 12:27:29 +02:00
|
|
|
// ResInsight is free software: you can redistribute it and/or modify
|
|
|
|
|
// it under the terms of the GNU General Public License as published by
|
|
|
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
|
|
|
// (at your option) any later version.
|
2019-03-18 12:41:44 +01:00
|
|
|
//
|
2015-08-26 12:27:29 +02:00
|
|
|
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
|
|
|
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
|
|
|
// FITNESS FOR A PARTICULAR PURPOSE.
|
2019-03-18 12:41:44 +01:00
|
|
|
//
|
|
|
|
|
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
|
2015-08-26 12:27:29 +02:00
|
|
|
// for more details.
|
|
|
|
|
//
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
2015-08-28 10:42:57 +02:00
|
|
|
#include "cafPdmChildField.h"
|
2019-03-18 12:41:44 +01:00
|
|
|
#include "cafPdmField.h"
|
|
|
|
|
#include "cafPdmObject.h"
|
2015-08-27 16:13:49 +02:00
|
|
|
|
2019-03-18 12:41:44 +01:00
|
|
|
#include <QPointer>
|
2016-05-09 12:13:54 +02:00
|
|
|
|
2020-02-12 16:48:25 +01:00
|
|
|
class RimAnalysisPlotCollection;
|
2020-04-17 09:31:42 +02:00
|
|
|
class RimCorrelationPlotCollection;
|
2015-08-28 10:42:57 +02:00
|
|
|
class RimWellLogPlotCollection;
|
2017-09-27 12:39:28 +02:00
|
|
|
class RimRftPlotCollection;
|
2017-10-23 13:57:01 +02:00
|
|
|
class RimPltPlotCollection;
|
2019-02-21 12:52:23 +01:00
|
|
|
class RimGridCrossPlotCollection;
|
2019-11-13 12:22:50 +01:00
|
|
|
class RimMultiPlotCollection;
|
2022-03-04 10:52:17 +01:00
|
|
|
class RimSummaryMultiPlotCollection;
|
2017-11-07 20:40:45 +01:00
|
|
|
class RimSummaryCrossPlotCollection;
|
2023-03-23 14:10:30 +01:00
|
|
|
class RimSummaryTableCollection;
|
2016-05-09 12:13:54 +02:00
|
|
|
class RimSummaryPlot;
|
2022-04-06 17:39:07 +02:00
|
|
|
class RimSummaryPlotCollection;
|
2016-05-09 12:13:54 +02:00
|
|
|
class RifReaderEclipseSummary;
|
|
|
|
|
class RimEclipseResultCase;
|
2017-01-13 09:50:43 +01:00
|
|
|
class RimFlowPlotCollection;
|
2019-03-18 12:41:44 +01:00
|
|
|
class RimSaturationPressurePlotCollection;
|
2020-11-04 13:46:17 +01:00
|
|
|
class RimStimPlanModelPlotCollection;
|
2020-11-13 10:56:25 +01:00
|
|
|
class RimVfpPlotCollection;
|
2021-05-05 09:43:49 +02:00
|
|
|
class RimPlotCollection;
|
2015-08-26 12:27:29 +02:00
|
|
|
|
2020-11-13 15:37:08 +01:00
|
|
|
#ifdef USE_QTCHARTS
|
|
|
|
|
class RimGridStatisticsPlotCollection;
|
2021-04-28 13:45:04 +02:00
|
|
|
class RimEnsembleFractureStatisticsPlotCollection;
|
2020-11-13 15:37:08 +01:00
|
|
|
#endif
|
|
|
|
|
|
2015-08-26 12:27:29 +02:00
|
|
|
//==================================================================================================
|
2019-03-18 12:41:44 +01:00
|
|
|
///
|
|
|
|
|
///
|
2015-08-26 12:27:29 +02:00
|
|
|
//==================================================================================================
|
2015-08-27 16:13:49 +02:00
|
|
|
class RimMainPlotCollection : public caf::PdmObject
|
2015-08-26 12:27:29 +02:00
|
|
|
{
|
|
|
|
|
CAF_PDM_HEADER_INIT;
|
2019-03-18 12:41:44 +01:00
|
|
|
|
2015-08-26 12:27:29 +02:00
|
|
|
public:
|
2015-08-27 16:13:49 +02:00
|
|
|
RimMainPlotCollection();
|
2018-10-18 19:45:57 +02:00
|
|
|
~RimMainPlotCollection() override;
|
2015-08-27 16:13:49 +02:00
|
|
|
|
2022-08-19 05:30:25 -07:00
|
|
|
static RimMainPlotCollection* current();
|
|
|
|
|
|
2021-05-05 09:43:49 +02:00
|
|
|
RimWellLogPlotCollection* wellLogPlotCollection() const;
|
|
|
|
|
RimRftPlotCollection* rftPlotCollection() const;
|
|
|
|
|
RimPltPlotCollection* pltPlotCollection() const;
|
2022-03-04 10:52:17 +01:00
|
|
|
RimSummaryMultiPlotCollection* summaryMultiPlotCollection() const;
|
2023-03-23 14:10:30 +01:00
|
|
|
RimSummaryTableCollection* summaryTableCollection() const;
|
2021-05-05 09:43:49 +02:00
|
|
|
RimAnalysisPlotCollection* analysisPlotCollection() const;
|
|
|
|
|
RimCorrelationPlotCollection* correlationPlotCollection() const;
|
|
|
|
|
RimFlowPlotCollection* flowPlotCollection() const;
|
|
|
|
|
RimGridCrossPlotCollection* gridCrossPlotCollection() const;
|
|
|
|
|
RimSaturationPressurePlotCollection* saturationPressurePlotCollection() const;
|
|
|
|
|
RimMultiPlotCollection* multiPlotCollection() const;
|
|
|
|
|
RimStimPlanModelPlotCollection* stimPlanModelPlotCollection() const;
|
|
|
|
|
RimVfpPlotCollection* vfpPlotCollection() const;
|
2017-01-13 09:50:43 +01:00
|
|
|
|
2020-11-13 15:37:08 +01:00
|
|
|
#ifdef USE_QTCHARTS
|
2021-05-05 09:43:49 +02:00
|
|
|
RimGridStatisticsPlotCollection* gridStatisticsPlotCollection() const;
|
|
|
|
|
RimEnsembleFractureStatisticsPlotCollection* ensembleFractureStatisticsPlotCollection() const;
|
2020-11-13 15:37:08 +01:00
|
|
|
#endif
|
|
|
|
|
|
2019-03-18 12:41:44 +01:00
|
|
|
void deleteAllContainedObjects();
|
|
|
|
|
void updateCurrentTimeStepInPlots();
|
|
|
|
|
void updatePlotsWithFormations();
|
2022-05-05 11:29:07 +02:00
|
|
|
void scheduleUpdatePlotsWithCompletions();
|
2019-03-18 12:41:44 +01:00
|
|
|
void deleteAllCachedData();
|
2019-11-08 14:10:32 +01:00
|
|
|
void ensureDefaultFlowPlotsAreCreated();
|
2021-05-03 15:21:33 +02:00
|
|
|
void loadDataAndUpdateAllPlots();
|
2023-06-16 09:27:35 +02:00
|
|
|
void updateSelectedWell( const QString& wellName, int timeStep );
|
2019-11-08 14:10:32 +01:00
|
|
|
|
2022-04-06 17:39:07 +02:00
|
|
|
protected:
|
|
|
|
|
void initAfterRead() override;
|
|
|
|
|
|
2019-03-18 12:41:44 +01:00
|
|
|
private:
|
2015-08-27 16:13:49 +02:00
|
|
|
// Overridden PDM methods
|
2018-10-18 19:45:57 +02:00
|
|
|
caf::PdmFieldHandle* objectToggleField() override;
|
2023-02-26 10:48:40 +01:00
|
|
|
void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override;
|
2015-08-27 16:13:49 +02:00
|
|
|
|
2023-02-26 10:48:40 +01:00
|
|
|
void loadDataAndUpdatePlotCollectionsWithProgressInfo( const std::vector<RimPlotCollection*>& );
|
|
|
|
|
void loadDataAndUpdatePlotCollections( const std::vector<RimPlotCollection*>& );
|
2021-05-05 09:43:49 +02:00
|
|
|
std::vector<RimPlotCollection*> plotCollectionsWithFormations() const;
|
|
|
|
|
std::vector<RimPlotCollection*> plotCollectionsWithCompletions() const;
|
|
|
|
|
std::vector<RimPlotCollection*> allPlotCollections() const;
|
|
|
|
|
|
2017-11-07 20:40:45 +01:00
|
|
|
private:
|
2019-03-18 12:41:44 +01:00
|
|
|
caf::PdmChildField<RimWellLogPlotCollection*> m_wellLogPlotCollection;
|
|
|
|
|
caf::PdmChildField<RimRftPlotCollection*> m_rftPlotCollection;
|
|
|
|
|
caf::PdmChildField<RimPltPlotCollection*> m_pltPlotCollection;
|
2022-03-04 10:52:17 +01:00
|
|
|
caf::PdmChildField<RimSummaryMultiPlotCollection*> m_summaryMultiPlotCollection;
|
2023-09-20 09:48:03 +02:00
|
|
|
caf::PdmChildField<RimSummaryCrossPlotCollection*> m_summaryCrossPlotCollection_OBSOLETE;
|
2023-03-23 14:10:30 +01:00
|
|
|
caf::PdmChildField<RimSummaryTableCollection*> m_summaryTableCollection;
|
2020-02-12 16:48:25 +01:00
|
|
|
caf::PdmChildField<RimAnalysisPlotCollection*> m_analysisPlotCollection;
|
2020-04-17 09:31:42 +02:00
|
|
|
caf::PdmChildField<RimCorrelationPlotCollection*> m_correlationPlotCollection;
|
2019-03-18 12:41:44 +01:00
|
|
|
caf::PdmChildField<RimFlowPlotCollection*> m_flowPlotCollection;
|
|
|
|
|
caf::PdmChildField<RimGridCrossPlotCollection*> m_gridCrossPlotCollection;
|
|
|
|
|
caf::PdmChildField<RimSaturationPressurePlotCollection*> m_saturationPressurePlotCollection;
|
2019-11-13 12:22:50 +01:00
|
|
|
caf::PdmChildField<RimMultiPlotCollection*> m_multiPlotCollection;
|
2020-11-04 13:46:17 +01:00
|
|
|
caf::PdmChildField<RimStimPlanModelPlotCollection*> m_stimPlanModelPlotCollection;
|
2020-11-13 10:56:25 +01:00
|
|
|
caf::PdmChildField<RimVfpPlotCollection*> m_vfpPlotCollection;
|
2020-11-13 15:37:08 +01:00
|
|
|
#ifdef USE_QTCHARTS
|
2021-04-28 13:45:04 +02:00
|
|
|
caf::PdmChildField<RimGridStatisticsPlotCollection*> m_gridStatisticsPlotCollection;
|
|
|
|
|
caf::PdmChildField<RimEnsembleFractureStatisticsPlotCollection*> m_ensembleFractureStatisticsPlotCollection;
|
2020-11-13 15:37:08 +01:00
|
|
|
#endif
|
2016-05-09 12:13:54 +02:00
|
|
|
|
2017-11-07 20:40:45 +01:00
|
|
|
caf::PdmField<bool> m_show;
|
2022-04-06 17:39:07 +02:00
|
|
|
|
|
|
|
|
caf::PdmChildField<RimSummaryPlotCollection*> m_summaryPlotCollection_OBSOLETE;
|
2015-08-26 12:27:29 +02:00
|
|
|
};
|