///////////////////////////////////////////////////////////////////////////////// // // Copyright (C) 2020- 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 "RiaDefines.h" #include "cafAppEnum.h" #include "cafPdmField.h" #include "cafPdmObjectHandle.h" #include "cafPdmObjectMethod.h" #include "cafPdmPtrArrayField.h" #include #include class Rim3dView; //================================================================================================== /// //================================================================================================== class RimProject_importSummaryCase : public caf::PdmObjectCreationMethod { CAF_PDM_HEADER_INIT; public: RimProject_importSummaryCase( caf::PdmObjectHandle* self ); std::expected execute() override; QString classKeywordReturnedType() const override; private: caf::PdmField m_fileName; }; //================================================================================================== /// //================================================================================================== class RimProject_summaryCase : public caf::PdmObjectMethod { CAF_PDM_HEADER_INIT; public: RimProject_summaryCase( caf::PdmObjectHandle* self ); std::expected execute() override; QString classKeywordReturnedType() const override; private: caf::PdmField m_caseId; }; //================================================================================================== /// //================================================================================================== class RimProject_surfaceFolder : public caf::PdmObjectCreationMethod { CAF_PDM_HEADER_INIT; public: RimProject_surfaceFolder( caf::PdmObjectHandle* self ); std::expected execute() override; QString classKeywordReturnedType() const override; private: caf::PdmField m_folderName; }; //================================================================================================== /// //================================================================================================== class RimProject_createGridFromKeyValues : public caf::PdmObjectCreationMethod { CAF_PDM_HEADER_INIT; public: RimProject_createGridFromKeyValues( caf::PdmObjectHandle* self ); std::expected execute() override; QString classKeywordReturnedType() const override; private: caf::PdmField m_name; caf::PdmField m_nx; caf::PdmField m_ny; caf::PdmField m_nz; caf::PdmField m_coordKey; caf::PdmField m_zcornKey; caf::PdmField m_actnumKey; }; //================================================================================================== /// //================================================================================================== class RimProject_wellPathCollection : public caf::PdmObjectMethod { CAF_PDM_HEADER_INIT; public: RimProject_wellPathCollection( caf::PdmObjectHandle* self ); std::expected execute() override; QString classKeywordReturnedType() const override; }; //================================================================================================== /// //================================================================================================== class RimProject_valveTemplates : public caf::PdmObjectMethod { CAF_PDM_HEADER_INIT; public: RimProject_valveTemplates( caf::PdmObjectHandle* self ); std::expected execute() override; QString classKeywordReturnedType() const override; }; //================================================================================================== /// //================================================================================================== class RimProject_tileViews : public caf::PdmVoidObjectMethod { CAF_PDM_HEADER_INIT; public: RimProject_tileViews( caf::PdmObjectHandle* self ); std::expected execute() override; }; //================================================================================================== /// //================================================================================================== class RimProject_linkViews : public caf::PdmVoidObjectMethod { CAF_PDM_HEADER_INIT; public: RimProject_linkViews( caf::PdmObjectHandle* self ); std::expected execute() override; private: caf::PdmPtrArrayField m_views; }; //================================================================================================== /// //================================================================================================== class RimProject_unlinkViews : public caf::PdmVoidObjectMethod { CAF_PDM_HEADER_INIT; public: RimProject_unlinkViews( caf::PdmObjectHandle* self ); std::expected execute() override; private: caf::PdmPtrArrayField m_views; }; //================================================================================================== /// Export snapshots of all 3D views and/or plots in the project. //================================================================================================== class RimProject_exportSnapshots : public caf::PdmVoidObjectMethod { CAF_PDM_HEADER_INIT; public: RimProject_exportSnapshots( caf::PdmObjectHandle* self ); void setContentType( RiaDefines::SnapshotContentType contentType ); void setExportFolder( const QString& exportFolder ); void setPrefix( const QString& prefix ); void setWidth( int width ); void setHeight( int height ); void setPlotFileFormat( RiaDefines::SnapshotFileFormat fileFormat ); std::expected execute() override; private: caf::PdmField> m_contentType; caf::PdmField m_exportFolder; caf::PdmField m_prefix; caf::PdmField m_width; caf::PdmField m_height; caf::PdmField> m_plotFileFormat; };