VTK  9.3.0
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 
25 #ifndef vtkExodusIIReader_h
26 #define vtkExodusIIReader_h
27 
28 #include "vtkIOExodusModule.h" // For export macro
30 
31 VTK_ABI_NAMESPACE_BEGIN
32 class vtkDataArray;
33 class vtkDataSet;
34 class vtkExodusIICache;
36 class vtkFloatArray;
37 class vtkGraph;
39 class vtkIntArray;
40 class vtkPoints;
42 
43 class VTKIOEXODUS_EXPORT vtkExodusIIReader : public vtkMultiBlockDataSetAlgorithm
44 {
45 public:
48  void PrintSelf(ostream& os, vtkIndent indent) override;
49 
53  virtual int CanReadFile(VTK_FILEPATH const char* fname);
54 
55  // virtual void Modified();
56 
60  vtkMTimeType GetMTime() override;
61 
68 
70 
73  virtual void SetFileName(VTK_FILEPATH const char* fname);
76 
78 
81  virtual void SetXMLFileName(VTK_FILEPATH const char* fname);
82  vtkGetFilePathMacro(XMLFileName);
84 
86 
89  vtkSetMacro(TimeStep, int);
90  vtkGetMacro(TimeStep, int);
92 
97  void SetModeShape(int val) { this->SetTimeStep(val - 1); }
98 
100 
106  vtkGetVector2Macro(ModeShapesRange, int);
108 
110 
115  vtkGetVector2Macro(TimeStepRange, int);
117 
119 
132  vtkBooleanMacro(GenerateObjectIdCellArray, vtkTypeBool);
133  static const char* GetObjectIdArrayName() { return "ObjectId"; }
135 
138  vtkBooleanMacro(GenerateGlobalElementIdArray, vtkTypeBool);
139 
142  vtkBooleanMacro(GenerateGlobalNodeIdArray, vtkTypeBool);
143 
146  vtkBooleanMacro(GenerateImplicitElementIdArray, vtkTypeBool);
147 
150  vtkBooleanMacro(GenerateImplicitNodeIdArray, vtkTypeBool);
151 
154  vtkBooleanMacro(GenerateFileIdArray, vtkTypeBool);
155 
156  virtual void SetFileId(int f);
157  int GetFileId();
158 
160 
166  enum
167  {
168  SEARCH_TYPE_ELEMENT = 0,
172  ID_NOT_FOUND = -234121312
173  };
174  // NOTE: GetNumberOfObjectTypes must be updated whenever you add an entry to enum ObjectType {...}
176  {
177  // match Exodus macros from exodusII.h and exodusII_ext.h
178  EDGE_BLOCK = 6,
179  FACE_BLOCK = 8,
180  ELEM_BLOCK = 1,
181  NODE_SET = 2,
182  EDGE_SET = 7,
183  FACE_SET = 9,
184  SIDE_SET = 3,
185  ELEM_SET = 10,
186  NODE_MAP = 5,
187  EDGE_MAP = 11,
188  FACE_MAP = 12,
189  ELEM_MAP = 4,
190  GLOBAL = 13,
191  NODAL = 14,
192  // extended values (not in Exodus headers) for use with SetAllArrayStatus:
193  ASSEMBLY = 60,
194  PART = 61,
195  MATERIAL = 62,
196  HIERARCHY = 63,
197  // extended values (not in Exodus headers) for use in cache keys:
198  QA_RECORDS = 103,
199  INFO_RECORDS = 104,
200  GLOBAL_TEMPORAL = 102,
201  NODAL_TEMPORAL = 101,
202  ELEM_BLOCK_TEMPORAL = 100,
203  GLOBAL_CONN = 99,
204  ELEM_BLOCK_ELEM_CONN = 98,
205  ELEM_BLOCK_FACE_CONN =
206  97,
207  ELEM_BLOCK_EDGE_CONN =
208  96,
209  FACE_BLOCK_CONN = 95,
210  EDGE_BLOCK_CONN = 94,
211  ELEM_SET_CONN = 93,
212  SIDE_SET_CONN = 92,
213  FACE_SET_CONN = 91,
214  EDGE_SET_CONN = 90,
215  NODE_SET_CONN = 89,
216  NODAL_COORDS = 88,
217  OBJECT_ID = 87,
218  IMPLICIT_ELEMENT_ID = 108,
219  IMPLICIT_NODE_ID = 107,
220  GLOBAL_ELEMENT_ID =
221  86,
222  GLOBAL_NODE_ID =
223  85,
224  ELEMENT_ID = 84,
225  NODE_ID = 83,
226  NODAL_SQUEEZEMAP = 82,
227  ELEM_BLOCK_ATTRIB = 81,
228  FACE_BLOCK_ATTRIB = 80,
229  EDGE_BLOCK_ATTRIB = 79,
230  FACE_ID = 105,
231  EDGE_ID = 106,
232  ENTITY_COUNTS = 109
233  };
235 
236  static const char* GetGlobalElementIdArrayName() { return "GlobalElementId"; }
237  static const char* GetPedigreeElementIdArrayName() { return "PedigreeElementId"; }
238  static int GetGlobalElementID(vtkDataSet* data, int localID);
239  static int GetGlobalElementID(vtkDataSet* data, int localID, int searchType);
240  static const char* GetImplicitElementIdArrayName() { return "ImplicitElementId"; }
241 
242  static const char* GetGlobalFaceIdArrayName() { return "GlobalFaceId"; }
243  static const char* GetPedigreeFaceIdArrayName() { return "PedigreeFaceId"; }
244  static int GetGlobalFaceID(vtkDataSet* data, int localID);
245  static int GetGlobalFaceID(vtkDataSet* data, int localID, int searchType);
246  static const char* GetImplicitFaceIdArrayName() { return "ImplicitFaceId"; }
247 
248  static const char* GetGlobalEdgeIdArrayName() { return "GlobalEdgeId"; }
249  static const char* GetPedigreeEdgeIdArrayName() { return "PedigreeEdgeId"; }
250  static int GetGlobalEdgeID(vtkDataSet* data, int localID);
251  static int GetGlobalEdgeID(vtkDataSet* data, int localID, int searchType);
252  static const char* GetImplicitEdgeIdArrayName() { return "ImplicitEdgeId"; }
253 
255 
261  static const char* GetGlobalNodeIdArrayName() { return "GlobalNodeId"; }
262  static const char* GetPedigreeNodeIdArrayName() { return "PedigreeNodeId"; }
263  static int GetGlobalNodeID(vtkDataSet* data, int localID);
264  static int GetGlobalNodeID(vtkDataSet* data, int localID, int searchType);
265  static const char* GetImplicitNodeIdArrayName() { return "ImplicitNodeId"; }
267 
272  static const char* GetSideSetSourceElementIdArrayName() { return "SourceElementId"; }
273 
278  static const char* GetSideSetSourceElementSideArrayName() { return "SourceElementSide"; }
280 
289  vtkBooleanMacro(ApplyDisplacements, vtkTypeBool);
290  virtual void SetDisplacementMagnitude(float s);
293 
295 
300  virtual void SetHasModeShapes(vtkTypeBool ms);
302  vtkBooleanMacro(HasModeShapes, vtkTypeBool);
304 
306 
313  virtual void SetModeShapeTime(double phase);
316 
318 
325  virtual void SetAnimateModeShapes(vtkTypeBool flag);
327  vtkBooleanMacro(AnimateModeShapes, vtkTypeBool);
329 
331 
337  virtual void SetIgnoreFileTime(bool flag);
339  vtkBooleanMacro(IgnoreFileTime, bool);
341 
343 
346  const char* GetTitle();
350 
355 
356  int GetObjectTypeFromName(const char* name);
357  const char* GetObjectTypeName(int);
358 
360  int GetNumberOfObjects(int objectType);
361  int GetNumberOfEntriesInObject(int objectType, int objectIndex);
362  int GetObjectId(int objectType, int objectIndex);
363  const char* GetObjectName(int objectType, int objectIndex);
365  int GetObjectIndex(int objectType, const char* objectName);
366  int GetObjectIndex(int objectType, int id);
367  int GetObjectStatus(int objectType, int objectIndex);
368  int GetObjectStatus(int objectType, const char* objectName)
369  {
370  return this->GetObjectStatus(objectType, this->GetObjectIndex(objectType, objectName));
371  }
372  void SetObjectStatus(int objectType, int objectIndex, int status);
373  void SetObjectStatus(int objectType, const char* objectName, int status);
374 
376 
382  int GetNumberOfObjectArrays(int objectType);
383  const char* GetObjectArrayName(int objectType, int arrayIndex);
384  int GetObjectArrayIndex(int objectType, const char* arrayName);
385  int GetNumberOfObjectArrayComponents(int objectType, int arrayIndex);
386  int GetObjectArrayStatus(int objectType, int arrayIndex);
387  int GetObjectArrayStatus(int objectType, const char* arrayName)
388  {
389  return this->GetObjectArrayStatus(objectType, this->GetObjectArrayIndex(objectType, arrayName));
390  }
391  void SetObjectArrayStatus(int objectType, int arrayIndex, int status);
392  void SetObjectArrayStatus(int objectType, const char* arrayName, int status);
394 
396 
402  int GetNumberOfObjectAttributes(int objectType, int objectIndex);
403  const char* GetObjectAttributeName(int objectType, int objectIndex, int attribIndex);
404  int GetObjectAttributeIndex(int objectType, int objectIndex, const char* attribName);
405  int GetObjectAttributeStatus(int objectType, int objectIndex, int attribIndex);
406  int GetObjectAttributeStatus(int objectType, int objectIndex, const char* attribName)
407  {
408  return this->GetObjectAttributeStatus(
409  objectType, objectIndex, this->GetObjectAttributeIndex(objectType, objectIndex, attribName));
410  }
411  void SetObjectAttributeStatus(int objectType, int objectIndex, int attribIndex, int status);
412  void SetObjectAttributeStatus(int objectType, int objectIndex, const char* attribName, int status)
413  {
414  this->SetObjectAttributeStatus(objectType, objectIndex,
415  this->GetObjectAttributeIndex(objectType, objectIndex, attribName), status);
416  }
418 
423 
425 
431  const char* GetPartArrayName(int arrayIdx);
432  int GetPartArrayID(const char* name);
433  const char* GetPartBlockInfo(int arrayIdx);
434  void SetPartArrayStatus(int index, int flag);
435  void SetPartArrayStatus(const char*, int flag);
437  int GetPartArrayStatus(const char*);
439 
441 
448  const char* GetMaterialArrayName(int arrayIdx);
449  int GetMaterialArrayID(const char* name);
450  void SetMaterialArrayStatus(int index, int flag);
451  void SetMaterialArrayStatus(const char*, int flag);
453  int GetMaterialArrayStatus(const char*);
455 
457 
464  const char* GetAssemblyArrayName(int arrayIdx);
465  int GetAssemblyArrayID(const char* name);
466  void SetAssemblyArrayStatus(int index, int flag);
467  void SetAssemblyArrayStatus(const char*, int flag);
469  int GetAssemblyArrayStatus(const char*);
471 
473 
483  const char* GetHierarchyArrayName(int arrayIdx);
484  void SetHierarchyArrayStatus(int index, int flag);
485  void SetHierarchyArrayStatus(const char*, int flag);
487  int GetHierarchyArrayStatus(const char*);
489 
490  vtkGetMacro(DisplayType, int);
491  virtual void SetDisplayType(int type);
492 
496  int IsValidVariable(const char* type, const char* name);
497 
501  int GetVariableID(const char* type, const char* name);
502 
503  void SetAllArrayStatus(int otype, int status);
504  // Helper functions
505  // static int StringsEqual(const char* s1, char* s2);
506  // static void StringUppercase(const char* str, char* upperstr);
507  // static char *StrDupWithNew(const char *s);
508 
509  // time series query functions
510  int GetTimeSeriesData(int ID, const char* vName, const char* vType, vtkFloatArray* result);
511 
512  int GetNumberOfEdgeBlockArrays() { return this->GetNumberOfObjects(EDGE_BLOCK); }
513  const char* GetEdgeBlockArrayName(int index) { return this->GetObjectName(EDGE_BLOCK, index); }
514  int GetEdgeBlockArrayStatus(const char* name) { return this->GetObjectStatus(EDGE_BLOCK, name); }
515  void SetEdgeBlockArrayStatus(const char* name, int flag)
516  {
517  this->SetObjectStatus(EDGE_BLOCK, name, flag);
518  }
519 
520  int GetNumberOfFaceBlockArrays() { return this->GetNumberOfObjects(FACE_BLOCK); }
521  const char* GetFaceBlockArrayName(int index) { return this->GetObjectName(FACE_BLOCK, index); }
522  int GetFaceBlockArrayStatus(const char* name) { return this->GetObjectStatus(FACE_BLOCK, name); }
523  void SetFaceBlockArrayStatus(const char* name, int flag)
524  {
525  this->SetObjectStatus(FACE_BLOCK, name, flag);
526  }
527 
528  int GetNumberOfElementBlockArrays() { return this->GetNumberOfObjects(ELEM_BLOCK); }
529  const char* GetElementBlockArrayName(int index) { return this->GetObjectName(ELEM_BLOCK, index); }
531  {
532  return this->GetObjectStatus(ELEM_BLOCK, name);
533  }
534  void SetElementBlockArrayStatus(const char* name, int flag)
535  {
536  this->SetObjectStatus(ELEM_BLOCK, name, flag);
537  }
538 
539  int GetNumberOfGlobalResultArrays() { return this->GetNumberOfObjectArrays(GLOBAL); }
541  {
542  return this->GetObjectArrayName(GLOBAL, index);
543  }
545  {
546  return this->GetObjectArrayStatus(GLOBAL, name);
547  }
548  void SetGlobalResultArrayStatus(const char* name, int flag)
549  {
550  this->SetObjectArrayStatus(GLOBAL, name, flag);
551  }
552 
553  int GetNumberOfPointResultArrays() { return this->GetNumberOfObjectArrays(NODAL); }
554  const char* GetPointResultArrayName(int index) { return this->GetObjectArrayName(NODAL, index); }
556  {
557  return this->GetObjectArrayStatus(NODAL, name);
558  }
559  void SetPointResultArrayStatus(const char* name, int flag)
560  {
561  this->SetObjectArrayStatus(NODAL, name, flag);
562  }
563 
564  int GetNumberOfEdgeResultArrays() { return this->GetNumberOfObjectArrays(EDGE_BLOCK); }
565  const char* GetEdgeResultArrayName(int index)
566  {
567  return this->GetObjectArrayName(EDGE_BLOCK, index);
568  }
570  {
571  return this->GetObjectArrayStatus(EDGE_BLOCK, name);
572  }
573  void SetEdgeResultArrayStatus(const char* name, int flag)
574  {
575  this->SetObjectArrayStatus(EDGE_BLOCK, name, flag);
576  }
577 
578  int GetNumberOfFaceResultArrays() { return this->GetNumberOfObjectArrays(FACE_BLOCK); }
579  const char* GetFaceResultArrayName(int index)
580  {
581  return this->GetObjectArrayName(FACE_BLOCK, index);
582  }
584  {
585  return this->GetObjectArrayStatus(FACE_BLOCK, name);
586  }
587  void SetFaceResultArrayStatus(const char* name, int flag)
588  {
589  this->SetObjectArrayStatus(FACE_BLOCK, name, flag);
590  }
591 
592  int GetNumberOfElementResultArrays() { return this->GetNumberOfObjectArrays(ELEM_BLOCK); }
594  {
595  return this->GetObjectArrayName(ELEM_BLOCK, index);
596  }
598  {
599  return this->GetObjectArrayStatus(ELEM_BLOCK, name);
600  }
601  void SetElementResultArrayStatus(const char* name, int flag)
602  {
603  this->SetObjectArrayStatus(ELEM_BLOCK, name, flag);
604  }
605 
606  int GetNumberOfNodeMapArrays() { return this->GetNumberOfObjects(NODE_MAP); }
607  const char* GetNodeMapArrayName(int index) { return this->GetObjectName(NODE_MAP, index); }
608  int GetNodeMapArrayStatus(const char* name) { return this->GetObjectStatus(NODE_MAP, name); }
609  void SetNodeMapArrayStatus(const char* name, int flag)
610  {
611  this->SetObjectStatus(NODE_MAP, name, flag);
612  }
613 
614  int GetNumberOfEdgeMapArrays() { return this->GetNumberOfObjects(EDGE_MAP); }
615  const char* GetEdgeMapArrayName(int index) { return this->GetObjectName(EDGE_MAP, index); }
616  int GetEdgeMapArrayStatus(const char* name) { return this->GetObjectStatus(EDGE_MAP, name); }
617  void SetEdgeMapArrayStatus(const char* name, int flag)
618  {
619  this->SetObjectStatus(EDGE_MAP, name, flag);
620  }
621 
622  int GetNumberOfFaceMapArrays() { return this->GetNumberOfObjects(FACE_MAP); }
623  const char* GetFaceMapArrayName(int index) { return this->GetObjectName(FACE_MAP, index); }
624  int GetFaceMapArrayStatus(const char* name) { return this->GetObjectStatus(FACE_MAP, name); }
625  void SetFaceMapArrayStatus(const char* name, int flag)
626  {
627  this->SetObjectStatus(FACE_MAP, name, flag);
628  }
629 
630  int GetNumberOfElementMapArrays() { return this->GetNumberOfObjects(ELEM_MAP); }
631  const char* GetElementMapArrayName(int index) { return this->GetObjectName(ELEM_MAP, index); }
632  int GetElementMapArrayStatus(const char* name) { return this->GetObjectStatus(ELEM_MAP, name); }
633  void SetElementMapArrayStatus(const char* name, int flag)
634  {
635  this->SetObjectStatus(ELEM_MAP, name, flag);
636  }
637 
638  int GetNumberOfNodeSetArrays() { return this->GetNumberOfObjects(NODE_SET); }
639  const char* GetNodeSetArrayName(int index) { return this->GetObjectName(NODE_SET, index); }
640  int GetNodeSetArrayStatus(const char* name) { return this->GetObjectStatus(NODE_SET, name); }
641  void SetNodeSetArrayStatus(const char* name, int flag)
642  {
643  this->SetObjectStatus(NODE_SET, name, flag);
644  }
645 
646  int GetNumberOfSideSetArrays() { return this->GetNumberOfObjects(SIDE_SET); }
647  const char* GetSideSetArrayName(int index) { return this->GetObjectName(SIDE_SET, index); }
648  int GetSideSetArrayStatus(const char* name) { return this->GetObjectStatus(SIDE_SET, name); }
649  void SetSideSetArrayStatus(const char* name, int flag)
650  {
651  this->SetObjectStatus(SIDE_SET, name, flag);
652  }
653 
654  int GetNumberOfEdgeSetArrays() { return this->GetNumberOfObjects(EDGE_SET); }
655  const char* GetEdgeSetArrayName(int index) { return this->GetObjectName(EDGE_SET, index); }
656  int GetEdgeSetArrayStatus(const char* name) { return this->GetObjectStatus(EDGE_SET, name); }
657  void SetEdgeSetArrayStatus(const char* name, int flag)
658  {
659  this->SetObjectStatus(EDGE_SET, name, flag);
660  }
661 
662  int GetNumberOfFaceSetArrays() { return this->GetNumberOfObjects(FACE_SET); }
663  const char* GetFaceSetArrayName(int index) { return this->GetObjectName(FACE_SET, index); }
664  int GetFaceSetArrayStatus(const char* name) { return this->GetObjectStatus(FACE_SET, name); }
665  void SetFaceSetArrayStatus(const char* name, int flag)
666  {
667  this->SetObjectStatus(FACE_SET, name, flag);
668  }
669 
670  int GetNumberOfElementSetArrays() { return this->GetNumberOfObjects(ELEM_SET); }
671  const char* GetElementSetArrayName(int index) { return this->GetObjectName(ELEM_SET, index); }
672  int GetElementSetArrayStatus(const char* name) { return this->GetObjectStatus(ELEM_SET, name); }
673  void SetElementSetArrayStatus(const char* name, int flag)
674  {
675  this->SetObjectStatus(ELEM_SET, name, flag);
676  }
677 
678  int GetNumberOfNodeSetResultArrays() { return this->GetNumberOfObjectArrays(NODE_SET); }
680  {
681  return this->GetObjectArrayName(NODE_SET, index);
682  }
684  {
685  return this->GetObjectArrayStatus(NODE_SET, name);
686  }
687  void SetNodeSetResultArrayStatus(const char* name, int flag)
688  {
689  this->SetObjectArrayStatus(NODE_SET, name, flag);
690  }
691 
692  int GetNumberOfSideSetResultArrays() { return this->GetNumberOfObjectArrays(SIDE_SET); }
694  {
695  return this->GetObjectArrayName(SIDE_SET, index);
696  }
698  {
699  return this->GetObjectArrayStatus(SIDE_SET, name);
700  }
701  void SetSideSetResultArrayStatus(const char* name, int flag)
702  {
703  this->SetObjectArrayStatus(SIDE_SET, name, flag);
704  }
705 
706  int GetNumberOfEdgeSetResultArrays() { return this->GetNumberOfObjectArrays(EDGE_SET); }
708  {
709  return this->GetObjectArrayName(EDGE_SET, index);
710  }
712  {
713  return this->GetObjectArrayStatus(EDGE_SET, name);
714  }
715  void SetEdgeSetResultArrayStatus(const char* name, int flag)
716  {
717  this->SetObjectArrayStatus(EDGE_SET, name, flag);
718  }
719 
720  int GetNumberOfFaceSetResultArrays() { return this->GetNumberOfObjectArrays(FACE_SET); }
722  {
723  return this->GetObjectArrayName(FACE_SET, index);
724  }
726  {
727  return this->GetObjectArrayStatus(FACE_SET, name);
728  }
729  void SetFaceSetResultArrayStatus(const char* name, int flag)
730  {
731  this->SetObjectArrayStatus(FACE_SET, name, flag);
732  }
733 
734  int GetNumberOfElementSetResultArrays() { return this->GetNumberOfObjectArrays(ELEM_SET); }
736  {
737  return this->GetObjectArrayName(ELEM_SET, index);
738  }
740  {
741  return this->GetObjectArrayStatus(ELEM_SET, name);
742  }
743  void SetElementSetResultArrayStatus(const char* name, int flag)
744  {
745  this->SetObjectArrayStatus(ELEM_SET, name, flag);
746  }
747 
756  void Reset();
757 
767 
771  void ResetCache();
772 
776  void SetCacheSize(double CacheSize);
777 
781  double GetCacheSize();
782 
784 
796  void SetSqueezePoints(bool sp);
799 
800  virtual void Dump();
801 
807 
809 
812  vtkGetMacro(SILUpdateStamp, int);
814 
816 
822 
824 
835 
837 
844  vtkSetMacro(UseLegacyBlockNames, bool);
845  vtkGetMacro(UseLegacyBlockNames, bool);
846  vtkBooleanMacro(UseLegacyBlockNames, bool);
848 protected:
850  ~vtkExodusIIReader() override;
851 
852  // helper for finding IDs
853  static int GetIDHelper(const char* arrayName, vtkDataSet* data, int localID, int searchType);
854  static int GetGlobalID(const char* arrayName, vtkDataSet* data, int localID, int searchType);
855 
857  vtkGetObjectMacro(Metadata, vtkExodusIIReaderPrivate);
858 
863  bool FindXMLFile();
864 
865  // Time query function. Called by ExecuteInformation().
866  // Fills the TimestepValues array.
868 
873 
878  // int RequestDataOverTime( vtkInformation *, vtkInformationVector **, vtkInformationVector *);
879 
880  // Parameters for controlling what is read in.
881  char* FileName;
882  char* XMLFileName;
883  int TimeStep;
884  int TimeStepRange[2];
887 
888  // Information specific for exodus files.
889 
890  // 1=display Block names
891  // 2=display Part names
892  // 3=display Material names
894 
895  // Metadata containing a description of the currently open file.
897 
899 
900  friend class vtkPExodusIIReader;
901 
902 private:
903  vtkExodusIIReader(const vtkExodusIIReader&) = delete;
904  void operator=(const vtkExodusIIReader&) = delete;
905 
906  void AddDisplacements(vtkUnstructuredGrid* output);
907  int ModeShapesRange[2];
908 
909  bool UseLegacyBlockNames;
910 };
911 
912 VTK_ABI_NAMESPACE_END
913 #endif
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:45
abstract class to specify dataset behavior
Definition: vtkDataSet.h:53
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
Definition: vtkFloatArray.h:31
Base class for graph data types.
Definition: vtkGraph.h:281
a simple class to control print indentation
Definition: vtkIndent.h:29
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:35
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:29
record modification and/or execution time
Definition: vtkTimeStamp.h:25
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