将查看者与PCL下的现有窗口相关联

时间:2016-08-31 08:26:01

标签: c++ windows point-cloud-library

我正在使用PCL在Windows下显示点云。 CloudViewer和PCLVisualizer类可用于此目的。但是当你实例化它们时,它们会创建自己的窗口(通过VTK)。由于我想将显示窗口集成到一个完整的GUI中,我正在寻找一种方法将显示器指向现有窗口,可能是通过传递窗口句柄。窗口不是OpenGL。

这可能吗?任何提示?

1 个答案:

答案 0 :(得分:2)

似乎我找到了解决方案。

一些Web帖子建议更改查看器的RenderWindow的父窗口,可以使用

viewer->getRenderWindow()->SetParentId(hWnd);

无论如何,这似乎没有效果。但它激发了我使用Windows功能重新定义,

SetParent((HWND)viewer->getRenderWindow()->GetGenericWindowId(), hWnd);

这确实使观众成为我的窗户的孩子,同时它继续正常工作。可以使用SetWindowLong调整其他样式标记。

目前我还保留了第一份声明,以防万一。它似乎没有打扰。