美文网首页
ROS-I simple_message 源码分析:JointT

ROS-I simple_message 源码分析:JointT

作者: play_robot | 来源:发表于2019-03-20 14:50 被阅读0次

JointTraj封装的数据类型为JointTrajPt数组,设计该类的目的在于通过与机器人控制器一个简单的连接发送所有的轨迹点数据。

namespace industrial
{
namespace joint_traj
{

class JointTraj : public industrial::simple_serialize::SimpleSerialize
{
public:

    JointTraj(void);
    ~JointTraj(void);
    void init();

    bool addPoint(industrial::joint_traj_pt::JointTrajPt & point);
    bool getPoint(industrial::shared_types::shared_int index,
            industrial::joint_traj_pt::JointTrajPt & point);
    
    industrial::shared_types::shared_int size()
    {
        return this->size_;
    }

    bool isFull()
    {
        return this->size_ >= this->getMaxNumPoints();
    }

    int getMaxNumPoints() const
    {
        return MAX_NUM_POINTS;
    }

    void copyFrom(JointTraj &src);
    bool operator==(JointTraj &rhs);

    // Overrides - SimpleSerialize
    bool load(industrial::byte_array::ByteArray *buffer);
    bool unload(industrial::byte_array::ByteArray *buffer);
    unsigned int byteLength()
    {
        industrial::joint_traj_pt::JointTrajPt pt;
        return this->size() * pt.byteLength();
    }

private:
    static const industrial::shared_types::shared_int MAX_NUM_POINTS = 200;
    industrial::joint_traj_pt::JointTrajPt points_[MAX_NUM_POINTS];
    industrial::shared_types::shared_int size_;
};

}
}

MAX_NUM_POINTS定义了一条轨迹包含的最大路径点数目为200,addPoint和getPoint用于向points_中添加和获取JointTrajPt轨迹点,其余方法与JointTrajPt是类似的。

相关文章

网友评论

      本文标题:ROS-I simple_message 源码分析:JointT

      本文链接:https://www.haomeiwen.com/subject/fiwzmqtx.html