vtkModelMetadata Class Reference

#include <vtkModelMetadata.h>

Inheritance diagram for vtkModelMetadata:

Inheritance graph
[legend]
Collaboration diagram for vtkModelMetadata:

Collaboration graph
[legend]

List of all members.


Detailed Description

This class encapsulates the metadata that appear in mesh-based file formats but do not appear in vtkUnstructuredGrid. It can pack itself into the field arrays of a vtkUnstructuredGrid, and be unpacked by metadata aware filters and writers later on.

This class is inspired by the Exodus II file format, but because this class does not depend on the Exodus library, it should be possible to use it to represent metadata for other dataset file formats. Sandia Labs uses it in their Exodus II reader, their Exodus II writer and their EnSight writer. vtkDistributedDataFilter looks for metadata attached to it's input and redistributes the metadata with the grid.

The fields in this class are those described in the document "EXODUS II: A Finite Element Data Model", SAND92-2137, November 1995.

Element and node IDs stored in this object must be global IDs, in the event that the original dataset was partitioned across many files.

One way to initialize this object is by using vtkExodusModel (a Sandia class used by the Sandia Exodus reader). That class will take an open Exodus II file and a vtkUnstructuredGrid drawn from it and will set the required fields.

Alternatively, you can use all the Set* methods to set the individual fields. This class does not copy the data, it simply uses your pointer. This class will free the storage associated with your pointer when the class is deleted. Most fields have sensible defaults. The only requirement is that if you are using this ModelMetadata to write out an Exodus or EnSight file in parallel, you must SetBlockIds and SetBlockIdArrayName. Your vtkUnstructuredGrid must have a cell array giving the block ID for each cell.

Warning:
The Exodus II library supports an optimized element order map (section 3.7 in the SAND document). It contains all the element IDs, listed in the order in which a solver should process them. We don't include this, and won't unless there is a request.

There is an assumption in some classes that the name of the cell array containing global element ids is "GlobalElementId" and the name of the point array containing global node ids is "GlobalNodeId". (element == cell) and (node == point).

See also:
vtkDistributedDataFilter vtkExtractCells

Definition at line 87 of file vtkModelMetadata.h.


Public Types

typedef vtkObject Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
virtual void PrintSelf (ostream &os, vtkIndent indent)
virtual void PrintGlobalInformation ()
virtual void PrintLocalInformation ()
void SetInformationLines (int numLines, char **lines)
void AddInformationLine (char *info)
int GetInformationLines (char ***lines) const
void SetQARecords (int numberOfRecords, char *QARecords[][4])
void AddQARecord (char *name, char *version, char *date, char *time)
int GetNumberOfQARecords () const
float * GetTimeStepValues () const
int GetDimension () const
int GetSumElementsPerBlock () const
int * GetBlockElementIdListIndex () const
int * GetBlockAttributesIndex () const
int GetSumNodesPerNodeSet () const
int GetSumDistFactPerNodeSet () const
int GetSumSidesPerSideSet () const
int GetSumDistFactPerSideSet () const
int * GetSideSetListIndex () const
int ElementVariableIsDefinedInBlock (char *varname, int blockId)
int GetOriginalNumberOfNodeVariables () const
char ** GetOriginalNodeVariableNames () const
int GetNumberOfNodeVariables () const
char ** GetNodeVariableNames () const
int * GetNodeVariableNumberOfComponents () const
int * GetMapToOriginalNodeVariableNames () const
char * FindOriginalElementVariableName (const char *name, int component)
char * FindOriginalNodeVariableName (const char *name, int component)
void Pack (vtkDataSet *ugrid)
int Unpack (vtkDataSet *ugrid, int deleteIt)
int AddUGridNodeVariable (char *ugridVarName, char *origName, int numComponents)
int RemoveUGridNodeVariable (char *ugridVarName)
int MergeModelMetadata (const vtkModelMetadata *em)
int MergeGlobalInformation (const vtkModelMetadata *em)
vtkModelMetadataExtractGlobalMetadata ()
void Reset ()
int GetBlockLocalIndex (int id)
virtual void SetTitle (const char *)
const char * GetTitle () const
int GetNumberOfInformationLines () const
void GetQARecord (int which, char **name, char **version, char **date, char **time) const
virtual void SetTimeStepIndex (int)
int GetTimeStepIndex () const
void SetTimeSteps (int numberOfTimeSteps, float *timeStepValues)
int GetNumberOfTimeSteps () const
void SetCoordinateNames (int dimension, char **)
char ** GetCoordinateNames () const
virtual void SetNumberOfBlocks (int)
int GetNumberOfBlocks () const
void SetBlockIds (int *)
int * GetBlockIds () const
void SetBlockElementType (char **)
char ** GetBlockElementType () const
int SetBlockNumberOfElements (int *nelts)
int * GetBlockNumberOfElements () const
void SetBlockNodesPerElement (int *)
int * GetBlockNodesPerElement () const
void SetBlockElementIdList (int *)
int * GetBlockElementIdList () const
int SetBlockNumberOfAttributesPerElement (int *natts)
int * GetBlockNumberOfAttributesPerElement () const
void SetBlockAttributes (float *)
float * GetBlockAttributes () const
int GetSizeBlockAttributeArray () const
virtual void SetNumberOfNodeSets (int)
int GetNumberOfNodeSets () const
void SetNodeSetIds (int *)
int * GetNodeSetIds () const
int SetNodeSetSize (int *)
int * GetNodeSetSize () const
void SetNodeSetNodeIdList (int *)
int * GetNodeSetNodeIdList () const
int SetNodeSetNumberOfDistributionFactors (int *)
int * GetNodeSetNumberOfDistributionFactors () const
void SetNodeSetDistributionFactors (float *)
float * GetNodeSetDistributionFactors () const
int * GetNodeSetNodeIdListIndex () const
int * GetNodeSetDistributionFactorIndex () const
virtual void SetNumberOfSideSets (int)
int GetNumberOfSideSets () const
void SetSideSetIds (int *)
int * GetSideSetIds () const
int SetSideSetSize (int *sizes)
int * GetSideSetSize () const
int SetSideSetNumberOfDistributionFactors (int *df)
int * GetSideSetNumberOfDistributionFactors () const
void SetSideSetElementList (int *)
int * GetSideSetElementList () const
void SetSideSetSideList (int *)
int * GetSideSetSideList () const
void SetSideSetNumDFPerSide (int *numNodes)
int * GetSideSetNumDFPerSide () const
void SetSideSetDistributionFactors (float *)
float * GetSideSetDistributionFactors () const
int * GetSideSetDistributionFactorIndex () const
int GetNumberOfBlockProperties () const
void SetBlockPropertyNames (int numProp, char **names)
char ** GetBlockPropertyNames () const
void SetBlockPropertyValue (int *)
int * GetBlockPropertyValue () const
int GetNumberOfNodeSetProperties () const
void SetNodeSetPropertyNames (int numProp, char **names)
char ** GetNodeSetPropertyNames () const
void SetNodeSetPropertyValue (int *)
int * GetNodeSetPropertyValue () const
int GetNumberOfSideSetProperties () const
void SetSideSetPropertyNames (int numProp, char **names)
char ** GetSideSetPropertyNames () const
void SetSideSetPropertyValue (int *)
int * GetSideSetPropertyValue () const
int GetNumberOfGlobalVariables () const
void SetGlobalVariableNames (int numVarNames, char **n)
char ** GetGlobalVariableNames () const
void SetGlobalVariableValue (float *f)
float * GetGlobalVariableValue () const
void SetElementVariableInfo (int numOrigNames, char **origNames, int numNames, char **names, int *numComp, int *map)
void SetNodeVariableInfo (int numOrigNames, char **origNames, int numNames, char **names, int *numComp, int *map)
void SetElementVariableTruthTable (int *)
int * GetElementVariableTruthTable () const
virtual void SetAllVariablesDefinedInAllBlocks (int)
virtual void AllVariablesDefinedInAllBlocksOn ()
virtual void AllVariablesDefinedInAllBlocksOff ()
int GetAllVariablesDefinedInAllBlocks () const
int GetOriginalNumberOfElementVariables () const
char ** GetOriginalElementVariableNames () const
int GetNumberOfElementVariables () const
char ** GetElementVariableNames () const
int * GetElementVariableNumberOfComponents () const
int * GetMapToOriginalElementVariableNames () const
int AddUGridElementVariable (char *ugridVarName, char *origName, int numComponents)
int RemoveUGridElementVariable (char *ugridVarName)
vtkModelMetadataExtractModelMetadata (vtkIdTypeArray *globalCellIdList, vtkDataSet *grid)
void FreeAllGlobalData ()
void FreeAllLocalData ()
void FreeBlockDependentData ()
void FreeOriginalElementVariableNames ()
void FreeOriginalNodeVariableNames ()
void FreeUsedElementVariableNames ()
void FreeUsedNodeVariableNames ()
void FreeUsedElementVariables ()
void FreeUsedNodeVariables ()

