VisualSim.simulators.gr.lib
Class RectangularFigure2D

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.GRActor2D
                                  extended byVisualSim.simulators.gr.lib.GRShape2D
                                      extended byVisualSim.simulators.gr.lib.RectangularFigure2D
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, java.io.Serializable, VisualSim.actor.TypedActor
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:
VisualSim4.0
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class VisualSim.kernel.Entity
VisualSim.kernel.Entity.ContainedObjectsIterator
 
Field Summary
 VisualSim.data.expr.Parameter height
          The initial height of the bounding rectangle (of type double) of the figure, before additional transformations.
 VisualSim.data.expr.Parameter width
          The initial width of the bounding rectangle (of type double) of the figure, before additional transformations.
 VisualSim.data.expr.Parameter xPosition
          The initial x position (of type double) of the figure, before additional transformations.
 VisualSim.data.expr.Parameter yPosition
          The initial y position (of type double) of the figure, before additional transformations.
 
Fields inherited from class VisualSim.simulators.gr.lib.GRShape2D
_figure, outlineWidth, rgbFillColor, rgbOutlineColor, sceneGraphOut
 
Fields inherited from class VisualSim.simulators.gr.kernel.GRActor2D
_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
RectangularFigure2D(VisualSim.kernel.CompositeEntity container, java.lang.String name)
          Construct an actor with the given container and name.
 
Method Summary
protected abstract  diva.canvas.toolbox.BasicFigure _createFigure()
          Create the figure for this actor.
protected  double _getCenterOffset(VisualSim.data.expr.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(VisualSim.kernel.util.Attribute attribute)
          Update the position and location of the figure on the screen when the user changes the parameters.
 
Methods inherited from class VisualSim.simulators.gr.lib.GRShape2D
_makeSceneGraphConnection, getFigure, initialize, prefire
 
Methods inherited from class VisualSim.simulators.gr.kernel.GRActor2D
_setViewScreen
 
Methods inherited from class VisualSim.simulators.gr.kernel.GRActor
fire, wrapup
 
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, 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, 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, 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

xPosition

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


yPosition

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


width

public VisualSim.data.expr.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 VisualSim.data.expr.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(VisualSim.kernel.CompositeEntity container,
                           java.lang.String name)
                    throws VisualSim.kernel.util.IllegalActionException,
                           VisualSim.kernel.util.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:
VisualSim.kernel.util.IllegalActionException - If the actor cannot be contained by the proposed container.
VisualSim.kernel.util.NameDuplicationException - If the container already has an actor with this name.
Method Detail

attributeChanged

public void attributeChanged(VisualSim.kernel.util.Attribute attribute)
                      throws VisualSim.kernel.util.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:
VisualSim.kernel.util.IllegalActionException

_createFigure

protected abstract diva.canvas.toolbox.BasicFigure _createFigure()
                                                          throws VisualSim.kernel.util.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:
VisualSim.kernel.util.IllegalActionException - If a parameter is not valid.

_getCenterOffset

protected double _getCenterOffset(VisualSim.data.expr.Parameter dimension)
                           throws VisualSim.kernel.util.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:
VisualSim.kernel.util.IllegalActionException - If getToken() method throws such an exception.

_getCenterPoint

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

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

_getCornerPoint

protected java.awt.geom.Point2D.Double _getCornerPoint()
                                                throws VisualSim.kernel.util.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:
VisualSim.kernel.util.IllegalActionException - If getToken() method throws such an exception.

_updateFigure

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

Throws:
VisualSim.kernel.util.IllegalActionException - If getToken() generates IllegalActionException.