Thanks Dženan Zukić. I'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"><<a href="mailto:dzenanz@gmail.com">dzenanz@gmail.com</a>></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<vtkTransform> ntrans = vtkSmartPointer<vtkTransform>::New();</div>
<div>ntrans->Translate(np);</div></div><div><span>ntrans->RotateZ(rot_</span><span>angle);</span></div><div><font><span>ntrans->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->GetMatrix(), it is helpful for debugging<br></font></font><div class="im"><br><div>vtkSmartPointer<vtkTransformPolyDataFilter> nTranslateFilter = </div>
<div> vtkSmartPointer<vtkTransformPolyDataFilter>::New();</div><div>nTranslateFilter->SetInput( polyData ); // polyData is an object of type vtkPolyData</div><div>nTranslateFilter->SetTransform(ntrans);</div>
<div>nTranslateFilter->Update();</div><div><br></div></div><div><div class="im"><div>vtkSmartPointer<vtkPolyDataMapper> pdmapper = vtkSmartPointer<vtkPolyDataMapper>::New();</div></div><div>pdmapper->SetInputConnection(nTranslateFilter->GetOutputPort() );</div>
<div class="im">
<div>pdmapper->ScalarVisibilityOff();</div><div><br></div><div>vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New();</div><div>actor->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"><<a href="mailto:prakeshofficial@gmail.com" target="_blank">prakeshofficial@gmail.com</a>></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 -> Rotate -> Translate</div><div><br></div><div>vtkSmartPointer<vtkTransform> ntrans = vtkSmartPointer<vtkTransform>::New();</div>
<div>ntrans->Translate(np);</div><div><br></div><div>vtkSmartPointer<vtkTransform> ptrans = vtkSmartPointer<vtkTransform>::New();</div><div>ptrans->Translate(pp);</div><div><br></div><div><div>vtkSmartPointer<vtkTransform> rotateTrans = vtkSmartPointer<vtkTransform>::New();</div>
<div>rotateTrans->RotateZ(rot_angle);</div><br></div><div>vtkSmartPointer<vtkTransformPolyDataFilter> nTranslateFilter = </div><div> vtkSmartPointer<vtkTransformPolyDataFilter>::New();</div>
<div>nTranslateFilter->SetInput( polyData ); // polyData is an object of type vtkPolyData</div><div>nTranslateFilter->SetTransform(ntrans);</div><div>nTranslateFilter->Update();</div><div><br></div><div><div>vtkSmartPointer<vtkTransformPolyDataFilter> rotateFilter = </div>
<div> vtkSmartPointer<vtkTransformPolyDataFilter>::New();</div><div>rotateFilter->SetInputConnection( nTranslateFilter->GetOutputPort() );</div><div>rotateFilter->SetTransform(rotateTrans);</div><div>
rotateFilter->Update();</div></div><div><br></div><div><div>vtkSmartPointer<vtkTransformPolyDataFilter> pTranslateFilter = </div><div> vtkSmartPointer<vtkTransformPolyDataFilter>::New();</div><div>pTranslateFilter->SetInputConnection( rotateFilter->GetOutputPort() );</div>
<div>pTranslateFilter->SetTransform(ptrans);</div><div>pTranslateFilter->Update();</div></div><div><br></div><div>vtkSmartPointer<vtkPolyDataMapper> pdmapper = vtkSmartPointer<vtkPolyDataMapper>::New();</div>
<div>pdmapper->SetInputConnection(pTranslateFilter->GetOutputPort() );</div><div>pdmapper->ScalarVisibilityOff();</div><div><br></div><div>vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New();</div>
<div>actor->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>