Hello,<br><br>I am using the following pipline to displays points<br><br><pre><font><font style="font-family: tahoma,sans-serif;" size="2"></font></font><font><font style="font-family: tahoma,sans-serif;" size="2">pnts = vtkPoints::New();<br>
pnts-&gt;SetNumberOfPoints(num);<br><br>scalar = vtkDoubleArray::New();<br>scalar-&gt;SetNumberOfTuples(num);<br><br>pVertex = vtkCellArray::New();<br><br>for (vtkIdType i = 0; i &lt; num; i++)<br>{<br>   readFile &gt;&gt; xval &gt;&gt; yval &gt;&gt; zval;<br>
   pnts-&gt;InsertPoint(i, xval, yval, 0);<br>   scalar-&gt;InsertTuple1(i, zval);<br><br>   pVertex-&gt;InsertNextCell(1, &amp;i);<br>}<br><br>vtkPolyData *pd = vtkPolyData::New();<br>pd-&gt;SetPoints(pnts);<br>pd-&gt;SetVerts(pVertex);<br>
pd-&gt;GetPointData()-&gt;SetScalars(scalar);<br><br>vtkSmartPointer&lt;vtkTransform&gt; translation =<br>    vtkSmartPointer&lt;vtkTransform&gt;::New();<br>  translation-&gt;Translate(1.0, 0.0, 0.0);<br> <br>   transformFilter = vtkTransformPolyDataFilter::New();<br>
  transformFilter-&gt;SetInput(pd-&gt;GetOutput());<br>  transformFilter-&gt;SetTransform(translation);<br>  transformFilter-&gt;Update();<br><br>vtkPolyDataMapper *mapp = vtkPolyDataMapper::New();<br>mapp-&gt;SetInputConnection( del-&gt;GetOutputPort() );<br>
mapp-&gt;ScalarVisibilityOn();<br><br><br>actor = vtkActor::New();<br>actor-&gt;SetMapper(mapp);<br>actor-&gt;GetProperty()-&gt;SetColor(1, 0, 0);<br>actor-&gt;GetProperty()-&gt;SetPointSize(3);<br><br>renderer-&gt;AddActor(actor);<br>
<br>Here actor, pnts, scalar, pVertex and transformFilter are declared in private section of a class. There is a member function of the class to triangulate these points.<br><br>void TriangulatePoints()<br>{<br>   vtkSmartPointer&lt;vtkPolyData&gt; pd = vtkSmartPointer&lt;vtkPolyData&gt;::New();<br>
   pd-&gt;SetPoints(pnts);<br>   pd-&gt;SetVerts(pVertex);<br>  pd-&gt;GetPointData()-&gt;SetScalars(scalar);<br><br>  vtkSmartPointer&lt;vtkDelaunay2d&gt; del = vtkSmartPointer&lt;vtkDelaunay2D&gt;::New();<br>  del-&gt;SetInput(pd);<br>
  del-&gt;SetTolerance(0.00001);<br>  del-&gt;ReleaseDataFlagOn();<br>  del-&gt;Update();<br><br>  triangulatedMesh = vtkPolyData::New();<br>  triangulatedMesh-&gt;DeepCopy(del-&gt;GetOutput());<br>  <br>  transformFilter-&gt;SetInput(triangulatedMesh);<br>
  transformFilter-&gt;Modified();<br>}<br></font></font></pre><br>When I execute this function what exactly is happening to the previous pipeline? First it is <br><br><br>vtkPoints          vtkDoubleArray         vtkCellArray<br>
      |                           |                            |<br>      ----------------------------------------------------------<br>                                  |<br>                           vtkPolyData<br>                                  |<br>
                 vtkTransformPolyDataFilter<br>                                  |<br>                     vtkPolyDataMapper<br>                                  |<br>                             vtkActor<br><br>After triangulation, the input for vtkTransformPolyDataFilter changes<br>
<br>vtkPoints          vtkDoubleArray         vtkCellArray<br>
      |                           |                            |<br>
      ----------------------------------------------------------<br>
                                  |<br>
                           vtkPolyData<br>
                                  |<br>                         vtkDelaunay2D<br>                                  |<br> //=================================================//<br> // Pipeline is broken here, as the output is deep copied and               //<br>
 // delaunays release data flag is on. Please correct me if I am wrong  //<br> //=================================================//  <br>                                  |<br>                         vtkPolyData<br>                                  |<br>

                 vtkTransformPolyDataFilter<br>                                  |<br>// This is already connected to actor through polydata mapper<br>
                                  |<br>
                     vtkPolyDataMapper<br>
                                  |<br>
                             vtkActor<br><br>The question is after executing triangulation function, which input will be going to transformFilter object? Will be previous pipeline exist after triangulation? or it is destroyed and new pipeline is generated? If the previous one is destroyed then is there way to handle two pipelines simultaneously for a single transformFilter object?<br>
<br>Thanks<br><br>Regards<br>Rakesh Patil<br>