ROS-I simple_message 源码分析:JointT

2019-03-21  本文已影响0人  play_robot

JointTrajPtFullMessage类封装的是JointTrajPtFull数据类型,用途是实现与SimpleMessage的双向数据转换,给出源代码:

namespace industrial
{
namespace joint_traj_pt_full_message
{

class JointTrajPtFullMessage : public industrial::typed_message::TypedMessage

{
public:
  JointTrajPtFullMessage(void);
  ~JointTrajPtFullMessage(void);

  bool init(industrial::simple_message::SimpleMessage & msg);
  void init(industrial::joint_traj_pt_full::JointTrajPtFull & 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_full::JointTrajPtFull point_;

private:


};

}
}
bool JointTrajPtFullMessage::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;
}
(和RobotStatusMessage一样,直接在基类中实现,此处省略略)
上一篇下一篇

猜你喜欢

热点阅读