Visualization (PCL createViewPort):多个多边形在窗口中同时旋转

Visualization (PCL createViewPort):多个多边形在窗口中同时旋转,visualization,point-cloud-library,Visualization,Point Cloud Library,我将创建两个视口,以便可视化两个独立的点云。 以下是我代码的一部分: PORT1 = 0; PORT2=0; vis->createViewPort (0.5,0.0,1.0,1.0,PORT1); vis->setBackgroundColor(0,0,0,PORT1); vis->addPointCloud<pcl::PointXYZ>(*cloud1, "left cloud",PORT1); vis->createViewPort (0.0,0.0

我将创建两个视口,以便可视化两个独立的点云。 以下是我代码的一部分:

PORT1 = 0; PORT2=0;

vis->createViewPort (0.5,0.0,1.0,1.0,PORT1);
vis->setBackgroundColor(0,0,0,PORT1);
vis->addPointCloud<pcl::PointXYZ>(*cloud1, "left cloud",PORT1);

vis->createViewPort (0.0,0.0,0.5,1.0,PORT2);
vis->setBackgroundColor(0.1,0.1,0.1,PORT2);
vis->addPointCloud<pcl::PointXYZ>(*cloud2, "right cloud",PORT2);
PORT1=0;端口2=0;
vis->createViewPort(0.5,0.0,1.0,1.0,端口1);
vis->setBackgroundColor(0,0,0,端口1);
vis->addPointCloud(*cloud1,“左云”,端口1);
vis->createViewPort(0.0,0.0,0.5,1.0,端口2);
vis->setBackgroundColor(0.1,0.1,0.1,端口2);
vis->addPointCloud(*cloud2,“右云”,端口2);
可视化工具在同一窗口中显示cloud1和cloud2。但是,当我想更改一个点云的视图(使用鼠标)时,另一个点云会同时旋转。有没有办法让不同的点云彼此独立查看?(我在线程中创建了可视化工具,因此无法创建两个不同的可视化工具)


谢谢各位

我已经找到了答案(来自pcl用户论坛):

不能在两个或多个线程中使用一个可视化工具。PCL(1.7)的当前版本不支持此任务。
但是您可以使用不同的可视化工具生成两个不同的线程。然后,您将在单独的窗口中看到每个云,并且您可以独立地更改每个窗口的视图。

您可以独立地执行这些操作,只需为每个窗口创建单独的摄影机。使用此建议更新的代码将按以下方式显示:

PORT1 = 0; PORT2=0;
vis->createViewPort (0.5,0.0,1.0,1.0,PORT1);
vis->setBackgroundColor(0,0,0,PORT1);
vis->addPointCloud<pcl::PointXYZ>(*cloud1, "left cloud",PORT1);
vis->createViewPortCamera(PORT1);

vis->createViewPort (0.0,0.0,0.5,1.0,PORT2);
vis->setBackgroundColor(0.1,0.1,0.1,PORT2);
vis->addPointCloud<pcl::PointXYZ>(*cloud2, "right cloud",PORT2);
vis->createViewPortCamera(PORT2);
PORT1=0;端口2=0;
vis->createViewPort(0.5,0.0,1.0,1.0,端口1);
vis->setBackgroundColor(0,0,0,端口1);
vis->addPointCloud(*cloud1,“左云”,端口1);
vis->createViewPortCamera(端口1);
vis->createViewPort(0.0,0.0,0.5,1.0,端口2);
vis->setBackgroundColor(0.1,0.1,0.1,端口2);
vis->addPointCloud(*cloud2,“右云”,端口2);
vis->createViewPortCamera(端口2);
其中vis为:

boost::shared_ptr vis(新的pcl::visualization::PCLVisualizer(“id”)

我相信这-1票是支持“PCL”的,因为这个错误:)