GeoTessCPP
2.2.3
Software to facilitate storage and retrieval of 3D information about the Earth.
|
Go to the documentation of this file.
38 #ifndef PROFILESURFACE_OBJECT_H
39 #define PROFILESURFACE_OBJECT_H
65 class GeoTessMetaData;
126 {
return GeoTessProfileType::SURFACE; };
132 {
return (GeoTessProfile::operator==(p) &&
144 virtual double getValue(
int attributeIndex,
int nodeIndex)
const
146 return nodeIndex == 0 ? data->
getDouble(attributeIndex) : NaN_DOUBLE;
156 {
return data->
getDouble(attributeIndex); }
168 virtual bool isNaN(
int nodeIndex,
int attributeIndex)
170 return nodeIndex != 0 || data->
isNaN(attributeIndex);
178 int attributeIndex,
double radius,
179 bool allowRadiusOutOfRange)
const
181 return getData(0).getDouble(attributeIndex);
189 {
return NaN_FLOAT; };
225 virtual void setData(
const vector<GeoTessData*>& inData)
226 {
delete data; data = inData[0]; }
232 {
delete data; data = inData; }
238 virtual void setRadii(
const vector<float>& newRadii)
248 {
return NaN_FLOAT; };
264 {
return NaN_FLOAT; };
282 data(NULL), pointIndex(-1)
283 { data = GeoTessData::getData(ifs, gtmd); };
288 GeoTessProfileSurface(IFStreamAscii& ifs, GeoTessMetaData& gtmd) : GeoTessProfile(),
289 data(NULL), pointIndex(-1)
290 { data = GeoTessData::getData(ifs, gtmd); };
296 virtual ~GeoTessProfileSurface() {
if (data != NULL)
delete data; };
301 virtual void write(IFStreamBinary& ofs)
302 { ofs.writeByte((
byte) GeoTessProfileType::SURFACE.ordinal());
308 virtual void write(IFStreamAscii& ofs)
309 { ofs.writeInt(GeoTessProfileType::SURFACE.ordinal());
322 virtual int findClosestRadiusIndex(
double radius)
const
333 virtual void setPointIndex(
int nodeIndex,
int pntIndex)
334 { pointIndex = pntIndex; }
344 virtual void resetPointIndices() { pointIndex = -1; }
354 virtual int getPointIndex(
int nodeIndex)
const
355 {
return pointIndex; }
361 virtual GeoTessProfile* copy()
363 return new GeoTessProfileSurface(data->copy());
372 #endif // PROFILESURFACE_OBJECT_H
virtual GeoTessData ** getData()
virtual int getNRadii() const
virtual LONG_INT getMemory()
virtual void setData(const vector< GeoTessData * > &inData)
virtual bool isNaN(int nodeIndex, int attributeIndex)
Abstract class that manages the radii and data values that span a single layer associated with a sing...
virtual GeoTessData * getDataTop()
virtual LONG_INT getMemory()
virtual float getRadiusTop() const
Enumeration of the valid Profile types, including EMPTY, THIN, CONSTANT, NPOINT and SURFACE.
virtual float getRadius(int i) const
virtual int class_size() const
GeoTessProfileSurface(GeoTessData *dat)
virtual void setRadius(int index, float radius)
static string class_name()
virtual double getValue(int attributeIndex, int nodeIndex) const
virtual int getNData() const
virtual double getValueTop(int attributeIndex) const
virtual GeoTessData * getDataBottom()
virtual float * getRadii()
A Profile object that defines a single Data object and no radius value.
Abstract base class that manages the data values attached to a single grid point.
virtual void setRadii(const vector< float > &newRadii)
Opens a file for binary read and write access.
virtual double getDouble(int attributeIndex) const
virtual float getRadiusBottom() const
virtual const GeoTessData & getDataBottom() const
virtual const GeoTessData & getDataTop() const
virtual const GeoTessData & getData(int i) const
virtual GeoTessData * getData(int i)
virtual const GeoTessProfileType & getType() const
virtual double getValue(const GeoTessInterpolatorType &rInterpType, int attributeIndex, double radius, bool allowRadiusOutOfRange) const
virtual GeoTessData ** getData()
Enumeration of the interpolation algorithms supported by GeoTess including LINEAR,...
virtual bool isNaN(int attributeIndex) const
virtual void setData(int index, GeoTessData *inData)