Go to the documentation of this file.
38 #ifndef vtkSLACReader_h
39 #define vtkSLACReader_h
41 #include "vtkIONetCDFModule.h"
59 vtkGetStringMacro(MeshFileName);
60 vtkSetStringMacro(MeshFileName);
174 if (endpointA < endpointB)
176 this->MinEndPoint = endpointA; this->MaxEndPoint = endpointB;
180 this->MinEndPoint = endpointB; this->MaxEndPoint = endpointA;
229 friend class vtkInternal;
264 void *clientdata,
void *calldata);
274 int expectedNumComponents);
448 #endif //vtkSLACReader_h
Manages a map from edges to midpoint coordinates.
Manages a map from edges to the point id of the midpoint.
virtual int ReadFieldData(const int *modeFDArray, int numModeFDs, vtkMultiBlockDataSet *output)
Read in the field data from the mode file.
Simple class used internally to define an edge based on the endpoints.
void RemoveMidpoint(const EdgeEndpoints &edge)
static vtkSLACReader * New()
void RemoveAllMidpoints()
static void SelectionModifiedCallback(vtkObject *caller, unsigned long eid, void *clientdata, void *calldata)
Callback registered with the VariableArraySelection.
virtual int ReadMidpointCoordinates(int meshFD, vtkMultiBlockDataSet *output, MidpointCoordinateMap &map)
Reads in the midpoint coordinate data from the mesh file and returns a map from edges to midpoints.
virtual vtkDoubleArray * GetPhaseShifts()
MidpointCoordinates * FindMidpoint(const EdgeEndpoints &edge)
Finds the coordinates for the given edge or returns nullptr if it does not exist.
bool FrequencyModes
True if mode files describe vibrating fields.
virtual int MeshUpToDate()
Returns 1 if the mesh is up to date, 0 if the mesh needs to be read from disk.
record modification and/or execution time
vtkTypeBool ReadInternalVolume
void RemoveAllMidpoints()
virtual void ResetPhaseShifts()
Sets the phase offset for each mode.
virtual void SetFrequencyScale(int index, double scale)
virtual void RemoveAllModeFileNames()
abstract base class for most VTK objects
bool TimeStepModes
True if "mode" files are a sequence of time steps.
vtkIdType * FindMidpoint(const EdgeEndpoints &edge)
Finds the id for the given edge or returns nullptr if it does not exist.
int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called by the superclass.
Composite dataset that organizes datasets into blocks.
void InitTraversal()
Initialize iteration.
virtual int GetVariableArrayStatus(const char *name)
vtkIdType GetNumberOfMidpoints() const
virtual int GetNumberOfVariableArrays()
Variable array selection.
Store on/off settings for data arrays for a vtkSource.
static vtkInformationIntegerKey * IS_EXTERNAL_SURFACE()
This key is attached to the metadata information of all data sets in the output that are part of the ...
bool operator==(const EdgeEndpoints &other) const
virtual int CheckTetrahedraWinding(int meshFD)
Checks the winding of the tetrahedra in the mesh file.
void AddMidpoint(const EdgeEndpoints &edge, vtkIdType midpoint)
virtual int RestoreMeshCache(vtkMultiBlockDataSet *surfaceOutput, vtkMultiBlockDataSet *volumeOutput, vtkMultiBlockDataSet *compositeOutput)
Instead of reading data from the mesh file, restore the data from the previous mesh file read.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void SetVariableArrayStatus(const char *name, int status)
vtkIdType GetNumberOfMidpoints() const
virtual int ReadMidpointData(int meshFD, vtkMultiBlockDataSet *output, MidpointIdMap &map)
Read in the midpoint data from the mesh file.
bool ReadModeData
True if reading from a proper mode file.
virtual vtkSmartPointer< vtkDataArray > ReadPointDataArray(int ncFD, int varId)
Reads point data arrays.
virtual int InterpolateMidpointData(vtkMultiBlockDataSet *output, MidpointIdMap &map)
Takes the data read on the fields and interpolates data for the midpoints.
a simple class to control print indentation
void AddMidpoint(const EdgeEndpoints &edge, const MidpointCoordinates &midpoint)
static int CanReadFile(const char *filename)
Returns true if the given file can be read by this reader.
virtual vtkDoubleArray * GetFrequencyScales()
NOTE: This is not thread-safe.
virtual unsigned int GetNumberOfModeFileNames()
vtkTypeBool ReadMidpoints
virtual const char * GetModeFileName(unsigned int idx)
vtkIdType GetMinEndPoint() const
virtual vtkIdType GetNumTuplesInVariable(int ncFD, int varId, int expectedNumComponents)
Convenience function that checks the dimensions of a 2D netCDF array that is supposed to be a set of ...
virtual void AddModeFileName(const char *fname)
There may be one mode file (usually for actual modes) or multiple mode files (which usually actually ...
vtkTimeStamp MeshReadTime
A time stamp for the last time the mesh file was read.
virtual int ReadTetrahedronInteriorArray(int meshFD, vtkIdTypeArray *connectivity)
Reads tetrahedron connectivity arrays.
virtual int ReadTetrahedronExteriorArray(int meshFD, vtkIdTypeArray *connectivity)
static vtkInformationIntegerKey * IS_INTERNAL_VOLUME()
This key is attached to the metadata information of all data sets in the output that are part of the ...
bool GetNextMidpoint(EdgeEndpoints &edge, vtkIdType &midpoint)
Get the next midpoint in the iteration.
dynamic, self-adjusting array of vtkIdType
static vtkInformationObjectBaseKey * POINTS()
All the data sets stored in the multiblock output share the same point data.
vtkIdType GetMaxEndPoint() const
virtual const char * GetVariableArrayName(int idx)
Simple class used internally for holding midpoint information.
dynamic, self-adjusting array of double
virtual void SetPhaseShift(int index, double shift)
static vtkInformationObjectBaseKey * POINT_DATA()
virtual void ResetFrequencyScales()
Sets the scale factor for each mode.
MidpointCoordinates(const double coord[3], vtkIdType id)
EdgeEndpoints(vtkIdType endpointA, vtkIdType endpointB)
~vtkSLACReader() override
void RemoveMidpoint(const EdgeEndpoints &edge)
vtkTypeBool ReadExternalSurface
virtual int ReadConnectivity(int meshFD, vtkMultiBlockDataSet *surfaceOutput, vtkMultiBlockDataSet *volumeOutput)
Read the connectivity information from the mesh file.
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called by the superclass.
virtual int ReadCoordinates(int meshFD, vtkMultiBlockDataSet *output)
Read in the point coordinate data from the mesh file.
Superclass for algorithms that produce only vtkMultiBlockDataSet as output.