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:
59  static shared_ptr<vtkXdmf3HeavyDataHandler> New(
65  unsigned int processor, unsigned int nprocessors,
66  bool dt, double t,
67  vtkXdmf3ArrayKeeper *keeper,
68  bool asTime );
69 
74 
78  vtkDataObject *Populate(shared_ptr<XdmfItem> item, vtkDataObject *toFill);
79 
81 
82 protected:
83 
88 
92  bool ShouldRead(unsigned int piece, unsigned int npieces);
93 
94  bool GridEnabled(shared_ptr<XdmfGrid> grid);
95  bool GridEnabled(shared_ptr<XdmfGraph> graph);
96  bool SetEnabled(shared_ptr<XdmfSet> set);
97 
98  bool ForThisTime(shared_ptr<XdmfGrid> grid);
99  bool ForThisTime(shared_ptr<XdmfGraph> graph);
100 
101  vtkDataObject *MakeUnsGrid(shared_ptr<XdmfUnstructuredGrid> grid,
102  vtkUnstructuredGrid *dataSet,
103  vtkXdmf3ArrayKeeper *keeper);
104 
105  vtkDataObject *MakeRecGrid(shared_ptr<XdmfRectilinearGrid> grid,
106  vtkRectilinearGrid *dataSet,
107  vtkXdmf3ArrayKeeper *keeper);
108 
109  vtkDataObject *MakeCrvGrid(shared_ptr<XdmfCurvilinearGrid> grid,
110  vtkStructuredGrid *dataSet,
111  vtkXdmf3ArrayKeeper *keeper);
112 
113  vtkDataObject *MakeRegGrid(shared_ptr<XdmfRegularGrid> grid,
114  vtkImageData *dataSet,
115  vtkXdmf3ArrayKeeper *keeper);
116  vtkDataObject *MakeGraph(shared_ptr<XdmfGraph> grid,
117  vtkMutableDirectedGraph *dataSet,
118  vtkXdmf3ArrayKeeper *keeper);
119 
120  vtkDataObject *ExtractSet(unsigned int setnum, shared_ptr<XdmfGrid> grid,
121  vtkDataSet *dataSet,
122  vtkUnstructuredGrid *subSet,
123  vtkXdmf3ArrayKeeper *keeper);
124 
125  bool doTime;
126  double time;
127  unsigned int Rank;
128  unsigned int NumProcs;
134  bool AsTime;
135 };
136 
137 #endif //vtkXdmf3HeavyDataHandler_h
138 // VTK-HeaderTest-Exclude: 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:62
vtkXdmf3ArraySelection * GridsCache
vtkXdmf3ArraySelection * PointArrays
topologically and geometrically regular array of data
Definition: vtkImageData.h:45
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