VTK  9.1.0
vtkExodusIIReader.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkExodusIIReader.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 /*----------------------------------------------------------------------------
16  Copyright (c) Sandia Corporation
17  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
18 ----------------------------------------------------------------------------*/
19 
66 #ifndef vtkExodusIIReader_h
67 #define vtkExodusIIReader_h
68 
69 #include "vtkIOExodusModule.h" // For export macro
71 
72 class vtkDataArray;
73 class vtkDataSet;
74 class vtkExodusIICache;
76 class vtkFloatArray;
77 class vtkGraph;
79 class vtkIntArray;
80 class vtkPoints;
82 
83 class VTKIOEXODUS_EXPORT vtkExodusIIReader : public vtkMultiBlockDataSetAlgorithm
84 {
85 public:
88  void PrintSelf(ostream& os, vtkIndent indent) override;
89 
93  virtual int CanReadFile(VTK_FILEPATH const char* fname);
94 
95  // virtual void Modified();
96 
100  vtkMTimeType GetMTime() override;
101 
108 
110 
113  virtual void SetFileName(VTK_FILEPATH const char* fname);
116 
118 
121  virtual void SetXMLFileName(VTK_FILEPATH const char* fname);
122  vtkGetFilePathMacro(XMLFileName);
124 
126 
129  vtkSetMacro(TimeStep, int);
130  vtkGetMacro(TimeStep, int);
132 
137  void SetModeShape(int val) { this->SetTimeStep(val - 1); }
138 
140 
146  vtkGetVector2Macro(ModeShapesRange, int);
148 
150 
155  vtkGetVector2Macro(TimeStepRange, int);
157 
159 
172  vtkBooleanMacro(GenerateObjectIdCellArray, vtkTypeBool);
173  static const char* GetObjectIdArrayName() { return "ObjectId"; }
175 
178  vtkBooleanMacro(GenerateGlobalElementIdArray, vtkTypeBool);
179 
182  vtkBooleanMacro(GenerateGlobalNodeIdArray, vtkTypeBool);
183 
186  vtkBooleanMacro(GenerateImplicitElementIdArray, vtkTypeBool);
187 
190  vtkBooleanMacro(GenerateImplicitNodeIdArray, vtkTypeBool);
191 
194  vtkBooleanMacro(GenerateFileIdArray, vtkTypeBool);
195 
196  virtual void SetFileId(int f);
197  int GetFileId();
198 
200 
206  enum
207  {
208  SEARCH_TYPE_ELEMENT = 0,
212  ID_NOT_FOUND = -234121312
213  };
214  // NOTE: GetNumberOfObjectTypes must be updated whenever you add an entry to enum ObjectType {...}
216  {
217  // match Exodus macros from exodusII.h and exodusII_ext.h
218  EDGE_BLOCK = 6,
219  FACE_BLOCK = 8,
220  ELEM_BLOCK = 1,
221  NODE_SET = 2,
222  EDGE_SET = 7,
223  FACE_SET = 9,
224  SIDE_SET = 3,
225  ELEM_SET = 10,
226  NODE_MAP = 5,
227  EDGE_MAP = 11,
228  FACE_MAP = 12,
229  ELEM_MAP = 4,
230  GLOBAL = 13,
231  NODAL = 14,
232  // extended values (not in Exodus headers) for use with SetAllArrayStatus:
233  ASSEMBLY = 60,
234  PART = 61,
235  MATERIAL = 62,
236  HIERARCHY = 63,
237  // extended values (not in Exodus headers) for use in cache keys:
238  QA_RECORDS = 103,
239  INFO_RECORDS = 104,
240  GLOBAL_TEMPORAL = 102,
241  NODAL_TEMPORAL = 101,
242  ELEM_BLOCK_TEMPORAL = 100,
243  GLOBAL_CONN = 99,
244  ELEM_BLOCK_ELEM_CONN = 98,
245  ELEM_BLOCK_FACE_CONN =
246  97,
247  ELEM_BLOCK_EDGE_CONN =
248  96,
249  FACE_BLOCK_CONN = 95,
250  EDGE_BLOCK_CONN = 94,
251  ELEM_SET_CONN = 93,
252  SIDE_SET_CONN = 92,
253  FACE_SET_CONN = 91,
254  EDGE_SET_CONN = 90,
255  NODE_SET_CONN = 89,
256  NODAL_COORDS = 88,
257  OBJECT_ID = 87,
258  IMPLICIT_ELEMENT_ID = 108,
259  IMPLICIT_NODE_ID = 107,
260  GLOBAL_ELEMENT_ID =
261  86,
262  GLOBAL_NODE_ID =
263  85,
264  ELEMENT_ID = 84,
265  NODE_ID = 83,
266  NODAL_SQUEEZEMAP = 82,
267  ELEM_BLOCK_ATTRIB = 81,
268  FACE_BLOCK_ATTRIB = 80,
269  EDGE_BLOCK_ATTRIB = 79,
270  FACE_ID = 105,
271  EDGE_ID = 106,
272  ENTITY_COUNTS = 109
273  };
275 
276  static const char* GetGlobalElementIdArrayName() { return "GlobalElementId"; }
277  static const char* GetPedigreeElementIdArrayName() { return "PedigreeElementId"; }
278  static int GetGlobalElementID(vtkDataSet* data, int localID);
279  static int GetGlobalElementID(vtkDataSet* data, int localID, int searchType);
280  static const char* GetImplicitElementIdArrayName() { return "ImplicitElementId"; }
281 
282  static const char* GetGlobalFaceIdArrayName() { return "GlobalFaceId"; }
283  static const char* GetPedigreeFaceIdArrayName() { return "PedigreeFaceId"; }
284  static int GetGlobalFaceID(vtkDataSet* data, int localID);
285  static int GetGlobalFaceID(vtkDataSet* data, int localID, int searchType);
286  static const char* GetImplicitFaceIdArrayName() { return "ImplicitFaceId"; }
287 
288  static const char* GetGlobalEdgeIdArrayName() { return "GlobalEdgeId"; }
289  static const char* GetPedigreeEdgeIdArrayName() { return "PedigreeEdgeId"; }
290  static int GetGlobalEdgeID(vtkDataSet* data, int localID);
291  static int GetGlobalEdgeID(vtkDataSet* data, int localID, int searchType);
292  static const char* GetImplicitEdgeIdArrayName() { return "ImplicitEdgeId"; }
293 
295 
301  static const char* GetGlobalNodeIdArrayName() { return "GlobalNodeId"; }
302  static const char* GetPedigreeNodeIdArrayName() { return "PedigreeNodeId"; }
303  static int GetGlobalNodeID(vtkDataSet* data, int localID);
304  static int GetGlobalNodeID(vtkDataSet* data, int localID, int searchType);
305  static const char* GetImplicitNodeIdArrayName() { return "ImplicitNodeId"; }
307 
312  static const char* GetSideSetSourceElementIdArrayName() { return "SourceElementId"; }
313 
318  static const char* GetSideSetSourceElementSideArrayName() { return "SourceElementSide"; }
320 
329  vtkBooleanMacro(ApplyDisplacements, vtkTypeBool);
330  virtual void SetDisplacementMagnitude(float s);
333 
335 
340  virtual void SetHasModeShapes(vtkTypeBool ms);
342  vtkBooleanMacro(HasModeShapes, vtkTypeBool);
344 
346 
353  virtual void SetModeShapeTime(double phase);
356 
358 
365  virtual void SetAnimateModeShapes(vtkTypeBool flag);
367  vtkBooleanMacro(AnimateModeShapes, vtkTypeBool);
369 
371 
377  virtual void SetIgnoreFileTime(bool flag);
379  vtkBooleanMacro(IgnoreFileTime, bool);
381 
383 
386  const char* GetTitle();
390 
395 
396  int GetObjectTypeFromName(const char* name);
397  const char* GetObjectTypeName(int);
398 
400  int GetNumberOfObjects(int objectType);
401  int GetNumberOfEntriesInObject(int objectType, int objectIndex);
402  int GetObjectId(int objectType, int objectIndex);
403  const char* GetObjectName(int objectType, int objectIndex);
404  int GetObjectIndex(int objectType, const char* objectName);
405  int GetObjectIndex(int objectType, int id);
406  int GetObjectStatus(int objectType, int objectIndex);
407  int GetObjectStatus(int objectType, const char* objectName)
408  {
409  return this->GetObjectStatus(objectType, this->GetObjectIndex(objectType, objectName));
410  }
411  void SetObjectStatus(int objectType, int objectIndex, int status);
412  void SetObjectStatus(int objectType, const char* objectName, int status);
413 
415 
421  int GetNumberOfObjectArrays(int objectType);
422  const char* GetObjectArrayName(int objectType, int arrayIndex);
423  int GetObjectArrayIndex(int objectType, const char* arrayName);
424  int GetNumberOfObjectArrayComponents(int objectType, int arrayIndex);
425  int GetObjectArrayStatus(int objectType, int arrayIndex);
426  int GetObjectArrayStatus(int objectType, const char* arrayName)
427  {
428  return this->GetObjectArrayStatus(objectType, this->GetObjectArrayIndex(objectType, arrayName));
429  }
430  void SetObjectArrayStatus(int objectType, int arrayIndex, int status);
431  void SetObjectArrayStatus(int objectType, const char* arrayName, int status);
433 
435 
441  int GetNumberOfObjectAttributes(int objectType, int objectIndex);
442  const char* GetObjectAttributeName(int objectType, int objectIndex, int attribIndex);
443  int GetObjectAttributeIndex(int objectType, int objectIndex, const char* attribName);
444  int GetObjectAttributeStatus(int objectType, int objectIndex, int attribIndex);
445  int GetObjectAttributeStatus(int objectType, int objectIndex, const char* attribName)
446  {
447  return this->GetObjectAttributeStatus(
448  objectType, objectIndex, this->GetObjectAttributeIndex(objectType, objectIndex, attribName));
449  }
450  void SetObjectAttributeStatus(int objectType, int objectIndex, int attribIndex, int status);
451  void SetObjectAttributeStatus(int objectType, int objectIndex, const char* attribName, int status)
452  {
453  this->SetObjectAttributeStatus(objectType, objectIndex,
454  this->GetObjectAttributeIndex(objectType, objectIndex, attribName), status);
455  }
457 
462 
464 
470  const char* GetPartArrayName(int arrayIdx);
471  int GetPartArrayID(const char* name);
472  const char* GetPartBlockInfo(int arrayIdx);
473  void SetPartArrayStatus(int index, int flag);
474  void SetPartArrayStatus(const char*, int flag);
476  int GetPartArrayStatus(const char*);
478 
480 
487  const char* GetMaterialArrayName(int arrayIdx);
488  int GetMaterialArrayID(const char* name);
489  void SetMaterialArrayStatus(int index, int flag);
490  void SetMaterialArrayStatus(const char*, int flag);
492  int GetMaterialArrayStatus(const char*);
494 
496 
503  const char* GetAssemblyArrayName(int arrayIdx);
504  int GetAssemblyArrayID(const char* name);
505  void SetAssemblyArrayStatus(int index, int flag);
506  void SetAssemblyArrayStatus(const char*, int flag);
508  int GetAssemblyArrayStatus(const char*);
510 
512 
522  const char* GetHierarchyArrayName(int arrayIdx);
523  void SetHierarchyArrayStatus(int index, int flag);
524  void SetHierarchyArrayStatus(const char*, int flag);
526  int GetHierarchyArrayStatus(const char*);
528 
529  vtkGetMacro(DisplayType, int);
530  virtual void SetDisplayType(int type);
531 
535  int IsValidVariable(const char* type, const char* name);
536 
540  int GetVariableID(const char* type, const char* name);
541 
542  void SetAllArrayStatus(int otype, int status);
543  // Helper functions
544  // static int StringsEqual(const char* s1, char* s2);
545  // static void StringUppercase(const char* str, char* upperstr);
546  // static char *StrDupWithNew(const char *s);
547 
548  // time series query functions
549  int GetTimeSeriesData(int ID, const char* vName, const char* vType, vtkFloatArray* result);
550 
551  int GetNumberOfEdgeBlockArrays() { return this->GetNumberOfObjects(EDGE_BLOCK); }
552  const char* GetEdgeBlockArrayName(int index) { return this->GetObjectName(EDGE_BLOCK, index); }
553  int GetEdgeBlockArrayStatus(const char* name) { return this->GetObjectStatus(EDGE_BLOCK, name); }
554  void SetEdgeBlockArrayStatus(const char* name, int flag)
555  {
556  this->SetObjectStatus(EDGE_BLOCK, name, flag);
557  }
558 
559  int GetNumberOfFaceBlockArrays() { return this->GetNumberOfObjects(FACE_BLOCK); }
560  const char* GetFaceBlockArrayName(int index) { return this->GetObjectName(FACE_BLOCK, index); }
561  int GetFaceBlockArrayStatus(const char* name) { return this->GetObjectStatus(FACE_BLOCK, name); }
562  void SetFaceBlockArrayStatus(const char* name, int flag)
563  {
564  this->SetObjectStatus(FACE_BLOCK, name, flag);
565  }
566 
567  int GetNumberOfElementBlockArrays() { return this->GetNumberOfObjects(ELEM_BLOCK); }
568  const char* GetElementBlockArrayName(int index) { return this->GetObjectName(ELEM_BLOCK, index); }
570  {
571  return this->GetObjectStatus(ELEM_BLOCK, name);
572  }
573  void SetElementBlockArrayStatus(const char* name, int flag)
574  {
575  this->SetObjectStatus(ELEM_BLOCK, name, flag);
576  }
577 
578  int GetNumberOfGlobalResultArrays() { return this->GetNumberOfObjectArrays(GLOBAL); }
580  {
581  return this->GetObjectArrayName(GLOBAL, index);
582  }
584  {
585  return this->GetObjectArrayStatus(GLOBAL, name);
586  }
587  void SetGlobalResultArrayStatus(const char* name, int flag)
588  {
589  this->SetObjectArrayStatus(GLOBAL, name, flag);
590  }
591 
592  int GetNumberOfPointResultArrays() { return this->GetNumberOfObjectArrays(NODAL); }
593  const char* GetPointResultArrayName(int index) { return this->GetObjectArrayName(NODAL, index); }
595  {
596  return this->GetObjectArrayStatus(NODAL, name);
597  }
598  void SetPointResultArrayStatus(const char* name, int flag)
599  {
600  this->SetObjectArrayStatus(NODAL, name, flag);
601  }
602 
603  int GetNumberOfEdgeResultArrays() { return this->GetNumberOfObjectArrays(EDGE_BLOCK); }
604  const char* GetEdgeResultArrayName(int index)
605  {
606  return this->GetObjectArrayName(EDGE_BLOCK, index);
607  }
609  {
610  return this->GetObjectArrayStatus(EDGE_BLOCK, name);
611  }
612  void SetEdgeResultArrayStatus(const char* name, int flag)
613  {
614  this->SetObjectArrayStatus(EDGE_BLOCK, name, flag);
615  }
616 
617  int GetNumberOfFaceResultArrays() { return this->GetNumberOfObjectArrays(FACE_BLOCK); }
618  const char* GetFaceResultArrayName(int index)
619  {
620  return this->GetObjectArrayName(FACE_BLOCK, index);
621  }
623  {
624  return this->GetObjectArrayStatus(FACE_BLOCK, name);
625  }
626  void SetFaceResultArrayStatus(const char* name, int flag)
627  {
628  this->SetObjectArrayStatus(FACE_BLOCK, name, flag);
629  }
630 
631  int GetNumberOfElementResultArrays() { return this->GetNumberOfObjectArrays(ELEM_BLOCK); }
633  {
634  return this->GetObjectArrayName(ELEM_BLOCK, index);
635  }
637  {
638  return this->GetObjectArrayStatus(ELEM_BLOCK, name);
639  }
640  void SetElementResultArrayStatus(const char* name, int flag)
641  {
642  this->SetObjectArrayStatus(ELEM_BLOCK, name, flag);
643  }
644 
645  int GetNumberOfNodeMapArrays() { return this->GetNumberOfObjects(NODE_MAP); }
646  const char* GetNodeMapArrayName(int index) { return this->GetObjectName(NODE_MAP, index); }
647  int GetNodeMapArrayStatus(const char* name) { return this->GetObjectStatus(NODE_MAP, name); }
648  void SetNodeMapArrayStatus(const char* name, int flag)
649  {
650  this->SetObjectStatus(NODE_MAP, name, flag);
651  }
652 
653  int GetNumberOfEdgeMapArrays() { return this->GetNumberOfObjects(EDGE_MAP); }
654  const char* GetEdgeMapArrayName(int index) { return this->GetObjectName(EDGE_MAP, index); }
655  int GetEdgeMapArrayStatus(const char* name) { return this->GetObjectStatus(EDGE_MAP, name); }
656  void SetEdgeMapArrayStatus(const char* name, int flag)
657  {
658  this->SetObjectStatus(EDGE_MAP, name, flag);
659  }
660 
661  int GetNumberOfFaceMapArrays() { return this->GetNumberOfObjects(FACE_MAP); }
662  const char* GetFaceMapArrayName(int index) { return this->GetObjectName(FACE_MAP, index); }
663  int GetFaceMapArrayStatus(const char* name) { return this->GetObjectStatus(FACE_MAP, name); }
664  void SetFaceMapArrayStatus(const char* name, int flag)
665  {
666  this->SetObjectStatus(FACE_MAP, name, flag);
667  }
668 
669  int GetNumberOfElementMapArrays() { return this->GetNumberOfObjects(ELEM_MAP); }
670  const char* GetElementMapArrayName(int index) { return this->GetObjectName(ELEM_MAP, index); }
671  int GetElementMapArrayStatus(const char* name) { return this->GetObjectStatus(ELEM_MAP, name); }
672  void SetElementMapArrayStatus(const char* name, int flag)
673  {
674  this->SetObjectStatus(ELEM_MAP, name, flag);
675  }
676 
677  int GetNumberOfNodeSetArrays() { return this->GetNumberOfObjects(NODE_SET); }
678  const char* GetNodeSetArrayName(int index) { return this->GetObjectName(NODE_SET, index); }
679  int GetNodeSetArrayStatus(const char* name) { return this->GetObjectStatus(NODE_SET, name); }
680  void SetNodeSetArrayStatus(const char* name, int flag)
681  {
682  this->SetObjectStatus(NODE_SET, name, flag);
683  }
684 
685  int GetNumberOfSideSetArrays() { return this->GetNumberOfObjects(SIDE_SET); }
686  const char* GetSideSetArrayName(int index) { return this->GetObjectName(SIDE_SET, index); }
687  int GetSideSetArrayStatus(const char* name) { return this->GetObjectStatus(SIDE_SET, name); }
688  void SetSideSetArrayStatus(const char* name, int flag)
689  {
690  this->SetObjectStatus(SIDE_SET, name, flag);
691  }
692 
693  int GetNumberOfEdgeSetArrays() { return this->GetNumberOfObjects(EDGE_SET); }
694  const char* GetEdgeSetArrayName(int index) { return this->GetObjectName(EDGE_SET, index); }
695  int GetEdgeSetArrayStatus(const char* name) { return this->GetObjectStatus(EDGE_SET, name); }
696  void SetEdgeSetArrayStatus(const char* name, int flag)
697  {
698  this->SetObjectStatus(EDGE_SET, name, flag);
699  }
700 
701  int GetNumberOfFaceSetArrays() { return this->GetNumberOfObjects(FACE_SET); }
702  const char* GetFaceSetArrayName(int index) { return this->GetObjectName(FACE_SET, index); }
703  int GetFaceSetArrayStatus(const char* name) { return this->GetObjectStatus(FACE_SET, name); }
704  void SetFaceSetArrayStatus(const char* name, int flag)
705  {
706  this->SetObjectStatus(FACE_SET, name, flag);
707  }
708 
709  int GetNumberOfElementSetArrays() { return this->GetNumberOfObjects(ELEM_SET); }
710  const char* GetElementSetArrayName(int index) { return this->GetObjectName(ELEM_SET, index); }
711  int GetElementSetArrayStatus(const char* name) { return this->GetObjectStatus(ELEM_SET, name); }
712  void SetElementSetArrayStatus(const char* name, int flag)
713  {
714  this->SetObjectStatus(ELEM_SET, name, flag);
715  }
716 
717  int GetNumberOfNodeSetResultArrays() { return this->GetNumberOfObjectArrays(NODE_SET); }
719  {
720  return this->GetObjectArrayName(NODE_SET, index);
721  }
723  {
724  return this->GetObjectArrayStatus(NODE_SET, name);
725  }
726  void SetNodeSetResultArrayStatus(const char* name, int flag)
727  {
728  this->SetObjectArrayStatus(NODE_SET, name, flag);
729  }
730 
731  int GetNumberOfSideSetResultArrays() { return this->GetNumberOfObjectArrays(SIDE_SET); }
733  {
734  return this->GetObjectArrayName(SIDE_SET, index);
735  }
737  {
738  return this->GetObjectArrayStatus(SIDE_SET, name);
739  }
740  void SetSideSetResultArrayStatus(const char* name, int flag)
741  {
742  this->SetObjectArrayStatus(SIDE_SET, name, flag);
743  }
744 
745  int GetNumberOfEdgeSetResultArrays() { return this->GetNumberOfObjectArrays(EDGE_SET); }
747  {
748  return this->GetObjectArrayName(EDGE_SET, index);
749  }
751  {
752  return this->GetObjectArrayStatus(EDGE_SET, name);
753  }
754  void SetEdgeSetResultArrayStatus(const char* name, int flag)
755  {
756  this->SetObjectArrayStatus(EDGE_SET, name, flag);
757  }
758 
759  int GetNumberOfFaceSetResultArrays() { return this->GetNumberOfObjectArrays(FACE_SET); }
761  {
762  return this->GetObjectArrayName(FACE_SET, index);
763  }
765  {
766  return this->GetObjectArrayStatus(FACE_SET, name);
767  }
768  void SetFaceSetResultArrayStatus(const char* name, int flag)
769  {
770  this->SetObjectArrayStatus(FACE_SET, name, flag);
771  }
772 
773  int GetNumberOfElementSetResultArrays() { return this->GetNumberOfObjectArrays(ELEM_SET); }
775  {
776  return this->GetObjectArrayName(ELEM_SET, index);
777  }
779  {
780  return this->GetObjectArrayStatus(ELEM_SET, name);
781  }
782  void SetElementSetResultArrayStatus(const char* name, int flag)
783  {
784  this->SetObjectArrayStatus(ELEM_SET, name, flag);
785  }
786 
795  void Reset();
796 
806 
810  void ResetCache();
811 
815  void SetCacheSize(double CacheSize);
816 
820  double GetCacheSize();
821 
823 
835  void SetSqueezePoints(bool sp);
838 
839  virtual void Dump();
840 
846 
848 
851  vtkGetMacro(SILUpdateStamp, int);
853 
855 
861 
863 
874 
876 
883  vtkSetMacro(UseLegacyBlockNames, bool);
884  vtkGetMacro(UseLegacyBlockNames, bool);
885  vtkBooleanMacro(UseLegacyBlockNames, bool);
887 protected:
889  ~vtkExodusIIReader() override;
890 
891  // helper for finding IDs
892  static int GetIDHelper(const char* arrayName, vtkDataSet* data, int localID, int searchType);
893  static int GetGlobalID(const char* arrayName, vtkDataSet* data, int localID, int searchType);
894 
896  vtkGetObjectMacro(Metadata, vtkExodusIIReaderPrivate);
897 
902  bool FindXMLFile();
903 
904  // Time query function. Called by ExecuteInformation().
905  // Fills the TimestepValues array.
907 
912 
917  // int RequestDataOverTime( vtkInformation *, vtkInformationVector **, vtkInformationVector *);
918 
919  // Parameters for controlling what is read in.
920  char* FileName;
921  char* XMLFileName;
922  int TimeStep;
923  int TimeStepRange[2];
926 
927  // Information specific for exodus files.
928 
929  // 1=display Block names
930  // 2=display Part names
931  // 3=display Material names
933 
934  // Metadata containing a description of the currently open file.
936 
938 
939  friend class vtkPExodusIIReader;
940 
941 private:
942  vtkExodusIIReader(const vtkExodusIIReader&) = delete;
943  void operator=(const vtkExodusIIReader&) = delete;
944 
945  void AddDisplacements(vtkUnstructuredGrid* output);
946  int ModeShapesRange[2];
947 
948  bool UseLegacyBlockNames;
949 };
950 
951 #endif
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:159
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:339
a simple class to control print indentation
Definition: vtkIndent.h:113
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:149
Superclass for algorithms that produce only vtkMultiBlockDataSet as output.
Read Exodus II files (.exii)
represent and manipulate 3D points
Definition: vtkPoints.h:143
record modification and/or execution time
Definition: vtkTimeStamp.h:52
dataset represents arbitrary combinations of all possible cell types
@ type
Definition: vtkX3D.h:522
@ name
Definition: vtkX3D.h:225
@ index
Definition: vtkX3D.h:252
@ data
Definition: vtkX3D.h:321
int vtkTypeBool
Definition: vtkABI.h:69
int vtkIdType
Definition: vtkType.h:332
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287
#define VTK_FILEPATH