36 #ifndef PROFILESURFACE_EMPTY_OBJECT_H
37 #define PROFILESURFACE_EMPTY_OBJECT_H
64 class GeoTessMetaData;
85 static string class_name() {
return "ProfileSurfaceEmpty"; }
104 virtual bool operator ==(
const GeoTessProfile& p)
const {
return p.
getType() == GeoTessProfileType::SURFACE_EMPTY; }
114 virtual double getValue(
int attributeIndex,
int nodeIndex)
const {
return NaN_DOUBLE; }
122 virtual double getValueTop(
int attributeIndex)
const {
return NaN_DOUBLE; }
134 virtual bool isNaN(
int nodeIndex,
int attributeIndex) {
return true; }
141 int attributeIndex,
double radius,
142 bool allowRadiusOutOfRange)
const
143 {
return NaN_DOUBLE; }
148 virtual void setData(
const vector<GeoTessData*>& inData) { }
162 os << endl <<
"ERROR in ProfileSurfaceEmpty::getData" << endl
163 <<
"Unsupported method call." << endl;
174 os << endl <<
"ERROR in ProfileSurfaceEmpty::getData" << endl
175 <<
"Unsupported method call." << endl;
186 os << endl <<
"ERROR in ProfileSurfaceEmpty::getData" << endl
187 <<
"Unsupported method call." << endl;
197 os << endl <<
"ERROR in ProfileSurfaceEmpty::getDataBottom" << endl
198 <<
"Unsupported method call." << endl;
209 os << endl <<
"ERROR in ProfileSurfaceEmpty::getDataTop" << endl
210 <<
"Unsupported method call." << endl;
221 os << endl <<
"ERROR in ProfileSurfaceEmpty::getDataBottom" << endl
222 <<
"Unsupported method call." << endl;
233 os << endl <<
"ERROR in ProfileSurfaceEmpty::getDataBottom" << endl
234 <<
"Unsupported method call." << endl;
243 virtual float getRadius(
int i)
const {
return NaN_FLOAT; }
248 virtual void setRadii(
const vector<float>& newRadii) { }
250 virtual void setRadius(
int index,
float radius)
276 virtual float*
getRadii() {
return (
float*) NULL; }
288 GeoTessProfileSurfaceEmpty(IFStreamAscii& ifs, GeoTessMetaData& gtmd) : GeoTessProfile() { }
294 virtual ~GeoTessProfileSurfaceEmpty() { }
299 virtual void write(IFStreamBinary& ofs)
300 { ofs.writeByte((
byte) GeoTessProfileType::SURFACE_EMPTY.ordinal()); }
305 virtual void write(IFStreamAscii& ofs)
306 { ofs.writeInt(GeoTessProfileType::SURFACE_EMPTY.ordinal()); ofs.writeNL();}
316 virtual int findClosestRadiusIndex(
double radius)
const {
return -1; }
325 virtual void setPointIndex(
int nodeIndex,
int pntIndex) { }
334 virtual void resetPointIndices() { }
343 virtual int getPointIndex(
int nodeIndex)
const {
return -1; }
348 virtual GeoTessProfile* copy() {
return new GeoTessProfileSurfaceEmpty(); }
357 #endif // PROFILESURFACE_EMPTY_OBJECT_H