19 #include "visualizationThread.h" 27 VisualizationThread::VisualizationThread(DataToShow &_data) : data(_data)
33 void VisualizationThread::setPosition(
int x,
int y)
40 void VisualizationThread::setSize(
int sizex,
int sizey)
47 void VisualizationThread::run()
49 boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer(
new pcl::visualization::PCLVisualizer(
"3D Viewer"));
51 viewer->initCameraParameters();
53 viewer->setPosition(x,y);
54 if (sizex!=0 && sizey!=0)
55 viewer->setSize(sizex,sizey);
59 pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloudPtr(
new pcl::PointCloud<pcl::PointXYZRGB> (data.cloud));
60 pcl::PointCloud<pcl::Normal>::Ptr normalPtr(
new pcl::PointCloud<pcl::Normal> (data.normals));
61 viewer->addPointCloudNormals<pcl::PointXYZRGB,pcl::Normal>(cloudPtr,normalPtr,5,0.01,
"normals");
62 pcl::visualization::PointCloudColorHandlerRGBField<pcl::PointXYZRGB> rgb(cloudPtr);
63 viewer->addPointCloud<pcl::PointXYZRGB> (cloudPtr, rgb,
"rgb");
64 viewer->setPointCloudRenderingProperties (pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 3,
"rgb");
65 for (
int i=0; i<data.sampled_cloud.size(); i++)
70 pcl::PointXYZ point(data.sampled_cloud.at(i).x,data.sampled_cloud.at(i).y, data.sampled_cloud.at(i).z);
71 viewer->addSphere (point, 0.002, 0, 1, 0,
"pointScored"+s);
73 viewer->resetCamera();
74 viewer->setCameraPosition(-0.0611749,-0.040113,0.00667606,-0.105521,0.0891437,0.990413);
77 while (!viewer->wasStopped())
84 viewer->spinOnce (100);
85 boost::this_thread::sleep (boost::posix_time::microseconds (100000));
90 void VisualizationThread::onStop()
The Definition of the BoundingBox class.
void drawBoundingBox(boost::shared_ptr< pcl::visualization::PCLVisualizer > viewer, int viewport=0)
Draw a 3D box in a PCLVisualizer window.