Hi Yeonchool,<br /><br />
here is a complete example of how ro retrieve the source object from vtkActor reversely (relevant code lines are in bold):<br />
<font FACE="Consolas" SIZE="2" COLOR="#008000">
<p>//<br>
// This example demonstates how to access the source object reversely from the 
actor.<br>
//<br>
// all the standard vtk headers<br>
</font><font FACE="Consolas" SIZE="2" COLOR="#0000ff">#include</font><font FACE="Consolas" SIZE="2">
</font><font FACE="Consolas" SIZE="2" COLOR="#a31515">&lt;vtkSphereSource.h&gt;<br>
</font><font FACE="Consolas" SIZE="2" COLOR="#0000ff">#include</font><font FACE="Consolas" SIZE="2">
</font><font FACE="Consolas" SIZE="2" COLOR="#a31515">&lt;vtkPolyDataMapper.h&gt;<br>
</font><font FACE="Consolas" SIZE="2" COLOR="#0000ff">#include</font><font FACE="Consolas" SIZE="2">
</font><font FACE="Consolas" SIZE="2" COLOR="#a31515">&lt;vtkRenderWindow.h&gt;<br>
</font><font FACE="Consolas" SIZE="2" COLOR="#0000ff">#include</font><font FACE="Consolas" SIZE="2">
</font><font FACE="Consolas" SIZE="2" COLOR="#a31515">&lt;vtkCamera.h&gt;<br>
</font><font FACE="Consolas" SIZE="2" COLOR="#0000ff">#include</font><font FACE="Consolas" SIZE="2">
</font><font FACE="Consolas" SIZE="2" COLOR="#a31515">&lt;vtkActor.h&gt;<br>
</font><font FACE="Consolas" SIZE="2" COLOR="#0000ff">#include</font><font FACE="Consolas" SIZE="2">
</font><font FACE="Consolas" SIZE="2" COLOR="#a31515">&lt;vtkRenderer.h&gt;</p>
</font><font FACE="Consolas" SIZE="2"></font>
<font FACE="Consolas" SIZE="2" COLOR="#008000">
<p>// additional needed vtk header for this example<br>
</font><font FACE="Consolas" SIZE="2" COLOR="#0000ff">#include</font><font FACE="Consolas" SIZE="2">
</font><font FACE="Consolas" SIZE="2" COLOR="#a31515">&lt;vtkAlgorithmOutput.h&gt;</p>
</font><font FACE="Consolas" SIZE="2"></font>
<font FACE="Consolas" SIZE="2" COLOR="#0000ff">
<p>#define</font><font FACE="Consolas" SIZE="2"> PI 3.14159265</p>
</font><font FACE="Consolas" SIZE="2" COLOR="#0000ff">
<p>int</font><font FACE="Consolas" SIZE="2"> main() {<br>
</font><font FACE="Consolas" SIZE="2" COLOR="#008000">&nbsp; // source<br>
</font><font FACE="Consolas" SIZE="2">&nbsp; vtkSphereSource *sphere = 
vtkSphereSource::New();<br>
&nbsp; sphere-&gt;SetRadius( 1.0 );<br>
</font><font FACE="Consolas" SIZE="2" COLOR="#008000">&nbsp; // mapper<br>
&nbsp; </font><font FACE="Consolas" SIZE="2">vtkPolyDataMapper *sphereMapper = 
vtkPolyDataMapper::New();<br>
&nbsp; sphereMapper-&gt;SetInputConnection( sphere-&gt;GetOutputPort() );<br>
&nbsp; </font><font FACE="Consolas" SIZE="2" COLOR="#008000">// actor<br>
&nbsp; </font><font FACE="Consolas" SIZE="2">vtkActor *sphereActor = 
vtkActor::New();<br>
&nbsp; sphereActor-&gt;SetMapper( sphereMapper );<br>
&nbsp; </font><font FACE="Consolas" SIZE="2" COLOR="#008000">//renderer<br>
&nbsp; </font><font FACE="Consolas" SIZE="2">vtkRenderer *ren1 = 
vtkRenderer::New();<br>
&nbsp; ren1-&gt;SetBackground( 0.1, 0.2, 0.4 );<br>
&nbsp; vtkRenderWindow *renWin = vtkRenderWindow::New();<br>
&nbsp; renWin-&gt;AddRenderer( ren1 );<br>
&nbsp; renWin-&gt;SetSize( 300, 300 );<br>
&nbsp; </font><font FACE="Consolas" SIZE="2" COLOR="#008000">// add actor to the 
renderer<br>
&nbsp; </font><font FACE="Consolas" SIZE="2">ren1-&gt;AddActor( sphereActor );<br>
&nbsp; </font><font FACE="Consolas" SIZE="2" COLOR="#008000">//<br>
&nbsp; // Now we retrieve the source object from vtkActor reversely, loop over 
360 degrees, <br>
&nbsp; // changes the radius of the spheresource and render the sphere each 
time.<br>
&nbsp; //<br>
&nbsp; </font><b><font FACE="Consolas" SIZE="2">vtkAlgorithm *algo = 
sphereActor-&gt;GetMapper()-&gt;GetInputConnection(0, 0)-&gt;GetProducer();<br>
&nbsp; vtkSphereSource *src = vtkSphereSource::SafeDownCast(algo);</b><br><br>
</font><font FACE="Consolas" SIZE="2" COLOR="#0000ff">&nbsp; float</font><font FACE="Consolas" SIZE="2"> 
origRadius = src-&gt;GetRadius();<br>
</font><font FACE="Consolas" SIZE="2" COLOR="#0000ff">&nbsp; int</font><font FACE="Consolas" SIZE="2"> 
i;<br>
</font><font FACE="Consolas" SIZE="2" COLOR="#0000ff">&nbsp; for</font><font FACE="Consolas" SIZE="2"> 
(i = 0; i &lt; 360; ++i) {<br>
&nbsp;&nbsp;&nbsp; src-&gt;SetRadius(origRadius * (1 + sin((</font><font FACE="Consolas" SIZE="2" COLOR="#0000ff">float</font><font FACE="Consolas" SIZE="2">)i/180.0 
* PI)));<br>
&nbsp;&nbsp;&nbsp; renWin-&gt;Render();'<br>
&nbsp; }<br>
&nbsp; </font><font FACE="Consolas" SIZE="2" COLOR="#008000">//<br>
&nbsp; // Free up any objects we created. All instances in VTK are deleted by<br>
&nbsp; // using the Delete() method.<br>
&nbsp; //<br>
&nbsp; </font><font FACE="Consolas" SIZE="2">sphere-&gt;Delete();<br>
&nbsp; sphereMapper-&gt;Delete();<br>
&nbsp; sphereActor-&gt;Delete();<br>
&nbsp; ren1-&gt;Delete();<br>
&nbsp; renWin-&gt;Delete();<br>
</font><font FACE="Consolas" SIZE="2" COLOR="#008000">&nbsp; // dont't do that, 
cause src is just a reference<br>
&nbsp; // src-&gt;Delete();<br>
</font><font FACE="Consolas" SIZE="2" COLOR="#0000ff">&nbsp; return</font><font FACE="Consolas" SIZE="2"> 
0;<br>
}</p>
</font>
<br /><br />
with best regards<br />
Jochen


        
<br/><hr align="left" width="300" />
View this message in context: <a href="http://vtk.1045678.n5.nabble.com/what-s-the-difference-between-actor-s-position-and-sphere-s-center-tp5713553p5713622.html">Re: what's the difference between actor 's position and sphere 's center ?</a><br/>
Sent from the <a href="http://vtk.1045678.n5.nabble.com/VTK-Users-f1224199.html">VTK - Users mailing list archive</a> at Nabble.com.<br/>