Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

vtkExodusModel.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkExodusModel.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00015 /*----------------------------------------------------------------------------
00016  Copyright (c) Sandia Corporation
00017  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
00018 ----------------------------------------------------------------------------*/
00019 
00053 #ifndef __vtkExodusModel_h
00054 #define __vtkExodusModel_h
00055 
00056 #include "vtkObject.h"
00057 
00058 #include "vtkModelMetadata.h"  // So those who include vtkExodusModel don't
00059                                // need to know anything about ModelMetadata
00060 
00061 class vtkUnstructuredGrid;
00062 
00063 class VTK_HYBRID_EXPORT vtkExodusModel : public vtkObject
00064 { 
00065 public:
00066   vtkTypeRevisionMacro(vtkExodusModel, vtkObject);
00067   virtual void PrintSelf(ostream &os, vtkIndent indent);
00068 
00069   static vtkExodusModel *New();
00070 
00080   int SetGlobalInformation(int fid, int compute_word_size);
00081 
00094   int AddUGridElementVariable(char *ugridVarName, char *origName, int numComponents);
00095   int RemoveUGridElementVariable(char *ugridVarName);
00096 
00097   int AddUGridNodeVariable(char *ugridVarName, char *origName, int numComponents);
00098   int RemoveUGridNodeVariable(char *ugridVarName);
00099 
00100   void SetElementVariableInfo(int numOrigNames, char **origNames,
00101             int numNames, char **names,  int *numComp, int *map);
00102   void SetNodeVariableInfo(int numOrigNames, char **origNames,
00103             int numNames, char **names,  int *numComp, int *map);
00104 
00118   int SetLocalInformation(vtkUnstructuredGrid *ugrid,
00119         int fid, int timeStep, int newGeometry, int compute_word_size);
00120 
00124   static int HasMetadata(vtkUnstructuredGrid *grid);
00125 
00128   vtkModelMetadata *GetModelMetadata();
00129   void SetModelMetadata(vtkModelMetadata *emData);
00130 
00140   int UnpackExodusModel(vtkUnstructuredGrid *grid, int deleteIt);
00141 
00146   int MergeExodusModel(vtkExodusModel *em);
00147 
00155   vtkExodusModel *ExtractExodusModel(vtkIntArray *globalCellIdList, 
00156         vtkUnstructuredGrid *grid, const char *globalCellIdArrayName,
00157         const char *globalNodeIdArrayName);
00158 
00164   void PackExodusModel(vtkUnstructuredGrid *grid);
00165   
00168   void Reset();
00169 
00170 protected:
00171 
00172   vtkExodusModel();
00173   ~vtkExodusModel();
00174 
00175 private:
00176 
00177   vtkModelMetadata *CheckSetModelMetadata();
00178 
00179   static void CopyDoubleToFloat(float *f, double *d, int len);
00180 
00181   int SetLocalBlockInformation(
00182           int fid, int use_floats, int *blockIds , int *cellIds, int ncells);
00183   int SetLocalNodeSetInformation(
00184                        int fid, int use_floats, int *pointIds, int npoints);
00185   int SetLocalSideSetInformation(
00186                         int fid, int use_floats, int *cellIds, int ncells);
00187 
00188   void RemoveBeginningAndTrailingSpaces(char **names, int len);
00189 
00190   vtkModelMetadata *ModelMetadata;
00191 
00192   int GeometryCount;
00193 
00194   vtkExodusModel(const vtkExodusModel&); // Not implemented
00195   void operator=(const vtkExodusModel&); // Not implemented
00196 };
00197 #endif

Generated on Mon Jan 21 23:07:27 2008 for VTK by  doxygen 1.4.3-20050530