ptolemy.domains.gr.lib
Class RectangularFigure2D

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
                                      extended by ptolemy.domains.gr.lib.RectangularFigure2D
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:
Ellipse2D, Rectangle2D

public abstract class RectangularFigure2D
extends GRShape2D

A base class for actors that create figures based on rectangular bounding boxes, such as rectangles, rounded rectangles, and ellipses. The initial size, position, and type of figure are specified in the parameter edit window and can be changed after the figure has been displayed.

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

Nested Class Summary
 
Nested classes/interfaces inherited from class ptolemy.kernel.Entity
Entity.ContainedObjectsIterator
 
Field Summary
 Parameter height
          The initial height of the bounding rectangle (of type double) of the figure, before additional transformations.
 Parameter width
          The initial width of the bounding rectangle (of type double) of the figure, before additional transformations.
 Parameter xPosition
          The initial x position (of type double) of the figure, before additional transformations.
 Parameter yPosition
          The initial y position (of type double) of the figure, before additional transformations.
 
Fields inherited from class ptolemy.domains.gr.lib.GRShape2D
_figure, outlineWidth, rgbFillColor, rgbOutlineColor, sceneGraphOut
 
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
RectangularFigure2D(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  double _getCenterOffset(Parameter dimension)
          Return the offset in a single axis by which to move the rectangle so that the figure is centered at the cartesian origin.
protected  java.awt.geom.Point2D.Double _getCenterPoint()
          Return the center point of the rectangle as a Point.Double.
protected  java.awt.geom.Point2D.Double _getCornerPoint()
          Calculate the lower left point of the rectangle as a Point.Double.
protected abstract  void _updateFigure()
          Update the figure's position and size when the user changes the appropriate parameters.
 void attributeChanged(Attribute attribute)
          Update the position and location of the figure on the screen when the user changes the parameters.
 
Methods inherited from class ptolemy.domains.gr.lib.GRShape2D
_makeSceneGraphConnection, getFigure, initialize, prefire
 
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

xPosition

public Parameter xPosition
The initial x position (of type double) of the figure, before additional transformations. The default value is 0.0.


yPosition

public Parameter yPosition
The initial y position (of type double) of the figure, before additional transformations. The default value is 0.0.


width

public Parameter width
The initial width of the bounding rectangle (of type double) of the figure, before additional transformations. The default value is 50.0.


height

public Parameter height
The initial height of the bounding rectangle (of type double) of the figure, before additional transformations. The default value is 50.0.

Constructor Detail

RectangularFigure2D

public RectangularFigure2D(CompositeEntity container,
                           java.lang.String name)
                    throws IllegalActionException,
                           NameDuplicationException
Construct an actor with the given container and name. Initialize the position and size of the figure.

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 GRShape2D
Parameters:
attribute - The attribute which changed.
Throws:
IllegalActionException - If thrown while updating the figure or by the superclass.

_createFigure

protected abstract BasicFigure _createFigure()
                                      throws IllegalActionException
Create the figure for this actor. This method should be implemented by derived classes to create a figure of the appropriate type.

Specified by:
_createFigure in class GRShape2D
Returns:
A new Figure.
Throws:
IllegalActionException - If a parameter is not valid.

_getCenterOffset

protected double _getCenterOffset(Parameter dimension)
                           throws IllegalActionException
Return the offset in a single axis by which to move the rectangle so that the figure is centered at the cartesian origin.

Parameters:
dimension - The size of the rectangle along a single axis.
Returns:
A DoubleToken containing the offset needed to center the figure.
Throws:
IllegalActionException - If getToken() method throws such an exception.

_getCenterPoint

protected java.awt.geom.Point2D.Double _getCenterPoint()
                                                throws IllegalActionException
Return the center point of the rectangle as a Point.Double.

Returns:
The rectangle's center point as a Point.Double.
Throws:
IllegalActionException - If getToken() method throws such an exception.

_getCornerPoint

protected java.awt.geom.Point2D.Double _getCornerPoint()
                                                throws IllegalActionException
Calculate the lower left point of the rectangle as a Point.Double.

Returns:
The lower left point of the rectangle as a Point.Double.
Throws:
IllegalActionException - If getToken() method throws such an exception.

_updateFigure

protected abstract void _updateFigure()
                               throws IllegalActionException
Update the figure's position and size when the user changes the appropriate parameters.

Throws:
IllegalActionException - If getToken() generates IllegalActionException.