@Override
protected void drawPrimaryLineAsPath(XYItemRendererState state,
Graphics2D g2, XYPlot plot, XYDataset dataset, int pass,
int series, int item, ValueAxis domainAxis, ValueAxis rangeAxis,
Rectangle2D dataArea) {
RectangleEdge xAxisLocation = plot.getDomainAxisEdge();
RectangleEdge yAxisLocation = plot.getRangeAxisEdge();
double x1 = dataset.getXValue(series, item);
double y1 = dataset.getYValue(series, item);
double transX1 = domainAxis.valueToJava2D(x1, dataArea, xAxisLocation);
double transY1 = rangeAxis.valueToJava2D(y1, dataArea, yAxisLocation);
State s = (State) state;
if (!Double.isNaN(transX1) && !Double.isNaN(transY1)) {
this.points.add(new Point2D.Double(transX1, transY1));
}
if (item == s.getLastItemIndex()) {
List<Point2D> pts = this.getCurvePoints();
s.seriesPath.moveTo(pts.get(0).getX(), pts.get(0).getY());
for (int i = 1; i < pts.size(); i++) {
final Point2D p = pts.get(i);
s.seriesPath.lineTo(p.getX(), p.getY());
}
drawFirstPassShape(g2, pass, series, item, s.seriesPath);
this.points.clear();
}
}