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;