79 #ifndef vtkMPASReader_h
80 #define vtkMPASReader_h
105 vtkSetStringMacro(FileName);
106 vtkGetStringMacro(FileName);
111 vtkGetMacro(MaximumCells,
int);
116 vtkGetMacro(MaximumPoints,
int);
121 virtual int GetNumberOfCellVars();
122 virtual int GetNumberOfPointVars();
136 vtkSetMacro(UseDimensionedArrayNames,
bool)
137 vtkGetMacro(UseDimensionedArrayNames,
bool)
138 vtkBooleanMacro(UseDimensionedArrayNames,
bool)
145 int GetNumberOfPointArrays();
146 const
char* GetPointArrayName(
int index);
147 int GetPointArrayStatus(const
char*
name);
148 void SetPointArrayStatus(const
char* name,
int status);
149 void DisableAllPointArrays();
150 void EnableAllPointArrays();
153 int GetNumberOfCellArrays();
154 const
char* GetCellArrayName(
int index);
155 int GetCellArrayStatus(const
char* name);
156 void SetCellArrayStatus(const
char* name,
int status);
157 void DisableAllCellArrays();
158 void EnableAllCellArrays();
168 int GetNumberOfDimensions();
169 std::
string GetDimensionName(
int idx);
171 int GetDimensionCurrentIndex(const std::
string &dim);
172 void SetDimensionCurrentIndex(const std::
string &dim,
int idx);
173 int GetDimensionSize(const std::
string &dim);
179 vtkSetMacro(VerticalDimension, std::
string)
180 vtkGetMacro(VerticalDimension, std::
string)
186 void SetVerticalLevel(
int level);
187 int GetVerticalLevel();
190 vtkGetVector2Macro(VerticalLevelRange,
int)
192 vtkSetMacro(LayerThickness,
int)
193 vtkGetMacro(LayerThickness,
int)
194 vtkGetVector2Macro(LayerThicknessRange,
int)
196 void SetCenterLon(
int val);
197 vtkGetVector2Macro(CenterLonRange,
int)
199 vtkSetMacro(ProjectLatLon,
bool)
200 vtkGetMacro(ProjectLatLon,
bool)
202 vtkSetMacro(IsAtmosphere,
bool)
203 vtkGetMacro(IsAtmosphere,
bool)
205 vtkSetMacro(IsZeroCentered,
bool)
206 vtkGetMacro(IsZeroCentered,
bool)
208 vtkSetMacro(ShowMultilayerView,
bool)
209 vtkGetMacro(ShowMultilayerView,
bool)
212 static
int CanReadFile(const
char *filename);
214 unsigned long GetMTime();
219 void ReleaseNcData();
224 int NumberOfTimeSteps;
231 vtkInformationVector *);
232 int RequestInformation(vtkInformation *, vtkInformationVector **,
233 vtkInformationVector *);
236 static
void SelectionCallback(
vtkObject* caller,
unsigned long eid,
237 void* clientdata,
void* calldata);
245 void UpdateDimensions(
bool force = false);
247 std::
string VerticalDimension;
248 int VerticalLevelRange[2];
251 int LayerThicknessRange[2];
254 int CenterLonRange[2];
303 int GetNcVars(
const char* cellDimName,
const char* pointDimName);
304 int ReadAndOutputGrid();
305 int BuildVarArrays();
306 int AllocSphericalGeometry();
307 int AllocProjectedGeometry();
308 int AllocPlanarGeometry();
310 int AddMirrorPoint(
int index,
double dividerX,
double offset);
312 int EliminateXWrap();
315 unsigned char GetCellType();
322 bool ValidateDimensions(NcVar *var,
bool silent,
int ndims, ...);
325 long GetCursorForDimension(
const NcDim *dim);
328 size_t GetCountForDimension(
const NcDim *dim);
334 long InitializeDimension(
const NcDim *dim);
355 static int NcTypeToVtkType(
int ncType);
358 vtkIdType ComputeNumberOfTuples(NcVar *ncVar);
360 template <
typename ValueType>
361 bool LoadDataArray(NcVar *ncVar,
vtkDataArray *array,
bool resize =
true);
363 template <
typename ValueType>
364 int LoadPointVarDataImpl(NcVar *ncVar,
vtkDataArray *array);
366 template <
typename ValueType>
367 int LoadCellVarDataImpl(NcVar *ncVar,
vtkDataArray *array);
Wrapper around std::string to keep symbols short.
abstract base class for most VTK objects
static vtkUnstructuredGridAlgorithm * New()
a vtkAbstractArray subclass for strings
Read an MPAS netCDF file.
dynamic, self-adjusting array of double
bool UseDimensionedArrayNames
supports function callbacks
a simple class to control print indentation
Store on/off settings for data arrays for a vtkSource.
dataset represents arbitrary combinations of all possible cell types
abstract superclass for arrays of numeric data
void PrintSelf(ostream &os, vtkIndent indent)
Superclass for algorithms that produce only unstructured grid as output.
#define VTKIONETCDF_EXPORT
vtkUnstructuredGrid * GetOutput()