ROS-I simple_message 源码分析:JointTrajPtMessage

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一样,直接在基类中实现,此处省略略)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,167评论 1 32
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,283评论 4 61
  • 在一个方法内部定义的变量都存储在栈中,当这个函数运行结束后,其对应的栈就会被回收,此时,在其方法体中定义的变量将不...
    Y了个J阅读 4,461评论 1 14
  • 我弟今年已经23岁半,刚好小我三岁,身高1.70,长的一点都不相像,他高中毕业以后就去打工,先后去学了装修、啤酒厂...
    周小帅阅读 1,012评论 4 7
  • 【青蛙化工头条】PTA专题: 调研背景 自16年PTA供应端进入新格局以来,17年下半年聚酯行业也进入新周期。下游...
    6chem阅读 581评论 0 0