30 #ifndef vtkWindBladeReader_h 31 #define vtkWindBladeReader_h 33 #include "vtkIOGeometryModule.h" 44 class vtkMultiBlockDataSetAglorithm;
46 class WindBladeReaderInternal;
55 vtkSetStringMacro(Filename);
58 vtkSetVector6Macro(WholeExtent,
int);
59 vtkGetVector6Macro(WholeExtent,
int);
61 vtkSetVector6Macro(SubExtent,
int);
62 vtkGetVector6Macro(SubExtent,
int);
77 int GetNumberOfPointArrays();
78 const char* GetPointArrayName(
int index);
81 int GetPointArrayStatus(
const char*
name);
82 void SetPointArrayStatus(
const char*
name,
int status);
84 void DisableAllPointArrays();
85 void EnableAllPointArrays();
121 int UseTopographyFile;
133 float* ZTopographicValues;
137 int NumberOfFileVariables;
138 int NumberOfDerivedVariables;
139 int NumberOfVariables;
144 int* VariableCompSize;
145 int* VariableBasicType;
146 int* VariableByteCount;
147 long int* VariableOffset;
157 int NumberOfTimeSteps;
164 int NumberOfBladeTowers;
165 int NumberOfBladePoints;
166 int NumberOfBladeCells;
179 int NumberOfLinesToSkip;
190 virtual
bool ReadGlobalData();
191 void ReadDataVariables(istream& inStr);
192 virtual
bool FindVariableOffsets();
195 virtual
void SetupBladeData();
196 virtual
void LoadBladeData(
int timeStep);
199 void FillCoordinates();
200 void FillGroundCoordinates();
201 void CreateCoordinates();
202 virtual
void CreateZTopography(
float* zdata);
203 float GDeform(
float sigma,
float sigmaMax,
int flag);
204 void Spline(
float* x,
float* y,
int n,
float yp1,
float ypn,
float* y2);
205 void Splint(
float* xa,
float* ya,
float* y2a,
int n,
float x,
float* y,
int);
208 virtual
void LoadVariableData(
int var);
211 void DivideByDensity(const
char*
name);
214 virtual
void CalculatePressure(
int pres,
int prespre,
int tempg,
int density);
215 virtual
void CalculateVorticity(
int vort,
int uvw,
int density);
219 std::ostringstream &fileName,
224 void InitPressureData(
int pressure,
int prespre,
225 float *&pressureData,
float *&prespreData);
226 void SetUpPressureData(
float* pressureData,
float* prespreData,
227 const
float* tempgData, const
float* densityData);
228 void SetUpVorticityData(
float* uData,
float* vData, const
float *densityData,
230 void InitVariableData(
int var,
int &numberOfComponents,
float *&varData,
231 int &planeSize,
int &rowSize);
232 bool SetUpGlobalData(const std::
string &fileName, std::stringstream& inStr);
233 void ProcessZCoords(
float *topoData,
float *zValues);
234 void ReadBladeHeader(const std::
string &fileName, std::stringstream &inStr,
236 void ReadBladeData(std::stringstream &inStr);
245 static
void SelectionCallback(
251 static
void EventCallback(
254 void* clientdata,
void* calldata);
269 WindBladeReaderInternal * Internal;
Wrapper around std::string to keep symbols short.
abstract base class for most VTK objects
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static float DRY_AIR_CONSTANT
static int NUM_PART_SIDES
dynamic, self-adjusting array of float
a vtkAbstractArray subclass for strings
static int BYTES_PER_DATA
static const int LINE_SIZE
static vtkStructuredGridAlgorithm * New()
dynamic, self-adjusting array of int
supports function callbacks
a simple class to control print indentation
Store on/off settings for data arrays for a vtkSource.
Superclass for algorithms that produce only structured grid as output.
dataset represents arbitrary combinations of all possible cell types
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
topologically regular array of data
static const int NUM_BASE_SIDES
class for reading WindBlade data files
represent and manipulate 3D points