|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.awt.geom.Point2D java.awt.geom.Point2D.Double info.monitorenter.gui.chart.TracePoint2D
public class TracePoint2D
A specialized version of java.awt.Point2D.Double
who carries two further values: double scaledX
and
double scaledY
which allow the Chart2D
to cache the scaled values (between 0.0 and 1.0) without having to keep
a copy of the aggregators (ITrace2D
) complete tracepoints.
This avoids the necessity to care for the correct order of a set of scaled tracepoints copied for caching purposes. Especially in the
case of new TracePoint2D
instances added to a ITrace2D
instance managed by a Chart2D
there remains
no responsibility for sorting the cached copy. This allows that the managing Chart2D
may just rescale the newly added
tracepoint instead of searching for the correct order of the new tracepoint by value - comparisons of x and y: The
TracePoint2D
passed to the method traceChanged(Chart2DDataChangeEvent e)
coded in the argument is the original.
Why caching of scaled values for the coordinates?
This takes more RAM but else for every repaint()
invocation of the Chart2D
would force all tracepoints of all
traces to be rescaled again.
A TracePoint2D will inform it's listener of type ITrace
on changes of the internal values.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class java.awt.geom.Point2D |
---|
java.awt.geom.Point2D.Double, java.awt.geom.Point2D.Float |
Field Summary |
---|
Fields inherited from class java.awt.geom.Point2D.Double |
---|
x, y |
Fields inherited from interface info.monitorenter.gui.chart.ITracePoint2D |
---|
STATE_ADDED, STATE_CHANGED, STATE_REMOVED |
Constructor Summary | |
---|---|
protected |
TracePoint2D()
Intended for only. |
|
TracePoint2D(double xValue,
double yValue)
Construct a TracePoint2D whose coords are initalized to (x,y). |
Method Summary | |
---|---|
boolean |
addAdditionalPointPainter(IPointPainter<?> additionalPointPainter)
Adds a point painter that additionally (to the pointer painters of the trace ( )) paint this
point. |
java.lang.Object |
clone()
Returns a cloned instance (deep copy). |
int |
compareTo(ITracePoint2D obj)
|
boolean |
equals(java.lang.Object obj)
|
java.util.Set<IPointPainter<?>> |
getAdditionalPointPainters()
Returns the point painter that additionally (to the trace painter of the chart) paint this point. |
double |
getEuclidDistance(double xNormalized,
double yNormalized)
Returns the Euclid distance of this point's normalized values ( ) to the given
normalized coordinates. |
ITrace2D |
getListener()
Returns the listener trace connected to this trace point. |
double |
getManhattanDistance(double xNormalized,
double yNormalized)
Returns the Manhattan distance of this point's normalized values ( ) to the given
normalized coordinates. |
double |
getManhattanDistance(ITracePoint2D point)
Returns the Manhattan distance of this point to the given one. |
double |
getScaledX()
|
double |
getScaledY()
|
double |
getX()
Returns the x value. |
double |
getY()
Returns the y value. |
int |
hashCode()
|
boolean |
removeAdditionalPointPainter(IPointPainter<?> pointPainter)
Removes a point painter that additionally (to the pointer painters of the trace ( )) paint this
point. |
java.util.Set<IPointPainter<?>> |
removeAllAdditionalPointPainters()
Removes all point painters that additionally (to the pointer painters of the trace ( )) paint this
point. |
void |
setListener(ITrace2D listener)
Allows ITrace2D instances to register (or de-register)
themselves with this point to receive (or stop receiving) change
information via ITrace2D.firePointChanged(ITracePoint2D, int)
events. |
void |
setLocation(double xValue,
double yValue)
This method overloads the method of java.awt.geom.Point2D.Double to fire a property change event
to listeners of the corresponding instances
via their method
(with
int argument set to ). |
void |
setScaledX(double scaledX)
Only intended for Chart2D!!!. |
void |
setScaledY(double scaledY)
Only intended for Chart2D!!!. |
java.lang.String |
toString()
|
Methods inherited from class java.awt.geom.Point2D |
---|
distance, distance, distance, distanceSq, distanceSq, distanceSq, setLocation |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
protected TracePoint2D()
TracePointProviderDefault
only.
public TracePoint2D(double xValue, double yValue)
xValue
- the x value to use.yValue
- the y value to use.Method Detail |
---|
public final boolean addAdditionalPointPainter(IPointPainter<?> additionalPointPainter)
ITracePoint2D
ITrace2D.getTracePainters()
)) paint this
point.
No clone will be taken. Outside modifications of the argument later on will also affect this instances state!
Caution! This is a low level mechanism that is also used by the
highlighting mechanism. It is being utilized by the
which will
use some mouse motion listener to remove outdated highlighters and add
highlighters to the new point in focus by taking the highlighter configured
in the trace. Chart2D.enablePointHighlighting(boolean)
So to use point highlighting for traces you should not re-program it at
this level but just use
and
ITrace2D.addPointHighlighter(IPointPainter)
Chart2D.enablePointHighlighting(boolean)
.
addAdditionalPointPainter
in interface ITracePoint2D
additionalPointPainter
- a point painter that will additionally (to the trace painter of
the chart) paint this point.
Comparable.compareTo(Object)
.ITracePoint2D.addAdditionalPointPainter(info.monitorenter.gui.chart.IPointPainter)
public java.lang.Object clone()
ITracePoint2D
clone
in interface ITracePoint2D
clone
in class java.awt.geom.Point2D
ITracePoint2D.clone()
public int compareTo(ITracePoint2D obj)
compareTo
in interface java.lang.Comparable<ITracePoint2D>
info.monitorenter.gui.chart.ITracePoint2D#compareTo(info.monitorenter.gui.chart.ITracePoint2D)
public boolean equals(java.lang.Object obj)
equals
in class java.awt.geom.Point2D
Point2D.equals(java.lang.Object)
public final java.util.Set<IPointPainter<?>> getAdditionalPointPainters()
ITracePoint2D
The original list is returned so painters may be added or removed (even all painters may be cleared).
getAdditionalPointPainters
in interface ITracePoint2D
ITracePoint2D.getAdditionalPointPainters()
public double getEuclidDistance(double xNormalized, double yNormalized)
ITracePoint2D
ITracePoint2D.getScaledX()
, ITracePoint2D.getScaledY()
) to the given
normalized coordinates.
getEuclidDistance
in interface ITracePoint2D
xNormalized
- the normalized x coordinate between 0 and 1.0 to measure the
Euclid distance to.yNormalized
- the normalized y coordinate between 0 and 1.0 to measure the
Euclid distance to.
ITracePoint2D.getScaledX()
, ITracePoint2D.getScaledY()
) to the given
normalized coordinates.ITracePoint2D.getEuclidDistance(double, double)
public ITrace2D getListener()
ITracePoint2D
getListener
in interface ITracePoint2D
ITracePoint2D.getListener()
public double getManhattanDistance(double xNormalized, double yNormalized)
ITracePoint2D
ITracePoint2D.getScaledX()
, ITracePoint2D.getScaledY()
) to the given
normalized coordinates.
getManhattanDistance
in interface ITracePoint2D
xNormalized
- the normalized x coordinate between 0 and 1.0 to measure the
Manhattan distance to.yNormalized
- the normalized y coordinate between 0 and 1.0 to measure the
Manhattan distance to.
ITracePoint2D.getScaledX()
, ITracePoint2D.getScaledY()
) to the given
normalized coordinates.ITracePoint2D.getManhattanDistance(double, double)
public double getManhattanDistance(ITracePoint2D point)
ITracePoint2D
getManhattanDistance
in interface ITracePoint2D
point
- the point to measure the Manhattan distance to.
ITracePoint2D.getManhattanDistance(info.monitorenter.gui.chart.ITracePoint2D)
public final double getScaledX()
getScaledX
in interface ITracePoint2D
ITracePoint2D.getScaledX()
public final double getScaledY()
getScaledY
in interface ITracePoint2D
ITracePoint2D.getScaledY()
public double getX()
ITracePoint2D
getX
in interface ITracePoint2D
getX
in class java.awt.geom.Point2D.Double
ITracePoint2D.getX()
public double getY()
ITracePoint2D
getY
in interface ITracePoint2D
getY
in class java.awt.geom.Point2D.Double
ITracePoint2D.getY()
public int hashCode()
hashCode
in class java.awt.geom.Point2D
Point2D.hashCode()
public void setListener(ITrace2D listener)
ITracePoint2D
ITrace2D
instances to register (or de-register)
themselves with this point to receive (or stop receiving) change
information via ITrace2D.firePointChanged(ITracePoint2D, int)
events.
setListener
in interface ITracePoint2D
listener
- The instance that will be informed about changes or null to
deregister.ITracePoint2D.setListener(info.monitorenter.gui.chart.ITrace2D)
public void setLocation(double xValue, double yValue)
ITracePoint2D
java.awt.geom.Point2D.Double
to fire a property change event
to listeners of the corresponding ITrace2D
instances
via their method
ITrace2D.firePointChanged(ITracePoint2D, int)
(with
int argument set to ITracePoint2D.STATE_CHANGED
).
setLocation
in interface ITracePoint2D
setLocation
in class java.awt.geom.Point2D.Double
xValue
- the new x-coordinate for this point.yValue
- the new y-coordinate for this point.ITracePoint2D.setLocation(double, double)
public final void setScaledX(double scaledX)
ITracePoint2D
setScaledX
in interface ITracePoint2D
scaledX
- the scaledX to setITracePoint2D.setScaledX(double)
public final void setScaledY(double scaledY)
ITracePoint2D
setScaledY
in interface ITracePoint2D
scaledY
- the scaledY to setITracePoint2D.setScaledY(double)
public java.lang.String toString()
toString
in class java.awt.geom.Point2D.Double
info.monitorenter.gui.chart.ITracePoint2D#toString()
public boolean removeAdditionalPointPainter(IPointPainter<?> pointPainter)
ITracePoint2D
ITrace2D.getTracePainters()
)) paint this
point.
removeAdditionalPointPainter
in interface ITracePoint2D
pointPainter
- a point painter that currently is used to additionally (to the
trace painter of the chart) paint this point.
Comparable.compareTo(Object)
.ITracePoint2D.removeAdditionalPointPainter(info.monitorenter.gui.chart.IPointPainter)
public java.util.Set<IPointPainter<?>> removeAllAdditionalPointPainters()
ITracePoint2D
ITrace2D.getTracePainters()
)) paint this
point.
removeAllAdditionalPointPainters
in interface ITracePoint2D
ITracePoint2D.removeAllAdditionalPointPainters()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |