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