ptolemy.domains.gr.lib
Class GRShape2D

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.GRActor2D
                                  extended by ptolemy.domains.gr.lib.GRShape2D
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
Direct Known Subclasses:
Box2D, RectangularFigure2D

public abstract class GRShape2D
extends GRActor2D

An abstract base class for two-dimensional GR Actors representing figures. The color of the figure is chosen from a color chooser dialog, or can be entered manually as an array of double values of the form {red, green, blue, alpha}.

Since:
Ptolemy II 4.0
Version:
$Id: GRShape2D.java 57040 2010-01-27 20:52:32Z cxh $
Author:
Steve Neuendorffer, Ismael M. Sarmiento
See Also:
Serialized Form
Accepted Rating:
Red (chf)
Proposed Rating:
Red (chf)

Nested Class Summary
 
Nested classes/interfaces inherited from class ptolemy.kernel.Entity
Entity.ContainedObjectsIterator
 
Field Summary
protected  BasicFigure _figure
          The figure represented by this actor.
 Parameter outlineWidth
          The width of the figure's outline.
 ColorAttribute rgbFillColor
          The red, green, blue, and alpha components of the interior color of the figure.
 ColorAttribute rgbOutlineColor
          The red, green, blue and alpha components of the outline color of the figure.
 TypedIOPort sceneGraphOut
          The output port for connecting to other GR Actors in the scene graph.
 
Fields inherited from class ptolemy.domains.gr.kernel.GRActor2D
_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
GRShape2D(CompositeEntity container, java.lang.String name)
          Construct an actor with the given container and name.
 
Method Summary
protected abstract  BasicFigure _createFigure()
          Create the figure for this actor.
protected  void _makeSceneGraphConnection()
          Setup the scene graph connections of this actor.
private  void _setAppearance(BasicFigure figure)
           
 void attributeChanged(Attribute attribute)
          Update the position and location of the figure on the screen when the user changes the parameters.
 BasicFigure getFigure()
          Get the figure represented by this actor.
 void initialize()
          Create the figure for this actor.
 boolean prefire()
          Return false if the scene graph is already initialized.
 
Methods inherited from class ptolemy.domains.gr.kernel.GRActor2D
_setViewScreen
 
Methods inherited from class ptolemy.domains.gr.kernel.GRActor
fire, 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, 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, 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, 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

sceneGraphOut

public TypedIOPort sceneGraphOut
The output port for connecting to other GR Actors in the scene graph.


rgbFillColor

public ColorAttribute rgbFillColor
The red, green, blue, and alpha components of the interior color of the figure. This parameter must contain an array of double values. The default value is {1.0, 1.0, 1.0, 1.0}, corresponding to opaque white.


rgbOutlineColor

public ColorAttribute rgbOutlineColor
The red, green, blue and alpha components of the outline color of the figure. This parameter must contain an array of double values. The default value is {0.0, 0.0, 0.0, 1.0}, corresponding to opaque black.


outlineWidth

public Parameter outlineWidth
The width of the figure's outline. This parameter must contain a DoubleToken. The default value is 1.0.


_figure

protected BasicFigure _figure
The figure represented by this actor.

Constructor Detail

GRShape2D

public GRShape2D(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

attributeChanged

public void attributeChanged(Attribute attribute)
                      throws IllegalActionException
Update the position and location of the figure on the screen when the user changes the parameters.

Overrides:
attributeChanged in class NamedObj
Parameters:
attribute - The attribute which changed.
Throws:
IllegalActionException - If thrown while setting the appearance of the figure or if thrown by the parent class.

getFigure

public BasicFigure getFigure()
Get the figure represented by this actor.

Returns:
The figure.

initialize

public void initialize()
                throws IllegalActionException
Create the figure for this actor.

Specified by:
initialize in interface Initializable
Overrides:
initialize in class GRActor
Throws:
IllegalActionException - If the current director is not a GRDirector.

prefire

public boolean prefire()
                throws IllegalActionException
Return false if the scene graph is already initialized.

Specified by:
prefire in interface Executable
Overrides:
prefire in class AtomicActor
Returns:
false if the scene graph is already initialized.
Throws:
IllegalActionException - Not thrown in this base class

_createFigure

protected abstract BasicFigure _createFigure()
                                      throws IllegalActionException
Create the figure for this actor. Derived classes should implement this method to create the correct figure.

Returns:
A new Figure.
Throws:
IllegalActionException - If a parameter is not valid.

_makeSceneGraphConnection

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

Specified by:
_makeSceneGraphConnection in class GRActor
Throws:
IllegalActionException - Always thrown for this base class.

_setAppearance

private void _setAppearance(BasicFigure figure)
                     throws IllegalActionException
Throws:
IllegalActionException