com.threerings.opengl.scene
Class SimpleScene

java.lang.Object
  extended by com.threerings.expr.DynamicScope
      extended by com.threerings.opengl.scene.Scene
          extended by com.threerings.opengl.scene.SimpleScene
All Implemented Interfaces:
Scope, ScopeUpdateListener, Compositable, Tickable

public class SimpleScene
extends Scene

A simple, "flat" scene implementation.


Nested Class Summary
 
Nested classes/interfaces inherited from class com.threerings.opengl.scene.Scene
Scene.Transient
 
Field Summary
protected  ArrayList<ViewerEffect> _effects
          The list of all viewer effects.
protected  ArrayList<SceneElement> _elements
          The list of all scene elements.
protected  ArrayList<SceneInfluence> _influences
          The list of all scene influences.
 
Fields inherited from class com.threerings.opengl.scene.Scene
_alwaysTick, _clipmgr, _ctx, _disposed, _neffects, _result, _soundGroup, _transientObserver, _transientPool, _updateArray, _updateInfluences, _updateInfluencesCount, _viewer, _visible, DEFAULT_SOURCES
 
Fields inherited from class com.threerings.expr.DynamicScope
_compoundDepth, _listeners, _owner, _parentScope, _scopeName, _symbols, INVALID_SCOPE
 
Fields inherited from interface com.threerings.expr.Scope
EPOCH, NOW
 
Constructor Summary
SimpleScene(GlContext ctx)
          Creates a new simple scene.
SimpleScene(GlContext ctx, int sources)
          Creates a new simple scene.
 
Method Summary
protected  void addToSpatial(SceneElement element)
          Adds an element to the scene's spatial data structure.
protected  void addToSpatial(SceneInfluence influence)
          Adds an influence to the scene's spatial data structure.
protected  void addToSpatial(ViewerEffect effect)
          Adds an effect to the scene's spatial data structure.
 void composite()
          Adds this object's Dependencys and Enqueueables to the compositor in preparation for rendering.
 void getEffects(Box bounds, Collection<ViewerEffect> results)
          Retrieves all viewer effects whose bounds intersect the provided region.
 void getElements(Box bounds, Collection<SceneElement> results)
          Retrieves all scene elements whose bounds intersect the provided region.
 void getInfluences(Box bounds, Collection<SceneInfluence> results)
          Retrieves all scene influences whose bounds intersect the provided region.
 SceneElement getIntersection(Ray3D ray, Vector3f location, com.google.common.base.Predicate<? super SceneElement> filter)
          Checks for an intersection between the provided ray and the contents of the scene.
protected  void removeFromSpatial(SceneElement element)
          Removes an element from the scene's spatial data structure.
protected  void removeFromSpatial(SceneInfluence influence)
          Removes an influence from the scene's spatial data structure.
protected  void removeFromSpatial(ViewerEffect effect)
          Removes an effect from the scene's spatial data structure.
 
Methods inherited from class com.threerings.opengl.scene.Scene
add, add, add, addAll, addToTick, boundsDidChange, boundsDidChange, boundsDidChange, boundsWillChange, boundsWillChange, boundsWillChange, clearEffects, composite, composite, dispose, dumpViewerEffects, getAlwaysTickCount, getFromTransientPool, getIntersecting, getIntersection, getIntersection, getUpdateInfluencesCount, getViewerEffectCount, getVisibleTickCount, remove, remove, remove, remove, removeAll, removeAll, removeFromTick, returnToTransientPool, setEffects, spawnTransient, tick, tickPolicyDidChange, tickPolicyWillChange
 
Methods inherited from class com.threerings.expr.DynamicScope
addListener, endCompoundUpdate, get, getParentScope, getScopeName, put, remove, removeListener, scopeUpdated, setParentScope, startCompoundUpdate, wasUpdated
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_elements

protected ArrayList<SceneElement> _elements
The list of all scene elements.


_influences

protected ArrayList<SceneInfluence> _influences
The list of all scene influences.


_effects

protected ArrayList<ViewerEffect> _effects
The list of all viewer effects.

Constructor Detail

SimpleScene

public SimpleScene(GlContext ctx)
Creates a new simple scene.


SimpleScene

public SimpleScene(GlContext ctx,
                   int sources)
Creates a new simple scene.

Parameters:
sources - the number of simultaneous sound sources to allow.
Method Detail

composite

public void composite()
Description copied from interface: Compositable
Adds this object's Dependencys and Enqueueables to the compositor in preparation for rendering.


getIntersection

public SceneElement getIntersection(Ray3D ray,
                                    Vector3f location,
                                    com.google.common.base.Predicate<? super SceneElement> filter)
Description copied from class: Scene
Checks for an intersection between the provided ray and the contents of the scene.

Specified by:
getIntersection in class Scene
location - a vector to populate with the location of the intersection, if any.
filter - a predicate to use in filtering the results of the test.
Returns:
a reference to the first element intersected by the ray, or null for none.

getElements

public void getElements(Box bounds,
                        Collection<SceneElement> results)
Description copied from class: Scene
Retrieves all scene elements whose bounds intersect the provided region.

Specified by:
getElements in class Scene
results - a list to hold the results of the search.

getInfluences

public void getInfluences(Box bounds,
                          Collection<SceneInfluence> results)
Description copied from class: Scene
Retrieves all scene influences whose bounds intersect the provided region.

Specified by:
getInfluences in class Scene

getEffects

public void getEffects(Box bounds,
                       Collection<ViewerEffect> results)
Description copied from class: Scene
Retrieves all viewer effects whose bounds intersect the provided region.

Specified by:
getEffects in class Scene

addToSpatial

protected void addToSpatial(SceneElement element)
Description copied from class: Scene
Adds an element to the scene's spatial data structure.

Specified by:
addToSpatial in class Scene

removeFromSpatial

protected void removeFromSpatial(SceneElement element)
Description copied from class: Scene
Removes an element from the scene's spatial data structure.

Specified by:
removeFromSpatial in class Scene

addToSpatial

protected void addToSpatial(SceneInfluence influence)
Description copied from class: Scene
Adds an influence to the scene's spatial data structure.

Specified by:
addToSpatial in class Scene

removeFromSpatial

protected void removeFromSpatial(SceneInfluence influence)
Description copied from class: Scene
Removes an influence from the scene's spatial data structure.

Specified by:
removeFromSpatial in class Scene

addToSpatial

protected void addToSpatial(ViewerEffect effect)
Description copied from class: Scene
Adds an effect to the scene's spatial data structure.

Specified by:
addToSpatial in class Scene

removeFromSpatial

protected void removeFromSpatial(ViewerEffect effect)
Description copied from class: Scene
Removes an effect from the scene's spatial data structure.

Specified by:
removeFromSpatial in class Scene