ptolemy.domains.gr.lib
Class MouseInput3D

java.lang.Object
  extended by ptolemy.kernel.util.NamedObj
      extended by ptolemy.kernel.InstantiableNamedObj
          extended by ptolemy.kernel.Entity
              extended by ptolemy.kernel.ComponentEntity
                  extended by ptolemy.actor.AtomicActor
                      extended by ptolemy.actor.TypedAtomicActor
                          extended by ptolemy.domains.gr.kernel.GRActor
                              extended by ptolemy.domains.gr.kernel.GRActor3D
                                  extended by ptolemy.domains.gr.lib.MouseInput3D
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable

public class MouseInput3D
extends GRActor3D

An actor that listens for mouse clicks on the viewscreen.

Since:
Ptolemy II 1.0
Version:
$Id: MouseInput3D.java 53042 2009-04-10 20:31:21Z cxh $
Author:
C. Fong
See Also:
Serialized Form
Accepted Rating:
Red (chf)
Proposed Rating:
Red (chf)

Nested Class Summary
private  class MouseInput3D.React
           
 
Nested classes/interfaces inherited from class ptolemy.kernel.Entity
Entity.ContainedObjectsIterator
 
Field Summary
protected  javax.media.j3d.BranchGroup _containedNode
          The user input BranchGroup node contained by this actor.
private  boolean _hasData
           
private  MouseInput3D.React _react
           
private  int _xClicked
           
private  int _yClicked
           
 TypedIOPort x
          An output port containing an integer representing the X coordinate of the mouse.
 TypedIOPort y
          An output port containing an integer representing the Y coordinate of the mouse.
 
Fields inherited from class ptolemy.domains.gr.kernel.GRActor3D
_viewScreen
 
Fields inherited from class ptolemy.domains.gr.kernel.GRActor
_allowAttributeChanges, _isSceneGraphInitialized
 
Fields inherited from class ptolemy.actor.AtomicActor
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested
 
Fields inherited from class ptolemy.kernel.util.NamedObj
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
 
Fields inherited from interface ptolemy.actor.Executable
COMPLETED, NOT_READY, STOP_ITERATING
 
Constructor Summary
MouseInput3D(CompositeEntity container, java.lang.String name)
          Construct an actor with the given container and name.
 
Method Summary
protected  javax.media.j3d.Node _getNodeObject()
          Get the user input BranchGroup node.
protected  void _makeSceneGraphConnection()
          Add this node to the viewscreen.
 void fire()
          If the mouse has moved, send the coordinates to the x and y ports.
 void initialize()
          Set up this actor to listen to mouse motion events.
 
Methods inherited from class ptolemy.domains.gr.kernel.GRActor3D
_addChild, _setViewScreen
 
Methods inherited from class ptolemy.domains.gr.kernel.GRActor
wrapup
 
Methods inherited from class ptolemy.actor.TypedAtomicActor
_addPort, _fireAt, _fireAt, attributeTypeChanged, clone, newPort, typeConstraintList, typeConstraints
 
Methods inherited from class ptolemy.actor.AtomicActor
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, clone, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, prefire, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate
 
Methods inherited from class ptolemy.kernel.ComponentEntity
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName
 
Methods inherited from class ptolemy.kernel.Entity
_description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName
 
Methods inherited from class ptolemy.kernel.InstantiableNamedObj
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition
 
Methods inherited from class ptolemy.kernel.util.NamedObj
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeChanged, attributeList, attributeList, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface ptolemy.actor.Actor
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
 
Methods inherited from interface ptolemy.actor.Executable
isFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminate
 
Methods inherited from interface ptolemy.actor.Initializable
addInitializable, preinitialize, removeInitializable
 
Methods inherited from interface ptolemy.kernel.util.Nameable
description, getContainer, getDisplayName, getFullName, getName, getName, setName
 
Methods inherited from interface ptolemy.kernel.util.Derivable
getDerivedLevel, getDerivedList, propagateValue
 

Field Detail

x

public TypedIOPort x
An output port containing an integer representing the X coordinate of the mouse.


y

public TypedIOPort y
An output port containing an integer representing the Y coordinate of the mouse.


_containedNode

protected javax.media.j3d.BranchGroup _containedNode
The user input BranchGroup node contained by this actor.


_react

private MouseInput3D.React _react

_hasData

private boolean _hasData

_xClicked

private int _xClicked

_yClicked

private int _yClicked
Constructor Detail

MouseInput3D

public MouseInput3D(CompositeEntity container,
                    java.lang.String name)
             throws IllegalActionException,
                    NameDuplicationException
Construct an actor with the given container and name.

Parameters:
container - The container.
name - The name of this actor.
Throws:
IllegalActionException - If the actor cannot be contained by the proposed container.
NameDuplicationException - If the container already has an actor with this name.
Method Detail

fire

public void fire()
          throws IllegalActionException
If the mouse has moved, send the coordinates to the x and y ports. If mouse has not moved, then no data is sent.

Specified by:
fire in interface Executable
Overrides:
fire in class GRActor
Throws:
IllegalActionException - If thrown while sending the data to the output ports.

initialize

public void initialize()
                throws IllegalActionException
Set up this actor to listen to mouse motion events.

Specified by:
initialize in interface Initializable
Overrides:
initialize in class GRActor
Throws:
IllegalActionException - If thrown by the parent class.

_getNodeObject

protected javax.media.j3d.Node _getNodeObject()
Get the user input BranchGroup node.

Specified by:
_getNodeObject in class GRActor3D
Returns:
The user input BranchGroup node for this actor.

_makeSceneGraphConnection

protected void _makeSceneGraphConnection()
                                  throws IllegalActionException
Add this node to the viewscreen.

Specified by:
_makeSceneGraphConnection in class GRActor
Throws:
IllegalActionException - If throw while adding this node to the viewscreen.