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