Ilwis-Objects  1.0
GIS and Remote Sensing framework for data access and processing
 All Classes Functions Enumerations Pages
datadefinition.h
1 #ifndef DATADEFINITION_H
2 #define DATADEFINITION_H
3 
4 namespace Ilwis {
10 class KERNELSHARED_EXPORT DataDefinition
11 {
12 public:
18  DataDefinition(const DataDefinition &def);
19 
30  DataDefinition(const IDomain& dm, Ilwis::Range *rng=0);
31 
36 
37  ~DataDefinition();
38 
45  DataDefinition& operator=(const DataDefinition& def1);
46 
53  void range(Ilwis::Range *vr);
54 
58  template<typename T=Range> QSharedPointer<T> range() const{
59  return _range.staticCast<T>();
60  }
61 
67  IDomain domain() const;
68 
76  void domain(const IDomain& dom);
77 
85  bool isValid() const;
86 
95  bool isCompatibleWith(const DataDefinition& def) const;
96 
105  static DataDefinition merge(const DataDefinition &def1, const DataDefinition &def2);
106 
107 protected:
108  IDomain _domain;
109  SPRange _range;
110  SPRange _stretchRange;
111 };
112 
113 KERNELSHARED_EXPORT bool operator==(const DataDefinition& def1, const DataDefinition& def2);
114 KERNELSHARED_EXPORT bool operator!=(const DataDefinition& def1, const DataDefinition& def2);
115 
116 }
117 
118 #endif // DATADEFINITION_H