1 #ifndef vtkExodusIIReaderPrivate_h 2 #define vtkExodusIIReaderPrivate_h 7 #include "vtkToolkits.h" 9 #include "vtksys/RegularExpression.hxx" 14 #include "vtk_exodusII.h" 15 #include "vtkIOExodusModule.h" 26 void PrintData( ostream& os,
vtkIndent indent );
31 int OpenFile(
const char* filename );
37 int RequestInformation();
75 void SetCacheSize(
double size);
78 vtkGetMacro(CacheSize,
double);
89 vtkGetMacro(SqueezePoints,
int);
93 void SetSqueezePoints(
int sp );
100 int GetNumberOfNodes();
106 int GetNumberOfObjectsOfType(
int otype );
118 int GetNumberOfObjectArraysOfType(
int otype );
124 const char* GetObjectName(
int otype,
int i );
130 int GetObjectId(
int otype,
int i );
138 int GetObjectSize(
int otype,
int i );
144 int GetObjectStatus(
int otype,
int i );
151 int GetUnsortedObjectStatus(
int otype,
int i );
157 void SetObjectStatus(
int otype,
int i,
int stat );
164 void SetUnsortedObjectStatus(
int otype,
int i,
int stat );
170 const char* GetObjectArrayName(
int otype,
int i );
176 int GetNumberOfObjectArrayComponents(
int otype,
int i );
182 int GetObjectArrayStatus(
int otype,
int i );
188 void SetObjectArrayStatus(
int otype,
int i,
int stat );
196 int GetNumberOfObjectAttributes(
int objectType,
int objectIndex );
197 const char* GetObjectAttributeName(
int objectType,
199 int attributeIndex );
200 int GetObjectAttributeIndex(
int objectType,
202 const char* attribName );
203 int GetObjectAttributeStatus(
int objectType,
206 void SetObjectAttributeStatus(
int objectType,
208 int attribIndex,
int status );
211 vtkGetMacro(GenerateObjectIdArray,
int);
216 vtkGetMacro(GenerateGlobalElementIdArray,
int);
220 vtkGetMacro(GenerateGlobalNodeIdArray,
int);
224 vtkGetMacro(GenerateImplicitElementIdArray,
int);
228 vtkGetMacro(GenerateImplicitNodeIdArray,
int);
235 vtkGetMacro(GenerateFileIdArray,
int);
240 vtkGetMacro(FileId,
int);
243 {
return "GlobalVariableValues"; }
245 {
return "GlobalVariableNames"; }
247 virtual void SetApplyDisplacements(
int d );
248 vtkGetMacro(ApplyDisplacements,
int);
250 virtual void SetDisplacementMagnitude(
double s );
251 vtkGetMacro(DisplacementMagnitude,
double);
254 vtkGetMacro(HasModeShapes,
int);
257 vtkGetMacro(ModeShapeTime,
double);
260 vtkGetMacro(AnimateModeShapes,
int);
265 {
return &this->ModelParameters; }
420 this->SkipUpdateTimeInformation =
true;
450 {this->FastPathObjectType =
type;};
452 vtkSetStringMacro(FastPathIdType);
502 int VerifyIntegrationPointGlom(
int nn,
504 vtksys::RegularExpression& re,
509 void GlomArrayNames(
int i,
516 void PrepareGeneratedArrayInfo();
533 int AssembleOutputConnectivity(
vtkIdType timeStep,
542 int AssembleOutputPoints(
vtkIdType timeStep,
547 int AssembleOutputPointArrays(
vtkIdType timeStep,
552 int AssembleOutputCellArrays(
vtkIdType timeStep,
558 int AssembleOutputProceduralArrays(
vtkIdType timeStep,
561 int AssembleOutputGlobalArrays(
vtkIdType timeStep,
569 int AssembleOutputPointMaps(
vtkIdType timeStep,
571 int AssembleOutputCellMaps(
vtkIdType timeStep,
598 void FreePolyhedronFaceArrays();
601 void InsertBlockPolyhedra(
607 void InsertBlockCells(
608 int otyp,
int obj,
int conn_type,
int timeStep,
BlockInfoType* binfop );
612 int otyp,
int obj,
int conn_type,
int timeStep,
SetInfoType* sinfop );
619 void InsertSetNodeCopies(
623 void InsertSetCellCopies(
641 int GetConnTypeIndexFromConnType(
int ctyp );
647 int GetObjectTypeIndexFromObjectType(
int otyp );
654 int GetNumberOfObjectsAtTypeIndex(
int typeIndex );
671 ObjectInfoType* GetSortedObjectInfo(
int objectType,
int objectIndex );
679 ObjectInfoType* GetUnsortedObjectInfo(
int objectType,
int objectIndex );
685 int GetBlockIndexFromFileGlobalId(
int otyp,
int refId );
691 BlockInfoType* GetBlockFromFileGlobalId(
int otyp,
int refId );
709 int IsObjectTypeBlock(
int otyp );
710 int IsObjectTypeSet(
int otyp );
711 int IsObjectTypeMap(
int otyp );
716 int GetObjectTypeFromMapType(
int mtyp );
717 int GetMapTypeFromObjectType(
int otyp );
718 int GetTemporalTypeFromObjectType(
int otyp );
723 int GetSetTypeFromSetConnType(
int sctyp );
728 int GetBlockConnTypeFromBlockType(
int btyp );
735 void RemoveBeginningAndTrailingSpaces(
int len,
char **names );
738 void ClearConnectivityCaches();
763 std::map<
int,std::
vector<
int> > SortedObjectIndices;
793 struct ex_init_params ModelParameters;
797 bool SkipUpdateTimeInformation;
802 double ModeShapeTime;
804 int GenerateObjectIdArray;
805 int GenerateGlobalIdArray;
806 int GenerateFileIdArray;
807 int GenerateGlobalElementIdArray;
808 int GenerateGlobalNodeIdArray;
809 int GenerateImplicitElementIdArray;
810 int GenerateImplicitNodeIdArray;
823 int ApplyDisplacements;
824 float DisplacementMagnitude;
826 int AnimateModeShapes;
860 char* FastPathIdType;
868 #endif // vtkExodusIIReaderPrivate_h
Wrapper around std::string to keep symbols short.
std::vector< int > OriginalIndices
The index of each component of the array as ordered by the Exodus file.
std::map< vtkIdType, vtkIdType > ReversePointMap
A map from nodal ids in the output mesh to those in an Exodus file.
int Components
The number of components in the array.
static const char * GetObjectIdArrayName()
const char * GetAssemblyName(int idx)
void SetFastPathObjectType(vtkExodusIIReader::ObjectType type)
const char * GetPartName(int idx)
abstract base class for most VTK objects
A struct to hold information about Exodus objects (blocks, sets, maps)
std::vector< int > BlockIndices
void SetFastPathObjectId(vtkIdType id)
int GetNumberOfTimeSteps()
Return the number of time steps in the open file.
void GetInitialObjectStatus(int otype, ObjectInfoType *info)
For a given object type, looks for an object in the collection of initial objects of the same name...
record modification and/or execution time
std::vector< int > ObjectTruth
A map describing which objects the variable is defined on.
A struct to hold information about Exodus maps.
void SetTimesOverrides(const std::vector< double > ×)
int GetNumberOfAssemblies()
std::vector< vtkStdString > AttributeNames
ObjectType
Extra cell data array that can be generated.
This class holds metadata for an Exodus file.
vtkUnstructuredGrid * CachedConnectivity
Cached cell connectivity arrays for mesh.
vtkMutableDirectedGraph * GetSIL()
Returns the SIL. This valid only after BuildSIL() has been called.
static const char * GetGlobalVariableValuesArrayName()
vtkTimeStamp InformationTimeStamp
Time stamp from last time we were in RequestInformation.
void GetInitialObjectArrayStatus(int otype, ArrayInfoType *info)
For a given array type, looks for an object in the collection of initial objects of the same name...
int Source
The source of the array (Result or Attribute)
dynamic, self-adjusting array of int
static const char * GetFileIdArrayName()
int StorageType
Storage type of array (a type that can be passed to vtkDataArray::Create())
bool IsXMLMetadataValid()
vtkExodusIIReaderPrivate()
vtkStdString Name
The name of the array.
a simple class to control print indentation
Read Exodus II files (.exii)
std::map< vtkIdType, vtkIdType > PointMap
A map from nodal IDs in an Exodus file to nodal IDs in the output mesh.
GlomTypes
Tags to indicate how single-component Exodus arrays are glommed (aggregated) into multi-component VTK...
dataset represents arbitrary combinations of all possible cell types
vtkIdType FileOffset
Id (1-based) of first entry in file-local list across all blocks in file.
abstract superclass for arrays of numeric data
static const char * GetGlobalElementIdArrayName()
void SetAssemblyStatus(int idx, int on)
An editable directed graph.
int GetPartStatus(int idx)
int Status
Whether or not the array should be loaded by RequestData.
int GetMaterialStatus(int idx)
virtual void SetParser(vtkExodusIIReaderParser *)
vtkStdString OriginalName
~vtkExodusIIReaderPrivate() override
A struct to hold information about Exodus blocks.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
int Id
User-assigned identification number.
int GetAssemblyStatus(int idx)
A struct to hold information about Exodus blocks or sets (they have some members in common) ...
std::vector< int > BlockIndices
static const char * GetImplicitElementIdArrayName()
internal parser used by vtkExodusIIReader.
Read exodus 2 files .ex2.
std::vector< vtkStdString > OriginalNames
The name of each component of the array as defined by the Exodus file.
vtkStdString Name
User-assigned name.
void SetInitialObjectArrayStatus(int otype, const char *name, int stat)
For a given array type, creates and stores an ArrayInfoType object using the given name and status...
int UpdateTimeInformation()
Composite dataset that organizes datasets into blocks.
static const char * GetGlobalNodeIdArrayName()
void SetPartStatus(int idx, int on)
std::vector< int > BlockIndices
const struct ex_init_params * GetModelParams() const
int GetNumberOfMaterials()
int Status
Should the reader load this block?
A struct to hold information about Exodus sets.
static const char * GetImplicitNodeIdArrayName()
bool ProducedFastPathOutput
A struct to hold information about Exodus blocks.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
ArraySourceTypes
Tags to indicate the source of values for an array.
const char * GetPartBlockInfo(int idx)
vtkIdType NextSqueezePoint
The next vtk ID to use for a connectivity entry when point squeezing is on and no point ID exists...
int Size
Number of entries in this block.
void SetMaterialStatus(int idx, int on)
A struct to hold information about time-varying arrays.
int GlomType
The type of "glomming" performed.
static const char * GetGlobalVariableNamesArrayName()
void SetInitialObjectStatus(int otype, const char *name, int stat)
For a given object type, creates and stores an ObjectInfoType object using the given name and status...
const char * GetMaterialName(int idx)
std::vector< int > AttributeStatus