30 #ifndef vtkWindBladeReader_h 31 #define vtkWindBladeReader_h 33 #include "vtkIOGeometryModule.h" 44 class vtkMultiBlockDataSetAglorithm;
46 class WindBladeReaderInternal;
55 vtkSetStringMacro(Filename);
56 vtkGetStringMacro(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();
188 virtual bool ReadGlobalData();
189 void ReadDataVariables(istream& inStr);
190 virtual bool FindVariableOffsets();
193 virtual void SetupBladeData();
194 virtual void LoadBladeData(
int timeStep);
197 void FillCoordinates();
198 void FillGroundCoordinates();
199 void CreateCoordinates();
200 virtual void CreateZTopography(
float* zdata);
201 float GDeform(
float sigma,
float sigmaMax,
int flag);
202 void Spline(
float* x,
float* y,
int n,
float yp1,
float ypn,
float* y2);
203 void Splint(
float* xa,
float* ya,
float* y2a,
int n,
float x,
float* y,
int);
206 virtual void LoadVariableData(
int var);
209 void DivideByDensity(
const char*
name);
212 virtual void CalculatePressure(
int pres,
int prespre,
int tempg,
int density);
213 virtual void CalculateVorticity(
int vort,
int uvw,
int density);
221 void InitPressureData(
int pressure,
int prespre,
float*& pressureData,
float*& prespreData);
222 void SetUpPressureData(
223 float* pressureData,
float* prespreData,
const float* tempgData,
const float* densityData);
224 void SetUpVorticityData(
float* uData,
float* vData,
const float* densityData,
float* vortData);
225 void InitVariableData(
226 int var,
int& numberOfComponents,
float*& varData,
int& planeSize,
int& rowSize);
227 bool SetUpGlobalData(
const std::string& fileName, std::stringstream& inStr);
228 void ProcessZCoords(
float* topoData,
float* zValues);
229 void ReadBladeHeader(
const std::string& fileName, std::stringstream& inStr,
int& numColumns);
230 void ReadBladeData(std::stringstream& inStr);
236 static void SelectionCallback(
237 vtkObject* caller,
unsigned long eid,
void* clientdata,
void* calldata);
239 static void EventCallback(
vtkObject* caller,
unsigned long eid,
void* clientdata,
void* calldata);
253 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.
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
vtkStdString TurbineTowerName
vtkTypeBool ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
see vtkAlgorithm for details
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