Go to the documentation of this file.
36 #ifndef vtkNetCDFCFReader_h
37 #define vtkNetCDFCFReader_h
39 #include "vtkIONetCDFModule.h"
63 vtkGetMacro(SphericalCoordinates,
int);
80 vtkGetMacro(VerticalScale,
double);
82 vtkGetMacro(VerticalBias,
double);
94 vtkGetMacro(OutputType,
int);
146 const char *
GetName()
const {
return this->Name.c_str(); }
161 return this->SpecialVariables;
174 class vtkDimensionInfoVector;
175 friend class vtkDimensionInfoVector;
187 return this->GridDimensions;
190 return this->LongitudeCoordinates;
193 return this->LatitudeCoordinates;
196 return this->SpecialVariables;
213 class vtkDependentDimensionInfoVector;
214 friend class vtkDependentDimensionInfoVector;
240 COORDS_SPHERICAL_PSIDED_CELLS
326 #endif //vtkNetCDFCFReader_h
represent and manipulate 3D points
void AddRectilinearCoordinates(vtkRectilinearGrid *rectilinearOutput)
vtkDependentDimensionInfo()
int LoadUnstructuredBoundsVariable(int ncFD, int varId, vtkDoubleArray *coords)
void Add1DRectilinearCoordinates(vtkStructuredGrid *structuredOutput)
vtkDimensionInfoVector * DimensionInfo
void Add2DRectilinearCoordinates(vtkPoints *points, const int extent[6])
static int CanReadFile(const char *filename)
Returns true if the given file can be read.
vtkDimensionInfo * GetDimensionInfo(int dimension)
void SetOutputTypeToUnstructured()
void Add1DRectilinearCoordinates(vtkPoints *points, const int extent[6])
vtkSmartPointer< vtkDoubleArray > Bounds
void SetOutputTypeToStructured()
vtkSmartPointer< vtkDoubleArray > GetLongitudeCoordinates() const
a dataset that is topologically regular with variable spacing in the three coordinate directions
int LoadMetaData(int ncFD)
A superclass for reading netCDF files.
virtual bool DimensionsAreForPointData(vtkIntArray *dimensions)
Returns false for spherical dimensions, which should use cell data.
virtual int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
topologically regular array of data
Reads netCDF files that follow the CF convention.
vtkSmartPointer< vtkStringArray > SpecialVariables
void Add1DSphericalCoordinates(vtkUnstructuredGrid *unstructuredOutput, const int extent[6])
virtual vtkSmartPointer< vtkDoubleArray > GetTimeValues(int ncFD, int dimId)
Given a dimension already determined to be a time dimension (via a call to IsTimeDimension) returns a...
bool GetCellsUnstructured() const
vtkSmartPointer< vtkDoubleArray > LatitudeCoordinates
void SetOutputTypeToImage()
int LoadMetaData(int ncFD, int varId, vtkNetCDFCFReader *parent)
void FakeStructuredCoordinates(vtkStructuredGrid *structuredOutput)
CoordinateTypesEnum CoordinateType(vtkIntArray *dimensions)
Based on the given dimensions and the current state of the reader, returns how the coordinates should...
vtkSmartPointer< vtkDoubleArray > GetBounds()
virtual int IsTimeDimension(int ncFD, int dimId)
Determines whether the given variable is a time dimension.
void SetOutputTypeToAutomatic()
vtkSmartPointer< vtkStringArray > SpecialVariables
@ COORDS_EUCLIDEAN_PSIDED_CELLS
void Add2DSphericalCoordinates(vtkUnstructuredGrid *unstructuredOutput, const int extent[6])
virtual void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
vtkSmartPointer< vtkDoubleArray > LongitudeCoordinates
topologically and geometrically regular array of data
a simple class to control print indentation
dynamic, self-adjusting array of int
vtkSmartPointer< vtkDoubleArray > GetCoordinates()
virtual void GetUpdateExtentForOutput(vtkDataSet *output, int extent[6])
Overridden to retrieve stored extent for unstructured data.
vtkSmartPointer< vtkStringArray > GetSpecialVariables() const
UnitsEnum GetUnits() const
const char * GetName() const
vtkDependentDimensionInfo(int ncFD, int varId, vtkNetCDFCFReader *parent)
bool GetHasRegularSpacing() const
void Add2DRectilinearCoordinates(vtkUnstructuredGrid *unstructuredOutput, const int extent[6])
int LoadBoundsVariable(int ncFD, int varId, vtkDoubleArray *coords)
bool GetHasBounds() const
vtkSmartPointer< vtkDoubleArray > Coordinates
void AddUnstructuredSphericalCoordinates(vtkUnstructuredGrid *unstructuredOutput, const int extent[6])
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
virtual void SetOutputType(int type)
virtual int ReadMetaData(int ncFD)
Interprets the special conventions of COARDS.
abstract class to specify dataset behavior
vtkDependentDimensionInfoVector * DependentDimensionInfo
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
virtual void IdentifySphericalCoordinates(vtkIntArray *dimensions, int &longitudeDim, int &latitudeDim, int &verticalDim)
Given the list of dimensions, identify the longitude, latitude, and vertical dimensions.
static vtkNetCDFCFReader * New()
vtkSmartPointer< vtkDoubleArray > GetLatitudeCoordinates() const
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
void SetOutputTypeToRectilinear()
vtkDimensionInfo(int ncFD, int id)
vtkSmartPointer< vtkIntArray > GridDimensions
double GetSpacing() const
void AddRectilinearCoordinates(vtkImageData *imageOutput)
Internal methods for setting rectilinear coordinates.
void ExtentForDimensionsAndPiece(int pieceNumber, int numberOfPieces, int ghostLevels, int extent[6])
Convenience function that takes piece information and then returns a set of extents to load based on ...
@ COORDS_NONUNIFORM_RECTILINEAR
dynamic, self-adjusting array of double
dataset represents arbitrary combinations of all possible cell types
vtkSmartPointer< vtkIntArray > GetGridDimensions() const
Wrapper around std::string to keep symbols short.
@ COORDS_UNIFORM_RECTILINEAR
#define VTK_UNSTRUCTURED_GRID
@ COORDS_REGULAR_SPHERICAL
void AddUnstructuredRectilinearCoordinates(vtkUnstructuredGrid *unstructuredOutput, const int extent[6])
Internal methods for creating unstructured cells.
void FakeRectilinearCoordinates(vtkRectilinearGrid *rectilinearOutput)
vtkSmartPointer< vtkStringArray > GetSpecialVariables() const
void Add1DSphericalCoordinates(vtkPoints *points, const int extent[6])
Internal methods for setting spherical coordinates.
@ COORDS_SPHERICAL_4SIDED_CELLS
void Add2DSphericalCoordinates(vtkStructuredGrid *structuredOutput)
void Add1DSphericalCoordinates(vtkStructuredGrid *structuredOutput)
#define VTK_RECTILINEAR_GRID
void Add2DSphericalCoordinates(vtkPoints *points, const int extent[6])
vtkDependentDimensionInfo * FindDependentDimensionInfo(vtkIntArray *dims)
void Add1DRectilinearCoordinates(vtkUnstructuredGrid *unstructuredOutput, const int extent[6])
@ COORDS_EUCLIDEAN_4SIDED_CELLS
int LoadCoordinateVariable(int ncFD, int varId, vtkDoubleArray *coords)
#define VTK_STRUCTURED_GRID
void AddStructuredCells(vtkUnstructuredGrid *unstructuredOutput, const int extent[6])
Internal method for building unstructred cells that match structured cells.
void Add2DRectilinearCoordinates(vtkStructuredGrid *structuredOutput)