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 PROFILEEMPTY_OBJECT_H
39 #define PROFILEEMPTY_OBJECT_H
101 radiusTop(radTop), radiusBottom(radBot)
124 { radiusBottom = radii[rIndex++];
125 radiusTop = radii[rIndex++];
152 {
return GeoTessProfileType::EMPTY; };
158 {
return (GeoTessProfile::operator==(p) &&
168 int attributeIndex,
double radius,
169 bool allowRadiusOutOfRange)
const;
179 virtual double getValue(
int attributeIndex,
int nodeIndex)
const
180 {
return NaN_DOUBLE; }
192 virtual bool isNaN(
int nodeIndex,
int attributeIndex)
226 {
return i == 0 ? radiusBottom : radiusTop; };
242 {
float* fa =
new float [2]; fa[0] = radiusBottom; fa[1] = radiusTop;
return fa; };
263 virtual void setData(
const vector<GeoTessData*>& inData)
270 virtual void setRadii(
const vector<float>& newRadii)
271 { radiusBottom = newRadii[0]; radiusTop = newRadii[1]; }
278 radiusBottom = radius;
326 { ofs.
writeByte((
byte) GeoTessProfileType::EMPTY.ordinal());
334 { ofs.
writeInt(GeoTessProfileType::EMPTY.ordinal());
350 {
return abs(radiusTop - radius) < abs(radiusBottom - radius) ? 1 : 0; }
394 double dkm,
double radius,
double hcoefficient)
const
404 double horizontalCoefficient)
const
410 vector<int>& nodeIndexes, vector<double>& coefficients,
411 double& radius,
bool& allowOutOfRange)
414 nodeIndexes.push_back(0);
415 coefficients.push_back(NaN_DOUBLE);
435 #endif // PROFILEEMPTY_OBJECT_H
virtual float * getRadii()
virtual LONG_INT getMemory()
static string class_name()
virtual double getValue(int attributeIndex, int nodeIndex) const
GeoTessProfileEmpty(float radBot, float radTop)
virtual int getNRadii() const
virtual void getCoefficients(map< int, double > &coefficients, double radius, double horizontalCoefficient) const
GeoTessProfileEmpty(IFStreamAscii &ifs)
Abstract class that manages the radii and data values that span a single layer associated with a sing...
virtual float getRadiusTop() const
virtual void resetPointIndices()
virtual double getValueTop(int attributeIndex) const
Enumeration of the valid Profile types, including EMPTY, THIN, CONSTANT, NPOINT and SURFACE.
void writeFloatNL(float f)
virtual GeoTessProfile * copy()
void writeString(const string &s)
virtual void setInterpolationCoefficients(const GeoTessInterpolatorType &interpType, vector< int > &nodeIndexes, vector< double > &coefficients, double &radius, bool &allowOutOfRange)
virtual bool isNaN(int nodeIndex, int attributeIndex)
virtual float getRadius(int i) const
virtual void write(IFStreamAscii &ofs)
virtual double getValue(const GeoTessInterpolatorType &rInterpType, int attributeIndex, double radius, bool allowRadiusOutOfRange) const
virtual GeoTessData ** getData()
virtual int findClosestRadiusIndex(double radius) const
virtual float getRadiusTop() const
virtual const GeoTessData & getData(int i) const
virtual void write(IFStreamBinary &ofs)
virtual const GeoTessProfileType & getType() const
virtual GeoTessData * getData(int i)
virtual double getValueBottom(int attributeIndex) const
virtual GeoTessData * getDataTop()
A Profile object that defines two radii at the bottom and top of the associated layer,...
virtual const GeoTessData & getDataTop() const
virtual GeoTessData * getDataBottom()
virtual float getRadiusBottom() const
virtual void setRadii(const vector< float > &newRadii)
Opens ascii file for read and write access.
virtual int class_size() const
virtual void setPointIndex(int nodeIndex, int pointIndex)
virtual ~GeoTessProfileEmpty()
Abstract base class that manages the data values attached to a single grid point.
virtual int getPointIndex(int nodeIndex) const
GeoTessProfileEmpty(IFStreamBinary &ifs)
Opens a file for binary read and write access.
virtual const GeoTessData & getDataBottom() const
virtual int getNData() const
virtual void setRadius(int index, float radius)
virtual void setData(int index, GeoTessData *inData)
virtual float getRadiusBottom() const
GeoTessProfileEmpty(float radii[], int &rIndex)
virtual void getWeights(map< int, double > &weights, double dkm, double radius, double hcoefficient) const
virtual void setData(const vector< GeoTessData * > &inData)
Enumeration of the interpolation algorithms supported by GeoTess including LINEAR,...