/** * Gets the contour levels given a data range. * * @param minimum The minimum data value. Must be a finite value. * @param maximum The maximum data value. Must be a finite value. * @return Contour levels appropriate for the given data range. No contour level will lie outside * the range. The levels will be ordered by increasing value. * @throws VisADException Invalid range extrema or VisAD failure. */ public synchronized float[] getLevels(float minimum, float maximum) throws VisADException { if (Float.isInfinite(minimum) || Float.isNaN(minimum) || Float.isInfinite(maximum) || Float.isNaN(maximum)) { throw new VisADException( getClass().getName() + ".getLevels(float,float): " + "Invalid range extrema (max or min is infinite or NaN)"); } float base = getBase(); return visad.Contour2D.intervalToLevels(interval, minimum, maximum, base, new boolean[1]); }
/** * Sets a VisAD ContourControl. * * @param control The VisAD ContourControl to be set by this object. * @param minimum The minimum value. Shall be a finite value. * @param maximum The maximum value. Shall be a finite value. * @throws VisADException Invalid range extrema or VisAD failure. * @throws RemoteException Java RMI failure. */ public synchronized void setControl(ContourControl control, float minimum, float maximum) throws VisADException, RemoteException { if (Float.isInfinite(minimum) || Float.isNaN(minimum) || Float.isInfinite(maximum) || Float.isNaN(maximum)) { throw new VisADException( getClass().getName() + ".setControl(ContourControl,float,float): " + "Invalid range extrema (max or min is infinite or NaN)"); } // control.setContourInterval(interval, minimum, maximum, getBase()); control.setLevels( visad.Contour2D.intervalToLevels(interval, minimum, maximum, getBase(), new boolean[1]), getBase(), dash); }