VTK
|
Exodus Model. More...
#include <vtkExodusModel.h>
Public Types | |
typedef vtkObject | Superclass |
![]() | |
typedef vtkObjectBase | Superclass |
Public Member Functions | |
virtual int | IsA (const char *type) |
vtkExodusModel * | NewInstance () const |
virtual void | PrintSelf (ostream &os, vtkIndent indent) |
int | SetGlobalInformation (int fid, int compute_word_size) |
int | AddUGridElementVariable (char *ugridVarName, char *origName, int numComponents) |
int | RemoveUGridElementVariable (char *ugridVarName) |
int | AddUGridNodeVariable (char *ugridVarName, char *origName, int numComponents) |
int | RemoveUGridNodeVariable (char *ugridVarName) |
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) |
int | SetLocalInformation (vtkUnstructuredGrid *ugrid, int fid, int timeStep, int newGeometry, int compute_word_size) |
vtkModelMetadata * | GetModelMetadata () |
void | SetModelMetadata (vtkModelMetadata *emData) |
int | UnpackExodusModel (vtkUnstructuredGrid *grid, int deleteIt) |
int | MergeExodusModel (vtkExodusModel *em) |
vtkExodusModel * | ExtractExodusModel (vtkIdTypeArray *globalCellIdList, vtkUnstructuredGrid *grid) |
void | PackExodusModel (vtkUnstructuredGrid *grid) |
void | Reset () |
![]() | |
vtkObject * | NewInstance () const |
virtual void | DebugOn () |
virtual void | DebugOff () |
unsigned char | GetDebug () |
void | SetDebug (unsigned char debugFlag) |
virtual void | Modified () |
virtual unsigned long | GetMTime () |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
int | HasObserver (unsigned long event, vtkCommand *) |
int | HasObserver (const char *event, vtkCommand *) |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
int | HasObserver (unsigned long event) |
int | HasObserver (const char *event) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
int | InvokeEvent (unsigned long event, void *callData) |
int | InvokeEvent (const char *event, void *callData) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
![]() | |
const char * | GetClassName () const |
virtual void | Delete () |
virtual void | FastDelete () |
void | Print (ostream &os) |
virtual void | Register (vtkObjectBase *o) |
virtual void | UnRegister (vtkObjectBase *o) |
void | SetReferenceCount (int) |
void | PrintRevisions (ostream &) |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
int | GetReferenceCount () |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkExodusModel * | SafeDownCast (vtkObjectBase *o) |
static vtkExodusModel * | New () |
static int | HasMetadata (vtkUnstructuredGrid *grid) |
![]() | |
static int | IsTypeOf (const char *type) |
static vtkObject * | SafeDownCast (vtkObjectBase *o) |
static vtkObject * | New () |
static void | BreakOnError () |
static void | SetGlobalWarningDisplay (int val) |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
static int | GetGlobalWarningDisplay () |
![]() | |
static int | IsTypeOf (const char *name) |
static vtkObjectBase * | New () |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkExodusModel () | |
~vtkExodusModel () | |
![]() | |
vtkObject () | |
virtual | ~vtkObject () |
virtual void | RegisterInternal (vtkObjectBase *, int check) |
virtual void | UnRegisterInternal (vtkObjectBase *, int check) |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
void | InternalReleaseFocus () |
![]() | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | CollectRevisions (ostream &) |
virtual void | ReportReferences (vtkGarbageCollector *) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Additional Inherited Members | |
![]() | |
unsigned char | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
![]() | |
vtkAtomicInt< vtkTypeInt32 > | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
Exodus Model.
A vtkUnstructuredGrid output by vtkExodusReader or vtkPExodusReader is missing a great deal of initialization and static model data that is in an Exodus II file. (Global variables, properties, node sets, side sets, and so on.) This data can be stored in a vtkModelMetadata object, which can be initialized using this vtkExodusModel class.
This class can be initialized with a file handle for an open Exodus file, and the vtkUnstructuredGrid derived from that file. The methods used would be SetGlobalInformation, SetLocalInformation, AddUGridElementVariable and AddUGridNodeVariable. The vtkExodusReader does this.
It can also be initialized (using UnpackExodusModel) from a vtkUnstructuredGrid that has had metadata packed into it's field arrays with PackExodusModel. The vtkExodusIIWriter does this.
If you plan to write out the Exodus file (with vtkExodusIIWriter), you should direct the Exodus reader to create a vtkExodusModel object. This will be used by the Exodus writer to create a correct Exodus II file on output. In addition, the vtkDistributedDataFilter is cognizant of the ExodusModel object and will unpack, extract, merge, and pack these objects associated with the grids it is partitioning.
Definition at line 66 of file vtkExodusModel.h.
typedef vtkObject vtkExodusModel::Superclass |
Definition at line 69 of file vtkExodusModel.h.
|
protected |
|
protected |
|
static |
|
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 |
|
protectedvirtual |
Reimplemented from vtkObject.
vtkExodusModel* vtkExodusModel::NewInstance | ( | ) | const |
|
virtual |
|
static |
In order to write a correct Exodus file from a vtkUnstructuredGrid, we need to know the global data which does not get represented in the UGrid. Initialize, with an open Exodus file, all the global fields of the ExodusModel object. fid is the file handle of the opened Exodus file. compute_word_size is the size of floating point values exchanged with the the Exodus library. (It's set in ex_open or ex_create.) The global fields are those which don't depend on which cells or field arrays are being read from the file.
int vtkExodusModel::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 ExodusModel 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 ExodusModel. (If this information is missing or incomplete, the ExodusIIWriter can still do something sensible in creating names for variables.)
int vtkExodusModel::RemoveUGridElementVariable | ( | char * | ugridVarName | ) |
int vtkExodusModel::AddUGridNodeVariable | ( | char * | ugridVarName, |
char * | origName, | ||
int | numComponents | ||
) |
int vtkExodusModel::RemoveUGridNodeVariable | ( | char * | ugridVarName | ) |
void vtkExodusModel::SetElementVariableInfo | ( | int | numOrigNames, |
char ** | origNames, | ||
int | numNames, | ||
char ** | names, | ||
int * | numComp, | ||
int * | map | ||
) |
void vtkExodusModel::SetNodeVariableInfo | ( | int | numOrigNames, |
char ** | origNames, | ||
int | numNames, | ||
char ** | names, | ||
int * | numComp, | ||
int * | map | ||
) |
int vtkExodusModel::SetLocalInformation | ( | vtkUnstructuredGrid * | ugrid, |
int | fid, | ||
int | timeStep, | ||
int | newGeometry, | ||
int | compute_word_size | ||
) |
Set the local information in the ExodusModel. This is information which depends on which blocks were read in, and which time step was read in. (Example - count of cells in each block, values of global variables, node IDs for nodes in each node set.) Provide the ugrid, the time step (the first time step is 0), the handle of an open Exodus file, and the size of floating point values exchanged with the Exodus library. Also indicate with a 1 if the geometry has changed (new blocks or blocks removed) since the last call. (When in doubt set to 1.) Please call SetGlobalInformation once before calling SetLocalInformation. SetLocalInformation may be called many times if different subsets of an Exodus file are read. Each call replaces the previous local values.
|
static |
Static function that returns 1 if the vtkUnstructuredGrid has metadata packed into it's field arrays, 0 otherwise.
vtkModelMetadata* vtkExodusModel::GetModelMetadata | ( | ) |
Set or get the underlying vtkModelMetadata object.
void vtkExodusModel::SetModelMetadata | ( | vtkModelMetadata * | emData | ) |
int vtkExodusModel::UnpackExodusModel | ( | vtkUnstructuredGrid * | grid, |
int | deleteIt | ||
) |
One way to initialize an ExodusModel object is to use SetGlobalInformation, SetLocalInformation, and the Add/Remove Variable calls to initialize it from an open Exodus file. Another way is to initialize it with the ExodusModel which has been packed into field arrays of a vtkUnstructuredGrid. Set the second argument to 1 if you would like the packed field arrays to be deleted after this ExodusModel is initialized. Returns 1 if there is no ExodusModel object associated with the grid, 0 otherwise.
int vtkExodusModel::MergeExodusModel | ( | vtkExodusModel * | em | ) |
Merge the supplied vtkExodusModel object into this one. It is assumed the two objects represent portions of the same distributed data set. (So the list of block IDs is the same, and so on.)
vtkExodusModel* vtkExodusModel::ExtractExodusModel | ( | vtkIdTypeArray * | globalCellIdList, |
vtkUnstructuredGrid * | grid | ||
) |
Create a new vtkExodusModel object representing a subset of the cells of this vtkExodusModel object. We need a list of the global IDs of the cells to be extracted, the grid which generated the Exodus Model (so we can find the points associated with each cell), and the name of the grid's global cell ID array, and the name of the grid's global node ID array.
void vtkExodusModel::PackExodusModel | ( | vtkUnstructuredGrid * | grid | ) |
The metadata encapsulated in a vtkExodusModel object can be written to field arrays which are then stored in the vtkUnstructuredGrid itself. PackExodusModel creates these field arrays and attaches them to the supplied grid.
void vtkExodusModel::Reset | ( | ) |
Reset all fields to their initial value.