59 class GeoTessMetaData;
62 template<
typename T>
class DataArray;
63 template<
typename T>
class DataValue;
82 static int aClassCount;
105 virtual bool operator == (
const Data& d)
const
117 static Data* getData(
double values[],
const int& size);
118 static Data* getData(
const vector<double>& values);
129 static Data* getData(
float values[],
const int& size);
130 static Data* getData(
const vector<float>& values);
141 static Data* getData(
LONG_INT values[],
const int& size);
142 static Data* getData(
const vector<LONG_INT>& values);
153 static Data* getData(
int values[],
const int& size);
154 static Data* getData(
const vector<int>& values);
165 static Data* getData(
short values[],
const int& size);
166 static Data* getData(
const vector<short>& values);
177 static Data* getData(
byte values[],
const int& size);
178 static Data* getData(
const vector<byte>& values);
191 virtual int size()
const =
ABSTRACT;
198 virtual double getDouble(
int attributeIndex)
const =
ABSTRACT;
205 virtual float getFloat(
int attributeIndex)
const =
ABSTRACT;
219 virtual int getInt(
int attributeIndex)
const =
ABSTRACT;
226 virtual short getShort(
int attributeIndex)
const =
ABSTRACT;
233 virtual byte getByte(
int attributeIndex)
const =
ABSTRACT;
238 virtual void getValue(
int attributeIndex,
double& val)
const =
ABSTRACT;
243 virtual void getValue(
int attributeIndex,
float& val)
const =
ABSTRACT;
253 virtual void getValue(
int attributeIndex,
int& val)
const =
ABSTRACT;
258 virtual void getValue(
int attributeIndex,
short& val)
const =
ABSTRACT;
263 virtual void getValue(
int attributeIndex,
byte& val)
const =
ABSTRACT;
270 virtual void getValues(
double values[],
const int& n) =
ABSTRACT;
277 virtual void getValues(
float values[],
const int& n) =
ABSTRACT;
291 virtual void getValues(
int values[],
const int& n) =
ABSTRACT;
298 virtual void getValues(
short values[],
const int& n) =
ABSTRACT;
305 virtual void getValues(
byte values[],
const int& n) =
ABSTRACT;
315 virtual Data& setValue(
int attributeIndex,
double v) =
ABSTRACT;
324 virtual Data& setValue(
int attributeIndex,
float v) =
ABSTRACT;
342 virtual Data& setValue(
int attributeIndex,
int v) =
ABSTRACT;
351 virtual Data& setValue(
int attributeIndex,
short v) =
ABSTRACT;
369 template <
typename T>
370 void fill(T fillValue) {
for (
int i=0; i<size(); ++i) setValue(i,fillValue);}
383 virtual bool isNaN(
int attributeIndex)
const =
ABSTRACT;
391 Data() { ++aClassCount; };
409 static Data* getData(IFStreamBinary& ifs, GeoTessMetaData& gtmd);
416 static Data* getData(IFStreamAscii& input, GeoTessMetaData& gtmd);
422 virtual void write(IFStreamBinary& ofs) =
ABSTRACT;
428 virtual void write(IFStreamAscii& ofs) =
ABSTRACT;
436 #endif // DATA_OBJECT_H