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 
22 class VTKIOEXODUS_EXPORT vtkExodusIIReaderPrivate : public vtkObject
23 {
24 public:
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 
69  void ResetSettings();
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 
242  static const char *GetGlobalVariableValuesArrayName()
243  { return "GlobalVariableValues"; }
244  static const char *GetGlobalVariableNamesArrayName()
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 {
279  int GlomType;
284  int Source;
286  int Status;
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;
311  int Status;
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...)
361  int CellType;
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 
379  struct SetInfoType : public BlockSetInfoType {
380  int DistFact; // Number of distribution factors
381  // (for the entire block, not per array or entry)
382  };
383 
386  enum GlomTypes {
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);
433  void SetPartStatus(vtkStdString name, int flag);
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 
493 protected:
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 
670  BlockInfoType* GetBlockFromFileGlobalId( int otyp, int refId );
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 
695  int GetObjectTypeFromMapType( int mtyp );
696  int GetMapTypeFromObjectType( int otyp );
698 
702  int GetSetTypeFromSetConnType( int sctyp );
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 
794  int FileId;
795 
798  //
800  double CacheSize;
801 
806 
819 
824 
826 
830 
832 private:
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.
const char * GetObjectAttributeName(int objectType, int objectIndex, int attributeIndex)
void SetMaterialStatus(vtkStdString name, int flag)
void SetFastPathObjectId(vtkIdType id)
vtkTimeStamp InformationTimeStamp
Time stamp from last time we were in RequestInformation.
vtkExodusIIReader::ObjectType FastPathObjectType
static const char * GetGlobalVariableValuesArrayName()
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)
const char * GetAssemblyName(int idx)
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.
static const char * GetFileIdArrayName()
int IsObjectTypeSet(int otyp)
int CloseFile()
Close any ExodusII file currently open for reading. Returns 0 on success.
ObjectInfoType * GetSortedObjectInfo(int objectType, int objectIndex)
Return a pointer to the ObjectInfo of the specified type and index, but using indices sorted by objec...
void SetObjectAttributeStatus(int objectType, int objectIndex, int attribIndex, int status)
vtkDataArray * FindDisplacementVectors(int timeStep)
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.
void PrepareGeneratedArrayInfo()
Add generated array information to array info lists.
void SetCacheSize(double size)
Set the size of the cache in MiB.
const char * GetObjectName(int otype, int i)
For a given object type, returns the name of the i-th object.
vtkDataArray * GetCacheOrRead(vtkExodusIICacheKey)
Return an array for the specified cache key.
vtkExodusIIReader * Parent
Pointer to owning reader...
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,...
BlockInfoType * GetBlockFromFileGlobalId(int otyp, int refId)
Get the block containing the entity referenced by the specified file-global ID.
void InsertSetCellCopies(vtkIntArray *refs, int otyp, int obj, SetInfoType *sinfo)
Insert cells referenced by an edge, face, or element set.
static const char * GetObjectIdArrayName()
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.
static const char * GetImplicitNodeIdArrayName()
void SetPartStatus(int idx, int on)
static const char * GetGlobalNodeIdArrayName()
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)
static const char * GetGlobalVariableNamesArrayName()
int IsObjectTypeBlock(int otyp)
Does the specified object type match? Avoid using these...
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.
double ModeShapeTime
The time value.
ArrayInfoType * FindArrayInfoByName(int otyp, const char *name)
Find an ArrayInfo object for a specific object type using the name as a key.
void DetermineVtkCellType(BlockInfoType &binfo)
Determine the VTK cell type for a given edge/face/element block.
ObjectInfoType * GetObjectInfo(int typeIndex, int objectIndex)
Return a pointer to the ObjectInfo of the specified type and index.
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...
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)
const char * GetPartName(int idx)
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.
const char * GetMaterialName(int idx)
ObjectInfoType * GetUnsortedObjectInfo(int objectType, int objectIndex)
Return a pointer to the ObjectInfo of the specified type and index, but using indices sorted by objec...
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.
void InsertSetNodeCopies(vtkIntArray *refs, int otyp, int obj, SetInfoType *sinfo)
Insert cells referenced by a node set.
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, ....
static const char * GetGlobalElementIdArrayName()
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.
static const char * GetImplicitElementIdArrayName()
void InsertBlockPolyhedra(BlockInfoType *binfo, vtkIntArray *facesPerCell, vtkIntArray *pointsPerFace, vtkIntArray *exoCellConn, vtkIntArray *exoFaceConn)
Insert polyhedral cells (called from InsertBlockCells when a block is polyhedra)
vtkMutableDirectedGraph * GetSIL()
Returns the SIL. This valid only after BuildSIL() has been called.
int RequestInformation()
Get metadata for an open file with handle exoid.
void ClearConnectivityCaches()
Delete any cached connectivity information (for all blocks and sets)
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...
int GetNumberOfObjectArraysOfType(int otype)
Returns the number of arrays defined over objects of a given type (e.g., EX_ELEM_BLOCK,...
int SqueezePoints
Should the reader output only points used by elements in the output mesh, or all the points.
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.
const struct ex_init_params * GetModelParams() const
vtkExodusIIReaderParser * Parser
int GetPartStatus(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.
const char * GetPartBlockInfo(int idx)
void SetMaterialStatus(int idx, int on)
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)
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
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.
void SetObjectStatus(int otype, int i, int stat)
For a given object type, sets the status of the i-th object.
static vtkExodusIIReaderPrivate * New()
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.
BlockSetInfoType & operator=(const BlockSetInfoType &block)
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.
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