VTK
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Friends
vtkExodusIIReaderPrivate Class Reference

This class holds metadata for an Exodus file. More...

#include <vtkExodusIIReaderPrivate.h>

Inheritance diagram for vtkExodusIIReaderPrivate:
Inheritance graph
[legend]
Collaboration diagram for vtkExodusIIReaderPrivate:
Collaboration graph
[legend]

List of all members.

Classes

struct  ArrayInfoType
 A struct to hold information about time-varying arrays. More...
struct  AssemblyInfoType
struct  BlockInfoType
 A struct to hold information about Exodus blocks. More...
struct  BlockSetInfoType
 A struct to hold information about Exodus blocks or sets (they have some members in common) More...
struct  MapInfoType
 A struct to hold information about Exodus maps. More...
struct  MaterialInfoType
struct  ObjectInfoType
 A struct to hold information about Exodus objects (blocks, sets, maps) More...
struct  PartInfoType
 A struct to hold information about Exodus blocks. More...
struct  SetInfoType
 A struct to hold information about Exodus sets. More...

Public Types

enum  GlomTypes {
  Scalar = 0, Vector2 = 1, Vector3 = 2, SymmetricTensor = 3,
  IntegrationPoint = 4
}
 Tags to indicate how single-component Exodus arrays are glommed (aggregated) into multi-component VTK arrays. More...
enum  ArraySourceTypes { Result = 0, Attribute = 1, Map = 2, Generated = 3 }
 Tags to indicate the source of values for an array. More...
typedef vtkObject Superclass

Public Member Functions

void PrintData (ostream &os, vtkIndent indent)
virtual int IsA (const char *type)
vtkExodusIIReaderPrivateNewInstance () const
int OpenFile (const char *filename)
 Open an ExodusII file for reading. Returns 0 on success.
int CloseFile ()
 Close any ExodusII file currently open for reading. Returns 0 on success.
int RequestInformation ()
 Get metadata for an open file with handle exoid.
vtkMutableDirectedGraphGetSIL ()
 Returns the SIL. This valid only after BuildSIL() has been called.
int RequestData (vtkIdType timeStep, vtkMultiBlockDataSet *output)
 Read requested data and store in unstructured grid.
int SetUpEmptyGrid (vtkMultiBlockDataSet *output)
 Description: Prepare a data set with the proper structure and arrays but no cells.
void Reset ()
 Reset the class so that another file may be read.
void ResetSettings ()
 Return user-specified variables to their default values.
void ResetCache ()
 Clears out any data in the cache and restores it to its initial state.
void SetCacheSize (double size)
 Set the size of the cache in MiB.
virtual double GetCacheSize ()
 Get the size of the cache in MiB.
int GetNumberOfTimeSteps ()
 Return the number of time steps in the open file.
virtual int GetTimeStep ()
 Return the current time step.
virtual void SetTimeStep (int)
 Set the current time step for subsequent calls to RequestData().
virtual int GetSqueezePoints ()
 Return whether subsequent RequestData() calls will produce the minimal point set required to represent the output.
void SetSqueezePoints (int sp)
 Set whether subsequent RequestData() calls will produce the minimal point set required to represent the output.
virtual void SqueezePointsOn ()
 Convenience routines that for producing (or not) the minimal point set required to represent the output.
virtual void SqueezePointsOff ()
int GetNumberOfNodes ()
 Return the number of nodes in the output (depends on SqueezePoints)
int GetNumberOfObjectsOfType (int otype)
 Returns the number of objects of a given type (e.g., EX_ELEM_BLOCK, EX_NODE_SET, ...).
int GetNumberOfObjectArraysOfType (int otype)
 Returns the number of arrays defined over objects of a given type (e.g., EX_ELEM_BLOCK, EX_NODE_SET, ...).
const char * GetObjectName (int otype, int i)
 For a given object type, returns the name of the i-th object.
int GetObjectId (int otype, int i)
 For a given object type, return the user-assigned ID of the i-th object.
int GetObjectSize (int otype, int i)
 For a given object type, return the size of the i-th object.
int GetObjectStatus (int otype, int i)
 For a given object type, returns the status of the i-th object.
int GetUnsortedObjectStatus (int otype, int i)
 For a given object type, returns the status of the i-th object, where i is an index into the unsorted object array.
void SetObjectStatus (int otype, int i, int stat)
 For a given object type, sets the status of the i-th object.
void SetUnsortedObjectStatus (int otype, int i, int stat)
 For a given object type, sets the status of the i-th object, where i is an index into the unsorted object array.
const char * GetObjectArrayName (int otype, int i)
 For a given object type, returns the name of the i-th array.
int GetNumberOfObjectArrayComponents (int otype, int i)
 For a given object type, returns the number of components of the i-th array.
int GetObjectArrayStatus (int otype, int i)
 For a given object type, returns the status of the i-th array.
void SetObjectArrayStatus (int otype, int i, int stat)
 For a given object type, sets the status of the i-th array.
int GetNumberOfObjectAttributes (int objectType, int objectIndex)
 Unlike object arrays, attributes are only defined over blocks (not sets) and are defined on a per-block (not a per-block-type) basis.
