data_exporter_interface.h
Go to the documentation of this file.
1 /*********************************************************************
2  *
3  * Software License Agreement
4  *
5  * Copyright (c) 2020,
6  * TU Dortmund - Institute of Control Theory and Systems Engineering.
7  * All rights reserved.
8  *
9  * This program is free software: you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation, either version 3 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program. If not, see <https://www.gnu.org/licenses/>.
21  *
22  * Authors: Christoph Rösmann
23  *********************************************************************/
24 
25 #ifndef SRC_CORE_INCLUDE_CORBO_CORE_DATA_EXPORTER_INTERFACE_H_
26 #define SRC_CORE_INCLUDE_CORBO_CORE_DATA_EXPORTER_INTERFACE_H_
27 
29 
30 #include <corbo-core/factory.h>
31 
32 #include <memory>
33 #include <string>
34 
35 namespace corbo {
36 
46 {
47  public:
48  using Ptr = std::shared_ptr<DataExporterInterface>;
49  using ConstPtr = std::shared_ptr<const DataExporterInterface>;
50 
52 
54  virtual Ptr getInstance() const = 0;
55 
58 
59  virtual std::string getFormatName() const = 0;
60  virtual std::string getFileSuffix() const = 0;
61 
62  virtual bool isSupportingSignalGroup() const { return false; }
63  virtual bool isSupportingTimeSeriesSignal() const { return false; }
64  virtual bool isSupportingTimeSeries() const { return false; }
65  virtual bool isSupportingTimeSeriesSequenceSignal() const { return false; }
66  virtual bool isSupportingIndexedValuesSignal() const { return false; }
67  virtual bool isSupportingIndexedValuesSetSignal() const { return false; }
68  virtual bool isSupportingMatrixSignal() const { return false; }
69  virtual bool isSupportingMatrixSetSignal() const { return false; }
70 
71  virtual bool exportSignalGroup(const std::string& filename, const CommonSignalTarget::SignalGroup& signal_group);
72  virtual bool exportTimeSeriesSignal(const std::string& filename, const TimeSeriesSignal& signal);
73  virtual bool exportTimeSeries(const std::string& filename, const TimeSeries& time_series);
74  virtual bool exportTimeSeriesSequenceSignal(const std::string& filename, const TimeSeriesSequenceSignal& signal);
75  virtual bool exportIndexedValuesSignal(const std::string& filename, const IndexedValuesSignal& signal);
76  virtual bool exportIndexedValuesSetSignal(const std::string& filename, const IndexedValuesSetSignal& signal);
77  virtual bool exportMatrixSignal(const std::string& filename, const MatrixSignal& signal);
78  virtual bool exportMatrixSetSignal(const std::string& filename, const MatrixSetSignal& signal);
79 };
80 
82 #define FACTORY_REGISTER_DATA_EXPORTER(type) FACTORY_REGISTER_OBJECT(type, DataExporterInterface)
83 
84 } // namespace corbo
85 
86 #endif // SRC_CORE_INCLUDE_CORBO_CORE_DATA_EXPORTER_INTERFACE_H_
virtual std::string getFileSuffix() const =0
Signal for a sequence of time series objects.
Definition: signals.h:333
Generic factory object.
Definition: factory.h:68
Time Series (trajectory resp. sequence of values w.r.t. time)
Definition: time_series.h:54
virtual bool isSupportingMatrixSignal() const
virtual bool exportSignalGroup(const std::string &filename, const CommonSignalTarget::SignalGroup &signal_group)
virtual bool exportIndexedValuesSetSignal(const std::string &filename, const IndexedValuesSetSignal &signal)
virtual bool isSupportingIndexedValuesSetSignal() const
std::shared_ptr< const DataExporterInterface > ConstPtr
Signal containing a set of matrices.
Definition: signals.h:607
static Factory< DataExporterInterface > & getFactory()
Get access to the associated factory.
virtual bool exportTimeSeriesSignal(const std::string &filename, const TimeSeriesSignal &signal)
virtual bool exportTimeSeries(const std::string &filename, const TimeSeries &time_series)
Signal containing values indexed by a single integer.
Definition: signals.h:390
virtual bool exportMatrixSetSignal(const std::string &filename, const MatrixSetSignal &signal)
virtual std::string getFormatName() const =0
virtual bool isSupportingTimeSeriesSequenceSignal() const
virtual Ptr getInstance() const =0
Return a newly created shared instance of the implemented class.
virtual bool isSupportingIndexedValuesSignal() const
static Factory & instance()
< Retrieve static instance of the factory
Definition: factory.h:72
Time Series signal (trajectory resp. sequence of values w.r.t. time)
Definition: signals.h:244
virtual bool isSupportingTimeSeriesSignal() const
Signal containing a simple matrix.
Definition: signals.h:539
Interface class for exporting signals.
virtual bool exportMatrixSignal(const std::string &filename, const MatrixSignal &signal)
virtual bool exportIndexedValuesSignal(const std::string &filename, const IndexedValuesSignal &signal)
Tree node containing a group of signals and a set of child tree nodes.
virtual bool isSupportingTimeSeries() const
virtual bool isSupportingSignalGroup() const
virtual bool exportTimeSeriesSequenceSignal(const std::string &filename, const TimeSeriesSequenceSignal &signal)
virtual bool isSupportingMatrixSetSignal() const
std::shared_ptr< DataExporterInterface > Ptr
Signal containing values indexed by an integer (int to double[] map)
Definition: signals.h:474


control_box_rst
Author(s): Christoph Rösmann
autogenerated on Mon Feb 28 2022 22:06:50