Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将polydat拆分为VTK中所有连接的组件_C++_Vtk - Fatal编程技术网

C++ 将polydat拆分为VTK中所有连接的组件

C++ 将polydat拆分为VTK中所有连接的组件,c++,vtk,C++,Vtk,我有一个obj文件网格,我想提取vtk中所有连接的元素。我已经尝试了vtkConnectivityFilter以及VTKPolyDataConnectionyFilter auto connectivityFilter = vtkSmartPointer<vtkConnectivityFilter>::New(); connectivityFilter->SetInputData(inPoly); connectivityFilter->Set

我有一个obj文件网格,我想提取vtk中所有连接的元素。我已经尝试了vtkConnectivityFilter以及VTKPolyDataConnectionyFilter

 auto connectivityFilter =  vtkSmartPointer<vtkConnectivityFilter>::New();
      connectivityFilter->SetInputData(inPoly);
      connectivityFilter->SetExtractionModeToSpecifiedRegions();
      connectivityFilter->ColorRegionsOn();
      connectivityFilter->Update();
  for (int i = 1; i < connectivityFilter->GetNumberOfExtractedRegions(); i++)
    {
       connectivityFilter->AddSpecifiedRegion(i);
       connectivityFilter->Update();
       auto poly = vtkSmartPointer<vtkPolyData>::New();
       poly->ShallowCopy(connectivityFilter->GetOutput());
    }
}```
auto-connectivityFilter=vtkSmartPointer::New();
ConnectionyFilter->SetInputData(inPoly);
ConnectionyFilter->SetExtractionModeToSpecifiedRegions();
connectivityFilter->ColorRegionsOn();
connectivityFilter->Update();
对于(int i=1;iGetNumberOfExtractedRegions();i++)
{
连接过滤器->添加指定区域(i);
connectivityFilter->Update();
自动多边形=vtkSmartPointer::New();
poly->ShallowCopy(connectivityFilter->GetOutput());
}
}```

我认为最好的方法是:

  • 在AllRegion模式下使用VTKPolyDataConnectionyFilter计算连接性。它创建一个数组,每个连接点具有唯一的值
  • 在NumberOfExtractedRegions循环中,使用
    vtkThreshold
    提取polydata,设置为
    阈值介于(i,i)


您能解释一下哪里出了问题吗?您好@NicoVuaille,谢谢您的回复,实际上它只提取孤立的网格,而不提取三角形网格的任何连接部分!