ResInsight/ApplicationCode/GeoMech/OdbReader/RifGeoMechReaderInterface.h
Stein Dale 5a9f22bfd2 Renaming of geo mech interface, separated results reporting for different result positions
Reporting nodal, element nodal, and integration point result names
separately. Some functions in the geo mech interface were renamed.
Renamed "result" to "field" in function and parameter names in the
interface. TODO: Consider if we should report integration point results
as element node results too, and extrapolate when requested, if needed.
Fixed map handling in RifOdbReader::componentIndex().
2015-04-30 14:22:18 +02:00

57 lines
2.4 KiB
C++

/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2015- Statoil ASA
// Copyright (C) 2015- Ceetron Solutions 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 "cvfBase.h"
#include "cvfObject.h"
#include "cvfVector3.h"
#include <vector>
#include <map>
#include <string>
class RigFemPartCollection;
//==================================================================================================
//
// Data interface base class
//
//==================================================================================================
class RifGeoMechReaderInterface : public cvf::Object
{
public:
RifGeoMechReaderInterface();
virtual ~RifGeoMechReaderInterface();
virtual bool readFemParts(const std::string& fileName, RigFemPartCollection* geoMechCase) = 0;
virtual std::vector<std::string> stepNames() = 0;
virtual std::vector<double> frameTimes(int stepIndex) = 0;
virtual std::map<std::string, std::vector<std::string> > scalarNodeFieldAndComponentNames() const = 0;
virtual std::map<std::string, std::vector<std::string> > scalarElementNodeFieldAndComponentNames() const = 0;
virtual std::map<std::string, std::vector<std::string> > scalarIntegrationPointFieldAndComponentNames() const = 0;
virtual void readScalarNodeField(const std::string& fieldName, const std::string& componmentName, int partIndex, int stepIndex, int frameIndex, std::vector<float>* resultValues) = 0;
virtual void readDisplacements(int partIndex, int stepIndex, int frameIndex, std::vector<cvf::Vec3f>* displacements) = 0;
private:
};