gpt4 book ai didi

vtk - 从 vtkPoints 中删除单个点

转载 作者:行者123 更新时间:2023-12-02 19:52:09 36 4
gpt4 key购买 nike

我有一个关于名为 vtkPoints 的 VTK 类的问题。该类具有插入单个点的功能,但不具有删除单个点的功能。这对于需要通过调用 vtkPoints::Modified() 来再次驱动图形管道来更新/重新渲染 View 来更新 View 的情况来说是不方便的。重新初始化 vtkPoints、再次添加所有点以及更新/重新渲染 View 的明显情况太慢且资源密集。

这个问题有可能解决吗?

谢谢,时间捕捉器

最佳答案

示例http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/DeletePoint有一个相当简单的解决方案。通过过滤要删除的 id 将点复制到另一个临时 vtkPoints,并将其浅复制到原始点:

void ReallyDeletePoint(vtkSmartPointer<vtkPoints> points, vtkIdType id)
{
vtkSmartPointer<vtkPoints> newPoints =
vtkSmartPointer<vtkPoints>::New();

for(vtkIdType i = 0; i < points->GetNumberOfPoints(); i++)
{
if(i != id)
{
double p[3];
points->GetPoint(i,p);
newPoints->InsertNextPoint(p);
}
}

points->ShallowCopy(newPoints);
}

关于vtk - 从 vtkPoints 中删除单个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6878263/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com