Static Public Member Functions

static int IsTypeOf (const char *type)
static vtkModelMetadataSafeDownCast (vtkObject *o)
static vtkModelMetadataNew ()
static int HasMetadata (vtkDataSet *grid)
static void RemoveMetadata (vtkDataSet *grid)

Protected Member Functions

 vtkModelMetadata ()
 ~vtkModelMetadata ()

Member Typedef Documentation

Reimplemented from vtkObject.

Definition at line 90 of file vtkModelMetadata.h.


Constructor & Destructor Documentation

vtkModelMetadata::vtkModelMetadata (  )  [protected]

vtkModelMetadata::~vtkModelMetadata (  )  [protected]


Member Function Documentation

virtual const char* vtkModelMetadata::GetClassName (  )  [virtual]

Reimplemented from vtkObject.

static int vtkModelMetadata::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 vtkModelMetadata::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.

static vtkModelMetadata* vtkModelMetadata::SafeDownCast ( vtkObject o  )  [static]

Reimplemented from vtkObject.

virtual void vtkModelMetadata::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkObject.

static vtkModelMetadata* vtkModelMetadata::New (  )  [static]

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

Reimplemented from vtkObject.

virtual void vtkModelMetadata::PrintGlobalInformation (  )  [virtual]

The global fields are those which pertain to the whole file. Examples are the title, information lines, and list of block IDs. This method prints out all the global information.

virtual void vtkModelMetadata::PrintLocalInformation (  )  [virtual]

The local fields are those which depend on exactly which blocks, which time step, and which variables you read in from the file. Examples are the number of cells in each block, and the list of nodes in a node set, or the value of the global variables at a time step. If VERBOSE_TESTING is defined in your execution environment, this method will print more than mere counts, and actually print a few of the IDs, distribution factors and so on. If VERY_VERBOSE_TESTING is defined, it will print out all ID lists, distribution factor lists, and so on.

virtual void vtkModelMetadata::SetTitle ( const char *   )  [virtual]

The title of the dataset.

const char* vtkModelMetadata::GetTitle (  )  const [inline]

The title of the dataset.

Definition at line 115 of file vtkModelMetadata.h.

void vtkModelMetadata::SetInformationLines ( int  numLines,
char **  lines 
)

Set the information lines.

void vtkModelMetadata::AddInformationLine ( char *  info  ) 

Add an information line.

int vtkModelMetadata::GetInformationLines ( char ***  lines  )  const

Get a pointer to all the information lines. The number of lines is returned;

int vtkModelMetadata::GetNumberOfInformationLines (  )  const [inline]

Get the number of information lines.

Definition at line 130 of file vtkModelMetadata.h.

void vtkModelMetadata::SetQARecords ( int  numberOfRecords,
char *  QARecords[][4] 
)

Set the list of QA records. If there was already a a list, it will be replaced with this one. We use your pointer and delete the records when done.

void vtkModelMetadata::AddQARecord ( char *  name,
char *  version,
char *  date,
char *  time 
)

