Segfault with vtkBooleanOperationPolyDataFilter (VTK 9.2.6)
std::string inputFilename1 = "E:/vtk/c12im.stl";
vtkSmartPointer<vtkSTLReader> reader1 = vtkSmartPointer<vtkSTLReader>::New();
reader1->SetFileName(inputFilename1.c_str());
reader1->Update();
std::string inputFilename2 = "E:/vtk/c1.stl";
vtkSmartPointer<vtkSTLReader> reader2 = vtkSmartPointer<vtkSTLReader>::New();
reader2->SetFileName(inputFilename2.c_str());
reader2->Update();
vtkSmartPointer<vtkTriangleFilter> filter1 = vtkSmartPointer<vtkTriangleFilter>::New();
filter1->SetInputData(reader1->GetOutput());
filter1->Update();
vtkSmartPointer<vtkTriangleFilter> filter2 = vtkSmartPointer<vtkTriangleFilter>::New();
filter2->SetInputData(reader2->GetOutput());
filter2->Update();
vtkSmartPointer<vtkBooleanOperationPolyDataFilter> boolFilter = vtkSmartPointer<vtkBooleanOperationPolyDataFilter>::New();
boolFilter->SetInputConnection(0, filter1->GetOutputPort());
boolFilter->SetInputConnection(1, filter2->GetOutputPort());
boolFilter->SetOperationToIntersection();
boolFilter->Update();
Result:
0xC0000005: Access conflict occurred while reading at 0xFFFFFFFFFFFFFFFF w
Edited by Mathieu Westphal (Kitware)