const char * GetObjectAttributeName (int objectType, int objectIndex, int attributeIndex)
int GetObjectAttributeIndex (int objectType, int objectIndex, const char *attribName)
int GetObjectAttributeStatus (int objectType, int objectIndex, int attribIndex)
void SetObjectAttributeStatus (int objectType, int objectIndex, int attribIndex, int status)
virtual int GetGenerateObjectIdArray ()
 Generate an array containing the block or set ID associated with each cell.
virtual void SetGenerateObjectIdArray (int)
virtual void SetGenerateGlobalElementIdArray (int)
virtual int GetGenerateGlobalElementIdArray ()
virtual void SetGenerateGlobalNodeIdArray (int)
virtual int GetGenerateGlobalNodeIdArray ()
virtual void SetGenerateImplicitElementIdArray (int)
virtual int GetGenerateImplicitElementIdArray ()
virtual void SetGenerateImplicitNodeIdArray (int)
virtual int GetGenerateImplicitNodeIdArray ()
virtual void SetGenerateFileIdArray (int)
 Should we generate an array defined over all cells (whether they are members of blocks or sets) indicating the source file?
virtual int GetGenerateFileIdArray ()
virtual void SetFileId (int)
 Set/get the number that identifies this file in a series of files (defaults to 0).
virtual int GetFileId ()
virtual void SetApplyDisplacements (int d)
virtual int GetApplyDisplacements ()
virtual void SetDisplacementMagnitude (double s)
virtual double GetDisplacementMagnitude ()
virtual void SetHasModeShapes (int)
virtual int GetHasModeShapes ()
virtual void SetModeShapeTime (double)
virtual double GetModeShapeTime ()
virtual void SetAnimateModeShapes (int)
virtual int GetAnimateModeShapes ()
vtkDataArrayFindDisplacementVectors (int timeStep)
struct ex_init_params * GetModelParams () const
virtual void SetParser (vtkExodusIIReaderParser *)
virtual vtkExodusIIReaderParserGetParser ()
int GetNumberOfParts ()
const char * GetPartName (int idx)
const char * GetPartBlockInfo (int idx)
int GetPartStatus (int idx)
int GetPartStatus (vtkStdString name)
void SetPartStatus (int idx, int on)
void SetPartStatus (vtkStdString name, int flag)
int GetNumberOfMaterials ()
const char * GetMaterialName (int idx)
int GetMaterialStatus (int idx)
int GetMaterialStatus (vtkStdString name)
void SetMaterialStatus (int idx, int on)
void SetMaterialStatus (vtkStdString name, int flag)
int GetNumberOfAssemblies ()
const char * GetAssemblyName (int idx)
int GetAssemblyStatus (int idx)
int GetAssemblyStatus (vtkStdString name)
void SetAssemblyStatus (int idx, int on)
void SetAssemblyStatus (vtkStdString name, int flag)
void SetFastPathObjectType (vtkExodusIIReader::ObjectType type)
void SetFastPathObjectId (vtkIdType id)
virtual void SetFastPathIdType (const char *)
bool IsXMLMetadataValid ()
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, or if the name is empty, then of the same id as "info".
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, or if the name is empty, then of the same id as "info".
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.
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 ()

Static Public Member Functions

static vtkExodusIIReaderPrivateNew ()
static int IsTypeOf (const char *type)
static vtkExodusIIReaderPrivateSafeDownCast (vtkObjectBase *o)
static const char * GetObjectIdArrayName ()
static const char * GetGlobalElementIdArrayName ()
static const char * GetGlobalNodeIdArrayName ()
static const char * GetImplicitElementIdArrayName ()
static const char * GetImplicitNodeIdArrayName ()
static const char * GetFileIdArrayName ()
static const char * GetGlobalVariableValuesArrayName ()
static const char * GetGlobalVariableNamesArrayName ()

Public Attributes

vtkTimeStamp InformationTimeStamp
 Time stamp from last time we were in RequestInformation.
bool ProducedFastPathOutput

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkExodusIIReaderPrivate ()
 ~vtkExodusIIReaderPrivate ()
void BuildSIL ()
 Build SIL. This must be called only after RequestInformation().
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.
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.
void PrepareGeneratedArrayInfo ()
 Add generated array information to array info lists.
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 block or set.
int AssembleOutputPoints (vtkIdType timeStep, BlockSetInfoType *bsinfop, vtkUnstructuredGrid *output)
 Fill the output grid's point coordinates array.
int AssembleOutputPointArrays (vtkIdType timeStep, BlockSetInfoType *bsinfop, vtkUnstructuredGrid *output)
 Add the requested arrays to the output grid's point data.
int AssembleOutputCellArrays (vtkIdType timeStep, int otyp, int oidx, BlockSetInfoType *bsinfop, vtkUnstructuredGrid *output)
 Add the requested arrays to the output grid's cell data.
int AssembleOutputProceduralArrays (vtkIdType timeStep, int otyp, int oidx, vtkUnstructuredGrid *output)
 Add procedurally generated arrays to an output mesh.
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.
int AssembleOutputPointMaps (vtkIdType timeStep, BlockSetInfoType *bsinfop, vtkUnstructuredGrid *output)
 Add maps to an output mesh.
