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];