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 =========================================================================*/
30 #ifndef vtkXdmf3HeavyDataHandler_h
31 #define vtkXdmf3HeavyDataHandler_h
32 
33 #include "vtkIOXdmf3Module.h" // For export macro
34 
35 #include "XdmfItem.hpp"
36 
37 class vtkDataObject;
38 class vtkDataSet;
39 class vtkImageData;
41 class vtkRectilinearGrid;
42 class vtkStructuredGrid;
46 
47 class XdmfCurvilinearGrid;
48 class XdmfGraph;
49 class XdmfGrid;
50 class XdmfItem;
51 class XdmfRectilinearGrid;
52 class XdmfRegularGrid;
53 class XdmfSet;
54 class XdmfUnstructuredGrid;
55 
56 class VTKIOXDMF3_EXPORT vtkXdmf3HeavyDataHandler
57 {
58 public:
60 
61  static shared_ptr<vtkXdmf3HeavyDataHandler> New(
67  unsigned int processor, unsigned int nprocessors,
68  bool dt, double t,
69  vtkXdmf3ArrayKeeper *keeper,
70  bool asTime );
72 
75 
78  vtkDataObject *Populate(shared_ptr<XdmfItem> item, vtkDataObject *toFill);
79 
81 
82 protected:
83 
86 
88  bool ShouldRead(unsigned int piece, unsigned int npieces);
89 
90  bool GridEnabled(shared_ptr<XdmfGrid> grid);
91  bool GridEnabled(shared_ptr<XdmfGraph> graph);
92  bool SetEnabled(shared_ptr<XdmfSet> set);
93 
94  bool ForThisTime(shared_ptr<XdmfGrid> grid);
95  bool ForThisTime(shared_ptr<XdmfGraph> graph);
96 
97  vtkDataObject *MakeUnsGrid(shared_ptr<XdmfUnstructuredGrid> grid,
98  vtkUnstructuredGrid *dataSet,
99  vtkXdmf3ArrayKeeper *keeper);
100 
101  vtkDataObject *MakeRecGrid(shared_ptr<XdmfRectilinearGrid> grid,
102  vtkRectilinearGrid *dataSet,
103  vtkXdmf3ArrayKeeper *keeper);
104 
105  vtkDataObject *MakeCrvGrid(shared_ptr<XdmfCurvilinearGrid> grid,
106  vtkStructuredGrid *dataSet,
107  vtkXdmf3ArrayKeeper *keeper);
108 
109  vtkDataObject *MakeRegGrid(shared_ptr<XdmfRegularGrid> grid,
110  vtkImageData *dataSet,
111  vtkXdmf3ArrayKeeper *keeper);
112  vtkDataObject *MakeGraph(shared_ptr<XdmfGraph> grid,
113  vtkMutableDirectedGraph *dataSet,
114  vtkXdmf3ArrayKeeper *keeper);
115 
116  vtkDataObject *ExtractSet(unsigned int setnum, shared_ptr<XdmfGrid> grid,
117  vtkDataSet *dataSet,
118  vtkUnstructuredGrid *subSet,
119  vtkXdmf3ArrayKeeper *keeper);
120 
121  bool doTime;
122  double time;
123  unsigned int Rank;
124  unsigned int NumProcs;
130  bool AsTime;
131 };
132 
133 #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