<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2016-06-24 14:59 GMT+02:00 David Gobbi <span dir="ltr"><<a href="mailto:david.gobbi@gmail.com" target="_blank">david.gobbi@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Jun 23, 2016 at 3:18 AM, Elvis Stansvik <span dir="ltr"><<a href="mailto:elvis.stansvik@orexplore.com" target="_blank">elvis.stansvik@orexplore.com</a>></span> <span class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span><div><br></div></span><div>Just a final small question about your approach if that's okay: You say here that the vtkRenderWindowInteractor does not play any role, but don't you use the interactor for some things, such as finding the poked renderer (vtkRenderWindowInteractor::FindPokedRenderer) ? Other things as well?<br></div></div></div></div></blockquote><div><br></div></span><div>For event handling, I have a "Frame" class that manages the vtkRenderWindow and each "Frame" object has child "Pane" objects that manage each renderer, i.e. they manage both the layout and event bindings.  So the "Frame" object has a method that decides which "Pane" to forward each event to (and this method does not use FindPokedRenderer).</div><div><br></div><div>Instead of attaching a interaction style to the RenderWindow, I attach a set of event bindings to a Pane (where each Pane manages events for a Renderer).  In other words, interaction is handled at the level of the Renderer, not at the level of the RenderWindow.</div></div></div></div></blockquote><div><br></div><div>Interesting, so you really are forgoing the entire interactor system. Thanks for explaining.<br> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class=""><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Up until now I've based my custom interactions on vtkInteractorStyleUser, so have made use of the interactor/interactor style system. But I think I'm finally succumbing to the idea of building a system more like yours, especially as I've found that vtkInteractorStyleUser does not support wheel events (recently added that). But I'm interested in if you ever make use of the interactor/interactor style system? E.g. say you would like to provide interaction with an vtkChartXY, would you make use of the builtin interaction styles that VTK has for that, or build your own based on the mechanism you've described here? Do you use your mechanism only when you have a need for highly custom interaction behavior?</div></div></div></div></blockquote><div><br></div></span><div>So far I haven't used interaction with charts. Take a look at QVTKInteractorAdapter.cxx if you're interested in handling some events yourself and forwarding others to VTK's interactors.  I haven't tried doing this yet.</div></div></div></div></blockquote><div><br></div><div>Thanks, I'll have a look. Right now I'm stuck on another problem I ran into while trying to port my own renderering/event adapter to QOpenGLWidget (see other thread), but I hope I'll solve that.<br><br></div><div>Elvis<br><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class=""><font color="#888888"><div><br></div><div> - David</div></font></span></div></div></div>
</blockquote></div><br></div></div>