ptolemy.actor.lib.gui
Class SequenceScope
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.SequencePlotter
ptolemy.actor.lib.gui.SequenceScope
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Placeable, Initializable, SequenceActor, TypedActor, Changeable, Configurable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
public class SequenceScope
- extends SequencePlotter
A sequence plotter for sequences that are potentially infinitely long.
This plotter contains an instance of the Plot
class from the Ptolemy plot package as a public member. Data at
the input, which can consist of any number of channels, are plotted
on this instance. Each channel is plotted as a separate data set.
The horizontal axis represents the count of the iterations, modulo
the width parameter, scaled by the xUnit parameter.
The width parameter must be an integer that gives the width
of the plot in number of samples. It defaults to 10.
If the persistence parameter is positive, then it specifies
the number of points that are remembered. It also defaults to 10.
Any points older than these are erased and forgotten.
The horizontal increment between samples is given by the
xUnit parameter. Its default value is 1.0. The horizontal value
of the first sample is given by the xInit parameter.
Its default value is 0.0. The input is of type DoubleToken.
Note that this actor uses XOR drawing mode, which is fast, but
will produce sometimes very annoying artifacts. In particular,
when lines or points overlap, they will erase each other (if they
are from the same data set) or produce some other color (if
they are from distinct data sets). To avoid these artifacts,
use ArrayPlotter.
- Since:
- Ptolemy II 1.0
- Version:
- $Id: SequenceScope.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Edward A. Lee
- See Also:
ArrayPlotter
,
Serialized Form
- Accepted Rating:
- Proposed Rating:
Field Summary |
Parameter |
persistence
The number of samples to be displayed at any one time (an integer). |
Parameter |
width
The width of the X axis, in number of samples (an integer). |
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 |
Method Summary |
void |
attributeChanged(Attribute attribute)
Notify this that an attribute has changed. |
void |
initialize()
Initialize this actor. |
boolean |
postfire()
Call the base class postfire() method, then yield this
thread so that the event thread gets a chance. |
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 |
width
public Parameter width
- The width of the X axis, in number of samples (an integer).
persistence
public Parameter persistence
- The number of samples to be displayed at any one time (an integer).
SequenceScope
public SequenceScope(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.
attributeChanged
public void attributeChanged(Attribute attribute)
throws IllegalActionException
- Notify this that an attribute has changed. If either parameter
is changed, then this actor updates the configuration of the
visible plot.
- Overrides:
attributeChanged
in class SequencePlotter
- Parameters:
attribute
- The attribute that changed.
- Throws:
IllegalActionException
- If the expression of the
attribute cannot be parsed or cannot be evaluated.
initialize
public void initialize()
throws IllegalActionException
- Initialize this actor. This method configures the visible plot
using the current parameter values.
- Specified by:
initialize
in interface Initializable
- Overrides:
initialize
in class SequencePlotter
- Throws:
IllegalActionException
- If the parent class throws it.
postfire
public boolean postfire()
throws IllegalActionException
- Call the base class postfire() method, then yield this
thread so that the event thread gets a chance. This is necessary,
because otherwise the swing thread may be starved and accumulate a
large number of points waiting to be plotted.
- Specified by:
postfire
in interface Executable
- Overrides:
postfire
in class SequencePlotter
- Returns:
- True if it is OK to continue.
- Throws:
IllegalActionException
- If there is no director,
or if the base class throws it.