Full Library / Result / 3D Interactive Creator / 3DAnimation-Java3D / ViewScreen3D
Block Name: ViewScreen3D

java.lang.Object
extended byVisualSim.kernel.util.NamedObj
extended byVisualSim.kernel.InstantiableNamedObj
extended byVisualSim.kernel.Entity
extended byVisualSim.kernel.ComponentEntity
extended byVisualSim.actor.AtomicActor
extended byVisualSim.actor.TypedAtomicActor
extended byVisualSim.simulators.gr.kernel.GRActor
extended byVisualSim.simulators.gr.kernel.GRActor3D
extended byVisualSim.simulators.gr.lib.ViewScreen3D
All Implemented Interfaces:
VisualSim.actor.Actor, VisualSim.kernel.util.Changeable, java.lang.Cloneable, VisualSim.kernel.util.Debuggable, VisualSim.kernel.util.DebugListener, VisualSim.kernel.util.Derivable, VisualSim.actor.Executable, VisualSim.kernel.util.Instantiable, VisualSim.kernel.util.ModelErrorHandler, VisualSim.kernel.util.MoMLExportable, VisualSim.kernel.util.Moveable, VisualSim.kernel.util.Nameable, VisualSim.actor.gui.Placeable, java.io.Serializable, VisualSim.actor.TypedActor, VisualSim.simulators.gr.kernel.ViewScreenInterface
Direct Known Subclasses:
IconViewScreen3D, MovableViewScreen3D

public class ViewScreen3D
extends VisualSim.simulators.gr.kernel.GRActor3D
implements VisualSim.actor.gui.Placeable, VisualSim.simulators.gr.kernel.ViewScreenInterface

A sink actor that renders the GR geometry into a display screen

Since:
VisualSim4.1
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class VisualSim.kernel.Entity
VisualSim.kernel.Entity.ContainedObjectsIterator
 
Field Summary
protected  javax.media.j3d.BoundingSphere _bounds
           
protected  javax.media.j3d.BranchGroup _branchRoot
           
protected  javax.media.j3d.Canvas3D _canvas
           
protected  java.awt.Container _container
           
protected  VisualSim.actor.gui.TableauFrame _frame
           
protected  boolean _iterationSynchronized
           
protected  javax.media.j3d.Transform3D _lastTransform
           
protected  VisualSim.simulators.gr.lib.ViewScreen3D.MouseRotateView _mouseRotate
           
protected  com.sun.j3d.utils.universe.SimpleUniverse _simpleUniverse
           
protected  javax.media.j3d.TransformGroup _userTransformation
           
 VisualSim.actor.gui.ColorAttribute backgroundColor
          The background color.
 VisualSim.data.expr.Parameter horizontalResolution
          The width in pixels of the display screen.
 VisualSim.data.expr.Parameter iterationSynchronized
          Boolean variable that determines whether screen update is done once per iteration.
 VisualSim.data.expr.Parameter rotatable
          Boolean variable that determines whether the user can rotate the model with the mouse.
 VisualSim.data.expr.Parameter scalable
          Boolean variable that determines whether the user can move the point of view along the z axis using the mouse.
 VisualSim.actor.TypedIOPort sceneGraphIn
          The input scene graph.
 VisualSim.data.expr.Parameter showAxes
          Boolean variable that determines whether or not axes are shown.
 VisualSim.data.expr.Parameter translatable
          Boolean variable that determines whether the user can translate the model with the mouse.
 VisualSim.data.expr.Parameter verticalResolution
          The height in pixels of the display screen.
 
Fields inherited from class VisualSim.simulators.gr.kernel.GRActor3D
_viewScreen
 
Fields inherited from class VisualSim.simulators.gr.kernel.GRActor
_allowAttributeChanges, _isSceneGraphInitialized
 
Fields inherited from class VisualSim.actor.AtomicActor
_stopRequested, Block_Documentation
 
Fields inherited from class VisualSim.kernel.util.NamedObj
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
 
Fields inherited from interface VisualSim.actor.Executable
COMPLETED, NOT_READY, STOP_ITERATING
 
Constructor Summary
ViewScreen3D(VisualSim.kernel.CompositeEntity container, java.lang.String name)
          Construct a ViewScreen in the given container with the given name.
 
Method Summary
protected  void _addChild(javax.media.j3d.Node node)
          Add the node argument as a child to the encapsulated Java3D node in this actor.
