com.threerings.opengl.model
Class Scripted

java.lang.Object
  extended by com.threerings.expr.SimpleScope
      extended by com.threerings.opengl.model.Model.Implementation
          extended by com.threerings.opengl.model.Scripted
All Implemented Interfaces:
Scope, ScopeUpdateListener, Compositable, Intersectable, Tickable

public class Scripted
extends Model.Implementation

A scripted model implementation.


Nested Class Summary
protected static class Scripted.TimeExecutor
          Contains an executor to activate at a specific time.
 
Field Summary
protected  Box _bounds
          The bounds of the model.
protected  boolean _completed
          If true, the script has completed.
protected  ScriptedConfig _config
          The model config.
protected  GlContext _ctx
          The application context.
protected  int _eidx
          The index of the next executor.
protected  Scripted.TimeExecutor[] _executors
          Executors for the timed actions.
protected  int _influenceFlags
          Flags indicating which influences can affect the model.
protected  Transform3D _localTransform
          The local transform.
protected  Box _nbounds
          Holds the bounds of the model when updating.
protected  Transform3D _parentWorldTransform
          The parent world transform.
protected  SceneElement.TickPolicy _tickPolicy
          The model's tick policy.
protected  float _time
          The amount of time elapsed.
protected  Transform3D _worldTransform
          The world transform.
 
Fields inherited from class com.threerings.expr.SimpleScope
_parentScope
 
Fields inherited from interface com.threerings.expr.Scope
EPOCH, NOW
 
Constructor Summary
Scripted(GlContext ctx, Scope parentScope, ScriptedConfig config)
          Creates a new scripted implementation.
 
Method Summary
protected  void executeActions()
          Executes all actions scheduled before or at the current time.
 Box getBounds()
          Returns a reference to the bounds of the model.
 int getInfluenceFlags()
          Returns a set of flags indicating the types of influences that affect the model.
 SceneElement.TickPolicy getTickPolicy()
          Returns the tick policy of the model.
 boolean hasCompleted()
          Determines whether the model (such as a transient effect) has completed.
 void reset()
          Resets the state of this model.
 void setConfig(ScriptedConfig config)
          Sets the configuration of this model.
 void tick(float elapsed)
          Updates the state of this object based on the elapsed time in seconds.
 void updateBounds()
          Updates the bounds of the model.
protected  void updateFromConfig()
          Updates the model to match its new or modified configuration.
 
Methods inherited from class com.threerings.opengl.model.Model.Implementation
attach, composite, createAnimation, createSurface, createSurfaces, createSurfaces, detach, detachAll, drawBounds, getAnimation, getAnimations, getIntersection, getPlayingAnimations, getPointWorldTransform, getScopeName, isImplementation, setTickPolicy, wasAdded, willBeRemoved
 
Methods inherited from class com.threerings.expr.SimpleScope
addListener, dispose, get, getParentScope, removeListener, scopeUpdated
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_ctx

protected GlContext _ctx
The application context.


_config

protected ScriptedConfig _config
The model config.


_executors

protected Scripted.TimeExecutor[] _executors
Executors for the timed actions.


_parentWorldTransform

@Bound(value="worldTransform")
protected Transform3D _parentWorldTransform
The parent world transform.


_localTransform

@Bound
protected Transform3D _localTransform
The local transform.


_worldTransform

@Scoped
protected Transform3D _worldTransform
The world transform.


_tickPolicy

protected SceneElement.TickPolicy _tickPolicy
The model's tick policy.


_influenceFlags

protected int _influenceFlags
Flags indicating which influences can affect the model.


_bounds

@Scoped
protected Box _bounds
The bounds of the model.


_nbounds

protected Box _nbounds
Holds the bounds of the model when updating.


_time

protected float _time
The amount of time elapsed.


_eidx

protected int _eidx
The index of the next executor.


_completed

protected boolean _completed
If true, the script has completed.

Constructor Detail

Scripted

public Scripted(GlContext ctx,
                Scope parentScope,
                ScriptedConfig config)
Creates a new scripted implementation.

Method Detail

setConfig

public void setConfig(ScriptedConfig config)
Sets the configuration of this model.


hasCompleted

public boolean hasCompleted()
Description copied from class: Model.Implementation
Determines whether the model (such as a transient effect) has completed.

Overrides:
hasCompleted in class Model.Implementation

reset

public void reset()
Description copied from class: Model.Implementation
Resets the state of this model.

Overrides:
reset in class Model.Implementation

getInfluenceFlags

public int getInfluenceFlags()
Description copied from class: Model.Implementation
Returns a set of flags indicating the types of influences that affect the model.

Overrides:
getInfluenceFlags in class Model.Implementation

getBounds

public Box getBounds()
Description copied from class: Model.Implementation
Returns a reference to the bounds of the model.

Overrides:
getBounds in class Model.Implementation

updateBounds

public void updateBounds()
Description copied from class: Model.Implementation
Updates the bounds of the model.

Overrides:
updateBounds in class Model.Implementation

getTickPolicy

public SceneElement.TickPolicy getTickPolicy()
Description copied from class: Model.Implementation
Returns the tick policy of the model.

Overrides:
getTickPolicy in class Model.Implementation

tick

public void tick(float elapsed)
Description copied from interface: Tickable
Updates the state of this object based on the elapsed time in seconds.

Specified by:
tick in interface Tickable
Overrides:
tick in class Model.Implementation

updateFromConfig

protected void updateFromConfig()
Updates the model to match its new or modified configuration.


executeActions

protected void executeActions()
Executes all actions scheduled before or at the current time.