OMSimulatorLib The OMSimulator project is a FMI-based co-simulation environment.

Loading...
Searching...
No Matches
ResultReader.h
Go to the documentation of this file.
1/*
2 * This file is part of OpenModelica.
3 *
4 * Copyright (c) 1998-2026, Open Source Modelica Consortium (OSMC),
5 * c/o Linköpings universitet, Department of Computer and Information Science,
6 * SE-58183 Linköping, Sweden.
7 *
8 * All rights reserved.
9 *
10 * THIS PROGRAM IS PROVIDED UNDER THE TERMS OF AGPL VERSION 3 LICENSE OR
11 * THIS OSMC PUBLIC LICENSE (OSMC-PL) VERSION 1.8.
12 * ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS PROGRAM CONSTITUTES
13 * RECIPIENT'S ACCEPTANCE OF THE OSMC PUBLIC LICENSE OR THE GNU AGPL
14 * VERSION 3, ACCORDING TO RECIPIENTS CHOICE.
15 *
16 * The OpenModelica software and the OSMC (Open Source Modelica Consortium)
17 * Public License (OSMC-PL) are obtained from OSMC, either from the above
18 * address, from the URLs:
19 * http://www.openmodelica.org or
20 * https://github.com/OpenModelica/ or
21 * http://www.ida.liu.se/projects/OpenModelica,
22 * and in the OpenModelica distribution.
23 *
24 * GNU AGPL version 3 is obtained from:
25 * https://www.gnu.org/licenses/licenses.html#GPL
26 *
27 * This program is distributed WITHOUT ANY WARRANTY; without
28 * even the implied warranty of MERCHANTABILITY or FITNESS
29 * FOR A PARTICULAR PURPOSE, EXCEPT AS EXPRESSLY SET FORTH
30 * IN THE BY RECIPIENT SELECTED SUBSIDIARY LICENSE CONDITIONS OF OSMC-PL.
31 *
32 * See the full OSMC Public License conditions for more details.
33 *
34 */
35
36#ifndef _OMS_RESULTREADER_H_
37#define _OMS_RESULTREADER_H_
38
39#include <string>
40#include <vector>
41
42 namespace oms
43{
44 class ResultReader
45 {
46 public:
47 struct Series
48 {
49 unsigned int length;
50 double* time;
51 double* value;
52 };
53
54 ResultReader(const char* filename);
55 virtual ~ResultReader();
56
57 static ResultReader* newReader(const char* filename);
58
59 virtual Series* getSeries(const char* var) = 0;
60 const std::vector<std::string>& getAllSignals() const {return signals;}
61
62 static void deleteSeries(Series** series);
63 static bool compareSeries(Series* seriesA, Series* seriesB, double relTol, double absTol);
64
65 private:
66 // Stop the compiler generating methods for copying the object
67 ResultReader(ResultReader const& copy); // Not Implemented
68 ResultReader& operator=(ResultReader const& copy); // Not Implemented
69
70 protected:
71 std::vector<std::string> signals;
72 };
73}
74
75#endif
oms::ResultReader
Definition ResultReader.h:45
oms::ResultReader::newReader
static ResultReader * newReader(const char *filename)
Definition ResultReader.cpp:54
oms::ResultReader::~ResultReader
virtual ~ResultReader()
Definition ResultReader.cpp:50
oms::ResultReader::deleteSeries
static void deleteSeries(Series **series)
Definition ResultReader.cpp:71
oms::ResultReader::signals
std::vector< std::string > signals
Definition ResultReader.h:71
oms::ResultReader::getAllSignals
const std::vector< std::string > & getAllSignals() const
Definition ResultReader.h:60
oms::ResultReader::getSeries
virtual Series * getSeries(const char *var)=0
oms::ResultReader::operator=
ResultReader & operator=(ResultReader const &copy)
oms::ResultReader::compareSeries
static bool compareSeries(Series *seriesA, Series *seriesB, double relTol, double absTol)
Definition ResultReader.cpp:84
oms::ResultReader::ResultReader
ResultReader(ResultReader const &copy)
oms
Definition AlgLoop.h:49
oms::ResultReader::Series
Definition ResultReader.h:48
oms::ResultReader::Series::length
unsigned int length
Definition ResultReader.h:49
oms::ResultReader::Series::time
double * time
Definition ResultReader.h:50
oms::ResultReader::Series::value
double * value
Definition ResultReader.h:51