VTK
vtkXdmf3HeavyDataHandler.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkXdmf3HeavyDataHandler.h
5  Language: C++
6 
7  Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen
8  All rights reserved.
9  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
10 
11  This software is distributed WITHOUT ANY WARRANTY; without even
12  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13  PURPOSE. See the above copyright notice for more information.
14 
15 =========================================================================*/
27 #ifndef vtkXdmf3HeavyDataHandler_h
28 #define vtkXdmf3HeavyDataHandler_h
29 
30 #include "vtkIOXdmf3Module.h" // For export macro
31 
32 #include "XdmfItem.hpp"
33 
34 class vtkDataObject;
35 class vtkDataSet;
36 class vtkImageData;
38 class vtkRectilinearGrid;
39 class vtkStructuredGrid;
43 
44 class XdmfCurvilinearGrid;
45 class XdmfGraph;
46 class XdmfGrid;
47 class XdmfItem;
48 class XdmfRectilinearGrid;
49 class XdmfRegularGrid;
50 class XdmfSet;
51 class XdmfUnstructuredGrid;
52 
53 class VTKIOXDMF3_EXPORT vtkXdmf3HeavyDataHandler
54 {
55 public:
57 
58  static shared_ptr<vtkXdmf3HeavyDataHandler> New(
64  unsigned int processor, unsigned int nprocessors,
65  bool dt, double t,
66  vtkXdmf3ArrayKeeper *keeper,
67  bool asTime );
69 
72 
75  vtkDataObject *Populate(shared_ptr<XdmfItem> item, vtkDataObject *toFill);
76 
78 
79 protected:
80 
83 
85  bool ShouldRead(unsigned int piece, unsigned int npieces);
86 
87  bool GridEnabled(shared_ptr<XdmfGrid> grid);
88  bool GridEnabled(shared_ptr<XdmfGraph> graph);
89  bool SetEnabled(shared_ptr<XdmfSet> set);
90 
91  bool ForThisTime(shared_ptr<XdmfGrid> grid);
92  bool ForThisTime(shared_ptr<XdmfGraph> graph);
93 
94  vtkDataObject *MakeUnsGrid(shared_ptr<XdmfUnstructuredGrid> grid,
95  vtkUnstructuredGrid *dataSet,
96  vtkXdmf3ArrayKeeper *keeper);
97 
98  vtkDataObject *MakeRecGrid(shared_ptr<XdmfRectilinearGrid> grid,
99  vtkRectilinearGrid *dataSet,
100  vtkXdmf3ArrayKeeper *keeper);
101 
102  vtkDataObject *MakeCrvGrid(shared_ptr<XdmfCurvilinearGrid> grid,
103  vtkStructuredGrid *dataSet,
104  vtkXdmf3ArrayKeeper *keeper);
105 
106  vtkDataObject *MakeRegGrid(shared_ptr<XdmfRegularGrid> grid,
107  vtkImageData *dataSet,
108  vtkXdmf3ArrayKeeper *keeper);
109  vtkDataObject *MakeGraph(shared_ptr<XdmfGraph> grid,
110  vtkMutableDirectedGraph *dataSet,
111  vtkXdmf3ArrayKeeper *keeper);
112 
113  vtkDataObject *ExtractSet(unsigned int setnum, shared_ptr<XdmfGrid> grid,
114  vtkDataSet *dataSet,
115  vtkUnstructuredGrid *subSet,
116  vtkXdmf3ArrayKeeper *keeper);
117 
118  bool doTime;
119  double time;
120  unsigned int Rank;
121  unsigned int NumProcs;
127  bool AsTime;
128 };
129 
130 #endif //vtkXdmf3HeavyDataHandler_h
a dataset that is topologically regular with variable spacing in the three coordinate directions ...
LRU cache of XDMF Arrays.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:61
vtkXdmf3ArraySelection * GridsCache
vtkXdmf3ArraySelection * PointArrays
topologically and geometrically regular array of data
Definition: vtkImageData.h:44
dataset represents arbitrary combinations of all possible cell types
An editable directed graph.
internal helper for vtkXdmf3Reader
vtkXdmf3ArraySelection * CellArrays
vtkXdmf3ArraySelection * FieldArrays
topologically regular array of data
vtkXdmf3ArraySelection * SetsCache
general representation of visualization data
Definition: vtkDataObject.h:64
helper to identify requested arrays with