I am in a situation where I would like a convenience vtkRenderView, which is basically a vtkRenderWindow with two renderers, a background and a corner renderer. I use some events for ensuring that the interactor changes correctly when moving to/from the corner view. This logic, I would like to hide away.
It works flawlessly. I need to keep track also of buttons being held while cross the boundary.
Now, I would like to subclass vtkRenderWindow and in the same class I have arranged some static utility functions for generating âsubfiguresâ and âmosaicâ like layouts. Whenever I subclass vtkRenderWindow and create it from python, I get a windows where SupportOpenGL() is 0.
Anyone knows why I cannot simply subclass vtkRenderWindow. I have done this with dozen of classes before
Does it really need to be a subclass of vtkRenderWindow? You might be better of with a custom class that sets everything up.
Since you subclass vtkRenderWindow, youâre opting out of the factory overrides which support opengl. You might have better luck sub-classing vtk[X,Cocoa,Win32]OpenGLRenderWindow instead.
Not really. Maybe I should use containment and simply manage a vtkRenderWindow, two vtkRenderer and vtkInteractorStyle. Then I can add an observer on the interactor handling the style changes. I need to make functions for installing / uninstalling the pipeline, when the user set the interactor on the âcompoundâ.
Do you think this approach is better?
I would like it to be generic enough such that I can use the construct both for native and our Emscripten application
I think that I will opt for a class that sets everything up and provides the possibility for setting the interactor and uninstalling an existing pipeline if necessary. I think that it is nice to hide all the functionality for keeping track of interactorstyles for the different view ports.
It is my hope that I can use it with Emscripten to keep stuff on the native side.