com.threerings.opengl.model.config
Class ArticulatedConfig

java.lang.Object
  extended by com.threerings.util.DeepObject
      extended by com.threerings.opengl.model.config.ModelConfig.Implementation
          extended by com.threerings.opengl.model.config.ModelConfig.Imported
              extended by com.threerings.opengl.model.config.ArticulatedConfig
All Implemented Interfaces:
Exportable, Copyable, Cloneable

public class ArticulatedConfig
extends ModelConfig.Imported

An original articulated implementation.


Nested Class Summary
static class ArticulatedConfig.AnimationMapping
          A named animation reference.
 class ArticulatedConfig.Attachment
          Represents an attached model.
 class ArticulatedConfig.Billboard
          A billboard transform.
static class ArticulatedConfig.BillboardRotationX
          The options for billboard rotation about the x axis.
static class ArticulatedConfig.BillboardRotationY
          The options for billboard rotation about the y axis.
static class ArticulatedConfig.MeshNode
          A node containing a mesh.
static class ArticulatedConfig.Node
          A node within an Articulated model.
 class ArticulatedConfig.NodeTransform
          Represents a transform to apply to a node.
 class ArticulatedConfig.Upright
          A transform that orients the node vertically with respect to the world coordinate system.
static interface ArticulatedConfig.ViewTransformUpdater
          Marker interface for updaters that act on the view transform.
static interface ArticulatedConfig.WorldTransformUpdater
          Marker interface for updaters that act on the world transform.
 
Nested classes/interfaces inherited from class com.threerings.opengl.model.config.ModelConfig.Imported
ModelConfig.Imported.MaterialMapping
 
Field Summary
 ArticulatedConfig.AnimationMapping[] animationMappings
          The model's animation mappings.
 ArticulatedConfig.Attachment[] attachments
          The model's attachments.
 boolean completable
          Whether or not the model can be completed.
 ArticulatedConfig.NodeTransform[] nodeTransforms
          The model's node transforms.
 ArticulatedConfig.Node root
          The root node.
 ModelConfig.MeshSet skin
          The skin meshes.
 SceneElement.TickPolicy tickPolicy
          The model's tick policy.
 
Fields inherited from class com.threerings.opengl.model.config.ModelConfig.Imported
boundsExpansion, generateTangents, ignoreRootTransforms, influences, materialMappings, scale
 
Constructor Summary
ArticulatedConfig()
           
 
Method Summary
static Updater createBillboardUpdater(Scope scope, Transform3D parentViewTransform, Transform3D localTransform, ArticulatedConfig.BillboardRotationX rotationX, ArticulatedConfig.BillboardRotationY rotationY)
          Creates an updater to apply a billboard transform.
 Model.Implementation getModelImplementation(GlContext ctx, Scope scope, Model.Implementation impl)
          Creates or updates a model implementation for this configuration.
 String[] getNodeNames()
          Returns the names of the model's nodes in sorted order.
 void initTransientFields()
          Initializes the transient fields of the objects after construction or deserialization.
 void readFields(Importer in)
          Reads the fields of this object.
 
Methods inherited from class com.threerings.opengl.model.config.ModelConfig.Imported
getParticleGeometry, getParticleMaterial, getSource, setSource, updateFromSource
 
Methods inherited from class com.threerings.opengl.model.config.ModelConfig.Implementation
getConfigManager, getOriginal, getUpdateReferences, invalidate
 
Methods inherited from class com.threerings.util.DeepObject
clone, copy, copy, equals, hashCode, toString
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

tickPolicy

@Editable(hgroup="t")
public SceneElement.TickPolicy tickPolicy
The model's tick policy.


completable

@Editable(hgroup="t")
public boolean completable
Whether or not the model can be completed.


animationMappings

@Editable
public ArticulatedConfig.AnimationMapping[] animationMappings
The model's animation mappings.


nodeTransforms

@Editable(depends="source")
public ArticulatedConfig.NodeTransform[] nodeTransforms
The model's node transforms.


attachments

@Editable(depends="source")
public ArticulatedConfig.Attachment[] attachments
The model's attachments.


root

@Shallow
public ArticulatedConfig.Node root
The root node.


skin

@Shallow
public ModelConfig.MeshSet skin
The skin meshes.

Constructor Detail

ArticulatedConfig

public ArticulatedConfig()
Method Detail

createBillboardUpdater

public static Updater createBillboardUpdater(Scope scope,
                                             Transform3D parentViewTransform,
                                             Transform3D localTransform,
                                             ArticulatedConfig.BillboardRotationX rotationX,
                                             ArticulatedConfig.BillboardRotationY rotationY)
Creates an updater to apply a billboard transform.


getNodeNames

public String[] getNodeNames()
Returns the names of the model's nodes in sorted order.


readFields

public void readFields(Importer in)
                throws IOException
Reads the fields of this object.

Throws:
IOException

initTransientFields

public void initTransientFields()
Initializes the transient fields of the objects after construction or deserialization.


getModelImplementation

public Model.Implementation getModelImplementation(GlContext ctx,
                                                   Scope scope,
                                                   Model.Implementation impl)
Description copied from class: ModelConfig.Implementation
Creates or updates a model implementation for this configuration.

Overrides:
getModelImplementation in class ModelConfig.Imported
scope - the model's expression scope.
impl - an existing implementation to reuse, if possible.
Returns:
either a reference to the existing implementation (if reused), a new implementation, or null if no implementation could be created.


Copyright © 2011. All Rights Reserved.