Hello,<br><br>Finally, after a long study, I've implemented callback functionality.. It was damn so easy and I was simply breaking my head..:-)<br><br>Anyways, this what I've done.<br><br>class vtkMyCallback : public vtkCommand<br>{<br>public:<br>   static vtkMyCallback *New(){<br>       return new vtkMyCallback;<br>   }<br><br>   virtual void Execute(vtkObject *callee, unsigned long, void *)<br>   {<br>       vtkRenderer *renderer = reinterpret_cast&lt;vtkRenderer&gt;(callee);<br>       computeSomething(renderer-&gt;GetActiveCamera()-&gt;GetPosition(), renderer);<br>   }<br>};<br><br>Here is a code for computeSomething()<br><br>computeSomething( const double position[3], vtkRenderer *renderer)<br>{<br>    double vp[4];<br>    renderer-&gt;GetViewPort(vp);<br>    cout &lt;&lt; vp[0] &lt;&lt; vp[1] &lt;&lt; vp[2] &lt;&lt; vp[3];<br>}<br><br>It is invoked as<br><br>vtkMyCallback * mo = vtkMyCallback::New();<br>pRenderer-&gt;AddObserver(vtkCommand::StartEvent, mo);<br><br><br>Wh
 en i run this code, I get the viewport  as <br><br>0011<br><br>It remains same throughout. Even after zooming in and out...<br><br>after that I tried the code which was suggested to me by one of the senior developer here<br><br>http://www.vtk.org/pipermail/vtkusers/2010-January/105915.html<br><br>The scale which it returns is 0. as the position i'm passing in computeSomething is same as the camera position in else part. Actually, now i need to find the scale. So in order to do that what position do i need to pass as a parameter for this function.?<br><br>Thanks in advance<br>Rakesh Patil<br><br><br><div style="border-top:1px dashed #ccc; border-bottom:1px dashed #ccc; padding:5px;"><a href="http://mail.in.com/mails/new_reg.php?utm_source=invite&utm_medium=outgoing" style="font:13px arial; color:#1E56A1; text-decoration:none;">Dear <b>vtkusers !</b> Get Yourself a cool, short <b>@in.com</b> Email ID now!</a></div>