Class TracePoint2D
- All Implemented Interfaces:
ITracePoint2D,Serializable,Cloneable,Comparable<ITracePoint2D>
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.
- Version:
- $Revision: 1.34 $
- Author:
- Achim Westermann Achim.Westermann@gmx.de
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class java.awt.geom.Point2D
Point2D.Double, Point2D.Float -
Field Summary
Fields inherited from class java.awt.geom.Point2D.Double
x, yFields inherited from interface info.monitorenter.gui.chart.ITracePoint2D
STATE_ADDED, STATE_CHANGED, STATE_REMOVED -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedIntended foronly.TracePointProviderDefaultTracePoint2D(double xValue, double yValue) Construct a TracePoint2D whose coords are initalized to (x,y). -
Method Summary
Modifier and TypeMethodDescriptionfinal booleanaddAdditionalPointPainter(IPointPainter<?> additionalPointPainter) Adds a point painter that additionally (to the pointer painters of the trace ()) paint this point.ITrace2D.getTracePainters()clone()Returns a cloned instance (deep copy).intcompareTo(ITracePoint2D obj) booleanfinal Set<IPointPainter<?>>Returns the point painter that additionally (to the trace painter of the chart) paint this point.doublegetEuclidDistance(double xNormalized, double yNormalized) Returns the Euclid distance of this point's normalized values () to the given normalized coordinates.ITracePoint2D.getScaledX(),ITracePoint2D.getScaledY()Returns the listener trace connected to this trace point.doublegetManhattanDistance(double xNormalized, double yNormalized) Returns the Manhattan distance of this point's normalized values () to the given normalized coordinates.ITracePoint2D.getScaledX(),ITracePoint2D.getScaledY()doubleReturns the Manhattan distance of this point to the given one.final doublefinal doubledoublegetX()Returns the x value.doublegetY()Returns the y value.inthashCode()booleanremoveAdditionalPointPainter(IPointPainter<?> pointPainter) Removes a point painter that additionally (to the pointer painters of the trace ()) paint this point.ITrace2D.getTracePainters()Set<IPointPainter<?>>Removes all point painters that additionally (to the pointer painters of the trace ()) paint this point.ITrace2D.getTracePainters()voidsetListener(ITrace2D listener) AllowsITrace2Dinstances to register (or de-register) themselves with this point to receive (or stop receiving) change information viaITrace2D.firePointChanged(ITracePoint2D, int)events.voidsetLocation(double xValue, double yValue) This method overloads the method ofjava.awt.geom.Point2D.Doubleto fire a property change event to listeners of the correspondinginstances via their methodITrace2D(with int argument set toITrace2D.firePointChanged(ITracePoint2D, int)).ITracePoint2D.STATE_CHANGEDfinal voidsetScaledX(double scaledX) Only intended for Chart2D!!!.final voidsetScaledY(double scaledY) Only intended for Chart2D!!!.toString()Methods inherited from class java.awt.geom.Point2D
distance, distance, distance, distanceSq, distanceSq, distanceSq, setLocation
-
Constructor Details
-
TracePoint2D
protected TracePoint2D()Intended foronly.TracePointProviderDefault -
TracePoint2D
public TracePoint2D(double xValue, double yValue) Construct a TracePoint2D whose coords are initalized to (x,y).- Parameters:
xValue- the x value to use.yValue- the y value to use.
-
-
Method Details
-
addAdditionalPointPainter
Description copied from interface:ITracePoint2DAdds a point painter that additionally (to the pointer painters of the trace ()) paint this point.ITrace2D.getTracePainters()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 useandITrace2D.addPointHighlighter(IPointPainter)Chart2D.enablePointHighlighting(boolean).- Specified by:
addAdditionalPointPainterin interfaceITracePoint2D- Parameters:
additionalPointPainter- a point painter that will additionally (to the trace painter of the chart) paint this point.- Returns:
- true if this point painter was accepted (not contained before by
the means of
.Comparable.compareTo(Object) - See Also:
-
clone
Description copied from interface:ITracePoint2DReturns a cloned instance (deep copy).- Specified by:
clonein interfaceITracePoint2D- Overrides:
clonein classPoint2D- Returns:
- a cloned instance (deep copy)
- See Also:
-
compareTo
- Specified by:
compareToin interfaceComparable<ITracePoint2D>- See Also:
-
info.monitorenter.gui.chart.ITracePoint2D#compareTo(info.monitorenter.gui.chart.ITracePoint2D)
-
equals
-
getAdditionalPointPainters
Description copied from interface:ITracePoint2DReturns the point painter that additionally (to the trace painter of the chart) paint this point.The original list is returned so painters may be added or removed (even all painters may be cleared).
- Specified by:
getAdditionalPointPaintersin interfaceITracePoint2D- Returns:
- the point painters that additionally (to the trace painter of the chart) paint this point.
- See Also:
-
getEuclidDistance
public double getEuclidDistance(double xNormalized, double yNormalized) Description copied from interface:ITracePoint2DReturns the Euclid distance of this point's normalized values () to the given normalized coordinates.ITracePoint2D.getScaledX(),ITracePoint2D.getScaledY()- Specified by:
getEuclidDistancein interfaceITracePoint2D- Parameters:
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.- Returns:
- the Euclid distance of this point's normalized values (
) to the given normalized coordinates.ITracePoint2D.getScaledX(),ITracePoint2D.getScaledY() - See Also:
-
getListener
Description copied from interface:ITracePoint2DReturns the listener trace connected to this trace point.- Specified by:
getListenerin interfaceITracePoint2D- Returns:
- the listener trace connected to this trace point.
- See Also:
-
getManhattanDistance
public double getManhattanDistance(double xNormalized, double yNormalized) Description copied from interface:ITracePoint2DReturns the Manhattan distance of this point's normalized values () to the given normalized coordinates.ITracePoint2D.getScaledX(),ITracePoint2D.getScaledY()- Specified by:
getManhattanDistancein interfaceITracePoint2D- Parameters:
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.- Returns:
- the Manhattan distance of this point's normalized values (
) to the given normalized coordinates.ITracePoint2D.getScaledX(),ITracePoint2D.getScaledY() - See Also:
-
getManhattanDistance
Description copied from interface:ITracePoint2DReturns the Manhattan distance of this point to the given one.- Specified by:
getManhattanDistancein interfaceITracePoint2D- Parameters:
point- the point to measure the Manhattan distance to.- Returns:
- the Manhattan distance of this point to the given one.
- See Also:
-
getScaledX
public final double getScaledX()- Specified by:
getScaledXin interfaceITracePoint2D- Returns:
- the scaledX.
- See Also:
-
getScaledY
public final double getScaledY()- Specified by:
getScaledYin interfaceITracePoint2D- Returns:
- the scaledY.
- See Also:
-
getX
public double getX()Description copied from interface:ITracePoint2DReturns the x value.- Specified by:
getXin interfaceITracePoint2D- Overrides:
getXin classPoint2D.Double- Returns:
- the x value.
- See Also:
-
getY
public double getY()Description copied from interface:ITracePoint2DReturns the y value.- Specified by:
getYin interfaceITracePoint2D- Overrides:
getYin classPoint2D.Double- Returns:
- the y value.
- See Also:
-
hashCode
public int hashCode() -
setListener
Description copied from interface:ITracePoint2DAllowsITrace2Dinstances to register (or de-register) themselves with this point to receive (or stop receiving) change information viaITrace2D.firePointChanged(ITracePoint2D, int)events.- Specified by:
setListenerin interfaceITracePoint2D- Parameters:
listener- The instance that will be informed about changes or null to deregister.- See Also:
-
setLocation
public void setLocation(double xValue, double yValue) Description copied from interface:ITracePoint2DThis method overloads the method ofjava.awt.geom.Point2D.Doubleto fire a property change event to listeners of the correspondinginstances via their methodITrace2D(with int argument set toITrace2D.firePointChanged(ITracePoint2D, int)).ITracePoint2D.STATE_CHANGED- Specified by:
setLocationin interfaceITracePoint2D- Overrides:
setLocationin classPoint2D.Double- Parameters:
xValue- the new x-coordinate for this point.yValue- the new y-coordinate for this point.- See Also:
-
setScaledX
public final void setScaledX(double scaledX) Description copied from interface:ITracePoint2DOnly intended for Chart2D!!!.- Specified by:
setScaledXin interfaceITracePoint2D- Parameters:
scaledX- the scaledX to set- See Also:
-
setScaledY
public final void setScaledY(double scaledY) Description copied from interface:ITracePoint2DOnly intended for Chart2D!!!.- Specified by:
setScaledYin interfaceITracePoint2D- Parameters:
scaledY- the scaledY to set- See Also:
-
toString
- Overrides:
toStringin classPoint2D.Double- See Also:
-
info.monitorenter.gui.chart.ITracePoint2D#toString()
-
removeAdditionalPointPainter
Description copied from interface:ITracePoint2DRemoves a point painter that additionally (to the pointer painters of the trace ()) paint this point.ITrace2D.getTracePainters()- Specified by:
removeAdditionalPointPainterin interfaceITracePoint2D- Parameters:
pointPainter- a point painter that currently is used to additionally (to the trace painter of the chart) paint this point.- Returns:
- true if this point painter was removed (contained before by the
means of
.Comparable.compareTo(Object) - See Also:
-
removeAllAdditionalPointPainters
Description copied from interface:ITracePoint2DRemoves all point painters that additionally (to the pointer painters of the trace ()) paint this point.ITrace2D.getTracePainters()- Specified by:
removeAllAdditionalPointPaintersin interfaceITracePoint2D- Returns:
- all instances that were used before this call.
- See Also:
-