Add a QA record. They fields are: The code name The code version number The date (MM/DD/YY or NULL for today) The time (HH:MM:SS or NULL for right now)

void vtkModelMetadata::GetQARecord ( int  which,
char **  name,
char **  version,
char **  date,
char **  time 
) const

Get a pointer to the 4 fields of a QA record

int vtkModelMetadata::GetNumberOfQARecords (  )  const [inline]

Get the number of QA records

Definition at line 151 of file vtkModelMetadata.h.

virtual void vtkModelMetadata::SetTimeStepIndex ( int   )  [virtual]

Set the index of the time step represented by the results data in the file attached to this ModelMetadata object. Time step indices start at 0 in this file, they start at 1 in an Exodus file.

int vtkModelMetadata::GetTimeStepIndex (  )  const [inline]

Set the index of the time step represented by the results data in the file attached to this ModelMetadata object. Time step indices start at 0 in this file, they start at 1 in an Exodus file.

Definition at line 158 of file vtkModelMetadata.h.

void vtkModelMetadata::SetTimeSteps ( int  numberOfTimeSteps,
float *  timeStepValues 
)

Set the total number of time steps in the file, and the value at each time step. We use your time step value array and delete it when we're done.

int vtkModelMetadata::GetNumberOfTimeSteps (  )  const [inline]

Set the total number of time steps in the file, and the value at each time step. We use your time step value array and delete it when we're done.

Definition at line 166 of file vtkModelMetadata.h.

float* vtkModelMetadata::GetTimeStepValues (  )  const [inline]

Get the time step values

Definition at line 170 of file vtkModelMetadata.h.

void vtkModelMetadata::SetCoordinateNames ( int  dimension,
char **   
)

The name of the one, two or three coordinate dimensions.

char** vtkModelMetadata::GetCoordinateNames (  )  const [inline]

The name of the one, two or three coordinate dimensions.

Definition at line 175 of file vtkModelMetadata.h.

int vtkModelMetadata::GetDimension (  )  const [inline]

Get the dimension of the model. This is also the number of coordinate names.

Definition at line 180 of file vtkModelMetadata.h.

virtual void vtkModelMetadata::SetNumberOfBlocks ( int   )  [virtual]

The number of blocks in the file. Set this before setting any of the block arrays.

int vtkModelMetadata::GetNumberOfBlocks (  )  const [inline]

The number of blocks in the file. Set this before setting any of the block arrays.

Definition at line 186 of file vtkModelMetadata.h.

void vtkModelMetadata::SetBlockIds ( int *   ) 

An arbitrary integer ID for each block. We use your pointer, and free the memory when the object is freed.

int* vtkModelMetadata::GetBlockIds (  )  const [inline]

An arbitrary integer ID for each block. We use your pointer, and free the memory when the object is freed.

Definition at line 193 of file vtkModelMetadata.h.

void vtkModelMetadata::SetBlockElementType ( char **   ) 

Element type for each block - a name that means something to person who created the file. We use your pointers, and free the memory when the object is freed.

char** vtkModelMetadata::GetBlockElementType (  )  const [inline]

Element type for each block - a name that means something to person who created the file. We use your pointers, and free the memory when the object is freed.

Definition at line 201 of file vtkModelMetadata.h.

int vtkModelMetadata::SetBlockNumberOfElements ( int *  nelts  ) 

Set or get a pointer to a list of the number of elements in each block. We use your pointers, and free the memory when the object is freed.

int* vtkModelMetadata::GetBlockNumberOfElements (  )  const [inline]

Set or get a pointer to a list of the number of elements in each block. We use your pointers, and free the memory when the object is freed.

Definition at line 209 of file vtkModelMetadata.h.

void vtkModelMetadata::SetBlockNodesPerElement ( int *   ) 

Set or get a pointer to a list of the number of nodes in the elements of each block. We use your pointers, and free the memory when the object is freed.

int* vtkModelMetadata::GetBlockNodesPerElement (  )  const [inline]

Set or get a pointer to a list of the number of nodes in the elements of each block. We use your pointers, and free the memory when the object is freed.

Definition at line 217 of file vtkModelMetadata.h.

void vtkModelMetadata::SetBlockElementIdList ( int *   ) 

Set or get a pointer to a list global element IDs for the elements in each block. We use your pointers, and free the memory when the object is freed.

int* vtkModelMetadata::GetBlockElementIdList (  )  const [inline]

Set or get a pointer to a list global element IDs for the elements in each block. We use your pointers, and free the memory when the object is freed.

Definition at line 225 of file vtkModelMetadata.h.

int vtkModelMetadata::GetSumElementsPerBlock (  )  const [inline]

Get the length of the list of elements in every block.

Definition at line 229 of file vtkModelMetadata.h.

int* vtkModelMetadata::GetBlockElementIdListIndex (  )  const [inline]

Get a list of the index into the BlockElementIdList of the start of each block's elements.

Definition at line 233 of file vtkModelMetadata.h.

int vtkModelMetadata::SetBlockNumberOfAttributesPerElement ( int *  natts  ) 

Set or get a pointer to a list of the number of attributes stored for the elements in each block. We use your pointers, and free the memory when the object is freed.

int* vtkModelMetadata::GetBlockNumberOfAttributesPerElement (  )  const [inline]

Set or get a pointer to a list of the number of attributes stored for the elements in each block. We use your pointers, and free the memory when the object is freed.

Definition at line 240 of file vtkModelMetadata.h.

void vtkModelMetadata::SetBlockAttributes ( float *   ) 

Set or get a pointer to a list of the attributes for all blocks. The order of the list should be by block, by element within the block, by attribute. Omit blocks that don't have element attributes.

float* vtkModelMetadata::GetBlockAttributes (  )  const [inline]

Set or get a pointer to a list of the attributes for all blocks. The order of the list should be by block, by element within the block, by attribute. Omit blocks that don't have element attributes.

Definition at line 248 of file vtkModelMetadata.h.

int vtkModelMetadata::GetSizeBlockAttributeArray (  )  const [inline]

