Class SequenceScope

  • All Implemented Interfaces:
    java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, PortablePlaceable, 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$
    Author:
    Edward A. Lee
    See Also:
    ArrayPlotter
    Pt.AcceptedRating:
    Yellow (neuendor)
    Pt.ProposedRating:
    Yellow (eal)
    • Field Detail

      • 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).
    • Method Detail

      • 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.
      • 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.