40 #ifndef vtkExodusIIReader_h
41 #define vtkExodusIIReader_h
43 #include "vtkIOExodusModule.h"
66 virtual int CanReadFile(
const char* fname);
86 virtual void SetFileName(
const char* fname );
87 vtkGetStringMacro(FileName);
94 virtual void SetXMLFileName(
const char* fname );
95 vtkGetStringMacro(XMLFileName);
102 vtkSetMacro(TimeStep,
int);
103 vtkGetMacro(TimeStep,
int);
112 this->SetTimeStep(val-1);
122 vtkGetVector2Macro(ModeShapesRange,
int);
131 vtkGetVector2Macro(TimeStepRange,
int);
146 virtual void SetGenerateObjectIdCellArray(
vtkTypeBool g );
148 vtkBooleanMacro(GenerateObjectIdCellArray,
vtkTypeBool);
152 virtual void SetGenerateGlobalElementIdArray(
vtkTypeBool g );
154 vtkBooleanMacro(GenerateGlobalElementIdArray,
vtkTypeBool);
156 virtual void SetGenerateGlobalNodeIdArray(
vtkTypeBool g );
158 vtkBooleanMacro(GenerateGlobalNodeIdArray,
vtkTypeBool);
160 virtual void SetGenerateImplicitElementIdArray(
vtkTypeBool g );
162 vtkBooleanMacro(GenerateImplicitElementIdArray,
vtkTypeBool);
164 virtual void SetGenerateImplicitNodeIdArray(
vtkTypeBool g );
166 vtkBooleanMacro(GenerateImplicitNodeIdArray,
vtkTypeBool);
168 virtual void SetGenerateFileIdArray(
vtkTypeBool f );
172 virtual void SetFileId(
int f );
183 SEARCH_TYPE_ELEMENT=0,
187 ID_NOT_FOUND=-234121312
214 GLOBAL_TEMPORAL = 102,
215 NODAL_TEMPORAL = 101,
216 ELEM_BLOCK_TEMPORAL = 100,
218 ELEM_BLOCK_ELEM_CONN = 98,
219 ELEM_BLOCK_FACE_CONN = 97,
220 ELEM_BLOCK_EDGE_CONN = 96,
221 FACE_BLOCK_CONN = 95,
222 EDGE_BLOCK_CONN = 94,
230 IMPLICIT_ELEMENT_ID = 108,
231 IMPLICIT_NODE_ID = 107,
232 GLOBAL_ELEMENT_ID = 86,
236 NODAL_SQUEEZEMAP = 82,
237 ELEM_BLOCK_ATTRIB = 81,
238 FACE_BLOCK_ATTRIB = 80,
239 EDGE_BLOCK_ATTRIB = 79,
301 virtual void SetApplyDisplacements(
vtkTypeBool d );
304 virtual void SetDisplacementMagnitude(
float s );
305 float GetDisplacementMagnitude();
327 virtual void SetModeShapeTime(
double phase );
328 double GetModeShapeTime();
339 virtual void SetAnimateModeShapes(
vtkTypeBool flag);
352 virtual void SetIgnoreFileTime(
bool flag);
353 bool GetIgnoreFileTime();
354 vtkBooleanMacro(IgnoreFileTime,
bool);
361 const char* GetTitle();
362 int GetDimensionality();
363 int GetNumberOfTimeSteps();
366 int GetNumberOfNodesInFile();
367 int GetNumberOfEdgesInFile();
368 int GetNumberOfFacesInFile();
369 int GetNumberOfElementsInFile();
371 int GetObjectTypeFromName(
const char*
name );
372 const char* GetObjectTypeName(
int );
374 int GetNumberOfNodes();
375 int GetNumberOfObjects(
int objectType );
376 int GetNumberOfEntriesInObject(
int objectType,
int objectIndex );
377 int GetObjectId(
int objectType,
int objectIndex );
378 const char* GetObjectName(
int objectType,
int objectIndex );
379 int GetObjectIndex(
int objectType,
const char* objectName );
380 int GetObjectIndex(
int objectType,
int id );
381 int GetObjectStatus(
int objectType,
int objectIndex );
383 {
return this->GetObjectStatus( objectType, this->GetObjectIndex( objectType, objectName ) ); }
384 void SetObjectStatus(
int objectType,
int objectIndex,
int status );
385 void SetObjectStatus(
int objectType,
const char* objectName,
int status );
394 int GetNumberOfObjectArrays(
int objectType );
395 const char* GetObjectArrayName(
int objectType,
int arrayIndex );
396 int GetObjectArrayIndex(
int objectType,
const char* arrayName );
397 int GetNumberOfObjectArrayComponents(
int objectType,
int arrayIndex );
398 int GetObjectArrayStatus(
int objectType,
int arrayIndex );
400 {
return this->GetObjectArrayStatus( objectType, this->GetObjectArrayIndex( objectType, arrayName ) ); }
401 void SetObjectArrayStatus(
int objectType,
int arrayIndex,
int status );
402 void SetObjectArrayStatus(
int objectType,
const char* arrayName,
int status );
412 int GetNumberOfObjectAttributes(
int objectType,
int objectIndex );
413 const char* GetObjectAttributeName(
int objectType,
int objectIndex,
int attribIndex );
414 int GetObjectAttributeIndex(
int objectType,
int objectIndex,
const char* attribName );
415 int GetObjectAttributeStatus(
int objectType,
int objectIndex,
int attribIndex );
417 {
return this->GetObjectAttributeStatus( objectType, objectIndex,
418 this->GetObjectAttributeIndex( objectType, objectIndex, attribName ) ); }
419 void SetObjectAttributeStatus(
int objectType,
int objectIndex,
int attribIndex,
int status );
421 { this->SetObjectAttributeStatus( objectType, objectIndex,
422 this->GetObjectAttributeIndex( objectType, objectIndex, attribName ), status ); }
425 virtual vtkIdType GetTotalNumberOfNodes();
426 virtual vtkIdType GetTotalNumberOfEdges();
427 virtual vtkIdType GetTotalNumberOfFaces();
428 virtual vtkIdType GetTotalNumberOfElements();
436 int GetNumberOfPartArrays();
437 const char* GetPartArrayName(
int arrayIdx);
438 int GetPartArrayID(
const char *
name );
439 const char* GetPartBlockInfo(
int arrayIdx);
440 void SetPartArrayStatus(
int index,
int flag);
441 void SetPartArrayStatus(
const char*,
int flag);
442 int GetPartArrayStatus(
int index);
443 int GetPartArrayStatus(
const char*);
454 int GetNumberOfMaterialArrays();
455 const char* GetMaterialArrayName(
int arrayIdx);
456 int GetMaterialArrayID(
const char *
name );
457 void SetMaterialArrayStatus(
int index,
int flag);
458 void SetMaterialArrayStatus(
const char*,
int flag);
459 int GetMaterialArrayStatus(
int index);
460 int GetMaterialArrayStatus(
const char*);
470 int GetNumberOfAssemblyArrays();
471 const char* GetAssemblyArrayName(
int arrayIdx);
472 int GetAssemblyArrayID(
const char *
name );
473 void SetAssemblyArrayStatus(
int index,
int flag);
474 void SetAssemblyArrayStatus(
const char*,
int flag);
475 int GetAssemblyArrayStatus(
int index);
476 int GetAssemblyArrayStatus(
const char*);
489 int GetNumberOfHierarchyArrays();
490 const char* GetHierarchyArrayName(
int arrayIdx);
491 void SetHierarchyArrayStatus(
int index,
int flag);
492 void SetHierarchyArrayStatus(
const char*,
int flag);
493 int GetHierarchyArrayStatus(
int index);
494 int GetHierarchyArrayStatus(
const char*);
497 vtkGetMacro(DisplayType,
int);
498 virtual void SetDisplayType(
int type);
503 int IsValidVariable(
const char *
type,
const char *
name );
508 int GetVariableID (
const char *
type,
const char *
name );
510 void SetAllArrayStatus(
int otype,
int status );
517 int GetTimeSeriesData(
int ID,
const char *vName,
const char *vType,
523 {
return this->GetNumberOfObjects(EDGE_BLOCK); }
525 {
return this->GetObjectName(EDGE_BLOCK,
index); }
527 {
return this->GetObjectStatus(EDGE_BLOCK,
name); }
529 { this->SetObjectStatus(EDGE_BLOCK,
name, flag); }
532 {
return this->GetNumberOfObjects(FACE_BLOCK); }
534 {
return this->GetObjectName(FACE_BLOCK,
index); }
536 {
return this->GetObjectStatus(FACE_BLOCK,
name); }
538 { this->SetObjectStatus(FACE_BLOCK,
name, flag); }
541 {
return this->GetNumberOfObjects(ELEM_BLOCK); }
543 {
return this->GetObjectName(ELEM_BLOCK,
index); }
545 {
return this->GetObjectStatus(ELEM_BLOCK,
name); }
547 { this->SetObjectStatus(ELEM_BLOCK,
name, flag); }
550 {
return this->GetNumberOfObjectArrays(GLOBAL); }
552 {
return this->GetObjectArrayName(GLOBAL,
index); }
554 {
return this->GetObjectArrayStatus(GLOBAL,
name); }
556 { this->SetObjectArrayStatus(GLOBAL,
name, flag); }
559 {
return this->GetNumberOfObjectArrays(NODAL); }
561 {
return this->GetObjectArrayName(NODAL,
index); }
563 {
return this->GetObjectArrayStatus(NODAL,
name); }
565 { this->SetObjectArrayStatus(NODAL,
name, flag); }
568 {
return this->GetNumberOfObjectArrays(EDGE_BLOCK); }
570 {
return this->GetObjectArrayName(EDGE_BLOCK,
index); }
572 {
return this->GetObjectArrayStatus(EDGE_BLOCK,
name); }
574 { this->SetObjectArrayStatus(EDGE_BLOCK,
name, flag); }
577 {
return this->GetNumberOfObjectArrays(FACE_BLOCK); }
579 {
return this->GetObjectArrayName(FACE_BLOCK,
index); }
581 {
return this->GetObjectArrayStatus(FACE_BLOCK,
name); }
583 { this->SetObjectArrayStatus(FACE_BLOCK,
name, flag); }
586 {
return this->GetNumberOfObjectArrays(ELEM_BLOCK); }
588 {
return this->GetObjectArrayName(ELEM_BLOCK,
index); }
590 {
return this->GetObjectArrayStatus(ELEM_BLOCK,
name); }
592 { this->SetObjectArrayStatus(ELEM_BLOCK,
name, flag); }
596 {
return this->GetNumberOfObjects(NODE_MAP); }
598 {
return this->GetObjectName(NODE_MAP,
index); }
600 {
return this->GetObjectStatus(NODE_MAP,
name); }
602 { this->SetObjectStatus(NODE_MAP,
name, flag); }
605 {
return this->GetNumberOfObjects(EDGE_MAP); }
607 {
return this->GetObjectName(EDGE_MAP,
index); }
609 {
return this->GetObjectStatus(EDGE_MAP,
name); }
611 { this->SetObjectStatus(EDGE_MAP,
name, flag); }
614 {
return this->GetNumberOfObjects(FACE_MAP); }
616 {
return this->GetObjectName(FACE_MAP,
index); }
618 {
return this->GetObjectStatus(FACE_MAP,
name); }
620 { this->SetObjectStatus(FACE_MAP,
name, flag); }
623 {
return this->GetNumberOfObjects(ELEM_MAP); }
625 {
return this->GetObjectName(ELEM_MAP,
index); }
627 {
return this->GetObjectStatus(ELEM_MAP,
name); }
629 { this->SetObjectStatus(ELEM_MAP,
name, flag); }
632 {
return this->GetNumberOfObjects(NODE_SET); }
634 {
return this->GetObjectName(NODE_SET,
index); }
636 {
return this->GetObjectStatus(NODE_SET,
name); }
638 { this->SetObjectStatus(NODE_SET,
name, flag); }
641 {
return this->GetNumberOfObjects(SIDE_SET); }
643 {
return this->GetObjectName(SIDE_SET,
index); }
645 {
return this->GetObjectStatus(SIDE_SET,
name); }
647 { this->SetObjectStatus(SIDE_SET,
name, flag); }
650 {
return this->GetNumberOfObjects(EDGE_SET); }
652 {
return this->GetObjectName(EDGE_SET,
index); }
654 {
return this->GetObjectStatus(EDGE_SET,
name); }
656 { this->SetObjectStatus(EDGE_SET,
name, flag); }
659 {
return this->GetNumberOfObjects(FACE_SET); }
661 {
return this->GetObjectName(FACE_SET,
index); }
663 {
return this->GetObjectStatus(FACE_SET,
name); }
665 { this->SetObjectStatus(FACE_SET,
name, flag); }
668 {
return this->GetNumberOfObjects(ELEM_SET); }
670 {
return this->GetObjectName(ELEM_SET,
index); }
672 {
return this->GetObjectStatus(ELEM_SET,
name); }
674 { this->SetObjectStatus(ELEM_SET,
name, flag); }
678 {
return this->GetNumberOfObjectArrays(NODE_SET); }
680 {
return this->GetObjectArrayName(NODE_SET,
index); }
682 {
return this->GetObjectArrayStatus(NODE_SET,
name); }
684 { this->SetObjectArrayStatus(NODE_SET,
name, flag); }
687 {
return this->GetNumberOfObjectArrays(SIDE_SET); }
689 {
return this->GetObjectArrayName(SIDE_SET,
index); }
691 {
return this->GetObjectArrayStatus(SIDE_SET,
name); }
693 { this->SetObjectArrayStatus(SIDE_SET,
name, flag); }
696 {
return this->GetNumberOfObjectArrays(EDGE_SET); }
698 {
return this->GetObjectArrayName(EDGE_SET,
index); }
700 {
return this->GetObjectArrayStatus(EDGE_SET,
name); }
702 { this->SetObjectArrayStatus(EDGE_SET,
name, flag); }
705 {
return this->GetNumberOfObjectArrays(FACE_SET); }
707 {
return this->GetObjectArrayName(FACE_SET,
index); }
709 {
return this->GetObjectArrayStatus(FACE_SET,
name); }
711 { this->SetObjectArrayStatus(FACE_SET,
name, flag); }
714 {
return this->GetNumberOfObjectArrays(ELEM_SET); }
716 {
return this->GetObjectArrayName(ELEM_SET,
index); }
718 {
return this->GetObjectArrayStatus(ELEM_SET,
name); }
720 { this->SetObjectArrayStatus(ELEM_SET,
name, flag); }
740 void ResetSettings();
750 void SetCacheSize(
double CacheSize);
755 double GetCacheSize();
770 void SetSqueezePoints(
bool sp);
771 bool GetSqueezePoints();
786 vtkGetMacro(SILUpdateStamp,
int);
794 int GetMaxNameLength();
802 static int GetIDHelper (
const char *arrayName,
vtkDataSet *
data,
int localID,
int searchType );
803 static int GetGlobalID(
const char *arrayName,
vtkDataSet *
data,
int localID,
int searchType );
832 int TimeStepRange[2];
854 int ModeShapesRange[2];