Get the length of the list of floating point block attributes.

Definition at line 253 of file vtkModelMetadata.h.

int* vtkModelMetadata::GetBlockAttributesIndex (  )  const [inline]

Get a list of the index into the BlockAttributes of the start of each block's element attribute list.

Definition at line 259 of file vtkModelMetadata.h.

virtual void vtkModelMetadata::SetNumberOfNodeSets ( int   )  [virtual]

The number of node sets in the file. Set this value before setting the various node set arrays.

int vtkModelMetadata::GetNumberOfNodeSets (  )  const [inline]

The number of node sets in the file. Set this value before setting the various node set arrays.

Definition at line 265 of file vtkModelMetadata.h.

void vtkModelMetadata::SetNodeSetIds ( int *   ) 

Set or get the list the IDs for each node set. Length of list is the number of node sets. We use your pointer, and free the memory when the object is freed.

int* vtkModelMetadata::GetNodeSetIds (  )  const [inline]

Set or get the list the IDs for each node set. Length of list is the number of node sets. We use your pointer, and free the memory when the object is freed.

Definition at line 273 of file vtkModelMetadata.h.

int vtkModelMetadata::SetNodeSetSize ( int *   ) 

Set or get a pointer to a list of the number of nodes in each node set. We use your pointer, and free the memory when the object is freed.

int* vtkModelMetadata::GetNodeSetSize (  )  const [inline]

Set or get a pointer to a list of the number of nodes in each node set. We use your pointer, and free the memory when the object is freed.

Definition at line 281 of file vtkModelMetadata.h.

void vtkModelMetadata::SetNodeSetNodeIdList ( int *   ) 

Set or get a pointer to a concatenated list of the IDs of all nodes in each node set. First list all IDs in node set 0, then all IDs in node set 1, and so on. We use your pointer, and free the memory when the object is freed.

int* vtkModelMetadata::GetNodeSetNodeIdList (  )  const [inline]

Set or get a pointer to a concatenated list of the IDs of all nodes in each node set. First list all IDs in node set 0, then all IDs in node set 1, and so on. We use your pointer, and free the memory when the object is freed.

Definition at line 290 of file vtkModelMetadata.h.

int vtkModelMetadata::SetNodeSetNumberOfDistributionFactors ( int *   ) 

Set or get a list of the number of distribution factors stored by each node set. This is either 0 or equal to the number of nodes in the node set. Length of list is number of node sets. We use your pointer, and free the memory when the object is freed.

int* vtkModelMetadata::GetNodeSetNumberOfDistributionFactors (  )  const [inline]

Set or get a list of the number of distribution factors stored by each node set. This is either 0 or equal to the number of nodes in the node set. Length of list is number of node sets. We use your pointer, and free the memory when the object is freed.

Definition at line 299 of file vtkModelMetadata.h.

void vtkModelMetadata::SetNodeSetDistributionFactors ( float *   ) 

Set or get a list of the distribution factors for the node sets. The list is organized by node set, and within node set by node. We use your pointer, and free the memory when the object is freed.

float* vtkModelMetadata::GetNodeSetDistributionFactors (  )  const [inline]

Set or get a list of the distribution factors for the node sets. The list is organized by node set, and within node set by node. We use your pointer, and free the memory when the object is freed.

Definition at line 308 of file vtkModelMetadata.h.

int vtkModelMetadata::GetSumNodesPerNodeSet (  )  const [inline]

Get the total number of nodes in all node sets

Definition at line 313 of file vtkModelMetadata.h.

int vtkModelMetadata::GetSumDistFactPerNodeSet (  )  const [inline]

Get the total number of distribution factors stored for all node sets

Definition at line 316 of file vtkModelMetadata.h.

int* vtkModelMetadata::GetNodeSetNodeIdListIndex (  )  const [inline]

Get a list of the index of the starting entry for each node set in the list of node set node IDs.

Definition at line 321 of file vtkModelMetadata.h.

int* vtkModelMetadata::GetNodeSetDistributionFactorIndex (  )  const [inline]

Get a list of the index of the starting entry for each node set in the list of node set distribution factors.

Definition at line 328 of file vtkModelMetadata.h.

virtual void vtkModelMetadata::SetNumberOfSideSets ( int   )  [virtual]

Set or get the number of side sets. Set this value before setting any of the other side set arrays.

int vtkModelMetadata::GetNumberOfSideSets (  )  const [inline]

Set or get the number of side sets. Set this value before setting any of the other side set arrays.

Definition at line 336 of file vtkModelMetadata.h.

void vtkModelMetadata::SetSideSetIds ( int *   ) 

Set or get a pointer to a list giving the ID of each side set. We use your pointer, and free the memory when the object is freed.

int* vtkModelMetadata::GetSideSetIds (  )  const [inline]

Set or get a pointer to a list giving the ID of each side set. We use your pointer, and free the memory when the object is freed.

Definition at line 343 of file vtkModelMetadata.h.

int vtkModelMetadata::SetSideSetSize ( int *  sizes  ) 

Set or get a pointer to a list of the number of sides in each side set. We use your pointer, and free the memory when the object is freed.

int* vtkModelMetadata::GetSideSetSize (  )  const [inline]

Set or get a pointer to a list of the number of sides in each side set. We use your pointer, and free the memory when the object is freed.

Definition at line 351 of file vtkModelMetadata.h.

int vtkModelMetadata::SetSideSetNumberOfDistributionFactors ( int *  df  ) 

Set or get a pointer to a list of the number of distribution factors stored by each side set. Each side set has either no distribution factors, or 1 per node in the side set. We use your pointer, and free the memory when the object is freed.

int* vtkModelMetadata::GetSideSetNumberOfDistributionFactors (  )  const [inline]

Set or get a pointer to a list of the number of distribution factors stored by each side set. Each side set has either no distribution factors, or 1 per node in the side set. We use your pointer, and free the memory when the object is freed.

Definition at line 360 of file vtkModelMetadata.h.

