ResInsight/ApplicationLibCode/ReservoirDataModel/RigLasFileExporter.h
Magne Sjaastad f8c5cf389f
clang-format: Set column width to 140
* Set column width to 140
* Use c++20
* Remove redundant virtual
2023-02-26 10:48:40 +01:00

65 lines
2.7 KiB
C++

/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2016- Statoil 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 <http://www.gnu.org/licenses/gpl.html>
// for more details.
//
/////////////////////////////////////////////////////////////////////////////////
#pragma once
#include "cvfCollection.h"
#include <QString>
#include <vector>
class RimWellLogCurve;
class RigWellLogCurveData;
class SingleLasFileMetaData;
class RigLasFileExporter
{
public:
explicit RigLasFileExporter( const std::vector<RimWellLogCurve*>& curves );
void setResamplingInterval( double interval );
void wellPathsAndRkbDiff( std::vector<QString>* wellNames, std::vector<double>* rkbDiffs );
void setRkbDiffs( const std::vector<QString>& wellNames, const std::vector<double>& rkbDiffs );
std::vector<QString> writeToFolder( const QString& exportFolder,
const QString& filePrefix = "",
bool capitalizeFileName = false,
bool alwaysOverwrite = false,
bool convertCurveUnits = false );
private:
std::vector<SingleLasFileMetaData> createLasFileDescriptions( const std::vector<RimWellLogCurve*>& curves, bool convertCurveUnits );
void appendLasFileDescriptions( const std::vector<RimWellLogCurve*>& curves,
std::vector<SingleLasFileMetaData>* lasFileDescriptions,
bool convertCurveUnits );
QString caseNameFromCurve( RimWellLogCurve* curve );
double rkbDiff( RimWellLogCurve* curve );
void applyUserDefinedRkbOffsets( std::vector<SingleLasFileMetaData>* lasFileDescriptions );
private:
std::vector<RimWellLogCurve*> m_curves;
std::vector<double> m_userDefinedRkbOffsets;
bool m_isResampleActive;
double m_resamplingInterval;
cvf::Collection<RigWellLogCurveData> m_resampledCurveDatas;
};