1 #ifndef vtkExodusIIReaderPrivate_h 2 #define vtkExodusIIReaderPrivate_h 9 #include "vtksys/RegularExpression.hxx" 14 #include "vtk_exodusII.h" 26 void PrintData( ostream& os,
vtkIndent indent );
31 int OpenFile(
const char* filename );
37 int RequestInformation();
75 void SetCacheSize(
double size);
93 void SetSqueezePoints(
int sp );
100 int GetNumberOfNodes();
106 int GetNumberOfObjectsOfType(
int otype );
118 int GetNumberOfObjectArraysOfType(
int otype );
124 const char* GetObjectName(
int otype,
int i );
130 int GetObjectId(
int otype,
int i );
138 int GetObjectSize(
int otype,
int i );
144 int GetObjectStatus(
int otype,
int i );
151 int GetUnsortedObjectStatus(
int otype,
int i );
157 void SetObjectStatus(
int otype,
int i,
int stat );
164 void SetUnsortedObjectStatus(
int otype,
int i,
int stat );
170 const char* GetObjectArrayName(
int otype,
int i );
176 int GetNumberOfObjectArrayComponents(
int otype,
int i );
182 int GetObjectArrayStatus(
int otype,
int i );
188 void SetObjectArrayStatus(
int otype,
int i,
int stat );
196 int GetNumberOfObjectAttributes(
int objectType,
int objectIndex );
197 const char* GetObjectAttributeName(
int objectType,
199 int attributeIndex );
200 int GetObjectAttributeIndex(
int objectType,
202 const char* attribName );
203 int GetObjectAttributeStatus(
int objectType,
206 void SetObjectAttributeStatus(
int objectType,
208 int attribIndex,
int status );
243 {
return "GlobalVariableValues"; }
245 {
return "GlobalVariableNames"; }
247 virtual void SetApplyDisplacements(
int d );
250 virtual void SetDisplacementMagnitude(
double s );
265 {
return &this->ModelParameters; }
418 int GetNumberOfParts();
419 const char* GetPartName(
int idx);
421 int GetPartStatus(
int idx);
423 void SetPartStatus(
int idx,
int on);
426 int GetNumberOfMaterials();
427 const char* GetMaterialName(
int idx);
428 int GetMaterialStatus(
int idx);
430 void SetMaterialStatus(
int idx,
int on);
433 int GetNumberOfAssemblies();
434 const char* GetAssemblyName(
int idx);
435 int GetAssemblyStatus(
int idx);
437 void SetAssemblyStatus(
int idx,
int on);
441 {this->FastPathObjectType =
type;};
445 bool IsXMLMetadataValid();
463 void GetInitialObjectArrayStatus(
int otype,
ArrayInfoType *info );
471 void SetInitialObjectStatus(
int otype,
const char *
name,
int stat );
478 void SetInitialObjectArrayStatus(
int otype,
const char *name,
int stat );
480 int UpdateTimeInformation();
493 int VerifyIntegrationPointGlom(
int nn,
495 vtksys::RegularExpression& re,
500 void GlomArrayNames(
int i,
507 void PrepareGeneratedArrayInfo();
524 int AssembleOutputConnectivity(
vtkIdType timeStep,
533 int AssembleOutputPoints(
vtkIdType timeStep,
538 int AssembleOutputPointArrays(
vtkIdType timeStep,
543 int AssembleOutputCellArrays(
vtkIdType timeStep,
549 int AssembleOutputProceduralArrays(
vtkIdType timeStep,
552 int AssembleOutputGlobalArrays(
vtkIdType timeStep,
560 int AssembleOutputPointMaps(
vtkIdType timeStep,
562 int AssembleOutputCellMaps(
vtkIdType timeStep,
569 void InsertBlockPolyhedra(
577 void InsertBlockCells(
578 int otyp,
int obj,
int conn_type,
int timeStep,
BlockInfoType* binfop );
582 int otyp,
int obj,
int conn_type,
int timeStep,
SetInfoType* sinfop );
589 void InsertSetNodeCopies(
593 void InsertSetCellCopies(
611 int GetConnTypeIndexFromConnType(
int ctyp );
617 int GetObjectTypeIndexFromObjectType(
int otyp );
624 int GetNumberOfObjectsAtTypeIndex(
int typeIndex );
641 ObjectInfoType* GetSortedObjectInfo(
int objectType,
int objectIndex );
649 ObjectInfoType* GetUnsortedObjectInfo(
int objectType,
int objectIndex );
655 int GetBlockIndexFromFileGlobalId(
int otyp,
int refId );
661 BlockInfoType* GetBlockFromFileGlobalId(
int otyp,
int refId );
674 ArrayInfoType* FindArrayInfoByName(
int otyp,
const char* name );
679 int IsObjectTypeBlock(
int otyp );
680 int IsObjectTypeSet(
int otyp );
681 int IsObjectTypeMap(
int otyp );
686 int GetObjectTypeFromMapType(
int mtyp );
687 int GetMapTypeFromObjectType(
int otyp );
688 int GetTemporalTypeFromObjectType(
int otyp );
693 int GetSetTypeFromSetConnType(
int sctyp );
698 int GetBlockConnTypeFromBlockType(
int btyp );
705 void RemoveBeginningAndTrailingSpaces(
int len,
char **names );
708 void ClearConnectivityCaches();
717 std::map<int,std::vector<SetInfoType> >
SetInfo;
723 std::map<int,std::vector<MapInfoType> >
MapInfo;
763 struct ex_init_params ModelParameters;
828 #endif // vtkExodusIIReaderPrivate_h int GenerateGlobalIdArray
std::map< int, std::vector< ArrayInfoType > > ArrayInfo
Maps an object type (EX_ELEM_BLOCK, EX_NODE_SET, ...) to a list of arrays.
Wrapper around std::string to keep symbols short.
std::vector< int > OriginalIndices
The index of each component of the array as ordered by the Exodus file.
std::vector< MaterialInfoType > MaterialInfo
std::map< vtkIdType, vtkIdType > ReversePointMap
A map from nodal ids in the output mesh to those in an Exodus file.
int Components
The number of components in the array.
static const char * GetObjectIdArrayName()
vtkMutableDirectedGraph * SIL
void SetFastPathObjectType(vtkExodusIIReader::ObjectType type)
abstract base class for most VTK objects
A struct to hold information about Exodus objects (blocks, sets, maps)
std::map< int, std::vector< BlockInfoType > > BlockInfo
Maps a block type (EX_ELEM_BLOCK, EX_FACE_BLOCK, ...) to a list of blocks of that type...
std::vector< int > BlockIndices
void SetFastPathObjectId(vtkIdType id)
int GetNumberOfTimeSteps()
Return the number of time steps in the open file.
#define vtkGetMacro(name, type)
record modification and/or execution time
std::vector< int > ObjectTruth
A map describing which objects the variable is defined on.
A struct to hold information about Exodus maps.
vtkExodusIIReader * Parent
Pointer to owning reader...
int GenerateGlobalNodeIdArray
std::vector< vtkStdString > AttributeNames
This class holds metadata for an Exodus file.
vtkUnstructuredGrid * CachedConnectivity
Cached cell connectivity arrays for mesh.
#define vtkSetStringMacro(name)
vtkMutableDirectedGraph * GetSIL()
Returns the SIL. This valid only after BuildSIL() has been called.
#define vtkTypeMacro(thisClass, superclass)
std::map< int, std::vector< ObjectInfoType > > InitialObjectInfo
Maps an object type (EX_ELEM_BLOCK, EX_NODE_SET, ...) to a list of objects defined on that type...
std::map< int, std::vector< int > > SortedObjectIndices
Maps an object type to vector of indices that reorder objects of that type by their IDs...
static const char * GetGlobalVariableValuesArrayName()
float DisplacementMagnitude
double CacheSize
The size of the cache in MiB.
vtkTimeStamp InformationTimeStamp
Time stamp from last time we were in RequestInformation.
int Source
The source of the array (Result or Attribute)
dynamic, self-adjusting array of int
static const char * GetFileIdArrayName()
int StorageType
Storage type of array (a type that can be passed to vtkDataArray::Create())
double ModeShapeTime
The time value.
std::vector< AssemblyInfoType > AssemblyInfo
vtkStdString Name
The name of the array.
a simple class to control print indentation
float ExodusVersion
The version of Exodus that wrote the currently open file (or a negative number otherwise).
Read Exodus II files (.exii)
std::map< vtkIdType, vtkIdType > PointMap
A map from nodal IDs in an Exodus file to nodal IDs in the output mesh.
GlomTypes
Tags to indicate how single-component Exodus arrays are glommed (aggregated) into multi-component VTK...
dataset represents arbitrary combinations of all possible cell types
vtkIdType FileOffset
Id (1-based) of first entry in file-local list across all blocks in file.
abstract superclass for arrays of numeric data
static const char * GetGlobalElementIdArrayName()
int GenerateObjectIdArray
An editable directed graph.
int GenerateImplicitNodeIdArray
#define VTKIOEXODUS_EXPORT
vtkExodusIIReader::ObjectType FastPathObjectType
int Status
Whether or not the array should be loaded by RequestData.
vtkStdString OriginalName
#define vtkGetObjectMacro(name, type)
A struct to hold information about Exodus blocks.
int Id
User-assigned identification number.
A struct to hold information about Exodus blocks or sets (they have some members in common) ...
std::vector< int > BlockIndices
static const char * GetImplicitElementIdArrayName()
internal parser used by vtkExodusIIReader.
const char * GetPartBlockInfo(int arrayIdx)
std::map< int, std::vector< ArrayInfoType > > InitialArrayInfo
Maps an object type (EX_ELEM_BLOCK, EX_NODE_SET, ...) to a list of arrays defined on that type...
Read exodus 2 files .ex2.
std::vector< vtkStdString > OriginalNames
The name of each component of the array as defined by the Exodus file.
vtkStdString Name
User-assigned name.
vtkExodusIICache * Cache
A least-recently-used cache to hold raw arrays.
Composite dataset that organizes datasets into blocks.
static const char * GetGlobalNodeIdArrayName()
std::vector< int > BlockIndices
const struct ex_init_params * GetModelParams() const
std::map< int, std::vector< MapInfoType > > MapInfo
Maps a map type (EX_ELEM_MAP, ..., EX_NODE_MAP) to a list of maps of that type.
int Status
Should the reader load this block?
vtkIdType FastPathObjectId
#define vtkBooleanMacro(name, type)
A struct to hold information about Exodus sets.
static const char * GetImplicitNodeIdArrayName()
bool ProducedFastPathOutput
A struct to hold information about Exodus blocks.
std::map< int, std::vector< SetInfoType > > SetInfo
Maps a set type (EX_ELEM_SET, ..., EX_NODE_SET) to a list of sets of that type.
int AppWordSize
These aren't the variables you're looking for.
int SqueezePoints
Should the reader output only points used by elements in the output mesh, or all the points...
ArraySourceTypes
Tags to indicate the source of values for an array.
int GenerateImplicitElementIdArray
int Exoid
The handle of the currently open file.
std::vector< double > Times
A list of time steps for which results variables are stored.
vtkIdType NextSqueezePoint
The next vtk ID to use for a connectivity entry when point squeezing is on and no point ID exists...
int Size
Number of entries in this block.
std::vector< PartInfoType > PartInfo
vtkExodusIIReaderParser * Parser
A struct to hold information about time-varying arrays.
int GlomType
The type of "glomming" performed.
static const char * GetGlobalVariableNamesArrayName()
std::vector< int > AttributeStatus
#define vtkSetMacro(name, type)
int GenerateGlobalElementIdArray