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" 18 class vtkTypeInt64Array;
27 void PrintData( ostream& os,
vtkIndent indent );
32 int OpenFile(
const char* filename );
38 int RequestInformation();
76 void SetCacheSize(
double size);
79 vtkGetMacro(CacheSize,
double);
90 vtkGetMacro(SqueezePoints,
int);
94 void SetSqueezePoints(
int sp );
98 vtkBooleanMacro(SqueezePoints,
int);
101 int GetNumberOfNodes();
107 int GetNumberOfObjectsOfType(
int otype );
119 int GetNumberOfObjectArraysOfType(
int otype );
125 const char* GetObjectName(
int otype,
int i );
131 int GetObjectId(
int otype,
int i );
139 int GetObjectSize(
int otype,
int i );
145 int GetObjectStatus(
int otype,
int i );
152 int GetUnsortedObjectStatus(
int otype,
int i );
158 void SetObjectStatus(
int otype,
int i,
int stat );
165 void SetUnsortedObjectStatus(
int otype,
int i,
int stat );
171 const char* GetObjectArrayName(
int otype,
int i );
177 int GetNumberOfObjectArrayComponents(
int otype,
int i );
183 int GetObjectArrayStatus(
int otype,
int i );
189 void SetObjectArrayStatus(
int otype,
int i,
int stat );
197 int GetNumberOfObjectAttributes(
int objectType,
int objectIndex );
198 const char* GetObjectAttributeName(
int objectType,
200 int attributeIndex );
201 int GetObjectAttributeIndex(
int objectType,
203 const char* attribName );
204 int GetObjectAttributeStatus(
int objectType,
207 void SetObjectAttributeStatus(
int objectType,
209 int attribIndex,
int status );
216 vtkSetMacro(GenerateGlobalElementIdArray,
vtkTypeBool);
217 vtkGetMacro(GenerateGlobalElementIdArray,
vtkTypeBool);
220 vtkSetMacro(GenerateGlobalNodeIdArray,
vtkTypeBool);
221 vtkGetMacro(GenerateGlobalNodeIdArray,
vtkTypeBool);
224 vtkSetMacro(GenerateImplicitElementIdArray,
vtkTypeBool);
225 vtkGetMacro(GenerateImplicitElementIdArray,
vtkTypeBool);
228 vtkSetMacro(GenerateImplicitNodeIdArray,
vtkTypeBool);
229 vtkGetMacro(GenerateImplicitNodeIdArray,
vtkTypeBool);
240 vtkSetMacro(FileId,
int);
241 vtkGetMacro(FileId,
int);
244 {
return "GlobalVariableValues"; }
246 {
return "GlobalVariableNames"; }
248 virtual void SetApplyDisplacements(
vtkTypeBool d );
251 virtual void SetDisplacementMagnitude(
double s );
252 vtkGetMacro(DisplacementMagnitude,
double);
254 vtkSetMacro(HasModeShapes,
int);
255 vtkGetMacro(HasModeShapes,
int);
257 vtkSetMacro(ModeShapeTime,
double);
258 vtkGetMacro(ModeShapeTime,
double);
260 vtkSetMacro(AnimateModeShapes,
int);
261 vtkGetMacro(AnimateModeShapes,
int);
263 vtkSetMacro(IgnoreFileTime,
bool);
264 vtkGetMacro(IgnoreFileTime,
bool);
269 {
return &this->ModelParameters; }
424 this->SkipUpdateTimeInformation =
true;
431 int GetNumberOfParts();
432 const char* GetPartName(
int idx);
434 int GetPartStatus(
int idx);
436 void SetPartStatus(
int idx,
int on);
439 int GetNumberOfMaterials();
440 const char* GetMaterialName(
int idx);
441 int GetMaterialStatus(
int idx);
443 void SetMaterialStatus(
int idx,
int on);
444 void SetMaterialStatus(
const vtkStdString& name,
int flag);
446 int GetNumberOfAssemblies();
447 const char* GetAssemblyName(
int idx);
448 int GetAssemblyStatus(
int idx);
450 void SetAssemblyStatus(
int idx,
int on);
451 void SetAssemblyStatus(
const vtkStdString& name,
int flag);
454 {this->FastPathObjectType =
type;};
456 vtkSetStringMacro(FastPathIdType);
458 bool IsXMLMetadataValid();
476 void GetInitialObjectArrayStatus(
int otype,
ArrayInfoType *info );
484 void SetInitialObjectStatus(
int otype,
const char *name,
int stat );
491 void SetInitialObjectArrayStatus(
int otype,
const char *name,
int stat );
493 int UpdateTimeInformation();
506 int VerifyIntegrationPointGlom(
int nn,
508 vtksys::RegularExpression& re,
513 void GlomArrayNames(
int i,
520 void PrepareGeneratedArrayInfo();
537 int AssembleOutputConnectivity(
vtkIdType timeStep,
546 int AssembleOutputPoints(
vtkIdType timeStep,
551 int AssembleOutputPointArrays(
vtkIdType timeStep,
556 int AssembleOutputCellArrays(
vtkIdType timeStep,
562 int AssembleOutputProceduralArrays(
vtkIdType timeStep,
565 int AssembleOutputGlobalArrays(
vtkIdType timeStep,
573 int AssembleOutputPointMaps(
vtkIdType timeStep,
575 int AssembleOutputCellMaps(
vtkIdType timeStep,
602 void FreePolyhedronFaceArrays();
605 void InsertBlockPolyhedra(
611 void InsertBlockCells(
612 int otyp,
int obj,
int conn_type,
int timeStep,
BlockInfoType* binfop );
616 int otyp,
int obj,
int conn_type,
int timeStep,
SetInfoType* sinfop );
623 void InsertSetNodeCopies(
627 void InsertSetCellCopies(
645 int GetConnTypeIndexFromConnType(
int ctyp );
651 int GetObjectTypeIndexFromObjectType(
int otyp );
658 int GetNumberOfObjectsAtTypeIndex(
int typeIndex );
675 ObjectInfoType* GetSortedObjectInfo(
int objectType,
int objectIndex );
683 ObjectInfoType* GetUnsortedObjectInfo(
int objectType,
int objectIndex );
689 int GetBlockIndexFromFileGlobalId(
int otyp,
int refId );
695 BlockInfoType* GetBlockFromFileGlobalId(
int otyp,
int refId );
708 ArrayInfoType* FindArrayInfoByName(
int otyp,
const char* name );
713 int IsObjectTypeBlock(
int otyp );
714 int IsObjectTypeSet(
int otyp );
715 int IsObjectTypeMap(
int otyp );
720 int GetObjectTypeFromMapType(
int mtyp );
721 int GetMapTypeFromObjectType(
int otyp );
722 int GetTemporalTypeFromObjectType(
int otyp );
727 int GetSetTypeFromSetConnType(
int sctyp );
732 int GetBlockConnTypeFromBlockType(
int btyp );
739 void RemoveBeginningAndTrailingSpaces(
int len,
char **names,
int maxNameLength );
742 void ClearConnectivityCaches();
751 std::map<int,std::vector<SetInfoType> >
SetInfo;
757 std::map<int,std::vector<MapInfoType> >
MapInfo;
797 struct ex_init_params ModelParameters;
874 #endif // vtkExodusIIReaderPrivate_h 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)
vtkTypeBool ApplyDisplacements
std::map< int, std::vector< std::vector< vtkIdType > > > PolyhedralFaceConnArrays
Face connectivity for polyhedra.
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...
vtkTypeBool AnimateModeShapes
std::vector< vtkStdString > AttributeNames
vtkIdType AttributesPerEntry
dynamic, self-adjusting array of vtkIdType
ObjectType
Extra cell data array that can be generated.
vtkTypeBool GenerateImplicitElementIdArray
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...
vtkTypeBool GenerateImplicitNodeIdArray
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()
const struct ex_init_params * GetModelParams() const
An editable directed graph.
vtkTypeBool GenerateGlobalElementIdArray
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.
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.
vtkTypeBool GenerateGlobalNodeIdArray
vtkTypeBool GenerateObjectIdArray
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.
vtkTypeBool GenerateGlobalIdArray
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
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.
vtkTypeBool HasModeShapes
static const char * GetImplicitNodeIdArrayName()
bool ProducedFastPathOutput
A struct to hold information about Exodus blocks.
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 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
vtkTypeBool GenerateFileIdArray