点云技术相关产学研社区

 找回密码
 立即注册加入PCL中国点云技术相关产学研社区

扫一扫,访问微社区

查看: 2104|回复: 0

选点回调函数为成员函数时的注册

[复制链接]
发表于 2016-5-3 16:33:47 | 显示全部楼层 |阅读模式
  template<typename T> inline boost::signals2::connection
        registerPointPickingCallback (void (T::*callback) (const pcl::visualization::PointPickingEvent&, void*), T& instance, void* cookie = NULL)
        {
          return (registerPointPickingCallback (boost::bind (callback, boost::ref (instance), _1, cookie)));
        }

用上面这个重载函数来完成对选点回调函数为成员函数时的注册。注意调用时,要输入模板参数T
把返回值boost::signals2::connection,存下来,在不需要回调函数执行的是否,调用disconnect()函数。即可取消注册的函数。
理论上,可以用boost::signals2::shared_connection_block来对信号进行管理,但测试不成功。等后面有时间分析源码找到原因再来分享原因。
回复

使用道具 举报

本版积分规则

QQ|小黑屋|点云技术相关产学研社区 ( 陕ICP备13001629号 )

GMT+8, 2024-5-13 04:37 , Processed in 1.476620 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表