<div>Your problem is that MyFunction should be a class derived from vtkCommand.</div>
<div>&nbsp;</div>
<div>You should do somethinfg like this:</div>
<div>&nbsp;</div>
<div><font color="#0000ff" size="2">
<p>class</p></font><font size="2"> vtkStartCommand: </font><font color="#0000ff" size="2">public</font><font size="2"> vtkCommand<br>{<br>&nbsp; </font><font color="#0000ff" size="2">public</font><font size="2">:</font>
<p><font size="2">&nbsp; <font color="#0000ff">static</font> vtkStartCommand *New() { <font color="#0000ff">return</font> <font color="#0000ff">new</font> vtkStartCommand; }</font></p>
<p><font size="2"><font color="#0000ff">&nbsp; virtual</font> <font color="#0000ff">void</font> Execute(vtkObject * caller, <font color="#0000ff">unsigned</font> <font color="#0000ff">long</font>, <font color="#0000ff">void</font>
 * <font color="#008000">/* callData */</font>)<br>&nbsp;</font><font size="2">{ <font color="#008000">std::cout &lt;&lt; &quot;Starting execution of &quot; &lt;&lt; caller-&gt;GetClassName() &lt;&lt; std::endl; </font>}</font>
</p>
<p><font size="2">};</font></p></div>
<div><span class="gmail_quote"><font size="2">
<p>vtkSmartPointer&lt;vtkStartCommand&gt; sObserver = vtkSmartPointer&lt;vtkStartCommand&gt;::New();</p>
<p>Then somewhere in your code:</p>
<p>...</p><font size="2">
<p>sphereWidget-&gt;AddObserver(vtkCommand::StartEvent,sObserver);</p>
<p>...</p>
<p>I hope this helps,</p>
<p>&nbsp; Andrew</p>
<p>&nbsp;</p>
<p>&nbsp;</p></font></font></span></div>
<div><span class="gmail_quote"></span>&nbsp;</div>
<div><span class="gmail_quote">On 8/13/07, <b class="gmail_sendername">JohnMark</b> &lt;<a href="mailto:zhaojunxp@hotmail.com">zhaojunxp@hotmail.com</a>&gt; wrote:</span></div>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div>Hi,<br>I am writing a program&nbsp;by vtkSphereWidget ( using C++ ) ,and I want to connect my render window with the mouse event , so I use the AddObserver() function ,&nbsp;at&nbsp;the same time , I&nbsp;write a new function&nbsp;that could be invoked ,&nbsp;its name is MyFunction()&nbsp;.&nbsp;As the usage of AddObserver()&nbsp;, my code is : 
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sphereWidget-&gt;AddObserver( InteractionEvent, MyFunction&nbsp;);<br>but there is a error :&nbsp;&#39;unsigned long __thiscall vtkObject::AddObserver(unsigned long,class vtkCommand *,float)&#39; : cannot convert parameter 2 from &#39;void&#39; to &#39;class vtkCommand *&#39; .
<br>So why is&nbsp;it ? and&nbsp;how can&nbsp;I use the AddObserver() ? Could you give me an example ? thank you !<br><br>
<hr>
中国十大热门旅游景点 <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://search.msn.com/results.aspx?q=%E4%B8%AD%E5%9B%BD%E5%8D%81%E5%A4%A7%E9%A3%8E%E6%99%AF&amp;mkt=zh-CN&amp;form=QBRE" target="_blank">了解更多信息!</a>
</div><br>_______________________________________________<br>This is the private VTK discussion list.<br>Please keep messages on-topic. Check the FAQ at: <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">
http://www.vtk.org/Wiki/VTK_FAQ</a><br>Follow this link to subscribe/unsubscribe:<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers
</a><br><br></blockquote><br><br clear="all"><br>-- <br>___________________________________________<br>Andrew J. P. Maclean<br>Centre for Autonomous Systems<br>The Rose Street Building J04<br>The University of Sydney&nbsp;&nbsp;2006&nbsp;&nbsp;NSW
<br>AUSTRALIA<br>Ph: +61 2 9351 3283<br>Fax: +61 2 9351 7474<br>URL: <a href="http://www.acfr.usyd.edu.au/">http://www.acfr.usyd.edu.au/</a><br>___________________________________________