void vtkModelMetadata::SetSideSetElementList ( int *   ) 

Set or get a pointer to a list of the elements containing each side in each side set. The list is organized by side set, and within side set by element. We use your pointer, and free the memory when the object is freed.

int* vtkModelMetadata::GetSideSetElementList (  )  const [inline]

Set or get a pointer to a list of the elements containing each side in each side set. The list is organized by side set, and within side set by element. We use your pointer, and free the memory when the object is freed.

Definition at line 370 of file vtkModelMetadata.h.

void vtkModelMetadata::SetSideSetSideList ( int *   ) 

Set or get a pointer to the element side for each side in the side set. (See the manual for the convention for numbering sides in different types of cells.) Side Ids are arranged by side set and within side set by side, and correspond to the SideSetElementList. We use your pointer, and free the memory when the object is freed.

int* vtkModelMetadata::GetSideSetSideList (  )  const [inline]

Set or get a pointer to the element side for each side in the side set. (See the manual for the convention for numbering sides in different types of cells.) Side Ids are arranged by side set and within side set by side, and correspond to the SideSetElementList. We use your pointer, and free the memory when the object is freed.

Definition at line 380 of file vtkModelMetadata.h.

void vtkModelMetadata::SetSideSetNumDFPerSide ( int *  numNodes  ) 

Set or get a pointer to a list of the number of nodes in each side of each side set. This list is organized by side set, and within side set by side. We use your pointer, and free the memory when the object is freed.

int* vtkModelMetadata::GetSideSetNumDFPerSide (  )  const [inline]

Set or get a pointer to a list of the number of nodes in each side of each side set. This list is organized by side set, and within side set by side. We use your pointer, and free the memory when the object is freed.

Definition at line 389 of file vtkModelMetadata.h.

void vtkModelMetadata::SetSideSetDistributionFactors ( float *   ) 

Set or get a pointer to a list of all the distribution factors. For every side set that has distribution factors, the number of factors per node was given in the SideSetNumberOfDistributionFactors array. If this number for a given side set is N, then for that side set we have N floating point values for each node for each side in the side set. If nodes are repeated in more than one side, we repeat the distribution factors. So this list is in order by side set, by node. We use your pointer, and free the memory when the object is freed.

float* vtkModelMetadata::GetSideSetDistributionFactors (  )  const [inline]

Set or get a pointer to a list of all the distribution factors. For every side set that has distribution factors, the number of factors per node was given in the SideSetNumberOfDistributionFactors array. If this number for a given side set is N, then for that side set we have N floating point values for each node for each side in the side set. If nodes are repeated in more than one side, we repeat the distribution factors. So this list is in order by side set, by node. We use your pointer, and free the memory when the object is freed.

Definition at line 402 of file vtkModelMetadata.h.

int vtkModelMetadata::GetSumSidesPerSideSet (  )  const [inline]

Get the total number of sides in all side sets

Definition at line 407 of file vtkModelMetadata.h.

int vtkModelMetadata::GetSumDistFactPerSideSet (  )  const [inline]

Get the total number of distribution factors stored for all side sets

Definition at line 410 of file vtkModelMetadata.h.

int* vtkModelMetadata::GetSideSetListIndex (  )  const [inline]

Get a list of the index of the starting entry for each side set in the list of side set side IDs.

Definition at line 414 of file vtkModelMetadata.h.

int* vtkModelMetadata::GetSideSetDistributionFactorIndex (  )  const [inline]

Get a list of the index of the starting entry for each side set in the list of side set distribution factors.

Definition at line 419 of file vtkModelMetadata.h.

int vtkModelMetadata::GetNumberOfBlockProperties (  )  const [inline]

The number of block properties (global variables)

Definition at line 425 of file vtkModelMetadata.h.

void vtkModelMetadata::SetBlockPropertyNames ( int  numProp,
char **  names 
)

Set or get the names of the block properties.

char** vtkModelMetadata::GetBlockPropertyNames (  )  const [inline]

Set or get the names of the block properties.

Definition at line 432 of file vtkModelMetadata.h.

void vtkModelMetadata::SetBlockPropertyValue ( int *   ) 

Set or get value for each variable for each block. List the integer values in order by variable and within variable by block.

int* vtkModelMetadata::GetBlockPropertyValue (  )  const [inline]

Set or get value for each variable for each block. List the integer values in order by variable and within variable by block.

Definition at line 439 of file vtkModelMetadata.h.

int vtkModelMetadata::GetNumberOfNodeSetProperties (  )  const [inline]

The number of node set properties (global variables)

Definition at line 444 of file vtkModelMetadata.h.

void vtkModelMetadata::SetNodeSetPropertyNames ( int  numProp,
char **  names 
)

Set or get the names of the node setproperties.

char** vtkModelMetadata::GetNodeSetPropertyNames (  )  const [inline]

Set or get the names of the node setproperties.

Definition at line 451 of file vtkModelMetadata.h.

void vtkModelMetadata::SetNodeSetPropertyValue ( int *   ) 

Set or get value for each variable for each node set. List the integer values in order by variable and within variable by node set.

int* vtkModelMetadata::GetNodeSetPropertyValue (  )  const [inline]

Set or get value for each variable for each node set. List the integer values in order by variable and within variable by node set.

Definition at line 458 of file vtkModelMetadata.h.

int vtkModelMetadata::GetNumberOfSideSetProperties (  )  const [inline]

The number of side set properties (global variables)

Definition at line 463 of file vtkModelMetadata.h.

void vtkModelMetadata::SetSideSetPropertyNames ( int  numProp,
char **  names 
)

Set or get the names of the side set properties.

char** vtkModelMetadata::GetSideSetPropertyNames (  )  const [inline]

Set or get the names of the side set properties.

Definition at line 470 of file vtkModelMetadata.h.

void vtkModelMetadata::SetSideSetPropertyValue ( int *   ) 

Set or get value for each variable for each side set. List the integer values in order by variable and within variable by side set.

int* vtkModelMetadata::GetSideSetPropertyValue (  )  const [inline]

