40 #ifndef vtkExodusIIReader_h
41 #define vtkExodusIIReader_h
43 #include "vtkIOExodusModule.h"
66 int CanReadFile(
const char* fname);
86 virtual void SetFileName(
const char* fname );
94 virtual void SetXMLFileName(
const char* fname );
103 vtkGetMacro(TimeStep,
int);
112 this->SetTimeStep(val-1);
122 vtkGetVector2Macro(ModeShapesRange,
int);
131 vtkGetVector2Macro(TimeStepRange,
int);
146 virtual void SetGenerateObjectIdCellArray(
int g );
147 int GetGenerateObjectIdCellArray();
152 virtual void SetGenerateGlobalElementIdArray(
int g );
153 int GetGenerateGlobalElementIdArray();
156 virtual void SetGenerateGlobalNodeIdArray(
int g );
157 int GetGenerateGlobalNodeIdArray();
160 virtual void SetGenerateImplicitElementIdArray(
int g );
161 int GetGenerateImplicitElementIdArray();
164 virtual void SetGenerateImplicitNodeIdArray(
int g );
165 int GetGenerateImplicitNodeIdArray();
168 virtual void SetGenerateFileIdArray(
int f );
169 int GetGenerateFileIdArray();
171 virtual void SetFileId(
int f );
182 SEARCH_TYPE_ELEMENT=0,
186 ID_NOT_FOUND=-234121312
213 GLOBAL_TEMPORAL = 102,
214 NODAL_TEMPORAL = 101,
215 ELEM_BLOCK_TEMPORAL = 100,
217 ELEM_BLOCK_ELEM_CONN = 98,
218 ELEM_BLOCK_FACE_CONN = 97,
219 ELEM_BLOCK_EDGE_CONN = 96,
220 FACE_BLOCK_CONN = 95,
221 EDGE_BLOCK_CONN = 94,
229 IMPLICIT_ELEMENT_ID = 108,
230 IMPLICIT_NODE_ID = 107,
231 GLOBAL_ELEMENT_ID = 86,
235 NODAL_SQUEEZEMAP = 82,
236 ELEM_BLOCK_ATTRIB = 81,
237 FACE_BLOCK_ATTRIB = 80,
238 EDGE_BLOCK_ATTRIB = 79,
300 virtual void SetApplyDisplacements(
int d );
301 int GetApplyDisplacements();
303 virtual void SetDisplacementMagnitude(
float s );
304 float GetDisplacementMagnitude();
313 virtual void SetHasModeShapes(
int ms );
314 int GetHasModeShapes();
326 virtual void SetModeShapeTime(
double phase );
327 double GetModeShapeTime();
338 virtual void SetAnimateModeShapes(
int flag);
339 int GetAnimateModeShapes();
347 const char* GetTitle();
348 int GetDimensionality();
349 int GetNumberOfTimeSteps();
352 int GetNumberOfNodesInFile();
353 int GetNumberOfEdgesInFile();
354 int GetNumberOfFacesInFile();
355 int GetNumberOfElementsInFile();
357 int GetObjectTypeFromName(
const char*
name );
358 const char* GetObjectTypeName(
int );
360 int GetNumberOfNodes();
361 int GetNumberOfObjects(
int objectType );
362 int GetNumberOfEntriesInObject(
int objectType,
int objectIndex );
363 int GetObjectId(
int objectType,
int objectIndex );
364 const char* GetObjectName(
int objectType,
int objectIndex );
365 int GetObjectIndex(
int objectType,
const char* objectName );
366 int GetObjectIndex(
int objectType,
int id );
367 int GetObjectStatus(
int objectType,
int objectIndex );
369 {
return this->GetObjectStatus( objectType, this->GetObjectIndex( objectType, objectName ) ); }
370 void SetObjectStatus(
int objectType,
int objectIndex,
int status );
371 void SetObjectStatus(
int objectType,
const char* objectName,
int status );
380 int GetNumberOfObjectArrays(
int objectType );
381 const char* GetObjectArrayName(
int objectType,
int arrayIndex );
382 int GetObjectArrayIndex(
int objectType,
const char* arrayName );
383 int GetNumberOfObjectArrayComponents(
int objectType,
int arrayIndex );
384 int GetObjectArrayStatus(
int objectType,
int arrayIndex );
386 {
return this->GetObjectArrayStatus( objectType, this->GetObjectArrayIndex( objectType, arrayName ) ); }
387 void SetObjectArrayStatus(
int objectType,
int arrayIndex,
int status );
388 void SetObjectArrayStatus(
int objectType,
const char* arrayName,
int status );
398 int GetNumberOfObjectAttributes(
int objectType,
int objectIndex );
399 const char* GetObjectAttributeName(
int objectType,
int objectIndex,
int attribIndex );
400 int GetObjectAttributeIndex(
int objectType,
int objectIndex,
const char* attribName );
401 int GetObjectAttributeStatus(
int objectType,
int objectIndex,
int attribIndex );
403 {
return this->GetObjectAttributeStatus( objectType, objectIndex,
404 this->GetObjectAttributeIndex( objectType, objectIndex, attribName ) ); }
405 void SetObjectAttributeStatus(
int objectType,
int objectIndex,
int attribIndex,
int status );
407 { this->SetObjectAttributeStatus( objectType, objectIndex,
408 this->GetObjectAttributeIndex( objectType, objectIndex, attribName ), status ); }
411 virtual vtkIdType GetTotalNumberOfNodes();
412 virtual vtkIdType GetTotalNumberOfEdges();
413 virtual vtkIdType GetTotalNumberOfFaces();
414 virtual vtkIdType GetTotalNumberOfElements();
422 int GetNumberOfPartArrays();
423 const char* GetPartArrayName(
int arrayIdx);
424 int GetPartArrayID(
const char *
name );
425 const char* GetPartBlockInfo(
int arrayIdx);
426 void SetPartArrayStatus(
int index,
int flag);
427 void SetPartArrayStatus(
const char*,
int flag);
428 int GetPartArrayStatus(
int index);
429 int GetPartArrayStatus(
const char*);
440 int GetNumberOfMaterialArrays();
441 const char* GetMaterialArrayName(
int arrayIdx);
442 int GetMaterialArrayID(
const char *
name );
443 void SetMaterialArrayStatus(
int index,
int flag);
444 void SetMaterialArrayStatus(
const char*,
int flag);
445 int GetMaterialArrayStatus(
int index);
446 int GetMaterialArrayStatus(
const char*);
456 int GetNumberOfAssemblyArrays();
457 const char* GetAssemblyArrayName(
int arrayIdx);
458 int GetAssemblyArrayID(
const char *
name );
459 void SetAssemblyArrayStatus(
int index,
int flag);
460 void SetAssemblyArrayStatus(
const char*,
int flag);
461 int GetAssemblyArrayStatus(
int index);
462 int GetAssemblyArrayStatus(
const char*);
475 int GetNumberOfHierarchyArrays();
476 const char* GetHierarchyArrayName(
int arrayIdx);
477 void SetHierarchyArrayStatus(
int index,
int flag);
478 void SetHierarchyArrayStatus(
const char*,
int flag);
479 int GetHierarchyArrayStatus(
int index);
480 int GetHierarchyArrayStatus(
const char*);
483 vtkGetMacro(DisplayType,
int);
484 virtual void SetDisplayType(
int type);
489 int IsValidVariable(
const char *
type,
const char *
name );
494 int GetVariableID (
const char *
type,
const char *
name );
496 void SetAllArrayStatus(
int otype,
int status );
503 int GetTimeSeriesData(
int ID,
const char *vName,
const char *vType,
509 {
return this->GetNumberOfObjects(EDGE_BLOCK); }
511 {
return this->GetObjectName(EDGE_BLOCK,
index); }
513 {
return this->GetObjectStatus(EDGE_BLOCK,
name); }
515 { this->SetObjectStatus(EDGE_BLOCK,
name, flag); }
518 {
return this->GetNumberOfObjects(FACE_BLOCK); }
520 {
return this->GetObjectName(FACE_BLOCK,
index); }
522 {
return this->GetObjectStatus(FACE_BLOCK,
name); }
524 { this->SetObjectStatus(FACE_BLOCK,
name, flag); }
527 {
return this->GetNumberOfObjects(ELEM_BLOCK); }
529 {
return this->GetObjectName(ELEM_BLOCK,
index); }
531 {
return this->GetObjectStatus(ELEM_BLOCK,
name); }
533 { this->SetObjectStatus(ELEM_BLOCK,
name, flag); }
536 {
return this->GetNumberOfObjectArrays(GLOBAL); }
538 {
return this->GetObjectArrayName(GLOBAL,
index); }
540 {
return this->GetObjectArrayStatus(GLOBAL,
name); }
542 { this->SetObjectArrayStatus(GLOBAL,
name, flag); }
545 {
return this->GetNumberOfObjectArrays(NODAL); }
547 {
return this->GetObjectArrayName(NODAL,
index); }
549 {
return this->GetObjectArrayStatus(NODAL,
name); }
551 { this->SetObjectArrayStatus(NODAL,
name, flag); }
554 {
return this->GetNumberOfObjectArrays(EDGE_BLOCK); }
556 {
return this->GetObjectArrayName(EDGE_BLOCK,
index); }
558 {
return this->GetObjectArrayStatus(EDGE_BLOCK,
name); }
560 { this->SetObjectArrayStatus(EDGE_BLOCK,
name, flag); }
563 {
return this->GetNumberOfObjectArrays(FACE_BLOCK); }
565 {
return this->GetObjectArrayName(FACE_BLOCK,
index); }
567 {
return this->GetObjectArrayStatus(FACE_BLOCK,
name); }
569 { this->SetObjectArrayStatus(FACE_BLOCK,
name, flag); }
572 {
return this->GetNumberOfObjectArrays(ELEM_BLOCK); }
574 {
return this->GetObjectArrayName(ELEM_BLOCK,
index); }
576 {
return this->GetObjectArrayStatus(ELEM_BLOCK,
name); }
578 { this->SetObjectArrayStatus(ELEM_BLOCK,
name, flag); }
582 {
return this->GetNumberOfObjects(NODE_MAP); }
584 {
return this->GetObjectName(NODE_MAP,
index); }
586 {
return this->GetObjectStatus(NODE_MAP,
name); }
588 { this->SetObjectStatus(NODE_MAP,
name, flag); }
591 {
return this->GetNumberOfObjects(EDGE_MAP); }
593 {
return this->GetObjectName(EDGE_MAP,
index); }
595 {
return this->GetObjectStatus(EDGE_MAP,
name); }
597 { this->SetObjectStatus(EDGE_MAP,
name, flag); }
600 {
return this->GetNumberOfObjects(FACE_MAP); }
602 {
return this->GetObjectName(FACE_MAP,
index); }
604 {
return this->GetObjectStatus(FACE_MAP,
name); }
606 { this->SetObjectStatus(FACE_MAP,
name, flag); }
609 {
return this->GetNumberOfObjects(ELEM_MAP); }
611 {
return this->GetObjectName(ELEM_MAP,
index); }
613 {
return this->GetObjectStatus(ELEM_MAP,
name); }
615 { this->SetObjectStatus(ELEM_MAP,
name, flag); }
618 {
return this->GetNumberOfObjects(NODE_SET); }
620 {
return this->GetObjectName(NODE_SET,
index); }
622 {
return this->GetObjectStatus(NODE_SET,
name); }
624 { this->SetObjectStatus(NODE_SET,
name, flag); }
627 {
return this->GetNumberOfObjects(SIDE_SET); }
629 {
return this->GetObjectName(SIDE_SET,
index); }
631 {
return this->GetObjectStatus(SIDE_SET,
name); }
633 { this->SetObjectStatus(SIDE_SET,
name, flag); }
636 {
return this->GetNumberOfObjects(EDGE_SET); }
638 {
return this->GetObjectName(EDGE_SET,
index); }
640 {
return this->GetObjectStatus(EDGE_SET,
name); }
642 { this->SetObjectStatus(EDGE_SET,
name, flag); }
645 {
return this->GetNumberOfObjects(FACE_SET); }
647 {
return this->GetObjectName(FACE_SET,
index); }
649 {
return this->GetObjectStatus(FACE_SET,
name); }
651 { this->SetObjectStatus(FACE_SET,
name, flag); }
654 {
return this->GetNumberOfObjects(ELEM_SET); }
656 {
return this->GetObjectName(ELEM_SET,
index); }
658 {
return this->GetObjectStatus(ELEM_SET,
name); }
660 { this->SetObjectStatus(ELEM_SET,
name, flag); }
664 {
return this->GetNumberOfObjectArrays(NODE_SET); }
666 {
return this->GetObjectArrayName(NODE_SET,
index); }
668 {
return this->GetObjectArrayStatus(NODE_SET,
name); }
670 { this->SetObjectArrayStatus(NODE_SET,
name, flag); }
673 {
return this->GetNumberOfObjectArrays(SIDE_SET); }
675 {
return this->GetObjectArrayName(SIDE_SET,
index); }
677 {
return this->GetObjectArrayStatus(SIDE_SET,
name); }
679 { this->SetObjectArrayStatus(SIDE_SET,
name, flag); }
682 {
return this->GetNumberOfObjectArrays(EDGE_SET); }
684 {
return this->GetObjectArrayName(EDGE_SET,
index); }
686 {
return this->GetObjectArrayStatus(EDGE_SET,
name); }
688 { this->SetObjectArrayStatus(EDGE_SET,
name, flag); }
691 {
return this->GetNumberOfObjectArrays(FACE_SET); }
693 {
return this->GetObjectArrayName(FACE_SET,
index); }
695 {
return this->GetObjectArrayStatus(FACE_SET,
name); }
697 { this->SetObjectArrayStatus(FACE_SET,
name, flag); }
700 {
return this->GetNumberOfObjectArrays(ELEM_SET); }
702 {
return this->GetObjectArrayName(ELEM_SET,
index); }
704 {
return this->GetObjectArrayStatus(ELEM_SET,
name); }
706 { this->SetObjectArrayStatus(ELEM_SET,
name, flag); }
726 void ResetSettings();
736 void SetCacheSize(
double CacheSize);
741 double GetCacheSize();
756 void SetSqueezePoints(
bool sp);
757 bool GetSqueezePoints();
772 vtkGetMacro(SILUpdateStamp,
int);
780 static int GetIDHelper (
const char *arrayName,
vtkDataSet *
data,
int localID,
int searchType );
781 static int GetGlobalID(
const char *arrayName,
vtkDataSet *
data,
int localID,
int searchType );
815 int TimeStepRange[2];
837 int ModeShapesRange[2];