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