37 #ifndef vtkExodusIIReader_h
38 #define vtkExodusIIReader_h
40 #include "vtkIOExodusModule.h"
64 virtual int CanReadFile(
const char* fname);
84 virtual void SetFileName(
const char* fname);
85 vtkGetStringMacro(FileName);
92 virtual void SetXMLFileName(
const char* fname);
93 vtkGetStringMacro(XMLFileName);
100 vtkSetMacro(TimeStep,
int);
101 vtkGetMacro(TimeStep,
int);
117 vtkGetVector2Macro(ModeShapesRange,
int);
126 vtkGetVector2Macro(TimeStepRange,
int);
141 virtual void SetGenerateObjectIdCellArray(
vtkTypeBool g);
143 vtkBooleanMacro(GenerateObjectIdCellArray,
vtkTypeBool);
147 virtual void SetGenerateGlobalElementIdArray(
vtkTypeBool g);
149 vtkBooleanMacro(GenerateGlobalElementIdArray,
vtkTypeBool);
151 virtual void SetGenerateGlobalNodeIdArray(
vtkTypeBool g);
153 vtkBooleanMacro(GenerateGlobalNodeIdArray,
vtkTypeBool);
155 virtual void SetGenerateImplicitElementIdArray(
vtkTypeBool g);
157 vtkBooleanMacro(GenerateImplicitElementIdArray,
vtkTypeBool);
159 virtual void SetGenerateImplicitNodeIdArray(
vtkTypeBool g);
161 vtkBooleanMacro(GenerateImplicitNodeIdArray,
vtkTypeBool);
163 virtual void SetGenerateFileIdArray(
vtkTypeBool f);
167 virtual void SetFileId(
int f);
179 SEARCH_TYPE_ELEMENT = 0,
183 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 =
218 ELEM_BLOCK_EDGE_CONN =
220 FACE_BLOCK_CONN = 95,
221 EDGE_BLOCK_CONN = 94,
229 IMPLICIT_ELEMENT_ID = 108,
230 IMPLICIT_NODE_ID = 107,
237 NODAL_SQUEEZEMAP = 82,
238 ELEM_BLOCK_ATTRIB = 81,
239 FACE_BLOCK_ATTRIB = 80,
240 EDGE_BLOCK_ATTRIB = 79,
250 static int GetGlobalElementID(
vtkDataSet*
data,
int localID,
int searchType);
256 static int GetGlobalFaceID(
vtkDataSet*
data,
int localID,
int searchType);
262 static int GetGlobalEdgeID(
vtkDataSet*
data,
int localID,
int searchType);
275 static int GetGlobalNodeID(
vtkDataSet*
data,
int localID,
int searchType);
301 virtual void SetDisplacementMagnitude(
float s);
302 float GetDisplacementMagnitude();
324 virtual void SetModeShapeTime(
double phase);
325 double GetModeShapeTime();
336 virtual void SetAnimateModeShapes(
vtkTypeBool flag);
348 virtual void SetIgnoreFileTime(
bool flag);
349 bool GetIgnoreFileTime();
350 vtkBooleanMacro(IgnoreFileTime,
bool);
357 const char* GetTitle();
358 int GetDimensionality();
359 int GetNumberOfTimeSteps();
362 int GetNumberOfNodesInFile();
363 int GetNumberOfEdgesInFile();
364 int GetNumberOfFacesInFile();
365 int GetNumberOfElementsInFile();
367 int GetObjectTypeFromName(
const char*
name);
368 const char* GetObjectTypeName(
int);
370 int GetNumberOfNodes();
371 int GetNumberOfObjects(
int objectType);
372 int GetNumberOfEntriesInObject(
int objectType,
int objectIndex);
373 int GetObjectId(
int objectType,
int objectIndex);
374 const char* GetObjectName(
int objectType,
int objectIndex);
375 int GetObjectIndex(
int objectType,
const char* objectName);
376 int GetObjectIndex(
int objectType,
int id);
377 int GetObjectStatus(
int objectType,
int objectIndex);
380 return this->GetObjectStatus(objectType, this->GetObjectIndex(objectType, objectName));
382 void SetObjectStatus(
int objectType,
int objectIndex,
int status);
383 void SetObjectStatus(
int objectType,
const char* objectName,
int status);
392 int GetNumberOfObjectArrays(
int objectType);
393 const char* GetObjectArrayName(
int objectType,
int arrayIndex);
394 int GetObjectArrayIndex(
int objectType,
const char* arrayName);
395 int GetNumberOfObjectArrayComponents(
int objectType,
int arrayIndex);
396 int GetObjectArrayStatus(
int objectType,
int arrayIndex);
399 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);
418 return this->GetObjectAttributeStatus(
419 objectType, objectIndex, this->GetObjectAttributeIndex(objectType, objectIndex, attribName));
421 void SetObjectAttributeStatus(
int objectType,
int objectIndex,
int attribIndex,
int status);
424 this->SetObjectAttributeStatus(objectType, objectIndex,
425 this->GetObjectAttributeIndex(objectType, objectIndex, attribName), status);
429 virtual vtkIdType GetTotalNumberOfNodes();
430 virtual vtkIdType GetTotalNumberOfEdges();
431 virtual vtkIdType GetTotalNumberOfFaces();
432 virtual vtkIdType GetTotalNumberOfElements();
440 int GetNumberOfPartArrays();
441 const char* GetPartArrayName(
int arrayIdx);
442 int GetPartArrayID(
const char*
name);
443 const char* GetPartBlockInfo(
int arrayIdx);
444 void SetPartArrayStatus(
int index,
int flag);
445 void SetPartArrayStatus(
const char*,
int flag);
446 int GetPartArrayStatus(
int index);
447 int GetPartArrayStatus(
const char*);
457 int GetNumberOfMaterialArrays();
458 const char* GetMaterialArrayName(
int arrayIdx);
459 int GetMaterialArrayID(
const char*
name);
460 void SetMaterialArrayStatus(
int index,
int flag);
461 void SetMaterialArrayStatus(
const char*,
int flag);
462 int GetMaterialArrayStatus(
int index);
463 int GetMaterialArrayStatus(
const char*);
473 int GetNumberOfAssemblyArrays();
474 const char* GetAssemblyArrayName(
int arrayIdx);
475 int GetAssemblyArrayID(
const char*
name);
476 void SetAssemblyArrayStatus(
int index,
int flag);
477 void SetAssemblyArrayStatus(
const char*,
int flag);
478 int GetAssemblyArrayStatus(
int index);
479 int GetAssemblyArrayStatus(
const char*);
492 int GetNumberOfHierarchyArrays();
493 const char* GetHierarchyArrayName(
int arrayIdx);
494 void SetHierarchyArrayStatus(
int index,
int flag);
495 void SetHierarchyArrayStatus(
const char*,
int flag);
496 int GetHierarchyArrayStatus(
int index);
497 int GetHierarchyArrayStatus(
const char*);
500 vtkGetMacro(DisplayType,
int);
501 virtual void SetDisplayType(
int type);
506 int IsValidVariable(
const char*
type,
const char*
name);
511 int GetVariableID(
const char*
type,
const char*
name);
513 void SetAllArrayStatus(
int otype,
int status);
520 int GetTimeSeriesData(
int ID,
const char* vName,
const char* vType,
vtkFloatArray* result);
527 this->SetObjectStatus(EDGE_BLOCK,
name, flag);
535 this->SetObjectStatus(FACE_BLOCK,
name, flag);
542 return this->GetObjectStatus(ELEM_BLOCK,
name);
546 this->SetObjectStatus(ELEM_BLOCK,
name, flag);
552 return this->GetObjectArrayName(GLOBAL,
index);
556 return this->GetObjectArrayStatus(GLOBAL,
name);
560 this->SetObjectArrayStatus(GLOBAL,
name, flag);
567 return this->GetObjectArrayStatus(NODAL,
name);
571 this->SetObjectArrayStatus(NODAL,
name, flag);
577 return this->GetObjectArrayName(EDGE_BLOCK,
index);
581 return this->GetObjectArrayStatus(EDGE_BLOCK,
name);
585 this->SetObjectArrayStatus(EDGE_BLOCK,
name, flag);
591 return this->GetObjectArrayName(FACE_BLOCK,
index);
595 return this->GetObjectArrayStatus(FACE_BLOCK,
name);
599 this->SetObjectArrayStatus(FACE_BLOCK,
name, flag);
605 return this->GetObjectArrayName(ELEM_BLOCK,
index);
609 return this->GetObjectArrayStatus(ELEM_BLOCK,
name);
613 this->SetObjectArrayStatus(ELEM_BLOCK,
name, flag);
621 this->SetObjectStatus(NODE_MAP,
name, flag);
629 this->SetObjectStatus(EDGE_MAP,
name, flag);
637 this->SetObjectStatus(FACE_MAP,
name, flag);
645 this->SetObjectStatus(ELEM_MAP,
name, flag);
653 this->SetObjectStatus(NODE_SET,
name, flag);
661 this->SetObjectStatus(SIDE_SET,
name, flag);
669 this->SetObjectStatus(EDGE_SET,
name, flag);
677 this->SetObjectStatus(FACE_SET,
name, flag);
685 this->SetObjectStatus(ELEM_SET,
name, flag);
691 return this->GetObjectArrayName(NODE_SET,
index);
695 return this->GetObjectArrayStatus(NODE_SET,
name);
699 this->SetObjectArrayStatus(NODE_SET,
name, flag);
705 return this->GetObjectArrayName(SIDE_SET,
index);
709 return this->GetObjectArrayStatus(SIDE_SET,
name);
713 this->SetObjectArrayStatus(SIDE_SET,
name, flag);
719 return this->GetObjectArrayName(EDGE_SET,
index);
723 return this->GetObjectArrayStatus(EDGE_SET,
name);
727 this->SetObjectArrayStatus(EDGE_SET,
name, flag);
733 return this->GetObjectArrayName(FACE_SET,
index);
737 return this->GetObjectArrayStatus(FACE_SET,
name);
741 this->SetObjectArrayStatus(FACE_SET,
name, flag);
747 return this->GetObjectArrayName(ELEM_SET,
index);
751 return this->GetObjectArrayStatus(ELEM_SET,
name);
755 this->SetObjectArrayStatus(ELEM_SET,
name, flag);
776 void ResetSettings();
786 void SetCacheSize(
double CacheSize);
791 double GetCacheSize();
806 void SetSqueezePoints(
bool sp);
807 bool GetSqueezePoints();
822 vtkGetMacro(SILUpdateStamp,
int);
830 int GetMaxNameLength();
854 vtkSetMacro(UseLegacyBlockNames,
bool);
855 vtkGetMacro(UseLegacyBlockNames,
bool);
856 vtkBooleanMacro(UseLegacyBlockNames,
bool);
863 static int GetIDHelper(
const char* arrayName,
vtkDataSet*
data,
int localID,
int searchType);
864 static int GetGlobalID(
const char* arrayName,
vtkDataSet*
data,
int localID,
int searchType);
894 int TimeStepRange[2];
917 int ModeShapesRange[2];
919 bool UseLegacyBlockNames;