int AssembleOutputCellMaps (vtkIdType timeStep, int otyp, int oidx, BlockSetInfoType *bsinfop, vtkUnstructuredGrid *output)
int AssembleArraysOverTime (vtkMultiBlockDataSet *output)
 Add fast-path time-varying data to field data of an output block or set.
void InsertBlockCells (int otyp, int obj, int conn_type, int timeStep, BlockInfoType *binfop)
 Insert cells from a specified block into a mesh.
void InsertSetCells (int otyp, int obj, int conn_type, int timeStep, SetInfoType *sinfop)
 Insert cells from a specified set into a mesh.
void AddPointArray (vtkDataArray *src, BlockSetInfoType *bsinfop, vtkUnstructuredGrid *output)
 Add a point array to an output grid's point data, squeezing if necessary.
void InsertSetNodeCopies (vtkIntArray *refs, int otyp, int obj, SetInfoType *sinfo)
 Insert cells referenced by a node set.
void InsertSetCellCopies (vtkIntArray *refs, int otyp, int obj, SetInfoType *sinfo)
 Insert cells referenced by an edge, face, or element set.
void InsertSetSides (vtkIntArray *refs, int otyp, int obj, SetInfoType *sinfo)
 Insert cells referenced by a side set.
vtkDataArrayGetCacheOrRead (vtkExodusIICacheKey)
 Return an array for the specified cache key.
int GetConnTypeIndexFromConnType (int ctyp)
 Return the index of an object type (in a private list of all object types).
int GetObjectTypeIndexFromObjectType (int otyp)
 Return the index of an object type (in a private list of all object types).
int GetNumberOfObjectsAtTypeIndex (int typeIndex)
 Return the number of objects of the given type.
ObjectInfoTypeGetObjectInfo (int typeIndex, int objectIndex)
 Return a pointer to the ObjectInfo of the specified type and index.
ObjectInfoTypeGetSortedObjectInfo (int objectType, int objectIndex)
 Return a pointer to the ObjectInfo of the specified type and index, but using indices sorted by object ID.
ObjectInfoTypeGetUnsortedObjectInfo (int objectType, int objectIndex)
 Return a pointer to the ObjectInfo of the specified type and index, but using indices sorted by object ID.
int GetBlockIndexFromFileGlobalId (int otyp, int refId)
 Get the index of the block containing the entity referenced by the specified file-global ID.
BlockInfoTypeGetBlockFromFileGlobalId (int otyp, int refId)
 Get the block containing the entity referenced by the specified file-global ID.
vtkIdType GetSqueezePointId (BlockSetInfoType *bsinfop, int i)
 Find or create a new SqueezePoint ID (unique sequential list of points referenced by cells in blocks/sets with Status == 1)
void DetermineVtkCellType (BlockInfoType &binfo)
 Determine the VTK cell type for a given edge/face/element block.
ArrayInfoTypeFindArrayInfoByName (int otyp, const char *name)
 Find an ArrayInfo object for a specific object type using the name as a key.
int IsObjectTypeBlock (int otyp)
 Does the specified object type match? Avoid using these...
int IsObjectTypeSet (int otyp)
int IsObjectTypeMap (int otyp)
int GetObjectTypeFromMapType (int mtyp)
 Given a map type (NODE_MAP, EDGE_MAP, ...) return the associated object type (NODAL, EDGE_BLOCK, ...) or vice-versa.
int GetMapTypeFromObjectType (int otyp)
int GetTemporalTypeFromObjectType (int otyp)
int GetSetTypeFromSetConnType (int sctyp)
 Given a set connectivity type (NODE_SET_CONN, ...), return the associated object type (NODE_SET, ...) or vice-versa.
int GetBlockConnTypeFromBlockType (int btyp)
 Given a block type (EDGE_BLOCK, ...), return the associated block connectivity type (EDGE_BLOCK_CONN, ...) or vice-versa.
void RemoveBeginningAndTrailingSpaces (int len, char **names)
 Function to trim space from names retrieved with ex_get_var_names.
void ClearConnectivityCaches ()
 Delete any cached connectivity information (for all blocks and sets)

Protected Attributes

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.
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.
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.
std::vector< PartInfoTypePartInfo
std::vector< MaterialInfoTypeMaterialInfo
std::vector< AssemblyInfoTypeAssemblyInfo
std::map< int, std::vector< int > > SortedObjectIndices
 Maps an object type to vector of indices that reorder objects of that type by their IDs.
std::map< int, std::vector
< ArrayInfoType > > 
ArrayInfo
 Maps an object type (EX_ELEM_BLOCK, EX_NODE_SET, ...) to a list of arrays.
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.
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.
int AppWordSize
 These aren't the variables you're looking for.
int DiskWordSize
float ExodusVersion
 The version of Exodus that wrote the currently open file (or a negative number otherwise).
int Exoid
 The handle of the currently open file.
struct ex_init_params ModelParameters
 Parameters describing the currently open Exodus file.