protected  void _createViewScreen()
          Create the view screen component.
protected  javax.media.j3d.Node _getNodeObject()
          The ViewScreen does not have an associated Java3D node
protected  javax.media.j3d.Background _makeBackground()
          Makes the background for the viewScreen
protected  void _makeSceneGraphConnection()
          Setup the scene graph connections of this actor.
protected  javax.media.j3d.Canvas3D _newCanvas()
          Return a new canvas.
protected  void _startRenderer()
          Start the internal Java3D renderer
protected  void _stopRenderer()
          Stop the internal Java3D renderer
 void addChild(javax.media.j3d.Node node)
          Add the node argument as a child to the encapsulated Java3D node in this actor.
 void fire()
          Fire this actor.
 javax.media.j3d.BranchGroup getBranchGroup()
          Return the root Java 3D rendering group used by this view screen.
 javax.media.j3d.Canvas3D getCanvas()
          Return the Java 3D canvas used by this view screen.
 void initialize()
          Initialize the execution.
 void place(java.awt.Container container)
          Set the container that this actor should display data in.
 void wrapup()
          Wrapup an execution
 
Methods inherited from class VisualSim.simulators.gr.kernel.GRActor3D
_setViewScreen
 
Methods inherited from class VisualSim.actor.TypedAtomicActor
_addPort, attributeTypeChanged, clone, newPort, typeConstraintList
 
Methods inherited from class VisualSim.actor.AtomicActor
_createReceivers, clone, connectionsChanged, getDirector, getExecutiveDirector, getFunctionDependency, getManager, inputPortList, iterate, newReceiver, outputPortList, postfire, prefire, preinitialize, pruneDependencies, removeDependency, setContainer, stop, stopFire, terminate
 
Methods inherited from class VisualSim.kernel.ComponentEntity
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName
 
Methods inherited from class VisualSim.kernel.Entity
_description, _exportMoMLContents, _removePort, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName, validateSettables
 
Methods inherited from class VisualSim.kernel.InstantiableNamedObj
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition
 
Methods inherited from class VisualSim.kernel.util.NamedObj
_addAttribute, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeChanged, attributeList, attributeList, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, getAttribute, getAttributes, getChangeListeners, getClassName, getDerivedLevel, getDerivedList, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, message, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setModelErrorHandler, setNormalDebugging, setPersistent, setSource, setVerboseDebugging, sortContainedObjects, toplevel, toString, workspace
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface VisualSim.actor.Actor
getDirector, getExecutiveDirector, getFunctionDependency, getManager, inputPortList, newReceiver, outputPortList
 
Methods inherited from interface VisualSim.actor.Executable
iterate, postfire, prefire, preinitialize, stop, stopFire, terminate
 
Methods inherited from interface VisualSim.kernel.util.Nameable
description, getContainer, getFullName, getName, getName, setName
 
Methods inherited from interface VisualSim.kernel.util.Derivable
getDerivedLevel, getDerivedList, propagateValue
 

Field Detail

sceneGraphIn

public VisualSim.actor.TypedIOPort sceneGraphIn
The input scene graph.


backgroundColor

public VisualSim.actor.gui.ColorAttribute backgroundColor
The background color. Note that the alpha value (the fourth element of the array), which would normally specify transparency, is ignored.


horizontalResolution

public VisualSim.data.expr.Parameter horizontalResolution
The width in pixels of the display screen. The larger of the vertical or horizontal size will correspond by default to one unit of distance, so this parameter determines the horizontal resolution as well as the size of the display. This is an int with default 400.


iterationSynchronized

public VisualSim.data.expr.Parameter iterationSynchronized
Boolean variable that determines whether screen update is done once per iteration. This is a boolean with default false.


rotatable

public VisualSim.data.expr.Parameter rotatable
Boolean variable that determines whether the user can rotate the model with the mouse. This is a boolean with default true.


scalable

public VisualSim.data.expr.Parameter scalable
Boolean variable that determines whether the user can move the point of view along the z axis using the mouse. This is a boolean with default false.


showAxes

public VisualSim.data.expr.Parameter showAxes
Boolean variable that determines whether or not axes are shown. This parameter is a boolean with default false.


translatable

public VisualSim.data.expr.Parameter translatable
Boolean variable that determines whether the user can translate the model with the mouse. This is a boolean with default false.


verticalResolution

