SENSEI
A frame work for generic in situ analytics
ConduitDataAdaptor.h
1 #ifndef CONDUIT_DATAADAPTOR_H
2 #define CONDUIT_DATAADAPTOR_H
3 
4 #include <vector>
5 #include <svtkDataArray.h>
6 #include <conduit.hpp>
7 
8 #include "DataAdaptor.h"
9 
10 
11 namespace sensei
12 {
13 
14 class SENSEI_EXPORT ConduitDataAdaptor : public sensei::DataAdaptor
15 {
16 public:
17  static ConduitDataAdaptor* New();
18  senseiTypeMacro(ConduitDataAdaptor, sensei::DataAdaptor);
19  void PrintSelf(ostream &os, svtkIndent indent) override;
20 
21  void SetNode(conduit::Node* node);
22  void UpdateFields();
23 
24  // SENSEI DataAdaptor API.
25  int GetNumberOfMeshes(unsigned int &numMeshes) override;
26 
27  int GetMeshMetadata(unsigned int id, sensei::MeshMetadataPtr &metadata) override;
28 
29  int GetMesh(const std::string &meshName, bool structureOnly, svtkDataObject *&mesh) override;
30 
31  //int AddGhostNodesArray(svtkDataObject* mesh, const std::string &meshName) override;
32  //int AddGhostCellsArray(svtkDataObject* mesh, const std::string &meshName) override;
33 
34  int AddArray(svtkDataObject* mesh, const std::string &meshName, int association, const std::string &arrayName) override;
35 
36  int ReleaseData() override;
37 
38 protected:
40  ~ConduitDataAdaptor() override;
41 
42  typedef std::map<std::string, std::vector<std::string>> Fields;
43  Fields FieldNames;
44  int *GlobalBlockDistribution;
45 
46 private:
47  ConduitDataAdaptor(const ConduitDataAdaptor&) = delete; // not implemented.
48  void operator=(const ConduitDataAdaptor&) = delete; // not implemented.
49 
50  conduit::Node* Node;
51 };
52 
53 } // namespace sensei
54 
55 #endif
Definition: ConduitDataAdaptor.h:14
SENSEI.
Definition: ADIOS2AnalysisAdaptor.h:27
Base class that defines the interface for fetching data from a simulation.
Definition: DataAdaptor.h:25