VTK  9.2.6
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
49#ifndef vtkExodusIIReader_h
50#define vtkExodusIIReader_h
51
52#include "vtkIOExodusModule.h" // For export macro
54
55class vtkDataArray;
56class vtkDataSet;
59class vtkFloatArray;
60class vtkGraph;
62class vtkIntArray;
63class vtkPoints;
65
66class VTKIOEXODUS_EXPORT vtkExodusIIReader : public vtkMultiBlockDataSetAlgorithm
67{
68public:
71 void PrintSelf(ostream& os, vtkIndent indent) override;
72
76 virtual int CanReadFile(VTK_FILEPATH const char* fname);
77
78 // virtual void Modified();
79
84
91
93
96 virtual void SetFileName(VTK_FILEPATH const char* fname);
99
101
104 virtual void SetXMLFileName(VTK_FILEPATH const char* fname);
107
109
112 vtkSetMacro(TimeStep, int);
113 vtkGetMacro(TimeStep, int);
115
120 void SetModeShape(int val) { this->SetTimeStep(val - 1); }
121
123
129 vtkGetVector2Macro(ModeShapesRange, int);
131
133
138 vtkGetVector2Macro(TimeStepRange, int);
140
142
155 vtkBooleanMacro(GenerateObjectIdCellArray, vtkTypeBool);
156 static const char* GetObjectIdArrayName() { return "ObjectId"; }
158
161 vtkBooleanMacro(GenerateGlobalElementIdArray, vtkTypeBool);
162
165 vtkBooleanMacro(GenerateGlobalNodeIdArray, vtkTypeBool);
166
169 vtkBooleanMacro(GenerateImplicitElementIdArray, vtkTypeBool);
170
173 vtkBooleanMacro(GenerateImplicitNodeIdArray, vtkTypeBool);
174
177 vtkBooleanMacro(GenerateFileIdArray, vtkTypeBool);
178
179 virtual void SetFileId(int f);
181
183
189 enum
190 {
191 SEARCH_TYPE_ELEMENT = 0,
195 ID_NOT_FOUND = -234121312
196 };
197 // NOTE: GetNumberOfObjectTypes must be updated whenever you add an entry to enum ObjectType {...}
199 {
200 // match Exodus macros from exodusII.h and exodusII_ext.h
201 EDGE_BLOCK = 6,
202 FACE_BLOCK = 8,
203 ELEM_BLOCK = 1,
204 NODE_SET = 2,
205 EDGE_SET = 7,
206 FACE_SET = 9,
207 SIDE_SET = 3,
208 ELEM_SET = 10,
209 NODE_MAP = 5,
210 EDGE_MAP = 11,
211 FACE_MAP = 12,
212 ELEM_MAP = 4,
213 GLOBAL = 13,
214 NODAL = 14,
215 // extended values (not in Exodus headers) for use with SetAllArrayStatus:
216 ASSEMBLY = 60,
217 PART = 61,
218 MATERIAL = 62,
219 HIERARCHY = 63,
220 // extended values (not in Exodus headers) for use in cache keys:
221 QA_RECORDS = 103,
222 INFO_RECORDS = 104,
223 GLOBAL_TEMPORAL = 102,
224 NODAL_TEMPORAL = 101,
225 ELEM_BLOCK_TEMPORAL = 100,
226 GLOBAL_CONN = 99,
227 ELEM_BLOCK_ELEM_CONN = 98,
228 ELEM_BLOCK_FACE_CONN =
229 97,
230 ELEM_BLOCK_EDGE_CONN =
231 96,
232 FACE_BLOCK_CONN = 95,
233 EDGE_BLOCK_CONN = 94,
234 ELEM_SET_CONN = 93,
235 SIDE_SET_CONN = 92,
236 FACE_SET_CONN = 91,
237 EDGE_SET_CONN = 90,
238 NODE_SET_CONN = 89,
239 NODAL_COORDS = 88,
240 OBJECT_ID = 87,
241 IMPLICIT_ELEMENT_ID = 108,
242 IMPLICIT_NODE_ID = 107,
243 GLOBAL_ELEMENT_ID =
244 86,
245 GLOBAL_NODE_ID =
246 85,
247 ELEMENT_ID = 84,
248 NODE_ID = 83,
249 NODAL_SQUEEZEMAP = 82,
250 ELEM_BLOCK_ATTRIB = 81,
251 FACE_BLOCK_ATTRIB = 80,
252 EDGE_BLOCK_ATTRIB = 79,
253 FACE_ID = 105,
254 EDGE_ID = 106,
255 ENTITY_COUNTS = 109
256 };
258
259 static const char* GetGlobalElementIdArrayName() { return "GlobalElementId"; }
260 static const char* GetPedigreeElementIdArrayName() { return "PedigreeElementId"; }
261 static int GetGlobalElementID(vtkDataSet* data, int localID);
262 static int GetGlobalElementID(vtkDataSet* data, int localID, int searchType);
263 static const char* GetImplicitElementIdArrayName() { return "ImplicitElementId"; }
264
265 static const char* GetGlobalFaceIdArrayName() { return "GlobalFaceId"; }
266 static const char* GetPedigreeFaceIdArrayName() { return "PedigreeFaceId"; }
267 static int GetGlobalFaceID(vtkDataSet* data, int localID);
268 static int GetGlobalFaceID(vtkDataSet* data, int localID, int searchType);
269 static const char* GetImplicitFaceIdArrayName() { return "ImplicitFaceId"; }
270
271 static const char* GetGlobalEdgeIdArrayName() { return "GlobalEdgeId"; }
272 static const char* GetPedigreeEdgeIdArrayName() { return "PedigreeEdgeId"; }
273 static int GetGlobalEdgeID(vtkDataSet* data, int localID);
274 static int GetGlobalEdgeID(vtkDataSet* data, int localID, int searchType);
275 static const char* GetImplicitEdgeIdArrayName() { return "ImplicitEdgeId"; }
276
278
284 static const char* GetGlobalNodeIdArrayName() { return "GlobalNodeId"; }
285 static const char* GetPedigreeNodeIdArrayName() { return "PedigreeNodeId"; }
286 static int GetGlobalNodeID(vtkDataSet* data, int localID);
287 static int GetGlobalNodeID(vtkDataSet* data, int localID, int searchType);
288 static const char* GetImplicitNodeIdArrayName() { return "ImplicitNodeId"; }
290
295 static const char* GetSideSetSourceElementIdArrayName() { return "SourceElementId"; }
296
301 static const char* GetSideSetSourceElementSideArrayName() { return "SourceElementSide"; }
303
312 vtkBooleanMacro(ApplyDisplacements, vtkTypeBool);
313 virtual void SetDisplacementMagnitude(float s);
316
318
325 vtkBooleanMacro(HasModeShapes, vtkTypeBool);
327
329
336 virtual void SetModeShapeTime(double phase);
339
341
350 vtkBooleanMacro(AnimateModeShapes, vtkTypeBool);
352
354
360 virtual void SetIgnoreFileTime(bool flag);
362 vtkBooleanMacro(IgnoreFileTime, bool);
364
366
369 const char* GetTitle();
373
378
379 int GetObjectTypeFromName(const char* name);
380 const char* GetObjectTypeName(int);
381
383 int GetNumberOfObjects(int objectType);
384 int GetNumberOfEntriesInObject(int objectType, int objectIndex);
385 int GetObjectId(int objectType, int objectIndex);
386 const char* GetObjectName(int objectType, int objectIndex);
387 using Superclass::GetObjectName;
388 int GetObjectIndex(int objectType, const char* objectName);
389 int GetObjectIndex(int objectType, int id);
390 int GetObjectStatus(int objectType, int objectIndex);
391 int GetObjectStatus(int objectType, const char* objectName)
392 {
393 return this->GetObjectStatus(objectType, this->GetObjectIndex(objectType, objectName));
394 }
395 void SetObjectStatus(int objectType, int objectIndex, int status);
396 void SetObjectStatus(int objectType, const char* objectName, int status);
397
399
405 int GetNumberOfObjectArrays(int objectType);
406 const char* GetObjectArrayName(int objectType, int arrayIndex);
407 int GetObjectArrayIndex(int objectType, const char* arrayName);
408 int GetNumberOfObjectArrayComponents(int objectType, int arrayIndex);
409 int GetObjectArrayStatus(int objectType, int arrayIndex);
410 int GetObjectArrayStatus(int objectType, const char* arrayName)
411 {
412 return this->GetObjectArrayStatus(objectType, this->GetObjectArrayIndex(objectType, arrayName));
413 }
414 void SetObjectArrayStatus(int objectType, int arrayIndex, int status);
415 void SetObjectArrayStatus(int objectType, const char* arrayName, int status);
417
419
425 int GetNumberOfObjectAttributes(int objectType, int objectIndex);
426 const char* GetObjectAttributeName(int objectType, int objectIndex, int attribIndex);
427 int GetObjectAttributeIndex(int objectType, int objectIndex, const char* attribName);
428 int GetObjectAttributeStatus(int objectType, int objectIndex, int attribIndex);
429 int GetObjectAttributeStatus(int objectType, int objectIndex, const char* attribName)
430 {
431 return this->GetObjectAttributeStatus(
432 objectType, objectIndex, this->GetObjectAttributeIndex(objectType, objectIndex, attribName));
433 }
434 void SetObjectAttributeStatus(int objectType, int objectIndex, int attribIndex, int status);
435 void SetObjectAttributeStatus(int objectType, int objectIndex, const char* attribName, int status)
436 {
437 this->SetObjectAttributeStatus(objectType, objectIndex,
438 this->GetObjectAttributeIndex(objectType, objectIndex, attribName), status);
439 }
441
446
448
454 const char* GetPartArrayName(int arrayIdx);
455 int GetPartArrayID(const char* name);
456 const char* GetPartBlockInfo(int arrayIdx);
457 void SetPartArrayStatus(int index, int flag);
458 void SetPartArrayStatus(const char*, int flag);
459 int GetPartArrayStatus(int index);
460 int GetPartArrayStatus(const char*);
462
464
471 const char* GetMaterialArrayName(int arrayIdx);
472 int GetMaterialArrayID(const char* name);
473 void SetMaterialArrayStatus(int index, int flag);
474 void SetMaterialArrayStatus(const char*, int flag);
476 int GetMaterialArrayStatus(const char*);
478
480
487 const char* GetAssemblyArrayName(int arrayIdx);
488 int GetAssemblyArrayID(const char* name);
489 void SetAssemblyArrayStatus(int index, int flag);
490 void SetAssemblyArrayStatus(const char*, int flag);
492 int GetAssemblyArrayStatus(const char*);
494
496
506 const char* GetHierarchyArrayName(int arrayIdx);
507 void SetHierarchyArrayStatus(int index, int flag);
508 void SetHierarchyArrayStatus(const char*, int flag);
510 int GetHierarchyArrayStatus(const char*);
512
513 vtkGetMacro(DisplayType, int);
514 virtual void SetDisplayType(int type);
515
519 int IsValidVariable(const char* type, const char* name);
520
524 int GetVariableID(const char* type, const char* name);
525
526 void SetAllArrayStatus(int otype, int status);
527 // Helper functions
528 // static int StringsEqual(const char* s1, char* s2);
529 // static void StringUppercase(const char* str, char* upperstr);
530 // static char *StrDupWithNew(const char *s);
531
532 // time series query functions
533 int GetTimeSeriesData(int ID, const char* vName, const char* vType, vtkFloatArray* result);
534
535 int GetNumberOfEdgeBlockArrays() { return this->GetNumberOfObjects(EDGE_BLOCK); }
536 const char* GetEdgeBlockArrayName(int index) { return this->GetObjectName(EDGE_BLOCK, index); }
537 int GetEdgeBlockArrayStatus(const char* name) { return this->GetObjectStatus(EDGE_BLOCK, name); }
538 void SetEdgeBlockArrayStatus(const char* name, int flag)
539 {
540 this->SetObjectStatus(EDGE_BLOCK, name, flag);
541 }
542
543 int GetNumberOfFaceBlockArrays() { return this->GetNumberOfObjects(FACE_BLOCK); }
544 const char* GetFaceBlockArrayName(int index) { return this->GetObjectName(FACE_BLOCK, index); }
545 int GetFaceBlockArrayStatus(const char* name) { return this->GetObjectStatus(FACE_BLOCK, name); }
546 void SetFaceBlockArrayStatus(const char* name, int flag)
547 {
548 this->SetObjectStatus(FACE_BLOCK, name, flag);
549 }
550
551 int GetNumberOfElementBlockArrays() { return this->GetNumberOfObjects(ELEM_BLOCK); }
552 const char* GetElementBlockArrayName(int index) { return this->GetObjectName(ELEM_BLOCK, index); }
553 int GetElementBlockArrayStatus(const char* name)
554 {
555 return this->GetObjectStatus(ELEM_BLOCK, name);
556 }
557 void SetElementBlockArrayStatus(const char* name, int flag)
558 {
559 this->SetObjectStatus(ELEM_BLOCK, name, flag);
560 }
561
562 int GetNumberOfGlobalResultArrays() { return this->GetNumberOfObjectArrays(GLOBAL); }
563 const char* GetGlobalResultArrayName(int index)
564 {
565 return this->GetObjectArrayName(GLOBAL, index);
566 }
567 int GetGlobalResultArrayStatus(const char* name)
568 {
569 return this->GetObjectArrayStatus(GLOBAL, name);
570 }
571 void SetGlobalResultArrayStatus(const char* name, int flag)
572 {
573 this->SetObjectArrayStatus(GLOBAL, name, flag);
574 }
575
576 int GetNumberOfPointResultArrays() { return this->GetNumberOfObjectArrays(NODAL); }
577 const char* GetPointResultArrayName(int index) { return this->GetObjectArrayName(NODAL, index); }
578 int GetPointResultArrayStatus(const char* name)
579 {
580 return this->GetObjectArrayStatus(NODAL, name);
581 }
582 void SetPointResultArrayStatus(const char* name, int flag)
583 {
584 this->SetObjectArrayStatus(NODAL, name, flag);
585 }
586
587 int GetNumberOfEdgeResultArrays() { return this->GetNumberOfObjectArrays(EDGE_BLOCK); }
588 const char* GetEdgeResultArrayName(int index)
589 {
590 return this->GetObjectArrayName(EDGE_BLOCK, index);
591 }
592 int GetEdgeResultArrayStatus(const char* name)
593 {
594 return this->GetObjectArrayStatus(EDGE_BLOCK, name);
595 }
596 void SetEdgeResultArrayStatus(const char* name, int flag)
597 {
598 this->SetObjectArrayStatus(EDGE_BLOCK, name, flag);
599 }
600
601 int GetNumberOfFaceResultArrays() { return this->GetNumberOfObjectArrays(FACE_BLOCK); }
602 const char* GetFaceResultArrayName(int index)
603 {
604 return this->GetObjectArrayName(FACE_BLOCK, index);
605 }
606 int GetFaceResultArrayStatus(const char* name)
607 {
608 return this->GetObjectArrayStatus(FACE_BLOCK, name);
609 }
610 void SetFaceResultArrayStatus(const char* name, int flag)
611 {
612 this->SetObjectArrayStatus(FACE_BLOCK, name, flag);
613 }
614
615 int GetNumberOfElementResultArrays() { return this->GetNumberOfObjectArrays(ELEM_BLOCK); }
616 const char* GetElementResultArrayName(int index)
617 {
618 return this->GetObjectArrayName(ELEM_BLOCK, index);
619 }
620 int GetElementResultArrayStatus(const char* name)
621 {
622 return this->GetObjectArrayStatus(ELEM_BLOCK, name);
623 }
624 void SetElementResultArrayStatus(const char* name, int flag)
625 {
626 this->SetObjectArrayStatus(ELEM_BLOCK, name, flag);
627 }
628
629 int GetNumberOfNodeMapArrays() { return this->GetNumberOfObjects(NODE_MAP); }
630 const char* GetNodeMapArrayName(int index) { return this->GetObjectName(NODE_MAP, index); }
631 int GetNodeMapArrayStatus(const char* name) { return this->GetObjectStatus(NODE_MAP, name); }
632 void SetNodeMapArrayStatus(const char* name, int flag)
633 {
634 this->SetObjectStatus(NODE_MAP, name, flag);
635 }
636
637 int GetNumberOfEdgeMapArrays() { return this->GetNumberOfObjects(EDGE_MAP); }
638 const char* GetEdgeMapArrayName(int index) { return this->GetObjectName(EDGE_MAP, index); }
639 int GetEdgeMapArrayStatus(const char* name) { return this->GetObjectStatus(EDGE_MAP, name); }
640 void SetEdgeMapArrayStatus(const char* name, int flag)
641 {
642 this->SetObjectStatus(EDGE_MAP, name, flag);
643 }
644
645 int GetNumberOfFaceMapArrays() { return this->GetNumberOfObjects(FACE_MAP); }
646 const char* GetFaceMapArrayName(int index) { return this->GetObjectName(FACE_MAP, index); }
647 int GetFaceMapArrayStatus(const char* name) { return this->GetObjectStatus(FACE_MAP, name); }
648 void SetFaceMapArrayStatus(const char* name, int flag)
649 {
650 this->SetObjectStatus(FACE_MAP, name, flag);
651 }
652
653 int GetNumberOfElementMapArrays() { return this->GetNumberOfObjects(ELEM_MAP); }
654 const char* GetElementMapArrayName(int index) { return this->GetObjectName(ELEM_MAP, index); }
655 int GetElementMapArrayStatus(const char* name) { return this->GetObjectStatus(ELEM_MAP, name); }
656 void SetElementMapArrayStatus(const char* name, int flag)
657 {
658 this->SetObjectStatus(ELEM_MAP, name, flag);
659 }
660
661 int GetNumberOfNodeSetArrays() { return this->GetNumberOfObjects(NODE_SET); }
662 const char* GetNodeSetArrayName(int index) { return this->GetObjectName(NODE_SET, index); }
663 int GetNodeSetArrayStatus(const char* name) { return this->GetObjectStatus(NODE_SET, name); }
664 void SetNodeSetArrayStatus(const char* name, int flag)
665 {
666 this->SetObjectStatus(NODE_SET, name, flag);
667 }
668
669 int GetNumberOfSideSetArrays() { return this->GetNumberOfObjects(SIDE_SET); }
670 const char* GetSideSetArrayName(int index) { return this->GetObjectName(SIDE_SET, index); }
671 int GetSideSetArrayStatus(const char* name) { return this->GetObjectStatus(SIDE_SET, name); }
672 void SetSideSetArrayStatus(const char* name, int flag)
673 {
674 this->SetObjectStatus(SIDE_SET, name, flag);
675 }
676
677 int GetNumberOfEdgeSetArrays() { return this->GetNumberOfObjects(EDGE_SET); }
678 const char* GetEdgeSetArrayName(int index) { return this->GetObjectName(EDGE_SET, index); }
679 int GetEdgeSetArrayStatus(const char* name) { return this->GetObjectStatus(EDGE_SET, name); }
680 void SetEdgeSetArrayStatus(const char* name, int flag)
681 {
682 this->SetObjectStatus(EDGE_SET, name, flag);
683 }
684
685 int GetNumberOfFaceSetArrays() { return this->GetNumberOfObjects(FACE_SET); }
686 const char* GetFaceSetArrayName(int index) { return this->GetObjectName(FACE_SET, index); }
687 int GetFaceSetArrayStatus(const char* name) { return this->GetObjectStatus(FACE_SET, name); }
688 void SetFaceSetArrayStatus(const char* name, int flag)
689 {
690 this->SetObjectStatus(FACE_SET, name, flag);
691 }
692
693 int GetNumberOfElementSetArrays() { return this->GetNumberOfObjects(ELEM_SET); }
694 const char* GetElementSetArrayName(int index) { return this->GetObjectName(ELEM_SET, index); }
695 int GetElementSetArrayStatus(const char* name) { return this->GetObjectStatus(ELEM_SET, name); }
696 void SetElementSetArrayStatus(const char* name, int flag)
697 {
698 this->SetObjectStatus(ELEM_SET, name, flag);
699 }
700
701 int GetNumberOfNodeSetResultArrays() { return this->GetNumberOfObjectArrays(NODE_SET); }
702 const char* GetNodeSetResultArrayName(int index)
703 {
704 return this->GetObjectArrayName(NODE_SET, index);
705 }
706 int GetNodeSetResultArrayStatus(const char* name)
707 {
708 return this->GetObjectArrayStatus(NODE_SET, name);
709 }
710 void SetNodeSetResultArrayStatus(const char* name, int flag)
711 {
712 this->SetObjectArrayStatus(NODE_SET, name, flag);
713 }
714
715 int GetNumberOfSideSetResultArrays() { return this->GetNumberOfObjectArrays(SIDE_SET); }
716 const char* GetSideSetResultArrayName(int index)
717 {
718 return this->GetObjectArrayName(SIDE_SET, index);
719 }
720 int GetSideSetResultArrayStatus(const char* name)
721 {
722 return this->GetObjectArrayStatus(SIDE_SET, name);
723 }
724 void SetSideSetResultArrayStatus(const char* name, int flag)
725 {
726 this->SetObjectArrayStatus(SIDE_SET, name, flag);
727 }
728
729 int GetNumberOfEdgeSetResultArrays() { return this->GetNumberOfObjectArrays(EDGE_SET); }
730 const char* GetEdgeSetResultArrayName(int index)
731 {
732 return this->GetObjectArrayName(EDGE_SET, index);
733 }
734 int GetEdgeSetResultArrayStatus(const char* name)
735 {
736 return this->GetObjectArrayStatus(EDGE_SET, name);
737 }
738 void SetEdgeSetResultArrayStatus(const char* name, int flag)
739 {
740 this->SetObjectArrayStatus(EDGE_SET, name, flag);
741 }
742
743 int GetNumberOfFaceSetResultArrays() { return this->GetNumberOfObjectArrays(FACE_SET); }
744 const char* GetFaceSetResultArrayName(int index)
745 {
746 return this->GetObjectArrayName(FACE_SET, index);
747 }
748 int GetFaceSetResultArrayStatus(const char* name)
749 {
750 return this->GetObjectArrayStatus(FACE_SET, name);
751 }
752 void SetFaceSetResultArrayStatus(const char* name, int flag)
753 {
754 this->SetObjectArrayStatus(FACE_SET, name, flag);
755 }
756
757 int GetNumberOfElementSetResultArrays() { return this->GetNumberOfObjectArrays(ELEM_SET); }
758 const char* GetElementSetResultArrayName(int index)
759 {
760 return this->GetObjectArrayName(ELEM_SET, index);
761 }
762 int GetElementSetResultArrayStatus(const char* name)
763 {
764 return this->GetObjectArrayStatus(ELEM_SET, name);
765 }
766 void SetElementSetResultArrayStatus(const char* name, int flag)
767 {
768 this->SetObjectArrayStatus(ELEM_SET, name, flag);
769 }
770
779 void Reset();
780
790
795
799 void SetCacheSize(double CacheSize);
800
804 double GetCacheSize();
805
807
819 void SetSqueezePoints(bool sp);
822
823 virtual void Dump();
824
830
832
835 vtkGetMacro(SILUpdateStamp, int);
837
839
845
847
858
860
867 vtkSetMacro(UseLegacyBlockNames, bool);
868 vtkGetMacro(UseLegacyBlockNames, bool);
869 vtkBooleanMacro(UseLegacyBlockNames, bool);
871protected:
874
875 // helper for finding IDs
876 static int GetIDHelper(const char* arrayName, vtkDataSet* data, int localID, int searchType);
877 static int GetGlobalID(const char* arrayName, vtkDataSet* data, int localID, int searchType);
878
880 vtkGetObjectMacro(Metadata, vtkExodusIIReaderPrivate);
881
887
888 // Time query function. Called by ExecuteInformation().
889 // Fills the TimestepValues array.
891
896
901 // int RequestDataOverTime( vtkInformation *, vtkInformationVector **, vtkInformationVector *);
902
903 // Parameters for controlling what is read in.
904 char* FileName;
907 int TimeStepRange[2];
910
911 // Information specific for exodus files.
912
913 // 1=display Block names
914 // 2=display Part names
915 // 3=display Material names
917
918 // Metadata containing a description of the currently open file.
920
922
923 friend class vtkPExodusIIReader;
924
925private:
926 vtkExodusIIReader(const vtkExodusIIReader&) = delete;
927 void operator=(const vtkExodusIIReader&) = delete;
928
929 void AddDisplacements(vtkUnstructuredGrid* output);
930 int ModeShapesRange[2];
931
932 bool UseLegacyBlockNames;
933};
934
935#endif
abstract superclass for arrays of numeric data
abstract class to specify dataset behavior
Definition vtkDataSet.h:72
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:305
a simple class to control print indentation
Definition vtkIndent.h:49
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:55
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:49
record modification and/or execution time
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