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];
const char * GetEdgeResultArrayName(int index)
static const char * GetGlobalNodeIdArrayName()
Extra point data array that can be generated.
const char * GetSideSetResultArrayName(int index)
int GetNumberOfElementSetArrays()
static const char * GetImplicitElementIdArrayName()
const char * GetEdgeSetArrayName(int index)
void SetElementSetResultArrayStatus(const char *name, int flag)
int GetNumberOfGlobalResultArrays()
int GetFaceMapArrayStatus(const char *name)
const char * GetEdgeSetResultArrayName(int index)
void SetEdgeResultArrayStatus(const char *name, int flag)
void SetNodeSetArrayStatus(const char *name, int flag)
int GetNumberOfElementMapArrays()
const char * GetEdgeBlockArrayName(int index)
void SetNodeMapArrayStatus(const char *name, int flag)
int GetNumberOfEdgeMapArrays()
void SetEdgeSetResultArrayStatus(const char *name, int flag)
abstract class to specify dataset behavior
int GetGlobalResultArrayStatus(const char *name)
static const char * GetImplicitFaceIdArrayName()
int GetEdgeSetResultArrayStatus(const char *name)
const char * GetNodeSetArrayName(int index)
void SetEdgeBlockArrayStatus(const char *name, int flag)
void SetNodeSetResultArrayStatus(const char *name, int flag)
void SetSideSetArrayStatus(const char *name, int flag)
record modification and/or execution time
int GetElementSetResultArrayStatus(const char *name)
int GetElementBlockArrayStatus(const char *name)
const char * GetElementSetArrayName(int index)
int GetNumberOfFaceSetArrays()
dynamic, self-adjusting array of float
int GetNumberOfFaceSetResultArrays()
const char * GetFaceSetResultArrayName(int index)
const char * GetFaceSetArrayName(int index)
int GetNumberOfEdgeSetResultArrays()
int GetNumberOfElementResultArrays()
int GetElementResultArrayStatus(const char *name)
int ProcessRequest(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
see vtkAlgorithm for details
void SetElementResultArrayStatus(const char *name, int flag)
int GetEdgeResultArrayStatus(const char *name)
ObjectType
Extra cell data array that can be generated.
This class holds metadata for an Exodus file.
int GetNumberOfEdgeResultArrays()
Superclass for algorithms that produce only vtkMultiBlockDataSet as output.
void SetPointResultArrayStatus(const char *name, int flag)
int GetNumberOfEdgeSetArrays()
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
const char * GetEdgeMapArrayName(int index)
int GetNodeSetResultArrayStatus(const char *name)
void SetFaceBlockArrayStatus(const char *name, int flag)
vtkTypeUInt64 vtkMTimeType
const char * GetGlobalResultArrayName(int index)
int GetNumberOfSideSetResultArrays()
int GetElementSetArrayStatus(const char *name)
static vtkMultiBlockDataSetAlgorithm * New()
static const char * GetImplicitNodeIdArrayName()
Extra point data array that can be generated.
int GetNumberOfPointResultArrays()
Base class for graph data types.
int GetNodeSetArrayStatus(const char *name)
dynamic, self-adjusting array of int
void SetEdgeMapArrayStatus(const char *name, int flag)
int GetNumberOfNodeSetResultArrays()
int GetSideSetArrayStatus(const char *name)
const char * GetNodeSetResultArrayName(int index)
const char * GetElementMapArrayName(int index)
a simple class to control print indentation
void SetElementSetArrayStatus(const char *name, int flag)
int GetNumberOfFaceBlockArrays()
static const char * GetObjectIdArrayName()
Extra cell data array that can be generated.
Read Exodus II files (.exii)
int GetElementMapArrayStatus(const char *name)
static const char * GetSideSetSourceElementIdArrayName()
Get the name of the array that stores the mapping from side set cells back to the global id of the el...
const char * GetNodeMapArrayName(int index)
dataset represents arbitrary combinations of all possible cell types
void SetFaceSetArrayStatus(const char *name, int flag)
int GetNumberOfFaceMapArrays()
abstract superclass for arrays of numeric data
virtual vtkMTimeType GetMTime()
Return this object's modified time.
void SetFaceMapArrayStatus(const char *name, int flag)
vtkTimeStamp XMLFileNameMTime
static const char * GetGlobalEdgeIdArrayName()
static const char * GetGlobalFaceIdArrayName()
int GetNumberOfEdgeBlockArrays()
static const char * GetPedigreeFaceIdArrayName()
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
int GetEdgeBlockArrayStatus(const char *name)
int GetObjectArrayStatus(int objectType, const char *arrayName)
By default arrays are not loaded.
static const char * GetPedigreeElementIdArrayName()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
const char * GetFaceBlockArrayName(int index)
static const char * GetPedigreeNodeIdArrayName()
Extra point data array that can be generated.
const char * GetElementResultArrayName(int index)
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
void SetSideSetResultArrayStatus(const char *name, int flag)
int GetEdgeSetArrayStatus(const char *name)
const char * GetFaceResultArrayName(int index)
int GetNumberOfElementSetResultArrays()
const char * GetSideSetArrayName(int index)
int GetNodeMapArrayStatus(const char *name)
static const char * GetPedigreeEdgeIdArrayName()
Read exodus 2 files .ex2.
int GetFaceSetResultArrayStatus(const char *name)
static const char * GetImplicitEdgeIdArrayName()
void SetGlobalResultArrayStatus(const char *name, int flag)
int GetEdgeMapArrayStatus(const char *name)
int GetObjectStatus(int objectType, const char *objectName)
void SetElementBlockArrayStatus(const char *name, int flag)
int GetObjectAttributeStatus(int objectType, int objectIndex, const char *attribName)
By default attributes are not loaded.
void SetObjectAttributeStatus(int objectType, int objectIndex, const char *attribName, int status)
By default attributes are not loaded.
int GetPointResultArrayStatus(const char *name)
const char * GetFaceMapArrayName(int index)
void SetModeShape(int val)
Convenience method to set the mode-shape which is same as this->SetTimeStep(val-1);.
void SetFaceResultArrayStatus(const char *name, int flag)
int GetFaceBlockArrayStatus(const char *name)
const char * GetPointResultArrayName(int index)
int GetSideSetResultArrayStatus(const char *name)
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
int GetNumberOfSideSetArrays()
const char * GetElementBlockArrayName(int index)
int GetFaceSetArrayStatus(const char *name)
void SetElementMapArrayStatus(const char *name, int flag)
static const char * GetGlobalElementIdArrayName()
void SetFaceSetResultArrayStatus(const char *name, int flag)
int GetNumberOfElementBlockArrays()
static const char * GetSideSetSourceElementSideArrayName()
Get the name of the array that stores the mapping from side set cells back to the canonical side of t...
int GetNumberOfFaceResultArrays()
represent and manipulate 3D points
const char * GetElementSetResultArrayName(int index)
int GetNumberOfNodeMapArrays()
int GetNumberOfNodeSetArrays()
void SetEdgeSetArrayStatus(const char *name, int flag)
vtkExodusIIReaderPrivate * Metadata
virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
int GetFaceResultArrayStatus(const char *name)
vtkTimeStamp FileNameMTime