c++ - 如何从现有的 vtkPolyData 复制折线的子集?

标签 c++ vtk

我有一组折线:oldData。 我希望仅显示基于“过滤器”的这些折线中的一些:showLine:

void myFunction(vtkSmartPointer<vtkPolyData> oldData, 
                std::vector<boolean> showLine) {
    // "Filtered" polylines: 
    vtkSmartPointer<vtkPolyData> newData = vtkPolyData::New();

    // .. ???

    displayFunction(newData);
 }

如何将 showLine[i] == true 的折线复制到 newData 中?

提前感谢您的回答!

最佳答案

首先,这是无效的:

vtkSmartPointer newData = vtkPolyData::New();

你要么做

vtkSmartPointer newData = vtkSmartPointer::New();

vtkPolyData* newData = vtkPolyData::New();

对于您的真正问题,您需要从旧数据中获取行:

vtkLine* line = oldData->GetCell(i);//语法可能比这更复杂...

然后放入新数据中:

newData->InsertNextCell(line);//同样,语法可能比这更复杂一些...

关于c++ - 如何从现有的 vtkPolyData 复制折线的子集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8915142/

相关文章:

c++ - 将UTC时差转换成字符串boost

C++ 构造函数中的函数指针

python-3.x - 使用 vtk 和 k3d 在 jupyter notebook 中渲染 gltf/glb 文件

c++ - 如何自动关闭打开的 vtk 窗口?

c++ - 从析构函数体内部或外部调用叶类的成员函数有区别吗?

c++ - 为什么这个 C++ 片段可以编译(非 void 函数不返回值)

c++ - 如何使用 QT 在 Windows 中启动进程?

python - VTK 窗口未填充 wx.Panel

python - 在 Windows 上安装 MayaVi,使用 Python 2.7

c++ - VTK:高度场的基本可视化