Package org.opensourcephysics.display
Class TrailSmart
java.lang.Object
org.opensourcephysics.display.AbstractTrail
org.opensourcephysics.display.TrailBezier
org.opensourcephysics.display.TrailSmart
- All Implemented Interfaces:
Drawable
,Measurable
TrailSmart adds points to a Bezier trail only if the new point deviates from a straight line.
The smart trail algorithm minimizes the number of points drawn.
- Version:
- 1.0
- Author:
- Wolfgang Christian
-
Field Summary
Fields inherited from class org.opensourcephysics.display.AbstractTrail
closed, color, drawingStroke, enableMeasure, numpts, xmax, xmaxLogscale, xmin, xminLogscale, ymax, ymaxLogscale, ymin, yminLogscale
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addPoint
(double x, double y) Adds a point to the trail.protected void
drawPathEnd
(DrawingPanel panel, Graphics2D g2) Draws the points that have not yet been added to the Bezier spline.double
getXMax()
Gets the maximum x value in the trail.double
getXMin()
Gets the minimum x value in the trail.double
getYMax()
Gets the maximum y value in the trail.double
getYMin()
Gets the minimum y value in the trail.void
setMaxError
(double max) Sets the maximum error.Methods inherited from class org.opensourcephysics.display.TrailBezier
clear, closeTrail, draw, getLoader, isMeasured, setSlack
Methods inherited from class org.opensourcephysics.display.AbstractTrail
getNumberOfPoints, getStroke, getXMaxLogscale, getXMinLogscale, getYMaxLogscale, getYMinLogscale, setDashedStroke, setMeasured, setStroke
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.opensourcephysics.display.Drawable
isInteractive
-
Constructor Details
-
TrailSmart
public TrailSmart()
-
-
Method Details
-
setMaxError
public void setMaxError(double max) Sets the maximum error.- Parameters:
max
- double
-
addPoint
public void addPoint(double x, double y) Adds a point to the trail.- Overrides:
addPoint
in classTrailBezier
- Parameters:
x
- doubley
- double
-
drawPathEnd
Draws the points that have not yet been added to the Bezier spline.- Parameters:
panel
- DrawingPanelg2
- Graphics2D
-
getXMin
public double getXMin()Gets the minimum x value in the trail.- Specified by:
getXMin
in interfaceMeasurable
- Overrides:
getXMin
in classTrailBezier
- Returns:
- double
-
getXMax
public double getXMax()Gets the maximum x value in the trail.- Specified by:
getXMax
in interfaceMeasurable
- Overrides:
getXMax
in classTrailBezier
- Returns:
- double
-
getYMin
public double getYMin()Gets the minimum y value in the trail.- Specified by:
getYMin
in interfaceMeasurable
- Overrides:
getYMin
in classTrailBezier
- Returns:
- double
-
getYMax
public double getYMax()Gets the maximum y value in the trail.- Specified by:
getYMax
in interfaceMeasurable
- Overrides:
getYMax
in classTrailBezier
- Returns:
- double
-