public class Trace2DLtd extends ATrace2D implements ITrace2D
ITrace2D.DistancePoint
Modifier and Type | Field and Description |
---|---|
protected IRingBuffer<ITracePoint2D> |
m_buffer
Internal fast FIFO buffer implementation based upon indexed access to an
array.
|
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 |
---|
Trace2DLtd()
Constructs an instance with a default buffer size of 100.
|
Trace2DLtd(int maxsize)
Constructs an instance with a buffersize of maxsize and a default name.
|
Trace2DLtd(int maxsize,
String name)
Constructs an instance with a buffersize of maxsize and a default name.
|
Trace2DLtd(String name)
Creates an instance with a default buffersize of 100 and the given name.
|
Modifier and Type | Method and Description |
---|---|
protected boolean |
addPointInternal(ITracePoint2D p)
Override this template method for the custom add operation that depends on
the policies of the implementation.
|
Iterator<ITracePoint2D> |
descendingIterator()
Returns an
Iterator over the internal
instances in reverse order. |
boolean |
equals(Object obj) |
int |
getMaxSize()
Returns the maximum amount of
ITracePoint2D instances that may be
added. |
int |
getSize()
Returns the acutal amount of points in this trace.
|
int |
hashCode() |
boolean |
isEmpty()
Returns false if internal
instances are
contained or true if not. |
Iterator<ITracePoint2D> |
iterator()
Returns an
Iterator over the internal
instances. |
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)
Returns null always because internally a ring buffer is used which does not
allow removing of values because that would break the contract of a ring
buffer.
|
void |
setMaxSize(int amount)
Sets the maximum amount of points that may be displayed.
|
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
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 IRingBuffer<ITracePoint2D> m_buffer
public Trace2DLtd()
public Trace2DLtd(int maxsize)
maxsize
- the buffer size for the maximum amount of points that will be
shown.public Trace2DLtd(int maxsize, String name)
maxsize
- the buffer size for the maximum amount of points that will be
shown.name
- the name that will be displayed for this trace.public Trace2DLtd(String name)
name
- the name that will be displayed for the trace.protected boolean addPointInternal(ITracePoint2D p)
ATrace2D
Override this template method for the custom add operation that depends on the policies of the implementation.
No property change events have to be fired by default. If this method
returns true
the outer logic of the calling method
will perform bound checks for
the new point and fire property changes as described in method
ATrace2D.addPoint(ITracePoint2D)
.
ATrace2D.firePointChanged(ITracePoint2D, info.monitorenter.gui.chart.ITracePoint2D.STATE, Object, Object)
In special cases - when additional modifications to the internal set of points take place (e.g. a further point gets removed) this method should return false (regardless whether the new point was accepted or not) and perform bound checks and fire the property changes as mentioned above "manually".
addPointInternal
in class ATrace2D
p
- the point to add.ATrace2D.addPointInternal(info.monitorenter.gui.chart.ITracePoint2D)
public boolean equals(Object obj)
equals
in class Object
Object.equals(java.lang.Object)
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()
getSize
in interface ITrace2D
ITrace2D.getSize()
public int hashCode()
hashCode
in class Object
Object.hashCode()
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()
public void removeAllPointsInternal()
ATrace2D
Collection
used in the implementation.
No change events have to be fired, this is done by ATrace2D
.
removeAllPointsInternal
in class ATrace2D
ITrace2D.removeAllPoints()
protected ITracePoint2D removePointInternal(ITracePoint2D point)
removePointInternal
in class ATrace2D
point
- the point to remove.public final void setMaxSize(int amount)
Don't use this too often as decreases in size may cause expensive array copy operations and new searches on all points for bound changes.
TODO: Only search for bounds if size is smaller than before, debug and test.
amount
- the new maximum amount of points to show.Copyright © 2018. All rights reserved.