- ROS-I simple_message 源码分析:JointT
- ROS-I simple_message 源码分析:JointT
- ROS-I simple_message 源码分析:JointT
- ROS-I simple_message 源码分析:JointT
- ROS-I simple_message 源码分析:JointT
- ROS-I simple_message 源码分析:Messag
- ROS-I simple_message 源码分析:SmplMs
- ROS-I simple_message 源码分析:Messag
- ROS-I simple_message 源码分析:TypedM
- ROS-I simple_message 源码分析:RobotS
JointTrajPtMessage类封装的是JointTrajPt数据类型,用途是实现与SimpleMessage的双向数据转换,给出源代码:
namespace industrial
{
namespace joint_traj_pt_message
{
class JointTrajPtMessage : public industrial::typed_message::TypedMessage
{
public:
JointTrajPtMessage(void);
~JointTrajPtMessage(void);
bool init(industrial::simple_message::SimpleMessage & msg);
void init(industrial::joint_traj_pt::JointTrajPt & point);
void init();
// Overrides - SimpleSerialize
bool load(industrial::byte_array::ByteArray *buffer);
bool unload(industrial::byte_array::ByteArray *buffer);
unsigned int byteLength()
{
return this->point_.byteLength();
}
void setSequence(industrial::shared_types::shared_int sequence) { point_.setSequence(sequence); }
industrial::joint_traj_pt::JointTrajPt point_;
};
}
}
- 从SimpleMessage创建JointTrajPtMessage
bool JointTrajPtMessage::init(industrial::simple_message::SimpleMessage & msg)
{
bool rtn = false;
ByteArray data = msg.getData();
this->init();
if (data.unload(this->point_))
{
rtn = true;
}
else
{
LOG_ERROR("Failed to unload joint traj pt data");
}
return rtn;
}
- 从SimpleMessage创建JointTrajPtMessage
(和RobotStatusMessage一样,直接在基类中实现,此处省略略)
网友评论