public VisualSim.data.expr.Parameter verticalResolution
The height in pixels of the display screen. The larger of the vertical or horizontal size will correspond by default to one unit of distance, so this parameter determines the horizontal resolution as well as the size of the display. This is an integer with default 400.


_bounds

protected javax.media.j3d.BoundingSphere _bounds

_branchRoot

protected javax.media.j3d.BranchGroup _branchRoot

_canvas

protected javax.media.j3d.Canvas3D _canvas

_container

protected java.awt.Container _container

_frame

protected VisualSim.actor.gui.TableauFrame _frame

_iterationSynchronized

protected boolean _iterationSynchronized

_lastTransform

protected javax.media.j3d.Transform3D _lastTransform

_mouseRotate

protected VisualSim.simulators.gr.lib.ViewScreen3D.MouseRotateView _mouseRotate

_simpleUniverse

protected com.sun.j3d.utils.universe.SimpleUniverse _simpleUniverse

_userTransformation

protected javax.media.j3d.TransformGroup _userTransformation
Constructor Detail

ViewScreen3D

public ViewScreen3D(VisualSim.kernel.CompositeEntity container,
java.lang.String name)
throws VisualSim.kernel.util.IllegalActionException,
VisualSim.kernel.util.NameDuplicationException
Construct a ViewScreen in the given container with the given name. If the container argument is null, a NullPointerException will be thrown. If the name argument is null, then the name is set to the empty string. Increment the version number of the workspace.

Parameters:
container - Container of the director.
name - Name of this ViewScreen.
Throws:
VisualSim.kernel.util.IllegalActionException - If this actor is not compatible with the specified container.
VisualSim.kernel.util.NameDuplicationException - If the container not a CompositeActor and the name collides with an entity in the container.
Method Detail

addChild

public void addChild(javax.media.j3d.Node node)
Add the node argument as a child to the encapsulated Java3D node in this actor.


fire

public void fire()
throws VisualSim.kernel.util.IllegalActionException
Fire this actor.

Specified by:
fire in interface VisualSim.actor.Executable
Throws:
VisualSim.kernel.util.IllegalActionException

getBranchGroup

public javax.media.j3d.BranchGroup getBranchGroup()
Return the root Java 3D rendering group used by this view screen.


getCanvas

public javax.media.j3d.Canvas3D getCanvas()
Return the Java 3D canvas used by this view screen.


initialize

public void initialize()
throws VisualSim.kernel.util.IllegalActionException
Initialize the execution. Create the ViewScreen frame if it hasn't been set using the place() method.

Specified by:
initialize in interface VisualSim.actor.Executable
Throws:
VisualSim.kernel.util.IllegalActionException - If the base class throws it.

place

public void place(java.awt.Container container)
Set the container that this actor should display data in. If place is not called, then the actor will create its own frame for display.

Specified by:
place in interface VisualSim.actor.gui.Placeable

wrapup

public void wrapup()
throws VisualSim.kernel.util.IllegalActionException
Wrapup an execution

Specified by:
wrapup in interface VisualSim.actor.Executable
Throws:
VisualSim.kernel.util.IllegalActionException

_addChild

protected void _addChild(javax.media.j3d.Node node)
Add the node argument as a child to the encapsulated Java3D node in this actor.


_createViewScreen

protected void _createViewScreen()
Create the view screen component. If place() was called with a container, then use the container. Otherwise, create a new frame and use that.


_getNodeObject

protected javax.media.j3d.Node _getNodeObject()
The ViewScreen does not have an associated Java3D node

Returns:
null

_makeBackground

protected javax.media.j3d.Background _makeBackground()
throws VisualSim.kernel.util.IllegalActionException
Makes the background for the viewScreen

Returns:
javax.media.j3d.Background
Throws:
VisualSim.kernel.util.IllegalActionException - If unable to read the color parameter.

_makeSceneGraphConnection

protected void _makeSceneGraphConnection()
throws VisualSim.kernel.util.IllegalActionException
Setup the scene graph connections of this actor.

Throws:
VisualSim.kernel.util.IllegalActionException

_newCanvas

protected javax.media.j3d.Canvas3D _newCanvas()
Return a new canvas. This is protected so that subclasses can return a different kind of canvas (using the "strategy pattern").

Returns:
A new canvas.

_startRenderer

protected void _startRenderer()
Start the internal Java3D renderer


_stopRenderer

protected void _stopRenderer()
Stop the internal Java3D renderer