///////////////////////////////////////////////////////////////////////////////// // // Copyright (C) 2025 Equinor ASA // // 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 // for more details. // ///////////////////////////////////////////////////////////////////////////////// #pragma once #include "cafAppEnum.h" #include "cafPdmField.h" #include "cafPdmObject.h" #include #include #include namespace Opm { class DeckKeyword; class DeckRecord; class DeckItem; } // namespace Opm //================================================================================================== /// /// //================================================================================================== class RimKeywordBcprop : public caf::PdmObject { CAF_PDM_HEADER_INIT; public: enum class Type { DIRICHLET, FREE, RATE, THERMAL, NONE }; enum class Component { GAS, OIL, WATER, SOLVENT, POLYMER, MICR, OXYG, UREA, NONE }; enum class MechType { FREE, FIXED, NONE }; RimKeywordBcprop(); ~RimKeywordBcprop() override; void setIndex( int index ); void uiOrdering( caf::PdmUiGroup* uiGroup ); Opm::DeckKeyword keyword(); private: caf::PdmField m_index; caf::PdmField> m_type; caf::PdmField> m_component; caf::PdmField m_rate; caf::PdmField> m_press; caf::PdmField> m_temp; caf::PdmField> m_mechType; caf::PdmField m_fixedX; caf::PdmField m_fixedY; caf::PdmField m_fixedZ; };