Package ptolemy.domains.gr.lib
Class Rotate2D
- java.lang.Object
-
- All Implemented Interfaces:
java.lang.Cloneable
,Actor
,Executable
,FiringsRecordable
,Initializable
,TypedActor
,Changeable
,Debuggable
,DebugListener
,Derivable
,Instantiable
,ModelErrorHandler
,MoMLExportable
,Moveable
,Nameable
public class Rotate2D extends GRTransform2D
Rotate a two-dimensional figure based on the angle, and anchor point provided by the user. The angle, step, and anchor points can either be preset in the parameter edit window, or updated dynamically through the actor's ports. The angle can be specified in radians or degrees by selecting the angle type in the parameter edit window. Angles increase clockwise beginning at the positive X-axis in a Cartesian plane. If the accumulate parameter defined in the base class is set to true, any changes to the angle of rotation will be relative to the figure's current orientation. Otherwise, the angle specified will be relative to the positive X-axis.- Since:
- Ptolemy II 4.0
- Version:
- $Id$
- Author:
- Ismael M. Sarmiento, Steve Neuendorffer
- Pt.AcceptedRating:
- Yellow (chf)
- Pt.ProposedRating:
- Green (ismael)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ptolemy.kernel.Entity
Entity.ContainedObjectsIterator
-
-
Field Summary
Fields Modifier and Type Field Description TypedIOPort
anchorX
The X coordinate of the point the figure is to be rotated about.TypedIOPort
anchorY
The Y coordinate of the point the figure is to be rotated about.StringAttribute
angleType
How the angle is specified.Parameter
initialAnchorX
The initial x-coordinate of the anchor point.Parameter
initialAnchorY
The initial y-coordinate of the anchor point.Parameter
initialTheta
The initial angle of rotation.TypedIOPort
theta
The angle the figure is to be rotated by, measured clockwise from the positive X-axis on a Cartesian plane.-
Fields inherited from class ptolemy.domains.gr.lib.GRTransform2D
accumulate, sceneGraphIn, 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 Rotate2D(CompositeEntity container, java.lang.String name)
Construct an actor with the given container and name.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
_applyInitialTransform(Figure figure)
Apply the initial rotation to the figure.protected void
_applyTransform(Figure figure)
Apply the current rotation transformation to the figure.-
Methods inherited from class ptolemy.domains.gr.lib.GRTransform2D
_isAccumulating, _makeSceneGraphConnection, fire, initialize
-
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, 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
_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, attributeChanged, 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, 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
-
-
-
-
Field Detail
-
theta
public TypedIOPort theta
The angle the figure is to be rotated by, measured clockwise from the positive X-axis on a Cartesian plane. The default double value is 0.0.
-
anchorX
public TypedIOPort anchorX
The X coordinate of the point the figure is to be rotated about. The default double value is 0.0.
-
anchorY
public TypedIOPort anchorY
The Y coordinate of the point the figure is to be rotated about. The default double value is 0.0.
-
initialTheta
public Parameter initialTheta
The initial angle of rotation. The default double value is 0.0.
-
initialAnchorX
public Parameter initialAnchorX
The initial x-coordinate of the anchor point. The default double value is 0.0.
-
initialAnchorY
public Parameter initialAnchorY
The initial y-coordinate of the anchor point. The default double value is 0.0.
-
angleType
public StringAttribute angleType
How the angle is specified. Can be degrees or radians (default).
-
-
Constructor Detail
-
Rotate2D
public Rotate2D(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
-
_applyInitialTransform
protected void _applyInitialTransform(Figure figure) throws IllegalActionException
Apply the initial rotation to the figure.- Specified by:
_applyInitialTransform
in classGRTransform2D
- Parameters:
figure
- The figure the transformation is to be applied to.- Throws:
IllegalActionException
- If the getToken() method throws such an exception.
-
_applyTransform
protected void _applyTransform(Figure figure) throws IllegalActionException
Apply the current rotation transformation to the figure.- Specified by:
_applyTransform
in classGRTransform2D
- Parameters:
figure
- The figure the transformation is to be applied to.- Throws:
IllegalActionException
- If the getToken() method throws such an exception.
-
-