PCL使用类成员函数作为pclvisualizer的回调函数
2016-11-29 21:01
453 查看
参考链接
#include <pcl/point_types.h> #include <pcl/point_cloud.h> #include <pcl/point_representation.h> #include <pcl/visualization/pcl_visualizer.h> using namespace pcl; class dummyClass{ public: dummyClass(); ~dummyClass(){}; void keyboardEventOccurred (const visualization::KeyboardEvent &event, void* junk); pcl::PointXYZ randomPoint(); void spin(); private: boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer; pcl::PointCloud<pcl::PointXYZ>::Ptr pc; }; dummyClass::dummyClass(){ // Create viewer viewer.reset(new pcl::visualization::PCLVisualizer ("3D Viewer")); viewer->addCoordinateSystem(1); viewer->addText("Press r to add a random point", 30, 10, 15, 1.0f,0.0f,0.0f,"text"); // Create cloud pc.reset(new pcl::PointCloud<pcl::PointXYZ>()); pc->push_back(randomPoint()); viewer->addPointCloud(pc,"cloud"); viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 5,"cloud"); // Register Keyboard Event viewer->registerKeyboardCallback(&dummyClass::keyboardEventOccurred,*this); }; void dummyClass::keyboardEventOccurred (const visualization::KeyboardEvent &event, void* junk){ if (event.getKeySym() == "r" && event.keyDown()){ pc->push_back(randomPoint()); viewer->updatePointCloud(pc,"cloud"); } }; pcl::PointXYZ dummyClass::randomPoint(){ pcl::PointXYZ pt; pt.x = (double)rand() / RAND_MAX *10 - 5; pt.y = (double)rand() / RAND_MAX *10 - 5; pt.z = (double)rand() / RAND_MAX *10 - 5; return pt; }; void dummyClass::spin(){ viewer->spin(); }; int main (int argc, char** argv) { dummyClass dc; dc.spin(); return 0; }
相关文章推荐
- 《PCL点云库学习&VS2010(X64)》Part 29 PCL使用类成员函数作为pclvisualizer的回调函数
- 使用类的成员函数作为API定时器的回调函数
- C++模板技术之method_thunk, 使用场景: C++中类成员函数作为回调函数
- 使用C++类成员函数作为回调函数
- 在C++的类中使用类成员函数作为回调函数
- 怎么实现类的成员函数作为回调函数
- C++中类成员函数作为回调函数的几种方法
- 将 C++ 的成员函数作为回调函数
- C++ 实现把非静态成员函数作为回调函数(非static)
- 如何使 类的成员函数作为回调函数
- 【mem_fun/mem_fun_ref】成员函数作为函数对象使用
- 在模板类成员函数入参中使用回调函数指针
- 如何让C++类的成员函数作为回调函数
- 如何使 类的成员函数作为回调函数
- 如何让C++类的成员函数作为回调函数
- C++将类的成员函数作为回调函数
- C++ 实现把非静态成员函数作为回调函数(非static)(转 待研究)
- 类作为参数给另一个类的成员函数使用注意点
- C++中类成员函数作为回调函数
- C++中 线程函数为静态函数 及 类成员函数作为回调函数