mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Changig type or porosity model only changes what variables are shown as accessible. This is also applied to property filters. Dual porosity support is also added to property filtered. Forgotten before. p4#: 21499
85 lines
3.6 KiB
C++
85 lines
3.6 KiB
C++
/////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Copyright (C) 2011-2012 Statoil ASA, Ceetron AS
|
|
//
|
|
// 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.
|
|
//
|
|
// 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.
|
|
//
|
|
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
|
|
// for more details.
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
|
|
#pragma once
|
|
|
|
#include "cafPdmObject.h"
|
|
#include "cafAppEnum.h"
|
|
#include "cafPdmField.h"
|
|
#include "RimDefines.h"
|
|
#include "cafPdmPointer.h"
|
|
|
|
|
|
class RimReservoirView;
|
|
class RigCaseCellResultsData;
|
|
class RimReservoirCellResultsStorage;
|
|
//==================================================================================================
|
|
///
|
|
///
|
|
//==================================================================================================
|
|
class RimResultDefinition : public caf::PdmObject
|
|
{
|
|
CAF_PDM_HEADER_INIT;
|
|
public:
|
|
RimResultDefinition();
|
|
virtual ~RimResultDefinition();
|
|
|
|
virtual void setReservoirView(RimReservoirView* ownerReservoirView);
|
|
RimReservoirView* reservoirView();
|
|
|
|
RimDefines::ResultCatType resultType() const { return m_resultType(); }
|
|
void setResultType(RimDefines::ResultCatType val);
|
|
RimDefines::PorosityModelType porosityModel() const { return m_porosityModel(); }
|
|
void setPorosityModel(RimDefines::PorosityModelType val);
|
|
QString resultVariable() const { return m_resultVariable(); }
|
|
void setResultVariable(const QString& val);
|
|
void setPorosityModelUiFieldHidden(bool hide);
|
|
|
|
void loadResult();
|
|
size_t gridScalarIndex() const;
|
|
bool hasStaticResult() const;
|
|
bool hasDynamicResult() const;
|
|
bool hasResult() const;
|
|
RimReservoirCellResultsStorage* currentGridCellResults() const;
|
|
|
|
|
|
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly );
|
|
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
|
|
virtual void initAfterRead();
|
|
|
|
protected:
|
|
caf::PdmField< caf::AppEnum< RimDefines::ResultCatType > > m_resultType;
|
|
caf::PdmField< caf::AppEnum< RimDefines::PorosityModelType > > m_porosityModel;
|
|
caf::PdmField<QString> m_resultVariable;
|
|
|
|
friend class RimCellPropertyFilter;
|
|
// User interface only fields, to support "filtering"-like behaviour etc.
|
|
caf::PdmField< caf::AppEnum< RimDefines::ResultCatType > > m_resultTypeUiField;
|
|
caf::PdmField< caf::AppEnum< RimDefines::PorosityModelType > > m_porosityModelUiField;
|
|
caf::PdmField<QString> m_resultVariableUiField;
|
|
|
|
|
|
mutable size_t m_gridScalarResultIndex;
|
|
|
|
caf::PdmPointer<RimReservoirView> m_reservoirView;
|
|
|
|
private:
|
|
QStringList getResultVariableListForCurrentUIFieldSettings();
|
|
};
|
|
|