Package ptolemy.domains.gr.lib
Class RectangularFigure2D
- java.lang.Object
-
- ptolemy.kernel.util.NamedObj
-
- ptolemy.kernel.InstantiableNamedObj
-
- ptolemy.kernel.Entity<T>
-
- ptolemy.kernel.ComponentEntity<T>
-
- ptolemy.actor.AtomicActor<TypedIOPort>
-
- ptolemy.actor.TypedAtomicActor
-
- ptolemy.domains.gr.kernel.GRActor
-
- ptolemy.domains.gr.kernel.GRActor2D
-
- ptolemy.domains.gr.lib.GRShape2D
-
- ptolemy.domains.gr.lib.RectangularFigure2D
-
- All Implemented Interfaces:
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$
- Author:
- Ismael M. Sarmiento, Steve Neuendorffer
- Pt.AcceptedRating:
- Red (chf)
- Pt.ProposedRating:
- Yellow (ismael)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ptolemy.kernel.Entity
Entity.ContainedObjectsIterator
-
-
Field Summary
Fields Modifier and Type Field Description 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.TypedAtomicActor
_typesValid
-
Fields inherited from class ptolemy.actor.AtomicActor
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested
-
Fields inherited from class ptolemy.kernel.util.NamedObj
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _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
Constructors Constructor Description RectangularFigure2D(CompositeEntity container, java.lang.String name)
Construct an actor with the given container and name.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description 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.actor.TypedAtomicActor
_containedTypeConstraints, _customTypeConstraints, _defaultTypeConstraints, _fireAt, _fireAt, attributeTypeChanged, clone, clone, isBackwardTypeInferenceEnabled, newPort, typeConstraintList, typeConstraints
-
Methods inherited from class ptolemy.actor.AtomicActor
_actorFiring, _actorFiring, _declareDelayDependency, addActorFiringListener, addInitializable, 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
_addPort, _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, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, addHierarchyListener, attributeDeleted, attributeList, attributeList, decorators, 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, notifyOfNameChange, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, 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.kernel.util.Derivable
getDerivedLevel, getDerivedList, propagateValue
-
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
-
-
-
-
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 classGRShape2D
- 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 classGRShape2D
- 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.
-
-