Hi <div>I was trying to compute curvature of a triangular 3D surface mesh using the vtkCurvature class. I converted my surface data structure (isurf) to vtkPolyData but I get run time error (Access violation reading location.....) when I call the BuildLinks () method of the vtkPolyData class. The code is shown below, in red is the line that is causing the run time error.... I would appreciate your help as always!</div>
<div><br></div><div>Thanks </div><div>Dotcho</div><div><br></div><div><div>vtkPoints* pnts = vtkPoints::New();</div><div><span style="white-space:pre-wrap">        </span>vtkCellArray* cells = vtkCellArray::New();</div><div><span style="white-space:pre-wrap">        </span>vtkPolyData* polys = vtkPolyData::New();</div>
<div><span style="white-space:pre-wrap">        </span>vtkPolyDataNormals* norms = vtkPolyDataNormals::New();</div><div><span style="white-space:pre-wrap">        </span>pnts->SetNumberOfPoints(isurf->numvrts);</div>
<div><span style="white-space:pre-wrap">        </span>for(ii=0;ii<isurf->numvrts;ii++)</div><div><span style="white-space:pre-wrap">                </span>pnts->InsertPoint(ii,isurf->vertices[3*ii],isurf->vertices[3*ii+1],isurf->vertices[3*ii+2]);</div>
<div><span style="white-space:pre-wrap">        </span>for(ii=0; ii<isurf->numtris;ii++)</div><div><span style="white-space:pre-wrap">                </span>cells->InsertNextCell(3,reinterpret_cast<vtkIdType*>(isurf->triangles+3*ii));</div>
<div><span style="white-space:pre-wrap">        </span>polys->SetPoints(pnts);<span style="white-space:pre-wrap">        </span></div><div><span style="white-space:pre-wrap">        </span>polys->SetPolys(cells);</div>
<div><span style="white-space:pre-wrap">        </span>polys->Update();</div><div><span style="white-space:pre-wrap">        </span><font color="#990000">polys->BuildLinks();<span style="white-space:pre-wrap">        </span>//polys->BuildLinks(0);</font></div>
<div><br></div><div><span style="white-space:pre-wrap">        </span>norms->SetInput(polys);</div><div><span style="white-space:pre-wrap">        </span>vtkCurvatures* mcurv = vtkCurvatures::New();</div>
<div><span style="white-space:pre-wrap">        </span>mcurv->SetInputConnection(norms->GetOutputPort());</div><div><span style="white-space:pre-wrap">        </span>mcurv->SetCurvatureTypeToMean();</div>
<div><span style="white-space:pre-wrap">        </span>mcurv->Update();</div><div><br></div><div><span style="white-space:pre-wrap">        </span>pnts->Delete();</div><div><span style="white-space:pre-wrap">        </span>cells->Delete();</div>
<div><span style="white-space:pre-wrap">        </span>polys->Delete();</div><div><span style="white-space:pre-wrap">        </span>norms->Delete();</div><div><span style="white-space:pre-wrap">        </span>mcurv->Delete();</div>
</div><div><br></div><div><br></div><div> <br></div>