我创建了一个包含pclvisualizer线程的类。见discussion。
我发现当你尝试刷新点云可视化器窗口时,问题出现在“Interactor-> Render”功能上。
虽然线程之间没有冲突(没有共享数据和...),但是当来自不同对象的两个不同线程进入函数“render”时,产生了这个错误:
Access violation reading location 0x0000000000000010.
这是intractor_style.cpp文件的一部分,其中发生错误:
pcl::visualization::PCLVisualizerInteractorStyle::OnTimer ()
{
if (!init_)
{
pcl::console::print_error ("[PCLVisualizerInteractorStyle] Interactor style not initialized. Please call Initialize () before continuing.\n");
return;
}
if (!rens_)
{
pcl::console::print_error ("[PCLVisualizerInteractorStyle] No renderer collection given! Use SetRendererCollection () before continuing.\n");
return;
}
rens_->Render ();
Interactor->Render (); /*error occurs here*/
}