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 "XdmfInformation.hpp"
33 
34 #include "XdmfItem.hpp"
35 #include "XdmfSharedPtr.hpp"
36 
37 #include "vtkXdmf3ArrayKeeper.h"
38 #include "vtkXdmf3ArraySelection.h"
39 
40 #include "XdmfCurvilinearGrid.hpp"
41 #include "XdmfGraph.hpp"
42 #include "XdmfGrid.hpp"
43 #include "XdmfRectilinearGrid.hpp"
44 #include "XdmfRegularGrid.hpp"
45 #include "XdmfSet.hpp"
46 #include "XdmfUnstructuredGrid.hpp"
47 #include "XdmfDomain.hpp"
48 
49 class vtkDataObject;
50 class vtkDataSet;
51 class vtkImageData;
53 class vtkRectilinearGrid;
54 class vtkStructuredGrid;
56 
57 class VTKIOXDMF3_EXPORT vtkXdmf3HeavyDataHandler
58 {
59 public:
63  static shared_ptr<vtkXdmf3HeavyDataHandler> New(
69  unsigned int processor, unsigned int nprocessors,
70  bool dt, double t,
71  vtkXdmf3ArrayKeeper *keeper,
72  bool asTime );
73 
78 
82  vtkDataObject *Populate(shared_ptr<XdmfGrid> item, vtkDataObject *toFill);
83  vtkDataObject *Populate(shared_ptr<XdmfDomain> item, vtkDataObject *toFill);
84  vtkDataObject *Populate(shared_ptr<XdmfGraph> item, vtkDataObject *toFill);
85 
87 
88  shared_ptr<XdmfGrid> testItem1;
89  shared_ptr<XdmfDomain> testItem2;
90 
91 protected:
92 
97 
101  bool ShouldRead(unsigned int piece, unsigned int npieces);
102 
103  bool GridEnabled(shared_ptr<XdmfGrid> grid);
104  bool GridEnabled(shared_ptr<XdmfGraph> graph);
105  bool SetEnabled(shared_ptr<XdmfSet> set);
106 
107  bool ForThisTime(shared_ptr<XdmfGrid> grid);
108  bool ForThisTime(shared_ptr<XdmfGraph> graph);
109 
110  vtkDataObject *MakeUnsGrid(shared_ptr<XdmfUnstructuredGrid> grid,
111  vtkUnstructuredGrid *dataSet,
112  vtkXdmf3ArrayKeeper *keeper);
113 
114  vtkDataObject *MakeRecGrid(shared_ptr<XdmfRectilinearGrid> grid,
115  vtkRectilinearGrid *dataSet,
116  vtkXdmf3ArrayKeeper *keeper);
117 
118  vtkDataObject *MakeCrvGrid(shared_ptr<XdmfCurvilinearGrid> grid,
119  vtkStructuredGrid *dataSet,
120  vtkXdmf3ArrayKeeper *keeper);
121 
122  vtkDataObject *MakeRegGrid(shared_ptr<XdmfRegularGrid> grid,
123  vtkImageData *dataSet,
124  vtkXdmf3ArrayKeeper *keeper);
125  vtkDataObject *MakeGraph(shared_ptr<XdmfGraph> grid,
126  vtkMutableDirectedGraph *dataSet,
127  vtkXdmf3ArrayKeeper *keeper);
128 
129  vtkDataObject *ExtractSet(unsigned int setnum, shared_ptr<XdmfGrid> grid,
130  vtkDataSet *dataSet,
131  vtkUnstructuredGrid *subSet,
132  vtkXdmf3ArrayKeeper *keeper);
133 
134  bool doTime;
135  double time;
136  unsigned int Rank;
137  unsigned int NumProcs;
143  bool AsTime;
144 };
145 
146 #endif //vtkXdmf3HeavyDataHandler_h
147 // VTK-HeaderTest-Exclude: vtkXdmf3HeavyDataHandler.h
a dataset that is topologically regular with variable spacing in the three coordinate directions ...
LRU cache of XDMF Arrays.
shared_ptr< XdmfDomain > testItem2
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
shared_ptr< XdmfGrid > testItem1
helper to identify requested arrays with