| 540 | } |
| 541 | |
| 542 | base::GeoObjectId FeatureBuilder::GetMostGenericOsmId() const |
| 543 | { |
| 544 | if (m_osmIds.empty()) |
| 545 | return base::GeoObjectId(); |
| 546 | |
| 547 | auto result = m_osmIds.front(); |
| 548 | for (auto const & id : m_osmIds) |
| 549 | { |
| 550 | auto const t = id.GetType(); |
| 551 | if (t == base::GeoObjectId::Type::ObsoleteOsmRelation) |
| 552 | { |
| 553 | result = id; |
| 554 | break; |
| 555 | } |
| 556 | else if (t == base::GeoObjectId::Type::ObsoleteOsmWay && |
| 557 | result.GetType() == base::GeoObjectId::Type::ObsoleteOsmNode) |
| 558 | { |
| 559 | result = id; |
| 560 | } |
| 561 | } |
| 562 | return result; |
| 563 | } |
| 564 | |
| 565 | std::string FeatureBuilder::DebugPrintIDs() const |
| 566 | { |