39 #ifndef __vtkExodusIIReader_h
40 #define __vtkExodusIIReader_h
63 int CanReadFile(
const char* fname);
74 virtual unsigned long GetMetadataMTime();
78 virtual void SetFileName(
const char* fname );
79 vtkGetStringMacro(FileName);
84 virtual void SetXMLFileName(
const char* fname );
85 vtkGetStringMacro(XMLFileName);
90 vtkSetMacro(TimeStep,
int);
91 vtkGetMacro(TimeStep,
int);
99 this->SetTimeStep(val-1);
105 vtkGetVector2Macro(TimeStepRange,
int);
106 vtkSetVector2Macro(TimeStepRange,
int);
119 virtual void SetGenerateObjectIdCellArray(
int g );
120 int GetGenerateObjectIdCellArray();
121 vtkBooleanMacro(GenerateObjectIdCellArray,
int);
125 virtual void SetGenerateGlobalElementIdArray(
int g );
126 int GetGenerateGlobalElementIdArray();
127 vtkBooleanMacro(GenerateGlobalElementIdArray,
int);
129 virtual void SetGenerateGlobalNodeIdArray(
int g );
130 int GetGenerateGlobalNodeIdArray();
131 vtkBooleanMacro(GenerateGlobalNodeIdArray,
int);
133 virtual void SetGenerateImplicitElementIdArray(
int g );
134 int GetGenerateImplicitElementIdArray();
135 vtkBooleanMacro(GenerateImplicitElementIdArray,
int);
137 virtual void SetGenerateImplicitNodeIdArray(
int g );
138 int GetGenerateImplicitNodeIdArray();
139 vtkBooleanMacro(GenerateImplicitNodeIdArray,
int);
141 virtual void SetGenerateFileIdArray(
int f );
142 int GetGenerateFileIdArray();
143 vtkBooleanMacro(GenerateFileIdArray,
int);
144 virtual void SetFileId(
int f );
155 SEARCH_TYPE_ELEMENT=0,
159 ID_NOT_FOUND=-234121312
186 GLOBAL_TEMPORAL = 102,
187 NODAL_TEMPORAL = 101,
188 ELEM_BLOCK_TEMPORAL = 100,
190 ELEM_BLOCK_ELEM_CONN = 98,
191 ELEM_BLOCK_FACE_CONN = 97,
192 ELEM_BLOCK_EDGE_CONN = 96,
193 FACE_BLOCK_CONN = 95,
194 EDGE_BLOCK_CONN = 94,
202 IMPLICIT_ELEMENT_ID = 108,
203 IMPLICIT_NODE_ID = 107,
204 GLOBAL_ELEMENT_ID = 86,
208 NODAL_SQUEEZEMAP = 82,
209 ELEM_BLOCK_ATTRIB = 81,
210 FACE_BLOCK_ATTRIB = 80,
211 EDGE_BLOCK_ATTRIB = 79,
263 virtual void SetApplyDisplacements(
int d );
264 int GetApplyDisplacements();
265 vtkBooleanMacro(ApplyDisplacements,
int);
266 virtual void SetDisplacementMagnitude(
float s );
267 float GetDisplacementMagnitude();
274 virtual void SetHasModeShapes(
int ms );
275 int GetHasModeShapes();
276 vtkBooleanMacro(HasModeShapes,
int);
286 virtual void SetModeShapeTime(
double phase );
287 double GetModeShapeTime();
296 virtual void SetAnimateModeShapes(
int flag);
297 int GetAnimateModeShapes();
298 vtkBooleanMacro(AnimateModeShapes,
int);
303 virtual void SetEdgeFieldDecorations(
int d );
304 int GetEdgeFieldDecorations();
312 virtual void SetFaceFieldDecorations(
int d );
313 int GetFaceFieldDecorations();
321 const char* GetTitle();
322 int GetDimensionality();
323 int GetNumberOfTimeSteps();
326 int GetNumberOfNodesInFile();
327 int GetNumberOfEdgesInFile();
328 int GetNumberOfFacesInFile();
329 int GetNumberOfElementsInFile();
331 int GetObjectTypeFromName(
const char*
name );
332 const char* GetObjectTypeName(
int );
334 int GetNumberOfNodes();
335 int GetNumberOfObjects(
int objectType );
336 int GetNumberOfEntriesInObject(
int objectType,
int objectIndex );
337 int GetObjectId(
int objectType,
int objectIndex );
338 const char* GetObjectName(
int objectType,
int objectIndex );
339 int GetObjectIndex(
int objectType,
const char* objectName );
340 int GetObjectIndex(
int objectType,
int id );
341 int GetObjectStatus(
int objectType,
int objectIndex );
343 {
return this->GetObjectStatus( objectType, this->GetObjectIndex( objectType, objectName ) ); }
344 void SetObjectStatus(
int objectType,
int objectIndex,
int status );
345 void SetObjectStatus(
int objectType,
const char* objectName,
int status );
353 int GetNumberOfObjectArrays(
int objectType );
354 const char* GetObjectArrayName(
int objectType,
int arrayIndex );
355 int GetObjectArrayIndex(
int objectType,
const char* arrayName );
356 int GetNumberOfObjectArrayComponents(
int objectType,
int arrayIndex );
357 int GetObjectArrayStatus(
int objectType,
int arrayIndex );
359 {
return this->GetObjectArrayStatus( objectType, this->GetObjectArrayIndex( objectType, arrayName ) ); }
360 void SetObjectArrayStatus(
int objectType,
int arrayIndex,
int status );
361 void SetObjectArrayStatus(
int objectType,
const char* arrayName,
int status );
370 int GetNumberOfObjectAttributes(
int objectType,
int objectIndex );
371 const char* GetObjectAttributeName(
int objectType,
int objectIndex,
int attribIndex );
372 int GetObjectAttributeIndex(
int objectType,
int objectIndex,
const char* attribName );
373 int GetObjectAttributeStatus(
int objectType,
int objectIndex,
int attribIndex );
375 {
return this->GetObjectAttributeStatus( objectType, objectIndex,
376 this->GetObjectAttributeIndex( objectType, objectIndex, attribName ) ); }
377 void SetObjectAttributeStatus(
int objectType,
int objectIndex,
int attribIndex,
int status );
379 { this->SetObjectAttributeStatus( objectType, objectIndex,
380 this->GetObjectAttributeIndex( objectType, objectIndex, attribName ), status ); }
383 virtual vtkIdType GetTotalNumberOfNodes();
384 virtual vtkIdType GetTotalNumberOfEdges();
385 virtual vtkIdType GetTotalNumberOfFaces();
386 virtual vtkIdType GetTotalNumberOfElements();
393 int GetNumberOfPartArrays();
394 const char* GetPartArrayName(
int arrayIdx);
395 int GetPartArrayID(
const char *
name );
396 const char* GetPartBlockInfo(
int arrayIdx);
397 void SetPartArrayStatus(
int index,
int flag);
398 void SetPartArrayStatus(
const char*,
int flag);
399 int GetPartArrayStatus(
int index);
400 int GetPartArrayStatus(
const char*);
409 int GetNumberOfMaterialArrays();
410 const char* GetMaterialArrayName(
int arrayIdx);
411 int GetMaterialArrayID(
const char *
name );
412 void SetMaterialArrayStatus(
int index,
int flag);
413 void SetMaterialArrayStatus(
const char*,
int flag);
414 int GetMaterialArrayStatus(
int index);
415 int GetMaterialArrayStatus(
const char*);
423 int GetNumberOfAssemblyArrays();
424 const char* GetAssemblyArrayName(
int arrayIdx);
425 int GetAssemblyArrayID(
const char *
name );
426 void SetAssemblyArrayStatus(
int index,
int flag);
427 void SetAssemblyArrayStatus(
const char*,
int flag);
428 int GetAssemblyArrayStatus(
int index);
429 int GetAssemblyArrayStatus(
const char*);
440 int GetNumberOfHierarchyArrays();
441 const char* GetHierarchyArrayName(
int arrayIdx);
442 void SetHierarchyArrayStatus(
int index,
int flag);
443 void SetHierarchyArrayStatus(
const char*,
int flag);
444 int GetHierarchyArrayStatus(
int index);
445 int GetHierarchyArrayStatus(
const char*);
448 vtkGetMacro(DisplayType,
int);
449 virtual void SetDisplayType(
int type);
456 vtkBooleanMacro(ExodusModelMetadata,
int);
457 vtkSetMacro(ExodusModelMetadata,
int);
458 vtkGetMacro(ExodusModelMetadata,
int);
472 vtkSetMacro(PackExodusModelOntoOutput,
int);
473 vtkGetMacro(PackExodusModelOntoOutput,
int);
474 vtkBooleanMacro(PackExodusModelOntoOutput,
int);
477 int IsValidVariable(
const char *
type,
const char *
name );
480 int GetVariableID (
const char *
type,
const char *
name );
482 void SetAllArrayStatus(
int otype,
int status );
489 int GetTimeSeriesData(
int ID,
const char *vName,
const char *vType,
495 {
return this->GetNumberOfObjects(EDGE_BLOCK); }
497 {
return this->GetObjectName(EDGE_BLOCK, index); }
499 {
return this->GetObjectStatus(EDGE_BLOCK, name); }
501 { this->SetObjectStatus(EDGE_BLOCK, name, flag); }
504 {
return this->GetNumberOfObjects(FACE_BLOCK); }
506 {
return this->GetObjectName(FACE_BLOCK, index); }
508 {
return this->GetObjectStatus(FACE_BLOCK, name); }
510 { this->SetObjectStatus(FACE_BLOCK, name, flag); }
513 {
return this->GetNumberOfObjects(ELEM_BLOCK); }
515 {
return this->GetObjectName(ELEM_BLOCK, index); }
517 {
return this->GetObjectStatus(ELEM_BLOCK, name); }
519 { this->SetObjectStatus(ELEM_BLOCK, name, flag); }
522 {
return this->GetNumberOfObjectArrays(GLOBAL); }
524 {
return this->GetObjectArrayName(GLOBAL, index); }
526 {
return this->GetObjectArrayStatus(GLOBAL, name); }
528 { this->SetObjectArrayStatus(GLOBAL, name, flag); }
531 {
return this->GetNumberOfObjectArrays(NODAL); }
533 {
return this->GetObjectArrayName(NODAL, index); }
535 {
return this->GetObjectArrayStatus(NODAL, name); }
537 { this->SetObjectArrayStatus(NODAL, name, flag); }
540 {
return this->GetNumberOfObjectArrays(EDGE_BLOCK); }
542 {
return this->GetObjectArrayName(EDGE_BLOCK, index); }
544 {
return this->GetObjectArrayStatus(EDGE_BLOCK, name); }
546 { this->SetObjectArrayStatus(EDGE_BLOCK, name, flag); }
549 {
return this->GetNumberOfObjectArrays(FACE_BLOCK); }
551 {
return this->GetObjectArrayName(FACE_BLOCK, index); }
553 {
return this->GetObjectArrayStatus(FACE_BLOCK, name); }
555 { this->SetObjectArrayStatus(FACE_BLOCK, name, flag); }
558 {
return this->GetNumberOfObjectArrays(ELEM_BLOCK); }
560 {
return this->GetObjectArrayName(ELEM_BLOCK, index); }
562 {
return this->GetObjectArrayStatus(ELEM_BLOCK, name); }
564 { this->SetObjectArrayStatus(ELEM_BLOCK, name, flag); }
568 {
return this->GetNumberOfObjects(NODE_MAP); }
570 {
return this->GetObjectName(NODE_MAP, index); }
572 {
return this->GetObjectStatus(NODE_MAP, name); }
574 { this->SetObjectStatus(NODE_MAP, name, flag); }
577 {
return this->GetNumberOfObjects(EDGE_MAP); }
579 {
return this->GetObjectName(EDGE_MAP, index); }
581 {
return this->GetObjectStatus(EDGE_MAP, name); }
583 { this->SetObjectStatus(EDGE_MAP, name, flag); }
586 {
return this->GetNumberOfObjects(FACE_MAP); }
588 {
return this->GetObjectName(FACE_MAP, index); }
590 {
return this->GetObjectStatus(FACE_MAP, name); }
592 { this->SetObjectStatus(FACE_MAP, name, flag); }
595 {
return this->GetNumberOfObjects(ELEM_MAP); }
597 {
return this->GetObjectName(ELEM_MAP, index); }
599 {
return this->GetObjectStatus(ELEM_MAP, name); }
601 { this->SetObjectStatus(ELEM_MAP, name, flag); }
604 {
return this->GetNumberOfObjects(NODE_SET); }
606 {
return this->GetObjectName(NODE_SET, index); }
608 {
return this->GetObjectStatus(NODE_SET, name); }
610 { this->SetObjectStatus(NODE_SET, name, flag); }
613 {
return this->GetNumberOfObjects(SIDE_SET); }
615 {
return this->GetObjectName(SIDE_SET, index); }
617 {
return this->GetObjectStatus(SIDE_SET, name); }
619 { this->SetObjectStatus(SIDE_SET, name, flag); }
622 {
return this->GetNumberOfObjects(EDGE_SET); }
624 {
return this->GetObjectName(EDGE_SET, index); }
626 {
return this->GetObjectStatus(EDGE_SET, name); }
628 { this->SetObjectStatus(EDGE_SET, name, flag); }
631 {
return this->GetNumberOfObjects(FACE_SET); }
633 {
return this->GetObjectName(FACE_SET, index); }
635 {
return this->GetObjectStatus(FACE_SET, name); }
637 { this->SetObjectStatus(FACE_SET, name, flag); }
640 {
return this->GetNumberOfObjects(ELEM_SET); }
642 {
return this->GetObjectName(ELEM_SET, index); }
644 {
return this->GetObjectStatus(ELEM_SET, name); }
646 { this->SetObjectStatus(ELEM_SET, name, flag); }
650 {
return this->GetNumberOfObjectArrays(NODE_SET); }
652 {
return this->GetObjectArrayName(NODE_SET, index); }
654 {
return this->GetObjectArrayStatus(NODE_SET, name); }
656 { this->SetObjectArrayStatus(NODE_SET, name, flag); }
659 {
return this->GetNumberOfObjectArrays(SIDE_SET); }
661 {
return this->GetObjectArrayName(SIDE_SET, index); }
663 {
return this->GetObjectArrayStatus(SIDE_SET, name); }
665 { this->SetObjectArrayStatus(SIDE_SET, name, flag); }
668 {
return this->GetNumberOfObjectArrays(EDGE_SET); }
670 {
return this->GetObjectArrayName(EDGE_SET, index); }
672 {
return this->GetObjectArrayStatus(EDGE_SET, name); }
674 { this->SetObjectArrayStatus(EDGE_SET, name, flag); }
677 {
return this->GetNumberOfObjectArrays(FACE_SET); }
679 {
return this->GetObjectArrayName(FACE_SET, index); }
681 {
return this->GetObjectArrayStatus(FACE_SET, name); }
683 { this->SetObjectArrayStatus(FACE_SET, name, flag); }
686 {
return this->GetNumberOfObjectArrays(ELEM_SET); }
688 {
return this->GetObjectArrayName(ELEM_SET, index); }
690 {
return this->GetObjectArrayStatus(ELEM_SET, name); }
692 { this->SetObjectArrayStatus(ELEM_SET, name, flag); }
710 void SetFastPathObjectType(
const char *
type);
715 void SetFastPathIdType(
const char *
type);
731 void ResetSettings();
738 virtual void UpdateTimeInformation();
748 vtkGetMacro(SILUpdateStamp,
int);
754 vtkGetMacro(ProducedFastPathOutput,
bool);
763 virtual void NewExodusModel();
766 static int GetIDHelper (
const char *arrayName,
vtkDataSet *
data,
int localID,
int searchType );
767 static int GetGlobalID(
const char *arrayName,
vtkDataSet *
data,
int localID,
int searchType );
797 int TimeStepRange[2];
const char * GetEdgeResultArrayName(int index)
static const char * GetGlobalNodeIdArrayName()
void EdgeFieldDecorationsNone()
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()
void EdgeFieldDecorationsGlyphs()
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()
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)
DecorationType
Ways to decorate edge and face variables.
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)
void SetElementResultArrayStatus(const char *name, int flag)
void FaceFieldDecorationsCornerAveraged()
int GetEdgeResultArrayStatus(const char *name)
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 *)
const char * GetEdgeMapArrayName(int index)
int GetNodeSetResultArrayStatus(const char *name)
void SetFaceBlockArrayStatus(const char *name, int flag)
void EdgeFieldDecorationsCornerAveraged()
virtual int ProcessRequest(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
const char * GetGlobalResultArrayName(int index)
int GetNumberOfSideSetResultArrays()
int GetElementSetArrayStatus(const char *name)
static vtkMultiBlockDataSetAlgorithm * New()
static const char * GetImplicitNodeIdArrayName()
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)
void FaceFieldDecorationsGlyphs()
virtual unsigned long GetMTime()
a simple class to control print indentation
void FaceFieldDecorationsNone()
void SetElementSetArrayStatus(const char *name, int flag)
int GetNumberOfFaceBlockArrays()
static const char * GetObjectIdArrayName()
int GetElementMapArrayStatus(const char *name)
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
void SetFaceMapArrayStatus(const char *name, int flag)
vtkTimeStamp XMLFileNameMTime
static const char * GetGlobalEdgeIdArrayName()
static const char * GetGlobalFaceIdArrayName()
int GetNumberOfEdgeBlockArrays()
static const char * GetPedigreeFaceIdArrayName()
int PackExodusModelOntoOutput
create glyphs inside each cell with the proper vector values interpolated to them ...
int GetEdgeBlockArrayStatus(const char *name)
int GetObjectArrayStatus(int objectType, const char *arrayName)
static const char * GetPedigreeElementIdArrayName()
const char * GetFaceBlockArrayName(int index)
static const char * GetPedigreeNodeIdArrayName()
const char * GetElementResultArrayName(int index)
bool ProducedFastPathOutput
void SetSideSetResultArrayStatus(const char *name, int flag)
int GetEdgeSetArrayStatus(const char *name)
const char * GetFaceResultArrayName(int index)
int GetNumberOfElementSetResultArrays()
const char * GetSideSetArrayName(int index)
vtkExodusModel * ExodusModel
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)
void SetObjectAttributeStatus(int objectType, int objectIndex, const char *attribName, int status)
int GetPointResultArrayStatus(const char *name)
const char * GetFaceMapArrayName(int index)
void SetModeShape(int val)
void SetFaceResultArrayStatus(const char *name, int flag)
int GetFaceBlockArrayStatus(const char *name)
void PrintSelf(ostream &os, vtkIndent indent)
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()
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 *)
int GetFaceResultArrayStatus(const char *name)
vtkTimeStamp FileNameMTime