использование «pcl :: visualization» в разных потоках из разных экземпляров класса
Я хочу иметь класс, который содержит визуализатор в облачной точке. вот мой код:
class my_vis
{
void vis_func ()
{
pcl::visualization::PCLVisualizer *vis ;
vis = new pcl::visualization::PCLVisualizer("octree viewer");
// this "vis" is just used in this function and no other place
}
void execute(){
//Start visualizer in a thread
boost::thread* visThread = new boost::thread(boost::bind(&my_vis::vis_func, this));
// bla bla
}
}
int main ()
{
my_vis vis1();
vis1.execute();
my_vis vis2();
vis2.execute();
std::getchar();
return 0 ;
}
теперь у меня есть класс визуализаторов, которые могут быть созданы вглавный", когда я сделал только один экземпляр из класса "my_vis» когда все работает, все в порядке. Но мне нужно два или более экземпляров. и когда я инициализирую более одного экземпляра, произошла ошибка: BLOCK_TYPE_IS_VALID Я думаю, что это из-за использования потоков. Но потоки необходимы в моем проекте.
Не могли бы вы помочь мне? Большое спасибо за вашего пациента и помощь :)
Постскриптум Я использую PCL 1.7