VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
vtkExodusIIReaderPrivate.h
Go to the documentation of this file.
1 #ifndef __vtkExodusIIReaderPrivate_h
2 #define __vtkExodusIIReaderPrivate_h
3 
4 // Do not include this file directly. It is only for use
5 // from inside the ExodusII reader and its descendants.
6 
7 #include "vtkToolkits.h" // make sure VTK_USE_PARALLEL is properly set
8 #include "vtkExodusIICache.h"
9 #include "vtksys/RegularExpression.hxx"
10 
11 #include <map>
12 #include <vector>
13 
14 #include "vtk_exodusII.h"
15 #include "vtkIOExodusModule.h" // For export macro
18 
23 {
24 public:
25  static vtkExodusIIReaderPrivate* New();
26  void PrintData( ostream& os, vtkIndent indent );
28  //virtual void Modified();
29 
31  int OpenFile( const char* filename );
32 
34  int CloseFile();
35 
37  int RequestInformation();
38 
41  { return this->SIL; }
42 
44  int RequestData( vtkIdType timeStep, vtkMultiBlockDataSet* output );
45 
50  int SetUpEmptyGrid( vtkMultiBlockDataSet* output );
51 
63  void Reset();
64 
69  void ResetSettings();
70 
72  void ResetCache();
73 
75  void SetCacheSize(double size);
76 
78  vtkGetMacro(CacheSize, double);
79 
84  int GetNumberOfTimeSteps() { return (int) this->Times.size(); }
85 
87  vtkGetMacro(TimeStep,int);
88 
90  vtkSetMacro(TimeStep,int);
91 
94  vtkGetMacro(SqueezePoints,int);
95 
98  void SetSqueezePoints( int sp );
99 
102  vtkBooleanMacro(SqueezePoints,int);
103 
105  int GetNumberOfNodes();
106 
111  int GetNumberOfObjectsOfType( int otype );
112 
123  int GetNumberOfObjectArraysOfType( int otype );
124 
129  const char* GetObjectName( int otype, int i );
130 
135  int GetObjectId( int otype, int i );
136 
143  int GetObjectSize( int otype, int i );
144 
149  int GetObjectStatus( int otype, int i );
150 
156  int GetUnsortedObjectStatus( int otype, int i );
157 
162  void SetObjectStatus( int otype, int i, int stat );
163 
169  void SetUnsortedObjectStatus( int otype, int i, int stat );
170 
175  const char* GetObjectArrayName( int otype, int i );
176 
181  int GetNumberOfObjectArrayComponents( int otype, int i );
182 
187  int GetObjectArrayStatus( int otype, int i );
188 
193  void SetObjectArrayStatus( int otype, int i, int stat );
194 
201  int GetNumberOfObjectAttributes( int objectType, int objectIndex );
202  const char* GetObjectAttributeName( int objectType,
203  int objectIndex,
204  int attributeIndex );
205  int GetObjectAttributeIndex( int objectType,
206  int objectIndex,
207  const char* attribName );
208  int GetObjectAttributeStatus( int objectType,
209  int objectIndex,
210  int attribIndex );
211  void SetObjectAttributeStatus( int objectType,
212  int objectIndex,
213  int attribIndex, int status );
214 
216  vtkGetMacro(GenerateObjectIdArray,int);
217  vtkSetMacro(GenerateObjectIdArray,int);
218  static const char* GetObjectIdArrayName() { return "ObjectId"; }
219 
220  vtkSetMacro(GenerateGlobalElementIdArray,int);
221  vtkGetMacro(GenerateGlobalElementIdArray,int);
222  static const char* GetGlobalElementIdArrayName() { return "GlobalElementId"; }
223 
224  vtkSetMacro(GenerateGlobalNodeIdArray,int);
225  vtkGetMacro(GenerateGlobalNodeIdArray,int);
226  static const char* GetGlobalNodeIdArrayName() { return "GlobalNodeId"; }
227 
228  vtkSetMacro(GenerateImplicitElementIdArray,int);
229  vtkGetMacro(GenerateImplicitElementIdArray,int);
230  static const char* GetImplicitElementIdArrayName() { return "ImplicitElementId"; }
231 
232  vtkSetMacro(GenerateImplicitNodeIdArray,int);
233  vtkGetMacro(GenerateImplicitNodeIdArray,int);
234  static const char* GetImplicitNodeIdArrayName() { return "ImplicitNodeId"; }
235 
239  vtkSetMacro(GenerateFileIdArray,int);
240  vtkGetMacro(GenerateFileIdArray,int);
241  static const char* GetFileIdArrayName() { return "FileId"; }
242 
244  vtkSetMacro(FileId,int);
245  vtkGetMacro(FileId,int);
246 
247  static const char *GetGlobalVariableValuesArrayName()
248  { return "GlobalVariableValues"; }
249  static const char *GetGlobalVariableNamesArrayName()
250  { return "GlobalVariableNames"; }
251 
252  virtual void SetApplyDisplacements( int d );
253  vtkGetMacro(ApplyDisplacements,int);
254 
255  virtual void SetDisplacementMagnitude( double s );
256  vtkGetMacro(DisplacementMagnitude,double);
257 
258  vtkSetMacro(HasModeShapes,int);
259  vtkGetMacro(HasModeShapes,int);
260 
261  vtkSetMacro(ModeShapeTime,double);
262  vtkGetMacro(ModeShapeTime,double);
263 
264  vtkSetMacro(AnimateModeShapes, int);
265  vtkGetMacro(AnimateModeShapes, int);
266 
267  vtkDataArray* FindDisplacementVectors( int timeStep );
268 
269  const struct ex_init_params* GetModelParams() const
270  { return &this->ModelParameters; }
271 
284  int GlomType;
289  int Source;
291  int Status;
294  std::vector<vtkStdString> OriginalNames;
297  std::vector<int> OriginalIndices;
306  std::vector<int> ObjectTruth;
308  void Reset();
309  };
310 
314  int Size;
316  int Status;
318  int Id;
321  };
322 
325  };
326 
336  std::map<vtkIdType,vtkIdType> PointMap;
341  std::map<vtkIdType,vtkIdType> ReversePointMap;
348 
349  BlockSetInfoType(){this->CachedConnectivity=0;}
350  BlockSetInfoType(const BlockSetInfoType& block);
351  ~BlockSetInfoType();
352  BlockSetInfoType& operator=(const BlockSetInfoType& block);
353  };
354 
357  vtkStdString OriginalName; // useful to reset the name if XML metadata is invalid.
359  // number of boundaries per entry
360  // The index is the dimensionality of the entry. 0=node, 1=edge, 2=face
361  int BdsPerEntry[3];
363  std::vector<vtkStdString> AttributeNames;
364  std::vector<int> AttributeStatus;
365  // VTK cell type (a function of TypeName and BdsPerEntry...)
366  int CellType;
367  // Number of points per cell as used by VTK
368  // -- not what's in the file (i.e., BdsPerEntry[0] >= PointsPerCell)
370  };
371 
373  struct PartInfoType : public ObjectInfoType {
374  std::vector<int> BlockIndices;
375  };
377  std::vector<int> BlockIndices;
378  };
380  std::vector<int> BlockIndices;
381  };
382 
384  struct SetInfoType : public BlockSetInfoType {
385  int DistFact; // Number of distribution factors
386  // (for the entire block, not per array or entry)
387  };
388 
391  enum GlomTypes {
392  Scalar=0,
393  Vector2=1,
394  Vector3=2,
395  SymmetricTensor=3,
396  // (order xx, yy, zz, xy, yz, zx)
397  IntegrationPoint=4
398  };
399 
402  Result=0,
403  // (that vary over time)
404  Attribute=1,
405  // (constants over time)
406  Map=2,
407  Generated=3
408  };
409 
412 
413  friend class vtkExodusIIReader;
414  friend class vtkPExodusIIReader;
415 
416  virtual void SetParser( vtkExodusIIReaderParser* );
418 
419  // Because Parts, Materials, and assemblies are not stored as arrays,
420  // but rather as maps to the element blocks they make up,
421  // we cannot use the Get|SetObject__() methods directly.
422 
423  int GetNumberOfParts();
424  const char* GetPartName(int idx);
425  const char* GetPartBlockInfo(int idx);
426  int GetPartStatus(int idx);
428  void SetPartStatus(int idx, int on);
429  void SetPartStatus(vtkStdString name, int flag);
430 
431  int GetNumberOfMaterials();
432  const char* GetMaterialName(int idx);
433  int GetMaterialStatus(int idx);
435  void SetMaterialStatus(int idx, int on);
436  void SetMaterialStatus(vtkStdString name, int flag);
437 
438  int GetNumberOfAssemblies();
439  const char* GetAssemblyName(int idx);
440  int GetAssemblyStatus(int idx);
442  void SetAssemblyStatus(int idx, int on);
443  void SetAssemblyStatus(vtkStdString name, int flag);
444 
446  {this->FastPathObjectType = type;};
447  void SetFastPathObjectId(vtkIdType id){this->FastPathObjectId = id;};
448  vtkSetStringMacro(FastPathIdType);
449 
450  bool IsXMLMetadataValid();
451 
459  void GetInitialObjectStatus( int otype, ObjectInfoType *info );
460 
468  void GetInitialObjectArrayStatus( int otype, ArrayInfoType *info );
469 
476  void SetInitialObjectStatus( int otype, const char *name, int stat );
477 
483  void SetInitialObjectArrayStatus( int otype, const char *name, int stat );
484 
485  int UpdateTimeInformation();
486 
488 
489 protected:
492 
494  void BuildSIL();
495 
498  int VerifyIntegrationPointGlom( int nn,
499  char** np,
500  vtksys::RegularExpression& re,
502  vtkStdString& ele );
503 
505  void GlomArrayNames( int i,
506  int num_obj,
507  int num_vars,
508  char** var_names,
509  int* truth_tab );
510 
513 
530  int otyp, int oidx, int conntypidx, BlockSetInfoType* bsinfop,
531  vtkUnstructuredGrid* output );
538  int AssembleOutputPoints( vtkIdType timeStep,
539  BlockSetInfoType* bsinfop, vtkUnstructuredGrid* output );
543  int AssembleOutputPointArrays( vtkIdType timeStep,
544  BlockSetInfoType* bsinfop, vtkUnstructuredGrid* output );
548  int AssembleOutputCellArrays( vtkIdType timeStep,
549  int otyp, int oidx, BlockSetInfoType* bsinfop, vtkUnstructuredGrid* output );
555  int otyp, int oidx, vtkUnstructuredGrid* output );
558  int otyp, int oidx, BlockSetInfoType* bsinfop, vtkUnstructuredGrid* output );
565  int AssembleOutputPointMaps( vtkIdType timeStep,
566  BlockSetInfoType* bsinfop, vtkUnstructuredGrid* output );
567  int AssembleOutputCellMaps( vtkIdType timeStep,
568  int otyp, int oidx, BlockSetInfoType* bsinfop, vtkUnstructuredGrid* output );
572 
574  void InsertBlockCells(
575  int otyp, int obj, int conn_type, int timeStep, BlockInfoType* binfop );
576 
578  void InsertSetCells(
579  int otyp, int obj, int conn_type, int timeStep, SetInfoType* sinfop );
580 
582  void AddPointArray(
584 
586  void InsertSetNodeCopies(
587  vtkIntArray* refs, int otyp, int obj, SetInfoType* sinfo );
588 
590  void InsertSetCellCopies(
591  vtkIntArray* refs, int otyp, int obj, SetInfoType* sinfo );
592 
594  void InsertSetSides(
595  vtkIntArray* refs, int otyp, int obj, SetInfoType* sinfo );
596 
603 
608  int GetConnTypeIndexFromConnType( int ctyp );
609 
614  int GetObjectTypeIndexFromObjectType( int otyp );
615 
621  int GetNumberOfObjectsAtTypeIndex( int typeIndex );
622 
630  ObjectInfoType* GetObjectInfo( int typeIndex, int objectIndex );
631 
638  ObjectInfoType* GetSortedObjectInfo( int objectType, int objectIndex );
639 
646  ObjectInfoType* GetUnsortedObjectInfo( int objectType, int objectIndex );
647 
652  int GetBlockIndexFromFileGlobalId( int otyp, int refId );
653 
658  BlockInfoType* GetBlockFromFileGlobalId( int otyp, int refId );
659 
663  vtkIdType GetSqueezePointId( BlockSetInfoType* bsinfop, int i );
664 
666  void DetermineVtkCellType( BlockInfoType& binfo );
667 
671  ArrayInfoType* FindArrayInfoByName( int otyp, const char* name );
672 
676  int IsObjectTypeBlock( int otyp );
677  int IsObjectTypeSet( int otyp );
678  int IsObjectTypeMap( int otyp );
679 
683  int GetObjectTypeFromMapType( int mtyp );
684  int GetMapTypeFromObjectType( int otyp );
685  int GetTemporalTypeFromObjectType( int otyp );
686 
690  int GetSetTypeFromSetConnType( int sctyp );
691 
695  int GetBlockConnTypeFromBlockType( int btyp );
696 
702  void RemoveBeginningAndTrailingSpaces( int len, char **names );
703 
706 
710  std::map<int,std::vector<BlockInfoType> > BlockInfo;
714  std::map<int,std::vector<SetInfoType> > SetInfo;
720  std::map<int,std::vector<MapInfoType> > MapInfo;
721 
722  std::vector<PartInfoType> PartInfo;
723  std::vector<MaterialInfoType> MaterialInfo;
724  std::vector<AssemblyInfoType> AssemblyInfo;
725 
730  std::map<int,std::vector<int> > SortedObjectIndices;
732  // defined on that type.
733  std::map<int,std::vector<ArrayInfoType> > ArrayInfo;
734 
739  std::map<int,std::vector<ArrayInfoType> > InitialArrayInfo;
740 
745  std::map<int,std::vector<ObjectInfoType> > InitialObjectInfo;
746 
750 
755 
757  int Exoid;
758 
760  struct ex_init_params ModelParameters;
761 
763  std::vector<double> Times;
764 
766  int TimeStep;
767 
772 
780 
784  int FileId;
785 
788  //
790  double CacheSize;
791 
796 
809 
814 
816 
820 
822 private:
823  vtkExodusIIReaderPrivate( const vtkExodusIIReaderPrivate& ); // Not implemented.
824  void operator = ( const vtkExodusIIReaderPrivate& ); // Not implemented.
825 };
826 
827 #endif // __vtkExodusIIReaderPrivate_h
828 // VTK-HeaderTest-Exclude: vtkExodusIIReaderPrivate.h
std::map< int, std::vector< ArrayInfoType > > ArrayInfo
Maps an object type (EX_ELEM_BLOCK, EX_NODE_SET, ...) to a list of arrays.
void InsertSetCells(int otyp, int obj, int conn_type, int timeStep, SetInfoType *sinfop)
Insert cells from a specified set into a mesh.
GLsizeiptr size
Definition: vtkgl.h:11843
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:46
std::vector< int > OriginalIndices
The index of each component of the array as ordered by the Exodus file.
std::vector< MaterialInfoType > MaterialInfo
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()
GLuint GLuint GLsizei GLenum type
Definition: vtkgl.h:11315
vtkMutableDirectedGraph * SIL
const char * GetAssemblyName(int idx)
void SetFastPathObjectType(vtkExodusIIReader::ObjectType type)
const char * GetPartName(int idx)
abstract base class for most VTK objects
Definition: vtkObject.h:61
A struct to hold information about Exodus objects (blocks, sets, maps)
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...
void InsertSetSides(vtkIntArray *refs, int otyp, int obj, SetInfoType *sinfo)
Insert cells referenced by a side set.
void SetFastPathObjectId(vtkIdType id)
int GetNumberOfTimeSteps()
Return the number of time steps in the open file.
GLsizei GLsizei GLuint * obj
Definition: vtkgl.h:11994
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...
void PrepareGeneratedArrayInfo()
Add generated array information to array info lists.
int GetMapTypeFromObjectType(int otyp)
int AssembleOutputPoints(vtkIdType timeStep, BlockSetInfoType *bsinfop, vtkUnstructuredGrid *output)
Fill the output grid's point coordinates array.
int GetObjectTypeFromMapType(int mtyp)
Given a map type (NODE_MAP, EDGE_MAP, ...) return the associated object type (NODAL, EDGE_BLOCK, ...) or vice-versa.
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:83
int GetNumberOfObjectsAtTypeIndex(int typeIndex)
Return the number of objects of the given type.
record modification and/or execution time
Definition: vtkTimeStamp.h:34
std::vector< int > ObjectTruth
A map describing which objects the variable is defined on.
A struct to hold information about Exodus maps.
BlockInfoType * GetBlockFromFileGlobalId(int otyp, int refId)
Get the block containing the entity referenced by the specified file-global ID.
GLenum GLsizei len
Definition: vtkgl.h:13010
vtkExodusIIReader * Parent
Pointer to owning reader...
void RemoveBeginningAndTrailingSpaces(int len, char **names)
Function to trim space from names retrieved with ex_get_var_names.
void DetermineVtkCellType(BlockInfoType &binfo)
Determine the VTK cell type for a given edge/face/element block.
int AssembleOutputPointArrays(vtkIdType timeStep, BlockSetInfoType *bsinfop, vtkUnstructuredGrid *output)
Add the requested arrays to the output grid's point data.
void ClearConnectivityCaches()
Delete any cached connectivity information (for all blocks and sets)
int vtkIdType
Definition: vtkType.h:268
This class holds metadata for an Exodus file.
vtkUnstructuredGrid * CachedConnectivity
Cached cell connectivity arrays for mesh.
#define vtkSetStringMacro(name)
Definition: vtkSetGet.h:94
vtkMutableDirectedGraph * GetSIL()
Returns the SIL. This valid only after BuildSIL() has been called.
void GlomArrayNames(int i, int num_obj, int num_vars, char **var_names, int *truth_tab)
Aggregate Exodus array names into VTK arrays with multiple components.
int GetBlockConnTypeFromBlockType(int btyp)
Given a block type (EDGE_BLOCK, ...), return the associated block connectivity type (EDGE_BLOCK_CONN...
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:619
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::map< int, std::vector< int > > SortedObjectIndices
Maps an object type to vector of indices that reorder objects of that type by their IDs...
static const char * GetGlobalVariableValuesArrayName()
double CacheSize
The size of the cache in MiB.
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
Definition: vtkIntArray.h:45
int AssembleOutputProceduralArrays(vtkIdType timeStep, int otyp, int oidx, vtkUnstructuredGrid *output)
Add procedurally generated arrays to an output mesh.
ObjectInfoType * GetObjectInfo(int typeIndex, int objectIndex)
Return a pointer to the ObjectInfo of the specified type and index.
int AssembleOutputGlobalArrays(vtkIdType timeStep, int otyp, int oidx, BlockSetInfoType *bsinfop, vtkUnstructuredGrid *output)
Add mesh-global field data such as QA records to the output mesh.
void BuildSIL()
Build SIL. This must be called only after RequestInformation().
static const char * GetFileIdArrayName()
GLenum src
Definition: vtkgl.h:12525
GLuint const GLchar * name
Definition: vtkgl.h:11983
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
Definition: vtkIndent.h:38
float ExodusVersion
The version of Exodus that wrote the currently open file (or a negative number otherwise).
Read Exodus II files (.exii)
int GetSetTypeFromSetConnType(int sctyp)
Given a set connectivity type (NODE_SET_CONN, ...), return the associated object type (NODE_SET...
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
Definition: vtkDataArray.h:53
static const char * GetGlobalElementIdArrayName()
void SetAssemblyStatus(int idx, int on)
const struct ex_init_params * GetModelParams() const
int TimeStep
The current time step.
An editable directed graph.
int IsObjectTypeBlock(int otyp)
Does the specified object type match? Avoid using these...
#define VTKIOEXODUS_EXPORT
int GetPartStatus(int idx)
vtkExodusIIReader::ObjectType FastPathObjectType
int Status
Whether or not the array should be loaded by RequestData.
int GetMaterialStatus(int idx)
vtkIdType GetSqueezePointId(BlockSetInfoType *bsinfop, int i)
Find or create a new SqueezePoint ID (unique sequential list of points referenced by cells in blocks/...
virtual void SetParser(vtkExodusIIReaderParser *)
#define vtkGetObjectMacro(name, type)
Definition: vtkSetGet.h:222
int IsObjectTypeSet(int otyp)
A struct to hold information about Exodus blocks.
GLuint GLuint * names
Definition: vtkgl.h:19215
void InsertSetCellCopies(vtkIntArray *refs, int otyp, int obj, SetInfoType *sinfo)
Insert cells referenced by an edge, face, or element set.
int VerifyIntegrationPointGlom(int nn, char **np, vtksys::RegularExpression &re, vtkStdString &field, vtkStdString &ele)
Returns true when order and text of names are consistent with integration points. ...
int Id
User-assigned identification number.
int AssembleOutputPointMaps(vtkIdType timeStep, BlockSetInfoType *bsinfop, vtkUnstructuredGrid *output)
Add maps to an output mesh.
int GetAssemblyStatus(int idx)
A struct to hold information about Exodus blocks or sets (they have some members in common) ...
static const char * GetImplicitElementIdArrayName()
internal parser used by vtkExodusIIReader.
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...
int AssembleOutputCellArrays(vtkIdType timeStep, int otyp, int oidx, BlockSetInfoType *bsinfop, vtkUnstructuredGrid *output)
Add the requested arrays to the output grid's cell data.
Read exodus 2 files .ex2.
std::vector< vtkStdString > OriginalNames
The name of each component of the array as defined by the Exodus file.
vtkExodusIICache * Cache
A least-recently-used cache to hold raw arrays.
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...
ObjectInfoType * GetUnsortedObjectInfo(int objectType, int objectIndex)
Return a pointer to the ObjectInfo of the specified type and index, but using indices sorted by objec...
int GetTemporalTypeFromObjectType(int otyp)
int GetConnTypeIndexFromConnType(int ctyp)
Return the index of an object type (in a private list of all object types).
Composite dataset that organizes datasets into blocks.
static const char * GetGlobalNodeIdArrayName()
void SetPartStatus(int idx, int on)
GLdouble s
Definition: vtkgl.h:11594
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.
int Status
Should the reader load this block?
#define vtkBooleanMacro(name, type)
Definition: vtkSetGet.h:234
A struct to hold information about Exodus sets.
static const char * GetImplicitNodeIdArrayName()
ObjectInfoType * GetSortedObjectInfo(int objectType, int objectIndex)
Return a pointer to the ObjectInfo of the specified type and index, but using indices sorted by objec...
A struct to hold information about Exodus blocks.
vtkDataArray * GetCacheOrRead(vtkExodusIICacheKey)
Return an array for the specified cache key.
int GetObjectTypeIndexFromObjectType(int otyp)
Return the index of an object type (in a private list of all object types).
static vtkObject * New()
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.
int AppWordSize
These aren't the variables you're looking for.
GLuint id
Definition: vtkgl.h:11834
int AssembleOutputCellMaps(vtkIdType timeStep, int otyp, int oidx, BlockSetInfoType *bsinfop, vtkUnstructuredGrid *output)
void AddPointArray(vtkDataArray *src, BlockSetInfoType *bsinfop, vtkUnstructuredGrid *output)
Add a point array to an output grid's point data, squeezing if necessary.
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.
const char * GetPartBlockInfo(int idx)
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.
int IsObjectTypeMap(int otyp)
std::vector< PartInfoType > PartInfo
vtkExodusIIReaderParser * Parser
ArrayInfoType * FindArrayInfoByName(int otyp, const char *name)
Find an ArrayInfo object for a specific object type using the name as a key.
void InsertBlockCells(int otyp, int obj, int conn_type, int timeStep, BlockInfoType *binfop)
Insert cells from a specified block into a mesh.
void SetMaterialStatus(int idx, int on)
A struct to hold information about time-varying arrays.
int AssembleOutputConnectivity(vtkIdType timeStep, int otyp, int oidx, int conntypidx, BlockSetInfoType *bsinfop, vtkUnstructuredGrid *output)
Read connectivity information and populate an unstructured grid with cells corresponding to a single ...
int GetBlockIndexFromFileGlobalId(int otyp, int refId)
Get the index of the block containing the entity referenced by the specified file-global ID...
BlockSetInfoType & operator=(const BlockSetInfoType &block)
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...
int AssembleArraysOverTime(vtkMultiBlockDataSet *output)
Add fast-path time-varying data to field data of an output block or set.
const char * GetMaterialName(int idx)
void InsertSetNodeCopies(vtkIntArray *refs, int otyp, int obj, SetInfoType *sinfo)
Insert cells referenced by a node set.
#define vtkSetMacro(name, type)
Definition: vtkSetGet.h:69