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