36 #ifndef PROFILESURFACE_EMPTY_OBJECT_H
37 #define PROFILESURFACE_EMPTY_OBJECT_H
64 class GeoTessMetaData;
85 static string class_name() {
return "ProfileSurfaceEmpty"; }
102 virtual bool operator ==(
const GeoTessProfile& p)
const {
return p.
getType() == GeoTessProfileType::SURFACE_EMPTY; }
112 virtual double getValue(
int attributeIndex,
int nodeIndex)
const {
return NaN_DOUBLE; }
120 virtual double getValueTop(
int attributeIndex)
const {
return NaN_DOUBLE; }
132 virtual bool isNaN(
int nodeIndex,
int attributeIndex) {
return true; }
139 int attributeIndex,
double radius,
140 bool allowRadiusOutOfRange)
const
141 {
return NaN_DOUBLE; }
146 virtual void setData(
const vector<GeoTessData*>& inData) { }
160 os << endl <<
"ERROR in ProfileSurfaceEmpty::getData" << endl
161 <<
"Unsupported method call." << endl;
172 os << endl <<
"ERROR in ProfileSurfaceEmpty::getData" << endl
173 <<
"Unsupported method call." << endl;
184 os << endl <<
"ERROR in ProfileSurfaceEmpty::getData" << endl
185 <<
"Unsupported method call." << endl;
195 os << endl <<
"ERROR in ProfileSurfaceEmpty::getDataBottom" << endl
196 <<
"Unsupported method call." << endl;
207 os << endl <<
"ERROR in ProfileSurfaceEmpty::getDataTop" << endl
208 <<
"Unsupported method call." << endl;
219 os << endl <<
"ERROR in ProfileSurfaceEmpty::getDataBottom" << endl
220 <<
"Unsupported method call." << endl;
231 os << endl <<
"ERROR in ProfileSurfaceEmpty::getDataBottom" << endl
232 <<
"Unsupported method call." << endl;
241 virtual float getRadius(
int i)
const {
return NaN_FLOAT; }
246 virtual void setRadii(
const vector<float>& newRadii) { }
274 virtual float*
getRadii() {
return (
float*) NULL; }
286 GeoTessProfileSurfaceEmpty(IFStreamAscii& ifs, GeoTessMetaData& gtmd) : GeoTessProfile() { }
292 virtual ~GeoTessProfileSurfaceEmpty() { }
297 virtual void write(IFStreamBinary& ofs)
298 { ofs.writeByte((
byte) GeoTessProfileType::SURFACE_EMPTY.ordinal()); }
303 virtual void write(IFStreamAscii& ofs)
304 { ofs.writeInt(GeoTessProfileType::SURFACE_EMPTY.ordinal()); ofs.writeNL();}
314 virtual int findClosestRadiusIndex(
double radius)
const {
return -1; }
323 virtual void setPointIndex(
int nodeIndex,
int pntIndex) { }
332 virtual void resetPointIndices() { }
341 virtual int getPointIndex(
int nodeIndex)
const {
return -1; }
346 virtual GeoTessProfile* copy() {
return new GeoTessProfileSurfaceEmpty(); }
355 #endif // PROFILESURFACE_EMPTY_OBJECT_H
static string class_name()
Definition: GeoTessProfileSurfaceEmpty.h:85
virtual float getRadiusBottom() const
Definition: GeoTessProfileSurfaceEmpty.h:259
A Profile object that defines a single Data object and no radius value.
Definition: GeoTessProfileSurfaceEmpty.h:77
virtual int getNData() const
Definition: GeoTessProfileSurfaceEmpty.h:269
virtual GeoTessData ** getData()
Definition: GeoTessProfileSurfaceEmpty.h:157
virtual void setData(int index, GeoTessData *inData)
Definition: GeoTessProfileSurfaceEmpty.h:151
virtual const GeoTessData & getDataBottom() const
Definition: GeoTessProfileSurfaceEmpty.h:228
virtual double getValue(int attributeIndex, int nodeIndex) const
Definition: GeoTessProfileSurfaceEmpty.h:112
virtual float getRadius(int i) const
Definition: GeoTessProfileSurfaceEmpty.h:241
Opens a file for binary read and write access.
Definition: IFStreamBinary.h:79
virtual float getRadiusTop() const
Definition: GeoTessProfileSurfaceEmpty.h:254
Enumeration of the interpolation algorithms supported by GeoTess including LINEAR, NATURAL_NEIGHBOR and CUBIC_SPLINE.
Definition: GeoTessInterpolatorType.h:71
virtual bool isNaN(int nodeIndex, int attributeIndex)
Definition: GeoTessProfileSurfaceEmpty.h:132
Enumeration of the valid Profile types, including EMPTY, THIN, CONSTANT, NPOINT and SURFACE...
Definition: GeoTessProfileType.h:69
virtual const GeoTessProfileType & getType() const
virtual void setRadius(int index, float radius)
Definition: GeoTessProfileSurfaceEmpty.h:248
virtual int getNRadii() const
Definition: GeoTessProfileSurfaceEmpty.h:264
Manages a single data value attached to a grid node.
Definition: GeoTessData.h:63
virtual GeoTessData * getDataBottom()
Definition: GeoTessProfileSurfaceEmpty.h:216
virtual const GeoTessProfileType & getType() const
Definition: GeoTessProfileSurfaceEmpty.h:97
virtual GeoTessData * getData(int i)
Definition: GeoTessProfileSurfaceEmpty.h:169
An exception class for all GeoTess objects.
Definition: GeoTessException.h:65
virtual const GeoTessData & getDataTop() const
Definition: GeoTessProfileSurfaceEmpty.h:204
#define byte
signed-byte typedef
Definition: CPPGlobals.h:94
virtual int class_size() const
Definition: GeoTessProfileSurfaceEmpty.h:90
virtual void setRadii(const vector< float > &newRadii)
Definition: GeoTessProfileSurfaceEmpty.h:246
virtual void setData(const vector< GeoTessData * > &inData)
Definition: GeoTessProfileSurfaceEmpty.h:146
Abstract class that manages the radii and data values that span a single layer associated with a sing...
Definition: GeoTessProfile.h:96
Abstract base class that manages the data values attached to a single grid point. ...
Definition: GeoTessData.h:75
virtual const GeoTessData & getData(int i) const
Definition: GeoTessProfileSurfaceEmpty.h:181
virtual double getValueTop(int attributeIndex) const
Definition: GeoTessProfileSurfaceEmpty.h:120
virtual float * getRadii()
Definition: GeoTessProfileSurfaceEmpty.h:274
GeoTessProfileSurfaceEmpty()
Definition: GeoTessProfileSurfaceEmpty.h:80
virtual GeoTessData * getDataTop()
Definition: GeoTessProfileSurfaceEmpty.h:192
#define GEOTESS_EXP_IMP
Definition: CPPGlobals.h:71
virtual double getValue(const GeoTessInterpolatorType &rInterpType, int attributeIndex, double radius, bool allowRadiusOutOfRange) const
Definition: GeoTessProfileSurfaceEmpty.h:138