8#ifndef vtkEnSightReader_h
9#define vtkEnSightReader_h
12#include "vtkIOEnSightModule.h"
18VTK_ABI_NAMESPACE_BEGIN
22class vtkEnSightReaderCellIdsType;
52 NUMBER_OF_ELEMENT_TYPES = 17
59 TENSOR_SYMM_PER_NODE = 2,
60 SCALAR_PER_ELEMENT = 3,
61 VECTOR_PER_ELEMENT = 4,
62 TENSOR_SYMM_PER_ELEMENT = 5,
63 SCALAR_PER_MEASURED_NODE = 6,
64 VECTOR_PER_MEASURED_NODE = 7,
65 COMPLEX_SCALAR_PER_NODE = 8,
66 COMPLEX_VECTOR_PER_NODE = 9,
67 COMPLEX_SCALAR_PER_ELEMENT = 10,
68 COMPLEX_VECTOR_PER_ELEMENT = 11,
69 TENSOR_ASYM_PER_NODE = 12,
70 TENSOR_ASYM_PER_ELEMENT = 13
201 int component = 0) = 0;
maintain an unordered list of dataset objects
abstract class to specify dataset behavior
dynamic, self-adjusting array of double
superclass for EnSight file readers
int GetSectionType(const char *line)
Determine the section type from a line read a file.
vtkIdList * ComplexVariableFileSetIds
virtual int ReadTensorsPerElement(const char *fileName, const char *description, int timeStep, vtkMultiBlockDataSet *output)=0
Read tensors per element for this dataset.
vtkIdList * UnstructuredPartIds
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
std::map< std::string, PartTransforms > RigidBodyTransforms
char ** VariableFileNames
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
virtual int ReadVectorsPerElement(const char *fileName, const char *description, int timeStep, vtkMultiBlockDataSet *output)=0
Read vectors per element for this dataset.
TitleToTimeStepMapType EulerTransformsMap
vtkIdListCollection * FileSetFileNameNumbers
void AddToBlock(vtkMultiBlockDataSet *output, unsigned int blockNo, vtkDataSet *dataset)
Convenience method use to convert the readers from VTK 5 multiblock API to the current composite data...
int GetElementType(const char *line)
Determine the element type from a line read a file.
int NumberOfMeasuredPoints
virtual int CreateUnstructuredGridOutput(int partId, char line[80], const char *name, vtkMultiBlockDataSet *output)=0
Read an unstructured part (partId) from the geometry file and create a vtkUnstructuredGrid output.
virtual int ReadVectorsPerNode(const char *fileName, const char *description, int timeStep, vtkMultiBlockDataSet *output, int measured=0)=0
Read vectors per node for this dataset.
int ReadRigidBodyMatrixLines(char *line, vtkTransform *transform, bool &applyToVectors)
Helper method for reading matrices specified in rigid body files.
vtkSetFilePathMacro(RigidBodyFileName)
Set the rigid body file name.
int ReadRigidBodyGeometryFile()
Read the rigid body file.
void SetBlockName(vtkMultiBlockDataSet *output, unsigned int blockNo, const char *name)
Set the name of a block.
vtkGetFilePathMacro(MeasuredFileName)
Get the Measured file name.
void AddVariableType()
Record the variable type for the variable line just read.
vtkIdList * VariableTimeSetIds
vtkIdListCollection * FileSetNumberOfSteps
int ApplyRigidBodyTransforms(int partId, const char *name, vtkDataSet *output)
Apply rigid body transforms to the specified part, if there are any.
void AddVariableDescription(const char *description)
Add another description to the list for a particular variable type.
int ReadCaseFileTime(char *line)
Read the case file.
vtkIdList * FileSetsWithFilenameNumbers
vtkDataSet * GetDataSetFromBlock(vtkMultiBlockDataSet *output, unsigned int blockNo)
Convenience method use to convert the readers from VTK 5 multiblock API to the current composite data...
virtual int ReadAsymmetricTensorsPerNode(const char *fileName, const char *description, int timeStep, vtkMultiBlockDataSet *output)=0
Read asymmetric tensors per node for this dataset.
std::map< std::string, TimeToEulerTransMapType > TitleToTimeStepMapType
vtkEnSightReaderCellIdsType * CellIds
virtual int ReadAsymmetricTensorsPerElement(const char *fileName, const char *description, int timeStep, vtkMultiBlockDataSet *output)=0
Read asymmetric tensors per element for this dataset.
virtual int ReadScalarsPerElement(const char *fileName, const char *description, int timeStep, vtkMultiBlockDataSet *output, int numberOfComponents=1, int component=0)=0
Read scalars per element for this dataset.
int ReadCaseFileVariable(char *line)
Read the case file.
vtkSmartPointer< vtkDoubleArray > EulerTimeSteps
int CheckOutputConsistency()
virtual int CreateStructuredGridOutput(int partId, char line[80], const char *name, vtkMultiBlockDataSet *output)=0
Read a structured part from the geometry file and create a vtkStructuredGridOutput.
int ReadCaseFileScripts(char *line)
Read the case file.
vtkGetFilePathMacro(MatchFileName)
Get the Match file name.
vtkIdList * VariableFileSetIds
vtkGetFilePathMacro(RigidBodyFileName)
Get the rigid body file name.
virtual int ReadMeasuredGeometryFile(const char *fileName, int timeStep, vtkMultiBlockDataSet *output)=0
Read the measured geometry file.
int ReadCaseFile()
Read the case file.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkSetFilePathMacro(MeasuredFileName)
Set the Measured file name.
char ** ComplexVariableFileNames
vtkIdList * ComplexVariableTimeSetIds
~vtkEnSightReader() override
vtkIdList * TimeSetsWithFilenameNumbers
virtual int ReadScalarsPerNode(const char *fileName, const char *description, int timeStep, vtkMultiBlockDataSet *output, int measured=0, int numberOfComponents=1, int component=0)=0
Read scalars per node for this dataset.
vtkIdListCollection * TimeSetFileNameNumbers
int ReadCaseFileFile(char *line)
Read the case file.
int ReadRigidBodyEulerParameterFile(const char *path)
Read the euler parameter file for rigid body transformations.
void ClearForNewCaseFileName() override
Clear data structures such that setting a new case file name works.
int ReadVariableFiles(vtkMultiBlockDataSet *output)
Read the variable files.
int ReadCaseFileGeometry(char *line)
Read the case file.
std::map< double, vtkSmartPointer< vtkTransform > > TimeToEulerTransMapType
vtkSetFilePathMacro(MatchFileName)
Set the Match file name.
void RemoveLeadingBlanks(char *line)
Remove leading blank spaces from a string.
virtual int ReadGeometryFile(const char *fileName, int timeStep, vtkMultiBlockDataSet *output)=0
Read the geometry file.
vtkIdList * GetCellIds(int index, int cellType)
virtual int ReadTensorsPerNode(const char *fileName, const char *description, int timeStep, vtkMultiBlockDataSet *output)=0
Read tensors per node for this dataset.
void AddVariableFileName(const char *fileName1, const char *fileName2=nullptr)
Add another file name to the list for a particular variable type.
int NumberOfGeometryParts
class to read any type of EnSight files
maintain an ordered list of IdList objects
list of point or cell ids
a simple class to control print indentation
Composite dataset that organizes datasets into blocks.
Hold a reference to a vtkObjectBase instance.