Xj3D VRML/X3D Code API

org.web3d.vrml.renderer.ogl.browser
Class ApplicationFrameManager

java.lang.Object
  extended byorg.web3d.vrml.renderer.ogl.browser.PerFrameManager
      extended byorg.web3d.vrml.renderer.ogl.browser.ApplicationFrameManager
All Implemented Interfaces:
OGLTransformNodeType

public class ApplicationFrameManager
extends PerFrameManager
implements OGLTransformNodeType

Per-frame manager that uses the Aviatrix3D ApplicationUpdateObserver to clock the scene graph time with.

Even as this is a thread, it is not automatically started. The user is required to start it separately.

Version:
$Revision: 1.11 $
Author:
Justin Couch

Field Summary
 
Fields inherited from class org.web3d.vrml.renderer.ogl.browser.PerFrameManager
browser, currentWallTime, errorReporter, eventModel, lastWallTime
 
Constructor Summary
ApplicationFrameManager(EventModelEvaluator eme, TransformGroup sg, ViewEnvironment view, BrowserCore core, OGLUserInputHandler input, OGLSensorManager smgr)
          Construct a new manager for the given scene.
 
Method Summary
 void appShutdown()
          Notification that the AV3D internal shutdown handler has detected a system-wide shutdown.
 javax.vecmath.Matrix4f getTransform()
          Get the transform matrix for this node.
 void invokeLater(java.lang.Runnable code)
          Invoke some code on the next App thread.
 void setNavigationInfo(VRMLNavigationInfoNodeType info)
          Set the current navigationInfo.
 void setRoot(Group root)
          Set the group holding the X3D Scenegraph Root.
 void updateNodeBoundsChanges(java.lang.Object src)
          Notification that its safe to update the node now with any operations that could potentially effect the node's bounds.
 void updateNodeDataChanges(java.lang.Object src)
          Notification that its safe to update the node now with any operations that only change the node's properties, but do not change the bounds.
 void updateSceneGraph()
          Notification that now is a good time to update the scene graph.
 
Methods inherited from class org.web3d.vrml.renderer.ogl.browser.PerFrameManager
clockTick, setErrorReporter, setEventModelStatusListener, shutdown
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ApplicationFrameManager

public ApplicationFrameManager(EventModelEvaluator eme,
                               TransformGroup sg,
                               ViewEnvironment view,
                               BrowserCore core,
                               OGLUserInputHandler input,
                               OGLSensorManager smgr)
                        throws java.lang.IllegalArgumentException
Construct a new manager for the given scene. The manager starts with everything disabled.

Parameters:
eme - The event model evaluator to use.
sg - The root transform to modify for visibility scaling
view - The environmental information to manage
core - The internal representation of the browser
input - Input device manager for navigation
smgr - The sensor manager instance to use
Method Detail

invokeLater

public void invokeLater(java.lang.Runnable code)
Invoke some code on the next App thread. Useful for synching events to the Aviatrix3D App thread.

Parameters:
code - The code to execute.

updateNodeBoundsChanges

public void updateNodeBoundsChanges(java.lang.Object src)
Notification that its safe to update the node now with any operations that could potentially effect the node's bounds.

Parameters:
src - The node or Node Component that is to be updated.

updateNodeDataChanges

public void updateNodeDataChanges(java.lang.Object src)
Notification that its safe to update the node now with any operations that only change the node's properties, but do not change the bounds.

Parameters:
src - The node or Node Component that is to be updated.

getTransform

public javax.vecmath.Matrix4f getTransform()
Get the transform matrix for this node. A reference is ok as the users of this method will not modify the matrix.

Specified by:
getTransform in interface OGLTransformNodeType
Returns:
The matrix.

updateSceneGraph

public void updateSceneGraph()
Notification that now is a good time to update the scene graph.


appShutdown

public void appShutdown()
Notification that the AV3D internal shutdown handler has detected a system-wide shutdown. The aviatrix code has already terminated rendering at the point this method is called, only the user's system code needs to terminate before exiting here.


setRoot

public void setRoot(Group root)
Set the group holding the X3D Scenegraph Root.

Parameters:
root - The sg root

setNavigationInfo

public void setNavigationInfo(VRMLNavigationInfoNodeType info)
Set the current navigationInfo.

Parameters:
info - The current navinfo

Xj3D VRML/X3D Code API

Copyright © 2001 - 2005 Web3D Consortium