我有一组折线: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/