Hi! I&#39;m a newbie on VTK and I&#39;m using vtkContourWidget to manually draw a contour on a polydata surface.<div><br></div><div>I&#39;ve managed to draw the contour and also, via callbacks, to print (std::cout) the polydata contour info (using the syntax polyData-&gt;GetNumberOfPoints(), where &quot;polyData&quot; is the contour obtained as vtkPolyData *polyData = rep-&gt;GetContourRepresentationAsPolyData();).</div>
<div><br></div><div>The problem: up to know I only have access to this polydata from within the class implementation and not from the calling function (in my case the main function).</div><div><br></div><div>What I&#39;d like to do: to return the polydata pointer (from the callback) to the main function, in order to have access to the contour. Does any of you know how to do that?</div>
<div><br></div><div>Here&#39;s part of my code:</div><div><br></div><div>//</div><div>// Callback class</div><div>//</div><div><div>class callbackContourWidget : public vtkCommand</div><div>{</div><div>  public:</div><div>
    static callbackContourWidget *New()</div><div>    {</div><div>      return new callbackContourWidget;</div><div>    }</div><div>    callbackContourWidget(){}</div><div> </div><div>    virtual void Execute(vtkObject *caller, unsigned long, void*)</div>
<div>    {</div><div>      vtkContourWidget *contourWidget = reinterpret_cast&lt;vtkContourWidget*&gt;(caller);</div><div>      vtkContourRepresentation* rep = static_cast&lt;vtkContourRepresentation *&gt;(contourWidget-&gt;GetRepresentation());</div>
<div>     </div><div>      vtkPolyData *polyData = rep-&gt;GetContourRepresentationAsPolyData();</div><div>      std::cout&lt;&lt; &quot;The contour has &quot; &lt;&lt; polyData-&gt;GetNumberOfPoints() &lt;&lt; &quot;points.&quot; &lt;&lt; std::endl;</div>
<div>    }</div><div> </div><div>  void SetMeshSource(vtkSmartPointer&lt;vtkTriangleFilter&gt; triangleMesh) {this-&gt;MeshSource = triangleMesh;}</div><div><br></div><div>  // Metodo para obtener el polydata</div><div>  void GetPolydataContour(&lt;vtkContourRepresentation&gt; rep) {}</div>
<div>  </div><div>  private:</div><div>    vtkSmartPointer&lt;vtkTriangleFilter&gt; MeshSource;</div><div>};</div></div><div><br></div><div>//</div><div>// Calling the callback from the main function</div><div>//</div><div>
<br></div><div>int main(int argc, char *argv[]){</div><div>...</div><div>...</div><div><div><span class="Apple-tab-span" style="white-space:pre">        </span>vtkSmartPointer&lt;callbackContourWidget&gt; callback = vtkSmartPointer&lt;callbackContourWidget&gt;::New();</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>callback-&gt;SetMeshSource(triangleFilter);</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>contourWidget-&gt;AddObserver(vtkCommand::InteractionEvent,callback);</div>
</div><div>...</div><div>...</div><div>}</div><div><br></div><div>Thanks!</div><div>Miguel</div>