77 #ifndef vtkMPASReader_h
78 #define vtkMPASReader_h
80 #include "vtkIONetCDFModule.h"
102 vtkSetStringMacro(FileName);
103 vtkGetStringMacro(FileName);
110 vtkGetMacro(MaximumCells,
int);
117 vtkGetMacro(MaximumPoints,
int);
124 virtual int GetNumberOfCellVars();
125 virtual int GetNumberOfPointVars();
143 vtkSetMacro(UseDimensionedArrayNames,
bool);
144 vtkGetMacro(UseDimensionedArrayNames,
bool);
145 vtkBooleanMacro(UseDimensionedArrayNames,
bool);
154 int GetNumberOfPointArrays();
155 const char* GetPointArrayName(
int index);
156 int GetPointArrayStatus(
const char*
name);
157 void SetPointArrayStatus(
const char*
name,
int status);
158 void DisableAllPointArrays();
159 void EnableAllPointArrays();
162 int GetNumberOfCellArrays();
163 const char* GetCellArrayName(
int index);
164 int GetCellArrayStatus(
const char*
name);
165 void SetCellArrayStatus(
const char*
name,
int status);
166 void DisableAllCellArrays();
167 void EnableAllCellArrays();
181 int GetDimensionCurrentIndex(
const std::string& dim);
182 void SetDimensionCurrentIndex(
const std::string& dim,
int idx);
200 void SetVerticalLevel(
int level);
201 int GetVerticalLevel();
204 vtkGetVector2Macro(VerticalLevelRange,
int);
206 vtkSetMacro(LayerThickness,
int);
207 vtkGetMacro(LayerThickness,
int);
208 vtkGetVector2Macro(LayerThicknessRange,
int);
210 void SetCenterLon(
int val);
211 vtkGetVector2Macro(CenterLonRange,
int);
213 vtkSetMacro(ProjectLatLon,
bool);
214 vtkGetMacro(ProjectLatLon,
bool);
216 vtkSetMacro(IsAtmosphere,
bool);
217 vtkGetMacro(IsAtmosphere,
bool);
219 vtkSetMacro(IsZeroCentered,
bool);
220 vtkGetMacro(IsZeroCentered,
bool);
222 vtkSetMacro(ShowMultilayerView,
bool);
223 vtkGetMacro(ShowMultilayerView,
bool);
228 static int CanReadFile(
const char* filename);
235 void ReleaseNcData();
249 static void SelectionCallback(
250 vtkObject* caller,
unsigned long eid,
void* clientdata,
void* calldata);
260 void UpdateDimensions(
bool force =
false);
263 int VerticalLevelRange[2];
266 int LayerThicknessRange[2];
269 int CenterLonRange[2];
318 int GetNcVars(
const char* cellDimName,
const char* pointDimName);
319 int ReadAndOutputGrid();
320 int BuildVarArrays();
321 int AllocSphericalGeometry();
322 int AllocProjectedGeometry();
323 int AllocPlanarGeometry();
325 int AddMirrorPoint(
int index,
double dividerX,
double offset);
327 int EliminateXWrap();
330 unsigned char GetCellType();