<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body bgcolor="#FFFFFF">
Hi Oscar,
<p>You need to define a C function which does the stuff that you want to
be done if you press the leftbutton.
<br>like this:
<p>void myLeftbuttonFunction(void *pointer)
<br>{
<br>    //do your stuff here
<br>}
<p>This function can't be a member function of a class (because the it
wouldn't be a C declaration, but a C++ declaration)
<p>then say:
<p>myRenderWindowInteractor->GetInteractorStyle()->SetLeftButtonPressMethod(myLeftbuttonFunction,
(void *) myArguments);
<p>voila!
<br> 
<p>Now, your wondering what myArguments might be, and how to use it....
<br>You can define a struct like:
<p>struct Arguments
<br>{
<br>  vtkImageData *imData;
<br>  vtkRenderer *ren;
<p>  //or any other data
<br>};
<p>then make a pointer like:
<br>Arguments *myArguments = new Arguments();
<br>myArguments->imData = someImageData;
<br>myArguments->ren = someRenderer;
<p>in your myLeftButtonFunction you can extract this data from the void
pointer and use it, like this:
<p>void myLeftbuttonFunction(void *pointer)
<br>{
<br>    //do your stuff here
<br> 
<br>    vtkImageData *imageData = (Arguments)pointer->imData;
<br>    vtkRenderer *renderer = (Arguments)pointer->ren;
<p>  //use the stuff you just extracted
<br>}
<p>Ofcourse you can define your own struct, and pass any data you like.
<p>Succes!
<p>Jorrit
<p>PS: ken jij Martin van der Mark? (zit bij optica)
<br> 
<br> 
<br> 
<br> 
<br> 
<p>" O. Reynhout" wrote:
<blockquote TYPE=CITE><style></style>
<font face="Fixedsys"><font color="#800000"><font size=-1>Hello,</font></font></font> <font face="Fixedsys"><font color="#800000"><font size=-1>I
have some problems with the SetLeftButtonPressMethod under VC++ 6.0. I
found some documentation but it didn't help. This is what I found:</font></font></font> <font face="Fixedsys"><font color="#800000"><font size=-1>"<a NAME="a16" doxytag="vtkInteractorStyle::SetLeftButtonPressMethod"></a><b>void
vtkInteractorStyle::SetLeftButtonPressMethod (void(* <i>f</i>)(void *),
void * <i>arg</i>)</b></font></font></font><font face="Fixedsys"><font color="#800000"><font size=-1>Callbacks
so that the applicaiton can override the default behaviour."</font></font></font>
<br> 
<br> 
<p><font face="Fixedsys"><font color="#800000"><font size=-1>But I can't
get it working. I made the following test-function:</font></font></font>
<p><font face="Fixedsys"><font color="#800000"><font size=-1>void Test();</font></font></font>
<p><font face="Fixedsys"><font color="#800000"><font size=-1>How can I
use the method???? SetLeftButtonPressMethod(Test, NULL) does not work.
The compiler says:</font></font></font>
<p><font face="Fixedsys"><font color="#800000"><font size=-1>error C2664:
'SetLeftButtonPressMethod' : cannot convert parameter 1 from 'void (void)'
to 'void (__cdecl *)(void *)'</font></font></font>
<br><font face="Fixedsys"><font color="#800000"><font size=-1>       
None of the functions with this name in scope match the target type</font></font></font>
<p><font face="Fixedsys"><font color="#800000"><font size=-1>I hope that
anyone can help me,</font></font></font>  <font face="Fixedsys"><font color="#800000"><font size=-1>Greetings,</font></font></font> <font face="Fixedsys"><font color="#800000"><font size=-1>Oscar
Reynhout</font></font></font><font face="Fixedsys"><font color="#800000"><font size=-1>Philips
NatLab</font></font></font> <font face="Fixedsys"><font color="#800000"><font size=-1>    
\\\|||///</font></font></font>
<br><font face="Fixedsys"><font color="#800000"><font size=-1>  
.  =======</font></font></font>
<br><font face="Fixedsys"><font color="#800000"><font size=-1>  /
\| O   O |</font></font></font>
<br><font face="Fixedsys"><font color="#800000"><font size=-1>  \
/ \`___'/</font></font></font>
<br><font face="Fixedsys"><font color="#800000"><font size=-1>  
#   _| |_</font></font></font>
<br><font face="Fixedsys"><font color="#800000"><font size=-1>  (#)
(     )</font></font></font>
<br><font face="Fixedsys"><font color="#800000"><font size=-1>  
#\//|* *|\\</font></font></font>
<br><font face="Fixedsys"><font color="#800000"><font size=-1>  
#\/(  *  )/</font></font></font>
<br><font face="Fixedsys"><font color="#800000"><font size=-1>  
#   =====</font></font></font>
<br><font face="Fixedsys"><font color="#800000"><font size=-1>  
#   ( U )           
O</font></font></font>
<br><font face="Fixedsys"><font color="#800000"><font size=-1>  
#   || ||         
O(o)O</font></font></font>
<br><font face="Fixedsys"><font color="#800000"><font size=-1>  .#---'|
|`----.       |</font></font></font>
<br><font face="Fixedsys"><font color="#800000"><font size=-1>  `#----'
`-----'      \|/</font></font></font>
<br><font face="Fixedsys"><font color="#800000"><font size=-1>============================================================</font></font></font>
<br><font face="Fixedsys"><font color="#800000"><font size=-1>s'Avonds
& thuis:  <a href="mailto:OscarReynhout@hetnet.nl">OscarReynhout@hetnet.nl</a></font></font></font>
<br><font face="Fixedsys"><font color="#800000"><font size=-1>Overdag:          
<a href="mailto:Reynhout@natlab.research.philips.com">Reynhout@natlab.research.philips.com</a></font></font></font>
<br><font face="Fixedsys"><font color="#800000"><font size=-1>Weekend:          
<a href="mailto:Reynhout@chello.nl">Reynhout@chello.nl</a></font></font></font></blockquote>

</body>
</html>

--------------------------------------------------------------------
This is the private VTK discussion list. Please keep messages on-topic.
Check the FAQ at: <http://public.kitware.com/cgi-bin/vtkfaq>
To UNSUBSCRIBE, send message body containing "unsubscribe vtkusers" to
<majordomo@public.kitware.com>. For help, send message body containing
"info vtkusers" to the same address.
--------------------------------------------------------------------