70 #ifndef __vtkExodusIIWriter_h
71 #define __vtkExodusIIWriter_h
76 #include <vtkstd/vector>
78 #include <vtkstd/string>
108 vtkSetStringMacro(FileName);
109 vtkGetStringMacro(FileName);
116 vtkSetMacro(StoreDoubles,
int);
117 vtkGetMacro(StoreDoubles,
int);
122 vtkSetMacro(GhostLevel,
int);
123 vtkGetMacro(GhostLevel,
int);
130 vtkSetMacro(WriteOutBlockIdArray,
int);
131 vtkGetMacro(WriteOutBlockIdArray,
int);
132 vtkBooleanMacro(WriteOutBlockIdArray,
int);
138 vtkSetMacro(WriteOutGlobalNodeIdArray,
int);
139 vtkGetMacro(WriteOutGlobalNodeIdArray,
int);
140 vtkBooleanMacro(WriteOutGlobalNodeIdArray,
int);
146 vtkSetMacro(WriteOutGlobalElementIdArray,
int);
147 vtkGetMacro(WriteOutGlobalElementIdArray,
int);
148 vtkBooleanMacro(WriteOutGlobalElementIdArray,
int);
153 vtkSetMacro(WriteAllTimeSteps,
int);
154 vtkGetMacro(WriteAllTimeSteps,
int);
155 vtkBooleanMacro(WriteAllTimeSteps,
int);
157 vtkSetStringMacro(BlockIdArrayName);
158 vtkGetStringMacro(BlockIdArrayName);
200 this->NumElements = 0;
201 this->ElementStartIndex = -1;
202 this->NodesPerElement = 0;
203 this->EntityCounts = std::vector<int>();
204 this->EntityNodeOffsets = std::vector<int>();
206 this->OutputIndex = -1;
207 this->NumAttributes = 0;
208 this->BlockAttributes = 0;
256 int BlockVariableTruthValue(
int blockIdx,
int varIdx);
259 char *StrDupWithNew (
const char *s);
281 int CreateNewExodusFile ();
282 void CloseExodusFile ();
285 void RemoveGhostCells ();
286 int CheckParameters ();
287 int CheckInputArrays ();
288 int ConstructBlockInfoMap ();
289 int ConstructVariableInfoMaps ();
290 int ParseMetadata ();
291 int CreateDefaultMetadata ();
292 char *GetCellTypeName (
int t);
298 void ConvertVariableNames (vtkstd::map<vtkstd::string, VariableInfo>& variableMap);
299 char **FlattenOutVariableNames (
301 const vtkstd::map<vtkstd::string, VariableInfo>& variableMap);
312 int WriteInitializationParameters ();
313 int WriteQARecords ();
314 int WriteInformationRecords ();
316 int WriteCoordinateNames ();
317 int WriteGlobalPointIds ();
318 int WriteBlockInformation ();
319 int WriteGlobalElementIds ();
320 int WriteVariableArrayNames ();
321 int WriteNodeSetInformation ();
322 int WriteSideSetInformation ();
323 int WriteProperties ();
324 int WriteNextTimeStep ();
327 double ExtractGlobalData (
const char *
name,
int comp,
int ts);
328 int WriteGlobalData (
int timestep,
vtkDataArray *buffer);
332 int WritePointData (
int timestep,
vtkDataArray *buffer);
vtkstd::map< int, Block > BlockInfoMap
vtkstd::vector< vtkSmartPointer< vtkUnstructuredGrid > > FlattenedInput
vtkstd::map< vtkstd::string, VariableInfo > BlockVariableMap
int * BlockElementVariableTruthTable
vtkstd::map< vtkstd::string, VariableInfo > GlobalVariableMap
vtkstd::vector< vtkstd::string > OutNames
vtkDoubleArray * TimeValues
int AtLeastOneGlobalNodeIdList
virtual int ProcessRequest(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkDataObject * OriginalInput
int NumberOfScalarGlobalArrays
dynamic, self-adjusting array of double
abstract class to write data to file(s)
dynamic, self-adjusting array of int
a simple class to control print indentation
vtkstd::vector< vtkIntArray * > BlockIdList
int AtLeastOneGlobalElementIdList
dataset represents arbitrary combinations of all possible cell types
int WriteOutGlobalNodeIdArray
abstract superclass for arrays of numeric data
std::vector< int > EntityCounts
int WriteOutGlobalElementIdArray
std::vector< int > EntityNodeOffsets
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
virtual int FillInputPortInformation(int port, vtkInformation *info)
vtkstd::map< vtkstd::string, VariableInfo > NodeVariableMap
int NumberOfScalarElementArrays
vtkstd::vector< vtkSmartPointer< vtkUnstructuredGrid > > NewFlattenedInput
vtkstd::vector< vtkIdType * > GlobalNodeIdList
int AllVariablesDefinedInAllBlocks
static vtkAlgorithm * New()
virtual void WriteData()=0
vtkstd::map< vtkIdType, vtkIdType > * LocalElementIdMap
vtkstd::map< vtkIdType, vtkIdType > * LocalNodeIdMap
vtkstd::vector< vtkstd::vector< int > > CellToElementOffset
general representation of visualization data
void PrintSelf(ostream &os, vtkIndent indent)
vtkModelMetadata * ModelMetadata
vtkstd::vector< vtkIdType * > GlobalElementIdList
int NumberOfScalarNodeArrays