std::vector< doubleTimes
 A list of time steps for which results variables are stored.
int TimeStep
 The current time step.
double ModeShapeTime
 The time value.
int GenerateObjectIdArray
int GenerateGlobalIdArray
int GenerateFileIdArray
int GenerateGlobalElementIdArray
int GenerateGlobalNodeIdArray
int GenerateImplicitElementIdArray
int GenerateImplicitNodeIdArray
int FileId
 Defaults to 0.
vtkExodusIICacheCache
 A least-recently-used cache to hold raw arrays.
double CacheSize
 The size of the cache in MiB.
int ApplyDisplacements
float DisplacementMagnitude
int HasModeShapes
int AnimateModeShapes
int SqueezePoints
 Should the reader output only points used by elements in the output mesh, or all the points.
vtkExodusIIReaderParent
 Pointer to owning reader...
vtkExodusIIReaderParserParser
vtkExodusIIReader::ObjectType FastPathObjectType
vtkIdType FastPathObjectId
char * FastPathIdType
vtkMutableDirectedGraphSIL

Friends

class vtkExodusIIReader
class vtkPExodusIIReader

Detailed Description

This class holds metadata for an Exodus file.

Definition at line 22 of file vtkExodusIIReaderPrivate.h.


Member Typedef Documentation

Reimplemented from vtkObject.

Definition at line 27 of file vtkExodusIIReaderPrivate.h.


Member Enumeration Documentation

Tags to indicate how single-component Exodus arrays are glommed (aggregated) into multi-component VTK arrays.

Enumerator:
Scalar 

The array is a scalar.

Vector2 

The array is a 2-D vector.

Vector3 

The array is a 3-D vector.

SymmetricTensor 

The array is a symmetric tensor.

IntegrationPoint 

The array is a set of integration point values.

Definition at line 390 of file vtkExodusIIReaderPrivate.h.

Tags to indicate the source of values for an array.

Enumerator:
Result 

The array is composed of results variables.

Attribute 

The array is composed of attributes.

Map 

The array has a corresponding entry in MapInfo.

Generated 

The array is procedurally generated (e.g., BlockId)

Definition at line 400 of file vtkExodusIIReaderPrivate.h.


Constructor & Destructor Documentation


Member Function Documentation

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkObject.

