25 #ifndef SRC_CORE_INCLUDE_CORBO_CORE_SIGNAL_TARGET_INTERFACE_H_ 26 #define SRC_CORE_INCLUDE_CORBO_CORE_SIGNAL_TARGET_INTERFACE_H_ 65 using Ptr = std::shared_ptr<SignalTargetInterface>;
89 virtual void registerMeasurement(
const std::string& unique_name,
int value_dimension,
const std::vector<std::string>& value_labels = {},
90 bool zero_order_hold =
false) = 0;
114 virtual void registerTimeSeries(
const std::string& unique_name,
int value_dimension,
bool zero_order_hold =
false) = 0;
147 virtual void sendMeasurement(
const std::string& unique_name,
double time,
const std::vector<double>& values,
148 const std::vector<std::string>& value_labels = {})
152 measurement->header.name = unique_name;
153 measurement->header.value_dimension = values.size();
154 measurement->getValueLabelsRef() = value_labels;
176 const std::vector<std::string>& value_labels = {})
180 measurement->header.name = unique_name;
181 measurement->header.value_dimension = values.rows();
182 measurement->getValueLabelsRef() = value_labels;
219 ts_signal->header.name = unique_name;
220 ts_signal->header.value_dimension = time_series->getValueDimension();
221 ts_signal->set(time_series);
252 virtual void sendIndexedValues(
const std::string& unique_name,
int index,
const std::vector<double>& values)
255 indexed_values->header.time =
Time::now();
256 indexed_values->header.name = unique_name;
257 indexed_values->header.value_dimension = 1;
279 indexed_values->header.time =
Time::now();
280 indexed_values->header.name = unique_name;
281 indexed_values->header.value_dimension = 1;
328 matrix_sig->header.name = unique_name;
329 matrix_sig->header.value_dimension = 1;
336 #endif // SRC_CORE_INCLUDE_CORBO_CORE_SIGNAL_TARGET_INTERFACE_H_ Map< Matrix< T, Dynamic, Dynamic, ColMajor >, 0, OuterStride<> > matrix(T *data, int rows, int cols, int stride)
static Time now()
Retrieve current system time.
std::shared_ptr< TimeSeriesSignal > Ptr
virtual ~SignalTargetInterface()
Virtual destructor.
virtual void sendTimeSeries(const std::string &unique_name, TimeSeries::Ptr time_series)
Send a time series to the target.
virtual void sendMeasurement(Measurement::ConstPtr measurement)=0
Send a measurement to the target.
Interface class for signal targets.
virtual void sendIndexedValues(const std::string &unique_name, int index, const std::vector< double > &values)
Send signal containing values indexed by a single integer.
virtual void registerMeasurement(const std::string &unique_name, int value_dimension, const std::vector< std::string > &value_labels={}, bool zero_order_hold=false)=0
Register a measurement type at current target.
virtual void sendTimeSeries(TimeSeriesSignal::Ptr time_series)=0
Send a time series to the target.
std::shared_ptr< Measurement > Ptr
std::shared_ptr< const Measurement > ConstPtr
std::shared_ptr< MatrixSignal > Ptr
virtual void sendMeasurement(const std::string &unique_name, double time, const std::vector< double > &values, const std::vector< std::string > &value_labels={})
Send a measurement to the target.
A matrix or vector expression mapping an existing expression.
virtual void sendIndexedValues(IndexedValuesSignal::Ptr indexed_values)=0
Send signal containing values indexed by a single integer.
virtual void sendIndexedValues(const std::string &unique_name, int index, const Eigen::Ref< const Eigen::VectorXd > &values)
Send signal containing values indexed by a single integer.
virtual void sendMeasurement(const std::string &unique_name, double time, const Eigen::Ref< const Eigen::VectorXd > &values, const std::vector< std::string > &value_labels={})
Send a measurement to the target.
std::shared_ptr< TimeSeries > Ptr
virtual void sendMatrix(const std::string &unique_name, const Eigen::Ref< const Eigen::MatrixXd > &matrix, const std::string &label="")
Send a matrix to the target.
virtual void sendMatrix(MatrixSignal::Ptr matrix)=0
Send a matrix to the target.
std::shared_ptr< IndexedValuesSignal > Ptr
virtual void sendIndexedValuesSet(IndexedValuesSetSignal::Ptr indexed_values_set)=0
Send signal containing a set of values indexed by integers (int to double[] map)
std::shared_ptr< IndexedValuesSetSignal > Ptr
std::shared_ptr< SignalTargetInterface > Ptr
virtual void registerTimeSeries(const std::string &unique_name, int value_dimension, bool zero_order_hold=false)=0
Register a time series type at current target.