1#include "clproto/encoders.hpp"
13 message.set_name(state.get_name());
14 message.set_empty(state.is_empty());
21 message.set_reference_frame(spatial_state.get_reference_frame());
43 if (cartesian_state.is_empty()) {
46 *
message.mutable_position() =
encoder(cartesian_state.get_position());
47 *
message.mutable_orientation() =
encoder(cartesian_state.get_orientation());
48 *
message.mutable_linear_velocity() =
encoder(cartesian_state.get_linear_velocity());
49 *
message.mutable_angular_velocity() =
encoder(cartesian_state.get_angular_velocity());
50 *
message.mutable_linear_acceleration() =
encoder(cartesian_state.get_linear_acceleration());
51 *
message.mutable_angular_acceleration() =
encoder(cartesian_state.get_angular_acceleration());
75 *
message.mutable_joint_names() = {joint_state.get_names().begin(), joint_state.get_names().end()};
76 if (joint_state.is_empty()) {
89 message.mutable_parameter_value()->mutable_int_()->set_value(parameter.get_value());
91 message.mutable_parameter_value()->mutable_int_()->set_value(
int());
99 *
message.mutable_parameter_value()->mutable_int_array()->mutable_value() =
100 {parameter.get_value().begin(), parameter.get_value().end()};
102 *
message.mutable_parameter_value()->mutable_int_array()->mutable_value() = {};
110 message.mutable_parameter_value()->mutable_double_()->set_value(parameter.get_value());
112 message.mutable_parameter_value()->mutable_double_()->set_value(
double());
120 *
message.mutable_parameter_value()->mutable_double_array()->mutable_value() =
121 {parameter.get_value().begin(), parameter.get_value().end()};
123 *
message.mutable_parameter_value()->mutable_double_array()->mutable_value() = {};
131 message.mutable_parameter_value()->mutable_bool_()->set_value(parameter.get_value());
133 message.mutable_parameter_value()->mutable_bool_()->set_value(
bool());
141 *
message.mutable_parameter_value()->mutable_bool_array()->mutable_value() =
142 {parameter.get_value().begin(), parameter.get_value().end()};
144 *
message.mutable_parameter_value()->mutable_bool_array()->mutable_value() = {};
152 message.mutable_parameter_value()->mutable_string()->set_value(parameter.get_value());
154 message.mutable_parameter_value()->mutable_string()->set_value(std::string ());
163 *
message.mutable_parameter_value()->mutable_string_array()->mutable_value() =
164 {parameter.get_value().begin(), parameter.get_value().end()};
166 *
message.mutable_parameter_value()->mutable_string_array()->mutable_value() = {};
174 *
message.mutable_parameter_value()->mutable_vector()->mutable_value() =
matrix_encoder(parameter.get_value());
176 *
message.mutable_parameter_value()->mutable_vector()->mutable_value() =
matrix_encoder(Eigen::VectorXd());
184 *
message.mutable_parameter_value()->mutable_matrix()->mutable_value() =
matrix_encoder(parameter.get_value());
185 message.mutable_parameter_value()->mutable_matrix()->set_rows(parameter.get_value().rows());
186 message.mutable_parameter_value()->mutable_matrix()->set_cols(parameter.get_value().cols());
188 *
message.mutable_parameter_value()->mutable_matrix()->mutable_value() =
matrix_encoder(Eigen::MatrixXd());
189 message.mutable_parameter_value()->mutable_matrix()->set_rows(0);
190 message.mutable_parameter_value()->mutable_matrix()->set_cols(0);
202 std::vector<bool>
vec;
204 for (
unsigned int i = 0;
i <
vec.size(); ++
i) {
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.
Core state variables and objects.