37 #ifndef vtkExodusIIReader_h
38 #define vtkExodusIIReader_h
40 #include "vtkIOExodusModule.h"
63 int CanReadFile(
const char* fname);
83 virtual
void SetFileName( const
char* fname );
91 virtual
void SetXMLFileName( const
char* fname );
100 vtkGetMacro(TimeStep,
int);
107 void SetModeShape(
int val)
109 this->SetTimeStep(val-1);
119 vtkGetVector2Macro(ModeShapesRange,
int);
128 vtkGetVector2Macro(TimeStepRange,
int);
143 virtual void SetGenerateObjectIdCellArray(
int g );
144 int GetGenerateObjectIdCellArray();
149 virtual void SetGenerateGlobalElementIdArray(
int g );
150 int GetGenerateGlobalElementIdArray();
153 virtual void SetGenerateGlobalNodeIdArray(
int g );
154 int GetGenerateGlobalNodeIdArray();
157 virtual void SetGenerateImplicitElementIdArray(
int g );
158 int GetGenerateImplicitElementIdArray();
161 virtual void SetGenerateImplicitNodeIdArray(
int g );
162 int GetGenerateImplicitNodeIdArray();
165 virtual void SetGenerateFileIdArray(
int f );
166 int GetGenerateFileIdArray();
168 virtual void SetFileId(
int f );
179 SEARCH_TYPE_ELEMENT=0,
183 ID_NOT_FOUND=-234121312
210 GLOBAL_TEMPORAL = 102,
211 NODAL_TEMPORAL = 101,
212 ELEM_BLOCK_TEMPORAL = 100,
214 ELEM_BLOCK_ELEM_CONN = 98,
215 ELEM_BLOCK_FACE_CONN = 97,
216 ELEM_BLOCK_EDGE_CONN = 96,
217 FACE_BLOCK_CONN = 95,
218 EDGE_BLOCK_CONN = 94,
226 IMPLICIT_ELEMENT_ID = 108,
227 IMPLICIT_NODE_ID = 107,
228 GLOBAL_ELEMENT_ID = 86,
232 NODAL_SQUEEZEMAP = 82,
233 ELEM_BLOCK_ATTRIB = 81,
234 FACE_BLOCK_ATTRIB = 80,
235 EDGE_BLOCK_ATTRIB = 79,
297 virtual void SetApplyDisplacements(
int d );
298 int GetApplyDisplacements();
300 virtual void SetDisplacementMagnitude(
float s );
301 float GetDisplacementMagnitude();
310 virtual void SetHasModeShapes(
int ms );
311 int GetHasModeShapes();
323 virtual void SetModeShapeTime(
double phase );
324 double GetModeShapeTime();
335 virtual void SetAnimateModeShapes(
int flag);
336 int GetAnimateModeShapes();
344 const char* GetTitle();
345 int GetDimensionality();
346 int GetNumberOfTimeSteps();
349 int GetNumberOfNodesInFile();
350 int GetNumberOfEdgesInFile();
351 int GetNumberOfFacesInFile();
352 int GetNumberOfElementsInFile();
354 int GetObjectTypeFromName(
const char*
name );
355 const char* GetObjectTypeName(
int );
357 int GetNumberOfNodes();
358 int GetNumberOfObjects(
int objectType );
359 int GetNumberOfEntriesInObject(
int objectType,
int objectIndex );
360 int GetObjectId(
int objectType,
int objectIndex );
361 const char* GetObjectName(
int objectType,
int objectIndex );
362 int GetObjectIndex(
int objectType,
const char* objectName );
363 int GetObjectIndex(
int objectType,
int id );
364 int GetObjectStatus(
int objectType,
int objectIndex );
366 {
return this->GetObjectStatus( objectType, this->GetObjectIndex( objectType, objectName ) ); }
367 void SetObjectStatus(
int objectType,
int objectIndex,
int status );
368 void SetObjectStatus(
int objectType,
const char* objectName,
int status );
377 int GetNumberOfObjectArrays(
int objectType );
378 const char* GetObjectArrayName(
int objectType,
int arrayIndex );
379 int GetObjectArrayIndex(
int objectType,
const char* arrayName );
380 int GetNumberOfObjectArrayComponents(
int objectType,
int arrayIndex );
381 int GetObjectArrayStatus(
int objectType,
int arrayIndex );
383 {
return this->GetObjectArrayStatus( objectType, this->GetObjectArrayIndex( objectType, arrayName ) ); }
384 void SetObjectArrayStatus(
int objectType,
int arrayIndex,
int status );
385 void SetObjectArrayStatus(
int objectType,
const char* arrayName,
int status );
395 int GetNumberOfObjectAttributes(
int objectType,
int objectIndex );
396 const char* GetObjectAttributeName(
int objectType,
int objectIndex,
int attribIndex );
397 int GetObjectAttributeIndex(
int objectType,
int objectIndex,
const char* attribName );
398 int GetObjectAttributeStatus(
int objectType,
int objectIndex,
int attribIndex );
400 {
return this->GetObjectAttributeStatus( objectType, objectIndex,
401 this->GetObjectAttributeIndex( objectType, objectIndex, attribName ) ); }
402 void SetObjectAttributeStatus(
int objectType,
int objectIndex,
int attribIndex,
int status );
404 { this->SetObjectAttributeStatus( objectType, objectIndex,
405 this->GetObjectAttributeIndex( objectType, objectIndex, attribName ), status ); }
408 virtual vtkIdType GetTotalNumberOfNodes();
409 virtual vtkIdType GetTotalNumberOfEdges();
410 virtual vtkIdType GetTotalNumberOfFaces();
411 virtual vtkIdType GetTotalNumberOfElements();
419 int GetNumberOfPartArrays();
420 const char* GetPartArrayName(
int arrayIdx);
421 int GetPartArrayID(
const char *
name );
422 const char* GetPartBlockInfo(
int arrayIdx);
423 void SetPartArrayStatus(
int index,
int flag);
424 void SetPartArrayStatus(
const char*,
int flag);
425 int GetPartArrayStatus(
int index);
426 int GetPartArrayStatus(
const char*);
437 int GetNumberOfMaterialArrays();
438 const char* GetMaterialArrayName(
int arrayIdx);
439 int GetMaterialArrayID(
const char *
name );
440 void SetMaterialArrayStatus(
int index,
int flag);
441 void SetMaterialArrayStatus(
const char*,
int flag);
442 int GetMaterialArrayStatus(
int index);
443 int GetMaterialArrayStatus(
const char*);
453 int GetNumberOfAssemblyArrays();
454 const char* GetAssemblyArrayName(
int arrayIdx);
455 int GetAssemblyArrayID(
const char *
name );
456 void SetAssemblyArrayStatus(
int index,
int flag);
457 void SetAssemblyArrayStatus(
const char*,
int flag);
458 int GetAssemblyArrayStatus(
int index);
459 int GetAssemblyArrayStatus(
const char*);
472 int GetNumberOfHierarchyArrays();
473 const char* GetHierarchyArrayName(
int arrayIdx);
474 void SetHierarchyArrayStatus(
int index,
int flag);
475 void SetHierarchyArrayStatus(
const char*,
int flag);
476 int GetHierarchyArrayStatus(
int index);
477 int GetHierarchyArrayStatus(
const char*);
480 vtkGetMacro(DisplayType,
int);
481 virtual void SetDisplayType(
int type);
486 int IsValidVariable(
const char *
type,
const char *
name );
491 int GetVariableID (
const char *
type,
const char *
name );
493 void SetAllArrayStatus(
int otype,
int status );
500 int GetTimeSeriesData(
int ID,
const char *vName,
const char *vType,
506 {
return this->GetNumberOfObjects(EDGE_BLOCK); }
508 {
return this->GetObjectName(EDGE_BLOCK, index); }
510 {
return this->GetObjectStatus(EDGE_BLOCK, name); }
512 { this->SetObjectStatus(EDGE_BLOCK, name, flag); }
515 {
return this->GetNumberOfObjects(FACE_BLOCK); }
517 {
return this->GetObjectName(FACE_BLOCK, index); }
519 {
return this->GetObjectStatus(FACE_BLOCK, name); }
521 { this->SetObjectStatus(FACE_BLOCK, name, flag); }
524 {
return this->GetNumberOfObjects(ELEM_BLOCK); }
526 {
return this->GetObjectName(ELEM_BLOCK, index); }
528 {
return this->GetObjectStatus(ELEM_BLOCK, name); }
530 { this->SetObjectStatus(ELEM_BLOCK, name, flag); }
533 {
return this->GetNumberOfObjectArrays(GLOBAL); }
535 {
return this->GetObjectArrayName(GLOBAL, index); }
537 {
return this->GetObjectArrayStatus(GLOBAL, name); }
539 { this->SetObjectArrayStatus(GLOBAL, name, flag); }
542 {
return this->GetNumberOfObjectArrays(NODAL); }
544 {
return this->GetObjectArrayName(NODAL, index); }
546 {
return this->GetObjectArrayStatus(NODAL, name); }
548 { this->SetObjectArrayStatus(NODAL, name, flag); }
551 {
return this->GetNumberOfObjectArrays(EDGE_BLOCK); }
553 {
return this->GetObjectArrayName(EDGE_BLOCK, index); }
555 {
return this->GetObjectArrayStatus(EDGE_BLOCK, name); }
557 { this->SetObjectArrayStatus(EDGE_BLOCK, name, flag); }
560 {
return this->GetNumberOfObjectArrays(FACE_BLOCK); }
562 {
return this->GetObjectArrayName(FACE_BLOCK, index); }
564 {
return this->GetObjectArrayStatus(FACE_BLOCK, name); }
566 { this->SetObjectArrayStatus(FACE_BLOCK, name, flag); }
569 {
return this->GetNumberOfObjectArrays(ELEM_BLOCK); }
571 {
return this->GetObjectArrayName(ELEM_BLOCK, index); }
573 {
return this->GetObjectArrayStatus(ELEM_BLOCK, name); }
575 { this->SetObjectArrayStatus(ELEM_BLOCK, name, flag); }
579 {
return this->GetNumberOfObjects(NODE_MAP); }
581 {
return this->GetObjectName(NODE_MAP, index); }
583 {
return this->GetObjectStatus(NODE_MAP, name); }
585 { this->SetObjectStatus(NODE_MAP, name, flag); }
588 {
return this->GetNumberOfObjects(EDGE_MAP); }
590 {
return this->GetObjectName(EDGE_MAP, index); }
592 {
return this->GetObjectStatus(EDGE_MAP, name); }
594 { this->SetObjectStatus(EDGE_MAP, name, flag); }
597 {
return this->GetNumberOfObjects(FACE_MAP); }
599 {
return this->GetObjectName(FACE_MAP, index); }
601 {
return this->GetObjectStatus(FACE_MAP, name); }
603 { this->SetObjectStatus(FACE_MAP, name, flag); }
606 {
return this->GetNumberOfObjects(ELEM_MAP); }
608 {
return this->GetObjectName(ELEM_MAP, index); }
610 {
return this->GetObjectStatus(ELEM_MAP, name); }
612 { this->SetObjectStatus(ELEM_MAP, name, flag); }
615 {
return this->GetNumberOfObjects(NODE_SET); }
617 {
return this->GetObjectName(NODE_SET, index); }
619 {
return this->GetObjectStatus(NODE_SET, name); }
621 { this->SetObjectStatus(NODE_SET, name, flag); }
624 {
return this->GetNumberOfObjects(SIDE_SET); }
626 {
return this->GetObjectName(SIDE_SET, index); }
628 {
return this->GetObjectStatus(SIDE_SET, name); }
630 { this->SetObjectStatus(SIDE_SET, name, flag); }
633 {
return this->GetNumberOfObjects(EDGE_SET); }
635 {
return this->GetObjectName(EDGE_SET, index); }
637 {
return this->GetObjectStatus(EDGE_SET, name); }
639 { this->SetObjectStatus(EDGE_SET, name, flag); }
642 {
return this->GetNumberOfObjects(FACE_SET); }
644 {
return this->GetObjectName(FACE_SET, index); }
646 {
return this->GetObjectStatus(FACE_SET, name); }
648 { this->SetObjectStatus(FACE_SET, name, flag); }
651 {
return this->GetNumberOfObjects(ELEM_SET); }
653 {
return this->GetObjectName(ELEM_SET, index); }
655 {
return this->GetObjectStatus(ELEM_SET, name); }
657 { this->SetObjectStatus(ELEM_SET, name, flag); }
661 {
return this->GetNumberOfObjectArrays(NODE_SET); }
663 {
return this->GetObjectArrayName(NODE_SET, index); }
665 {
return this->GetObjectArrayStatus(NODE_SET, name); }
667 { this->SetObjectArrayStatus(NODE_SET, name, flag); }
670 {
return this->GetNumberOfObjectArrays(SIDE_SET); }
672 {
return this->GetObjectArrayName(SIDE_SET, index); }
674 {
return this->GetObjectArrayStatus(SIDE_SET, name); }
676 { this->SetObjectArrayStatus(SIDE_SET, name, flag); }
679 {
return this->GetNumberOfObjectArrays(EDGE_SET); }
681 {
return this->GetObjectArrayName(EDGE_SET, index); }
683 {
return this->GetObjectArrayStatus(EDGE_SET, name); }
685 { this->SetObjectArrayStatus(EDGE_SET, name, flag); }
688 {
return this->GetNumberOfObjectArrays(FACE_SET); }
690 {
return this->GetObjectArrayName(FACE_SET, index); }
692 {
return this->GetObjectArrayStatus(FACE_SET, name); }
694 { this->SetObjectArrayStatus(FACE_SET, name, flag); }
697 {
return this->GetNumberOfObjectArrays(ELEM_SET); }
699 {
return this->GetObjectArrayName(ELEM_SET, index); }
701 {
return this->GetObjectArrayStatus(ELEM_SET, name); }
703 { this->SetObjectArrayStatus(ELEM_SET, name, flag); }
723 void ResetSettings();
733 void SetCacheSize(
double CacheSize);
738 double GetCacheSize();
753 void SetSqueezePoints(
bool sp);
754 bool GetSqueezePoints();
769 vtkGetMacro(SILUpdateStamp,
int);
777 static
int GetIDHelper ( const
char *arrayName,
vtkDataSet *
data,
int localID,
int searchType );
778 static
int GetGlobalID( const
char *arrayName,
vtkDataSet *data,
int localID,
int searchType );
781 vtkGetObjectMacro(Metadata,vtkExodusIIReaderPrivate);
803 int ProcessRequest(
vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
804 int RequestInformation( vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
805 int RequestData( vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
812 int TimeStepRange[2];
824 vtkExodusIIReaderPrivate* Metadata;
834 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()
vtkTypeUInt32 vtkMTimeType
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)
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()
const char * GetEdgeMapArrayName(int index)
int GetNodeSetResultArrayStatus(const char *name)
void SetFaceBlockArrayStatus(const char *name, int flag)
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)
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 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)
int GetFaceResultArrayStatus(const char *name)