public class Trace2DSorted extends ATrace2D implements ITrace2D
Trace2DReplacing
and additional features.
Because sorted insertion of a List causes n! index- operations (
get(int i)
) additional to the comparisons this class does not
extend Trace2DSimple
which uses a List. Instead a
TreeSet
is used.
ITrace2D.DistancePoint
Modifier and Type | Field and Description |
---|---|
protected TreeSet<ITracePoint2D> |
m_points
The sorted set of points.
|
m_computingTraces, m_maxX, m_maxXErrorBar, m_maxY, m_maxYErrorBar, m_minX, m_minXErrorBar, m_minY, m_minYErrorBar, m_name, m_physicalUnitsX, m_physicalUnitsY, m_propertyChangeSupport, m_renderer
PROPERTY_COLOR, PROPERTY_ERRORBARPOLICY, PROPERTY_ERRORBARPOLICY_CONFIGURATION, PROPERTY_LABEL, PROPERTY_MAX_X, PROPERTY_MAX_Y, PROPERTY_MIN_X, PROPERTY_MIN_Y, PROPERTY_NAME, PROPERTY_PAINTERS, PROPERTY_PHYSICALUNITS, PROPERTY_STROKE, PROPERTY_TRACEPOINT_CHANGED_HIGHLIGHTERS, PROPERTY_TRACEPOINT_CHANGED_LOCATION, PROPERTY_TRACEPOINT_CHANGED_RENDERING, PROPERTY_TRACEPOINTS, PROPERTY_VISIBLE, PROPERTY_ZINDEX, Z_INDEX_MIN, ZINDEX_MAX
PROPERTY_ACCUMULATION_STRATEGY, PROPERTY_ACCUMULATION_STRATEGY_ACCUMULATION_FUNCTION_CHANGED
Constructor and Description |
---|
Trace2DSorted()
Defcon.
|
Modifier and Type | Method and Description |
---|---|
protected boolean |
addPointInternal(ITracePoint2D p)
In case p has an x- value already contained, the old tracepoint with that
value will be replaced by the new one.
|
Iterator<ITracePoint2D> |
descendingIterator()
Returns an
Iterator over the internal
instances in reverse order. |
int |
getMaxSize()
Returns the maximum amount of
ITracePoint2D instances that may be
added. |
int |
getSize()
Returns the amount of
ITracePoint2D instances currently contained. |
boolean |
isEmpty()
Returns false if internal
instances are
contained or true if not. |
Iterator<ITracePoint2D> |
iterator()
Returns an
Iterator over the internal
instances. |
protected void |
removeAllPointsInternal()
Override this template method for the custom remove operation that depends
on the
Collection used in the implementation. |
protected ITracePoint2D |
removePointInternal(ITracePoint2D point)
Override this template method for the custom remove operation that depends
on the internal storage the implementation.
|
addComputingTrace, addErrorBarPolicy, addPoint, addPoint, addPoint, addPointHighlighter, addPropertyChangeListener, addTracePainter, boundSearch, compareTo, containsTracePainter, ensureInitialized, finalize, firePointAdded, firePointChanged, firePointRemoved, firePropertyChange, getAccumulationStrategy, getChangeListeners, getColor, getErrorBarPolicies, getHasErrorBars, getInstanceCount, getLabel, getMaxX, getMaxY, getMinX, getMinY, getName, getNearestPointEuclid, getNearestPointManhattan, getPhysicalUnits, getPhysicalUnitsX, getPhysicalUnitsY, getPointHighlighters, getPropertyChangeListeners, getRenderer, getStroke, getTracePainters, getTracePointProvider, getZIndex, initPaintIteration, isAdditionalSpaceRequired, isPixelTransformationRequired, isVisible, iterator, maxXSearch, maxYSearch, minXSearch, minYSearch, onAdded2ChartBeforeFirstPaint, propertyChange, removeAllPointHighlighters, removeAllPoints, removeComputingTrace, removeErrorBarPolicy, removePoint, removePointHighlighter, removePropertyChangeListener, removePropertyChangeListener, removeTracePainter, setAccumulationStrategy, setColor, setErrorBarPolicy, setName, setPhysicalUnits, setPointHighlighter, setRenderer, setStroke, setTracePainter, setTracePointProvider, setVisible, setZIndex, showsErrorBars, showsNegativeXErrorBars, showsNegativeYErrorBars, showsPositiveXErrorBars, showsPositiveYErrorBars, toString
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
addComputingTrace, addErrorBarPolicy, addPoint, addPoint, addPoint, addPointHighlighter, addPropertyChangeListener, addTracePainter, containsTracePainter, firePointChanged, getColor, getErrorBarPolicies, getHasErrorBars, getLabel, getMaxX, getMaxY, getMinX, getMinY, getName, getNearestPointEuclid, getNearestPointManhattan, getPhysicalUnits, getPhysicalUnitsX, getPhysicalUnitsY, getPointHighlighters, getPropertyChangeListeners, getRenderer, getStroke, getTracePainters, getTracePointProvider, getZIndex, initPaintIteration, isAdditionalSpaceRequired, isPixelTransformationRequired, isVisible, maxXSearch, maxYSearch, minXSearch, minYSearch, onAdded2ChartBeforeFirstPaint, removeAllPointHighlighters, removeAllPoints, removeComputingTrace, removeErrorBarPolicy, removePoint, removePointHighlighter, removePropertyChangeListener, removePropertyChangeListener, removeTracePainter, setColor, setErrorBarPolicy, setName, setPhysicalUnits, setPointHighlighter, setRenderer, setStroke, setTracePainter, setTracePointProvider, setVisible, setZIndex, showsErrorBars, showsNegativeXErrorBars, showsNegativeYErrorBars, showsPositiveXErrorBars, showsPositiveYErrorBars
propertyChange
compareTo
protected TreeSet<ITracePoint2D> m_points
protected boolean addPointInternal(ITracePoint2D p)
addPointInternal
in class ATrace2D
p
- the point to add.public int getMaxSize()
ITrace2D
Returns the maximum amount of ITracePoint2D
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.
getMaxSize
in interface ITrace2D
ITracePoint2D
instances that may be
added.ITrace2D.getMaxSize()
public int getSize()
ITrace2D
ITracePoint2D
instances currently contained.
getSize
in interface ITrace2D
ITracePoint2D
instances
currently contained.ITrace2D.getSize()
public boolean isEmpty()
ITrace2D
ITracePoint2D
instances are
contained or true if not.
isEmpty
in interface ITrace2D
ITracePoint2D
instances are contained or true if not.ITrace2D.isEmpty()
public Iterator<ITracePoint2D> iterator()
ITrace2D
Iterator
over the internal
ITrace2D
instances.
Implementations should be synchronized. This method is meant to allow
modifications of the internal
instances,
so the original points should be returned.
ITracePoint2D
There is no guarantee that changes made to the contained tracepoints will
be reflected in the display immediately. The order the iterator returns the
instances decides how the
ITracePoint2D
Chart2D
will paint the trace.
iterator
in interface ITrace2D
Iterator
over the internal
ITracePoint2D
instances.ITrace2D.iterator()
public Iterator<ITracePoint2D> descendingIterator()
ITrace2D
Iterator
over the internal
ITrace2D
instances in reverse order.
Implementations should be synchronized. This method is meant to allow
modifications of the internal
instances,
so the original points should be returned.
ITracePoint2D
There is no guarantee that changes made to the contained tracepoints will
be reflected in the display immediately. The order the iterator returns the
instances decides how the
ITracePoint2D
Chart2D
will paint the trace.
descendingIterator
in interface ITrace2D
Iterator
over the internal
ITracePoint2D
instances in descending order.ITrace2D.descendingIterator()
protected void removeAllPointsInternal()
ATrace2D
Collection
used in the implementation.
No change events have to be fired, this is done by ATrace2D
.
removeAllPointsInternal
in class ATrace2D
ATrace2D.addPointInternal(info.monitorenter.gui.chart.ITracePoint2D)
protected ITracePoint2D removePointInternal(ITracePoint2D point)
ATrace2D
The returned point may be the same as the given. But some "computing"
traces like
will internally delete a different point and return that one.
Trace2DArithmeticMean
No property change events have to be fired by default. If this method
returns null
the outer logic of the calling method
will perform bound checks
for the returned point and fire property changes for the properties
ATrace2D.removePoint(ITracePoint2D)
,
ITrace2D.PROPERTY_MAX_X
,
ITrace2D.PROPERTY_MIN_X
and
ITrace2D.PROPERTY_MAX_Y
.
ITrace2D.PROPERTY_MIN_Y
In special cases - when additional modifications to the internal set of points take place (e.g. a further point get added) this method should return false (regardless whether the old point was really removed or not) and perform bound checks and fire the property changes as mentioned above "manually".
removePointInternal
in class ATrace2D
point
- the point to remove.ATrace2D.removePointInternal(info.monitorenter.gui.chart.ITracePoint2D)
Copyright © 2018. All rights reserved.