| This class provides the ability to place scenegraph objects relative to the Java3D Canvas3D.
The implementation places a TransformGroup below the parent of the ViewPlatform, and
reads all of the parameters in the View Model to determine the transformation from the
ViewPlatform coordinate system to the pixel coordinate system. The origin of the Overlay Group
is placed in the bottom left hand corner of the Canvas3D. It also allows you to place
objects in specified Z.
This supports most (if not all) of the non-headtracking parts of the ViewModel. Currently,
Java3D does not support Overlaying in a head-tracked View Model settings because the
values of the Sensors get read AFTER the WakeUpOnElapsedFrame behaviors are run, but
before the next frame is rendered. This is currently under inquiry with the Sun Java3D team,
and hopefully will be fixed in the near future.
Also, when the Canvas3D is moved on the screen, the ImagePlate changes with respect to the
ViewPlatform. These events (Window Move and Resize) are captured by AWT events, and therefore
since their is a lag time/syncronization error between Java3D and AWT, this produces nasty
jitter when these events happen. Better to not move/resize the window when possible.
author: Blaine Bell since: JDK1.1 version: 1.0 |