void MapItemListBuilder::AddLocation(const NMEAInfo &basic, const RasterTerrain *terrain) { GeoVector vector; if (basic.location_available) vector = basic.location.DistanceBearing(location); else vector.SetInvalid(); short elevation; if (terrain != NULL) elevation = terrain->GetTerrainHeight(location); else elevation = RasterBuffer::TERRAIN_INVALID; list.checked_append(new LocationMapItem(vector, elevation)); }
void MapItemListBuilder::AddLocation(const NMEAInfo &basic, const RasterTerrain *terrain) { if (list.full()) return; GeoVector vector; if (basic.location_available) vector = basic.location.DistanceBearing(location); else vector.SetInvalid(); double elevation = LocationMapItem::UNKNOWN_ELEVATION; if (terrain != nullptr) elevation = terrain->GetTerrainHeight(location) .ToDouble(LocationMapItem::UNKNOWN_ELEVATION); list.append(new LocationMapItem(vector, elevation)); }
void SetInvalid() { vec.SetInvalid(); start.SetInvalid(); }