33 #ifndef vtkWindBladeReader_h
34 #define vtkWindBladeReader_h
36 #include "vtkIOGeometryModule.h"
47 class vtkMultiBlockDataSetAglorithm;
49 class WindBladeReaderInternal;
58 vtkSetStringMacro(Filename);
61 vtkSetVector6Macro(WholeExtent,
int);
62 vtkGetVector6Macro(WholeExtent,
int);
64 vtkSetVector6Macro(SubExtent,
int);
65 vtkGetVector6Macro(SubExtent,
int);
80 int GetNumberOfPointArrays();
81 const char* GetPointArrayName(
int index);
84 int GetPointArrayStatus(
const char*
name);
85 void SetPointArrayStatus(
const char*
name,
int status);
87 void DisableAllPointArrays();
88 void EnableAllPointArrays();
193 virtual bool ReadGlobalData();
194 void ReadDataVariables(istream& inStr);
195 virtual bool FindVariableOffsets();
198 virtual void SetupBladeData();
199 virtual void LoadBladeData(
int timeStep);
202 void FillCoordinates();
203 void FillGroundCoordinates();
204 void CreateCoordinates();
205 virtual void CreateZTopography(
float* zdata);
206 float GDeform(
float sigma,
float sigmaMax,
int flag);
207 void Spline(
float* x,
float* y,
int n,
float yp1,
float ypn,
float* y2);
208 void Splint(
float* xa,
float* ya,
float* y2a,
int n,
float x,
float* y,
int);
211 virtual void LoadVariableData(
int var);
214 void DivideByDensity(
const char*
name);
217 virtual void CalculatePressure(
int pres,
int prespre,
int tempg,
int density);
218 virtual void CalculateVorticity(
int vort,
int uvw,
int density);
222 std::ostringstream &fileName,
227 void InitPressureData(
int pressure,
int prespre,
228 float *&pressureData,
float *&prespreData);
229 void SetUpPressureData(
float* pressureData,
float* prespreData,
230 const float* tempgData,
const float* densityData);
231 void SetUpVorticityData(
float* uData,
float* vData,
const float *densityData,
233 void InitVariableData(
int var,
int &numberOfComponents,
float *&varData,
234 int &planeSize,
int &rowSize);
235 bool SetUpGlobalData(
const std::string &fileName, std::stringstream& inStr);
236 void ProcessZCoords(
float *topoData,
float *zValues);
237 void ReadBladeHeader(
const std::string &fileName, std::stringstream &inStr,
239 void ReadBladeData(std::stringstream &inStr);
248 static void SelectionCallback(
254 static void EventCallback(
257 void* clientdata,
void* calldata);
272 WindBladeReaderInternal * Internal;
int FillOutputPortInformation(int port, vtkInformation *info) override
Fill the output port information objects for this algorithm.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
int ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
see vtkAlgorithm for details
Wrapper around std::string to keep symbols short.
float * ZTopographicValues
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
int NumberOfDerivedVariables
vtkStdString TopographyFile
static int NUM_PART_SIDES
dynamic, self-adjusting array of float
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
a vtkAbstractArray subclass for strings
static int BYTES_PER_DATA
vtkStdString RootDirectory
static const int LINE_SIZE
vtkFloatArray * HubHeight
long int * VariableOffset
static vtkStructuredGridAlgorithm * New()
int NumberOfFileVariables
dynamic, self-adjusting array of int
vtkFloatArray * BladeLength
supports function callbacks
vtkFloatArray * XPosition
vtkStdString * VariableName
a simple class to control print indentation
vtkStdString TurbineBladeName
vtkStdString DataBaseName
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
vtkStringArray * DivideVariables
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
vtkStdString TurbineTowerName
vtkFloatArray * YPosition
vtkDataArraySelection * PointDataArraySelection
topologically regular array of data
vtkStdString DataDirectory
vtkStdString TurbineDirectory
vtkCallbackCommand * SelectionObserver
static const int NUM_BASE_SIDES
vtkFloatArray * AngularVeloc
class for reading WindBlade data files
represent and manipulate 3D points