ptolemy.actor.lib.gui
Class XYPlotter
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.actor.lib.gui.PlotterBase
ptolemy.actor.lib.gui.Plotter
ptolemy.actor.lib.gui.XYPlotter
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Placeable, Initializable, TypedActor, Changeable, Configurable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
- Direct Known Subclasses:
- XYScope
public class XYPlotter
- extends Plotter
An XY plotter. This plotter contains an instance of the Plot class
from the Ptolemy plot package as a public member.
Data at inputX and inputY are plotted on this instance.
Both inputX and inputY are multiports with type DOUBLE.
When plotted, the first channel of inputX and the first channel
of inputY are together considered the first signal,
then the second channel of inputX and the second channel
of inputY are considered the second signal, and so on.
This requires that inputX and
inputY have the same width. The actor
assumes that there is at least one token available on each channel
when it fires. The horizontal axis is given by the value of the
input from inputX and vertical axis is given by inputY.
- Since:
- Ptolemy II 1.0
- Version:
- $Id: XYPlotter.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Jie Liu
- See Also:
- Serialized Form
- Accepted Rating:
- Proposed Rating:
Fields inherited from class ptolemy.actor.lib.gui.PlotterBase |
_base, _container, _frame, _plotSize, _source, _tableau, _text, _windowProperties, automaticRescale, fillOnWrapup, legend, plot |
Fields inherited from class ptolemy.kernel.util.NamedObj |
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Constructor Summary |
XYPlotter(CompositeEntity container,
java.lang.String name)
Construct an actor with the given container and name. |
Method Summary |
boolean |
postfire()
Read at most one token from each channel of each input port
and plot it. |
Methods inherited from class ptolemy.actor.lib.gui.PlotterBase |
_exportMoMLContents, _implementDeferredConfigurations, _newPlot, _propagateValue, clone, configure, getConfigureSource, getConfigureText, place, preinitialize, setContainer, setDisplayName, setName, wrapup |
Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, fire, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, prefire, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, stop, stopFire, terminate |
Methods inherited from class ptolemy.kernel.ComponentEntity |
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence |
Methods inherited from class ptolemy.kernel.Entity |
_description, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName |
Methods inherited from class ptolemy.kernel.util.NamedObj |
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _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, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
inputX
public TypedIOPort inputX
- Input port for the horizontal axis, with type DOUBLE.
inputY
public TypedIOPort inputY
- Input port for the vertical axis, with type DOUBLE.
XYPlotter
public XYPlotter(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.
postfire
public boolean postfire()
throws IllegalActionException
- Read at most one token from each channel of each input port
and plot it.
This is done in postfire to ensure that data has settled.
The width of the inputs should be the same, otherwise a
exception will be thrown. The channels from the two input
ports are matched to give the X and Y position of a single
data point. Each matched channel pair must have
at least one token, or
a token will be consumed from the input channel that has
a token, but nothing will be plotted.
- Specified by:
postfire
in interface Executable
- Overrides:
postfire
in class AtomicActor
- Returns:
- True if it is OK to continue.
- Throws:
IllegalActionException
- If there is no director,
the width of the ports are not the same, or
if the base class throws it.