j3d.org Code

Package org.j3d.renderer.java3d.navigation

User interface components and capabilities for implementing simple navigation on any Java3D Canvas3D based on the core org.j3d.ui.navigation package.

See:
          Description

Interface Summary
CollisionListener A listener interface used to notify of a collision between the user position and geometry in the scene.
FrameUpdateListener A listener interface used internally to notify of an update or change in the system that will effect the display.
 

Class Summary
J3DViewpointData A class to represent viewpoint information so that we can put it on screen, move around to it etc etc.
MouseViewBehavior A Java3D Behavior based interface to drive navigation.
MouseViewHandler An AWT based listener to drive navigation.
NavigationHandler A listener and handler responsible for executing all navigation commands from mice to move a viewpoint around a scene.
NavigationProcessor A listener and handler responsible for executing all navigation commands from mice and keyboards to move a viewpoint around a scene.
ViewpointManager A handler for viewpoint information for a given canvas.
ViewpointTransition This class will create smooth transitions from one viewpoint to another.
 

Package org.j3d.renderer.java3d.navigation Description

User interface components and capabilities for implementing simple navigation on any Java3D Canvas3D based on the core org.j3d.ui.navigation package.

The classes here are designed to work with any Canvas3D to provide fast navigation. These classes do not use the standard behaviour mechanism, instead opting to get the updates directly from the Java AWT system instead.

Apart from the basic navigation code, a set of convenience toolbars are provided that interact with the normal world. These use images from the config area in the navigation sub-directory. Once this code is working nicely, some examples and nice looking pictures will be added here.

Implementation Details

There are a collection of different implementation items within this package. Mostly this is just general run of the mill listener handling and event propogation. There are two major algorithms to be interested in - the terrain following/collision detection code and the mouse movement methods.

A complete tutorial and write up of the terrain following code can be found on the j3d.org Collision Detection Tutorial and further information in the j3d.org Code Repository Navigation Implementation document.

Acknowledgements

This code is based on the work of the Halden VR Centre, Institute for Energy Technology. The code provided from them has been cleaned up dramatically and made more suitable to use as a general library. Regardless, many thanks go to Laszlo Seregi and the team there for providing this codebase!


j3d.org Code

Latest Info from http://code.j3d.org/
Copyright © 2001 - j3d.org