Set or get value for each variable for each side set. List the integer values in order by variable and within variable by side set.

Definition at line 477 of file vtkModelMetadata.h.

int vtkModelMetadata::GetNumberOfGlobalVariables (  )  const [inline]

Get the number of global variables per time step

Definition at line 482 of file vtkModelMetadata.h.

void vtkModelMetadata::SetGlobalVariableNames ( int  numVarNames,
char **  n 
)

Set or get the names of the global variables

char** vtkModelMetadata::GetGlobalVariableNames (  )  const [inline]

Set or get the names of the global variables

Definition at line 489 of file vtkModelMetadata.h.

void vtkModelMetadata::SetGlobalVariableValue ( float *  f  ) 

Set or get the values of the global variables at the current time step.

float* vtkModelMetadata::GetGlobalVariableValue (  )  const [inline]

Set or get the values of the global variables at the current time step.

Definition at line 496 of file vtkModelMetadata.h.

void vtkModelMetadata::SetElementVariableInfo ( int  numOrigNames,
char **  origNames,
int  numNames,
char **  names,
int *  numComp,
int *  map 
)

The ModelMetadata maintains a list of the element variables that were in the original file, and a list of the cell variables in the UGrid derived from that file. Some of the scalar variables in the original file were combined into vectors in the UGrid. In this method, provide the number of original element variables, the names of the original element variables, the number of element variables in the UGrid, the number of components for each of those variables, and a map from each UGrid variable to the the variable in the list of original names that represents it's first component.

void vtkModelMetadata::SetNodeVariableInfo ( int  numOrigNames,
char **  origNames,
int  numNames,
char **  names,
int *  numComp,
int *  map 
)

The ModelMetadata maintains a list of the node variables that were in the original file, and a list of the node variables in the UGrid derived from that file. Some of the scalar variables in the original file were combined into vectors in the UGrid. In this method, provide the number of original node variables, the names of the original node variables, the number of node variables in the UGrid, the number of components for each of those variables, and a map from each UGrid variable to the the variable in the list of original names that represents it's first component.

void vtkModelMetadata::SetElementVariableTruthTable ( int *   ) 

A truth table indicating which element variables are defined for which blocks. The variables are all the original element variables that were in the file. The table is by block ID and within block ID by variable.

int* vtkModelMetadata::GetElementVariableTruthTable (  )  const [inline]

A truth table indicating which element variables are defined for which blocks. The variables are all the original element variables that were in the file. The table is by block ID and within block ID by variable.

Definition at line 535 of file vtkModelMetadata.h.

virtual void vtkModelMetadata::SetAllVariablesDefinedInAllBlocks ( int   )  [virtual]

Instead of a truth table of all "1"s, you can set this instance variable to indicate that all variables are defined in all blocks.

virtual void vtkModelMetadata::AllVariablesDefinedInAllBlocksOn (  )  [virtual]

Instead of a truth table of all "1"s, you can set this instance variable to indicate that all variables are defined in all blocks.

virtual void vtkModelMetadata::AllVariablesDefinedInAllBlocksOff (  )  [virtual]

Instead of a truth table of all "1"s, you can set this instance variable to indicate that all variables are defined in all blocks.

int vtkModelMetadata::GetAllVariablesDefinedInAllBlocks (  )  const [inline]

Instead of a truth table of all "1"s, you can set this instance variable to indicate that all variables are defined in all blocks.

Definition at line 544 of file vtkModelMetadata.h.

int vtkModelMetadata::ElementVariableIsDefinedInBlock ( char *  varname,
int  blockId 
)

If the element variable named is defined for the block Id provided (in the element variable truth table) return a 1, otherwise return a 0. If the variable name or block Id are unrecognized, the default value of 1 is returned. (This is an "original" variable name, from the file, not a name created for the vtkUnstructuredGrid. Use FindOriginal*VariableName to map between the two.)

int vtkModelMetadata::GetOriginalNumberOfElementVariables (  )  const [inline]

The ModelMetadata object may contain these lists: o the variables in the original data file o the variables created in the u grid from those original variables o a mapping from the grid variable names to the original names o a list of the number of components each grid variable has (Example: Variables in Exodus II files are all scalars. Some are combined by the ExodusReader into vector variables in the grid.) These methods return names of the original variables, the names of the grid variables, a list of the number of components in each grid variable, and a list of the index into the list of original variable names where the original name of the first component of a grid variable may be found. The names of subsequent components would immediately follow the name of the the first component.

Definition at line 569 of file vtkModelMetadata.h.

char** vtkModelMetadata::GetOriginalElementVariableNames (  )  const [inline]

The ModelMetadata object may contain these lists: o the variables in the original data file o the variables created in the u grid from those original variables o a mapping from the grid variable names to the original names o a list of the number of components each grid variable has (Example: Variables in Exodus II files are all scalars. Some are combined by the ExodusReader into vector variables in the grid.) These methods return names of the original variables, the names of the grid variables, a list of the number of components in each grid variable, and a list of the index into the list of original variable names where the original name of the first component of a grid variable may be found. The names of subsequent components would immediately follow the name of the the first component.

Definition at line 571 of file vtkModelMetadata.h.

int vtkModelMetadata::GetNumberOfElementVariables (  )  const [inline]

The ModelMetadata object may contain these lists: o the variables in the original data file o the variables created in the u grid from those original variables o a mapping from the grid variable names to the original names o a list of the number of components each grid variable has (Example: Variables in Exodus II files are all scalars. Some are combined by the ExodusReader into vector variables in the grid.) These methods return names of the original variables, the names of the grid variables, a list of the number of components in each grid variable, and a list of the index into the list of original variable names where the original name of the first component of a grid variable may be found. The names of subsequent components would immediately follow the name of the the first component.

Definition at line 573 of file vtkModelMetadata.h.

char** vtkModelMetadata::GetElementVariableNames (  )  const [inline]

