VTK
vtkExodusIIReaderPrivate.h
Go to the documentation of this file.
1#ifndef vtkExodusIIReaderPrivate_h
2#define vtkExodusIIReaderPrivate_h
3
4// Do not include this file directly. It is only for use
5// from inside the ExodusII reader and its descendants.
6
7#include "vtkToolkits.h" // make sure VTK_USE_PARALLEL is properly set
8#include "vtkExodusIICache.h"
9#include "vtksys/RegularExpression.hxx"
10
11#include <map>
12#include <vector>
13
14#include "vtk_exodusII.h"
15#include "vtkIOExodusModule.h" // For export macro
18
22class VTKIOEXODUS_EXPORT vtkExodusIIReaderPrivate : public vtkObject
23{
24public:
26 void PrintData( ostream& os, vtkIndent indent );
28 //virtual void Modified();
29
31 int OpenFile( const char* filename );
32
34 int CloseFile();
35
38
41 { return this->SIL; }
42
44 int RequestData( vtkIdType timeStep, vtkMultiBlockDataSet* output );
45
51
63 void Reset();
64
70
72 void ResetCache();
73
75 void SetCacheSize(double size);
76
78 vtkGetMacro(CacheSize, double);
79
84 int GetNumberOfTimeSteps() { return (int) this->Times.size(); }
85
86
89 vtkGetMacro(SqueezePoints,int);
90
93 void SetSqueezePoints( int sp );
94
97 vtkBooleanMacro(SqueezePoints,int);
98
101
106 int GetNumberOfObjectsOfType( int otype );
107
119
124 const char* GetObjectName( int otype, int i );
125
130 int GetObjectId( int otype, int i );
131
138 int GetObjectSize( int otype, int i );
139
144 int GetObjectStatus( int otype, int i );
145
151 int GetUnsortedObjectStatus( int otype, int i );
152
157 void SetObjectStatus( int otype, int i, int stat );
158
164 void SetUnsortedObjectStatus( int otype, int i, int stat );
165
170 const char* GetObjectArrayName( int otype, int i );
171
176 int GetNumberOfObjectArrayComponents( int otype, int i );
177
182 int GetObjectArrayStatus( int otype, int i );
183
188 void SetObjectArrayStatus( int otype, int i, int stat );
189
196 int GetNumberOfObjectAttributes( int objectType, int objectIndex );
197 const char* GetObjectAttributeName( int objectType,
198 int objectIndex,
199 int attributeIndex );
200 int GetObjectAttributeIndex( int objectType,
201 int objectIndex,
202 const char* attribName );
203 int GetObjectAttributeStatus( int objectType,
204 int objectIndex,
205 int attribIndex );
206 void SetObjectAttributeStatus( int objectType,
207 int objectIndex,
208 int attribIndex, int status );
209
211 vtkGetMacro(GenerateObjectIdArray,int);
212 vtkSetMacro(GenerateObjectIdArray,int);
213 static const char* GetObjectIdArrayName() { return "ObjectId"; }
214
215 vtkSetMacro(GenerateGlobalElementIdArray,int);
216 vtkGetMacro(GenerateGlobalElementIdArray,int);
217 static const char* GetGlobalElementIdArrayName() { return "GlobalElementId"; }
218
219 vtkSetMacro(GenerateGlobalNodeIdArray,int);
220 vtkGetMacro(GenerateGlobalNodeIdArray,int);
221 static const char* GetGlobalNodeIdArrayName() { return "GlobalNodeId"; }
222
223 vtkSetMacro(GenerateImplicitElementIdArray,int);
224 vtkGetMacro(GenerateImplicitElementIdArray,int);
225 static const char* GetImplicitElementIdArrayName() { return "ImplicitElementId"; }
226
227 vtkSetMacro(GenerateImplicitNodeIdArray,int);
228 vtkGetMacro(GenerateImplicitNodeIdArray,int);
229 static const char* GetImplicitNodeIdArrayName() { return "ImplicitNodeId"; }
230
234 vtkSetMacro(GenerateFileIdArray,int);
235 vtkGetMacro(GenerateFileIdArray,int);
236 static const char* GetFileIdArrayName() { return "FileId"; }
237
239 vtkSetMacro(FileId,int);
240 vtkGetMacro(FileId,int);
241
243 { return "GlobalVariableValues"; }
245 { return "GlobalVariableNames"; }
246
247 virtual void SetApplyDisplacements( int d );
248 vtkGetMacro(ApplyDisplacements,int);
249
250 virtual void SetDisplacementMagnitude( double s );
251 vtkGetMacro(DisplacementMagnitude,double);
252
253 vtkSetMacro(HasModeShapes,int);
254 vtkGetMacro(HasModeShapes,int);
255
256 vtkSetMacro(ModeShapeTime,double);
257 vtkGetMacro(ModeShapeTime,double);
258
259 vtkSetMacro(AnimateModeShapes, int);
260 vtkGetMacro(AnimateModeShapes, int);
261
263
264 const struct ex_init_params* GetModelParams() const
265 { return &this->ModelParameters; }
266
268 struct VTKIOEXODUS_EXPORT ArrayInfoType {
289 std::vector<vtkStdString> OriginalNames;
292 std::vector<int> OriginalIndices;
301 std::vector<int> ObjectTruth;
303 void Reset();
304 };
305
307 struct VTKIOEXODUS_EXPORT ObjectInfoType {
309 int Size;
313 int Id;
316 };
317
319 struct VTKIOEXODUS_EXPORT MapInfoType : public ObjectInfoType {
320 };
321
324 struct VTKIOEXODUS_EXPORT BlockSetInfoType : public ObjectInfoType {
331 std::map<vtkIdType,vtkIdType> PointMap;
336 std::map<vtkIdType,vtkIdType> ReversePointMap;
343
344 BlockSetInfoType(){this->CachedConnectivity=0;}
348 };
349
351 struct VTKIOEXODUS_EXPORT BlockInfoType : public BlockSetInfoType {
352 vtkStdString OriginalName; // useful to reset the name if XML metadata is invalid.
354 // number of boundaries per entry
355 // The index is the dimensionality of the entry. 0=node, 1=edge, 2=face
356 int BdsPerEntry[3];
358 std::vector<vtkStdString> AttributeNames;
359 std::vector<int> AttributeStatus;
360 // VTK cell type (a function of TypeName and BdsPerEntry...)
362 // Number of points per cell as used by VTK
363 // -- not what's in the file (i.e., BdsPerEntry[0] >= PointsPerCell)
365 };
366
368 struct PartInfoType : public ObjectInfoType {
369 std::vector<int> BlockIndices;
370 };
372 std::vector<int> BlockIndices;
373 };
375 std::vector<int> BlockIndices;
376 };
377
380 int DistFact; // Number of distribution factors
381 // (for the entire block, not per array or entry)
382 };
383
387 Scalar=0,
388 Vector2=1,
389 Vector3=2,
390 SymmetricTensor=3,
391 // (order xx, yy, zz, xy, yz, zx)
392 IntegrationPoint=4
393 };
394
397 Result=0,
398 // (that vary over time)
399 Attribute=1,
400 // (constants over time)
401 Map=2,
402 Generated=3
403 };
404
407
408 friend class vtkExodusIIReader;
409 friend class vtkPExodusIIReader;
410
412 vtkGetObjectMacro(Parser,vtkExodusIIReaderParser);
413
414 // BUG #15632: This method allows vtkPExodusIIReader to pass time information
415 // from one spatial file to another and avoiding have to read it for each of
416 // the files.
417 void SetTimesOverrides(const std::vector<double>& times)
418 {
419 this->Times = times;
420 this->SkipUpdateTimeInformation = true;
421 }
422
423 // Because Parts, Materials, and assemblies are not stored as arrays,
424 // but rather as maps to the element blocks they make up,
425 // we cannot use the Get|SetObject__() methods directly.
426
428 const char* GetPartName(int idx);
429 const char* GetPartBlockInfo(int idx);
430 int GetPartStatus(int idx);
432 void SetPartStatus(int idx, int on);
434
436 const char* GetMaterialName(int idx);
437 int GetMaterialStatus(int idx);
439 void SetMaterialStatus(int idx, int on);
441
443 const char* GetAssemblyName(int idx);
444 int GetAssemblyStatus(int idx);
446 void SetAssemblyStatus(int idx, int on);
448
450 {this->FastPathObjectType = type;};
451 void SetFastPathObjectId(vtkIdType id){this->FastPathObjectId = id;};
452 vtkSetStringMacro(FastPathIdType);
453
455
464
473
480 void SetInitialObjectStatus( int otype, const char *name, int stat );
481
487 void SetInitialObjectArrayStatus( int otype, const char *name, int stat );
488
490
492
493protected:
496
498 void BuildSIL();
499
503 char** np,
504 vtksys::RegularExpression& re,
506 vtkStdString& ele );
507
509 void GlomArrayNames( int i,
510 int num_obj,
511 int num_vars,
512 char** var_names,
513 int* truth_tab );
514
517
534 int otyp, int oidx, int conntypidx, BlockSetInfoType* bsinfop,
535 vtkUnstructuredGrid* output );
543 BlockSetInfoType* bsinfop, vtkUnstructuredGrid* output );
548 BlockSetInfoType* bsinfop, vtkUnstructuredGrid* output );
553 int otyp, int oidx, BlockSetInfoType* bsinfop, vtkUnstructuredGrid* output );
559 int otyp, int oidx, vtkUnstructuredGrid* output );
562 int otyp, int oidx, BlockSetInfoType* bsinfop, vtkUnstructuredGrid* output );
570 BlockSetInfoType* bsinfop, vtkUnstructuredGrid* output );
572 int otyp, int oidx, BlockSetInfoType* bsinfop, vtkUnstructuredGrid* output );
576
579 BlockInfoType* binfo,
580 vtkIntArray* facesPerCell,
581 vtkIntArray* pointsPerFace,
582 vtkIntArray* exoCellConn,
583 vtkIntArray* exoFaceConn);
584
587 int otyp, int obj, int conn_type, int timeStep, BlockInfoType* binfop );
588
591 int otyp, int obj, int conn_type, int timeStep, SetInfoType* sinfop );
592
595 vtkDataArray* src, BlockSetInfoType* bsinfop, vtkUnstructuredGrid* output );
596
599 vtkIntArray* refs, int otyp, int obj, SetInfoType* sinfo );
600
603 vtkIntArray* refs, int otyp, int obj, SetInfoType* sinfo );
604
607 vtkIntArray* refs, int otyp, int obj, SetInfoType* sinfo );
608
615
621
627
633 int GetNumberOfObjectsAtTypeIndex( int typeIndex );
634
642 ObjectInfoType* GetObjectInfo( int typeIndex, int objectIndex );
643
650 ObjectInfoType* GetSortedObjectInfo( int objectType, int objectIndex );
651
658 ObjectInfoType* GetUnsortedObjectInfo( int objectType, int objectIndex );
659
664 int GetBlockIndexFromFileGlobalId( int otyp, int refId );
665
671
676
679
683 ArrayInfoType* FindArrayInfoByName( int otyp, const char* name );
684
688 int IsObjectTypeBlock( int otyp );
689 int IsObjectTypeSet( int otyp );
690 int IsObjectTypeMap( int otyp );
691
698
703
708
714 void RemoveBeginningAndTrailingSpaces( int len, char **names );
715
718
722 std::map<int,std::vector<BlockInfoType> > BlockInfo;
726 std::map<int,std::vector<SetInfoType> > SetInfo;
732 std::map<int,std::vector<MapInfoType> > MapInfo;
733
734 std::vector<PartInfoType> PartInfo;
735 std::vector<MaterialInfoType> MaterialInfo;
736 std::vector<AssemblyInfoType> AssemblyInfo;
737
742 std::map<int,std::vector<int> > SortedObjectIndices;
744 // defined on that type.
745 std::map<int,std::vector<ArrayInfoType> > ArrayInfo;
746
751 std::map<int,std::vector<ArrayInfoType> > InitialArrayInfo;
752
757 std::map<int,std::vector<ObjectInfoType> > InitialObjectInfo;
758
762
767
769 int Exoid;
770
772 struct ex_init_params ModelParameters;
773
775 std::vector<double> Times;
777
782
790
795
798 //
800 double CacheSize;
801
806
819
824
826
830
832private:
833 vtkExodusIIReaderPrivate( const vtkExodusIIReaderPrivate& ) VTK_DELETE_FUNCTION;
834 void operator = ( const vtkExodusIIReaderPrivate& ) VTK_DELETE_FUNCTION;
835};
836
837#endif // vtkExodusIIReaderPrivate_h
838// VTK-HeaderTest-Exclude: vtkExodusIIReaderPrivate.h
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:55
internal parser used by vtkExodusIIReader.
This class holds metadata for an Exodus file.
int AssembleOutputPointMaps(vtkIdType timeStep, BlockSetInfoType *bsinfop, vtkUnstructuredGrid *output)
Add maps to an output mesh.
static const char * GetImplicitNodeIdArrayName()
void SetMaterialStatus(vtkStdString name, int flag)
void SetFastPathObjectId(vtkIdType id)
vtkTimeStamp InformationTimeStamp
Time stamp from last time we were in RequestInformation.
vtkExodusIIReader::ObjectType FastPathObjectType
void Reset()
Reset the class so that another file may be read.
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.
virtual void SetDisplacementMagnitude(double s)
void ResetCache()
Clears out any data in the cache and restores it to its initial state.
void PrintData(ostream &os, vtkIndent indent)
virtual void SetApplyDisplacements(int d)
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.
int IsObjectTypeSet(int otyp)
int CloseFile()
Close any ExodusII file currently open for reading. Returns 0 on success.
void SetObjectAttributeStatus(int objectType, int objectIndex, int attribIndex, int status)
void AddPointArray(vtkDataArray *src, BlockSetInfoType *bsinfop, vtkUnstructuredGrid *output)
Add a point array to an output grid's point data, squeezing if necessary.
ArraySourceTypes
Tags to indicate the source of values for an array.
std::vector< double > Times
A list of time steps for which results variables are stored.
int GetObjectArrayStatus(int otype, int i)
For a given object type, returns the status of the i-th array.
int OpenFile(const char *filename)
Open an ExodusII file for reading. Returns 0 on success.
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.
void RemoveBeginningAndTrailingSpaces(int len, char **names)
Function to trim space from names retrieved with ex_get_var_names.
int GetAssemblyStatus(int idx)
int AssembleOutputPoints(vtkIdType timeStep, BlockSetInfoType *bsinfop, vtkUnstructuredGrid *output)
Fill the output grid's point coordinates array.
static const char * GetGlobalNodeIdArrayName()
void PrepareGeneratedArrayInfo()
Add generated array information to array info lists.
void SetCacheSize(double size)
Set the size of the cache in MiB.
vtkExodusIIReader * Parent
Pointer to owning reader... this is not registered in order to avoid circular references.
int RequestData(vtkIdType timeStep, vtkMultiBlockDataSet *output)
Read requested data and store in unstructured grid.
int GetObjectTypeIndexFromObjectType(int otyp)
Return the index of an object type (in a private list of all object types).
int GetBlockConnTypeFromBlockType(int btyp)
Given a block type (EDGE_BLOCK, ...), return the associated block connectivity type (EDGE_BLOCK_CONN,...
void InsertSetCellCopies(vtkIntArray *refs, int otyp, int obj, SetInfoType *sinfo)
Insert cells referenced by an edge, face, or element set.
int GetUnsortedObjectStatus(int otype, int i)
For a given object type, returns the status of the i-th object, where i is an index into the unsorted...
int GetObjectTypeFromMapType(int mtyp)
Given a map type (NODE_MAP, EDGE_MAP, ...) return the associated object type (NODAL,...
void InsertSetSides(vtkIntArray *refs, int otyp, int obj, SetInfoType *sinfo)
Insert cells referenced by a side set.
void SetPartStatus(int idx, int on)
const char * GetAssemblyName(int idx)
int GetBlockIndexFromFileGlobalId(int otyp, int refId)
Get the index of the block containing the entity referenced by the specified file-global ID.
void SetPartStatus(vtkStdString name, int flag)
int IsObjectTypeBlock(int otyp)
Does the specified object type match? Avoid using these... they aren't robust against new types being...
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 GetNumberOfObjectAttributes(int objectType, int objectIndex)
Unlike object arrays, attributes are only defined over blocks (not sets) and are defined on a per-blo...
int GetNumberOfObjectArrayComponents(int otype, int i)
For a given object type, returns the number of components of the i-th array.
void GetInitialObjectArrayStatus(int otype, ArrayInfoType *info)
For a given array type, looks for an object in the collection of initial objects of the same name,...
std::map< int, std::vector< int > > SortedObjectIndices
Maps an object type to vector of indices that reorder objects of that type by their IDs.
int GetMapTypeFromObjectType(int otyp)
void SetAssemblyStatus(int idx, int on)
int GetObjectAttributeIndex(int objectType, int objectIndex, const char *attribName)
int AssembleOutputGlobalArrays(vtkIdType timeStep, int otyp, int oidx, BlockSetInfoType *bsinfop, vtkUnstructuredGrid *output)
Add mesh-global field data such as QA records to the output mesh.
void InsertBlockCells(int otyp, int obj, int conn_type, int timeStep, BlockInfoType *binfop)
Insert cells from a specified block into a mesh.
int GetObjectStatus(int otype, int i)
For a given object type, returns the status of the i-th object.
const char * GetPartBlockInfo(int idx)
double ModeShapeTime
The time value.
static vtkExodusIIReaderPrivate * New()
void DetermineVtkCellType(BlockInfoType &binfo)
Determine the VTK cell type for a given edge/face/element block.
int AssembleArraysOverTime(vtkMultiBlockDataSet *output)
Add fast-path time-varying data to field data of an output block or set.
void SetInitialObjectArrayStatus(int otype, const char *name, int stat)
For a given array type, creates and stores an ArrayInfoType object using the given name and status.
std::vector< AssemblyInfoType > AssemblyInfo
int GetObjectId(int otype, int i)
For a given object type, return the user-assigned ID of the i-th object.
void BuildSIL()
Build SIL. This must be called only after RequestInformation().
void InsertSetCells(int otyp, int obj, int conn_type, int timeStep, SetInfoType *sinfop)
Insert cells from a specified set into a mesh.
int IsObjectTypeMap(int otyp)
void SetSqueezePoints(int sp)
Set whether subsequent RequestData() calls will produce the minimal point set required to represent t...
static const char * GetObjectIdArrayName()
int AssembleOutputPointArrays(vtkIdType timeStep, BlockSetInfoType *bsinfop, vtkUnstructuredGrid *output)
Add the requested arrays to the output grid's point data.
int GetNumberOfNodes()
Return the number of nodes in the output (depends on SqueezePoints)
vtkMutableDirectedGraph * GetSIL()
Returns the SIL. This valid only after BuildSIL() has been called.
int AssembleOutputConnectivity(vtkIdType timeStep, int otyp, int oidx, int conntypidx, BlockSetInfoType *bsinfop, vtkUnstructuredGrid *output)
Read connectivity information and populate an unstructured grid with cells corresponding to a single ...
float ExodusVersion
The version of Exodus that wrote the currently open file (or a negative number otherwise).
int GetConnTypeIndexFromConnType(int ctyp)
Return the index of an object type (in a private list of all object types).
void GetInitialObjectStatus(int otype, ObjectInfoType *info)
For a given object type, looks for an object in the collection of initial objects of the same name,...
void SetFastPathObjectType(vtkExodusIIReader::ObjectType type)
std::map< int, std::vector< ArrayInfoType > > ArrayInfo
Maps an object type (EX_ELEM_BLOCK, EX_NODE_SET, ...) to a list of arrays.
int GetMaterialStatus(vtkStdString name)
int GetTemporalTypeFromObjectType(int otyp)
void SetInitialObjectStatus(int otype, const char *name, int stat)
For a given object type, creates and stores an ObjectInfoType object using the given name and status.
BlockInfoType * GetBlockFromFileGlobalId(int otyp, int refId)
Get the block containing the entity referenced by the specified file-global ID.
void InsertSetNodeCopies(vtkIntArray *refs, int otyp, int obj, SetInfoType *sinfo)
Insert cells referenced by a node set.
ObjectInfoType * GetUnsortedObjectInfo(int objectType, int objectIndex)
Return a pointer to the ObjectInfo of the specified type and index, but using indices sorted by objec...
vtkMutableDirectedGraph * SIL
std::vector< MaterialInfoType > MaterialInfo
int GetPartStatus(vtkStdString name)
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.
int GetNumberOfObjectsOfType(int otype)
Returns the number of objects of a given type (e.g., EX_ELEM_BLOCK, EX_NODE_SET, ....
int GetObjectSize(int otype, int i)
For a given object type, return the size of the i-th object.
int VerifyIntegrationPointGlom(int nn, char **np, vtksys::RegularExpression &re, vtkStdString &field, vtkStdString &ele)
Returns true when order and text of names are consistent with integration points.
void SetObjectArrayStatus(int otype, int i, int stat)
For a given object type, sets the status of the i-th array.
void InsertBlockPolyhedra(BlockInfoType *binfo, vtkIntArray *facesPerCell, vtkIntArray *pointsPerFace, vtkIntArray *exoCellConn, vtkIntArray *exoFaceConn)
Insert polyhedral cells (called from InsertBlockCells when a block is polyhedra)
int RequestInformation()
Get metadata for an open file with handle exoid.
void ClearConnectivityCaches()
Delete any cached connectivity information (for all blocks and sets)
static const char * GetFileIdArrayName()
int AppWordSize
These aren't the variables you're looking for.
void ResetSettings()
Return user-specified variables to their default values.
const char * GetObjectArrayName(int otype, int i)
For a given object type, returns the name of the i-th array.
int GetObjectAttributeStatus(int objectType, int objectIndex, int attribIndex)
void SetUnsortedObjectStatus(int otype, int i, int stat)
For a given object type, sets the status of the i-th object, where i is an index into the unsorted ob...
const char * GetObjectName(int otype, int i)
For a given object type, returns the name of the i-th object.
int GetNumberOfObjectArraysOfType(int otype)
Returns the number of arrays defined over objects of a given type (e.g., EX_ELEM_BLOCK,...
ObjectInfoType * GetObjectInfo(int typeIndex, int objectIndex)
Return a pointer to the ObjectInfo of the specified type and index.
int SqueezePoints
Should the reader output only points used by elements in the output mesh, or all the points.
static const char * GetGlobalVariableNamesArrayName()
int AssembleOutputCellMaps(vtkIdType timeStep, int otyp, int oidx, BlockSetInfoType *bsinfop, vtkUnstructuredGrid *output)
int AssembleOutputCellArrays(vtkIdType timeStep, int otyp, int oidx, BlockSetInfoType *bsinfop, vtkUnstructuredGrid *output)
Add the requested arrays to the output grid's cell data.
static const char * GetGlobalElementIdArrayName()
ObjectInfoType * GetSortedObjectInfo(int objectType, int objectIndex)
Return a pointer to the ObjectInfo of the specified type and index, but using indices sorted by objec...
vtkExodusIIReaderParser * Parser
static const char * GetImplicitElementIdArrayName()
int GetPartStatus(int idx)
const char * GetPartName(int idx)
double CacheSize
The size of the cache in MiB.
void SetAssemblyStatus(vtkStdString name, int flag)
int GetAssemblyStatus(vtkStdString name)
int AssembleOutputProceduralArrays(vtkIdType timeStep, int otyp, int oidx, vtkUnstructuredGrid *output)
Add procedurally generated arrays to an output mesh.
void SetMaterialStatus(int idx, int on)
static const char * GetGlobalVariableValuesArrayName()
virtual void SetParser(vtkExodusIIReaderParser *)
int GetNumberOfTimeSteps()
Return the number of time steps in the open file.
int SetUpEmptyGrid(vtkMultiBlockDataSet *output)
Description: Prepare a data set with the proper structure and arrays but no cells.
int GetMaterialStatus(int idx)
vtkDataArray * FindDisplacementVectors(int timeStep)
vtkIdType GetSqueezePointId(BlockSetInfoType *bsinfop, int i)
Find or create a new SqueezePoint ID (unique sequential list of points referenced by cells in blocks/...
std::vector< PartInfoType > PartInfo
ArrayInfoType * FindArrayInfoByName(int otyp, const char *name)
Find an ArrayInfo object for a specific object type using the name as a key.
vtkDataArray * GetCacheOrRead(vtkExodusIICacheKey)
Return an array for the specified cache key.
vtkExodusIICache * Cache
A least-recently-used cache to hold raw arrays.
void SetTimesOverrides(const std::vector< double > &times)
GlomTypes
Tags to indicate how single-component Exodus arrays are glommed (aggregated) into multi-component VTK...
int GetSetTypeFromSetConnType(int sctyp)
Given a set connectivity type (NODE_SET_CONN, ...), return the associated object type (NODE_SET,...
int Exoid
The handle of the currently open file.
void GlomArrayNames(int i, int num_obj, int num_vars, char **var_names, int *truth_tab)
Aggregate Exodus array names into VTK arrays with multiple components.
int GetNumberOfObjectsAtTypeIndex(int typeIndex)
Return the number of objects of the given type.
const char * GetObjectAttributeName(int objectType, int objectIndex, int attributeIndex)
void SetObjectStatus(int otype, int i, int stat)
For a given object type, sets the status of the i-th object.
const char * GetMaterialName(int idx)
Read exodus 2 files .ex2.
a simple class to control print indentation
Definition: vtkIndent.h:40
dynamic, self-adjusting array of int
Definition: vtkIntArray.h:46
Composite dataset that organizes datasets into blocks.
An editable directed graph.
abstract base class for most VTK objects
Definition: vtkObject.h:60
Read Exodus II files (.exii)
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:49
record modification and/or execution time
Definition: vtkTimeStamp.h:36
dataset represents arbitrary combinations of all possible cell types
@ field
Definition: vtkX3D.h:177
@ on
Definition: vtkX3D.h:439
@ info
Definition: vtkX3D.h:376
@ type
Definition: vtkX3D.h:516
@ name
Definition: vtkX3D.h:219
@ size
Definition: vtkX3D.h:253
A struct to hold information about time-varying arrays.
int StorageType
Storage type of array (a type that can be passed to vtkDataArray::Create())
void Reset()
Clear all the structure members.
int GlomType
The type of "glomming" performed.
std::vector< int > ObjectTruth
A map describing which objects the variable is defined on.
vtkStdString Name
The name of the array.
int Source
The source of the array (Result or Attribute)
std::vector< int > OriginalIndices
The index of each component of the array as ordered by the Exodus file.
int Status
Whether or not the array should be loaded by RequestData.
std::vector< vtkStdString > OriginalNames
The name of each component of the array as defined by the Exodus file.
int Components
The number of components in the array.
A struct to hold information about Exodus blocks.
A struct to hold information about Exodus blocks or sets (they have some members in common)
vtkIdType FileOffset
Id (1-based) of first entry in file-local list across all blocks in file.
vtkUnstructuredGrid * CachedConnectivity
Cached cell connectivity arrays for mesh.
std::map< vtkIdType, vtkIdType > ReversePointMap
A map from nodal ids in the output mesh to those in an Exodus file.
BlockSetInfoType(const BlockSetInfoType &block)
vtkIdType NextSqueezePoint
The next vtk ID to use for a connectivity entry when point squeezing is on and no point ID exists.
BlockSetInfoType & operator=(const BlockSetInfoType &block)
std::map< vtkIdType, vtkIdType > PointMap
A map from nodal IDs in an Exodus file to nodal IDs in the output mesh.
A struct to hold information about Exodus maps.
A struct to hold information about Exodus objects (blocks, sets, maps)
int Size
Number of entries in this block.
int Id
User-assigned identification number.
int Status
Should the reader load this block?
A struct to hold information about Exodus blocks.
A struct to hold information about Exodus sets.
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
int vtkIdType
Definition: vtkType.h:287