VTK
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 
40 #ifndef vtkExodusIIReader_h
41 #define vtkExodusIIReader_h
42 
43 #include "vtkIOExodusModule.h" // For export macro
45 
46 class vtkDataArray;
47 class vtkDataSet;
48 class vtkExodusIICache;
50 class vtkFloatArray;
51 class vtkGraph;
52 class vtkIntArray;
53 class vtkPoints;
55 
56 class VTKIOEXODUS_EXPORT vtkExodusIIReader : public vtkMultiBlockDataSetAlgorithm
57 {
58 public:
59  static vtkExodusIIReader *New();
61  void PrintSelf(ostream& os, vtkIndent indent) override;
62 
66  virtual int CanReadFile(const char* fname);
67 
68  //virtual void Modified();
69 
73  vtkMTimeType GetMTime() override;
74 
80  virtual vtkMTimeType GetMetadataMTime();
81 
83 
86  virtual void SetFileName( const char* fname );
87  vtkGetStringMacro(FileName);
89 
91 
94  virtual void SetXMLFileName( const char* fname );
95  vtkGetStringMacro(XMLFileName);
97 
99 
102  vtkSetMacro(TimeStep, int);
103  vtkGetMacro(TimeStep, int);
105 
110  void SetModeShape(int val)
111  {
112  this->SetTimeStep(val-1);
113  }
114 
116 
122  vtkGetVector2Macro(ModeShapesRange, int);
124 
126 
131  vtkGetVector2Macro(TimeStepRange,int);
133 
135 
146  virtual void SetGenerateObjectIdCellArray( vtkTypeBool g );
147  vtkTypeBool GetGenerateObjectIdCellArray();
148  vtkBooleanMacro(GenerateObjectIdCellArray, vtkTypeBool);
149  static const char *GetObjectIdArrayName() { return "ObjectId"; }
151 
152  virtual void SetGenerateGlobalElementIdArray( vtkTypeBool g );
153  vtkTypeBool GetGenerateGlobalElementIdArray();
154  vtkBooleanMacro(GenerateGlobalElementIdArray, vtkTypeBool);
155 
156  virtual void SetGenerateGlobalNodeIdArray( vtkTypeBool g );
157  vtkTypeBool GetGenerateGlobalNodeIdArray();
158  vtkBooleanMacro(GenerateGlobalNodeIdArray, vtkTypeBool);
159 
160  virtual void SetGenerateImplicitElementIdArray( vtkTypeBool g );
161  vtkTypeBool GetGenerateImplicitElementIdArray();
162  vtkBooleanMacro(GenerateImplicitElementIdArray, vtkTypeBool);
163 
164  virtual void SetGenerateImplicitNodeIdArray( vtkTypeBool g );
165  vtkTypeBool GetGenerateImplicitNodeIdArray();
166  vtkBooleanMacro(GenerateImplicitNodeIdArray, vtkTypeBool);
167 
168  virtual void SetGenerateFileIdArray( vtkTypeBool f );
169  vtkTypeBool GetGenerateFileIdArray();
170  vtkBooleanMacro(GenerateFileIdArray, vtkTypeBool);
171 
172  virtual void SetFileId( int f );
173  int GetFileId();
174 
176 
182  enum {
183  SEARCH_TYPE_ELEMENT=0,
187  ID_NOT_FOUND=-234121312
188  };
189  // NOTE: GetNumberOfObjectTypes must be updated whenever you add an entry to enum ObjectType {...}
190  enum ObjectType {
191  // match Exodus macros from exodusII.h and exodusII_ext.h
192  EDGE_BLOCK = 6,
193  FACE_BLOCK = 8,
194  ELEM_BLOCK = 1,
195  NODE_SET = 2,
196  EDGE_SET = 7,
197  FACE_SET = 9,
198  SIDE_SET = 3,
199  ELEM_SET = 10,
200  NODE_MAP = 5,
201  EDGE_MAP = 11,
202  FACE_MAP = 12,
203  ELEM_MAP = 4,
204  GLOBAL = 13,
205  NODAL = 14,
206  // extended values (not in Exodus headers) for use with SetAllArrayStatus:
207  ASSEMBLY = 60,
208  PART = 61,
209  MATERIAL = 62,
210  HIERARCHY = 63,
211  // extended values (not in Exodus headers) for use in cache keys:
212  QA_RECORDS = 103,
213  INFO_RECORDS = 104,
214  GLOBAL_TEMPORAL = 102,
215  NODAL_TEMPORAL = 101,
216  ELEM_BLOCK_TEMPORAL = 100,
217  GLOBAL_CONN = 99,
218  ELEM_BLOCK_ELEM_CONN = 98,
219  ELEM_BLOCK_FACE_CONN = 97,
220  ELEM_BLOCK_EDGE_CONN = 96,
221  FACE_BLOCK_CONN = 95,
222  EDGE_BLOCK_CONN = 94,
223  ELEM_SET_CONN = 93,
224  SIDE_SET_CONN = 92,
225  FACE_SET_CONN = 91,
226  EDGE_SET_CONN = 90,
227  NODE_SET_CONN = 89,
228  NODAL_COORDS = 88,
229  OBJECT_ID = 87,
230  IMPLICIT_ELEMENT_ID = 108,
231  IMPLICIT_NODE_ID = 107,
232  GLOBAL_ELEMENT_ID = 86,
233  GLOBAL_NODE_ID = 85,
234  ELEMENT_ID = 84,
235  NODE_ID = 83,
236  NODAL_SQUEEZEMAP = 82,
237  ELEM_BLOCK_ATTRIB = 81,
238  FACE_BLOCK_ATTRIB = 80,
239  EDGE_BLOCK_ATTRIB = 79,
240  FACE_ID = 105,
241  EDGE_ID = 106,
242  ENTITY_COUNTS = 109
243  };
245 
246  static const char* GetGlobalElementIdArrayName() { return "GlobalElementId"; }
247  static const char* GetPedigreeElementIdArrayName() { return "PedigreeElementId"; }
248  static int GetGlobalElementID( vtkDataSet *data, int localID );
249  static int GetGlobalElementID ( vtkDataSet *data, int localID,
250  int searchType );
251  static const char* GetImplicitElementIdArrayName() { return "ImplicitElementId"; }
252 
253  static const char* GetGlobalFaceIdArrayName() { return "GlobalFaceId"; }
254  static const char* GetPedigreeFaceIdArrayName() { return "PedigreeFaceId"; }
255  static int GetGlobalFaceID( vtkDataSet *data, int localID );
256  static int GetGlobalFaceID ( vtkDataSet *data, int localID,
257  int searchType );
258  static const char* GetImplicitFaceIdArrayName() { return "ImplicitFaceId"; }
259 
260  static const char* GetGlobalEdgeIdArrayName() { return "GlobalEdgeId"; }
261  static const char* GetPedigreeEdgeIdArrayName() { return "PedigreeEdgeId"; }
262  static int GetGlobalEdgeID( vtkDataSet *data, int localID );
263  static int GetGlobalEdgeID ( vtkDataSet *data, int localID,
264  int searchType );
265  static const char* GetImplicitEdgeIdArrayName() { return "ImplicitEdgeId"; }
266 
268 
274  static const char* GetGlobalNodeIdArrayName() { return "GlobalNodeId"; }
275  static const char* GetPedigreeNodeIdArrayName() { return "PedigreeNodeId"; }
276  static int GetGlobalNodeID( vtkDataSet *data, int localID );
277  static int GetGlobalNodeID( vtkDataSet *data, int localID,
278  int searchType );
279  static const char* GetImplicitNodeIdArrayName() { return "ImplicitNodeId"; }
281 
286  static const char* GetSideSetSourceElementIdArrayName() { return "SourceElementId"; }
287 
292  static const char* GetSideSetSourceElementSideArrayName() { return "SourceElementSide"; }
294 
301  virtual void SetApplyDisplacements( vtkTypeBool d );
302  vtkTypeBool GetApplyDisplacements();
303  vtkBooleanMacro(ApplyDisplacements, vtkTypeBool);
304  virtual void SetDisplacementMagnitude( float s );
305  float GetDisplacementMagnitude();
307 
309 
314  virtual void SetHasModeShapes( vtkTypeBool ms );
315  vtkTypeBool GetHasModeShapes();
316  vtkBooleanMacro(HasModeShapes,vtkTypeBool);
318 
320 
327  virtual void SetModeShapeTime( double phase );
328  double GetModeShapeTime();
330 
332 
339  virtual void SetAnimateModeShapes(vtkTypeBool flag);
340  vtkTypeBool GetAnimateModeShapes();
341  vtkBooleanMacro(AnimateModeShapes, vtkTypeBool);
343 
344 
346 
352  virtual void SetIgnoreFileTime(bool flag);
353  bool GetIgnoreFileTime();
354  vtkBooleanMacro(IgnoreFileTime, bool);
356 
358 
361  const char* GetTitle();
362  int GetDimensionality();
363  int GetNumberOfTimeSteps();
365 
366  int GetNumberOfNodesInFile();
367  int GetNumberOfEdgesInFile();
368  int GetNumberOfFacesInFile();
369  int GetNumberOfElementsInFile();
370 
371  int GetObjectTypeFromName( const char* name );
372  const char* GetObjectTypeName( int );
373 
374  int GetNumberOfNodes();
375  int GetNumberOfObjects( int objectType );
376  int GetNumberOfEntriesInObject( int objectType, int objectIndex );
377  int GetObjectId( int objectType, int objectIndex );
378  const char* GetObjectName( int objectType, int objectIndex );
379  int GetObjectIndex( int objectType, const char* objectName );
380  int GetObjectIndex( int objectType, int id );
381  int GetObjectStatus( int objectType, int objectIndex );
382  int GetObjectStatus( int objectType, const char* objectName )
383  { return this->GetObjectStatus( objectType, this->GetObjectIndex( objectType, objectName ) ); }
384  void SetObjectStatus( int objectType, int objectIndex, int status );
385  void SetObjectStatus( int objectType, const char* objectName, int status );
386 
388 
394  int GetNumberOfObjectArrays( int objectType );
395  const char* GetObjectArrayName( int objectType, int arrayIndex );
396  int GetObjectArrayIndex( int objectType, const char* arrayName );
397  int GetNumberOfObjectArrayComponents( int objectType, int arrayIndex );
398  int GetObjectArrayStatus( int objectType, int arrayIndex );
399  int GetObjectArrayStatus( int objectType, const char* arrayName )
400  { return this->GetObjectArrayStatus( objectType, this->GetObjectArrayIndex( objectType, arrayName ) ); }
401  void SetObjectArrayStatus( int objectType, int arrayIndex, int status );
402  void SetObjectArrayStatus( int objectType, const char* arrayName, int status );
404 
406 
412  int GetNumberOfObjectAttributes( int objectType, int objectIndex );
413  const char* GetObjectAttributeName( int objectType, int objectIndex, int attribIndex );
414  int GetObjectAttributeIndex( int objectType, int objectIndex, const char* attribName );
415  int GetObjectAttributeStatus( int objectType, int objectIndex, int attribIndex );
416  int GetObjectAttributeStatus( int objectType, int objectIndex, const char* attribName )
417  { return this->GetObjectAttributeStatus( objectType, objectIndex,
418  this->GetObjectAttributeIndex( objectType, objectIndex, attribName ) ); }
419  void SetObjectAttributeStatus( int objectType, int objectIndex, int attribIndex, int status );
420  void SetObjectAttributeStatus( int objectType, int objectIndex, const char* attribName, int status )
421  { this->SetObjectAttributeStatus( objectType, objectIndex,
422  this->GetObjectAttributeIndex( objectType, objectIndex, attribName ), status ); }
424 
425  virtual vtkIdType GetTotalNumberOfNodes();
426  virtual vtkIdType GetTotalNumberOfEdges();
427  virtual vtkIdType GetTotalNumberOfFaces();
428  virtual vtkIdType GetTotalNumberOfElements();
429 
431 
436  int GetNumberOfPartArrays();
437  const char* GetPartArrayName(int arrayIdx);
438  int GetPartArrayID( const char *name );
439  const char* GetPartBlockInfo(int arrayIdx);
440  void SetPartArrayStatus(int index, int flag);
441  void SetPartArrayStatus(const char*, int flag);
442  int GetPartArrayStatus(int index);
443  int GetPartArrayStatus(const char*);
445 
446 
448 
454  int GetNumberOfMaterialArrays();
455  const char* GetMaterialArrayName(int arrayIdx);
456  int GetMaterialArrayID( const char *name );
457  void SetMaterialArrayStatus(int index, int flag);
458  void SetMaterialArrayStatus(const char*, int flag);
459  int GetMaterialArrayStatus(int index);
460  int GetMaterialArrayStatus(const char*);
462 
464 
470  int GetNumberOfAssemblyArrays();
471  const char* GetAssemblyArrayName(int arrayIdx);
472  int GetAssemblyArrayID( const char *name );
473  void SetAssemblyArrayStatus(int index, int flag);
474  void SetAssemblyArrayStatus(const char*, int flag);
475  int GetAssemblyArrayStatus(int index);
476  int GetAssemblyArrayStatus(const char*);
478 
480 
489  int GetNumberOfHierarchyArrays();
490  const char* GetHierarchyArrayName(int arrayIdx);
491  void SetHierarchyArrayStatus(int index, int flag);
492  void SetHierarchyArrayStatus(const char*, int flag);
493  int GetHierarchyArrayStatus(int index);
494  int GetHierarchyArrayStatus(const char*);
496 
497  vtkGetMacro(DisplayType,int);
498  virtual void SetDisplayType(int type);
499 
503  int IsValidVariable( const char *type, const char *name );
504 
508  int GetVariableID ( const char *type, const char *name );
509 
510  void SetAllArrayStatus( int otype, int status );
511  // Helper functions
512  //static int StringsEqual(const char* s1, char* s2);
513  //static void StringUppercase(const char* str, char* upperstr);
514  //static char *StrDupWithNew(const char *s);
515 
516  // time series query functions
517  int GetTimeSeriesData( int ID, const char *vName, const char *vType,
518  vtkFloatArray *result );
519 
520 
521 
523  { return this->GetNumberOfObjects(EDGE_BLOCK); }
524  const char* GetEdgeBlockArrayName(int index)
525  { return this->GetObjectName(EDGE_BLOCK, index); }
526  int GetEdgeBlockArrayStatus(const char* name)
527  { return this->GetObjectStatus(EDGE_BLOCK, name); }
528  void SetEdgeBlockArrayStatus(const char* name, int flag)
529  { this->SetObjectStatus(EDGE_BLOCK, name, flag); }
530 
532  { return this->GetNumberOfObjects(FACE_BLOCK); }
533  const char* GetFaceBlockArrayName(int index)
534  { return this->GetObjectName(FACE_BLOCK, index); }
535  int GetFaceBlockArrayStatus(const char* name)
536  { return this->GetObjectStatus(FACE_BLOCK, name); }
537  void SetFaceBlockArrayStatus(const char* name, int flag)
538  { this->SetObjectStatus(FACE_BLOCK, name, flag); }
539 
541  { return this->GetNumberOfObjects(ELEM_BLOCK); }
543  { return this->GetObjectName(ELEM_BLOCK, index); }
545  { return this->GetObjectStatus(ELEM_BLOCK, name); }
546  void SetElementBlockArrayStatus(const char* name, int flag)
547  { this->SetObjectStatus(ELEM_BLOCK, name, flag); }
548 
550  { return this->GetNumberOfObjectArrays(GLOBAL); }
552  { return this->GetObjectArrayName(GLOBAL, index); }
554  { return this->GetObjectArrayStatus(GLOBAL, name); }
555  void SetGlobalResultArrayStatus(const char* name, int flag)
556  { this->SetObjectArrayStatus(GLOBAL, name, flag); }
557 
559  { return this->GetNumberOfObjectArrays(NODAL); }
561  { return this->GetObjectArrayName(NODAL, index); }
563  { return this->GetObjectArrayStatus(NODAL, name); }
564  void SetPointResultArrayStatus(const char* name, int flag)
565  { this->SetObjectArrayStatus(NODAL, name, flag); }
566 
568  { return this->GetNumberOfObjectArrays(EDGE_BLOCK); }
569  const char* GetEdgeResultArrayName(int index)
570  { return this->GetObjectArrayName(EDGE_BLOCK, index); }
572  { return this->GetObjectArrayStatus(EDGE_BLOCK, name); }
573  void SetEdgeResultArrayStatus(const char* name, int flag)
574  { this->SetObjectArrayStatus(EDGE_BLOCK, name, flag); }
575 
577  { return this->GetNumberOfObjectArrays(FACE_BLOCK); }
578  const char* GetFaceResultArrayName(int index)
579  { return this->GetObjectArrayName(FACE_BLOCK, index); }
581  { return this->GetObjectArrayStatus(FACE_BLOCK, name); }
582  void SetFaceResultArrayStatus(const char* name, int flag)
583  { this->SetObjectArrayStatus(FACE_BLOCK, name, flag); }
584 
586  { return this->GetNumberOfObjectArrays(ELEM_BLOCK); }
588  { return this->GetObjectArrayName(ELEM_BLOCK, index); }
590  { return this->GetObjectArrayStatus(ELEM_BLOCK, name); }
591  void SetElementResultArrayStatus(const char* name, int flag)
592  { this->SetObjectArrayStatus(ELEM_BLOCK, name, flag); }
593 
594 
596  { return this->GetNumberOfObjects(NODE_MAP); }
597  const char* GetNodeMapArrayName(int index)
598  { return this->GetObjectName(NODE_MAP, index); }
599  int GetNodeMapArrayStatus(const char* name)
600  { return this->GetObjectStatus(NODE_MAP, name); }
601  void SetNodeMapArrayStatus(const char* name, int flag)
602  { this->SetObjectStatus(NODE_MAP, name, flag); }
603 
605  { return this->GetNumberOfObjects(EDGE_MAP); }
606  const char* GetEdgeMapArrayName(int index)
607  { return this->GetObjectName(EDGE_MAP, index); }
608  int GetEdgeMapArrayStatus(const char* name)
609  { return this->GetObjectStatus(EDGE_MAP, name); }
610  void SetEdgeMapArrayStatus(const char* name, int flag)
611  { this->SetObjectStatus(EDGE_MAP, name, flag); }
612 
614  { return this->GetNumberOfObjects(FACE_MAP); }
615  const char* GetFaceMapArrayName(int index)
616  { return this->GetObjectName(FACE_MAP, index); }
617  int GetFaceMapArrayStatus(const char* name)
618  { return this->GetObjectStatus(FACE_MAP, name); }
619  void SetFaceMapArrayStatus(const char* name, int flag)
620  { this->SetObjectStatus(FACE_MAP, name, flag); }
621 
623  { return this->GetNumberOfObjects(ELEM_MAP); }
624  const char* GetElementMapArrayName(int index)
625  { return this->GetObjectName(ELEM_MAP, index); }
627  { return this->GetObjectStatus(ELEM_MAP, name); }
628  void SetElementMapArrayStatus(const char* name, int flag)
629  { this->SetObjectStatus(ELEM_MAP, name, flag); }
630 
632  { return this->GetNumberOfObjects(NODE_SET); }
633  const char* GetNodeSetArrayName(int index)
634  { return this->GetObjectName(NODE_SET, index); }
635  int GetNodeSetArrayStatus(const char* name)
636  { return this->GetObjectStatus(NODE_SET, name); }
637  void SetNodeSetArrayStatus(const char* name, int flag)
638  { this->SetObjectStatus(NODE_SET, name, flag); }
639 
641  { return this->GetNumberOfObjects(SIDE_SET); }
642  const char* GetSideSetArrayName(int index)
643  { return this->GetObjectName(SIDE_SET, index); }
644  int GetSideSetArrayStatus(const char* name)
645  { return this->GetObjectStatus(SIDE_SET, name); }
646  void SetSideSetArrayStatus(const char* name, int flag)
647  { this->SetObjectStatus(SIDE_SET, name, flag); }
648 
650  { return this->GetNumberOfObjects(EDGE_SET); }
651  const char* GetEdgeSetArrayName(int index)
652  { return this->GetObjectName(EDGE_SET, index); }
653  int GetEdgeSetArrayStatus(const char* name)
654  { return this->GetObjectStatus(EDGE_SET, name); }
655  void SetEdgeSetArrayStatus(const char* name, int flag)
656  { this->SetObjectStatus(EDGE_SET, name, flag); }
657 
659  { return this->GetNumberOfObjects(FACE_SET); }
660  const char* GetFaceSetArrayName(int index)
661  { return this->GetObjectName(FACE_SET, index); }
662  int GetFaceSetArrayStatus(const char* name)
663  { return this->GetObjectStatus(FACE_SET, name); }
664  void SetFaceSetArrayStatus(const char* name, int flag)
665  { this->SetObjectStatus(FACE_SET, name, flag); }
666 
668  { return this->GetNumberOfObjects(ELEM_SET); }
669  const char* GetElementSetArrayName(int index)
670  { return this->GetObjectName(ELEM_SET, index); }
672  { return this->GetObjectStatus(ELEM_SET, name); }
673  void SetElementSetArrayStatus(const char* name, int flag)
674  { this->SetObjectStatus(ELEM_SET, name, flag); }
675 
676 
678  { return this->GetNumberOfObjectArrays(NODE_SET); }
680  { return this->GetObjectArrayName(NODE_SET, index); }
682  { return this->GetObjectArrayStatus(NODE_SET, name); }
683  void SetNodeSetResultArrayStatus(const char* name, int flag)
684  { this->SetObjectArrayStatus(NODE_SET, name, flag); }
685 
687  { return this->GetNumberOfObjectArrays(SIDE_SET); }
689  { return this->GetObjectArrayName(SIDE_SET, index); }
691  { return this->GetObjectArrayStatus(SIDE_SET, name); }
692  void SetSideSetResultArrayStatus(const char* name, int flag)
693  { this->SetObjectArrayStatus(SIDE_SET, name, flag); }
694 
696  { return this->GetNumberOfObjectArrays(EDGE_SET); }
698  { return this->GetObjectArrayName(EDGE_SET, index); }
700  { return this->GetObjectArrayStatus(EDGE_SET, name); }
701  void SetEdgeSetResultArrayStatus(const char* name, int flag)
702  { this->SetObjectArrayStatus(EDGE_SET, name, flag); }
703 
705  { return this->GetNumberOfObjectArrays(FACE_SET); }
707  { return this->GetObjectArrayName(FACE_SET, index); }
709  { return this->GetObjectArrayStatus(FACE_SET, name); }
710  void SetFaceSetResultArrayStatus(const char* name, int flag)
711  { this->SetObjectArrayStatus(FACE_SET, name, flag); }
712 
714  { return this->GetNumberOfObjectArrays(ELEM_SET); }
716  { return this->GetObjectArrayName(ELEM_SET, index); }
718  { return this->GetObjectArrayStatus(ELEM_SET, name); }
719  void SetElementSetResultArrayStatus(const char* name, int flag)
720  { this->SetObjectArrayStatus(ELEM_SET, name, flag); }
721 
730  void Reset();
731 
740  void ResetSettings();
741 
745  void ResetCache();
746 
750  void SetCacheSize(double CacheSize);
751 
755  double GetCacheSize();
756 
758 
770  void SetSqueezePoints(bool sp);
771  bool GetSqueezePoints();
773 
774  virtual void Dump();
775 
780  vtkGraph* GetSIL();
781 
783 
786  vtkGetMacro(SILUpdateStamp, int);
788 
790 
794  int GetMaxNameLength();
796 
797 protected:
799  ~vtkExodusIIReader() override;
800 
801  // helper for finding IDs
802  static int GetIDHelper ( const char *arrayName, vtkDataSet *data, int localID, int searchType );
803  static int GetGlobalID( const char *arrayName, vtkDataSet *data, int localID, int searchType );
804 
805  virtual void SetMetadata( vtkExodusIIReaderPrivate* );
806  vtkGetObjectMacro(Metadata,vtkExodusIIReaderPrivate);
807 
812  bool FindXMLFile();
813 
814  // Time query function. Called by ExecuteInformation().
815  // Fills the TimestepValues array.
816  void GetAllTimes(vtkInformationVector*);
817 
821  void AdvertiseTimeSteps( vtkInformation* outputInfo );
822 
826  //int RequestDataOverTime( vtkInformation *, vtkInformationVector **, vtkInformationVector *);
827 
828  // Parameters for controlling what is read in.
829  char* FileName;
830  char* XMLFileName;
831  int TimeStep;
832  int TimeStepRange[2];
835 
836  // Information specific for exodus files.
837 
838  //1=display Block names
839  //2=display Part names
840  //3=display Material names
842 
843  // Metadata containing a description of the currently open file.
845 
847 
848  friend class vtkPExodusIIReader;
849 private:
850  vtkExodusIIReader(const vtkExodusIIReader&) = delete;
851  void operator=(const vtkExodusIIReader&) = delete;
852 
853  void AddDisplacements(vtkUnstructuredGrid* output);
854  int ModeShapesRange[2];
855 };
856 
857 #endif
vtkPoints
represent and manipulate 3D points
Definition: vtkPoints.h:39
vtkExodusIIReader::GetNumberOfEdgeMapArrays
int GetNumberOfEdgeMapArrays()
Definition: vtkExodusIIReader.h:604
vtkExodusIIReader::GetNumberOfElementSetArrays
int GetNumberOfElementSetArrays()
Definition: vtkExodusIIReader.h:667
vtkExodusIIReader::GetGlobalResultArrayStatus
int GetGlobalResultArrayStatus(const char *name)
Definition: vtkExodusIIReader.h:553
vtkExodusIIReader::GetNumberOfNodeMapArrays
int GetNumberOfNodeMapArrays()
Definition: vtkExodusIIReader.h:595
vtkExodusIIReader::GetNumberOfNodeSetArrays
int GetNumberOfNodeSetArrays()
Definition: vtkExodusIIReader.h:631
vtkExodusIIReader::GetImplicitElementIdArrayName
static const char * GetImplicitElementIdArrayName()
Definition: vtkExodusIIReader.h:251
vtkExodusIIReader::SetFaceSetResultArrayStatus
void SetFaceSetResultArrayStatus(const char *name, int flag)
Definition: vtkExodusIIReader.h:710
vtkExodusIIReader::GetNumberOfElementBlockArrays
int GetNumberOfElementBlockArrays()
Definition: vtkExodusIIReader.h:540
vtkExodusIIReader::GetSideSetSourceElementSideArrayName
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...
Definition: vtkExodusIIReader.h:292
vtkExodusIIReader::GetGlobalNodeIdArrayName
static const char * GetGlobalNodeIdArrayName()
Extra point data array that can be generated.
Definition: vtkExodusIIReader.h:274
vtkExodusIIReader::GetFaceSetResultArrayName
const char * GetFaceSetResultArrayName(int index)
Definition: vtkExodusIIReader.h:706
vtkExodusIIReader::GetNumberOfFaceResultArrays
int GetNumberOfFaceResultArrays()
Definition: vtkExodusIIReader.h:576
vtkExodusIIReader::GetFaceSetArrayName
const char * GetFaceSetArrayName(int index)
Definition: vtkExodusIIReader.h:660
vtkMultiBlockDataSetAlgorithm::ProcessRequest
int ProcessRequest(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
see vtkAlgorithm for details
vtkExodusIIReader::SetEdgeSetResultArrayStatus
void SetEdgeSetResultArrayStatus(const char *name, int flag)
Definition: vtkExodusIIReader.h:701
vtkExodusIIReader::GetImplicitFaceIdArrayName
static const char * GetImplicitFaceIdArrayName()
Definition: vtkExodusIIReader.h:258
vtkExodusIIReader::Metadata
vtkExodusIIReaderPrivate * Metadata
Definition: vtkExodusIIReader.h:844
vtkExodusIIReader::GetNodeSetArrayName
const char * GetNodeSetArrayName(int index)
Definition: vtkExodusIIReader.h:633
vtkExodusIIReader::SetEdgeBlockArrayStatus
void SetEdgeBlockArrayStatus(const char *name, int flag)
Definition: vtkExodusIIReader.h:528
vtkX3D::type
Definition: vtkX3D.h:516
vtkIdType
int vtkIdType
Definition: vtkType.h:347
vtkExodusIIReader::SetSideSetArrayStatus
void SetSideSetArrayStatus(const char *name, int flag)
Definition: vtkExodusIIReader.h:646
vtkExodusIIReader::FileNameMTime
vtkTimeStamp FileNameMTime
Definition: vtkExodusIIReader.h:833
vtkFloatArray
dynamic, self-adjusting array of float
Definition: vtkFloatArray.h:41
vtkExodusIIReader::GetFaceMapArrayStatus
int GetFaceMapArrayStatus(const char *name)
Definition: vtkExodusIIReader.h:617
vtkExodusIIReader::SetEdgeResultArrayStatus
void SetEdgeResultArrayStatus(const char *name, int flag)
Definition: vtkExodusIIReader.h:573
vtkX3D::data
Definition: vtkX3D.h:315
vtkExodusIIReader::GetElementSetResultArrayStatus
int GetElementSetResultArrayStatus(const char *name)
Definition: vtkExodusIIReader.h:717
vtkExodusIIReader::GetEdgeSetResultArrayName
const char * GetEdgeSetResultArrayName(int index)
Definition: vtkExodusIIReader.h:697
vtkExodusIIReader::GetNumberOfFaceSetArrays
int GetNumberOfFaceSetArrays()
Definition: vtkExodusIIReader.h:658
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkExodusIIReader::GetNumberOfEdgeSetArrays
int GetNumberOfEdgeSetArrays()
Definition: vtkExodusIIReader.h:649
vtkExodusIIReader::GetNumberOfElementMapArrays
int GetNumberOfElementMapArrays()
Definition: vtkExodusIIReader.h:622
vtkExodusIIReader::GetEdgeMapArrayName
const char * GetEdgeMapArrayName(int index)
Definition: vtkExodusIIReader.h:606
vtkExodusIIReader::GetNodeSetResultArrayStatus
int GetNodeSetResultArrayStatus(const char *name)
Definition: vtkExodusIIReader.h:681
vtkTimeStamp
record modification and/or execution time
Definition: vtkTimeStamp.h:35
vtkExodusIIReader::SetNodeMapArrayStatus
void SetNodeMapArrayStatus(const char *name, int flag)
Definition: vtkExodusIIReader.h:601
vtkExodusIIReader::GetSideSetResultArrayName
const char * GetSideSetResultArrayName(int index)
Definition: vtkExodusIIReader.h:688
vtkExodusIIReader::GetElementResultArrayStatus
int GetElementResultArrayStatus(const char *name)
Definition: vtkExodusIIReader.h:589
vtkExodusIIReader
Read exodus 2 files .ex2.
Definition: vtkExodusIIReader.h:56
vtkExodusIIReader::SetNodeSetResultArrayStatus
void SetNodeSetResultArrayStatus(const char *name, int flag)
Definition: vtkExodusIIReader.h:683
vtkMultiBlockDataSetAlgorithm::New
static vtkMultiBlockDataSetAlgorithm * New()
vtkExodusIIReader::GetElementSetArrayName
const char * GetElementSetArrayName(int index)
Definition: vtkExodusIIReader.h:669
vtkExodusIIReader::SetNodeSetArrayStatus
void SetNodeSetArrayStatus(const char *name, int flag)
Definition: vtkExodusIIReader.h:637
vtkExodusIIReader::SetPointResultArrayStatus
void SetPointResultArrayStatus(const char *name, int flag)
Definition: vtkExodusIIReader.h:564
vtkExodusIIReader::SILUpdateStamp
int SILUpdateStamp
Definition: vtkExodusIIReader.h:846
vtkExodusIIReader::SEARCH_TYPE_NODE_THEN_ELEMENT
Definition: vtkExodusIIReader.h:186
vtkExodusIIReader::SetEdgeMapArrayStatus
void SetEdgeMapArrayStatus(const char *name, int flag)
Definition: vtkExodusIIReader.h:610
vtkExodusIIReader::GetNumberOfFaceSetResultArrays
int GetNumberOfFaceSetResultArrays()
Definition: vtkExodusIIReader.h:704
vtkDataArray
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:54
vtkExodusIIReader::GetSideSetArrayStatus
int GetSideSetArrayStatus(const char *name)
Definition: vtkExodusIIReader.h:644
vtkExodusIIReader::DisplayType
int DisplayType
Definition: vtkExodusIIReader.h:841
vtkExodusIIReader::GetNumberOfEdgeSetResultArrays
int GetNumberOfEdgeSetResultArrays()
Definition: vtkExodusIIReader.h:695
vtkExodusIIReader::SEARCH_TYPE_NODE
Definition: vtkExodusIIReader.h:184
vtkExodusIIReader::GetNumberOfElementResultArrays
int GetNumberOfElementResultArrays()
Definition: vtkExodusIIReader.h:585
vtkExodusIIReader::GetNodeSetResultArrayName
const char * GetNodeSetResultArrayName(int index)
Definition: vtkExodusIIReader.h:679
vtkExodusIIReader::GetElementMapArrayName
const char * GetElementMapArrayName(int index)
Definition: vtkExodusIIReader.h:624
vtkExodusIIReader::GetEdgeSetResultArrayStatus
int GetEdgeSetResultArrayStatus(const char *name)
Definition: vtkExodusIIReader.h:699
vtkExodusIIReader::SetElementResultArrayStatus
void SetElementResultArrayStatus(const char *name, int flag)
Definition: vtkExodusIIReader.h:591
vtkExodusIIReader::GetElementSetArrayStatus
int GetElementSetArrayStatus(const char *name)
Definition: vtkExodusIIReader.h:671
vtkExodusIIReader::GetEdgeResultArrayStatus
int GetEdgeResultArrayStatus(const char *name)
Definition: vtkExodusIIReader.h:571
vtkExodusIIReader::SetElementSetArrayStatus
void SetElementSetArrayStatus(const char *name, int flag)
Definition: vtkExodusIIReader.h:673
vtkExodusIIReader::ObjectType
ObjectType
Definition: vtkExodusIIReader.h:190
vtkExodusIIReader::GetNumberOfFaceBlockArrays
int GetNumberOfFaceBlockArrays()
Definition: vtkExodusIIReader.h:531
vtkExodusIIReader::GetObjectIdArrayName
static const char * GetObjectIdArrayName()
Definition: vtkExodusIIReader.h:149
vtkExodusIIReader::GetNumberOfEdgeResultArrays
int GetNumberOfEdgeResultArrays()
Definition: vtkExodusIIReader.h:567
vtkExodusIIReader::XMLFileName
char * XMLFileName
Definition: vtkExodusIIReader.h:830
vtkExodusIIReader::GetElementBlockArrayStatus
int GetElementBlockArrayStatus(const char *name)
Definition: vtkExodusIIReader.h:544
vtkExodusIIReader::GetSideSetSourceElementIdArrayName
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...
Definition: vtkExodusIIReader.h:286
vtkMultiBlockDataSetAlgorithm::RequestData
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
Definition: vtkMultiBlockDataSetAlgorithm.h:91
vtkPExodusIIReader
Read Exodus II files (.exii)
Definition: vtkPExodusIIReader.h:53
vtkExodusIIReader::GetNumberOfSideSetResultArrays
int GetNumberOfSideSetResultArrays()
Definition: vtkExodusIIReader.h:686
vtkExodusIIReader::GetGlobalFaceIdArrayName
static const char * GetGlobalFaceIdArrayName()
Definition: vtkExodusIIReader.h:253
vtkExodusIIReader::GetGlobalResultArrayName
const char * GetGlobalResultArrayName(int index)
Definition: vtkExodusIIReader.h:551
vtkExodusIIReader::GetImplicitNodeIdArrayName
static const char * GetImplicitNodeIdArrayName()
Definition: vtkExodusIIReader.h:279
vtkExodusIIReader::FileName
char * FileName
Definition: vtkExodusIIReader.h:829
vtkExodusIIReader::GetObjectArrayStatus
int GetObjectArrayStatus(int objectType, const char *arrayName)
Definition: vtkExodusIIReader.h:399
vtkObject::GetMTime
virtual vtkMTimeType GetMTime()
Return this object's modified time.
vtkExodusIIReader::GetNodeMapArrayName
const char * GetNodeMapArrayName(int index)
Definition: vtkExodusIIReader.h:597
vtkExodusIIReader::GetNumberOfNodeSetResultArrays
int GetNumberOfNodeSetResultArrays()
Definition: vtkExodusIIReader.h:677
vtkExodusIIReader::SetFaceBlockArrayStatus
void SetFaceBlockArrayStatus(const char *name, int flag)
Definition: vtkExodusIIReader.h:537
vtkExodusIIReader::GetElementResultArrayName
const char * GetElementResultArrayName(int index)
Definition: vtkExodusIIReader.h:587
vtkExodusIIReader::GetGlobalEdgeIdArrayName
static const char * GetGlobalEdgeIdArrayName()
Definition: vtkExodusIIReader.h:260
vtkExodusIIReader::GetFaceResultArrayName
const char * GetFaceResultArrayName(int index)
Definition: vtkExodusIIReader.h:578
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkIntArray
dynamic, self-adjusting array of int
Definition: vtkIntArray.h:45
vtkExodusIIReader::GetEdgeBlockArrayStatus
int GetEdgeBlockArrayStatus(const char *name)
Definition: vtkExodusIIReader.h:526
vtkExodusIIReader::GetNumberOfPointResultArrays
int GetNumberOfPointResultArrays()
Definition: vtkExodusIIReader.h:558
vtkExodusIIReader::GetPedigreeEdgeIdArrayName
static const char * GetPedigreeEdgeIdArrayName()
Definition: vtkExodusIIReader.h:261
vtkExodusIIReader::GetNodeSetArrayStatus
int GetNodeSetArrayStatus(const char *name)
Definition: vtkExodusIIReader.h:635
vtkExodusIIReader::SetObjectAttributeStatus
void SetObjectAttributeStatus(int objectType, int objectIndex, const char *attribName, int status)
Definition: vtkExodusIIReader.h:420
vtkExodusIIReader::GetNumberOfFaceMapArrays
int GetNumberOfFaceMapArrays()
Definition: vtkExodusIIReader.h:613
vtkExodusIIReader::GetPointResultArrayStatus
int GetPointResultArrayStatus(const char *name)
Definition: vtkExodusIIReader.h:562
vtkMultiBlockDataSetAlgorithm.h
vtkExodusIIReader::GetFaceMapArrayName
const char * GetFaceMapArrayName(int index)
Definition: vtkExodusIIReader.h:615
vtkExodusIIReaderPrivate
This class holds metadata for an Exodus file.
Definition: vtkExodusIIReaderPrivate.h:23
vtkExodusIIReader::GetNumberOfEdgeBlockArrays
int GetNumberOfEdgeBlockArrays()
Definition: vtkExodusIIReader.h:522
vtkExodusIIReader::GetPedigreeFaceIdArrayName
static const char * GetPedigreeFaceIdArrayName()
Definition: vtkExodusIIReader.h:254
vtkExodusIIReader::GetSideSetArrayName
const char * GetSideSetArrayName(int index)
Definition: vtkExodusIIReader.h:642
vtkX3D::name
Definition: vtkX3D.h:219
vtkExodusIIReader::GetNodeMapArrayStatus
int GetNodeMapArrayStatus(const char *name)
Definition: vtkExodusIIReader.h:599
vtkExodusIIReader::GetElementMapArrayStatus
int GetElementMapArrayStatus(const char *name)
Definition: vtkExodusIIReader.h:626
vtkDataSet
abstract class to specify dataset behavior
Definition: vtkDataSet.h:62
vtkExodusIIReader::GetObjectStatus
int GetObjectStatus(int objectType, const char *objectName)
Definition: vtkExodusIIReader.h:382
vtkExodusIIReader::SetGlobalResultArrayStatus
void SetGlobalResultArrayStatus(const char *name, int flag)
Definition: vtkExodusIIReader.h:555
vtkExodusIIReader::GetObjectAttributeStatus
int GetObjectAttributeStatus(int objectType, int objectIndex, const char *attribName)
Definition: vtkExodusIIReader.h:416
vtkMultiBlockDataSetAlgorithm::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkExodusIIReader::GetPedigreeNodeIdArrayName
static const char * GetPedigreeNodeIdArrayName()
Definition: vtkExodusIIReader.h:275
vtkExodusIIReader::SetFaceSetArrayStatus
void SetFaceSetArrayStatus(const char *name, int flag)
Definition: vtkExodusIIReader.h:664
vtkExodusIIReader::SetFaceMapArrayStatus
void SetFaceMapArrayStatus(const char *name, int flag)
Definition: vtkExodusIIReader.h:619
vtkExodusIIReader::XMLFileNameMTime
vtkTimeStamp XMLFileNameMTime
Definition: vtkExodusIIReader.h:834
vtkExodusIIReader::SetModeShape
void SetModeShape(int val)
Convenience method to set the mode-shape which is same as this->SetTimeStep(val-1);.
Definition: vtkExodusIIReader.h:110
vtkExodusIIReader::SetFaceResultArrayStatus
void SetFaceResultArrayStatus(const char *name, int flag)
Definition: vtkExodusIIReader.h:582
vtkExodusIIReader::GetFaceSetArrayStatus
int GetFaceSetArrayStatus(const char *name)
Definition: vtkExodusIIReader.h:662
vtkExodusIIReader::GetGlobalElementIdArrayName
static const char * GetGlobalElementIdArrayName()
Definition: vtkExodusIIReader.h:246
vtkExodusIIReader::GetPointResultArrayName
const char * GetPointResultArrayName(int index)
Definition: vtkExodusIIReader.h:560
vtkExodusIIReader::GetPedigreeElementIdArrayName
static const char * GetPedigreeElementIdArrayName()
Definition: vtkExodusIIReader.h:247
vtkExodusIIReader::GetImplicitEdgeIdArrayName
static const char * GetImplicitEdgeIdArrayName()
Definition: vtkExodusIIReader.h:265
vtkExodusIIReader::GetFaceBlockArrayName
const char * GetFaceBlockArrayName(int index)
Definition: vtkExodusIIReader.h:533
vtkExodusIIReader::GetElementSetResultArrayName
const char * GetElementSetResultArrayName(int index)
Definition: vtkExodusIIReader.h:715
vtkExodusIIReader::GetNumberOfSideSetArrays
int GetNumberOfSideSetArrays()
Definition: vtkExodusIIReader.h:640
vtkExodusIIReader::SetSideSetResultArrayStatus
void SetSideSetResultArrayStatus(const char *name, int flag)
Definition: vtkExodusIIReader.h:692
vtkExodusIIReader::GetEdgeSetArrayStatus
int GetEdgeSetArrayStatus(const char *name)
Definition: vtkExodusIIReader.h:653
vtkExodusIIReader::GetFaceResultArrayStatus
int GetFaceResultArrayStatus(const char *name)
Definition: vtkExodusIIReader.h:580
vtkExodusIIReader::SetElementMapArrayStatus
void SetElementMapArrayStatus(const char *name, int flag)
Definition: vtkExodusIIReader.h:628
vtkExodusIIReader::GetEdgeResultArrayName
const char * GetEdgeResultArrayName(int index)
Definition: vtkExodusIIReader.h:569
vtkExodusIIReader::GetNumberOfElementSetResultArrays
int GetNumberOfElementSetResultArrays()
Definition: vtkExodusIIReader.h:713
vtkUnstructuredGrid
dataset represents arbitrary combinations of all possible cell types
Definition: vtkUnstructuredGrid.h:87
vtkGraph
Base class for graph data types.
Definition: vtkGraph.h:287
vtkExodusIIReader::GetFaceSetResultArrayStatus
int GetFaceSetResultArrayStatus(const char *name)
Definition: vtkExodusIIReader.h:708
vtkExodusIIReader::vtkExodusIIReader
vtkExodusIIReader()
vtkExodusIIReader::GetEdgeMapArrayStatus
int GetEdgeMapArrayStatus(const char *name)
Definition: vtkExodusIIReader.h:608
vtkExodusIIReader::SetElementBlockArrayStatus
void SetElementBlockArrayStatus(const char *name, int flag)
Definition: vtkExodusIIReader.h:546
vtkExodusIIReader::TimeStep
int TimeStep
Definition: vtkExodusIIReader.h:831
vtkX3D::index
Definition: vtkX3D.h:246
vtkExodusIIReader::SetEdgeSetArrayStatus
void SetEdgeSetArrayStatus(const char *name, int flag)
Definition: vtkExodusIIReader.h:655
vtkExodusIIReader::GetEdgeSetArrayName
const char * GetEdgeSetArrayName(int index)
Definition: vtkExodusIIReader.h:651
vtkExodusIIReader::GetElementBlockArrayName
const char * GetElementBlockArrayName(int index)
Definition: vtkExodusIIReader.h:542
vtkExodusIIReader::SetElementSetResultArrayStatus
void SetElementSetResultArrayStatus(const char *name, int flag)
Definition: vtkExodusIIReader.h:719
vtkExodusIIReader::GetNumberOfGlobalResultArrays
int GetNumberOfGlobalResultArrays()
Definition: vtkExodusIIReader.h:549
vtkExodusIIReader::GetFaceBlockArrayStatus
int GetFaceBlockArrayStatus(const char *name)
Definition: vtkExodusIIReader.h:535
vtkMultiBlockDataSetAlgorithm::RequestInformation
virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
Definition: vtkMultiBlockDataSetAlgorithm.h:83
vtkExodusIICache
Definition: vtkExodusIICache.h:127
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkExodusIIReader::GetSideSetResultArrayStatus
int GetSideSetResultArrayStatus(const char *name)
Definition: vtkExodusIIReader.h:690
vtkExodusIIReader::SEARCH_TYPE_ELEMENT_THEN_NODE
Definition: vtkExodusIIReader.h:185
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:302
vtkExodusIIReader::GetEdgeBlockArrayName
const char * GetEdgeBlockArrayName(int index)
Definition: vtkExodusIIReader.h:524
vtkMultiBlockDataSetAlgorithm
Superclass for algorithms that produce only vtkMultiBlockDataSet as output.
Definition: vtkMultiBlockDataSetAlgorithm.h:35