Thanks Dženan Zukić. I&#39;ll try that and let you know. :-)<br><br><div class="gmail_quote">On Thu, Mar 15, 2012 at 2:19 PM, Dženan Zukić <span dir="ltr">&lt;<a href="mailto:dzenanz@gmail.com">dzenanz@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><font><font face="verdana,sans-serif">First of all, doing 3 transformations on a polydata like that is inefficient. Try this:</font></font><div>
<font face="verdana, sans-serif"><br></font></div><div><div class="im"><div>vtkSmartPointer&lt;vtkTransform&gt; ntrans = vtkSmartPointer&lt;vtkTransform&gt;::New();</div>

<div>ntrans-&gt;Translate(np);</div></div><div><span>ntrans-&gt;RotateZ(rot_</span><span>angle);</span></div><div><font><span>ntrans-&gt;Translate(pp);</span></font></div><div><font><font color="#222222" face="arial, sans-serif">//perhaps do this in reverse order (or turn on postMultiply</font><span>)</span></font></div>


<div><font><font color="#222222" face="arial, sans-serif">//also take a look at matrix returned by ntrans-&gt;GetMatrix(), it is helpful for debugging<br></font></font><div class="im"><br><div>vtkSmartPointer&lt;vtkTransformPolyDataFilter&gt; nTranslateFilter = </div>


<div>       vtkSmartPointer&lt;vtkTransformPolyDataFilter&gt;::New();</div><div>nTranslateFilter-&gt;SetInput( polyData );   // polyData is an object of type vtkPolyData</div><div>nTranslateFilter-&gt;SetTransform(ntrans);</div>


<div>nTranslateFilter-&gt;Update();</div><div><br></div></div><div><div class="im"><div>vtkSmartPointer&lt;vtkPolyDataMapper&gt; pdmapper = vtkSmartPointer&lt;vtkPolyDataMapper&gt;::New();</div></div><div>pdmapper-&gt;SetInputConnection(nTranslateFilter-&gt;GetOutputPort() );</div>
<div class="im">

<div>pdmapper-&gt;ScalarVisibilityOff();</div><div><br></div><div>vtkSmartPointer&lt;vtkActor&gt; actor = vtkSmartPointer&lt;vtkActor&gt;::New();</div><div>actor-&gt;SetMapper(pdmapper);</div></div></div>

<br><div class="gmail_quote"><div><div class="h5">On Thu, Mar 15, 2012 at 04:31, rakesh patil <span dir="ltr">&lt;<a href="mailto:prakeshofficial@gmail.com" target="_blank">prakeshofficial@gmail.com</a>&gt;</span> wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">

Hello,<div><br></div><div>I am using this particular code to perform the following set of transformations</div><div><br></div><div>Translate -&gt; Rotate -&gt; Translate</div><div><br></div><div>vtkSmartPointer&lt;vtkTransform&gt; ntrans = vtkSmartPointer&lt;vtkTransform&gt;::New();</div>



<div>ntrans-&gt;Translate(np);</div><div><br></div><div>vtkSmartPointer&lt;vtkTransform&gt; ptrans = vtkSmartPointer&lt;vtkTransform&gt;::New();</div><div>ptrans-&gt;Translate(pp);</div><div><br></div><div><div>vtkSmartPointer&lt;vtkTransform&gt; rotateTrans = vtkSmartPointer&lt;vtkTransform&gt;::New();</div>



<div>rotateTrans-&gt;RotateZ(rot_angle);</div><br></div><div>vtkSmartPointer&lt;vtkTransformPolyDataFilter&gt; nTranslateFilter = </div><div>       vtkSmartPointer&lt;vtkTransformPolyDataFilter&gt;::New();</div>
<div>nTranslateFilter-&gt;SetInput( polyData );   // polyData is an object of type vtkPolyData</div><div>nTranslateFilter-&gt;SetTransform(ntrans);</div><div>nTranslateFilter-&gt;Update();</div><div><br></div><div><div>vtkSmartPointer&lt;vtkTransformPolyDataFilter&gt; rotateFilter = </div>



<div>       vtkSmartPointer&lt;vtkTransformPolyDataFilter&gt;::New();</div><div>rotateFilter-&gt;SetInputConnection( nTranslateFilter-&gt;GetOutputPort() );</div><div>rotateFilter-&gt;SetTransform(rotateTrans);</div><div>



rotateFilter-&gt;Update();</div></div><div><br></div><div><div>vtkSmartPointer&lt;vtkTransformPolyDataFilter&gt; pTranslateFilter = </div><div>       vtkSmartPointer&lt;vtkTransformPolyDataFilter&gt;::New();</div><div>pTranslateFilter-&gt;SetInputConnection( rotateFilter-&gt;GetOutputPort() );</div>



<div>pTranslateFilter-&gt;SetTransform(ptrans);</div><div>pTranslateFilter-&gt;Update();</div></div><div><br></div><div>vtkSmartPointer&lt;vtkPolyDataMapper&gt; pdmapper = vtkSmartPointer&lt;vtkPolyDataMapper&gt;::New();</div>



<div>pdmapper-&gt;SetInputConnection(pTranslateFilter-&gt;GetOutputPort() );</div><div>pdmapper-&gt;ScalarVisibilityOff();</div><div><br></div><div>vtkSmartPointer&lt;vtkActor&gt; actor = vtkSmartPointer&lt;vtkActor&gt;::New();</div>



<div>actor-&gt;SetMapper(pdmapper);</div><div><br></div><div><br></div><div>With this code, I can see that the transformation is done only till rotation. Next translation is not shown. Can anyone point out where I am going wrong? </div>



<div><br></div><div>Thanks in advance</div><div><br></div><div>Regards</div><span><font color="#888888"><div>Rakesh Patil</div><div><br></div>
</font></span><br></div></div>_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br>
<br></blockquote></div><br></div></div>
</blockquote></div><br>