32 #ifndef vtkWindBladeReader_h
33 #define vtkWindBladeReader_h
46 class vtkMultiBlockDataSetAglorithm;
48 class WindBladeReaderInternal;
57 vtkSetStringMacro(Filename);
58 vtkGetStringMacro(Filename);
60 vtkSetVector6Macro(WholeExtent,
int);
61 vtkGetVector6Macro(WholeExtent,
int);
63 vtkSetVector6Macro(SubExtent,
int);
64 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();
191 virtual bool ReadGlobalData();
192 void ReadDataVariables(istream& inStr);
193 virtual bool FindVariableOffsets();
196 virtual void SetupBladeData();
197 virtual void LoadBladeData(
int timeStep);
200 void FillCoordinates();
201 void FillGroundCoordinates();
202 void CreateCoordinates();
203 virtual void CreateZTopography(
float* zdata);
204 float GDeform(
float sigma,
float sigmaMax,
int flag);
205 void Spline(
float* x,
float* y,
int n,
float yp1,
float ypn,
float* y2);
206 void Splint(
float* xa,
float* ya,
float* y2a,
int n,
float x,
float* y,
int);
209 virtual void LoadVariableData(
int var);
212 void DivideByDensity(
const char*
name);
215 virtual void CalculatePressure(
int pres,
int prespre,
int tempg,
int density);
216 virtual void CalculateVorticity(
int vort,
int uvw,
int density);
220 std::ostringstream &fileName,
225 void InitPressureData(
int pressure,
int prespre,
226 float *&pressureData,
float *&prespreData);
227 void SetUpPressureData(
float* pressureData,
float* prespreData,
228 const float* tempgData,
const float* densityData);
229 void SetUpVorticityData(
float* uData,
float* vData,
const float *densityData,
231 void InitVariableData(
int var,
int &numberOfComponents,
float *&varData,
232 int &planeSize,
int &rowSize);
233 bool SetUpGlobalData(
const std::string &fileName, std::stringstream& inStr);
234 void ProcessZCoords(
float *topoData,
float *zValues);
235 void ReadBladeHeader(
const std::string &fileName, std::stringstream &inStr,
237 void ReadBladeData(std::stringstream &inStr);
246 static void SelectionCallback(
252 static void EventCallback(
255 void* clientdata,
void* calldata);
267 WindBladeReaderInternal * Internal;
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Wrapper around std::string to keep symbols short.
float * ZTopographicValues
abstract base class for most VTK objects
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
#define VTKIOGEOMETRY_EXPORT
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
void PrintSelf(ostream &os, vtkIndent indent)
vtkStringArray * DivideVariables
vtkStdString TurbineTowerName
virtual int FillOutputPortInformation(int port, vtkInformation *info)
virtual int ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
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