52 #ifndef vtkSpyPlotReader_h 53 #define vtkSpyPlotReader_h 55 #include "vtkCompositeDataSetAlgorithm.h" 56 #include "vtkPVVTKExtensionsDefaultModule.h" 59 class vtkCallbackCommand;
62 class vtkDataArraySelection;
63 class vtkDataSetAttributes;
65 class vtkNonOverlappingAMR;
66 class vtkMultiBlockDataSet;
67 class vtkMultiProcessController;
68 class vtkRectilinearGrid;
74 class VTKPVVTKEXTENSIONSDEFAULT_EXPORT
vtkSpyPlotReader :
public vtkCompositeDataSetAlgorithm
79 void PrintSelf(ostream& os, vtkIndent indent);
80 void PrintBlockList(vtkNonOverlappingAMR* hbds,
int myProcId);
87 virtual void SetFileName(
const char* filename);
88 vtkGetStringMacro(FileName);
96 vtkSetMacro(TimeStep,
int);
97 vtkGetMacro(TimeStep,
int);
108 vtkSetMacro(DistributeFiles,
int);
109 vtkGetMacro(DistributeFiles,
int);
110 vtkBooleanMacro(DistributeFiles,
int);
119 vtkSetMacro(GenerateLevelArray,
int);
120 vtkGetMacro(GenerateLevelArray,
int);
121 vtkBooleanMacro(GenerateLevelArray,
int);
130 vtkSetMacro(GenerateBlockIdArray,
int);
131 vtkGetMacro(GenerateBlockIdArray,
int);
132 vtkBooleanMacro(GenerateBlockIdArray,
int);
141 vtkSetMacro(GenerateActiveBlockArray,
int);
142 vtkGetMacro(GenerateActiveBlockArray,
int);
143 vtkBooleanMacro(GenerateActiveBlockArray,
int);
152 vtkSetMacro(GenerateTracerArray,
int);
153 vtkGetMacro(GenerateTracerArray,
int);
154 vtkBooleanMacro(GenerateTracerArray,
int);
163 void SetGenerateMarkers(
int gm);
164 vtkGetMacro(GenerateMarkers,
int);
165 vtkBooleanMacro(GenerateMarkers,
int);
173 void SetDownConvertVolumeFraction(
int vf);
174 vtkGetMacro(DownConvertVolumeFraction,
int);
175 vtkBooleanMacro(DownConvertVolumeFraction,
int);
184 vtkSetMacro(ComputeDerivedVariables,
int);
185 vtkGetMacro(ComputeDerivedVariables,
int);
186 vtkBooleanMacro(ComputeDerivedVariables,
int);
197 void SetMergeXYZComponents(
int merge);
198 vtkGetMacro(MergeXYZComponents,
int);
199 vtkBooleanMacro(MergeXYZComponents,
int);
206 vtkGetVector2Macro(TimeStepRange,
int);
213 int GetNumberOfCellArrays();
214 const char* GetCellArrayName(
int idx);
215 int GetCellArrayStatus(
const char* name);
216 void SetCellArrayStatus(
const char* name,
int status);
224 void SetGlobalController(vtkMultiProcessController* controller);
229 virtual int CanReadFile(
const char* fname);
240 int* rightHasBounds,
int* leftHasBounds);
253 void GetLocalMinLevelAndSpacing(
261 int PrepareAMRData(vtkNonOverlappingAMR* hb,
vtkSpyPlotBlock* block,
int* level,
int* blockId,
262 int extents[6],
int realExtents[6],
int realDims[3], vtkCellData** cd);
265 int PrepareData(vtkMultiBlockDataSet* hb,
vtkSpyPlotBlock* block, vtkRectilinearGrid** rg,
266 int extents[6],
int realExtents[6],
int realDims[3], vtkCellData** cd);
270 void UpdateFieldData(
int numFields,
int dims[3],
int level,
int blockID,
275 void UpdateBadGhostFieldData(
int numFields,
int dims[3],
int realDims[3],
int realExtents[6],
279 void PrepareBlocks(vtkMultiBlockDataSet* poly,
int numMat);
287 virtual int FillOutputPortInformation(
int port, vtkInformation* info);
291 virtual int RequestDataObject(
292 vtkInformation* req, vtkInformationVector** inV, vtkInformationVector* outV);
296 virtual int RequestInformation(vtkInformation* request, vtkInformationVector** inputVector,
297 vtkInformationVector* outputVector);
301 virtual int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
302 vtkInformationVector* outputVector);
311 int UpdateMetaData(vtkInformation* request, vtkInformationVector* outputVector);
313 int UpdateFile(vtkInformation* request, vtkInformationVector* outputVector);
315 void AddGhostLevelArray(
int numLevels);
316 int AddBlockIdArray(vtkCompositeDataSet* cds);
317 int AddAttributes(vtkNonOverlappingAMR* hbds);
318 int AddActiveBlockArray(vtkCellData* cd, vtkIdType nCells,
unsigned char status);
321 void SetGlobalLevels(vtkCompositeDataSet* cds);
328 int TimeStepRange[2];
341 vtkInformation* requestInfo, vtkInformationVector* outputInfo, vtkCompositeDataSet* hb);
347 double time,
int piece = -1,
int numPieces = 1,
int ghostLevels = 0,
const int extents[6] = 0)
349 return this->Superclass::UpdateTimeStep(time, piece, numPieces, ghostLevels, extents);
355 void MergeVectors(vtkDataSetAttributes* da);
356 int MergeVectors(vtkDataSetAttributes* da, vtkDataArray* a1, vtkDataArray* a2);
357 int MergeVectors(vtkDataSetAttributes* da, vtkDataArray* a1, vtkDataArray* a2, vtkDataArray* a3);
360 int ComputeDerivedVars(
368 vtkGetObjectMacro(CellDataArraySelection, vtkDataArraySelection);
380 double MinLevelSpacing[3];
401 class VectorOfDoubles;
403 VectorOfDoubles* TimeSteps;
404 void SetTimeStepsInternal(
const VectorOfDoubles&);
int GenerateActiveBlockArray
Maps strings to vtkSpyPlotUniReaders.
vtkDataArraySelection * CellDataArraySelection
bool TimeRequestedFromPipeline
vtkSpyPlotReaderMap * Map
int DownConvertVolumeFraction
int ComputeDerivedVariables
Read SPCTH Spy Plot file format.
virtual int UpdateTimeStep(double time, int piece=-1, int numPieces=1, int ghostLevels=0, const int extents[6]=0)
Overwritten to avoid hiding.
Represents a SpyPlot Block Grid.
vtkMultiProcessController * GlobalController
Read SPCTH Spy Plot file format.