Paraview:Live Point Cloud可视化插件
ParaView: Live point cloud visualization plugin
我正在编写C 中的Paraview版本5.1.2插件,以可视化激光雷达传感器产生的点云数据。我注意到Velodyne有一个开源Paraview自定义应用程序,可以可视化其LIDAR数据,称为Veloview。我对他们的一些代码进行了调整,但现在被卡住了。
到目前为止,我写了一个读者,该读者拿了一个PCAP文件,并呈现一个可以逐帧播放的点云。我还写了一个映射源,该轨道源在端口上听并捕获UDP数据包,然后捕获了UDP数据包,使用读取器将它们分为帧并可视化PC。
现在,我想在每个帧完成时实时实时UDP数据包,并实时渲染点云。
由于paraview插件结构,我很难完成此操作。当前,当调用方法requestData时,我的读者会显示一个框架。我的方法看起来像这样。
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector){
vtkPolyData* output = vtkPolyData::GetData(outputVector);
vtkInformation* info = outputVector->GetInformationObject(0);
int timestep = 0;
if (info->Has(vtkStreamingDemandDrivenPipeline::UPDATE_TIME_STEP()))
{
double timeRequest = info->Get(vtkStreamingDemandDrivenPipeline::UPDATE_TIME_STEP());
int length = info->Length(vtkStreamingDemandDrivenPipeline::TIME_STEPS());
timestep = static_cast<int>(floor(timeRequest + 0.5));
}
this->Open();
// GetFrame returns a vtkSmartPointer<vtkPolyData> that is the frame
output->ShallowCopy(this->GetFrame(timestep));
this->Close();
return 1;
}
每次在Paraview GUI中更新时间段时,请求Data方法都会调用。然后将该时间步的帧复制到输出向量中。
我不确定如何使用实时数据实现此功能,因为在这种情况下,请求数据方法未调用,因为没有要求时间段。我看到有一种方法可以通过以这种方式使用contine_executing((来保持requestData执行。
request->Set(vtkStreamingDemandDrivenPipeline::CONTINUE_EXECUTING(), 1);
,但我不知道是否应该用来可视化实时数据。
目前,我有兴趣简单地阅读实时数据包并在框架渲染后立即将其扔掉。有人知道我如何实现这一目标吗?
在veloview的代码(基本上是捆绑的paraview lidarplugin(中,paraview的时间段由主代码更改,而不是激光插件。我们建议您从Veloview代码开始,该代码更接近您的目标。如果您真的想在Paraview中从头开始,则需要自己增加此请求的时间段。
最新版本的Veloview(未发行(使用与Paraview" Livesource"插件(可在5.6 中使用(相同的机制,该插件告诉Paraview设置QTTimer,将自动增加可用的时间段和请求的时间段。
。 。 request->Set(vtkStreamingDemandDrivenPipeline::CONTINUE_EXECUTING(), 1);
与将多次运行请求数据的另一种机制有关,但不会考虑更新请求的时间段。
最好,
Bastien Jacquet
Veloview项目负责人
- 可视化 如何在 c++ 中制作特定大小的文件?
- 可视化C++:发布模式的运行时库作为'Multi-threaded Debug DLL'
- 提升如何在图形可视化中写入边缘的权重?
- 如何在大型c++项目的可视化代码中设置调试
- 可视化编译与 C++ 中的 Extern 变量
- 可视化 Bazel C++预编译标头实现
- 无法为 X.radio 创建中等可视化,因为找不到网络节点可视化 - Omnet++
- C++合并排序可视化工具
- 可视化 使用 VS Code 查找C++应用程序中的内存泄漏
- 可视化 将字符串解析为数组以进行C++
- 可视化 如何在C++中将字符数组转换为 FILE 类型
- 可视化C++载体:未使用的容量
- 可视化 如何在 c++ 中截断
- 如何使用可视化代码和平台IO将环境变量注入CPP文件?
- OpenCV 中大量可视化::Widget3D 的性能不佳
- GCC、CLANG 和 MSVC 的可视化C++自动矢量化要求
- 如何在可视化代码中生成用于 c++ 开发的调试器?
- 可视化 如何修复 c++ 中已经定义的 -main?
- Paraview:Live Point Cloud可视化插件
- 如何为PerfPublisher插件生成xml dtd报告,以便在jenkins上可视化