de.jreality.util
Class RenderTrigger

java.lang.Object
  extended by de.jreality.util.RenderTrigger
All Implemented Interfaces:
AppearanceListener, CameraListener, GeometryListener, LightListener, SceneGraphComponentListener, TransformationListener, EventListener

public class RenderTrigger
extends Object
implements SceneGraphComponentListener, TransformationListener, AppearanceListener, GeometryListener, LightListener, CameraListener

RenderTrigger is a class for managing render requests for a scene (or parts of it) One can add subtrees of a scene (SceneGraphComponents and their children) to be watched for changes. On the other side one can add Viewers on which render() will be called for any change that is reported. If one adds only Viewers and no scene it can be used to simply dispatch render requests to several viewers (via the forceRender() method).

Author:
timh TODO: fix problems maybe use Proxy (remove/add doesn't work how it should)

Constructor Summary
RenderTrigger()
           
 
Method Summary
 void addSceneGraphComponent(SceneGraphComponent c)
           
 void addViewer(Viewer v)
           
 void appearanceChanged(AppearanceEvent ev)
           
 void cameraChanged(CameraEvent ev)
           
 void childAdded(SceneGraphComponentEvent ev)
           
 void childRemoved(SceneGraphComponentEvent ev)
           
 void childReplaced(SceneGraphComponentEvent ev)
           
 void finishCollect()
           
 void forceRender()
           
 void geometryChanged(GeometryEvent ev)
           
 boolean isAsync()
           
 void lightChanged(LightEvent ev)
           
 void removeSceneGraphComponent(SceneGraphComponent c)
           
 void removeViewer(Viewer v)
           
 void setAsync(boolean async)
           
 void startCollect()
           
 void transformationMatrixChanged(TransformationEvent ev)
           
 void visibilityChanged(SceneGraphComponentEvent ev)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RenderTrigger

public RenderTrigger()
Method Detail

isAsync

public boolean isAsync()

setAsync

public void setAsync(boolean async)

forceRender

public void forceRender()

addSceneGraphComponent

public void addSceneGraphComponent(SceneGraphComponent c)

removeSceneGraphComponent

public void removeSceneGraphComponent(SceneGraphComponent c)

addViewer

public void addViewer(Viewer v)

removeViewer

public void removeViewer(Viewer v)

childAdded

public void childAdded(SceneGraphComponentEvent ev)
Specified by:
childAdded in interface SceneGraphComponentListener

childRemoved

public void childRemoved(SceneGraphComponentEvent ev)
Specified by:
childRemoved in interface SceneGraphComponentListener

childReplaced

public void childReplaced(SceneGraphComponentEvent ev)
Specified by:
childReplaced in interface SceneGraphComponentListener

visibilityChanged

public void visibilityChanged(SceneGraphComponentEvent ev)
Specified by:
visibilityChanged in interface SceneGraphComponentListener

transformationMatrixChanged

public void transformationMatrixChanged(TransformationEvent ev)
Specified by:
transformationMatrixChanged in interface TransformationListener

appearanceChanged

public void appearanceChanged(AppearanceEvent ev)
Specified by:
appearanceChanged in interface AppearanceListener

geometryChanged

public void geometryChanged(GeometryEvent ev)
Specified by:
geometryChanged in interface GeometryListener

lightChanged

public void lightChanged(LightEvent ev)
Specified by:
lightChanged in interface LightListener

startCollect

public void startCollect()

finishCollect

public void finishCollect()

cameraChanged

public void cameraChanged(CameraEvent ev)
Specified by:
cameraChanged in interface CameraListener