VTK  9.3.20240418
vtkExodusIIReader.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-FileCopyrightText: Copyright (c) Sandia Corporation
3 // SPDX-License-Identifier: BSD-3-Clause
4 
54 #ifndef vtkExodusIIReader_h
55 #define vtkExodusIIReader_h
56 
57 #include "vtkIOExodusModule.h" // For export macro
59 
60 VTK_ABI_NAMESPACE_BEGIN
61 class vtkDataArray;
62 class vtkDataSet;
63 class vtkExodusIICache;
65 class vtkFloatArray;
66 class vtkGraph;
68 class vtkIntArray;
69 class vtkPoints;
71 
72 class VTKIOEXODUS_EXPORT vtkExodusIIReader : public vtkMultiBlockDataSetAlgorithm
73 {
74 public:
77  void PrintSelf(ostream& os, vtkIndent indent) override;
78 
82  virtual int CanReadFile(VTK_FILEPATH const char* fname);
83 
84  // virtual void Modified();
85 
89  vtkMTimeType GetMTime() override;
90 
97 
99 
102  virtual void SetFileName(VTK_FILEPATH const char* fname);
105 
107 
110  virtual void SetXMLFileName(VTK_FILEPATH const char* fname);
111  vtkGetFilePathMacro(XMLFileName);
113 
115 
118  vtkSetMacro(TimeStep, int);
119  vtkGetMacro(TimeStep, int);
121 
126  void SetModeShape(int val) { this->SetTimeStep(val - 1); }
127 
129 
135  vtkGetVector2Macro(ModeShapesRange, int);
137 
139 
144  vtkGetVector2Macro(TimeStepRange, int);
146 
148 
161  vtkBooleanMacro(GenerateObjectIdCellArray, vtkTypeBool);
162  static const char* GetObjectIdArrayName() { return "ObjectId"; }
164 
167  vtkBooleanMacro(GenerateGlobalElementIdArray, vtkTypeBool);
168 
171  vtkBooleanMacro(GenerateGlobalNodeIdArray, vtkTypeBool);
172 
175  vtkBooleanMacro(GenerateImplicitElementIdArray, vtkTypeBool);
176 
179  vtkBooleanMacro(GenerateImplicitNodeIdArray, vtkTypeBool);
180 
183  vtkBooleanMacro(GenerateFileIdArray, vtkTypeBool);
184 
185  virtual void SetFileId(int f);
186  int GetFileId();
187 
189 
195  enum
196  {
197  SEARCH_TYPE_ELEMENT = 0,
201  ID_NOT_FOUND = -234121312
202  };
203  // NOTE: GetNumberOfObjectTypes must be updated whenever you add an entry to enum ObjectType {...}
205  {
206  // match Exodus macros from exodusII.h and exodusII_ext.h
207  EDGE_BLOCK = 6,
208  FACE_BLOCK = 8,
209  ELEM_BLOCK = 1,
210  NODE_SET = 2,
211  EDGE_SET = 7,
212  FACE_SET = 9,
213  SIDE_SET = 3,
214  ELEM_SET = 10,
215  NODE_MAP = 5,
216  EDGE_MAP = 11,
217  FACE_MAP = 12,
218  ELEM_MAP = 4,
219  GLOBAL = 13,
220  NODAL = 14,
221  // extended values (not in Exodus headers) for use with SetAllArrayStatus:
222  ASSEMBLY = 60,
223  PART = 61,
224  MATERIAL = 62,
225  HIERARCHY = 63,
226  // extended values (not in Exodus headers) for use in cache keys:
227  QA_RECORDS = 103,
228  INFO_RECORDS = 104,
229  GLOBAL_TEMPORAL = 102,
230  NODAL_TEMPORAL = 101,
231  ELEM_BLOCK_TEMPORAL = 100,
232  GLOBAL_CONN = 99,
233  ELEM_BLOCK_ELEM_CONN = 98,
234  ELEM_BLOCK_FACE_CONN =
235  97,
236  ELEM_BLOCK_EDGE_CONN =
237  96,
238  FACE_BLOCK_CONN = 95,
239  EDGE_BLOCK_CONN = 94,
240  ELEM_SET_CONN = 93,
241  SIDE_SET_CONN = 92,
242  FACE_SET_CONN = 91,
243  EDGE_SET_CONN = 90,
244  NODE_SET_CONN = 89,
245  NODAL_COORDS = 88,
246  OBJECT_ID = 87,
247  IMPLICIT_ELEMENT_ID = 108,
248  IMPLICIT_NODE_ID = 107,
249  GLOBAL_ELEMENT_ID =
250  86,
251  GLOBAL_NODE_ID =
252  85,
253  ELEMENT_ID = 84,
254  NODE_ID = 83,
255  NODAL_SQUEEZEMAP = 82,
256  ELEM_BLOCK_ATTRIB = 81,
257  FACE_BLOCK_ATTRIB = 80,
258  EDGE_BLOCK_ATTRIB = 79,
259  FACE_ID = 105,
260  EDGE_ID = 106,
261  ENTITY_COUNTS = 109
262  };
264 
265  static const char* GetGlobalElementIdArrayName() { return "GlobalElementId"; }
266  static const char* GetPedigreeElementIdArrayName() { return "PedigreeElementId"; }
267  static int GetGlobalElementID(vtkDataSet* data, int localID);
268  static int GetGlobalElementID(vtkDataSet* data, int localID, int searchType);
269  static const char* GetImplicitElementIdArrayName() { return "ImplicitElementId"; }
270 
271  static const char* GetGlobalFaceIdArrayName() { return "GlobalFaceId"; }
272  static const char* GetPedigreeFaceIdArrayName() { return "PedigreeFaceId"; }
273  static int GetGlobalFaceID(vtkDataSet* data, int localID);
274  static int GetGlobalFaceID(vtkDataSet* data, int localID, int searchType);
275  static const char* GetImplicitFaceIdArrayName() { return "ImplicitFaceId"; }
276 
277  static const char* GetGlobalEdgeIdArrayName() { return "GlobalEdgeId"; }
278  static const char* GetPedigreeEdgeIdArrayName() { return "PedigreeEdgeId"; }
279  static int GetGlobalEdgeID(vtkDataSet* data, int localID);
280  static int GetGlobalEdgeID(vtkDataSet* data, int localID, int searchType);
281  static const char* GetImplicitEdgeIdArrayName() { return "ImplicitEdgeId"; }
282 
284 
290  static const char* GetGlobalNodeIdArrayName() { return "GlobalNodeId"; }
291  static const char* GetPedigreeNodeIdArrayName() { return "PedigreeNodeId"; }
292  static int GetGlobalNodeID(vtkDataSet* data, int localID);
293  static int GetGlobalNodeID(vtkDataSet* data, int localID, int searchType);
294  static const char* GetImplicitNodeIdArrayName() { return "ImplicitNodeId"; }
296 
301  static const char* GetSideSetSourceElementIdArrayName() { return "SourceElementId"; }
302 
307  static const char* GetSideSetSourceElementSideArrayName() { return "SourceElementSide"; }
309 
318  vtkBooleanMacro(ApplyDisplacements, vtkTypeBool);
319  virtual void SetDisplacementMagnitude(float s);
322 
324 
329  virtual void SetHasModeShapes(vtkTypeBool ms);
331  vtkBooleanMacro(HasModeShapes, vtkTypeBool);
333 
335 
342  virtual void SetModeShapeTime(double phase);
345 
347 
354  virtual void SetAnimateModeShapes(vtkTypeBool flag);
356  vtkBooleanMacro(AnimateModeShapes, vtkTypeBool);
358 
360 
366  virtual void SetIgnoreFileTime(bool flag);
368  vtkBooleanMacro(IgnoreFileTime, bool);
370 
372 
375  const char* GetTitle();
379 
384 
385  int GetObjectTypeFromName(const char* name);
386  const char* GetObjectTypeName(int);
387 
389  int GetNumberOfObjects(int objectType);
390  int GetNumberOfEntriesInObject(int objectType, int objectIndex);
391  int GetObjectId(int objectType, int objectIndex);
392  const char* GetObjectName(int objectType, int objectIndex);
394  int GetObjectIndex(int objectType, const char* objectName);
395  int GetObjectIndex(int objectType, int id);
396  int GetObjectStatus(int objectType, int objectIndex);
397  int GetObjectStatus(int objectType, const char* objectName)
398  {
399  return this->GetObjectStatus(objectType, this->GetObjectIndex(objectType, objectName));
400  }
401  void SetObjectStatus(int objectType, int objectIndex, int status);
402  void SetObjectStatus(int objectType, const char* objectName, int status);
403 
405 
411  int GetNumberOfObjectArrays(int objectType);
412  const char* GetObjectArrayName(int objectType, int arrayIndex);
413  int GetObjectArrayIndex(int objectType, const char* arrayName);
414  int GetNumberOfObjectArrayComponents(int objectType, int arrayIndex);
415  int GetObjectArrayStatus(int objectType, int arrayIndex);
416  int GetObjectArrayStatus(int objectType, const char* arrayName)
417  {
418  return this->GetObjectArrayStatus(objectType, this->GetObjectArrayIndex(objectType, arrayName));
419  }
420  void SetObjectArrayStatus(int objectType, int arrayIndex, int status);
421  void SetObjectArrayStatus(int objectType, const char* arrayName, int status);
423 
425 
431  int GetNumberOfObjectAttributes(int objectType, int objectIndex);
432  const char* GetObjectAttributeName(int objectType, int objectIndex, int attribIndex);
433  int GetObjectAttributeIndex(int objectType, int objectIndex, const char* attribName);
434  int GetObjectAttributeStatus(int objectType, int objectIndex, int attribIndex);
435  int GetObjectAttributeStatus(int objectType, int objectIndex, const char* attribName)
436  {
437  return this->GetObjectAttributeStatus(
438  objectType, objectIndex, this->GetObjectAttributeIndex(objectType, objectIndex, attribName));
439  }
440  void SetObjectAttributeStatus(int objectType, int objectIndex, int attribIndex, int status);
441  void SetObjectAttributeStatus(int objectType, int objectIndex, const char* attribName, int status)
442  {
443  this->SetObjectAttributeStatus(objectType, objectIndex,
444  this->GetObjectAttributeIndex(objectType, objectIndex, attribName), status);
445  }
447 
452 
454 
460  const char* GetPartArrayName(int arrayIdx);
461  int GetPartArrayID(const char* name);
462  const char* GetPartBlockInfo(int arrayIdx);
463  void SetPartArrayStatus(int index, int flag);
464  void SetPartArrayStatus(const char*, int flag);
466  int GetPartArrayStatus(const char*);
468 
470 
477  const char* GetMaterialArrayName(int arrayIdx);
478  int GetMaterialArrayID(const char* name);
479  void SetMaterialArrayStatus(int index, int flag);
480  void SetMaterialArrayStatus(const char*, int flag);
482  int GetMaterialArrayStatus(const char*);
484 
486 
493  const char* GetAssemblyArrayName(int arrayIdx);
494  int GetAssemblyArrayID(const char* name);
495  void SetAssemblyArrayStatus(int index, int flag);
496  void SetAssemblyArrayStatus(const char*, int flag);
498  int GetAssemblyArrayStatus(const char*);
500 
502 
512  const char* GetHierarchyArrayName(int arrayIdx);
513  void SetHierarchyArrayStatus(int index, int flag);
514  void SetHierarchyArrayStatus(const char*, int flag);
516  int GetHierarchyArrayStatus(const char*);
518 
519  vtkGetMacro(DisplayType, int);
520  virtual void SetDisplayType(int type);
521 
525  int IsValidVariable(const char* type, const char* name);
526 
530  int GetVariableID(const char* type, const char* name);
531 
532  void SetAllArrayStatus(int otype, int status);
533  // Helper functions
534  // static int StringsEqual(const char* s1, char* s2);
535  // static void StringUppercase(const char* str, char* upperstr);
536  // static char *StrDupWithNew(const char *s);
537 
538  // time series query functions
539  int GetTimeSeriesData(int ID, const char* vName, const char* vType, vtkFloatArray* result);
540 
541  int GetNumberOfEdgeBlockArrays() { return this->GetNumberOfObjects(EDGE_BLOCK); }
542  const char* GetEdgeBlockArrayName(int index) { return this->GetObjectName(EDGE_BLOCK, index); }
543  int GetEdgeBlockArrayStatus(const char* name) { return this->GetObjectStatus(EDGE_BLOCK, name); }
544  void SetEdgeBlockArrayStatus(const char* name, int flag)
545  {
546  this->SetObjectStatus(EDGE_BLOCK, name, flag);
547  }
548 
549  int GetNumberOfFaceBlockArrays() { return this->GetNumberOfObjects(FACE_BLOCK); }
550  const char* GetFaceBlockArrayName(int index) { return this->GetObjectName(FACE_BLOCK, index); }
551  int GetFaceBlockArrayStatus(const char* name) { return this->GetObjectStatus(FACE_BLOCK, name); }
552  void SetFaceBlockArrayStatus(const char* name, int flag)
553  {
554  this->SetObjectStatus(FACE_BLOCK, name, flag);
555  }
556 
557  int GetNumberOfElementBlockArrays() { return this->GetNumberOfObjects(ELEM_BLOCK); }
558  const char* GetElementBlockArrayName(int index) { return this->GetObjectName(ELEM_BLOCK, index); }
560  {
561  return this->GetObjectStatus(ELEM_BLOCK, name);
562  }
563  void SetElementBlockArrayStatus(const char* name, int flag)
564  {
565  this->SetObjectStatus(ELEM_BLOCK, name, flag);
566  }
567 
568  int GetNumberOfGlobalResultArrays() { return this->GetNumberOfObjectArrays(GLOBAL); }
570  {
571  return this->GetObjectArrayName(GLOBAL, index);
572  }
574  {
575  return this->GetObjectArrayStatus(GLOBAL, name);
576  }
577  void SetGlobalResultArrayStatus(const char* name, int flag)
578  {
579  this->SetObjectArrayStatus(GLOBAL, name, flag);
580  }
581 
582  int GetNumberOfPointResultArrays() { return this->GetNumberOfObjectArrays(NODAL); }
583  const char* GetPointResultArrayName(int index) { return this->GetObjectArrayName(NODAL, index); }
585  {
586  return this->GetObjectArrayStatus(NODAL, name);
587  }
588  void SetPointResultArrayStatus(const char* name, int flag)
589  {
590  this->SetObjectArrayStatus(NODAL, name, flag);
591  }
592 
593  int GetNumberOfEdgeResultArrays() { return this->GetNumberOfObjectArrays(EDGE_BLOCK); }
594  const char* GetEdgeResultArrayName(int index)
595  {
596  return this->GetObjectArrayName(EDGE_BLOCK, index);
597  }
599  {
600  return this->GetObjectArrayStatus(EDGE_BLOCK, name);
601  }
602  void SetEdgeResultArrayStatus(const char* name, int flag)
603  {
604  this->SetObjectArrayStatus(EDGE_BLOCK, name, flag);
605  }
606 
607  int GetNumberOfFaceResultArrays() { return this->GetNumberOfObjectArrays(FACE_BLOCK); }
608  const char* GetFaceResultArrayName(int index)
609  {
610  return this->GetObjectArrayName(FACE_BLOCK, index);
611  }
613  {
614  return this->GetObjectArrayStatus(FACE_BLOCK, name);
615  }
616  void SetFaceResultArrayStatus(const char* name, int flag)
617  {
618  this->SetObjectArrayStatus(FACE_BLOCK, name, flag);
619  }
620 
621  int GetNumberOfElementResultArrays() { return this->GetNumberOfObjectArrays(ELEM_BLOCK); }
623  {
624  return this->GetObjectArrayName(ELEM_BLOCK, index);
625  }
627  {
628  return this->GetObjectArrayStatus(ELEM_BLOCK, name);
629  }
630  void SetElementResultArrayStatus(const char* name, int flag)
631  {
632  this->SetObjectArrayStatus(ELEM_BLOCK, name, flag);
633  }
634 
635  int GetNumberOfNodeMapArrays() { return this->GetNumberOfObjects(NODE_MAP); }
636  const char* GetNodeMapArrayName(int index) { return this->GetObjectName(NODE_MAP, index); }
637  int GetNodeMapArrayStatus(const char* name) { return this->GetObjectStatus(NODE_MAP, name); }
638  void SetNodeMapArrayStatus(const char* name, int flag)
639  {
640  this->SetObjectStatus(NODE_MAP, name, flag);
641  }
642 
643  int GetNumberOfEdgeMapArrays() { return this->GetNumberOfObjects(EDGE_MAP); }
644  const char* GetEdgeMapArrayName(int index) { return this->GetObjectName(EDGE_MAP, index); }
645  int GetEdgeMapArrayStatus(const char* name) { return this->GetObjectStatus(EDGE_MAP, name); }
646  void SetEdgeMapArrayStatus(const char* name, int flag)
647  {
648  this->SetObjectStatus(EDGE_MAP, name, flag);
649  }
650 
651  int GetNumberOfFaceMapArrays() { return this->GetNumberOfObjects(FACE_MAP); }
652  const char* GetFaceMapArrayName(int index) { return this->GetObjectName(FACE_MAP, index); }
653  int GetFaceMapArrayStatus(const char* name) { return this->GetObjectStatus(FACE_MAP, name); }
654  void SetFaceMapArrayStatus(const char* name, int flag)
655  {
656  this->SetObjectStatus(FACE_MAP, name, flag);
657  }
658 
659  int GetNumberOfElementMapArrays() { return this->GetNumberOfObjects(ELEM_MAP); }
660  const char* GetElementMapArrayName(int index) { return this->GetObjectName(ELEM_MAP, index); }
661  int GetElementMapArrayStatus(const char* name) { return this->GetObjectStatus(ELEM_MAP, name); }
662  void SetElementMapArrayStatus(const char* name, int flag)
663  {
664  this->SetObjectStatus(ELEM_MAP, name, flag);
665  }
666 
667  int GetNumberOfNodeSetArrays() { return this->GetNumberOfObjects(NODE_SET); }
668  const char* GetNodeSetArrayName(int index) { return this->GetObjectName(NODE_SET, index); }
669  int GetNodeSetArrayStatus(const char* name) { return this->GetObjectStatus(NODE_SET, name); }
670  void SetNodeSetArrayStatus(const char* name, int flag)
671  {
672  this->SetObjectStatus(NODE_SET, name, flag);
673  }
674 
675  int GetNumberOfSideSetArrays() { return this->GetNumberOfObjects(SIDE_SET); }
676  const char* GetSideSetArrayName(int index) { return this->GetObjectName(SIDE_SET, index); }
677  int GetSideSetArrayStatus(const char* name) { return this->GetObjectStatus(SIDE_SET, name); }
678  void SetSideSetArrayStatus(const char* name, int flag)
679  {
680  this->SetObjectStatus(SIDE_SET, name, flag);
681  }
682 
683  int GetNumberOfEdgeSetArrays() { return this->GetNumberOfObjects(EDGE_SET); }
684  const char* GetEdgeSetArrayName(int index) { return this->GetObjectName(EDGE_SET, index); }
685  int GetEdgeSetArrayStatus(const char* name) { return this->GetObjectStatus(EDGE_SET, name); }
686  void SetEdgeSetArrayStatus(const char* name, int flag)
687  {
688  this->SetObjectStatus(EDGE_SET, name, flag);
689  }
690 
691  int GetNumberOfFaceSetArrays() { return this->GetNumberOfObjects(FACE_SET); }
692  const char* GetFaceSetArrayName(int index) { return this->GetObjectName(FACE_SET, index); }
693  int GetFaceSetArrayStatus(const char* name) { return this->GetObjectStatus(FACE_SET, name); }
694  void SetFaceSetArrayStatus(const char* name, int flag)
695  {
696  this->SetObjectStatus(FACE_SET, name, flag);
697  }
698 
699  int GetNumberOfElementSetArrays() { return this->GetNumberOfObjects(ELEM_SET); }
700  const char* GetElementSetArrayName(int index) { return this->GetObjectName(ELEM_SET, index); }
701  int GetElementSetArrayStatus(const char* name) { return this->GetObjectStatus(ELEM_SET, name); }
702  void SetElementSetArrayStatus(const char* name, int flag)
703  {
704  this->SetObjectStatus(ELEM_SET, name, flag);
705  }
706 
707  int GetNumberOfNodeSetResultArrays() { return this->GetNumberOfObjectArrays(NODE_SET); }
709  {
710  return this->GetObjectArrayName(NODE_SET, index);
711  }
713  {
714  return this->GetObjectArrayStatus(NODE_SET, name);
715  }
716  void SetNodeSetResultArrayStatus(const char* name, int flag)
717  {
718  this->SetObjectArrayStatus(NODE_SET, name, flag);
719  }
720 
721  int GetNumberOfSideSetResultArrays() { return this->GetNumberOfObjectArrays(SIDE_SET); }
723  {
724  return this->GetObjectArrayName(SIDE_SET, index);
725  }
727  {
728  return this->GetObjectArrayStatus(SIDE_SET, name);
729  }
730  void SetSideSetResultArrayStatus(const char* name, int flag)
731  {
732  this->SetObjectArrayStatus(SIDE_SET, name, flag);
733  }
734 
735  int GetNumberOfEdgeSetResultArrays() { return this->GetNumberOfObjectArrays(EDGE_SET); }
737  {
738  return this->GetObjectArrayName(EDGE_SET, index);
739  }
741  {
742  return this->GetObjectArrayStatus(EDGE_SET, name);
743  }
744  void SetEdgeSetResultArrayStatus(const char* name, int flag)
745  {
746  this->SetObjectArrayStatus(EDGE_SET, name, flag);
747  }
748 
749  int GetNumberOfFaceSetResultArrays() { return this->GetNumberOfObjectArrays(FACE_SET); }
751  {
752  return this->GetObjectArrayName(FACE_SET, index);
753  }
755  {
756  return this->GetObjectArrayStatus(FACE_SET, name);
757  }
758  void SetFaceSetResultArrayStatus(const char* name, int flag)
759  {
760  this->SetObjectArrayStatus(FACE_SET, name, flag);
761  }
762 
763  int GetNumberOfElementSetResultArrays() { return this->GetNumberOfObjectArrays(ELEM_SET); }
765  {
766  return this->GetObjectArrayName(ELEM_SET, index);
767  }
769  {
770  return this->GetObjectArrayStatus(ELEM_SET, name);
771  }
772  void SetElementSetResultArrayStatus(const char* name, int flag)
773  {
774  this->SetObjectArrayStatus(ELEM_SET, name, flag);
775  }
776 
785  void Reset();
786 
796 
800  void ResetCache();
801 
805  void SetCacheSize(double CacheSize);
806 
810  double GetCacheSize();
811 
813 
825  void SetSqueezePoints(bool sp);
828 
829  virtual void Dump();
830 
836 
838 
841  vtkGetMacro(SILUpdateStamp, int);
843 
845 
851 
853 
864 
866 
873  vtkSetMacro(UseLegacyBlockNames, bool);
874  vtkGetMacro(UseLegacyBlockNames, bool);
875  vtkBooleanMacro(UseLegacyBlockNames, bool);
877 protected:
879  ~vtkExodusIIReader() override;
880 
881  // helper for finding IDs
882  static int GetIDHelper(const char* arrayName, vtkDataSet* data, int localID, int searchType);
883  static int GetGlobalID(const char* arrayName, vtkDataSet* data, int localID, int searchType);
884 
886  vtkGetObjectMacro(Metadata, vtkExodusIIReaderPrivate);
887 
892  bool FindXMLFile();
893 
894  // Time query function. Called by ExecuteInformation().
895  // Fills the TimestepValues array.
897 
902 
907  // int RequestDataOverTime( vtkInformation *, vtkInformationVector **, vtkInformationVector *);
908 
909  // Parameters for controlling what is read in.
910  char* FileName;
911  char* XMLFileName;
912  int TimeStep;
913  int TimeStepRange[2];
916 
917  // Information specific for exodus files.
918 
919  // 1=display Block names
920  // 2=display Part names
921  // 3=display Material names
923 
924  // Metadata containing a description of the currently open file.
926 
928 
929  friend class vtkPExodusIIReader;
930 
931 private:
932  vtkExodusIIReader(const vtkExodusIIReader&) = delete;
933  void operator=(const vtkExodusIIReader&) = delete;
934 
935  void AddDisplacements(vtkUnstructuredGrid* output);
936  int ModeShapesRange[2];
937 
938  bool UseLegacyBlockNames;
939 };
940 
941 VTK_ABI_NAMESPACE_END
942 #endif
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:155
abstract class to specify dataset behavior
Definition: vtkDataSet.h:166
This class holds metadata for an Exodus file.
Read exodus 2 files .ex2.
virtual void SetGenerateGlobalNodeIdArray(vtkTypeBool g)
int GetNumberOfElementsInFile()
int IsValidVariable(const char *type, const char *name)
return boolean indicating whether the type,name is a valid variable
vtkTypeBool ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
see vtkAlgorithm for details
const char * GetFaceSetResultArrayName(int index)
vtkTypeBool GetAnimateModeShapes()
If this flag is on (the default) and HasModeShapes is also on, then this reader will report a continu...
virtual void SetFileName(VTK_FILEPATH const char *fname)
Specify file name of the Exodus file.
const char * GetEdgeMapArrayName(int index)
const char * GetNodeMapArrayName(int index)
int GetEdgeBlockArrayStatus(const char *name)
int GetFaceResultArrayStatus(const char *name)
virtual void SetFileId(int f)
void SetEdgeBlockArrayStatus(const char *name, int flag)
int GetNumberOfFacesInFile()
static int GetGlobalNodeID(vtkDataSet *data, int localID, int searchType)
Extra point data array that can be generated.
vtkTypeBool GetGenerateImplicitNodeIdArray()
static const char * GetImplicitEdgeIdArrayName()
const char * GetEdgeResultArrayName(int index)
static int GetGlobalFaceID(vtkDataSet *data, int localID)
int GetObjectArrayStatus(int objectType, int arrayIndex)
By default arrays are not loaded.
static const char * GetImplicitNodeIdArrayName()
Extra point data array that can be generated.
int GetObjectIndex(int objectType, const char *objectName)
void SetElementResultArrayStatus(const char *name, int flag)
static const char * GetPedigreeElementIdArrayName()
int GetNumberOfObjectArrays(int objectType)
By default arrays are not loaded.
int GetEdgeSetResultArrayStatus(const char *name)
void SetElementMapArrayStatus(const char *name, int flag)
void SetElementSetArrayStatus(const char *name, int flag)
const char * GetEdgeSetResultArrayName(int index)
const char * GetSideSetResultArrayName(int index)
void SetSideSetResultArrayStatus(const char *name, int flag)
int GetMaterialArrayStatus(const char *)
By default all materials are loaded.
int GetNodeMapArrayStatus(const char *name)
int GetNumberOfHierarchyArrays()
By default all hierarchy entries are loaded.
static int GetGlobalEdgeID(vtkDataSet *data, int localID, int searchType)
int GetElementMapArrayStatus(const char *name)
void SetEdgeResultArrayStatus(const char *name, int flag)
int GetNumberOfPartArrays()
By default all parts are loaded.
int GetHierarchyArrayStatus(const char *)
By default all hierarchy entries are loaded.
int GetNumberOfTimeSteps()
Access to meta data generated by UpdateInformation.
vtkTypeBool GetGenerateFileIdArray()
int GetNumberOfNodesInFile()
virtual void Dump()
void SetFaceBlockArrayStatus(const char *name, int flag)
int GetPointResultArrayStatus(const char *name)
int GetPartArrayStatus(int index)
By default all parts are loaded.
void SetPartArrayStatus(int index, int flag)
By default all parts are loaded.
virtual void SetHasModeShapes(vtkTypeBool ms)
Set/Get whether the Exodus sequence number corresponds to time steps or mode shapes.
const char * GetElementResultArrayName(int index)
static int GetGlobalID(const char *arrayName, vtkDataSet *data, int localID, int searchType)
static const char * GetPedigreeFaceIdArrayName()
vtkTypeBool GetGenerateGlobalElementIdArray()
virtual void SetGenerateImplicitNodeIdArray(vtkTypeBool g)
int GetPartArrayID(const char *name)
By default all parts are loaded.
~vtkExodusIIReader() override
bool GetSqueezePoints()
Should the reader output only points used by elements in the output mesh, or all the points.
int GetEdgeMapArrayStatus(const char *name)
void SetPartArrayStatus(const char *, int flag)
By default all parts are loaded.
vtkExodusIIReaderPrivate * Metadata
int GetMaterialArrayStatus(int index)
By default all materials are loaded.
int GetNumberOfEdgeSetResultArrays()
int GetElementResultArrayStatus(const char *name)
int GetNumberOfAssemblyArrays()
By default all assemblies are loaded.
const char * GetObjectName(int objectType, int objectIndex)
void SetAssemblyArrayStatus(const char *, int flag)
By default all assemblies are loaded.
int GetNumberOfSideSetResultArrays()
int GetNumberOfNodeSetResultArrays()
int GetEdgeSetArrayStatus(const char *name)
void SetNodeSetResultArrayStatus(const char *name, int flag)
const char * GetGlobalResultArrayName(int index)
void SetMaterialArrayStatus(int index, int flag)
By default all materials are loaded.
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
static vtkInformationIntegerKey * GLOBAL_VARIABLE()
Exodus reader outputs global variables and global temporal variables, together with some other variab...
int GetNodeSetResultArrayStatus(const char *name)
virtual void SetGenerateGlobalElementIdArray(vtkTypeBool g)
void SetAllArrayStatus(int otype, int status)
int GetHierarchyArrayStatus(int index)
By default all hierarchy entries are loaded.
const char * GetFaceResultArrayName(int index)
vtkTypeBool GetGenerateObjectIdCellArray()
Extra cell data array that can be generated.
int GetNumberOfMaterialArrays()
By default all materials are loaded.
vtkTypeBool GetGenerateImplicitElementIdArray()
void ResetCache()
Clears out the cache entries.
virtual void SetMetadata(vtkExodusIIReaderPrivate *)
void SetMaterialArrayStatus(const char *, int flag)
By default all materials are loaded.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void Reset()
Reset the user-specified parameters and flush internal arrays so that the reader state is just as it ...
double GetCacheSize()
Get the size of the cache in MiB.
virtual void SetDisplayType(int type)
static const char * GetGlobalEdgeIdArrayName()
static vtkExodusIIReader * New()
int GetNumberOfEntriesInObject(int objectType, int objectIndex)
const char * GetElementSetArrayName(int index)
int GetObjectStatus(int objectType, int objectIndex)
void SetSideSetArrayStatus(const char *name, int flag)
void SetNodeMapArrayStatus(const char *name, int flag)
static int GetIDHelper(const char *arrayName, vtkDataSet *data, int localID, int searchType)
void SetEdgeMapArrayStatus(const char *name, int flag)
void SetObjectAttributeStatus(int objectType, int objectIndex, int attribIndex, int status)
By default attributes are not loaded.
const char * GetElementSetResultArrayName(int index)
const char * GetHierarchyArrayName(int arrayIdx)
By default all hierarchy entries are loaded.
vtkTimeStamp FileNameMTime
int GetAssemblyArrayStatus(const char *)
By default all assemblies are loaded.
void SetModeShape(int val)
Convenience method to set the mode-shape which is same as this->SetTimeStep(val-1);.
int GetAssemblyArrayID(const char *name)
By default all assemblies are loaded.
static const char * GetGlobalElementIdArrayName()
static int GetGlobalEdgeID(vtkDataSet *data, int localID)
void SetObjectArrayStatus(int objectType, int arrayIndex, int status)
By default arrays are not loaded.
void SetFaceMapArrayStatus(const char *name, int flag)
bool GetIgnoreFileTime()
When on, this option ignores the time values assigned to each time step in the file.
int GetSideSetArrayStatus(const char *name)
void ResetSettings()
Reset the user-specified parameters to their default values.
const char * GetSideSetArrayName(int index)
const char * GetTitle()
Access to meta data generated by UpdateInformation.
int GetMaterialArrayID(const char *name)
By default all materials are loaded.
void SetFaceResultArrayStatus(const char *name, int flag)
int GetObjectIndex(int objectType, int id)
int GetObjectAttributeStatus(int objectType, int objectIndex, const char *attribName)
By default attributes are not loaded.
static int GetGlobalFaceID(vtkDataSet *data, int localID, int searchType)
const char * GetFaceMapArrayName(int index)
void SetObjectStatus(int objectType, int objectIndex, int status)
static const char * GetSideSetSourceElementSideArrayName()
Get the name of the array that stores the mapping from side set cells back to the canonical side of t...
void SetElementSetResultArrayStatus(const char *name, int flag)
int GetDimensionality()
Access to meta data generated by UpdateInformation.
void SetAssemblyArrayStatus(int index, int flag)
By default all assemblies are loaded.
int GetObjectArrayIndex(int objectType, const char *arrayName)
By default arrays are not loaded.
static vtkInformationIntegerKey * GLOBAL_TEMPORAL_VARIABLE()
Exodus reader outputs global variables and global temporal variables, together with some other variab...
int GetNumberOfObjectAttributes(int objectType, int objectIndex)
By default attributes are not loaded.
void GetAllTimes(vtkInformationVector *)
int GetFaceSetArrayStatus(const char *name)
void SetHierarchyArrayStatus(int index, int flag)
By default all hierarchy entries are loaded.
int GetMaxNameLength()
Get the max_name_length in the file.
const char * GetFaceBlockArrayName(int index)
double GetModeShapeTime()
Set/Get the time used to animate mode shapes.
vtkTimeStamp XMLFileNameMTime
static const char * GetPedigreeNodeIdArrayName()
Extra point data array that can be generated.
int GetEdgeResultArrayStatus(const char *name)
const char * GetObjectArrayName(int objectType, int arrayIndex)
By default arrays are not loaded.
const char * GetPartArrayName(int arrayIdx)
By default all parts are loaded.
float GetDisplacementMagnitude()
Geometric locations can include displacements.
virtual void SetGenerateObjectIdCellArray(vtkTypeBool g)
Extra cell data array that can be generated.
int GetTimeSeriesData(int ID, const char *vName, const char *vType, vtkFloatArray *result)
virtual int CanReadFile(VTK_FILEPATH const char *fname)
Determine if the file can be read with this reader.
void SetObjectStatus(int objectType, const char *objectName, int status)
void SetObjectAttributeStatus(int objectType, int objectIndex, const char *attribName, int status)
By default attributes are not loaded.
const char * GetEdgeSetArrayName(int index)
static int GetGlobalNodeID(vtkDataSet *data, int localID)
Extra point data array that can be generated.
int GetFaceMapArrayStatus(const char *name)
int GetFaceBlockArrayStatus(const char *name)
const char * GetMaterialArrayName(int arrayIdx)
By default all materials are loaded.
virtual vtkIdType GetTotalNumberOfEdges()
virtual vtkMTimeType GetMetadataMTime()
Return the MTime of the internal data structure.
virtual void SetXMLFileName(VTK_FILEPATH const char *fname)
Specify file name of the xml file.
const char * GetElementBlockArrayName(int index)
bool FindXMLFile()
Returns true if the file given by XMLFileName exists.
void AdvertiseTimeSteps(vtkInformation *outputInfo)
Populates the TIME_STEPS and TIME_RANGE keys based on file metadata.
vtkTypeBool GetHasModeShapes()
Set/Get whether the Exodus sequence number corresponds to time steps or mode shapes.
void SetEdgeSetArrayStatus(const char *name, int flag)
static const char * GetGlobalNodeIdArrayName()
Extra point data array that can be generated.
virtual vtkIdType GetTotalNumberOfFaces()
int GetObjectId(int objectType, int objectIndex)
int GetNumberOfElementSetResultArrays()
const char * GetNodeSetResultArrayName(int index)
int GetNumberOfEdgesInFile()
void SetElementBlockArrayStatus(const char *name, int flag)
virtual void SetModeShapeTime(double phase)
Set/Get the time used to animate mode shapes.
const char * GetFaceSetArrayName(int index)
void SetFaceSetArrayStatus(const char *name, int flag)
void SetGlobalResultArrayStatus(const char *name, int flag)
vtkTypeBool GetGenerateGlobalNodeIdArray()
vtkGetFilePathMacro(XMLFileName)
Specify file name of the xml file.
virtual void SetApplyDisplacements(vtkTypeBool d)
Geometric locations can include displacements.
virtual vtkIdType GetTotalNumberOfElements()
vtkMTimeType GetMTime() override
Return the object's MTime.
void SetHierarchyArrayStatus(const char *, int flag)
By default all hierarchy entries are loaded.
int GetNumberOfObjects(int objectType)
const char * GetObjectAttributeName(int objectType, int objectIndex, int attribIndex)
By default attributes are not loaded.
static const char * GetGlobalFaceIdArrayName()
static const char * GetObjectIdArrayName()
Extra cell data array that can be generated.
static const char * GetImplicitFaceIdArrayName()
virtual void SetIgnoreFileTime(bool flag)
When on, this option ignores the time values assigned to each time step in the file.
const char * GetNodeSetArrayName(int index)
int GetAssemblyArrayStatus(int index)
By default all assemblies are loaded.
int GetObjectTypeFromName(const char *name)
vtkGraph * GetSIL()
SIL describes organization of/relationships between classifications eg.
const char * GetEdgeBlockArrayName(int index)
int GetElementBlockArrayStatus(const char *name)
int GetElementSetResultArrayStatus(const char *name)
int GetObjectAttributeIndex(int objectType, int objectIndex, const char *attribName)
By default attributes are not loaded.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void SetDisplacementMagnitude(float s)
Geometric locations can include displacements.
int GetObjectAttributeStatus(int objectType, int objectIndex, int attribIndex)
By default attributes are not loaded.
int GetGlobalResultArrayStatus(const char *name)
virtual vtkIdType GetTotalNumberOfNodes()
static const char * GetSideSetSourceElementIdArrayName()
Get the name of the array that stores the mapping from side set cells back to the global id of the el...
const char * GetObjectTypeName(int)
virtual void SetAnimateModeShapes(vtkTypeBool flag)
If this flag is on (the default) and HasModeShapes is also on, then this reader will report a continu...
virtual void SetGenerateImplicitElementIdArray(vtkTypeBool g)
const char * GetElementMapArrayName(int index)
const char * GetPartBlockInfo(int arrayIdx)
By default all parts are loaded.
void SetPointResultArrayStatus(const char *name, int flag)
int GetVariableID(const char *type, const char *name)
Return the id of the type,name variable.
void SetNodeSetArrayStatus(const char *name, int flag)
int GetSideSetResultArrayStatus(const char *name)
static const char * GetImplicitElementIdArrayName()
void SetSqueezePoints(bool sp)
Should the reader output only points used by elements in the output mesh, or all the points.
static const char * GetPedigreeEdgeIdArrayName()
virtual void SetGenerateFileIdArray(vtkTypeBool f)
void SetFaceSetResultArrayStatus(const char *name, int flag)
int GetNumberOfFaceSetResultArrays()
void SetCacheSize(double CacheSize)
Set the size of the cache in MiB.
static int GetGlobalElementID(vtkDataSet *data, int localID, int searchType)
int GetElementSetArrayStatus(const char *name)
vtkGetFilePathMacro(FileName)
Specify file name of the Exodus file.
ObjectType
Extra cell data array that can be generated.
const char * GetAssemblyArrayName(int arrayIdx)
By default all assemblies are loaded.
int GetNumberOfObjectArrayComponents(int objectType, int arrayIndex)
By default arrays are not loaded.
vtkTypeBool GetApplyDisplacements()
Geometric locations can include displacements.
int GetObjectStatus(int objectType, const char *objectName)
int GetNumberOfElementResultArrays()
int GetObjectArrayStatus(int objectType, const char *arrayName)
By default arrays are not loaded.
void SetEdgeSetResultArrayStatus(const char *name, int flag)
static int GetGlobalElementID(vtkDataSet *data, int localID)
int GetNodeSetArrayStatus(const char *name)
int GetFaceSetResultArrayStatus(const char *name)
int GetPartArrayStatus(const char *)
By default all parts are loaded.
void SetObjectArrayStatus(int objectType, const char *arrayName, int status)
By default arrays are not loaded.
const char * GetPointResultArrayName(int index)
dynamic, self-adjusting array of float
Base class for graph data types.
Definition: vtkGraph.h:340
a simple class to control print indentation
Definition: vtkIndent.h:108
Key for integer values in vtkInformation.
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
dynamic, self-adjusting array of int
Definition: vtkIntArray.h:144
Superclass for algorithms that produce only vtkMultiBlockDataSet as output.
virtual std::string GetObjectName() const
Set/get the name of this object for reporting purposes.
Read Exodus II files (.exii)
represent and manipulate 3D points
Definition: vtkPoints.h:139
record modification and/or execution time
Definition: vtkTimeStamp.h:44
dataset represents arbitrary combinations of all possible cell types
@ type
Definition: vtkX3D.h:516
@ name
Definition: vtkX3D.h:219
@ index
Definition: vtkX3D.h:246
@ data
Definition: vtkX3D.h:315
int vtkTypeBool
Definition: vtkABI.h:64
int vtkIdType
Definition: vtkType.h:315
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270
#define VTK_FILEPATH