VTK  9.6.1
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
24
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);
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 // NOLINTNEXTLINE(readability-enum-initial-value)
167 enum
168 {
173 ID_NOT_FOUND = -234121312
174 };
175 // NOTE: GetNumberOfObjectTypes must be updated whenever you add an entry to enum ObjectType {...}
177 {
178 // match Exodus macros from exodusII.h and exodusII_ext.h
191 GLOBAL = 13,
192 NODAL = 14,
193 // extended values (not in Exodus headers) for use with SetAllArrayStatus:
195 PART = 61,
198 // extended values (not in Exodus headers) for use in cache keys:
207 97,
209 96,
222 86,
224 85,
226 NODE_ID = 83,
231 FACE_ID = 105,
232 EDGE_ID = 106,
234 };
235
236
237 static const char* GetGlobalElementIdArrayName() { return "GlobalElementId"; }
238 static const char* GetPedigreeElementIdArrayName() { return "PedigreeElementId"; }
239 static int GetGlobalElementID(vtkDataSet* data, int localID);
240 static int GetGlobalElementID(vtkDataSet* data, int localID, int searchType);
241 static const char* GetImplicitElementIdArrayName() { return "ImplicitElementId"; }
242
243 static const char* GetGlobalFaceIdArrayName() { return "GlobalFaceId"; }
244 static const char* GetPedigreeFaceIdArrayName() { return "PedigreeFaceId"; }
245 static int GetGlobalFaceID(vtkDataSet* data, int localID);
246 static int GetGlobalFaceID(vtkDataSet* data, int localID, int searchType);
247 static const char* GetImplicitFaceIdArrayName() { return "ImplicitFaceId"; }
248
249 static const char* GetGlobalEdgeIdArrayName() { return "GlobalEdgeId"; }
250 static const char* GetPedigreeEdgeIdArrayName() { return "PedigreeEdgeId"; }
251 static int GetGlobalEdgeID(vtkDataSet* data, int localID);
252 static int GetGlobalEdgeID(vtkDataSet* data, int localID, int searchType);
253 static const char* GetImplicitEdgeIdArrayName() { return "ImplicitEdgeId"; }
254
256
262 static const char* GetGlobalNodeIdArrayName() { return "GlobalNodeId"; }
263 static const char* GetPedigreeNodeIdArrayName() { return "PedigreeNodeId"; }
264 static int GetGlobalNodeID(vtkDataSet* data, int localID);
265 static int GetGlobalNodeID(vtkDataSet* data, int localID, int searchType);
266 static const char* GetImplicitNodeIdArrayName() { return "ImplicitNodeId"; }
268
273 static const char* GetSideSetSourceElementIdArrayName() { return "SourceElementId"; }
274
279 static const char* GetSideSetSourceElementSideArrayName() { return "SourceElementSide"; }
281
290 vtkBooleanMacro(ApplyDisplacements, vtkTypeBool);
291 virtual void SetDisplacementMagnitude(float s);
294
296
303 vtkBooleanMacro(HasModeShapes, vtkTypeBool);
305
307
314 virtual void SetModeShapeTime(double phase);
317
319
328 vtkBooleanMacro(AnimateModeShapes, vtkTypeBool);
330
332
338 virtual void SetIgnoreFileTime(bool flag);
340 vtkBooleanMacro(IgnoreFileTime, bool);
342
344
347 const char* GetTitle();
351
356
357 int GetObjectTypeFromName(const char* name);
358 const char* GetObjectTypeName(int);
359
361 int GetNumberOfObjects(int objectType);
362 int GetNumberOfEntriesInObject(int objectType, int objectIndex);
363 int GetObjectId(int objectType, int objectIndex);
364 const char* GetObjectName(int objectType, int objectIndex);
366 int GetObjectIndex(int objectType, const char* objectName);
367 int GetObjectIndex(int objectType, int id);
368 int GetObjectStatus(int objectType, int objectIndex);
369 int GetObjectStatus(int objectType, const char* objectName)
370 {
371 return this->GetObjectStatus(objectType, this->GetObjectIndex(objectType, objectName));
372 }
373 void SetObjectStatus(int objectType, int objectIndex, int status);
374 void SetObjectStatus(int objectType, const char* objectName, int status);
375
377
383 int GetNumberOfObjectArrays(int objectType);
384 const char* GetObjectArrayName(int objectType, int arrayIndex);
385 int GetObjectArrayIndex(int objectType, const char* arrayName);
386 int GetNumberOfObjectArrayComponents(int objectType, int arrayIndex);
387 int GetObjectArrayStatus(int objectType, int arrayIndex);
388 int GetObjectArrayStatus(int objectType, const char* arrayName)
389 {
390 return this->GetObjectArrayStatus(objectType, this->GetObjectArrayIndex(objectType, arrayName));
391 }
392 void SetObjectArrayStatus(int objectType, int arrayIndex, int status);
393 void SetObjectArrayStatus(int objectType, const char* arrayName, int status);
395
397
403 int GetNumberOfObjectAttributes(int objectType, int objectIndex);
404 const char* GetObjectAttributeName(int objectType, int objectIndex, int attribIndex);
405 int GetObjectAttributeIndex(int objectType, int objectIndex, const char* attribName);
406 int GetObjectAttributeStatus(int objectType, int objectIndex, int attribIndex);
407 int GetObjectAttributeStatus(int objectType, int objectIndex, const char* attribName)
408 {
409 return this->GetObjectAttributeStatus(
410 objectType, objectIndex, this->GetObjectAttributeIndex(objectType, objectIndex, attribName));
411 }
412 void SetObjectAttributeStatus(int objectType, int objectIndex, int attribIndex, int status);
413 void SetObjectAttributeStatus(int objectType, int objectIndex, const char* attribName, int status)
414 {
415 this->SetObjectAttributeStatus(objectType, objectIndex,
416 this->GetObjectAttributeIndex(objectType, objectIndex, attribName), status);
417 }
418
419
424
426
432 const char* GetPartArrayName(int arrayIdx);
433 int GetPartArrayID(const char* name);
434 const char* GetPartBlockInfo(int arrayIdx);
435 void SetPartArrayStatus(int index, int flag);
436 void SetPartArrayStatus(const char*, int flag);
437 int GetPartArrayStatus(int index);
438 int GetPartArrayStatus(const char*);
440
442
449 const char* GetMaterialArrayName(int arrayIdx);
450 int GetMaterialArrayID(const char* name);
451 void SetMaterialArrayStatus(int index, int flag);
452 void SetMaterialArrayStatus(const char*, int flag);
454 int GetMaterialArrayStatus(const char*);
456
458
465 const char* GetAssemblyArrayName(int arrayIdx);
466 int GetAssemblyArrayID(const char* name);
467 void SetAssemblyArrayStatus(int index, int flag);
468 void SetAssemblyArrayStatus(const char*, int flag);
470 int GetAssemblyArrayStatus(const char*);
472
474
484 const char* GetHierarchyArrayName(int arrayIdx);
485 void SetHierarchyArrayStatus(int index, int flag);
486 void SetHierarchyArrayStatus(const char*, int flag);
488 int GetHierarchyArrayStatus(const char*);
490
491 vtkGetMacro(DisplayType, int);
492 virtual void SetDisplayType(int type);
493
497 int IsValidVariable(const char* type, const char* name);
498
502 int GetVariableID(const char* type, const char* name);
503
504 void SetAllArrayStatus(int otype, int status);
505 // Helper functions
506 // static int StringsEqual(const char* s1, char* s2);
507 // static void StringUppercase(const char* str, char* upperstr);
508 // static char *StrDupWithNew(const char *s);
509
510 // time series query functions
511 int GetTimeSeriesData(int ID, const char* vName, const char* vType, vtkFloatArray* result);
512
514 const char* GetEdgeBlockArrayName(int index) { return this->GetObjectName(EDGE_BLOCK, index); }
515 int GetEdgeBlockArrayStatus(const char* name) { return this->GetObjectStatus(EDGE_BLOCK, name); }
516 void SetEdgeBlockArrayStatus(const char* name, int flag)
517 {
518 this->SetObjectStatus(EDGE_BLOCK, name, flag);
519 }
520
522 const char* GetFaceBlockArrayName(int index) { return this->GetObjectName(FACE_BLOCK, index); }
523 int GetFaceBlockArrayStatus(const char* name) { return this->GetObjectStatus(FACE_BLOCK, name); }
524 void SetFaceBlockArrayStatus(const char* name, int flag)
525 {
526 this->SetObjectStatus(FACE_BLOCK, name, flag);
527 }
528
530 const char* GetElementBlockArrayName(int index) { return this->GetObjectName(ELEM_BLOCK, index); }
531 int GetElementBlockArrayStatus(const char* name)
532 {
533 return this->GetObjectStatus(ELEM_BLOCK, name);
534 }
535 void SetElementBlockArrayStatus(const char* name, int flag)
536 {
537 this->SetObjectStatus(ELEM_BLOCK, name, flag);
538 }
539
541 const char* GetGlobalResultArrayName(int index)
542 {
543 return this->GetObjectArrayName(GLOBAL, index);
544 }
545 int GetGlobalResultArrayStatus(const char* name)
546 {
547 return this->GetObjectArrayStatus(GLOBAL, name);
548 }
549 void SetGlobalResultArrayStatus(const char* name, int flag)
550 {
551 this->SetObjectArrayStatus(GLOBAL, name, flag);
552 }
553
555 const char* GetPointResultArrayName(int index) { return this->GetObjectArrayName(NODAL, index); }
556 int GetPointResultArrayStatus(const char* name)
557 {
558 return this->GetObjectArrayStatus(NODAL, name);
559 }
560 void SetPointResultArrayStatus(const char* name, int flag)
561 {
562 this->SetObjectArrayStatus(NODAL, name, flag);
563 }
564
566 const char* GetEdgeResultArrayName(int index)
567 {
568 return this->GetObjectArrayName(EDGE_BLOCK, index);
569 }
570 int GetEdgeResultArrayStatus(const char* name)
571 {
572 return this->GetObjectArrayStatus(EDGE_BLOCK, name);
573 }
574 void SetEdgeResultArrayStatus(const char* name, int flag)
575 {
576 this->SetObjectArrayStatus(EDGE_BLOCK, name, flag);
577 }
578
580 const char* GetFaceResultArrayName(int index)
581 {
582 return this->GetObjectArrayName(FACE_BLOCK, index);
583 }
584 int GetFaceResultArrayStatus(const char* name)
585 {
586 return this->GetObjectArrayStatus(FACE_BLOCK, name);
587 }
588 void SetFaceResultArrayStatus(const char* name, int flag)
589 {
590 this->SetObjectArrayStatus(FACE_BLOCK, name, flag);
591 }
592
594 const char* GetElementResultArrayName(int index)
595 {
596 return this->GetObjectArrayName(ELEM_BLOCK, index);
597 }
598 int GetElementResultArrayStatus(const char* name)
599 {
600 return this->GetObjectArrayStatus(ELEM_BLOCK, name);
601 }
602 void SetElementResultArrayStatus(const char* name, int flag)
603 {
604 this->SetObjectArrayStatus(ELEM_BLOCK, name, flag);
605 }
606
608 const char* GetNodeMapArrayName(int index) { return this->GetObjectName(NODE_MAP, index); }
609 int GetNodeMapArrayStatus(const char* name) { return this->GetObjectStatus(NODE_MAP, name); }
610 void SetNodeMapArrayStatus(const char* name, int flag)
611 {
612 this->SetObjectStatus(NODE_MAP, name, flag);
613 }
614
616 const char* GetEdgeMapArrayName(int index) { return this->GetObjectName(EDGE_MAP, index); }
617 int GetEdgeMapArrayStatus(const char* name) { return this->GetObjectStatus(EDGE_MAP, name); }
618 void SetEdgeMapArrayStatus(const char* name, int flag)
619 {
620 this->SetObjectStatus(EDGE_MAP, name, flag);
621 }
622
624 const char* GetFaceMapArrayName(int index) { return this->GetObjectName(FACE_MAP, index); }
625 int GetFaceMapArrayStatus(const char* name) { return this->GetObjectStatus(FACE_MAP, name); }
626 void SetFaceMapArrayStatus(const char* name, int flag)
627 {
628 this->SetObjectStatus(FACE_MAP, name, flag);
629 }
630
632 const char* GetElementMapArrayName(int index) { return this->GetObjectName(ELEM_MAP, index); }
633 int GetElementMapArrayStatus(const char* name) { return this->GetObjectStatus(ELEM_MAP, name); }
634 void SetElementMapArrayStatus(const char* name, int flag)
635 {
636 this->SetObjectStatus(ELEM_MAP, name, flag);
637 }
638
640 const char* GetNodeSetArrayName(int index) { return this->GetObjectName(NODE_SET, index); }
641 int GetNodeSetArrayStatus(const char* name) { return this->GetObjectStatus(NODE_SET, name); }
642 void SetNodeSetArrayStatus(const char* name, int flag)
643 {
644 this->SetObjectStatus(NODE_SET, name, flag);
645 }
646
648 const char* GetSideSetArrayName(int index) { return this->GetObjectName(SIDE_SET, index); }
649 int GetSideSetArrayStatus(const char* name) { return this->GetObjectStatus(SIDE_SET, name); }
650 void SetSideSetArrayStatus(const char* name, int flag)
651 {
652 this->SetObjectStatus(SIDE_SET, name, flag);
653 }
654
656 const char* GetEdgeSetArrayName(int index) { return this->GetObjectName(EDGE_SET, index); }
657 int GetEdgeSetArrayStatus(const char* name) { return this->GetObjectStatus(EDGE_SET, name); }
658 void SetEdgeSetArrayStatus(const char* name, int flag)
659 {
660 this->SetObjectStatus(EDGE_SET, name, flag);
661 }
662
664 const char* GetFaceSetArrayName(int index) { return this->GetObjectName(FACE_SET, index); }
665 int GetFaceSetArrayStatus(const char* name) { return this->GetObjectStatus(FACE_SET, name); }
666 void SetFaceSetArrayStatus(const char* name, int flag)
667 {
668 this->SetObjectStatus(FACE_SET, name, flag);
669 }
670
672 const char* GetElementSetArrayName(int index) { return this->GetObjectName(ELEM_SET, index); }
673 int GetElementSetArrayStatus(const char* name) { return this->GetObjectStatus(ELEM_SET, name); }
674 void SetElementSetArrayStatus(const char* name, int flag)
675 {
676 this->SetObjectStatus(ELEM_SET, name, flag);
677 }
678
680 const char* GetNodeSetResultArrayName(int index)
681 {
682 return this->GetObjectArrayName(NODE_SET, index);
683 }
684 int GetNodeSetResultArrayStatus(const char* name)
685 {
686 return this->GetObjectArrayStatus(NODE_SET, name);
687 }
688 void SetNodeSetResultArrayStatus(const char* name, int flag)
689 {
690 this->SetObjectArrayStatus(NODE_SET, name, flag);
691 }
692
694 const char* GetSideSetResultArrayName(int index)
695 {
696 return this->GetObjectArrayName(SIDE_SET, index);
697 }
698 int GetSideSetResultArrayStatus(const char* name)
699 {
700 return this->GetObjectArrayStatus(SIDE_SET, name);
701 }
702 void SetSideSetResultArrayStatus(const char* name, int flag)
703 {
704 this->SetObjectArrayStatus(SIDE_SET, name, flag);
705 }
706
708 const char* GetEdgeSetResultArrayName(int index)
709 {
710 return this->GetObjectArrayName(EDGE_SET, index);
711 }
712 int GetEdgeSetResultArrayStatus(const char* name)
713 {
714 return this->GetObjectArrayStatus(EDGE_SET, name);
715 }
716 void SetEdgeSetResultArrayStatus(const char* name, int flag)
717 {
718 this->SetObjectArrayStatus(EDGE_SET, name, flag);
719 }
720
722 const char* GetFaceSetResultArrayName(int index)
723 {
724 return this->GetObjectArrayName(FACE_SET, index);
725 }
726 int GetFaceSetResultArrayStatus(const char* name)
727 {
728 return this->GetObjectArrayStatus(FACE_SET, name);
729 }
730 void SetFaceSetResultArrayStatus(const char* name, int flag)
731 {
732 this->SetObjectArrayStatus(FACE_SET, name, flag);
733 }
734
736 const char* GetElementSetResultArrayName(int index)
737 {
738 return this->GetObjectArrayName(ELEM_SET, index);
739 }
740 int GetElementSetResultArrayStatus(const char* name)
741 {
742 return this->GetObjectArrayStatus(ELEM_SET, name);
743 }
744 void SetElementSetResultArrayStatus(const char* name, int flag)
745 {
746 this->SetObjectArrayStatus(ELEM_SET, name, flag);
747 }
748
757 void Reset();
758
768
773
777 void SetCacheSize(double CacheSize);
778
782 double GetCacheSize();
783
785
797 void SetSqueezePoints(bool sp);
800
801 virtual void Dump();
802
808
810
813 vtkGetMacro(SILUpdateStamp, int);
815
817
823
825
837
839
846 vtkSetMacro(UseLegacyBlockNames, bool);
847 vtkGetMacro(UseLegacyBlockNames, bool);
848 vtkBooleanMacro(UseLegacyBlockNames, bool);
850protected:
853
854 // helper for finding IDs
855 static int GetIDHelper(const char* arrayName, vtkDataSet* data, int localID, int searchType);
856 static int GetGlobalID(const char* arrayName, vtkDataSet* data, int localID, int searchType);
857
860
866
867 // Time query function. Called by ExecuteInformation().
868 // Fills the TimestepValues array.
870
875
880 // int RequestDataOverTime( vtkInformation *, vtkInformationVector **, vtkInformationVector *);
881
882 // Parameters for controlling what is read in.
883 char* FileName;
889
890 // Information specific for exodus files.
891
892 // 1=display Block names
893 // 2=display Part names
894 // 3=display Material names
896
897 // Metadata containing a description of the currently open file.
899
901
902 friend class vtkPExodusIIReader;
903
904private:
905 vtkExodusIIReader(const vtkExodusIIReader&) = delete;
906 void operator=(const vtkExodusIIReader&) = delete;
907
908 void AddDisplacements(vtkUnstructuredGrid* output);
909 int ModeShapesRange[2];
910
911 bool UseLegacyBlockNames;
912};
913
914VTK_ABI_NAMESPACE_END
915#endif
abstract class to specify dataset behavior
Definition vtkDataSet.h:57
This class holds metadata for an Exodus file.
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...
const char * GetObjectTypeName(int)
const char * GetNodeSetArrayName(int index)
int GetEdgeBlockArrayStatus(const char *name)
int GetFaceResultArrayStatus(const char *name)
virtual void SetFileId(int f)
virtual int CanReadFile(const char *fname)
Determine if the file can be read with this reader.
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)
virtual void SetFileName(const char *fname)
Specify file name of the Exodus file.
int GetMaterialArrayStatus(const char *)
By default all materials are loaded.
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)
virtual void SetTimeStep(int)
Which TimeStep to read.
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)
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.
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)
virtual void SetXMLFileName(const char *fname)
Specify file name of the xml file.
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.
@ NODE_SET_CONN
node set connectivity
@ EDGE_BLOCK_CONN
raw edge block connectivity (references nodes)
@ SIDE_SET_CONN
side set connectivity
@ GLOBAL_ELEMENT_ID
element id array extracted for a particular block (yes, this is a bad name)
@ FACE_SET_CONN
face set connectivity
@ ENTITY_COUNTS
polyhedra per-entity count ex_get_block returns the sum for polyhedra
@ GLOBAL_TEMPORAL
global data across timesteps
@ INFO_RECORDS
Exodus II Information Records string metadata.
@ OBJECT_ID
object id (old BlockId) array
@ EDGE_BLOCK_ATTRIB
an edge block attribute array (time-constant scalar per element)
@ NODAL_SQUEEZEMAP
the integer map use to "squeeze" coordinates and nodal arrays/maps
@ GLOBAL_CONN
connectivity assembled from all blocks+sets to be loaded
@ ELEM_BLOCK_TEMPORAL
element data across timesteps
@ EDGE_SET_CONN
edge set connectivity
@ QA_RECORDS
Exodus II Quality Assurance (QA) string metadata.
@ ELEMENT_ID
element id map (old-style elem_num_map or first new-style elem map) array
@ NODAL_COORDS
raw nodal coordinates (not the "squeezed" version)
@ GLOBAL_NODE_ID
nodal id array extracted for a particular block (yes, this is a bad name)
@ IMPLICIT_ELEMENT_ID
the implicit global index of each element given by exodus
@ EDGE_ID
edge id map (old-style edge_num_map or first new-style edge map) array
@ IMPLICIT_NODE_ID
the implicit global index of each node given by exodus
@ ELEM_SET_CONN
element set connectivity
@ ELEM_BLOCK_ELEM_CONN
raw element block connectivity for elements (not edges/faces)
@ NODE_ID
nodal id map (old-style node_num_map or first new-style node map) array
@ FACE_ID
face id map (old-style face_num_map or first new-style face map) array
@ FACE_BLOCK_ATTRIB
a face block attribute array (time-constant scalar per element)
@ NODAL_TEMPORAL
nodal data across timesteps
@ ELEM_BLOCK_ATTRIB
an element block attribute array (time-constant scalar per element)
@ FACE_BLOCK_CONN
raw face block connectivity (references nodes)
@ ELEM_BLOCK_EDGE_CONN
raw element block connectivity for edges (references edge blocks)
@ ELEM_BLOCK_FACE_CONN
raw element block connectivity for faces (references face blocks)
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)
friend class vtkPExodusIIReader
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.
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:283
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
virtual std::string GetObjectName() const
Set/get the name of this object for reporting purposes.
represent and manipulate 3D points
Definition vtkPoints.h:30
record modification and/or execution time
dataset represents arbitrary combinations of all possible cell types
static vtkInformationIntegerKey * GLOBAL_VARIABLE()
Exodus reader outputs global variables and global temporal variables, together with some other variab...
static vtkInformationIntegerKey * GLOBAL_TEMPORAL_VARIABLE()
Exodus reader outputs global variables and global temporal variables, together with some other variab...
int vtkTypeBool
Definition vtkABI.h:64
#define vtkDataArray
int vtkIdType
Definition vtkType.h:368
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:323
#define VTK_FILEPATH