|
@@ -223,7 +223,8 @@ namespace graft_cv {
|
|
|
cloud_cand_demo->push_back(pt_grab);
|
|
|
|
|
|
|
|
|
- viewer_cloud(cloud_cand_demo, std::string("cloud_cand_demo"));
|
|
|
+ //viewer_cloud(cloud_cand_demo, std::string("cloud_cand_demo"));
|
|
|
+ viewer_cloud_debug(cloud_cand_demo, selected_pt, std::string("cloud_cand_demo"));
|
|
|
}
|
|
|
return 0;
|
|
|
}
|
|
@@ -623,5 +624,43 @@ namespace graft_cv {
|
|
|
boost::this_thread::sleep(boost::posix_time::microseconds(100000));
|
|
|
}
|
|
|
}
|
|
|
+ void CRootStockGrabPoint::viewer_cloud_debug(pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloud, pcl::PointXYZ &p, std::string&winname)
|
|
|
+ {
|
|
|
+ pcl::visualization::PCLVisualizer viewer(winname);
|
|
|
+ //viewer.runOnVisualizationThreadOnce(viewerOneOff);
|
|
|
+ viewer.addPointCloud(cloud);
|
|
|
+ viewer.addCoordinateSystem();
|
|
|
+ pcl::PointXYZ p0, x1, y1,p00,x0,y0;
|
|
|
+ p0.x = p.x;
|
|
|
+ p0.y = p.y;
|
|
|
+ p0.z = p.z;
|
|
|
+ x1.x = p.x + 400.0;
|
|
|
+ x1.y = p.y;
|
|
|
+ x1.z = p.z;
|
|
|
+ y1.x = p.x;
|
|
|
+ y1.y = p.y + 200.0;
|
|
|
+ y1.z = p.z;
|
|
|
+
|
|
|
+ p00.x = 0.0;
|
|
|
+ p00.y = 0.0;
|
|
|
+ p00.z = p.z;
|
|
|
+ x0.x = 600.0;
|
|
|
+ x0.y = 0;
|
|
|
+ x0.z = p.z;
|
|
|
+ y0.x = 0.0;
|
|
|
+ y0.y = 300.0;
|
|
|
+ y0.z = p.z;
|
|
|
+
|
|
|
+ viewer.addLine(p0, x1, 255, 0, 0, "x");
|
|
|
+ viewer.addLine(p0, y1, 0, 255, 0, "y");
|
|
|
+
|
|
|
+ viewer.addLine(p00, x0, 255, 0, 0, "x0");
|
|
|
+ viewer.addLine(p00, y0, 0, 255, 0, "y0");
|
|
|
+
|
|
|
+ while (!viewer.wasStopped()) {
|
|
|
+ viewer.spinOnce(100);
|
|
|
+ boost::this_thread::sleep(boost::posix_time::microseconds(100000));
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
};
|