The ModelMetadata object may contain these lists: o the variables in the original data file o the variables created in the u grid from those original variables o a mapping from the grid variable names to the original names o a list of the number of components each grid variable has (Example: Variables in Exodus II files are all scalars. Some are combined by the ExodusReader into vector variables in the grid.) These methods return names of the original variables, the names of the grid variables, a list of the number of components in each grid variable, and a list of the index into the list of original variable names where the original name of the first component of a grid variable may be found. The names of subsequent components would immediately follow the name of the the first component.

Definition at line 575 of file vtkModelMetadata.h.

int* vtkModelMetadata::GetElementVariableNumberOfComponents (  )  const [inline]

The ModelMetadata object may contain these lists: o the variables in the original data file o the variables created in the u grid from those original variables o a mapping from the grid variable names to the original names o a list of the number of components each grid variable has (Example: Variables in Exodus II files are all scalars. Some are combined by the ExodusReader into vector variables in the grid.) These methods return names of the original variables, the names of the grid variables, a list of the number of components in each grid variable, and a list of the index into the list of original variable names where the original name of the first component of a grid variable may be found. The names of subsequent components would immediately follow the name of the the first component.

Definition at line 577 of file vtkModelMetadata.h.

int* vtkModelMetadata::GetMapToOriginalElementVariableNames (  )  const [inline]

The ModelMetadata object may contain these lists: o the variables in the original data file o the variables created in the u grid from those original variables o a mapping from the grid variable names to the original names o a list of the number of components each grid variable has (Example: Variables in Exodus II files are all scalars. Some are combined by the ExodusReader into vector variables in the grid.) These methods return names of the original variables, the names of the grid variables, a list of the number of components in each grid variable, and a list of the index into the list of original variable names where the original name of the first component of a grid variable may be found. The names of subsequent components would immediately follow the name of the the first component.

Definition at line 579 of file vtkModelMetadata.h.

int vtkModelMetadata::GetOriginalNumberOfNodeVariables (  )  const [inline]

Definition at line 583 of file vtkModelMetadata.h.

char** vtkModelMetadata::GetOriginalNodeVariableNames (  )  const [inline]

Definition at line 585 of file vtkModelMetadata.h.

int vtkModelMetadata::GetNumberOfNodeVariables (  )  const [inline]

Definition at line 587 of file vtkModelMetadata.h.

char** vtkModelMetadata::GetNodeVariableNames (  )  const [inline]

Definition at line 589 of file vtkModelMetadata.h.

int* vtkModelMetadata::GetNodeVariableNumberOfComponents (  )  const [inline]

Definition at line 591 of file vtkModelMetadata.h.

int* vtkModelMetadata::GetMapToOriginalNodeVariableNames (  )  const [inline]

Definition at line 593 of file vtkModelMetadata.h.

char* vtkModelMetadata::FindOriginalElementVariableName ( const char *  name,
int  component 
)

Given the name of an element variable the vtkUnstructuredGrid described by this ModelMetadata, and a component number, give the name of the scalar array in the original file that turned into that component when the file was read into VTK.

char* vtkModelMetadata::FindOriginalNodeVariableName ( const char *  name,
int  component 
)

Given the name of an node variable the vtkUnstructuredGrid described by this ModelMetadata, and a component number, give the name of the scalar array in the original file that turned into that component when the file was read into VTK.

static int vtkModelMetadata::HasMetadata ( vtkDataSet grid  )  [static]

Static function that returns 1 if the vtkUnstructuredGrid has metadata packed into it's field arrays, and 0 otherwise.

static void vtkModelMetadata::RemoveMetadata ( vtkDataSet grid  )  [static]

Static function that removes the packed metadata arrays from a dataset.

void vtkModelMetadata::Pack ( vtkDataSet ugrid  ) 

Pack this object's metadata into a field array of a dataset.

int vtkModelMetadata::Unpack ( vtkDataSet ugrid,
int  deleteIt 
)

Unpack the metadata stored in a dataset, and initialize this object with it. Return 1 if there's no metadata packed into the grid, 0 if OK. If deleteIt is ON, then delete the grid's packed data after unpacking it into the object.

int vtkModelMetadata::AddUGridElementVariable ( char *  ugridVarName,
char *  origName,
int  numComponents 
)

In order to write Exodus files from vtkUnstructuredGrid objects that were read from Exodus files, we need to know the mapping from variable names in the UGrid to variable names in the Exodus file. (The Exodus reader combines scalar variables with similar names into vectors in the UGrid.) When building the UGrid to which this ModelMetadata refers, add each element and node variable name with this call, including the name of original variable that yielded it's first component, and the number of components. If a variable is removed from the UGrid, remove it from the ModelMetadata. (If this information is missing or incomplete, the ExodusIIWriter can still do something sensible in creating names for variables.)

int vtkModelMetadata::RemoveUGridElementVariable ( char *  ugridVarName  ) 

In order to write Exodus files from vtkUnstructuredGrid objects that were read from Exodus files, we need to know the mapping from variable names in the UGrid to variable names in the Exodus file. (The Exodus reader combines scalar variables with similar names into vectors in the UGrid.) When building the UGrid to which this ModelMetadata refers, add each element and node variable name with this call, including the name of original variable that yielded it's first component, and the number of components. If a variable is removed from the UGrid, remove it from the ModelMetadata. (If this information is missing or incomplete, the ExodusIIWriter can still do something sensible in creating names for variables.)

int vtkModelMetadata::AddUGridNodeVariable ( char *  ugridVarName,
char *  origName,
int  numComponents 
)

int vtkModelMetadata::RemoveUGridNodeVariable ( char *  ugridVarName  ) 

int vtkModelMetadata::MergeModelMetadata ( const vtkModelMetadata em  ) 