void vtkExodusIIReaderPrivate::PrintData ( ostream &  os,
vtkIndent  indent 
)
static int vtkExodusIIReaderPrivate::IsTypeOf ( const char *  name) [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

virtual int vtkExodusIIReaderPrivate::IsA ( const char *  name) [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

Reimplemented from vtkObject.

virtual vtkObjectBase* vtkExodusIIReaderPrivate::NewInstanceInternal ( ) const [protected, virtual]

Reimplemented from vtkObject.

Reimplemented from vtkObject.

int vtkExodusIIReaderPrivate::OpenFile ( const char *  filename)

Open an ExodusII file for reading. Returns 0 on success.

Close any ExodusII file currently open for reading. Returns 0 on success.

Get metadata for an open file with handle exoid.

Returns the SIL. This valid only after BuildSIL() has been called.

Definition at line 40 of file vtkExodusIIReaderPrivate.h.

Read requested data and store in unstructured grid.

Description: Prepare a data set with the proper structure and arrays but no cells.

This is used by the parallel reader when a process has no files assigned to it.

Reset the class so that another file may be read.

This does not change any user-specified parameters, such as which generated arrays should be present, whether there are mode shapes or time steps, etc. Note that which arrays should be loaded is a more delicate issue; if you set these after RequestInformation has been called, these will not be saved. Any settings you make before RequestInformation is called will be saved because they are stored in InitialArrayInfo and InitialObjectInfo.

Return user-specified variables to their default values.

Calling ResetSettings() and then Reset() will return the class to a state just like it was after New() was called.

Clears out any data in the cache and restores it to its initial state.

Set the size of the cache in MiB.

Get the size of the cache in MiB.

Return the number of time steps in the open file.

You must have called RequestInformation() before invoking this member function.

Definition at line 84 of file vtkExodusIIReaderPrivate.h.

Return the current time step.

virtual void vtkExodusIIReaderPrivate::SetTimeStep ( int  ) [virtual]

Set the current time step for subsequent calls to RequestData().

Return whether subsequent RequestData() calls will produce the minimal point set required to represent the output.

Set whether subsequent RequestData() calls will produce the minimal point set required to represent the output.

virtual void vtkExodusIIReaderPrivate::SqueezePointsOn ( ) [virtual]

Convenience routines that for producing (or not) the minimal point set required to represent the output.

virtual void vtkExodusIIReaderPrivate::SqueezePointsOff ( ) [virtual]

Return the number of nodes in the output (depends on SqueezePoints)

Returns the number of objects of a given type (e.g., EX_ELEM_BLOCK, EX_NODE_SET, ...).

You must have called RequestInformation before invoking this member function.

Returns the number of arrays defined over objects of a given type (e.g., EX_ELEM_BLOCK, EX_NODE_SET, ...).

You must have called RequestInformation before invoking this member function.

N.B.: This method will eventually disappear. Really, what we should be providing is an interface to query the arrays defined on a particular object, not a class of objects. However, until the reader outputs multiblock datasets, we can't be that specific.

const char* vtkExodusIIReaderPrivate::GetObjectName ( int  otype,
int  i 
)

For a given object type, returns the name of the i-th object.

You must have called RequestInformation before invoking this member function.

For a given object type, return the user-assigned ID of the i-th object.

You must have called RequestInformation before invoking this member function.

For a given object type, return the size of the i-th object.

The size is the number of entries. As an example, for an element block, it is the number of elements. You must have called RequestInformation before invoking this member function.

For a given object type, returns the status of the i-th object.

You must have called RequestInformation before invoking this member function.

For a given object type, returns the status of the i-th object, where i is an index into the unsorted object array.

You must have called RequestInformation before invoking this member function.

void vtkExodusIIReaderPrivate::SetObjectStatus ( int  otype,
int  i,
int  stat 
)

For a given object type, sets the status of the i-th object.

You must have called RequestInformation before invoking this member function.

For a given object type, sets the status of the i-th object, where i is an index into the unsorted object array.

You must have called RequestInformation before invoking this member function.

const char* vtkExodusIIReaderPrivate::GetObjectArrayName ( int  otype,
int  i 
)

For a given object type, returns the name of the i-th array.

You must have called RequestInformation before invoking this member function.

For a given object type, returns the number of components of the i-th array.

You must have called RequestInformation before invoking this member function.

For a given object type, returns the status of the i-th array.

You must have called RequestInformation before invoking this member function.

void vtkExodusIIReaderPrivate::SetObjectArrayStatus ( int  otype,
int  i,
int  stat 
)

For a given object type, sets the status of the i-th array.

You must have called RequestInformation before invoking this member function.

Unlike object arrays, attributes are only defined over blocks (not sets) and are defined on a per-block (not a per-block-type) basis.

In other words, there is no truth table for attributes. This means the interface is different because each block can have a different number of attributes with different names.

const char* vtkExodusIIReaderPrivate::GetObjectAttributeName ( int  objectType,
int  objectIndex,
int  attributeIndex 
)
int vtkExodusIIReaderPrivate::GetObjectAttributeIndex ( int  objectType,
int  objectIndex,
const char *  attribName 
)
int vtkExodusIIReaderPrivate::GetObjectAttributeStatus ( int  objectType,
int  objectIndex,
int  attribIndex 
)
void vtkExodusIIReaderPrivate::SetObjectAttributeStatus ( int  objectType,
int  objectIndex,
int  attribIndex,
int  status 
)

Generate an array containing the block or set ID associated with each cell.

static const char* vtkExodusIIReaderPrivate::GetObjectIdArrayName ( ) [inline, static]

Definition at line 218 of file vtkExodusIIReaderPrivate.h.

static const char* vtkExodusIIReaderPrivate::GetGlobalElementIdArrayName ( ) [inline, static]

Definition at line 222 of file vtkExodusIIReaderPrivate.h.

static const char* vtkExodusIIReaderPrivate::GetGlobalNodeIdArrayName ( ) [inline, static]

Definition at line 226 of file vtkExodusIIReaderPrivate.h.

static const char* vtkExodusIIReaderPrivate::GetImplicitElementIdArrayName ( ) [inline, static]

Definition at line 230 of file vtkExodusIIReaderPrivate.h.

static const char* vtkExodusIIReaderPrivate::GetImplicitNodeIdArrayName ( ) [inline, static]

Definition at line 234 of file vtkExodusIIReaderPrivate.h.

Should we generate an array defined over all cells (whether they are members of blocks or sets) indicating the source file?

static const char* vtkExodusIIReaderPrivate::GetFileIdArrayName ( ) [inline, static]

Definition at line 241 of file vtkExodusIIReaderPrivate.h.

virtual void vtkExodusIIReaderPrivate::SetFileId ( int  ) [virtual]

Set/get the number that identifies this file in a series of files (defaults to 0).

static const char* vtkExodusIIReaderPrivate::GetGlobalVariableValuesArrayName ( ) [inline, static]

Definition at line 247 of file vtkExodusIIReaderPrivate.h.

static const char* vtkExodusIIReaderPrivate::GetGlobalVariableNamesArrayName ( ) [inline, static]

Definition at line 249 of file vtkExodusIIReaderPrivate.h.

virtual void vtkExodusIIReaderPrivate::SetHasModeShapes ( int  ) [virtual]
virtual void vtkExodusIIReaderPrivate::SetModeShapeTime ( double  ) [virtual]
struct ex_init_params* vtkExodusIIReaderPrivate::GetModelParams ( ) const [inline, read]

Definition at line 269 of file vtkExodusIIReaderPrivate.h.

Definition at line 444 of file vtkExodusIIReaderPrivate.h.

Definition at line 446 of file vtkExodusIIReaderPrivate.h.

virtual void vtkExodusIIReaderPrivate::SetFastPathIdType ( const char *  ) [virtual]

For a given object type, looks for an object in the collection of initial objects of the same name, or if the name is empty, then of the same id as "info".

If found, info's Status is set to the status of the found object. You DO NOT need to have called RequestInformation before invoking this member function.

For a given array type, looks for an object in the collection of initial objects of the same name, or if the name is empty, then of the same id as "info".

If found, info's Status is set to the status of the found object. You DO NOT need to have called RequestInformation before invoking this member function.

void vtkExodusIIReaderPrivate::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.

If the name contains a "ID: %d" substring, then it is used to initialize the ObjectInfoType.Id value. You DO NOT need to have called RequestInformation before invoking this member function.

void vtkExodusIIReaderPrivate::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.

You DO NOT need to have called RequestInformation before invoking this member function.

void vtkExodusIIReaderPrivate::BuildSIL ( ) [protected]

Build SIL. This must be called only after RequestInformation().

int vtkExodusIIReaderPrivate::VerifyIntegrationPointGlom ( int  nn,
char **  np,
vtksys::RegularExpression &  re,
vtkStdString field,
vtkStdString ele 
) [protected]

Returns true when order and text of names are consistent with integration points.

Called from GlomArrayNames().

void vtkExodusIIReaderPrivate::GlomArrayNames ( int  i,
int  num_obj,
int  num_vars,
char **  var_names,
int truth_tab 
) [protected]

Aggregate Exodus array names into VTK arrays with multiple components.

Add generated array information to array info lists.

int vtkExodusIIReaderPrivate::AssembleOutputConnectivity ( vtkIdType  timeStep,
int  otyp,
int  oidx,
int  conntypidx,
BlockSetInfoType bsinfop,
vtkUnstructuredGrid output 
) [protected]

Read connectivity information and populate an unstructured grid with cells corresponding to a single block or set.

If the connectivity hasn't changed since the last time RequestData was called, this copies a cache to the output.

Otherwise, this routine iterates over all block and set types. For each type, it iterates over all objects of that type. For each object whose status is 1, it reads that object's connectivity entries from cache or disk and inserts cells into CachedConnectivity. If SqueezePoints is on, then connectivity entries are translated as required and PointMap is populated. Finally, CachedConnectivity is shallow-copied to the output.

AssembleOutputConnectivity returns 1 if cache was used, 0 otherwise.

Fill the output grid's point coordinates array.

Returns 1 on success, 0 on failure. Failure occurs when the Exodus library is unable to read the point coordindates array. This can be caused when there is not enough memory or there is a file I/O problem.

Add the requested arrays to the output grid's point data.

This adds time-varying results arrays to the grid's vtkPointData object.

int vtkExodusIIReaderPrivate::AssembleOutputCellArrays ( vtkIdType  timeStep,
int  otyp,
int  oidx,
BlockSetInfoType bsinfop,
vtkUnstructuredGrid output 
) [protected]

Add the requested arrays to the output grid's cell data.

This adds time-varying results arrays to the grid's vtkCellData object.

int vtkExodusIIReaderPrivate::AssembleOutputProceduralArrays ( vtkIdType  timeStep,
int  otyp,
int  oidx,
vtkUnstructuredGrid output 
) [protected]

Add procedurally generated arrays to an output mesh.

Currently, the only array that is procedurally generated is the object id array. Others may be added in the future.

int vtkExodusIIReaderPrivate::AssembleOutputGlobalArrays ( vtkIdType  timeStep,
int  otyp,
int  oidx,
BlockSetInfoType bsinfop,
vtkUnstructuredGrid output 
) [protected]

Add mesh-global field data such as QA records to the output mesh.

Add maps to an output mesh.

Maps are special integer arrays that may serve as GlobalId fields in vtkDataSetAttributes objects. Maps may be procedurally generated if no map is contained in a file. Maps are not time-varying.

int vtkExodusIIReaderPrivate::AssembleOutputCellMaps ( vtkIdType  timeStep,
int  otyp,
int  oidx,
BlockSetInfoType bsinfop,
vtkUnstructuredGrid output 
) [protected]

Add fast-path time-varying data to field data of an output block or set.

void vtkExodusIIReaderPrivate::InsertBlockCells ( int  otyp,
int  obj,
int  conn_type,
int  timeStep,
BlockInfoType binfop 
) [protected]

Insert cells from a specified block into a mesh.

void vtkExodusIIReaderPrivate::InsertSetCells ( int  otyp,
int  obj,
int  conn_type,
int  timeStep,
SetInfoType sinfop 
) [protected]

Insert cells from a specified set into a mesh.

void vtkExodusIIReaderPrivate::AddPointArray ( vtkDataArray src,
BlockSetInfoType bsinfop,
vtkUnstructuredGrid output 
) [protected]

Add a point array to an output grid's point data, squeezing if necessary.

void vtkExodusIIReaderPrivate::InsertSetNodeCopies ( vtkIntArray refs,
int  otyp,
int  obj,
SetInfoType sinfo 
) [protected]

Insert cells referenced by a node set.

void vtkExodusIIReaderPrivate::InsertSetCellCopies ( vtkIntArray refs,
int  otyp,
int  obj,
SetInfoType sinfo 
) [protected]

Insert cells referenced by an edge, face, or element set.

void vtkExodusIIReaderPrivate::InsertSetSides ( vtkIntArray refs,
int  otyp,
int  obj,
SetInfoType sinfo 
) [protected]

Insert cells referenced by a side set.

Return an array for the specified cache key.

If the array was not cached, read it from the file. This function can still return 0 if you are foolish enough to request an array not present in the file, grasshopper.

Return the index of an object type (in a private list of all object types).

This returns a 0-based index if the object type was found and -1 if it was not.

Return the index of an object type (in a private list of all object types).

This returns a 0-based index if the object type was found and -1 if it was not.

Return the number of objects of the given type.

The integer typeIndex is not the type of the object (e.g., EX_ELEM_BLOCK), but is rather the index into the list of all object types (see obj_types in vtkExodusIIReader.cxx).

ObjectInfoType* vtkExodusIIReaderPrivate::GetObjectInfo ( int  typeIndex,
int  objectIndex 
) [protected]

Return a pointer to the ObjectInfo of the specified type and index.

The integer typeIndex is not the type of the object (e.g., EX_ELEM_BLOCK), but is rather the index into the list of all object types (see obj_types in vtkExodusIIReader.cxx). The integer objectIndex is not the ID of the object (i.e., the ID stored in the Exodus file), but is rather the index into the list of all objects of the given type.

ObjectInfoType* vtkExodusIIReaderPrivate::GetSortedObjectInfo ( int  objectType,
int  objectIndex 
) [protected]

Return a pointer to the ObjectInfo of the specified type and index, but using indices sorted by object ID.

This is the same as GetObjectInfo() except that it uses the SortedObjectIndices member to permute the requested objectIndex and it takes an object type (e.g., EX_ELEM_BLOCK) rather than an object type index.

ObjectInfoType* vtkExodusIIReaderPrivate::GetUnsortedObjectInfo ( int  objectType,
int  objectIndex 
) [protected]

Return a pointer to the ObjectInfo of the specified type and index, but using indices sorted by object ID.

This is the same as GetSortedObjectInfo() except that objectIndex directly indexes the object info array rather SortedObjectIndices, and it takes an object type (e.g., EX_ELEM_BLOCK) rather than an object type index.

Get the index of the block containing the entity referenced by the specified file-global ID.

In this case, an entity is an edge, face, or element.

Get the block containing the entity referenced by the specified file-global ID.

In this case, an entity is an edge, face, or element.

Find or create a new SqueezePoint ID (unique sequential list of points referenced by cells in blocks/sets with Status == 1)

Determine the VTK cell type for a given edge/face/element block.

ArrayInfoType* vtkExodusIIReaderPrivate::FindArrayInfoByName ( int  otyp,
const char *  name 
) [protected]

Find an ArrayInfo object for a specific object type using the name as a key.

Does the specified object type match? Avoid using these...

they aren't robust against new types being implemented.

Given a map type (NODE_MAP, EDGE_MAP, ...) return the associated object type (NODAL, EDGE_BLOCK, ...) or vice-versa.

Given a set connectivity type (NODE_SET_CONN, ...), return the associated object type (NODE_SET, ...) or vice-versa.

Given a block type (EDGE_BLOCK, ...), return the associated block connectivity type (EDGE_BLOCK_CONN, ...) or vice-versa.

void vtkExodusIIReaderPrivate::RemoveBeginningAndTrailingSpaces ( int  len,
char **  names 
) [protected]

Function to trim space from names retrieved with ex_get_var_names.

This was added because some meshes had displacement arrays named "DISPX ", "DISPY ", "DISPZ " (note trailing spaces), which prevented glomming and use of the vector field for displacements.

Delete any cached connectivity information (for all blocks and sets)


Friends And Related Function Documentation

friend class vtkExodusIIReader [friend]

Definition at line 412 of file vtkExodusIIReaderPrivate.h.

friend class vtkPExodusIIReader [friend]

Definition at line 413 of file vtkExodusIIReaderPrivate.h.


Member Data Documentation

Time stamp from last time we were in RequestInformation.

Definition at line 410 of file vtkExodusIIReaderPrivate.h.

Definition at line 486 of file vtkExodusIIReaderPrivate.h.

std::map<int,std::vector<BlockInfoType> > vtkExodusIIReaderPrivate::BlockInfo [protected]

Maps a block type (EX_ELEM_BLOCK, EX_FACE_BLOCK, ...) to a list of blocks of that type.

Definition at line 709 of file vtkExodusIIReaderPrivate.h.

std::map<int,std::vector<SetInfoType> > vtkExodusIIReaderPrivate::SetInfo [protected]

Maps a set type (EX_ELEM_SET, ..., EX_NODE_SET) to a list of sets of that type.

Definition at line 713 of file vtkExodusIIReaderPrivate.h.

std::map<int,std::vector<MapInfoType> > vtkExodusIIReaderPrivate::MapInfo [protected]

Maps a map type (EX_ELEM_MAP, ..., EX_NODE_MAP) to a list of maps of that type.

In old-style files, the only entries will be a single node and a single element map which have no specified ID number or name. In that case, an ID of 0 and a name of "Default" will be given to both.

Definition at line 719 of file vtkExodusIIReaderPrivate.h.

Definition at line 721 of file vtkExodusIIReaderPrivate.h.

Definition at line 722 of file vtkExodusIIReaderPrivate.h.

Definition at line 723 of file vtkExodusIIReaderPrivate.h.

std::map<int,std::vector<int> > vtkExodusIIReaderPrivate::SortedObjectIndices [protected]

Maps an object type to vector of indices that reorder objects of that type by their IDs.

This is used by the user interface to access blocks, sets, and maps in ascending order. It is not used internally.

Definition at line 729 of file vtkExodusIIReaderPrivate.h.

std::map<int,std::vector<ArrayInfoType> > vtkExodusIIReaderPrivate::ArrayInfo [protected]

Maps an object type (EX_ELEM_BLOCK, EX_NODE_SET, ...) to a list of arrays.

Definition at line 732 of file vtkExodusIIReaderPrivate.h.

std::map<int,std::vector<ArrayInfoType> > vtkExodusIIReaderPrivate::InitialArrayInfo [protected]

Maps an object type (EX_ELEM_BLOCK, EX_NODE_SET, ...) to a list of arrays defined on that type.

Used to store initial status of arrays before RequestInformation can be called.

Definition at line 738 of file vtkExodusIIReaderPrivate.h.

std::map<int,std::vector<ObjectInfoType> > vtkExodusIIReaderPrivate::InitialObjectInfo [protected]

Maps an object type (EX_ELEM_BLOCK, EX_NODE_SET, ...) to a list of objects defined on that type.

Used to store initial status of objects before RequestInformation can be called.

Definition at line 744 of file vtkExodusIIReaderPrivate.h.

These aren't the variables you're looking for.

Definition at line 747 of file vtkExodusIIReaderPrivate.h.

Definition at line 748 of file vtkExodusIIReaderPrivate.h.

The version of Exodus that wrote the currently open file (or a negative number otherwise).

Definition at line 753 of file vtkExodusIIReaderPrivate.h.

The handle of the currently open file.

Definition at line 756 of file vtkExodusIIReaderPrivate.h.

struct ex_init_params vtkExodusIIReaderPrivate::ModelParameters [protected]

Parameters describing the currently open Exodus file.

Definition at line 759 of file vtkExodusIIReaderPrivate.h.

std::vector<double> vtkExodusIIReaderPrivate::Times [protected]

A list of time steps for which results variables are stored.

Definition at line 762 of file vtkExodusIIReaderPrivate.h.

The current time step.

Definition at line 765 of file vtkExodusIIReaderPrivate.h.

The time value.

This is used internally when HasModeShapes is true and ignored otherwise.

Definition at line 770 of file vtkExodusIIReaderPrivate.h.

Definition at line 772 of file vtkExodusIIReaderPrivate.h.

Definition at line 773 of file vtkExodusIIReaderPrivate.h.

Definition at line 774 of file vtkExodusIIReaderPrivate.h.

Definition at line 775 of file vtkExodusIIReaderPrivate.h.

Definition at line 776 of file vtkExodusIIReaderPrivate.h.

Definition at line 777 of file vtkExodusIIReaderPrivate.h.

Definition at line 778 of file vtkExodusIIReaderPrivate.h.

Defaults to 0.

Set by vtkPExodusIIReader on each entry of ReaderList. Used to generate the file ID array over all output cells.

Definition at line 783 of file vtkExodusIIReaderPrivate.h.

A least-recently-used cache to hold raw arrays.

Definition at line 786 of file vtkExodusIIReaderPrivate.h.

The size of the cache in MiB.

Definition at line 789 of file vtkExodusIIReaderPrivate.h.

Definition at line 791 of file vtkExodusIIReaderPrivate.h.

Definition at line 792 of file vtkExodusIIReaderPrivate.h.

Definition at line 793 of file vtkExodusIIReaderPrivate.h.

Definition at line 794 of file vtkExodusIIReaderPrivate.h.

Should the reader output only points used by elements in the output mesh, or all the points.

Outputting all the points is much faster since the point array can be read straight from disk and the mesh connectivity need not be altered. Squeezing the points down to the minimum set needed to produce the output mesh is useful for glyphing and other point-based operations. On large parallel datasets, loading all the points implies loading all the points on all processes and performing subsequent filtering on a much larger set.

By default, SqueezePoints is true for backwards compatibility.

Definition at line 807 of file vtkExodusIIReaderPrivate.h.

Pointer to owning reader...

this is not registered in order to avoid circular references.

Definition at line 812 of file vtkExodusIIReaderPrivate.h.

Definition at line 814 of file vtkExodusIIReaderPrivate.h.

Definition at line 816 of file vtkExodusIIReaderPrivate.h.

Definition at line 817 of file vtkExodusIIReaderPrivate.h.

Definition at line 818 of file vtkExodusIIReaderPrivate.h.

Definition at line 820 of file vtkExodusIIReaderPrivate.h.


The documentation for this class was generated from the following file: