felix@1791: package de.intevation.flys.exports; felix@1791: felix@1791: import org.apache.log4j.Logger; felix@1791: felix@1791: import org.jfree.data.xy.XYSeries; felix@1791: felix@1791: import de.intevation.flys.artifacts.model.WKms; felix@1791: import de.intevation.flys.artifacts.model.WQKms; felix@1791: felix@1791: /** felix@1791: * Helper to create and modify StyledXYSeries. felix@1791: */ felix@1791: public class StyledSeriesBuilder { felix@1791: felix@2571: private static final Logger logger = Logger.getLogger felix@2571: (StyledSeriesBuilder.class); felix@1791: felix@1791: felix@1791: /** felix@1791: * Trivial, hidden constructor. felix@1791: */ sascha@1886: private StyledSeriesBuilder() { sascha@1886: } felix@1791: felix@1791: felix@1791: /** felix@1791: * Add points to series. felix@1791: * felix@1791: * @param series Series to add points to. felix@1791: * @param points Points to add to series, points[0] to 1st dim, points[1] felix@1791: * to 2nd dim. felix@1791: */ felix@1791: public static void addPoints(XYSeries series, double[][] points) { felix@1983: if (points == null || points.length <= 1) { felix@1975: return; felix@1975: } felix@1791: double [] xPoints = points[0]; felix@1791: double [] yPoints = points[1]; felix@1791: for (int i = 0; i < xPoints.length; i++) { felix@2571: if (Double.isNaN(xPoints[i]) || Double.isNaN(yPoints[i])) { felix@2571: logger.warn ("Skipping NaN in StyledSeriesBuilder."); felix@2571: continue; felix@2571: } felix@1791: series.add(xPoints[i], yPoints[i], false); felix@1791: } felix@1791: } felix@1791: felix@1791: felix@1791: /** felix@1791: * Add points to series (km to 1st dim, w to 2nd dim). felix@1791: * felix@1791: * @param series Series to add points to. felix@1791: * @param points Points to add to series. felix@1791: */ felix@1791: public static void addPoints(XYSeries series, WKms wkms) { felix@2156: if (wkms == null) { felix@2156: return; felix@2156: } felix@2156: felix@1791: int size = wkms.size(); felix@1791: felix@1791: for (int i = 0; i < size; i++) { felix@1791: series.add(wkms.getKm(i), wkms.getW(i), false); felix@1791: } felix@1791: } felix@1791: felix@1812: felix@1791: /** felix@1942: * Add points to series (km to 1st dim, q to 2nd dim). felix@1791: * felix@1791: * @param series Series to add points to. felix@1791: * @param points Points to add to series. felix@1791: */ felix@1791: public static void addPointsKmQ(XYSeries series, WQKms wqkms) { felix@2156: if (wqkms == null) { felix@2156: return; felix@2156: } felix@1791: felix@2156: int size = wqkms.size(); felix@2156: felix@2156: for (int i = 0; i < size; i++) { felix@2156: series.add(wqkms.getKm(i), wqkms.getQ(i), false); felix@2156: } felix@1791: } felix@1812: felix@1812: felix@1812: /** felix@1812: * Add points to series (q to 1st dim, w to 2nd dim). felix@1812: * felix@1812: * @param series Series to add points to. felix@1812: * @param points Points to add to series. felix@1812: */ felix@1812: public static void addPointsQW(XYSeries series, WQKms wqkms) { felix@2156: if (wqkms == null) { felix@2156: return; felix@2156: } felix@2156: felix@1812: int size = wqkms.size(); felix@1812: felix@1812: for (int i = 0; i < size; i++) { felix@1812: series.add(wqkms.getQ(i), wqkms.getW(i)); felix@1812: } felix@1812: } felix@1791: } felix@1791: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :