I am currently creating a spline using vtkSplineFilter. The points in the spline are changing as new positions for points are generated. However, now I want to put the position information into a vtkTransform and connect the Spline being created within a pipeline so that, it gets updated when the the transform changes.<div>




<br></div><div>currently I am doing this whenever I get new positions. Is it possible to put this in a pipeline so that the points are updated using a vtktransform when the transform changes. In vtkTransform there is a function called &quot;MultiplyPoint&quot; and &quot;TransformPoint&quot;, however both are not indicated to be pipelined. </div>

<div><br></div><div>I am curious if anyone has tried to do this, or if anyone has suggestions on this issue.</div><div><br></div><div><pre style="margin-top:0px;margin-bottom:0px">myspline is a class containing vtkPoints, vtkPolyLine, vtkPolyData etc.</pre>

<pre style="margin-top:0px;margin-bottom:0px"><br></pre><pre style="margin-top:0px;margin-bottom:0px">    //   In the constructor for my spline class
    _points       = vtkSmartPointer&lt; vtkPoints &gt;::New();
    _polyLine     = vtkSmartPointer&lt; vtkPolyLine &gt;::New();
    _cells        = vtkSmartPointer&lt; vtkCellArray &gt;::New();
    _polyData     = vtkSmartPointer&lt; vtkPolyData &gt;::New();
    _splineFilter = vtkSmartPointer&lt; vtkSplineFilter &gt;::New();
    _tubeFilter   = vtkSmartPointer&lt; vtkTubeFilter &gt;::New();

    //   PIPELINE
    _cells-&gt;InsertNextCell(_polyLine);
    _polyData-&gt;SetPoints(_points);
    _polyData-&gt;SetLines(_cells);
    _splinefilter-&gt;SetInput( _polyData );
    _splinefilter-&gt;SetMaximumNumberOfSubdivisions( 48 );
    _tubeFilter-&gt;SetInputConnection( _splineFilter-&gt;GetOutputPort());
    _tubeFilter-&gt;SetNumberOfSides( 12 );
    _tubeFilter-&gt;SetRadius( 5.0 );
    _tubeFilter-&gt;SetCapping(true);
    _mapper-&gt;SetInputConnection( _tubeFilter-&gt;GetOutputPort() );
    _actor-&gt;SetMapper(_mapper);
    _actor-&gt;GetProperty()-&gt;SetLineWidth(4);

    //----------------------------------------------------------------
    // Updating for new vtkpoints</pre><pre style="margin-top:0px;margin-bottom:0px"><font color="#006600"><b>    // I want to put this part into the pipeline if possible so that 
    // i can apply a vtkTransform to lets say the _points and the spline
    // gets updated automatically. The updated _points that I get are</b></font></pre><pre style="margin-top:0px;margin-bottom:0px">    // absolute positions so I cannot appl
    splineObj-&gt;getPoints()-&gt;Reset();
    splineObj-&gt;getPolyLine()-&gt;GetPointIds()-&gt;Reset();
    vtkIdType k = 0;

    // __scanorder contains the order in which the points need to be put into a spline
    // __positions contains the updated point locations
    for (int j = 0; j &lt; __scanOrder.size(); j++)
    {
         unsigned int __idx = __scanOrder[i][j]-1;
         double &amp;__coord = __positions[__idx]-&gt;getCoordinate();

         splineObj-&gt;getPoints()-&gt;InsertNextPoint(__coord[0],__coord[1],__coord[2]);
         splineObj-&gt;getPolyLine()-&gt;GetPointIds()-&gt;InsertNextId( k );
         k++;
    }
    splineObj-&gt;getCellArray()-&gt;Reset();
    splineObj-&gt;getCellArray()-&gt;InsertNextCell(splineObj-&gt;getPolyLine());
    splineObj-&gt;getPolyData()-&gt;Modified();</pre><pre style="margin-top:0px;margin-bottom:0px"><br></pre><pre style="margin-top:0px;margin-bottom:0px">Thank you,</pre><pre style="margin-top:0px;margin-bottom:0px">Anant.</pre>

</div>