/*
VisAD system for interactive analysis and visualization of numerical
data.  Copyright (C) 1996 - 2017 Bill Hibbard, Curtis Rueden, Tom
Rink, Dave Glowacki, Steve Emmerson, Tom Whittaker, Don Murray, and
Tommy Jasmin.

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Library General Public License for more details.

You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
MA 02111-1307, USA
*/

package visad.data.dods;

import dods.dap.*;
import java.rmi.RemoteException;
import visad.*;
import visad.data.*;

/**
 * Provides support for accessing a DODS primitive vector as a VisAD {@link
 * visad.data.FileFlatField}.
 *
 * 

Instances are immutable.

* * @author Steven R. Emmerson */ public class VectorAccessor extends FileAccessor { private final FunctionType funcType; private final VectorAdapter vectorAdapter; private final SampledSet domain; private final PrimitiveVector vector; /** * Constructs from a function-type, a vector adapter, a domain and a DODS * primitive vector. * * @param funcType The function-type for the FlatField. * @param vectorAdapter The vector adapter corresponding to the DODS * primitive vector. * @param domain The domain for the FileFlatField. * @param vector The DODS primitive vector. */ public VectorAccessor( FunctionType funcType, VectorAdapter vectorAdapter, SampledSet domain, PrimitiveVector vector) { this.funcType = funcType; this.vectorAdapter = vectorAdapter; this.domain = domain; this.vector = vector; } /* * Returns the VisAD {@link FunctionType} of this instance. * * @return The FunctionType of this instance. */ public FunctionType getFunctionType() { return funcType; } /** * Returns a VisAD {@link FlatField} corresponding to this instance. * * @return A FlatField corresponding to the * construction arguments. * @throws VisADException VisAD failure. * @throws RemoteException Java RMI failure. */ public FlatField getFlatField() throws VisADException, RemoteException { FlatField field = new FlatField( funcType, domain, (CoordinateSystem[])null, vectorAdapter.getRepresentationalSets(false), (Unit[])null); vectorAdapter.setField(vector, field, false); return field; } /** * Throws a VisADError. * * @param values Some values. * @param template A template FlatField. * @param fileLocation An array of positional parameters. * @throws VisADError This method does nothing and should not * have been invoked. Always thrown. */ public void writeFlatField( double[][] values, FlatField template, int[] fileLocation) { throw new VisADError( getClass().getName() + ".writeFlatField(...): " + "Unimplemented method"); } /** * Throws a VisADError. * * @param template A template FlatField. * @param fileLocation An array of positional parameters. * @return null. * @throws VisADError This method does nothing and should not * have been invoked. Always thrown. */ public double[][] readFlatField(FlatField template, int[] fileLocation) { throw new VisADError( getClass().getName() + ".readFlatField(...): " + "Unimplemented method"); } /** * Throws a VisADError. * * @param fileLocation An array of positional parameters. * @param range The range of a FlatField. * @throws VisADError This method does nothing and should not * have been invoked. Always thrown. */ public void writeFile(int[] fileLocation, Data range) { throw new VisADError( getClass().getName() + ".writeFile(...): " + "Unimplemented method"); } }

Ads help maintain this website.