
This is a simple extension of the SIM SoQtExaminerViewer with a few extra features written in Python. Here is a screenshot of it displaying one of the pretty standard scenes distributed with OpenInventor
The Y axis is constrianed so that it's projection on the screen is always pointing up, to make it easy to orient the scene, and to avoid the precession or axis drift that sometimes accompanies unconstrained mouse rotation.
An extra widget was added to the bottom of the window. The combobox at the left of the extra widget switches the extra widget between several modes.
The mode in this picture controls the view volume of the window's camera. The nice thing about the Qt spinboxes is that they can be quickly scrolled up and down using the mouse wheel, when the cursor is over a spinbox – you don't even have to click in the spinbox to have that happen. The “stepexp” spinbox at the right is the exponent of the steps that each movement of the mouse wheel will cause in the other boxes. For example, if “stepexp” is 1, then each little turn of the mouse wheel will cause the “Near plane”, “Far plane” or “y” spinboxes to step by values of 101 or 10. If “stepexp” were 0, then mouse wheel turns would cause the other spin boxes to move in steps of 1.

All
current camera settings can be saved as a bookmark which has the name
of your choice. All bookmarks can be saved to and restored from
files. Clicking the circular blue Play button causes the camera to smoothly move along a path constructed by interpolating between all bookmarks. The 0.10 numerical spinbox is the animation speed in units per frame, and the 0 in the integer spinbox is the exponent of the steps that each movement of the mouse wheel will cause in the animation speed box. The Play button has a delayed drop-down menu that allows you to specify the filename for an Adobe Flash movie created from a single loop through the interpolated camera bookmark path. Here is an example:
Get the Flash Player to see this player.
Or, using the exact same bookmarks but with a fancier scene and a slower animation speed:
Get the Flash Player to see this player.
As the camera moves along it's path, it will ease into a stop when it encounters two consecutive bookmarks with identical values. It will then ease out of the stop and gently reach full speed again.
Jumping from your current camera position to any bookmark using the combo-box drop-down will also cause the camera to animate along a path created by interpolating between your current position and the bookmark you chose. Again, the camera will ease out of the stop, gradually accelerate to full speed, and then ease into a stop as it approaches the bookmark you selected.

This
mode can be used to precisely set the camera position.

This
mode can be used to precisely set the camera up vector, if for some reason you don't want the Y axis pointing up.

This
mode can be used to precisely set the focus point of the camera
(where the camera is pointing).

The
“Anti-aliasing” in this mode controls the number of render passes
that will be averaged together to make each frame. This anti-aliasing only happens when the mouse is not being used to move the camera around. The background of
the entire scene can be set with the “Background” color button.
Finally, each camera has an associated Camera Icon that shows the
camera's view volume. You can't see the view volume for a camera
inside it's own window, because the Camera Icon would then interfere
with the view of it's own camera. But when you have two windows
looking at the same scene, the Camera Icon is visible, and the color
button and the transparency spinbox can be used to control it's
appearance:

This
view shows the view volume of the window at the top of the page.