<div dir="ltr">Hi,<div><br></div><div>I recently start to use VTK in purpose to use its function for cleaning up a polygon mesh, which has duplicated vertices and too many small triangles. I were aiming to use VTK built in methods vtkCleanPolyData and vtkDecimatePro.</div>
<div><br></div><div>I use the following code snippet to clean the mesh.</div><div><br></div><div>[code]</div><div><div><span style="white-space:pre">                   </span>vtkSmartPointer<vtkPolyData> vtk_polydata( vtkSmartPointer<vtkPolyData>::New() );</div>
<div><span class="" style="white-space:pre">                    </span>vtkSmartPointer<vtkPolyData> vtk_cleanedPoly( vtkSmartPointer<vtkPolyData>::New() );</div><div><span class="" style="white-space:pre">                   </span>vtk_polydata->SetPoints(vtk_points);</div>
<div><span class="" style="white-space:pre">                    </span>vtk_polydata->SetPolys(vtk_polys);</div><div><span style="white-space:pre">                 vtk_polydata->Update();</span><br></div><div><span class="" style="white-space:pre">                       </span>vtkSmartPointer<vtkCleanPolyData> vtk_cleanPolyData( vtkSmartPointer<vtkCleanPolyData>::New() );</div>
<div><br></div><div><span class="" style="white-space:pre">                   </span>vtk_cleanPolyData->SetInput( vtk_polydata );</div><div><span class="" style="white-space:pre">                    </span>vtk_cleanPolyData->SetTolerance(0.1);</div>
<div><span class="" style="white-space:pre">                    </span>vtk_cleanPolyData->SetAbsoluteTolerance(0.1);</div><div><span class="" style="white-space:pre">                   </span>vtk_cleanPolyData->PointMergingOn();</div><div><span class="" style="white-space:pre">                    </span>vtk_cleanPolyData->Update();</div>
<div><span class="" style="white-space:pre">                    </span>//vtk_cleanPolyData->SetOutput( vtk_cleanedPoly );</div><div><span class="" style="white-space:pre">                      </span></div><div><span class="" style="white-space:pre">                   </span>vtk_cleanedPoly->SetPoints( vtk_cleanPolyData->GetOutput()->GetPoints() );</div>
<div><span class="" style="white-space:pre">                    </span>vtk_cleanedPoly->SetPolys( vtk_cleanPolyData->GetOutput()->GetPolys() );</div><div><span class="" style="white-space:pre">                  </span>//vtk_cleanedPoly->ShallowCopy( vtk_cleanPolyData->GetOutput() );</div>
<div><br></div><div><span class="" style="white-space:pre">                   </span>vtkSmartPointer<vtkDecimatePro> vtk_decimate( vtkSmartPointer<vtkDecimatePro>::New() );</div><div><span class="" style="white-space:pre">                        </span>vtk_decimate->SetTargetReduction(0.50);</div>
<div><span class="" style="white-space:pre">                    </span>vtk_decimate->SetInput( vtk_cleanedPoly );</div><div><span class="" style="white-space:pre">                      </span>vtk_decimate->Update();</div><div><br></div><div><span class="" style="white-space:pre">                        </span>//vtkSmartPointer<vtkPolyData> vtk_decimated(  );</div>
<div><span class="" style="white-space:pre">                    </span>vtk_mesh->ShallowCopy( vtk_decimate->GetOutput() );</div></div><div>[/code]</div><div><br></div><div>When it reaches the lines where vtk_cleanPolyData->Update() it crashes.</div>
<div><br></div><div>What am I doing wrong? I'm using VTK 5.8</div><div><br></div><div>Kind regards</div><div>Patrik</div></div>