ITrace2D
info.monitorenter.gui.chart

Interface ITrace2D

    • Method Detail

      • addComputingTrace

        void addComputingTrace(ITrace2D trace)
        Adds a trace that "should" compute values from the points added via addPoint(ITracePoint2D) .

        The given trace will be informed in case an add operation on this trace succeeds via addPoint(ITracePoint2D).

        Parameters:
        trace - the trace that will calculate it's points from the added points of this trace.
      • addErrorBarPolicy

        boolean addErrorBarPolicy(IErrorBarPolicy<?> errorBarPolicy)
        Adds the given error bar policy to the internal set of error bar policies.

        It will be the last error bar policy to render (most forward on screen).

        Parameters:
        errorBarPolicy - the error bar policy to add for rendering this trace's error bars.
        Returns:
        true if the painter was added (same instance was not contained before).
      • addPoint

        boolean addPoint(double x,               double y)
        Adds a trace point to the internal data.

        Warning:
        Do not call this method before this trace has been added to a chart or you will not succeed as the chart is needed to get the proper Chart2D.getTracePointProvider().

        Parameters:
        x - the x-value of the point to add.
        y - the y-value of the point to add.
        Returns:
        true if the operation was successful, false else.
        See Also:
        addPoint(ITracePoint2D p)
      • addPoint

        boolean addPoint(ITracePoint2D p)
        Adds the given TracePoint2D to the internal data.

        Try to pass instances of TracePoint2D to this instance instead of invoking addPoint(double, double) to increase performance. Else the given point has to be copied into such an instance from the other method and delegated to this method.

        Implementations decide whether the point will be accepted or not. So they have to update the internal properties minX, maxX,maxY and minY and also care about firing property change events for those properties by method PropertyChangeSupport.firePropertyChange(java.beans.PropertyChangeEvent).

        Parameters:
        p - the point to add.
        Returns:
        true if the operation was successful, false else.
      • addPointHighlighter

        boolean addPointHighlighter(IPointPainter<?> highlighter)
        Adds the given point painter to the internal set of point highlighters.

        It will be the last point painter to paint highlighting if highlighting is active.

        Parameters:
        highlighter - the highlighter to add for highlighting this trace.
        Returns:
        true if the highlighter was added (class of instance not contained before).
      • addPropertyChangeListener

        void addPropertyChangeListener(String propertyName,                             PropertyChangeListener listener)
        Registers a property change listener that will be informed about changes of the property identified by the given propertyName.

        Parameters:
        propertyName - the name of the property the listener is interested in
        listener - a listener that will only be informed if the property identified by the argument propertyName changes
      • addTracePainter

        boolean addTracePainter(ITracePainter<?> painter)
        Adds the given trace painter to the internal set of trace painters.

        It will be the last painter to paint (most forward).

        Parameters:
        painter - the painter to add for rendering this trace.
        Returns:
        true if the painter was added (class of instance not contained before).
      • containsTracePainter

        boolean containsTracePainter(ITracePainter<?> painter)
        Returns true if the given painter is contained in this compound painter.

        Parameters:
        painter - the painter to check whether it is contained.
        Returns:
        true if the given painter is contained in this compound painter.
      • getColor

        Color getColor()
        Because the color is data common to a trace of a Chart2D it is stored here.

        On the other hand only the corresponding Chart2D may detect the same color chosen for different IChart2D instances to be displayed. Therefore it is allowed to return null. This is a message to the Chart2D to leave it the choice of the color. Then the Chart2D will chose a color not owned by another ITrace2D instance managed and assign it to the null- returning instance.

        The Chart2D will often call this method. So try to cache the value in implementation and only check on modifications of TracePoint instances or on add- invocations for changes.

        Returns:
        The chosen java.awt.Color or null if the decision for the color should be made by the corresponding Chart2D.
      • getErrorBarPolicies

        Set<IErrorBarPolicy<?>> getErrorBarPolicies()
        Returns the Set<IErrorBarPolicy> that will be used to render error bars for this trace.

        Returns:
        the Set<IErrorBarPolicy> that will be used to render error bars for this trace.
      • getHasErrorBars

        boolean getHasErrorBars()
        Returns true if this trace has error bars configured.

        If this returns false, no error bars will be painted for this trace.

        Returns:
        true if this trace has error bars configured.
      • getLabel

        String getLabel()
        Callback method for the Chart2D that returns a String describing the label of the ITrace2D that will be displayed below the drawing area of the Chart2D.

        This method should be implemented and finalized ASAP in the inheritance tree and rely on the property name and physicalUnits.

        Returns:
        a String describing the Axis being accessed.
      • getMaxSize

        int getMaxSize()

        Returns the maximum amount of TracePoint2D instances that may be added. For implementations that limit the maximum amount this is a reasonable amount. Non-limiting implementations should return Integer.MAX_VALUE. This allows to detect the unlimitedness. Of course no implementation could store that amount of points.

        Returns:
        The maximum amount of TracePoint2D instances that may be added.
      • getMaxX

        double getMaxX()
        Returns the maximum value to be displayed on the x- axis of the Chart2D. Implementations should be synchronized for multithreaded use. No exception is thrown. In case of empty data (no tracepoints) 0 should be returned, to let the Chart2D know.

        The Chart2D will often call this method. So try to cache the value in implementation and only check on modifications of TracePoint instances or on add- invocations for changes.

        Returns:
        the maximum value of the internal data for the x- dimension.
      • getMaxY

        double getMaxY()
        Returns the maximum value to be displayed on the y- axis of the Chart2D. Implementations should be synchronized for multithreaded use. No exception is thrown. In case of empty data (no tracepoints) 0 should be returned. (watch division with zero).

        Returns:
        the maximum value of the internal data for the y- dimension.
      • getMinX

        double getMinX()
        Returns the minimum value to be displayed on the x- axis of the Chart2D.

        Implementations should be synchronized for multithreaded use. No exception is thrown. In case of empty data (no tracepoints) 0 should be returned. (watch division with zero).

        The Chart2D will often call this method. So try to cache the value in implementation and only check on modifications of TracePoint instances or on add- invocations for changes.

        Returns:
        the minimum value of the internal data for the x- dimension.
      • getMinY

        double getMinY()
        Returns the minimum value to be displayed on the y- axis of the Chart2D.

        Implementations should be synchronized for multithreaded use. No exception is thrown. In case of empty data (no tracepoints) 0 should be returned. (watch division with zero).

        The Chart2D will often call this method. So try to cache the value in implementation and only check on modifications of TracePoint instances or on add- invocations for changes.

        Returns:
        the minimum value of the internal data for the y- dimension.
      • getNearestPointEuclid

        ITrace2D.DistancePoint getNearestPointEuclid(double x,                                           double y)
        Returns the nearest point to the given normalized value coordinates of this trace in Euclid distance.

        Please note that the arguments must be normalized value coordinates like provided by a TracePoint2D.getScaledX() or the division of a pixel coordinate by the total pixel range of the chart.

        Using the Manhattan distance is much faster than Euclid distance as it only includes basic addition an absolute value for computation per point (vs. square root, addition and quadrature for Euclid distance). However the euclid distance spans a circle for the nearest points which is visually more normal for end users than the Manhattan distance which forms a rhombus and reaches far distances in only one dimension.

        Parameters:
        x - the x value as a normalized value between 0 and 1.0.
        y - the x value as a normalized value between 0 and 1.0.
        Returns:
        the nearest point to the given normalized value coordinates of this trace in Euclid distance.
      • getNearestPointManhattan

        ITrace2D.DistancePoint getNearestPointManhattan(double x,                                              double y)
        Returns the nearest point to the given normalized value coordinates of this trace in Manhattan distance.

        Please note that the arguments must be normalized value coordinates like provided by a TracePoint2D.getScaledX() or the division of a pixel coordinate by the total pixel range of the chart.

        Using the Manhattan distance is much faster than Euclid distance as it only includes basic addition an absolute value for computation per point (vs. square root, addition and quadrature for Euclid distance).

        Parameters:
        x - the x value as a normalized value between 0 and 1.0.
        y - the x value as a normalized value between 0 and 1.0.
        Returns:
        the nearest point to the given normalized value coordinates of this trace in Manhattan distance.
      • getPhysicalUnitsX

        String getPhysicalUnitsX()
        Returns the physical unit string value for the x dimension.

        Returns:
        the physical unit string value for the x dimension.
        See Also:
        setPhysicalUnits(String x,String y)
      • getPhysicalUnitsY

        String getPhysicalUnitsY()
        Returns the physical unit string value for the y dimension.

        Returns:
        the physical unit string value for the y dimension.
        See Also:
        setPhysicalUnits(String x,String y)
      • getPropertyChangeListeners

        PropertyChangeListener[] getPropertyChangeListeners(String property)
        Returns all property change listeners for the given property.

        Parameters:
        property - one of the constants with the PROPERTY_ prefix defined in this class or subclasses.
        Returns:
        the property change listeners for the given property.
      • getRenderer

        Chart2D getRenderer()
        Returns:
        Returns the renderer.
      • getSize

        int getSize()
        Returns the amount of TracePoint2D instances currently contained.

        Returns:
        The amount of TracePoint2D instances currently contained.
      • getStroke

        Stroke getStroke()
        Returns the Stroke that is used to render this instance.

        Returns:
        the Stroke that is used to render this instance.
        See Also:
        setStroke(Stroke)
      • getZIndex

        Integer getZIndex()
        The z-index defines the order in which this instance will be painted.

        A higher value will bring it more "to the front".

        Returns:
        the z-index that will define the order in which this instance will be painted.
      • isEmpty

        boolean isEmpty()
        Returns false if internal TracePoint2D instances are contained or true if not.

        Returns:
        false if internal TracePoint2D instances are contained or true if not.
      • isVisible

        boolean isVisible()
        Returns true if this instance should be rendered.

        Returns:
        true if this instance should be rendered.
      • iterator

        Iterator<ITracePoint2D> iterator()
        Returns an Iterator over the internal TracePoint2D instances.

        Implementations should be synchronized. This method is meant to allow modifications of the intenal TracePoint2D instances, so the original points should be returned.

        There is no guarantee that changes made to the contained tracepoints will be reflected in the display immediately. The order the iterator returns the TracePoint2D instances decides how the Chart2D will paint the trace.

        Returns:
        an Iterator over the internal TracePoint2D instances.
      • removeAllPoints

        void removeAllPoints()
        Removes all internal TracePoint2D.isEmpty() will return true afterwards.

      • removeComputingTrace

        boolean removeComputingTrace(ITrace2D trace)
        Remove a trace that "should" compute values from the points added via addPoint(ITracePoint2D).

        Parameters:
        trace - the trace that will calculate it's points from the added points of this trace.
        Returns:
        true if the given trace was removed (recognized by the means of Object.equals(Object)).
      • removeErrorBarPolicy

        boolean removeErrorBarPolicy(IErrorBarPolicy<?> errorBarPolicy)
        Removes the given error bar policy from the internal set of error bar policies.

        Parameters:
        errorBarPolicy - the error bar policy to remove.
        Returns:
        true if the painter was removed (same instance contained before).
      • removePoint

        boolean removePoint(ITracePoint2D point)
        Removes the given point from this trace.

        Parameters:
        point - the point to remove.
        Returns:
        true if the remove opertation was successful, false else.
      • removePointHighlighter

        boolean removePointHighlighter(IPointPainter<?> highlighter)
        Removes the given point highlighter, if it's class is contained.

        Parameters:
        highlighter - the highlighter to remove.
        Returns:
        true if a point highlighter of the class of the given argument was removed.
      • removePropertyChangeListener

        void removePropertyChangeListener(PropertyChangeListener listener)
        Unregisters a property change listener that has been registered for listening on all properties.

        Parameters:
        listener - a listener that will only be informed if the property identified by the argument propertyName changes
      • removePropertyChangeListener

        void removePropertyChangeListener(String property,                                PropertyChangeListener listener)
        Removes a property change listener for listening on the given property.

        Parameters:
        property - one of the constants with the PROPERTY_ prefix defined in this class or subclasses.
        listener - the listener for this property change.
      • removeTracePainter

        boolean removeTracePainter(ITracePainter<?> painter)
        Removes the given trace painter, if it's class is contained and if more painters are remaining.

        Parameters:
        painter - the trace painter to remove.
        Returns:
        true if a trace painter of the class of the given argument was removed.
      • setColor

        void setColor(Color color)
        Set a java.awt.Color for this trace.

        Parameters:
        color - the Color to set.
      • setErrorBarPolicy

        Set<IErrorBarPolicy<?>> setErrorBarPolicy(IErrorBarPolicy<?> errorBarPolicy)
        Replaces all internal error bar policies by the new one.

        Parameters:
        errorBarPolicy - the new sole painter to use.
        Returns:
        the Set<IErrorBarPolicy> that was used before.
      • setName

        void setName(String name)
        Assingns a specific name to the ITrace2D which will be displayed by the Chart2D.

        Parameters:
        name - the name for this trace.
      • setPhysicalUnits

        void setPhysicalUnits(String xunit,                    String yunit)
        Assigns a specific String representing the physical unit to the ITrace2D (e.g. Volt, Ohm, lux, ...) which will be displayed by the Chart2D

        Parameters:
        xunit - the physical unit for the x axis.
        yunit - the physical unit for the y axis.
      • setPointHighlighter

        Set<IPointPainter<?>> setPointHighlighter(IPointPainter<?> highlighter)
        Replaces all internal point highlighters by the new one.

        Parameters:
        highlighter - the new sole highlighter to use.
        Returns:
        the Set<IPointPainter> that was used before or null if nothing changed.
      • setRenderer

        void setRenderer(Chart2D renderer)
        This is a callback from Chart2D.addTrace(ITrace2D) and must not be invoked from elsewhere (needed for synchronization).

        Not the best design to put this to an interface, but Char2D should handle this interface only.

        Parameters:
        renderer - The renderer to set.
      • setStroke

        void setStroke(Stroke stroke)
        Allows to specify the rendering of the ITrace2D. This Stroke will be assigned to the Graphics2D by the rendering Chart2D when painting this instance.

        Parameters:
        stroke - the stroke to use for painting this trace.
      • setTracePainter

        Set<ITracePainter<?>> setTracePainter(ITracePainter<?> painter)
        Replaces all internal trace painters by the new one.

        Parameters:
        painter - the new sole painter to use.
        Returns:
        the Set<ITracePainter> that was used before.
      • setVisible

        void setVisible(boolean visible)
        Set the visibility. If argument is false, this instance will not be rendered by a Chart2D.

        Parameters:
        visible - true if this trace should be painted, false else.
      • setZIndex

        void setZIndex(Integer zIndex)
        Sets the internal z-index property. This decides the order in which different traces within the same Chart2D are painted.

        The higher the given value is the more this trace will be brought to front.

        The value must not be lower than Z_INDEX_MIN(0) and higher than ZINDEX_MAX(100).

        This might not be tested for increased performance but ignoring these bounds may result in wrong ordering of display.

        Parameters:
        zIndex - the z index of this trace - the lower the value the more in front the trace will appear amongst other traces in the same chart.
        See Also:
        getZIndex()
      • showsErrorBars

        boolean showsErrorBars()
        Tests whether error bars are painted by this trace.

        Returns true if

        Returns:
        true if this trace renders error bars.
      • showsNegativeXErrorBars

        boolean showsNegativeXErrorBars()
        Tests whether error bars in negative x direction are painted by this trace.

        Returns true if

        Returns:
        true if this trace renders error bars in negative x direction.
      • showsNegativeYErrorBars

        boolean showsNegativeYErrorBars()
        Tests whether error bars in negative y direction are painted by this trace.

        Returns true if

        Returns:
        true if this trace renders error bars in negative y direction.
      • showsPositiveXErrorBars

        boolean showsPositiveXErrorBars()
        Tests whether error bars in positive x direction are painted by this trace.

        Returns true if

        Returns:
        true if this trace renders error bars in positive x direction.
      • showsPositiveYErrorBars

        boolean showsPositiveYErrorBars()
        Tests whether error bars in positive y direction are painted by this trace.

        Returns true if

        Returns:
        true if this trace renders error bars in positive y direction.

SCaVis 2.1 © jWork.ORG