libSplash
IDomainCollector.hpp
1 
22 #ifndef IDOMAINCOLLECTOR_HPP
23 #define IDOMAINCOLLECTOR_HPP
24 
25 #include "splash/Dimensions.hpp"
26 #include "splash/Selection.hpp"
27 #include "splash/domains/DataContainer.hpp"
28 #include "splash/domains/DomainData.hpp"
29 #include "splash/domains/Domain.hpp"
30 
31 #define DOMCOL_ATTR_CLASS "_class"
32 #define DOMCOL_ATTR_SIZE "_size"
33 #define DOMCOL_ATTR_GLOBAL_SIZE "_global_size"
34 #define DOMCOL_ATTR_OFFSET "_start"
35 #define DOMCOL_ATTR_GLOBAL_OFFSET "_global_start"
36 #define DOMCOL_ATTR_ELEMENTS "_elements"
37 
38 namespace splash
39 {
40 
46  {
47  public:
48 
53  {
54  UndefinedType = 0, PolyType = 10, GridType = 20
55  };
56 
67  virtual Domain getGlobalDomain(int32_t id,
68  const char* name) = 0;
69 
78  virtual Domain getLocalDomain(int32_t id,
79  const char* name) = 0;
80 
99  virtual DataContainer *readDomain(int32_t id,
100  const char* name,
101  const Domain domain,
102  DomDataClass* dataClass,
103  bool lazyLoad = false) = 0;
104 
112  virtual void readDomainLazy(DomainData *domainData) = 0;
113 
127  virtual void writeDomain(int32_t id,
128  const CollectionType& type,
129  uint32_t ndims,
130  const Selection select,
131  const char* name,
132  const Domain localDomain,
133  const Domain globalDomain,
134  DomDataClass dataClass,
135  const void* buf) = 0;
136 
148  virtual void appendDomain(int32_t id,
149  const CollectionType& type,
150  size_t count,
151  const char *name,
152  const Domain localDomain,
153  const Domain globalDomain,
154  const void *buf) = 0;
155 
171  virtual void appendDomain(int32_t id,
172  const CollectionType& type,
173  size_t count,
174  size_t offset,
175  size_t striding,
176  const char *name,
177  const Domain localDomain,
178  const Domain globalDomain,
179  const void *buf) = 0;
180  };
181 
182 }
183 
184 #endif /* IDOMAINCOLLECTOR_HPP */
virtual void appendDomain(int32_t id, const CollectionType &type, size_t count, const char *name, const Domain localDomain, const Domain globalDomain, const void *buf)=0
virtual Domain getLocalDomain(int32_t id, const char *name)=0
virtual void readDomainLazy(DomainData *domainData)=0
virtual DataContainer * readDomain(int32_t id, const char *name, const Domain domain, DomDataClass *dataClass, bool lazyLoad=false)=0
virtual Domain getGlobalDomain(int32_t id, const char *name)=0
virtual void writeDomain(int32_t id, const CollectionType &type, uint32_t ndims, const Selection select, const char *name, const Domain localDomain, const Domain globalDomain, DomDataClass dataClass, const void *buf)=0