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) { }
271 virtual float*
getRadii() {
return (
float*) NULL; }
283 GeoTessProfileSurfaceEmpty(IFStreamAscii& ifs, GeoTessMetaData& gtmd) : GeoTessProfile() { }
289 virtual ~GeoTessProfileSurfaceEmpty() { }
294 virtual void write(IFStreamBinary& ofs)
295 { ofs.writeByte((
byte) GeoTessProfileType::SURFACE_EMPTY.ordinal()); }
300 virtual void write(IFStreamAscii& ofs)
301 { ofs.writeInt(GeoTessProfileType::SURFACE_EMPTY.ordinal()); ofs.writeNL();}
311 virtual int findClosestRadiusIndex(
double radius)
const {
return -1; }
320 virtual void setPointIndex(
int nodeIndex,
int pntIndex) { }
329 virtual void resetPointIndices() { }
338 virtual int getPointIndex(
int nodeIndex)
const {
return -1; }
343 virtual GeoTessProfile* copy() {
return new GeoTessProfileSurfaceEmpty(); }
352 #endif // PROFILESURFACE_EMPTY_OBJECT_H