37 #ifndef vtkExodusIIReader_h 38 #define vtkExodusIIReader_h 40 #include "vtkIOExodusModule.h" 63 virtual int CanReadFile(
const char* fname);
83 virtual void SetFileName(
const char* fname );
84 vtkGetStringMacro(FileName);
91 virtual void SetXMLFileName(
const char* fname );
92 vtkGetStringMacro(XMLFileName);
99 vtkSetMacro(TimeStep,
int);
100 vtkGetMacro(TimeStep,
int);
109 this->SetTimeStep(val-1);
119 vtkGetVector2Macro(ModeShapesRange,
int);
128 vtkGetVector2Macro(TimeStepRange,
int);
143 virtual void SetGenerateObjectIdCellArray(
vtkTypeBool g );
145 vtkBooleanMacro(GenerateObjectIdCellArray,
vtkTypeBool);
149 virtual void SetGenerateGlobalElementIdArray(
vtkTypeBool g );
151 vtkBooleanMacro(GenerateGlobalElementIdArray,
vtkTypeBool);
153 virtual void SetGenerateGlobalNodeIdArray(
vtkTypeBool g );
155 vtkBooleanMacro(GenerateGlobalNodeIdArray,
vtkTypeBool);
157 virtual void SetGenerateImplicitElementIdArray(
vtkTypeBool g );
159 vtkBooleanMacro(GenerateImplicitElementIdArray,
vtkTypeBool);
161 virtual void SetGenerateImplicitNodeIdArray(
vtkTypeBool g );
163 vtkBooleanMacro(GenerateImplicitNodeIdArray,
vtkTypeBool);
165 virtual void SetGenerateFileIdArray(
vtkTypeBool f );
169 virtual void SetFileId(
int f );
180 SEARCH_TYPE_ELEMENT=0,
184 ID_NOT_FOUND=-234121312
211 GLOBAL_TEMPORAL = 102,
212 NODAL_TEMPORAL = 101,
213 ELEM_BLOCK_TEMPORAL = 100,
215 ELEM_BLOCK_ELEM_CONN = 98,
216 ELEM_BLOCK_FACE_CONN = 97,
217 ELEM_BLOCK_EDGE_CONN = 96,
218 FACE_BLOCK_CONN = 95,
219 EDGE_BLOCK_CONN = 94,
227 IMPLICIT_ELEMENT_ID = 108,
228 IMPLICIT_NODE_ID = 107,
229 GLOBAL_ELEMENT_ID = 86,
233 NODAL_SQUEEZEMAP = 82,
234 ELEM_BLOCK_ATTRIB = 81,
235 FACE_BLOCK_ATTRIB = 80,
236 EDGE_BLOCK_ATTRIB = 79,
298 virtual void SetApplyDisplacements(
vtkTypeBool d );
301 virtual void SetDisplacementMagnitude(
float s );
302 float GetDisplacementMagnitude();
324 virtual void SetModeShapeTime(
double phase );
325 double GetModeShapeTime();
336 virtual void SetAnimateModeShapes(
vtkTypeBool flag);
349 virtual void SetIgnoreFileTime(
bool flag);
350 bool GetIgnoreFileTime();
351 vtkBooleanMacro(IgnoreFileTime,
bool);
358 const char* GetTitle();
359 int GetDimensionality();
360 int GetNumberOfTimeSteps();
363 int GetNumberOfNodesInFile();
364 int GetNumberOfEdgesInFile();
365 int GetNumberOfFacesInFile();
366 int GetNumberOfElementsInFile();
368 int GetObjectTypeFromName(
const char*
name );
369 const char* GetObjectTypeName(
int );
371 int GetNumberOfNodes();
372 int GetNumberOfObjects(
int objectType );
373 int GetNumberOfEntriesInObject(
int objectType,
int objectIndex );
374 int GetObjectId(
int objectType,
int objectIndex );
375 const char* GetObjectName(
int objectType,
int objectIndex );
376 int GetObjectIndex(
int objectType,
const char* objectName );
377 int GetObjectIndex(
int objectType,
int id );
378 int GetObjectStatus(
int objectType,
int objectIndex );
380 {
return this->GetObjectStatus( objectType, this->GetObjectIndex( objectType, objectName ) ); }
381 void SetObjectStatus(
int objectType,
int objectIndex,
int status );
382 void SetObjectStatus(
int objectType,
const char* objectName,
int status );
391 int GetNumberOfObjectArrays(
int objectType );
392 const char* GetObjectArrayName(
int objectType,
int arrayIndex );
393 int GetObjectArrayIndex(
int objectType,
const char* arrayName );
394 int GetNumberOfObjectArrayComponents(
int objectType,
int arrayIndex );
395 int GetObjectArrayStatus(
int objectType,
int arrayIndex );
397 {
return this->GetObjectArrayStatus( objectType, this->GetObjectArrayIndex( objectType, arrayName ) ); }
398 void SetObjectArrayStatus(
int objectType,
int arrayIndex,
int status );
399 void SetObjectArrayStatus(
int objectType,
const char* arrayName,
int status );
409 int GetNumberOfObjectAttributes(
int objectType,
int objectIndex );
410 const char* GetObjectAttributeName(
int objectType,
int objectIndex,
int attribIndex );
411 int GetObjectAttributeIndex(
int objectType,
int objectIndex,
const char* attribName );
412 int GetObjectAttributeStatus(
int objectType,
int objectIndex,
int attribIndex );
414 {
return this->GetObjectAttributeStatus( objectType, objectIndex,
415 this->GetObjectAttributeIndex( objectType, objectIndex, attribName ) ); }
416 void SetObjectAttributeStatus(
int objectType,
int objectIndex,
int attribIndex,
int status );
418 { this->SetObjectAttributeStatus( objectType, objectIndex,
419 this->GetObjectAttributeIndex( objectType, objectIndex, attribName ), status ); }
422 virtual vtkIdType GetTotalNumberOfNodes();
423 virtual vtkIdType GetTotalNumberOfEdges();
424 virtual vtkIdType GetTotalNumberOfFaces();
425 virtual vtkIdType GetTotalNumberOfElements();
433 int GetNumberOfPartArrays();
434 const char* GetPartArrayName(
int arrayIdx);
435 int GetPartArrayID(
const char *
name );
436 const char* GetPartBlockInfo(
int arrayIdx);
437 void SetPartArrayStatus(
int index,
int flag);
438 void SetPartArrayStatus(
const char*,
int flag);
439 int GetPartArrayStatus(
int index);
440 int GetPartArrayStatus(
const char*);
451 int GetNumberOfMaterialArrays();
452 const char* GetMaterialArrayName(
int arrayIdx);
453 int GetMaterialArrayID(
const char *
name );
454 void SetMaterialArrayStatus(
int index,
int flag);
455 void SetMaterialArrayStatus(
const char*,
int flag);
456 int GetMaterialArrayStatus(
int index);
457 int GetMaterialArrayStatus(
const char*);
467 int GetNumberOfAssemblyArrays();
468 const char* GetAssemblyArrayName(
int arrayIdx);
469 int GetAssemblyArrayID(
const char *
name );
470 void SetAssemblyArrayStatus(
int index,
int flag);
471 void SetAssemblyArrayStatus(
const char*,
int flag);
472 int GetAssemblyArrayStatus(
int index);
473 int GetAssemblyArrayStatus(
const char*);
486 int GetNumberOfHierarchyArrays();
487 const char* GetHierarchyArrayName(
int arrayIdx);
488 void SetHierarchyArrayStatus(
int index,
int flag);
489 void SetHierarchyArrayStatus(
const char*,
int flag);
490 int GetHierarchyArrayStatus(
int index);
491 int GetHierarchyArrayStatus(
const char*);
494 vtkGetMacro(DisplayType,
int);
495 virtual void SetDisplayType(
int type);
500 int IsValidVariable(
const char *
type,
const char *
name );
505 int GetVariableID (
const char *
type,
const char *
name );
507 void SetAllArrayStatus(
int otype,
int status );
514 int GetTimeSeriesData(
int ID,
const char *vName,
const char *vType,
520 {
return this->GetNumberOfObjects(EDGE_BLOCK); }
522 {
return this->GetObjectName(EDGE_BLOCK,
index); }
524 {
return this->GetObjectStatus(EDGE_BLOCK,
name); }
526 { this->SetObjectStatus(EDGE_BLOCK,
name, flag); }
529 {
return this->GetNumberOfObjects(FACE_BLOCK); }
531 {
return this->GetObjectName(FACE_BLOCK,
index); }
533 {
return this->GetObjectStatus(FACE_BLOCK,
name); }
535 { this->SetObjectStatus(FACE_BLOCK,
name, flag); }
538 {
return this->GetNumberOfObjects(ELEM_BLOCK); }
540 {
return this->GetObjectName(ELEM_BLOCK,
index); }
542 {
return this->GetObjectStatus(ELEM_BLOCK,
name); }
544 { this->SetObjectStatus(ELEM_BLOCK,
name, flag); }
547 {
return this->GetNumberOfObjectArrays(GLOBAL); }
549 {
return this->GetObjectArrayName(GLOBAL,
index); }
551 {
return this->GetObjectArrayStatus(GLOBAL,
name); }
553 { this->SetObjectArrayStatus(GLOBAL,
name, flag); }
556 {
return this->GetNumberOfObjectArrays(NODAL); }
558 {
return this->GetObjectArrayName(NODAL,
index); }
560 {
return this->GetObjectArrayStatus(NODAL,
name); }
562 { this->SetObjectArrayStatus(NODAL,
name, flag); }
565 {
return this->GetNumberOfObjectArrays(EDGE_BLOCK); }
567 {
return this->GetObjectArrayName(EDGE_BLOCK,
index); }
569 {
return this->GetObjectArrayStatus(EDGE_BLOCK,
name); }
571 { this->SetObjectArrayStatus(EDGE_BLOCK,
name, flag); }
574 {
return this->GetNumberOfObjectArrays(FACE_BLOCK); }
576 {
return this->GetObjectArrayName(FACE_BLOCK,
index); }
578 {
return this->GetObjectArrayStatus(FACE_BLOCK,
name); }
580 { this->SetObjectArrayStatus(FACE_BLOCK,
name, flag); }
583 {
return this->GetNumberOfObjectArrays(ELEM_BLOCK); }
585 {
return this->GetObjectArrayName(ELEM_BLOCK,
index); }
587 {
return this->GetObjectArrayStatus(ELEM_BLOCK,
name); }
589 { this->SetObjectArrayStatus(ELEM_BLOCK,
name, flag); }
593 {
return this->GetNumberOfObjects(NODE_MAP); }
595 {
return this->GetObjectName(NODE_MAP,
index); }
597 {
return this->GetObjectStatus(NODE_MAP,
name); }
599 { this->SetObjectStatus(NODE_MAP,
name, flag); }
602 {
return this->GetNumberOfObjects(EDGE_MAP); }
604 {
return this->GetObjectName(EDGE_MAP,
index); }
606 {
return this->GetObjectStatus(EDGE_MAP,
name); }
608 { this->SetObjectStatus(EDGE_MAP,
name, flag); }
611 {
return this->GetNumberOfObjects(FACE_MAP); }
613 {
return this->GetObjectName(FACE_MAP,
index); }
615 {
return this->GetObjectStatus(FACE_MAP,
name); }
617 { this->SetObjectStatus(FACE_MAP,
name, flag); }
620 {
return this->GetNumberOfObjects(ELEM_MAP); }
622 {
return this->GetObjectName(ELEM_MAP,
index); }
624 {
return this->GetObjectStatus(ELEM_MAP,
name); }
626 { this->SetObjectStatus(ELEM_MAP,
name, flag); }
629 {
return this->GetNumberOfObjects(NODE_SET); }
631 {
return this->GetObjectName(NODE_SET,
index); }
633 {
return this->GetObjectStatus(NODE_SET,
name); }
635 { this->SetObjectStatus(NODE_SET,
name, flag); }
638 {
return this->GetNumberOfObjects(SIDE_SET); }
640 {
return this->GetObjectName(SIDE_SET,
index); }
642 {
return this->GetObjectStatus(SIDE_SET,
name); }
644 { this->SetObjectStatus(SIDE_SET,
name, flag); }
647 {
return this->GetNumberOfObjects(EDGE_SET); }
649 {
return this->GetObjectName(EDGE_SET,
index); }
651 {
return this->GetObjectStatus(EDGE_SET,
name); }
653 { this->SetObjectStatus(EDGE_SET,
name, flag); }
656 {
return this->GetNumberOfObjects(FACE_SET); }
658 {
return this->GetObjectName(FACE_SET,
index); }
660 {
return this->GetObjectStatus(FACE_SET,
name); }
662 { this->SetObjectStatus(FACE_SET,
name, flag); }
665 {
return this->GetNumberOfObjects(ELEM_SET); }
667 {
return this->GetObjectName(ELEM_SET,
index); }
669 {
return this->GetObjectStatus(ELEM_SET,
name); }
671 { this->SetObjectStatus(ELEM_SET,
name, flag); }
675 {
return this->GetNumberOfObjectArrays(NODE_SET); }
677 {
return this->GetObjectArrayName(NODE_SET,
index); }
679 {
return this->GetObjectArrayStatus(NODE_SET,
name); }
681 { this->SetObjectArrayStatus(NODE_SET,
name, flag); }
684 {
return this->GetNumberOfObjectArrays(SIDE_SET); }
686 {
return this->GetObjectArrayName(SIDE_SET,
index); }
688 {
return this->GetObjectArrayStatus(SIDE_SET,
name); }
690 { this->SetObjectArrayStatus(SIDE_SET,
name, flag); }
693 {
return this->GetNumberOfObjectArrays(EDGE_SET); }
695 {
return this->GetObjectArrayName(EDGE_SET,
index); }
697 {
return this->GetObjectArrayStatus(EDGE_SET,
name); }
699 { this->SetObjectArrayStatus(EDGE_SET,
name, flag); }
702 {
return this->GetNumberOfObjectArrays(FACE_SET); }
704 {
return this->GetObjectArrayName(FACE_SET,
index); }
706 {
return this->GetObjectArrayStatus(FACE_SET,
name); }
708 { this->SetObjectArrayStatus(FACE_SET,
name, flag); }
711 {
return this->GetNumberOfObjectArrays(ELEM_SET); }
713 {
return this->GetObjectArrayName(ELEM_SET,
index); }
715 {
return this->GetObjectArrayStatus(ELEM_SET,
name); }
717 { this->SetObjectArrayStatus(ELEM_SET,
name, flag); }
737 void ResetSettings();
747 void SetCacheSize(
double CacheSize);
752 double GetCacheSize();
767 void SetSqueezePoints(
bool sp);
768 bool GetSqueezePoints();
783 vtkGetMacro(SILUpdateStamp,
int);
791 int GetMaxNameLength();
799 static int GetIDHelper (
const char *arrayName,
vtkDataSet *
data,
int localID,
int searchType );
800 static int GetGlobalID(
const char *arrayName,
vtkDataSet *
data,
int localID,
int searchType );
829 int TimeStepRange[2];
851 int ModeShapesRange[2];
const char * GetEdgeResultArrayName(int index)
static const char * GetGlobalNodeIdArrayName()
Extra point data array that can be generated.
const char * GetSideSetResultArrayName(int index)
int GetNumberOfElementSetArrays()
static const char * GetImplicitElementIdArrayName()
const char * GetEdgeSetArrayName(int index)
void SetElementSetResultArrayStatus(const char *name, int flag)
int GetNumberOfGlobalResultArrays()
int GetFaceMapArrayStatus(const char *name)
const char * GetEdgeSetResultArrayName(int index)
void SetEdgeResultArrayStatus(const char *name, int flag)
void SetNodeSetArrayStatus(const char *name, int flag)
int GetNumberOfElementMapArrays()
vtkTypeUInt32 vtkMTimeType
const char * GetEdgeBlockArrayName(int index)
void SetNodeMapArrayStatus(const char *name, int flag)
int GetNumberOfEdgeMapArrays()
void SetEdgeSetResultArrayStatus(const char *name, int flag)
abstract class to specify dataset behavior
int GetGlobalResultArrayStatus(const char *name)
static const char * GetImplicitFaceIdArrayName()
int GetEdgeSetResultArrayStatus(const char *name)
const char * GetNodeSetArrayName(int index)
void SetEdgeBlockArrayStatus(const char *name, int flag)
void SetNodeSetResultArrayStatus(const char *name, int flag)
void SetSideSetArrayStatus(const char *name, int flag)
record modification and/or execution time
int GetElementSetResultArrayStatus(const char *name)
int GetElementBlockArrayStatus(const char *name)
const char * GetElementSetArrayName(int index)
int GetNumberOfFaceSetArrays()
dynamic, self-adjusting array of float
int GetNumberOfFaceSetResultArrays()
const char * GetFaceSetResultArrayName(int index)
const char * GetFaceSetArrayName(int index)
int GetNumberOfEdgeSetResultArrays()
int GetNumberOfElementResultArrays()
int GetElementResultArrayStatus(const char *name)
int ProcessRequest(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
see vtkAlgorithm for details
void SetElementResultArrayStatus(const char *name, int flag)
int GetEdgeResultArrayStatus(const char *name)
ObjectType
Extra cell data array that can be generated.
This class holds metadata for an Exodus file.
int GetNumberOfEdgeResultArrays()
Superclass for algorithms that produce only vtkMultiBlockDataSet as output.
void SetPointResultArrayStatus(const char *name, int flag)
int GetNumberOfEdgeSetArrays()
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
const char * GetEdgeMapArrayName(int index)
int GetNodeSetResultArrayStatus(const char *name)
void SetFaceBlockArrayStatus(const char *name, int flag)
const char * GetGlobalResultArrayName(int index)
int GetNumberOfSideSetResultArrays()
int GetElementSetArrayStatus(const char *name)
static vtkMultiBlockDataSetAlgorithm * New()
static const char * GetImplicitNodeIdArrayName()
Extra point data array that can be generated.
int GetNumberOfPointResultArrays()
Base class for graph data types.
int GetNodeSetArrayStatus(const char *name)
dynamic, self-adjusting array of int
void SetEdgeMapArrayStatus(const char *name, int flag)
int GetNumberOfNodeSetResultArrays()
int GetSideSetArrayStatus(const char *name)
const char * GetNodeSetResultArrayName(int index)
const char * GetElementMapArrayName(int index)
a simple class to control print indentation
void SetElementSetArrayStatus(const char *name, int flag)
int GetNumberOfFaceBlockArrays()
static const char * GetObjectIdArrayName()
Extra cell data array that can be generated.
Read Exodus II files (.exii)
int GetElementMapArrayStatus(const char *name)
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...
const char * GetNodeMapArrayName(int index)
dataset represents arbitrary combinations of all possible cell types
void SetFaceSetArrayStatus(const char *name, int flag)
int GetNumberOfFaceMapArrays()
abstract superclass for arrays of numeric data
virtual vtkMTimeType GetMTime()
Return this object's modified time.
void SetFaceMapArrayStatus(const char *name, int flag)
vtkTimeStamp XMLFileNameMTime
static const char * GetGlobalEdgeIdArrayName()
static const char * GetGlobalFaceIdArrayName()
int GetNumberOfEdgeBlockArrays()
static const char * GetPedigreeFaceIdArrayName()
int GetEdgeBlockArrayStatus(const char *name)
int GetObjectArrayStatus(int objectType, const char *arrayName)
By default arrays are not loaded.
static const char * GetPedigreeElementIdArrayName()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
const char * GetFaceBlockArrayName(int index)
static const char * GetPedigreeNodeIdArrayName()
Extra point data array that can be generated.
const char * GetElementResultArrayName(int index)
void SetSideSetResultArrayStatus(const char *name, int flag)
int GetEdgeSetArrayStatus(const char *name)
const char * GetFaceResultArrayName(int index)
int GetNumberOfElementSetResultArrays()
const char * GetSideSetArrayName(int index)
int GetNodeMapArrayStatus(const char *name)
static const char * GetPedigreeEdgeIdArrayName()
Read exodus 2 files .ex2.
int GetFaceSetResultArrayStatus(const char *name)
static const char * GetImplicitEdgeIdArrayName()
void SetGlobalResultArrayStatus(const char *name, int flag)
int GetEdgeMapArrayStatus(const char *name)
int GetObjectStatus(int objectType, const char *objectName)
void SetElementBlockArrayStatus(const char *name, int flag)
int GetObjectAttributeStatus(int objectType, int objectIndex, const char *attribName)
By default attributes are not loaded.
void SetObjectAttributeStatus(int objectType, int objectIndex, const char *attribName, int status)
By default attributes are not loaded.
int GetPointResultArrayStatus(const char *name)
const char * GetFaceMapArrayName(int index)
void SetModeShape(int val)
Convenience method to set the mode-shape which is same as this->SetTimeStep(val-1);.
void SetFaceResultArrayStatus(const char *name, int flag)
int GetFaceBlockArrayStatus(const char *name)
const char * GetPointResultArrayName(int index)
int GetSideSetResultArrayStatus(const char *name)
int GetNumberOfSideSetArrays()
const char * GetElementBlockArrayName(int index)
int GetFaceSetArrayStatus(const char *name)
void SetElementMapArrayStatus(const char *name, int flag)
static const char * GetGlobalElementIdArrayName()
void SetFaceSetResultArrayStatus(const char *name, int flag)
int GetNumberOfElementBlockArrays()
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...
int GetNumberOfFaceResultArrays()
represent and manipulate 3D points
const char * GetElementSetResultArrayName(int index)
int GetNumberOfNodeMapArrays()
int GetNumberOfNodeSetArrays()
void SetEdgeSetArrayStatus(const char *name, int flag)
vtkExodusIIReaderPrivate * Metadata
virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
int GetFaceResultArrayStatus(const char *name)
vtkTimeStamp FileNameMTime