1 /* ============================================================ 2 * JRobin : Pure java implementation of RRDTool's functionality 3 * ============================================================ 4 * 5 * Project Info: http://www.jrobin.org 6 * Project Lead: Sasa Markovic (saxon@jrobin.org) 7 * 8 * Developers: Sasa Markovic (saxon@jrobin.org) 9 * 10 * 11 * (C) Copyright 2003-2005, by Sasa Markovic. 12 * 13 * This library is free software; you can redistribute it and/or modify it under the terms 14 * of the GNU Lesser General Public License as published by the Free Software Foundation; 15 * either version 2.1 of the License, or (at your option) any later version. 16 * 17 * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 18 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 19 * See the GNU Lesser General Public License for more details. 20 * 21 * You should have received a copy of the GNU Lesser General Public License along with this 22 * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, 23 * Boston, MA 02111-1307, USA. 24 */ 25 package org.jrobin.graph; 26 27 class PathIterator { 28 private double[] y; 29 private int pos = 0; 30 31 PathIterator(double[] y) { 32 this.y = y; 33 } 34 35 int[] getNextPath() { 36 while (pos < y.length) { 37 if (Double.isNaN(y[pos])) { 38 pos++; 39 } 40 else { 41 int endPos = pos + 1; 42 while (endPos < y.length && !Double.isNaN(y[endPos])) { 43 endPos++; 44 } 45 int[] result = {pos, endPos}; 46 pos = endPos; 47 if (result[1] - result[0] >= 2) { 48 return result; 49 } 50 } 51 } 52 return null; 53 } 54 }