/** * Looks for the element of the given abscissa and sets its value to ordiante. If there is no * points existing with the given abcisssa, adds a point (abscissa, ordinate) to the signal. * (actually, this method does the exact same thing as addElement). * * @param abscissa abscissa of the considered point * @param ordinate value to add or update in the signal */ public void setElement(double abscissa, double ordinate) { int index = data.indexOf(abscissa); if (index < 0) { data.add(abscissa, ordinate); } else { data.updateByIndex(index, ordinate); } }
/** * Returns <code>true</code> if all the y-values for the specified x-value are <code>null</code> * and <code>false</code> otherwise. * * @param x the x-value. * @return A boolean. */ protected boolean canPrune(Number x) { for (int s = 0; s < this.data.size(); s++) { XYSeries series = (XYSeries) this.data.get(s); if (series.getY(series.indexOf(x)) != null) { return false; } } return true; }
/** * Returns the value (the ordianate) of a point given its abscissa. * * @param abscissa abscissa of the considered point * @return return the value of the considered point (returns -1 if there is no points with the * given abscissa in the signal). */ public double getValueOfAbscissa(double abscissa) { int isInSeries = data.indexOf(abscissa); if (isInSeries >= 0) { return data.getY(isInSeries).doubleValue(); } else { System.out.println("There is no point whith the abscissa " + abscissa + " in the signal.\n"); return -1; } }
/** * Returns the index of a point (abscissa, value) in the signal. Returns -1 if there is no point * of the given abscissa in the signal. * * @param abscissa abscissa of the point to look for * @return the index in the signal if such a point exists, -1 otherwise. */ public int indexOf(double abscissa) { return data.indexOf(abscissa); }
/** * Check if a point of abscissa abscissa is already in the signal * * @param abscissa abscissa of the point (abscissa, value) to look for * @return true if there exists a point of the given abscissa in the signal, false otherwise */ public boolean isInSeries(double abscissa) { return (data.indexOf(abscissa) > 0); }