In VTK we take vtkUnstructuredGrids and perform operations on them, including subsetting and merging grids. We need to modify the metadata object when this happens. MergeModelMetadata merges the supplied model (both global and local metadata) into this model. The models must be from the same file set. MergeModelMetadata assumes that no element in one metadata object appears in the other. (It doesn't test for duplicate elements when merging the two metadata objects.)

int vtkModelMetadata::MergeGlobalInformation ( const vtkModelMetadata em  ) 

The metadata is divided into global metadata and local metadata. MergeGlobalInformation merges just the global metadata of the supplied object into the global metadata of this object.

vtkModelMetadata* vtkModelMetadata::ExtractModelMetadata ( vtkIdTypeArray globalCellIdList,
vtkDataSet grid 
)

Create and return a new metadata object which contains the information for the subset of global cell IDs provided. We need the grid containing the cells so we can find point Ids as well, and also the name of the global cell ID array and the name of the global point ID array.

vtkModelMetadata* vtkModelMetadata::ExtractGlobalMetadata (  ) 

Create and return a new metadata object containing only the global metadata of this metadata object.

void vtkModelMetadata::FreeAllGlobalData (  ) 

Free selected portions of the metadata when updating values in the vtkModelMetadata object. Resetting a particular field, (i.e. SetNodeSetIds) frees the previous setting, but if you are not setting every field, you may want to do a wholesale "Free" first. FreeAllGlobalData frees all the fields which don't depend on which time step, which blocks, or which variables are in the input. FreeAllLocalData frees all the fields which do depend on which time step, blocks or variables are in the input. FreeBlockDependentData frees all metadata fields which depend on which blocks were read in.

void vtkModelMetadata::FreeAllLocalData (  ) 

Free selected portions of the metadata when updating values in the vtkModelMetadata object. Resetting a particular field, (i.e. SetNodeSetIds) frees the previous setting, but if you are not setting every field, you may want to do a wholesale "Free" first. FreeAllGlobalData frees all the fields which don't depend on which time step, which blocks, or which variables are in the input. FreeAllLocalData frees all the fields which do depend on which time step, blocks or variables are in the input. FreeBlockDependentData frees all metadata fields which depend on which blocks were read in.

void vtkModelMetadata::FreeBlockDependentData (  ) 

Free selected portions of the metadata when updating values in the vtkModelMetadata object. Resetting a particular field, (i.e. SetNodeSetIds) frees the previous setting, but if you are not setting every field, you may want to do a wholesale "Free" first. FreeAllGlobalData frees all the fields which don't depend on which time step, which blocks, or which variables are in the input. FreeAllLocalData frees all the fields which do depend on which time step, blocks or variables are in the input. FreeBlockDependentData frees all metadata fields which depend on which blocks were read in.

void vtkModelMetadata::FreeOriginalElementVariableNames (  ) 

Free selected portions of the metadata when updating values in the vtkModelMetadata object. Resetting a particular field, (i.e. SetNodeSetIds) frees the previous setting, but if you are not setting every field, you may want to do a wholesale "Free" first. FreeAllGlobalData frees all the fields which don't depend on which time step, which blocks, or which variables are in the input. FreeAllLocalData frees all the fields which do depend on which time step, blocks or variables are in the input. FreeBlockDependentData frees all metadata fields which depend on which blocks were read in.

void vtkModelMetadata::FreeOriginalNodeVariableNames (  ) 

Free selected portions of the metadata when updating values in the vtkModelMetadata object. Resetting a particular field, (i.e. SetNodeSetIds) frees the previous setting, but if you are not setting every field, you may want to do a wholesale "Free" first. FreeAllGlobalData frees all the fields which don't depend on which time step, which blocks, or which variables are in the input. FreeAllLocalData frees all the fields which do depend on which time step, blocks or variables are in the input. FreeBlockDependentData frees all metadata fields which depend on which blocks were read in.

void vtkModelMetadata::FreeUsedElementVariableNames (  ) 

Free selected portions of the metadata when updating values in the vtkModelMetadata object. Resetting a particular field, (i.e. SetNodeSetIds) frees the previous setting, but if you are not setting every field, you may want to do a wholesale "Free" first. FreeAllGlobalData frees all the fields which don't depend on which time step, which blocks, or which variables are in the input. FreeAllLocalData frees all the fields which do depend on which time step, blocks or variables are in the input. FreeBlockDependentData frees all metadata fields which depend on which blocks were read in.

void vtkModelMetadata::FreeUsedNodeVariableNames (  ) 

Free selected portions of the metadata when updating values in the vtkModelMetadata object. Resetting a particular field, (i.e. SetNodeSetIds) frees the previous setting, but if you are not setting every field, you may want to do a wholesale "Free" first. FreeAllGlobalData frees all the fields which don't depend on which time step, which blocks, or which variables are in the input. FreeAllLocalData frees all the fields which do depend on which time step, blocks or variables are in the input. FreeBlockDependentData frees all metadata fields which depend on which blocks were read in.

void vtkModelMetadata::FreeUsedElementVariables (  ) 

Free selected portions of the metadata when updating values in the vtkModelMetadata object. Resetting a particular field, (i.e. SetNodeSetIds) frees the previous setting, but if you are not setting every field, you may want to do a wholesale "Free" first. FreeAllGlobalData frees all the fields which don't depend on which time step, which blocks, or which variables are in the input. FreeAllLocalData frees all the fields which do depend on which time step, blocks or variables are in the input. FreeBlockDependentData frees all metadata fields which depend on which blocks were read in.

void vtkModelMetadata::FreeUsedNodeVariables (  ) 

Free selected portions of the metadata when updating values in the vtkModelMetadata object. Resetting a particular field, (i.e. SetNodeSetIds) frees the previous setting, but if you are not setting every field, you may want to do a wholesale "Free" first. FreeAllGlobalData frees all the fields which don't depend on which time step, which blocks, or which variables are in the input. FreeAllLocalData frees all the fields which do depend on which time step, blocks or variables are in the input. FreeBlockDependentData frees all metadata fields which depend on which blocks were read in.

void vtkModelMetadata::Reset (  ) 

Set the object back to it's initial state

int vtkModelMetadata::GetBlockLocalIndex ( int  id  ) 

Block information is stored in arrays. This method returns the array index for a given block ID.


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

Generated on Wed Aug 24 11:48:46 2011 for VTK by  doxygen 1.5.6