<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#ffffff" text="#003333">
    <font size="-1"><font face="Tahoma">Hi all,<br>
        <br>
        I'm coding an application to select edges on a vtkPolyData.<br>
        <br>
        For my needs, I first have to build a wireframe vtkPolyData of
        the input (vtkPolyline-&gt;GetPointIds(...);
        vtkCellArray-&gt;InsertNextCell(vtkPolyLine); </font></font><font
      size="-1"><font face="Tahoma">vtkPolyData-&gt;SetPoints(..); </font></font><font
      size="-1"><font face="Tahoma">vtkPolyData-&gt;SetLines(vtkCellArray);</font></font><font
      size="-1"><font face="Tahoma">...)<br>
        <br>
        This part is ok. Then I use vtkContourWidget with </font></font><font
      size="-1"><font face="Tahoma">vtkPolygonalSurfacePointPlacer and </font></font><font
      size="-1"><font face="Tahoma">vtkPolygonalSurfaceContourLineInterpolator
      </font></font><font size="-1"><font face="Tahoma">:<br>
        <br>
        <br>
        &nbsp;&nbsp;&nbsp; vtkSmartPointer&lt;vtkContourWidget&gt; contourWidget =
        vtkSmartPointer&lt;vtkContourWidget&gt;::New();<br>
        &nbsp;&nbsp;&nbsp; contourWidget-&gt;SetInteractor(interactor);<br>
        <br>
        &nbsp;&nbsp;&nbsp; vtkSmartPointer&lt;vtkOrientedGlyphContourRepresentation&gt;
        rep = <br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
vtkOrientedGlyphContourRepresentation::SafeDownCast(contourWidget-&gt;GetRepresentation());<br>
        &nbsp;&nbsp;&nbsp; rep-&gt;GetLinesProperty()-&gt;SetColor(1, 0.2, 0);<br>
        &nbsp;&nbsp;&nbsp; rep-&gt;GetLinesProperty()-&gt;SetLineWidth(3.0);<br>
        <br>
        &nbsp;&nbsp;&nbsp; vtkSmartPointer&lt;vtkPolygonalSurfacePointPlacer&gt;
        pointPlacer =<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
        vtkSmartPointer&lt;vtkPolygonalSurfacePointPlacer&gt;::New();<br>
        &nbsp;&nbsp;&nbsp; pointPlacer-&gt;AddProp(actor);<br>
        &nbsp;&nbsp;&nbsp; pointPlacer-&gt;GetPolys()-&gt;AddItem( my_polydata );<br>
        &nbsp;&nbsp;&nbsp; <br>
        &nbsp;&nbsp;&nbsp;
        vtkSmartPointer&lt;vtkPolygonalSurfaceContourLineInterpolator&gt;
        interpolator =<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
vtkSmartPointer&lt;vtkPolygonalSurfaceContourLineInterpolator&gt;::New();<br>
        &nbsp;&nbsp;&nbsp; interpolator-&gt;GetPolys()-&gt;AddItem( </font></font><font
      size="-1"><font face="Tahoma">my_</font></font><font size="-1"><font
        face="Tahoma">polydata </font></font><font size="-1"><font
        face="Tahoma">);<br>
        <br>
        &nbsp;&nbsp;&nbsp; </font></font><font size="-1"><font face="Tahoma">rep-&gt;SetPointPlacer(pointPlacer);</font></font><br>
    <font size="-1"><font face="Tahoma">&nbsp;&nbsp;&nbsp;
        rep-&gt;SetLineInterpolator(interpolator);<br>
        <br>
        &nbsp;&nbsp;&nbsp; contourWidget-&gt;EnabledOn();<br>
        <br>
        When I pick one point it's ok but after the second picking I get
        an exception&nbsp; : "vector subscript out of range" thrown in the
        function vtkDijkstraGraphGeodesicPath::TraceShortestPath().<br>
        <br>
        It appears only if I the LineInterPolator is </font></font><font
      size="-1"><font face="Tahoma">vtkPolygonalSurfaceContourLineInterpolator.
        It seems that Dijkstra can't find the path allong the lines.<br>
        <br>
        So I'm asking where does this comes from ?<br>
        <br>
        When I compute a vtkpolyDataConnectivityFilter, it says me I
        have only one region, so my data is right connected (i means I
        have no holes on my polylines).<br>
        <br>
        Is there a filter I can pass to my polydata to make it works ??<br>
        <br>
        Thanks by advance for helping me.<br>
        <br>
        Nicolas<br>
      </font></font>
  </body>
</html>