com.threerings.opengl.model
Class Model.Implementation

java.lang.Object
  extended by com.threerings.expr.SimpleScope
      extended by com.threerings.opengl.model.Model.Implementation
All Implemented Interfaces:
Scope, ScopeUpdateListener, Compositable, Intersectable, Tickable
Direct Known Subclasses:
Articulated, BaseParticleSystem, ComponentBillboard, Compound, Conditional, SceneInfluencer, Scripted, ShapeModel, Static, ViewerAffecter, Wrapper
Enclosing class:
Model

public abstract static class Model.Implementation
extends SimpleScope
implements Tickable, Intersectable, Compositable

The actual model implementation.


Field Summary
 
Fields inherited from interface com.threerings.expr.Scope
EPOCH, NOW
 
Constructor Summary
Model.Implementation(Scope parentScope)
          Creates a new implementation.
 
Method Summary
 void attach(String point, Model model, boolean replace)
          Attaches the specified model at the given point.
 void composite()
          Adds this object's Dependencys and Enqueueables to the compositor in preparation for rendering.
 Animation createAnimation()
          Creates an animation for the model or returns null if not supported.
 void detach(Model model)
          Detaches an attached model.
 void detachAll(String point)
          Detaches any models attached to the specified point.
 void drawBounds()
          Draws the bounds of the model in immediate mode.
 Animation getAnimation(String name)
          Retrieves an animation by name.
 Animation[] getAnimations()
          Returns the model's list of animations.
 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.
 boolean getIntersection(Ray3D ray, Vector3f result)
          Finds the intersection of a ray with this object and places it in the supplied vector (if it exists).
 List<Animation> getPlayingAnimations()
          Returns a list of all animations currently playing.
 Transform3D getPointWorldTransform(String point)
          Returns a reference to the world transform of the given point.
 String getScopeName()
          Returns the name of this scope for purposes of qualification.
 SceneElement.TickPolicy getTickPolicy()
          Returns the tick policy of the model.
 boolean hasCompleted()
          Determines whether the model (such as a transient effect) has completed.
 boolean isImplementation(Model.Implementation impl)
          Returns true if this is the implementation.
 void reset()
          Resets the state of this model.
 void setTickPolicy(SceneElement.TickPolicy policy)
          Sets the tick policy of the 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.
 void wasAdded()
          Notes that the model was added to a scene.
 void willBeRemoved()
          Notes that the model will be removed from the scene.
 
Methods inherited from class com.threerings.expr.SimpleScope
addListener, dispose, get, getParentScope, removeListener, scopeUpdated
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Model.Implementation

public Model.Implementation(Scope parentScope)
Creates a new implementation.

Method Detail

getPointWorldTransform

public Transform3D getPointWorldTransform(String point)
Returns a reference to the world transform of the given point.


attach

public void attach(String point,
                   Model model,
                   boolean replace)
Attaches the specified model at the given point.

Parameters:
replace - if true, replace any existing attachments at the point.

detach

public void detach(Model model)
Detaches an attached model.


detachAll

public void detachAll(String point)
Detaches any models attached to the specified point.


getPlayingAnimations

public List<Animation> getPlayingAnimations()
Returns a list of all animations currently playing.


getAnimation

public Animation getAnimation(String name)
Retrieves an animation by name.


getAnimations

public Animation[] getAnimations()
Returns the model's list of animations.


createAnimation

public Animation createAnimation()
Creates an animation for the model or returns null if not supported.


hasCompleted

public boolean hasCompleted()
Determines whether the model (such as a transient effect) has completed.


reset

public void reset()
Resets the state of this model.


getInfluenceFlags

public int getInfluenceFlags()
Returns a set of flags indicating the types of influences that affect the model.


getBounds

public Box getBounds()
Returns a reference to the bounds of the model.


updateBounds

public void updateBounds()
Updates the bounds of the model.


drawBounds

public void drawBounds()
Draws the bounds of the model in immediate mode.


setTickPolicy

public void setTickPolicy(SceneElement.TickPolicy policy)
Sets the tick policy of the model.


getTickPolicy

public SceneElement.TickPolicy getTickPolicy()
Returns the tick policy of the model.


wasAdded

public void wasAdded()
Notes that the model was added to a scene.


willBeRemoved

public void willBeRemoved()
Notes that the model will be removed from the scene.


isImplementation

public boolean isImplementation(Model.Implementation impl)
Returns true if this is the 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

getIntersection

public boolean getIntersection(Ray3D ray,
                               Vector3f result)
Description copied from interface: Intersectable
Finds the intersection of a ray with this object and places it in the supplied vector (if it exists).

Specified by:
getIntersection in interface Intersectable
Returns:
true if the ray intersected the object (in which case the result will contain the point of intersection), false otherwise.

composite

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

Specified by:
composite in interface Compositable

getScopeName

public String getScopeName()
Description copied from interface: Scope
Returns the name of this scope for purposes of qualification. Can return null if qualified symbols cannot specifically address this scope.

Specified by:
getScopeName in interface Scope
Overrides:
getScopeName in class SimpleScope


Copyright © 2011. All Rights Reserved.