29 #ifdef MESSAGE_SUPPORT 30 void StaticReference::toMessage(corbo::messages::ReferenceTrajectory& message)
const 32 message.mutable_static_reference()->mutable_xf()->Resize(
_ref.rows(), 0);
36 void StaticReference::fromMessage(
const corbo::messages::ReferenceTrajectory& message, std::stringstream* issues)
38 int dim = message.static_reference().xf_size();
42 for (
int i = 0; i < dim; ++i)
_ref[i] = message.static_reference().xf(i);
45 *issues <<
"StaticReference: dimension must be larger than zero.\n";
49 #ifdef MESSAGE_SUPPORT 50 void ZeroReference::toMessage(corbo::messages::ReferenceTrajectory& message)
const 52 message.mutable_zero_reference()->set_dimension(
getDimension());
55 void ZeroReference::fromMessage(
const corbo::messages::ReferenceTrajectory& message, std::stringstream* issues)
57 int dim = message.zero_reference().dimension();
63 *issues <<
"ZeroReference: dimension must be larger than zero.\n";
67 #ifdef MESSAGE_SUPPORT 68 void SineReferenceTrajectory::toMessage(corbo::messages::ReferenceTrajectory& message)
const 70 message.mutable_sine_reference_trajectory()->set_amplitude(_amplitude);
71 message.mutable_sine_reference_trajectory()->set_omega(_omega);
72 message.mutable_sine_reference_trajectory()->set_offset(_offset);
75 void SineReferenceTrajectory::fromMessage(
const corbo::messages::ReferenceTrajectory& message, std::stringstream* issues)
77 setParameters(message.sine_reference_trajectory().amplitude(), message.sine_reference_trajectory().omega(),
78 message.sine_reference_trajectory().offset());
82 #ifdef MESSAGE_SUPPORT 83 void DiscreteTimeReferenceTrajectory::toMessage(corbo::messages::ReferenceTrajectory& message)
const 85 if (_trajectory) _trajectory->toMessage(*message.mutable_discrete_time_reference()->mutable_time_series());
86 switch (_interpolation)
90 message.mutable_discrete_time_reference()->set_interpolation(messages::DiscreteTimeReferenceTrajectory_Interpolation_ZERO_ORDER);
95 message.mutable_discrete_time_reference()->set_interpolation(messages::DiscreteTimeReferenceTrajectory_Interpolation_LINEAR);
105 void DiscreteTimeReferenceTrajectory::fromMessage(
const corbo::messages::ReferenceTrajectory& message, std::stringstream* issues)
108 time_series->fromMessage(message.discrete_time_reference().time_series());
109 setTrajectory(time_series);
111 switch (message.discrete_time_reference().interpolation())
113 case messages::DiscreteTimeReferenceTrajectory_Interpolation_ZERO_ORDER:
118 case messages::DiscreteTimeReferenceTrajectory_Interpolation_LINEAR:
131 #ifdef MESSAGE_SUPPORT 132 void BlindDiscreteTimeReferenceTrajectory::toMessage(corbo::messages::ReferenceTrajectory& message)
const 134 if (_trajectory) _trajectory->toMessage(*message.mutable_blind_discrete_time_reference()->mutable_time_series());
136 switch (_interpolation)
140 message.mutable_blind_discrete_time_reference()->set_interpolation(
141 messages::BlindDiscreteTimeReferenceTrajectory_Interpolation_ZERO_ORDER);
146 message.mutable_blind_discrete_time_reference()->set_interpolation(messages::BlindDiscreteTimeReferenceTrajectory_Interpolation_LINEAR);
156 void BlindDiscreteTimeReferenceTrajectory::fromMessage(
const corbo::messages::ReferenceTrajectory& message, std::stringstream* issues)
159 time_series->fromMessage(message.blind_discrete_time_reference().time_series());
160 setTrajectory(time_series);
162 switch (message.blind_discrete_time_reference().interpolation())
164 case messages::BlindDiscreteTimeReferenceTrajectory_Interpolation_ZERO_ORDER:
169 case messages::BlindDiscreteTimeReferenceTrajectory_Interpolation_LINEAR:
#define PRINT_ERROR_NAMED(msg)
A matrix or vector expression mapping an existing array of data.
int getDimension() const override
std::shared_ptr< TimeSeries > Ptr