VTK
|
A concrete class to read an ASCII Tecplot file. More...
#include <vtkTecplotReader.h>
Public Types | |
typedef vtkMultiBlockDataSetAlgorithm | Superclass |
Public Member Functions | |
virtual int | IsA (const char *type) |
vtkTecplotReader * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) |
void | SetFileName (const char *fileName) |
const char * | GetDataTitle () |
int | GetNumberOfBlocks () |
const char * | GetBlockName (int blockIdx) |
int | GetNumberOfDataAttributes () |
const char * | GetDataAttributeName (int attrIndx) |
int | IsDataAttributeCellBased (const char *attrName) |
int | IsDataAttributeCellBased (int attrIndx) |
int | GetNumberOfDataArrays () |
const char * | GetDataArrayName (int arrayIdx) |
int | GetDataArrayStatus (const char *arayName) |
void | SetDataArrayStatus (const char *arayName, int bChecked) |
virtual int | GetNumberOfVariables () |
Static Public Member Functions | |
static vtkTecplotReader * | New () |
static int | IsTypeOf (const char *type) |
static vtkTecplotReader * | SafeDownCast (vtkObjectBase *o) |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkTecplotReader () | |
~vtkTecplotReader () | |
virtual int | FillOutputPortInformation (int port, vtkInformation *info) |
virtual int | RequestInformation (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) |
virtual int | RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
void | Init () |
void | GetDataArraysList () |
void | ReadFile (vtkMultiBlockDataSet *multZone) |
void | GetArraysFromBlockPackingZone (int numNodes, int numCells, vtkPoints *theNodes, vtkPointData *nodeData, vtkCellData *cellData) |
void | GetArraysFromPointPackingZone (int numNodes, vtkPoints *theNodes, vtkPointData *nodeData) |
void | GetStructuredGridFromBlockPackingZone (int iDimSize, int jDimSize, int kDimSize, int zoneIndx, const char *zoneName, vtkMultiBlockDataSet *multZone) |
void | GetStructuredGridFromPointPackingZone (int iDimSize, int jDimSize, int kDimSize, int zoneIndx, const char *zoneName, vtkMultiBlockDataSet *multZone) |
void | GetUnstructuredGridFromBlockPackingZone (int numNodes, int numCells, const char *cellType, int zoneIndx, const char *zoneName, vtkMultiBlockDataSet *multZone) |
void | GetUnstructuredGridFromPointPackingZone (int numNodes, int numCells, const char *cellType, int zoneIndx, const char *zoneName, vtkMultiBlockDataSet *multZone) |
void | GetUnstructuredGridCells (int numberCells, const char *cellTypeStr, vtkUnstructuredGrid *unstrctGrid) |
Static Protected Member Functions | |
static void | SelectionModifiedCallback (vtkObject *, unsigned long, void *tpReader, void *) |
Protected Attributes | |
int | NumberOfVariables |
char * | FileName |
vtkCallbackCommand * | SelectionObserver |
vtkDataArraySelection * | DataArraySelection |
vtkTecplotReaderInternal * | Internal |
std::string | DataTitle |
std::vector< int > | CellBased |
std::vector< std::string > | ZoneNames |
std::vector< std::string > | Variables |
A concrete class to read an ASCII Tecplot file.
vtkTecplotReader parses an ASCII Tecplot file to get a vtkMultiBlockDataSet object made up of several vtkDataSet objects, of which each is of type either vtkStructuredGrid or vtkUnstructuredGrid. Each vtkDataSet object maintains the geometry, topology, and some associated attributes describing physical properties.
Tecplot treats 3D coordinates (only one or two coordinates might be explicitly specified in a file) as varaibles too, whose names (e.g., 'X' / 'x' / 'I', 'Y' / 'y' / 'J', 'Z' / 'z' / 'K') are provided in the variables list (the 'VARIABLES' section). These names are then followed in the list by those of other traditional variables or attributes (node- based and / or cell-based data with the mode specified via token 'VAR LOCATION', to be extracted to create vtkPointData and / or vtkCellData). Each zone described afterwards (in the 'ZONE's section) provides the specific values of the aforementioned variables (including 3D coordinates), in the same order as indicated by the variable-names list, through either POINT-packing (i.e., tuple-based storage) or BLOCK-packing (component-based storage). In particular, the first / description line of each zone tells the type of all the constituent cells as the connectivity / topology information. In other words, the entire dataset is made up of multiple zones (blocks), of which each maintains a set of cells of the same type ('BRICK', 'TRIANGLE', 'QUADRILATERAL', 'TETRAHEDRON', and 'POINT' in Tecplot terms). In addition, the description line of each zone specifies the zone name, dimensionality information (size of each dimension for a structured zone), number of nodes, and number of cells. Information about the file format is available at http://download.tecplot.com/360/dataformat.pdf.
Definition at line 98 of file vtkTecplotReader.h.
Reimplemented from vtkMultiBlockDataSetAlgorithm.
Definition at line 102 of file vtkTecplotReader.h.
vtkTecplotReader::vtkTecplotReader | ( | ) | [protected] |
vtkTecplotReader::~vtkTecplotReader | ( | ) | [protected] |
static vtkTecplotReader* vtkTecplotReader::New | ( | ) | [static] |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
Reimplemented from vtkMultiBlockDataSetAlgorithm.
static int vtkTecplotReader::IsTypeOf | ( | const char * | name | ) | [static] |
Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkMultiBlockDataSetAlgorithm.
virtual int vtkTecplotReader::IsA | ( | const char * | name | ) | [virtual] |
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkMultiBlockDataSetAlgorithm.
static vtkTecplotReader* vtkTecplotReader::SafeDownCast | ( | vtkObjectBase * | o | ) | [static] |
Reimplemented from vtkMultiBlockDataSetAlgorithm.
virtual vtkObjectBase* vtkTecplotReader::NewInstanceInternal | ( | ) | const [protected, virtual] |
Reimplemented from vtkMultiBlockDataSetAlgorithm.
vtkTecplotReader* vtkTecplotReader::NewInstance | ( | ) | const |
Reimplemented from vtkMultiBlockDataSetAlgorithm.
void vtkTecplotReader::PrintSelf | ( | ostream & | os, |
vtkIndent | indent | ||
) | [virtual] |
Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkMultiBlockDataSetAlgorithm.
virtual int vtkTecplotReader::GetNumberOfVariables | ( | ) | [virtual] |
Get the number of all variables (including 3D coordinates).
void vtkTecplotReader::SetFileName | ( | const char * | fileName | ) |
Specify a Tecplot ASCII file for data loading.
const char* vtkTecplotReader::GetDataTitle | ( | ) |
Get the Tecplot data title.
Get the number of blocks (i.e., zones in Tecplot terms).
const char* vtkTecplotReader::GetBlockName | ( | int | blockIdx | ) |
Get the name of a block specified by a zero-based index. NULL is returned for an invalid block index.
Get the number of standard data attributes (node-based and cell-based), excluding 3D coordinates.
const char* vtkTecplotReader::GetDataAttributeName | ( | int | attrIndx | ) |
Get the name of a zero-based data attribute (not 3D coordinates). NULL is returned for an invalid attribute index.
int vtkTecplotReader::IsDataAttributeCellBased | ( | const char * | attrName | ) |
Get the type (0 for node-based and 1 for cell-based) of a specified data attribute (not 3D coordinates). -1 is returned for an invalid attribute name.
int vtkTecplotReader::IsDataAttributeCellBased | ( | int | attrIndx | ) |
Get the type (0 for node-based and 1 for cell-based) of a specified data attribute (not 3D coordinates). -1 is returned for an invalid attribute index.
Get the number of all data attributes (point data and cell data).
const char* vtkTecplotReader::GetDataArrayName | ( | int | arrayIdx | ) |
Get the name of a data array specified by the zero-based index (arrayIdx).
int vtkTecplotReader::GetDataArrayStatus | ( | const char * | arayName | ) |
Get the status of a specific data array (0: un-selected; 1: selected).
void vtkTecplotReader::SetDataArrayStatus | ( | const char * | arayName, |
int | bChecked | ||
) |
Set the status of a specific data array (0: de-select; 1: select) specified by the name.
virtual int vtkTecplotReader::FillOutputPortInformation | ( | int | port, |
vtkInformation * | info | ||
) | [protected, virtual] |
Fill the output port information objects for this algorithm. This is invoked by the first call to GetOutputPortInformation for each port so subclasses can specify what they can handle.
Reimplemented from vtkMultiBlockDataSetAlgorithm.
virtual int vtkTecplotReader::RequestInformation | ( | vtkInformation * | , |
vtkInformationVector ** | , | ||
vtkInformationVector * | |||
) | [protected, virtual] |
This is called by the superclass. This is the method you should override.
Reimplemented from vtkMultiBlockDataSetAlgorithm.
virtual int vtkTecplotReader::RequestData | ( | vtkInformation * | , |
vtkInformationVector ** | , | ||
vtkInformationVector * | |||
) | [protected, virtual] |
This is called by the superclass. This is the method you should override.
Reimplemented from vtkMultiBlockDataSetAlgorithm.
static void vtkTecplotReader::SelectionModifiedCallback | ( | vtkObject * | , |
unsigned | long, | ||
void * | tpReader, | ||
void * | |||
) | [static, protected] |
A callback function registered with the selection observer.
void vtkTecplotReader::Init | ( | ) | [protected] |
This function initializes the context. Note that the Tecplot file name must NOT be addressed (either specified or inited) in this function. It is addressed in constructor, destructor, and SetTecplotFile() only.
void vtkTecplotReader::GetDataArraysList | ( | ) | [protected] |
Get the data arrays list from the tecplot file header.
void vtkTecplotReader::ReadFile | ( | vtkMultiBlockDataSet * | multZone | ) | [protected] |
This function, the data loading engine, parses the Tecplot file to fill a vtkMultiBlockDataSet object.
void vtkTecplotReader::GetArraysFromBlockPackingZone | ( | int | numNodes, |
int | numCells, | ||
vtkPoints * | theNodes, | ||
vtkPointData * | nodeData, | ||
vtkCellData * | cellData | ||
) | [protected] |
This function extracts each variable array from a block-packing (component- based) zone and collects the 3D point coordinates in addition to data attributes (node-based and / or cell-based). Note that Tecplot treats 3D coordinates as variables too, though three special ones.
void vtkTecplotReader::GetArraysFromPointPackingZone | ( | int | numNodes, |
vtkPoints * | theNodes, | ||
vtkPointData * | nodeData | ||
) | [protected] |
This function extracts each variable array from a point-packing (tuple- based) zone and collects the 3D point coordbinates in addition to data attributes (node-based and / or cell-based). Note that Tecplot treats 3D coordinates as variables too, though three special ones. A point-packing zone does not contain any cell data at all, instead it is supposed to contain point data only, if any.
void vtkTecplotReader::GetStructuredGridFromBlockPackingZone | ( | int | iDimSize, |
int | jDimSize, | ||
int | kDimSize, | ||
int | zoneIndx, | ||
const char * | zoneName, | ||
vtkMultiBlockDataSet * | multZone | ||
) | [protected] |
This function creates a vtkStructuredGrid object made up of a set of points and the associated attributes (node-based and / or cell-based) extracted from a block-packing (i.e., component-based) zone. This vtkStructuredGrid is then inserted, with a specified zone name, to a vtkMultiBlockDataSet object.
void vtkTecplotReader::GetStructuredGridFromPointPackingZone | ( | int | iDimSize, |
int | jDimSize, | ||
int | kDimSize, | ||
int | zoneIndx, | ||
const char * | zoneName, | ||
vtkMultiBlockDataSet * | multZone | ||
) | [protected] |
This function creates a vtkStructuredGrid object made up of a set of points and the associated attributes (node-based and / or cell-based) extracted from a point-packing (i.e., tuple-based) zone. This vtkStructuredGrid is then inserted, with a specified zone name, to a vtkMultiBlockDataSet object.
void vtkTecplotReader::GetUnstructuredGridFromBlockPackingZone | ( | int | numNodes, |
int | numCells, | ||
const char * | cellType, | ||
int | zoneIndx, | ||
const char * | zoneName, | ||
vtkMultiBlockDataSet * | multZone | ||
) | [protected] |
This function creates a vtkUnstructuredGrid object made up of a set of points and the associated attributes (node-based and / or cell-based) extracted from a block-packing (i.e., component-based) zone. This vtkUnstructuredGrid is then inserted, with a specified zone name, to a vtkMultiBlockDataSet object.
void vtkTecplotReader::GetUnstructuredGridFromPointPackingZone | ( | int | numNodes, |
int | numCells, | ||
const char * | cellType, | ||
int | zoneIndx, | ||
const char * | zoneName, | ||
vtkMultiBlockDataSet * | multZone | ||
) | [protected] |
This function creates a vtkUnstructuredGrid object made up of a set of points and the associated attributes (node-based and / or cell-based) extracted from a point-packing (i.e., tuple-based) zone. This vtkUnstructuredGrid is then inserted, with a specified zone name, to a vtkMultiBlockDataSet object.
void vtkTecplotReader::GetUnstructuredGridCells | ( | int | numberCells, |
const char * | cellTypeStr, | ||
vtkUnstructuredGrid * | unstrctGrid | ||
) | [protected] |
This function fills an allocated vtkUnstructuredGrid object with numberCells cells of type cellTypeStr to define the grid topology.
int vtkTecplotReader::NumberOfVariables [protected] |
Definition at line 258 of file vtkTecplotReader.h.
char* vtkTecplotReader::FileName [protected] |
Definition at line 259 of file vtkTecplotReader.h.
vtkCallbackCommand* vtkTecplotReader::SelectionObserver [protected] |
Definition at line 260 of file vtkTecplotReader.h.
Definition at line 261 of file vtkTecplotReader.h.
vtkTecplotReaderInternal* vtkTecplotReader::Internal [protected] |
Definition at line 262 of file vtkTecplotReader.h.
std::string vtkTecplotReader::DataTitle [protected] |
Definition at line 265 of file vtkTecplotReader.h.
std::vector< int > vtkTecplotReader::CellBased [protected] |
Definition at line 266 of file vtkTecplotReader.h.
std::vector< std::string > vtkTecplotReader::ZoneNames [protected] |
Definition at line 267 of file vtkTecplotReader.h.
std::vector< std::string > vtkTecplotReader::Variables [protected] |
Definition at line 268 of file vtkTecplotReader.h.