3#include <google/protobuf/repeated_field.h>
5#include <state_representation/State.hpp>
6#include <state_representation/AnalogIOState.hpp>
7#include <state_representation/DigitalIOState.hpp>
8#include <state_representation/space/SpatialState.hpp>
9#include <state_representation/space/cartesian/CartesianState.hpp>
10#include <state_representation/space/Jacobian.hpp>
11#include <state_representation/space/joint/JointState.hpp>
12#include <state_representation/parameters/Parameter.hpp>
15#include "state_representation/state_message.pb.h"
26template<
typename ParamT>
27state_representation::proto::Parameter
36template<
typename ParamT>
46template<
typename FieldT>
47google::protobuf::RepeatedField<FieldT>
encoder(
const std::vector<FieldT>& data);
62state_representation::proto::Vector3d
encoder(
const Eigen::Vector3d&
vector);
63state_representation::proto::Quaterniond
encoder(
const Eigen::Quaterniond&
quaternion);
73template<
typename FieldT>
74google::protobuf::RepeatedField<FieldT>
encoder(
const std::vector<FieldT>& data) {
75 return google::protobuf::RepeatedField<FieldT>({data.begin(), data.end()});
78template<
typename ParamT>
80 state_representation::proto::Parameter
message;
Class to represent a state in Cartesian space.
Class to define a robot Jacobian matrix.
Class to define a state in joint space.
Class to represent name-value pairs of different types.
Abstract class to represent a state.
Bindings to encode and decode state objects into serialised binary message.
google::protobuf::RepeatedField< double > matrix_encoder(const Eigen::MatrixXd &matrix)
Encoding helper method for Eigen data into a RepeatedField message type.
std::string encode(const T &obj)
Encode a control libraries object into a serialized binary string representation (wire format).
state_representation::proto::Parameter encoder(state_representation::proto::Parameter &message, const state_representation::Parameter< ParamT > ¶meter)
Encoding helper method for the Parameter type.