插件(plugin)

来源:互联网 发布:西安行知中学小升初 编辑:程序博客网 时间:2024/06/15 21:16

http://www.guyuehome.com/920
http://blog.csdn.net/sunbibei/article/details/52958724
http://blog.csdn.net/x_r_su/article/details/53117572

cd ~/catkin_wscd srccatkin_create_pkg pluginlib_tutorials roscpp pluginlibcd pluginlib_tutorialscd includegedit polygon_base.h

一、创建基类

首先我们来创建一个polygon的基类(polygon_base.h),定义了一些简单的接口,需要注意的是initialize()这个接口的作用。

    #ifndef PLUGINLIB_TUTORIALS_POLYGON_BASE_H_    #define PLUGINLIB_TUTORIALS_POLYGON_BASE_H_    namespace polygon_base    {      class RegularPolygon      {        public:          //pluginlib要求构造函数不能带有参数,所以定义initialize来完成需要初始化的工作          virtual void initialize(double side_length) = 0;          //计算面积的接口函数          virtual double area() = 0;          virtual ~RegularPolygon(){}        protected:          RegularPolygon(){}      };    };    #endif

二、创建plugin类

接下来我们来创建rectangle_plugin和triangle_plugin类(polygon_plugins.h),实现基类的接口,也可以添加plugin自己需要的接口。

rosrun pluginlib_tutorials polygon_loader
原创粉丝点击