///////////////////////////////////////////////////////////////////////////////// // // Copyright (C) 2023- 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 "RigFaultReactivationModel.h" #include "RigGriddedPart3d.h" #include "RimFaultReactivationModel.h" #include #include #include #include //================================================================================================== /// //================================================================================================== class RifFaultReactivationModelExporter { public: static std::pair exportToStream( std::ostream& stream, const RimFaultReactivationModel& model ); static std::pair exportToFile( const std::string& filePath, const RimFaultReactivationModel& model ); private: static std::pair printHeading( std::ostream& stream, const std::string& applicationNameAndVersion ); static std::pair printParts( std::ostream& stream, const RigFaultReactivationModel& model, const std::map& partNames, const std::vector>& borders, const std::map, int>& faces, const std::map& boundaries, const std::pair& orientation ); static std::pair printAssembly( std::ostream& stream, const RigFaultReactivationModel& model, const std::map& partNames ); static std::pair printMaterials( std::ostream& stream ); static std::pair printInteractionProperties( std::ostream& stream, double faultFriction ); static std::pair printBoundaryConditions( std::ostream& stream, const RigFaultReactivationModel& model, const std::map& partNames, const std::map& boundaries ); static std::pair printPredefinedFields( std::ostream& stream, const std::map& partNames ); static std::pair printSteps( std::ostream& stream, const std::map& partNames ); static std::pair printInteractions( std::ostream& stream, const std::map& partNames, const std::vector>& borders ); };