1 #ifndef vtkExodusIIReaderPrivate_h 2 #define vtkExodusIIReaderPrivate_h 7 #include "vtkToolkits.h" 9 #include "vtksys/RegularExpression.hxx" 14 #include "vtk_exodusII.h" 15 #include "vtkIOExodusModule.h" 26 void PrintData( ostream& os,
vtkIndent indent );
31 int OpenFile(
const char* filename );
37 int RequestInformation();
75 void SetCacheSize(
double size);
78 vtkGetMacro(CacheSize,
double);
89 vtkGetMacro(SqueezePoints,
int);
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 );
211 vtkGetMacro(GenerateObjectIdArray,
int);
216 vtkGetMacro(GenerateGlobalElementIdArray,
int);
220 vtkGetMacro(GenerateGlobalNodeIdArray,
int);
224 vtkGetMacro(GenerateImplicitElementIdArray,
int);
228 vtkGetMacro(GenerateImplicitNodeIdArray,
int);
235 vtkGetMacro(GenerateFileIdArray,
int);
240 vtkGetMacro(FileId,
int);
243 {
return "GlobalVariableValues"; }
245 {
return "GlobalVariableNames"; }
247 virtual void SetApplyDisplacements(
int d );
248 vtkGetMacro(ApplyDisplacements,
int);
250 virtual void SetDisplacementMagnitude(
double s );
251 vtkGetMacro(DisplacementMagnitude,
double);
254 vtkGetMacro(HasModeShapes,
int);
257 vtkGetMacro(ModeShapeTime,
double);
260 vtkGetMacro(AnimateModeShapes,
int);
265 {
return &this->ModelParameters; }
420 this->SkipUpdateTimeInformation =
true;
427 int GetNumberOfParts();
428 const char* GetPartName(
int idx);
430 int GetPartStatus(
int idx);
432 void SetPartStatus(
int idx,
int on);
435 int GetNumberOfMaterials();
436 const char* GetMaterialName(
int idx);
437 int GetMaterialStatus(
int idx);
439 void SetMaterialStatus(
int idx,
int on);
442 int GetNumberOfAssemblies();
443 const char* GetAssemblyName(
int idx);
444 int GetAssemblyStatus(
int idx);
446 void SetAssemblyStatus(
int idx,
int on);
450 {this->FastPathObjectType =
type;};
452 vtkSetStringMacro(FastPathIdType);
454 bool IsXMLMetadataValid();
472 void GetInitialObjectArrayStatus(
int otype,
ArrayInfoType *info );
480 void SetInitialObjectStatus(
int otype,
const char *name,
int stat );
487 void SetInitialObjectArrayStatus(
int otype,
const char *name,
int stat );
489 int UpdateTimeInformation();
502 int VerifyIntegrationPointGlom(
int nn,
504 vtksys::RegularExpression& re,
509 void GlomArrayNames(
int i,
516 void PrepareGeneratedArrayInfo();
533 int AssembleOutputConnectivity(
vtkIdType timeStep,
542 int AssembleOutputPoints(
vtkIdType timeStep,
547 int AssembleOutputPointArrays(
vtkIdType timeStep,
552 int AssembleOutputCellArrays(
vtkIdType timeStep,
558 int AssembleOutputProceduralArrays(
vtkIdType timeStep,
561 int AssembleOutputGlobalArrays(
vtkIdType timeStep,
569 int AssembleOutputPointMaps(
vtkIdType timeStep,
571 int AssembleOutputCellMaps(
vtkIdType timeStep,
578 void InsertBlockPolyhedra(
586 void InsertBlockCells(
587 int otyp,
int obj,
int conn_type,
int timeStep,
BlockInfoType* binfop );
591 int otyp,
int obj,
int conn_type,
int timeStep,
SetInfoType* sinfop );
598 void InsertSetNodeCopies(
602 void InsertSetCellCopies(
620 int GetConnTypeIndexFromConnType(
int ctyp );
626 int GetObjectTypeIndexFromObjectType(
int otyp );
633 int GetNumberOfObjectsAtTypeIndex(
int typeIndex );
650 ObjectInfoType* GetSortedObjectInfo(
int objectType,
int objectIndex );
658 ObjectInfoType* GetUnsortedObjectInfo(
int objectType,
int objectIndex );
664 int GetBlockIndexFromFileGlobalId(
int otyp,
int refId );
670 BlockInfoType* GetBlockFromFileGlobalId(
int otyp,
int refId );
683 ArrayInfoType* FindArrayInfoByName(
int otyp,
const char* name );
688 int IsObjectTypeBlock(
int otyp );
689 int IsObjectTypeSet(
int otyp );
690 int IsObjectTypeMap(
int otyp );
695 int GetObjectTypeFromMapType(
int mtyp );
696 int GetMapTypeFromObjectType(
int otyp );
697 int GetTemporalTypeFromObjectType(
int otyp );
702 int GetSetTypeFromSetConnType(
int sctyp );
707 int GetBlockConnTypeFromBlockType(
int btyp );
714 void RemoveBeginningAndTrailingSpaces(
int len,
char **names );
717 void ClearConnectivityCaches();
726 std::map<int,std::vector<SetInfoType> >
SetInfo;
732 std::map<int,std::vector<MapInfoType> >
MapInfo;
772 struct ex_init_params ModelParameters;
837 #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.
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.
void SetTimesOverrides(const std::vector< double > ×)
vtkExodusIIReader * Parent
Pointer to owning reader...
int GenerateGlobalNodeIdArray
std::vector< vtkStdString > AttributeNames
ObjectType
Extra cell data array that can be generated.
This class holds metadata for an Exodus file.
vtkUnstructuredGrid * CachedConnectivity
Cached cell connectivity arrays for mesh.
vtkMutableDirectedGraph * GetSIL()
Returns the SIL. This valid only after BuildSIL() has been called.
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).
bool SkipUpdateTimeInformation
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
vtkExodusIIReader::ObjectType FastPathObjectType
int Status
Whether or not the array should be loaded by RequestData.
vtkStdString OriginalName
A struct to hold information about Exodus blocks.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
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)
By default all parts are loaded.
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
A struct to hold information about Exodus sets.
static const char * GetImplicitNodeIdArrayName()
bool ProducedFastPathOutput
A struct to hold information about Exodus blocks.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
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
int GenerateGlobalElementIdArray