1 #ifndef vtkExodusIIReaderPrivate_h 2 #define vtkExodusIIReaderPrivate_h 4 #ifndef VTK_WRAPPING_CXX 12 #include "vtkToolkits.h" 13 #include "vtksys/RegularExpression.hxx" 18 #include "vtkIOExodusModule.h" 19 #include "vtk_exodusII.h" 24 class vtkTypeInt64Array;
34 void PrintData(ostream& os,
vtkIndent indent);
39 int OpenFile(
const char* filename);
45 int RequestInformation();
82 void SetCacheSize(
double size);
85 vtkGetMacro(CacheSize,
double);
95 vtkGetMacro(SqueezePoints,
int);
99 void SetSqueezePoints(
int sp);
103 vtkBooleanMacro(SqueezePoints,
int);
106 int GetNumberOfNodes();
112 int GetNumberOfObjectsOfType(
int otype);
124 int GetNumberOfObjectArraysOfType(
int otype);
130 const char* GetObjectName(
int otype,
int i);
136 int GetObjectId(
int otype,
int i);
144 int GetObjectSize(
int otype,
int i);
150 int GetObjectStatus(
int otype,
int i);
157 int GetUnsortedObjectStatus(
int otype,
int i);
163 void SetObjectStatus(
int otype,
int i,
int stat);
170 void SetUnsortedObjectStatus(
int otype,
int i,
int stat);
176 const char* GetObjectArrayName(
int otype,
int i);
182 int GetNumberOfObjectArrayComponents(
int otype,
int i);
188 int GetObjectArrayStatus(
int otype,
int i);
194 void SetObjectArrayStatus(
int otype,
int i,
int stat);
202 int GetNumberOfObjectAttributes(
int objectType,
int objectIndex);
203 const char* GetObjectAttributeName(
int objectType,
int objectIndex,
int attributeIndex);
204 int GetObjectAttributeIndex(
int objectType,
int objectIndex,
const char* attribName);
205 int GetObjectAttributeStatus(
int objectType,
int objectIndex,
int attribIndex);
206 void SetObjectAttributeStatus(
int objectType,
int objectIndex,
int attribIndex,
int status);
213 vtkSetMacro(GenerateGlobalElementIdArray,
vtkTypeBool);
214 vtkGetMacro(GenerateGlobalElementIdArray,
vtkTypeBool);
217 vtkSetMacro(GenerateGlobalNodeIdArray,
vtkTypeBool);
218 vtkGetMacro(GenerateGlobalNodeIdArray,
vtkTypeBool);
221 vtkSetMacro(GenerateImplicitElementIdArray,
vtkTypeBool);
222 vtkGetMacro(GenerateImplicitElementIdArray,
vtkTypeBool);
225 vtkSetMacro(GenerateImplicitNodeIdArray,
vtkTypeBool);
226 vtkGetMacro(GenerateImplicitNodeIdArray,
vtkTypeBool);
237 vtkSetMacro(FileId,
int);
238 vtkGetMacro(FileId,
int);
246 virtual void SetDisplacementMagnitude(
double s);
247 vtkGetMacro(DisplacementMagnitude,
double);
249 vtkSetMacro(HasModeShapes,
int);
250 vtkGetMacro(HasModeShapes,
int);
252 vtkSetMacro(ModeShapeTime,
double);
253 vtkGetMacro(ModeShapeTime,
double);
255 vtkSetMacro(AnimateModeShapes,
int);
256 vtkGetMacro(AnimateModeShapes,
int);
258 vtkSetMacro(IgnoreFileTime,
bool);
259 vtkGetMacro(IgnoreFileTime,
bool);
263 const struct ex_init_params*
GetModelParams()
const {
return &this->ModelParameters; }
429 this->SkipUpdateTimeInformation =
true;
436 int GetNumberOfParts();
437 const char* GetPartName(
int idx);
439 int GetPartStatus(
int idx);
441 void SetPartStatus(
int idx,
int on);
444 int GetNumberOfMaterials();
445 const char* GetMaterialName(
int idx);
446 int GetMaterialStatus(
int idx);
448 void SetMaterialStatus(
int idx,
int on);
449 void SetMaterialStatus(
const vtkStdString& name,
int flag);
451 int GetNumberOfAssemblies();
452 const char* GetAssemblyName(
int idx);
453 int GetAssemblyStatus(
int idx);
455 void SetAssemblyStatus(
int idx,
int on);
456 void SetAssemblyStatus(
const vtkStdString& name,
int flag);
460 this->FastPathObjectType =
type;
463 vtkSetStringMacro(FastPathIdType);
465 bool IsXMLMetadataValid();
483 void GetInitialObjectArrayStatus(
int otype,
ArrayInfoType* info);
491 void SetInitialObjectStatus(
int otype,
const char* name,
int stat);
498 void SetInitialObjectArrayStatus(
int otype,
const char* name,
int stat);
500 int UpdateTimeInformation();
513 int VerifyIntegrationPointGlom(
517 void GlomArrayNames(
int i,
int num_obj,
int num_vars,
char** var_names,
int* truth_tab);
520 void PrepareGeneratedArrayInfo();
538 int AssembleOutputConnectivity(
vtkIdType timeStep,
int otyp,
int oidx,
int conntypidx,
546 int AssembleOutputPoints(
551 int AssembleOutputPointArrays(
556 int AssembleOutputCellArrays(
562 int AssembleOutputProceduralArrays(
565 int AssembleOutputGlobalArrays(
573 int AssembleOutputPointMaps(
575 int AssembleOutputCellMaps(
600 void FreePolyhedronFaceArrays();
603 void InsertBlockPolyhedra(
607 void InsertBlockCells(
int otyp,
int obj,
int conn_type,
int timeStep,
BlockInfoType* binfop);
610 void InsertSetCells(
int otyp,
int obj,
int conn_type,
int timeStep,
SetInfoType* sinfop);
635 int GetConnTypeIndexFromConnType(
int ctyp);
641 int GetObjectTypeIndexFromObjectType(
int otyp);
648 int GetNumberOfObjectsAtTypeIndex(
int typeIndex);
665 ObjectInfoType* GetSortedObjectInfo(
int objectType,
int objectIndex);
673 ObjectInfoType* GetUnsortedObjectInfo(
int objectType,
int objectIndex);
679 int GetBlockIndexFromFileGlobalId(
int otyp,
int refId);
685 BlockInfoType* GetBlockFromFileGlobalId(
int otyp,
int refId);
698 ArrayInfoType* FindArrayInfoByName(
int otyp,
const char* name);
703 int IsObjectTypeBlock(
int otyp);
704 int IsObjectTypeSet(
int otyp);
705 int IsObjectTypeMap(
int otyp);
710 int GetObjectTypeFromMapType(
int mtyp);
711 int GetMapTypeFromObjectType(
int otyp);
712 int GetTemporalTypeFromObjectType(
int otyp);
717 int GetSetTypeFromSetConnType(
int sctyp);
722 int GetBlockConnTypeFromBlockType(
int btyp);
729 void RemoveBeginningAndTrailingSpaces(
int len,
char** names,
int maxNameLength);
732 void ClearConnectivityCaches();
741 std::map<int, std::vector<SetInfoType> >
SetInfo;
747 std::map<int, std::vector<MapInfoType> >
MapInfo;
787 struct ex_init_params ModelParameters;
867 #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::vector< MaterialInfoType > MaterialInfo
int Components
The number of components in the array.
static const char * GetObjectIdArrayName()
vtkMutableDirectedGraph * SIL
void SetFastPathObjectType(vtkExodusIIReader::ObjectType type)
abstract base class for most VTK objects
A struct to hold information about Exodus objects (blocks, sets, maps)
vtkTypeBool ApplyDisplacements
std::map< int, std::vector< ObjectInfoType > > InitialObjectInfo
Maps an object type (EX_ELEM_BLOCK, EX_NODE_SET, ...) to a list of objects defined on that type...
std::vector< int > BlockIndices
std::map< int, std::vector< ArrayInfoType > > ArrayInfo
Maps an object type (EX_ELEM_BLOCK, EX_NODE_SET, ...) to a list of arrays.
void SetFastPathObjectId(vtkIdType id)
int GetNumberOfTimeSteps()
Return the number of time steps in the open file.
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 > ×)
std::map< int, std::vector< int > > SortedObjectIndices
Maps an object type to vector of indices that reorder objects of that type by their IDs...
vtkExodusIIReader * Parent
Pointer to owning reader...
vtkTypeBool AnimateModeShapes
std::vector< vtkStdString > AttributeNames
vtkIdType AttributesPerEntry
dynamic, self-adjusting array of vtkIdType
ObjectType
Extra cell data array that can be generated.
vtkTypeBool GenerateImplicitElementIdArray
std::map< int, std::vector< std::vector< vtkIdType > > > PolyhedralFaceConnArrays
Face connectivity for polyhedra.
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.
vtkTypeBool GenerateImplicitNodeIdArray
static const char * GetGlobalVariableValuesArrayName()
float DisplacementMagnitude
double CacheSize
The size of the cache in MiB.
std::map< int, std::vector< ArrayInfoType > > InitialArrayInfo
Maps an object type (EX_ELEM_BLOCK, EX_NODE_SET, ...) to a list of arrays defined on that type...
vtkTimeStamp InformationTimeStamp
Time stamp from last time we were in RequestInformation.
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())
double ModeShapeTime
The time value.
std::vector< AssemblyInfoType > AssemblyInfo
vtkStdString Name
The name of the array.
a simple class to control print indentation
float ExodusVersion
The version of Exodus that wrote the currently open file (or a negative number otherwise).
std::map< int, std::vector< MapInfoType > > MapInfo
Maps a map type (EX_ELEM_MAP, ..., EX_NODE_MAP) to a list of maps of that type.
bool SkipUpdateTimeInformation
Read Exodus II files (.exii)
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()
std::map< vtkIdType, vtkIdType > PointMap
A map from nodal IDs in an Exodus file to nodal IDs in the output mesh.
An editable directed graph.
vtkTypeBool GenerateGlobalElementIdArray
std::map< int, std::vector< SetInfoType > > SetInfo
Maps a set type (EX_ELEM_SET, ..., EX_NODE_SET) to a list of sets of that type.
vtkExodusIIReader::ObjectType FastPathObjectType
int Status
Whether or not the array should be loaded by RequestData.
vtkStdString OriginalName
A struct to hold information about Exodus blocks.
int Id
User-assigned identification number.
A struct to hold information about Exodus blocks or sets (they have some members in common) ...
std::vector< int > BlockIndices
static const char * GetImplicitElementIdArrayName()
std::map< int, std::vector< BlockInfoType > > BlockInfo
Maps a block type (EX_ELEM_BLOCK, EX_FACE_BLOCK, ...) to a list of blocks of that type...
internal parser used by vtkExodusIIReader.
vtkTypeBool GenerateGlobalNodeIdArray
vtkTypeBool GenerateObjectIdArray
const char * GetPartBlockInfo(int arrayIdx)
By default all parts are loaded.
Read exodus 2 files .ex2.
vtkTypeBool GenerateGlobalIdArray
std::vector< vtkStdString > OriginalNames
The name of each component of the array as defined by the Exodus file.
vtkStdString Name
User-assigned name.
vtkExodusIICache * Cache
A least-recently-used cache to hold raw arrays.
std::map< vtkIdType, vtkIdType > ReversePointMap
A map from nodal ids in the output mesh to those in an Exodus file.
Composite dataset that organizes datasets into blocks.
static const char * GetGlobalNodeIdArrayName()
std::vector< int > BlockIndices
const struct ex_init_params * GetModelParams() const
int Status
Should the reader load this block?
vtkIdType FastPathObjectId
A struct to hold information about Exodus sets.
vtkTypeBool HasModeShapes
static const char * GetImplicitNodeIdArrayName()
bool ProducedFastPathOutput
A struct to hold information about Exodus blocks.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
int AppWordSize
These aren't the variables you're looking for.
int SqueezePoints
Should the reader output only points used by elements in the output mesh, or all the points...
ArraySourceTypes
Tags to indicate the source of values for an array.
int Exoid
The handle of the currently open file.
std::vector< double > Times
A list of time steps for which results variables are stored.
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.
std::vector< PartInfoType > PartInfo
vtkExodusIIReaderParser * Parser
A struct to hold information about time-varying arrays.
int GlomType
The type of "glomming" performed.
static const char * GetGlobalVariableNamesArrayName()
std::vector< int > AttributeStatus
vtkTypeBool GenerateFileIdArray