<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
Hi,<br><br>I'm going crazy since a few weeks with the MouseMoveEvent.<br>Originally, I wanted to display a VTK view in a Cocoa Window.<br>I've already posted a message on vtkusers because I hadn't a real time access to the mouse position : the OnMouseMove() function was called on a drag movement and not every time the mouse moves.<br>I've just found why : it seems that integration of the VTK view in the Cocoa window doesn't work as well as expected.<br><br>To perform a good integration, I call the two functions SetWindowId() and SetDisplayId(), as recommanded by VTK.<br>This generates 2 warning messages "invalid drawable" at the beginning of the program but the program is still running and, except the problem of mouse position,<br>everything run as expected.<br><br>If I don't call these functions, then the VTK view appears in a separated window.<br>There is no more warning message and I've a real time access to the mouse position.<br><br>Below the code of initialisation of the VTK view window, written in Objective-C++ (optimal with Cocoa).<br><br>- (id) initWithFrame:(NSRect) frame {<br>&nbsp;&nbsp;&nbsp; self = [super initWithFrame:frame];<br>&nbsp;&nbsp;&nbsp; if (self) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; renderer = vtkRenderer::New();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rendererWindow = vtkCocoaRenderWindow::New();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; renWinInt = vtkCocoaRenderWindowInteractor::New();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; vtkSmartPointer &lt;vtkInteractorStyleSwitch&gt; intStyle = vtkSmartPointer&lt;vtkInteractorStyleSwitch&gt;::New();<br><br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; intStyle -&gt; SetCurrentStyleToTrackballCamera();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; renWinInt -&gt; SetInteractorStyle(intStyle);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rendererWindow -&gt; SetWindowId([self window]);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rendererWindow -&gt; SetDisplayId(self);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rendererWindow -&gt; AddRenderer(renderer);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; renWinInt -&gt; SetRenderWindow(rendererWindow);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; renWinInt -&gt; CreateRepeatingTimer (1);<br><br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; [self setVTKRenderWindow:rendererWindow];<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (!renWinInt -&gt; GetInitialized()) renWinInt -&gt; Initialize();<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; return self;<br>}<br><br><br>Does someone see something wrong in this code and/or have an idea to solve this problem.<br><br>Help would be appreciated.<br>Thanks in advance.<br><br>Ben.<br><br /><hr />Votre correspondant a choisi Hotmail et profite d'un stockage quasiment illimité. <a href='http://www.windowslive.fr/hotmail/default.asp' target='_new'> Créez un compte Hotmail gratuitement !</a></body>
</html>