1 #ifndef OSMSCOUT_FEATURES_H 2 #define OSMSCOUT_FEATURES_H 25 #include <unordered_map> 59 std::string
GetLabel(
const Locale &,
size_t )
const override 64 void Read(FileScanner& scanner)
override;
65 void Write(FileWriter& writer)
override;
75 static const char*
const NAME;
85 void Initialize(TagRegistry& tagRegistry)
override;
87 std::string GetName()
const override;
89 size_t GetValueAlignment()
const override;
90 size_t GetValueSize()
const override;
94 const TagRegistry& tagRegistry,
95 const FeatureInstance& feature,
96 const ObjectOSMRef&
object,
98 FeatureValueBuffer& buffer)
const override;
118 this->nameAlt=nameAlt;
126 std::string
GetLabel(
const Locale &,
size_t )
const override 131 void Read(FileScanner& scanner)
override;
132 void Write(FileWriter& writer)
override;
152 void Initialize(TagRegistry& tagRegistry)
override;
154 std::string GetName()
const override;
156 size_t GetValueAlignment()
const override;
157 size_t GetValueSize()
const override;
161 const TagRegistry& tagRegistry,
162 const FeatureInstance& feature,
163 const ObjectOSMRef&
object,
165 FeatureValueBuffer& buffer)
const override;
171 std::string nameShort;
177 : nameShort(nameShort)
184 this->nameShort=nameShort;
192 std::string
GetLabel(
const Locale &,
size_t )
const override 197 void Read(FileScanner& scanner)
override;
198 void Write(FileWriter& writer)
override;
221 void Initialize(TagRegistry& tagRegistry)
override;
223 std::string GetName()
const override;
225 size_t GetValueAlignment()
const override;
226 size_t GetValueSize()
const override;
230 const TagRegistry& tagRegistry,
231 const FeatureInstance& feature,
232 const ObjectOSMRef&
object,
234 FeatureValueBuffer& buffer)
const override;
262 std::string
GetLabel(
const Locale &,
size_t )
const override 267 void Read(FileScanner& scanner)
override;
268 void Write(FileWriter& writer)
override;
289 void Initialize(TagRegistry& tagRegistry)
override;
291 std::string GetName()
const override;
293 size_t GetValueAlignment()
const override;
294 size_t GetValueSize()
const override;
298 const TagRegistry& tagRegistry,
299 const FeatureInstance& feature,
300 const ObjectOSMRef&
object,
302 FeatureValueBuffer& buffer)
const override;
308 std::string location;
322 this->location=location;
330 std::string
GetLabel(
const Locale &,
size_t )
const override 335 void Read(FileScanner& scanner)
override;
336 void Write(FileWriter& writer)
override;
352 TagId tagAddrHouseNr;
360 void Initialize(TagRegistry& tagRegistry)
override;
362 std::string GetName()
const override;
364 size_t GetValueAlignment()
const override;
365 size_t GetValueSize()
const override;
369 const TagRegistry& tagRegistry,
370 const FeatureInstance& feature,
371 const ObjectOSMRef&
object,
373 FeatureValueBuffer& buffer)
const override;
399 this->address=address;
407 std::string
GetLabel(
const Locale &,
size_t )
const override 412 void Read(FileScanner& scanner)
override;
413 void Write(FileWriter& writer)
override;
422 TagId tagAddrHouseNr;
438 void Initialize(TagRegistry& tagRegistry)
override;
440 std::string GetName()
const override;
442 size_t GetValueAlignment()
const override;
443 size_t GetValueSize()
const override;
447 const TagRegistry& tagRegistry,
448 const FeatureInstance& feature,
449 const ObjectOSMRef&
object,
451 FeatureValueBuffer& buffer)
const override;
458 footForward = 1u << 0u,
459 footBackward = 1u << 1u,
460 bicycleForward = 1u << 2u,
461 bicycleBackward = 1u << 3u,
462 carForward = 1u << 4u,
463 carBackward = 1u << 5u,
464 onewayForward = 1u << 6u,
465 onewayBackward = 1u << 7u
493 return (access & (footForward|footBackward|bicycleForward|bicycleBackward|carForward|carBackward))!=0;
501 return (access & (footForward|footBackward))!=0;
503 return (access & (bicycleForward|bicycleBackward))!=0;
505 return (access & (carForward|carBackward))!=0;
514 (access & (footForward|footBackward))!=0) {
519 (access & (bicycleForward|bicycleBackward))!=0) {
524 (access & (carForward|carBackward))!=0) {
533 return (access & (footForward|bicycleForward|carForward))!=0;
541 return (access & footForward)!=0;
543 return (access & bicycleForward)!=0;
545 return (access & carForward)!=0;
553 return (access & (footBackward|bicycleBackward|carBackward))!=0;
561 return (access & footBackward)!=0;
563 return (access & bicycleBackward)!=0;
565 return (access & carBackward)!=0;
573 return (access & footForward)!=0 ||
574 (access & footBackward)!=0;
579 return (access & footForward)!=0;
584 return (access & footBackward)!=0;
589 return (access & bicycleForward)!=0 ||
590 (access & bicycleBackward)!=0;
595 return (access & bicycleForward)!=0;
600 return (access & bicycleBackward)!=0;
605 return (access & carForward)!=0 ||
606 (access & carBackward)!=0;
611 return (access & carForward)!=0;
616 return (access & carBackward)!=0;
621 return (access & (onewayForward|onewayBackward))!=0;
626 return (access & onewayForward)!=0;
631 return (access & onewayBackward)!=0;
634 void Read(FileScanner& scanner)
override;
635 void Write(FileWriter& writer)
override;
648 TagId tagAccessForward;
649 TagId tagAccessBackward;
652 TagId tagFootForward;
653 TagId tagFootBackward;
656 TagId tagBicycleForward;
657 TagId tagBicycleBackward;
659 TagId tagMotorVehicle;
660 TagId tagMotorVehicleForward;
661 TagId tagMotorVehicleBackward;
664 TagId tagMotorcarForward;
665 TagId tagMotorcarBackward;
672 void ParseAccessFlag(
const std::string& value,
678 if (!(value==
"no")) {
684 void Initialize(TagRegistry& tagRegistry)
override;
686 std::string GetName()
const override;
688 size_t GetValueAlignment()
const override;
689 size_t GetValueSize()
const override;
693 const TagRegistry& tagRegistry,
694 const FeatureInstance& feature,
695 const ObjectOSMRef&
object,
697 FeatureValueBuffer& buffer)
const override;
733 return (access & (foot|bicycle|car))!=0;
741 return (access &foot)!=0;
743 return (access & bicycle)!=0;
745 return (access & car)!=0;
754 (access & foot)!=0) {
759 (access & bicycle)!=0) {
769 return (access & foot)!=0;
774 return (access & bicycle)!=0;
779 return (access & car)!=0;
782 void Read(FileScanner& scanner)
override;
783 void Write(FileWriter& writer)
override;
805 TagId tagMotorVehicle;
812 void Initialize(TagRegistry& tagRegistry)
override;
814 std::string GetName()
const override;
816 size_t GetValueAlignment()
const override;
817 size_t GetValueSize()
const override;
821 const TagRegistry& tagRegistry,
822 const FeatureInstance& feature,
823 const ObjectOSMRef&
object,
825 FeatureValueBuffer& buffer)
const override;
852 void Read(FileScanner& scanner)
override;
853 void Write(FileWriter& writer)
override;
869 void Initialize(TagRegistry& tagRegistry)
override;
871 std::string GetName()
const override;
873 size_t GetValueAlignment()
const override;
874 size_t GetValueSize()
const override;
878 const TagRegistry& tagRegistry,
879 const FeatureInstance& feature,
880 const ObjectOSMRef&
object,
882 FeatureValueBuffer& buffer)
const override;
909 void Read(FileScanner& scanner)
override;
910 void Write(FileWriter& writer)
override;
926 void Initialize(TagRegistry& tagRegistry)
override;
928 std::string GetName()
const override;
930 size_t GetValueAlignment()
const override;
931 size_t GetValueSize()
const override;
935 const TagRegistry& tagRegistry,
936 const FeatureInstance& feature,
937 const ObjectOSMRef&
object,
939 FeatureValueBuffer& buffer)
const override;
958 this->maxSpeed=maxSpeed;
966 void Read(FileScanner& scanner)
override;
967 void Write(FileWriter& writer)
override;
977 TagId tagMaxSpeedForward;
978 TagId tagMaxSpeedBackward;
986 const TagRegistry& tagRegistry,
987 const ObjectOSMRef&
object,
989 const std::string& input,
990 uint8_t& speed)
const;
993 void Initialize(TagRegistry& tagRegistry)
override;
995 std::string GetName()
const override;
997 size_t GetValueAlignment()
const override;
998 size_t GetValueSize()
const override;
1002 const TagRegistry& tagRegistry,
1003 const FeatureInstance& feature,
1004 const ObjectOSMRef&
object,
1006 FeatureValueBuffer& buffer)
const override;
1033 void Read(FileScanner& scanner)
override;
1034 void Write(FileWriter& writer)
override;
1051 void Initialize(TagRegistry& tagRegistry)
override;
1053 std::string GetName()
const override;
1055 size_t GetValueAlignment()
const override;
1056 size_t GetValueSize()
const override;
1060 const TagRegistry& tagRegistry,
1061 const FeatureInstance& feature,
1062 const ObjectOSMRef&
object,
1064 FeatureValueBuffer& buffer)
const override;
1070 uint8_t adminLevel=0;
1077 const std::string& isIn)
1078 : adminLevel(adminLevel),
1086 this->adminLevel=adminLevel;
1104 void Read(FileScanner& scanner)
override;
1105 void Write(FileWriter& writer)
override;
1114 TagId tagAdminLevel;
1122 void Initialize(TagRegistry& tagRegistry)
override;
1124 std::string GetName()
const override;
1126 size_t GetValueAlignment()
const override;
1127 size_t GetValueSize()
const override;
1131 const TagRegistry& tagRegistry,
1132 const FeatureInstance& feature,
1133 const ObjectOSMRef&
object,
1135 FeatureValueBuffer& buffer)
const override;
1141 std::string postalCode;
1147 : postalCode(postalCode)
1154 this->postalCode=postalCode;
1162 std::string
GetLabel(
const Locale &,
size_t )
const override 1167 void Read(FileScanner& scanner)
override;
1168 void Write(FileWriter& writer)
override;
1177 TagId tagPostalCode;
1178 TagId tagAddrPostCode;
1193 void Initialize(TagRegistry& tagRegistry)
override;
1195 std::string GetName()
const override;
1197 size_t GetValueAlignment()
const override;
1198 size_t GetValueSize()
const override;
1202 const TagRegistry& tagRegistry,
1203 const FeatureInstance& feature,
1204 const ObjectOSMRef&
object,
1206 FeatureValueBuffer& buffer)
const override;
1219 void Initialize(TagRegistry& tagRegistry)
override;
1221 std::string GetName()
const override;
1224 const TagRegistry& tagRegistry,
1225 const FeatureInstance& feature,
1226 const ObjectOSMRef&
object,
1228 FeatureValueBuffer& buffer)
const override;
1241 void Initialize(TagRegistry& tagRegistry)
override;
1243 std::string GetName()
const override;
1246 const TagRegistry& tagRegistry,
1247 const FeatureInstance& feature,
1248 const ObjectOSMRef&
object,
1250 FeatureValueBuffer& buffer)
const override;
1256 TagId tagEmbankment;
1263 void Initialize(TagRegistry& tagRegistry)
override;
1265 std::string GetName()
const override;
1268 const TagRegistry& tagRegistry,
1269 const FeatureInstance& feature,
1270 const ObjectOSMRef&
object,
1272 FeatureValueBuffer& buffer)
const override;
1285 void Initialize(TagRegistry& tagRegistry)
override;
1287 std::string GetName()
const override;
1290 const TagRegistry& tagRegistry,
1291 const FeatureInstance& feature,
1292 const ObjectOSMRef&
object,
1294 FeatureValueBuffer& buffer)
const override;
1321 std::string GetLabel(
const Locale &locale,
size_t labelIndex)
const override;
1323 void Read(FileScanner& scanner)
override;
1324 void Write(FileWriter& writer)
override;
1359 void Initialize(TagRegistry& tagRegistry)
override;
1361 std::string GetName()
const override;
1363 size_t GetValueAlignment()
const override;
1364 size_t GetValueSize()
const override;
1368 const TagRegistry& tagRegistry,
1369 const FeatureInstance& feature,
1370 const ObjectOSMRef&
object,
1372 FeatureValueBuffer& buffer)
const override;
1378 std::string destination;
1384 : destination(destination)
1391 this->destination=destination;
1399 std::string
GetLabel(
const Locale &,
size_t )
const override 1404 void Read(FileScanner& scanner)
override;
1405 void Write(FileWriter& writer)
override;
1414 TagId tagDestination;
1415 TagId tagDestinationRef;
1416 TagId tagDestinationForward;
1430 void Initialize(TagRegistry& tagRegistry)
override;
1432 std::string GetName()
const override;
1434 size_t GetValueAlignment()
const override;
1435 size_t GetValueSize()
const override;
1439 const TagRegistry& tagRegistry,
1440 const FeatureInstance& feature,
1441 const ObjectOSMRef&
object,
1443 FeatureValueBuffer& buffer)
const override;
1456 void Initialize(TagRegistry& tagRegistry)
override;
1458 std::string GetName()
const override;
1461 const TagRegistry& tagRegistry,
1462 const FeatureInstance& feature,
1463 const ObjectOSMRef&
object,
1465 FeatureValueBuffer& buffer)
const override;
1471 std::string website;
1484 this->website=website;
1492 std::string
GetLabel(
const Locale &,
size_t )
const override 1497 void Read(FileScanner& scanner)
override;
1498 void Write(FileWriter& writer)
override;
1508 TagId tagContactWebsite;
1522 void Initialize(TagRegistry& tagRegistry)
override;
1524 std::string GetName()
const override;
1526 size_t GetValueAlignment()
const override;
1527 size_t GetValueSize()
const override;
1531 const TagRegistry& tagRegistry,
1532 const FeatureInstance& feature,
1533 const ObjectOSMRef&
object,
1535 FeatureValueBuffer& buffer)
const override;
1563 std::string
GetLabel(
const Locale &,
size_t )
const override 1568 void Read(FileScanner& scanner)
override;
1569 void Write(FileWriter& writer)
override;
1579 TagId tagContactPhone;
1580 TagId tagContactMobile;
1594 void Initialize(TagRegistry& tagRegistry)
override;
1596 std::string GetName()
const override;
1598 size_t GetValueAlignment()
const override;
1599 size_t GetValueSize()
const override;
1603 const TagRegistry& tagRegistry,
1604 const FeatureInstance& feature,
1605 const ObjectOSMRef&
object,
1607 FeatureValueBuffer& buffer)
const override;
1634 void Read(FileScanner& scanner)
override;
1635 void Write(FileWriter& writer)
override;
1651 void Initialize(TagRegistry& tagRegistry)
override;
1653 std::string GetName()
const override;
1655 size_t GetValueAlignment()
const override;
1656 size_t GetValueSize()
const override;
1660 const TagRegistry& tagRegistry,
1661 const FeatureInstance& feature,
1662 const ObjectOSMRef&
object,
1664 FeatureValueBuffer& buffer)
const override;
1677 : startYear(startYear),
1685 this->startYear=year;
1703 std::string
GetLabel(
const Locale &,
size_t )
const override 1705 if (startYear==endYear) {
1706 return std::to_string(startYear);
1709 return std::to_string(startYear)+
"-"+std::to_string(endYear);
1712 void Read(FileScanner& scanner)
override;
1713 void Write(FileWriter& writer)
override;
1722 TagId tagConstructionYear;
1737 void Initialize(TagRegistry& tagRegistry)
override;
1739 std::string GetName()
const override;
1741 size_t GetValueAlignment()
const override;
1742 size_t GetValueSize()
const override;
1746 const TagRegistry& tagRegistry,
1747 const FeatureInstance& feature,
1748 const ObjectOSMRef&
object,
1750 FeatureValueBuffer& buffer)
const override;
1757 sidewalkTrackLeft = 1u << 0u,
1758 sidewalkTrackRight = 1u << 1u,
1759 cyclewayLaneLeft = 1u << 2u,
1760 cyclewayLaneRight = 1u << 3u,
1761 cyclewayTrackLeft = 1u << 4u,
1762 cyclewayTrackRight = 1u << 5u,
1766 uint8_t featureSet=0;
1773 return (featureSet & (1<< flagIndex))!=0;
1778 this->featureSet=featureSet;
1783 return (featureSet & sidewalkTrackLeft)!=0;
1788 return (featureSet & sidewalkTrackRight)!=0;
1793 return (featureSet & cyclewayLaneLeft)!=0;
1798 return (featureSet & cyclewayLaneRight)!=0;
1803 return (featureSet & cyclewayTrackLeft)!=0;
1808 return (featureSet & cyclewayTrackRight)!=0;
1811 void Read(FileScanner& scanner)
override;
1812 void Write(FileWriter& writer)
override;
1821 enum class FeatureFlags: uint8_t {
1822 sidewalkTrackLeft = 0,
1823 sidewalkTrackRight = 1,
1824 cyclewayLaneLeft = 2,
1825 cyclewayLaneRight = 3,
1826 cyclewayTrackLeft = 4,
1827 cyclewayTrackRight = 5
1832 TagId tagCyclewayLeft;
1833 TagId tagCyclewayLeftSegregated;
1834 TagId tagCyclewayRight;
1835 TagId tagCyclewayRightSegregated;
1843 void Initialize(TagRegistry& tagRegistry)
override;
1845 std::string GetName()
const override;
1847 size_t GetValueAlignment()
const override;
1848 size_t GetValueSize()
const override;
1852 const TagRegistry& tagRegistry,
1853 const FeatureInstance& feature,
1854 const ObjectOSMRef&
object,
1856 FeatureValueBuffer& buffer)
const override;
1864 std::string turnForward;
1865 std::string turnBackward;
1866 std::string destinationForward;
1867 std::string destinationBackward;
1878 void SetLanes(uint8_t forwardLanes, uint8_t backwardLanes)
1880 this->lanes=((forwardLanes & (uint8_t)0x7) << 2) |
1881 ((backwardLanes & (uint8_t)0x7) << 5);
1886 return GetLanes()==0;
1891 return (lanes >> 2) & (uint8_t)0x07;
1896 return (lanes >> 5) & (uint8_t)0x07;
1899 uint8_t GetLanes()
const;
1902 const std::string& turnBawckard)
1904 this->turnForward=turnForward;
1905 this->turnBackward=turnBawckard;
1915 return turnBackward;
1920 return destinationForward;
1925 return destinationBackward;
1929 const std::string& destinationBawckard)
1931 this->destinationForward=destinationForward;
1932 this->destinationBackward=destinationBawckard;
1935 std::string
GetLabel(
const Locale &,
size_t )
const override 1937 if (HasSingleLane()) {
1941 return std::to_string(GetForwardLanes()) +
" " + std::to_string(GetBackwardLanes());
1944 void Read(FileScanner& scanner)
override;
1945 void Write(FileWriter& writer)
override;
1956 TagId tagLanesForward;
1957 TagId tagLanesBackward;
1959 TagId tagTurnLanesForward;
1960 TagId tagTurnLanesBackward;
1961 TagId tagDestinationLanes;
1962 TagId tagDestinationLanesForward;
1963 TagId tagDestinationLanesBackward;
1977 void Initialize(TagRegistry& tagRegistry)
override;
1979 std::string GetName()
const override;
1981 size_t GetValueAlignment()
const override;
1982 size_t GetValueSize()
const override;
1986 const TagRegistry& tagRegistry,
1987 const FeatureInstance& feature,
1988 const ObjectOSMRef&
object,
1990 FeatureValueBuffer& buffer)
const override;
2018 std::string
GetLabel(
const Locale &,
size_t )
const override 2023 void Read(FileScanner& scanner)
override;
2024 void Write(FileWriter& writer)
override;
2047 void Initialize(TagRegistry& tagRegistry)
override;
2049 std::string GetName()
const override;
2051 size_t GetValueAlignment()
const override;
2052 size_t GetValueSize()
const override;
2056 const TagRegistry& tagRegistry,
2057 const FeatureInstance& feature,
2058 const ObjectOSMRef&
object,
2060 FeatureValueBuffer& buffer)
const override;
2066 std::string network;
2080 this->network=network;
2088 std::string
GetLabel(
const Locale &,
size_t )
const override 2093 void Read(FileScanner& scanner)
override;
2094 void Write(FileWriter& writer)
override;
2117 void Initialize(TagRegistry& tagRegistry)
override;
2119 std::string GetName()
const override;
2121 size_t GetValueAlignment()
const override;
2122 size_t GetValueSize()
const override;
2126 const TagRegistry& tagRegistry,
2127 const FeatureInstance& feature,
2128 const ObjectOSMRef&
object,
2130 FeatureValueBuffer& buffer)
const override;
2144 const std::string& to)
2158 FromToFeatureValue::from=from;
2168 FromToFeatureValue::to=to;
2171 std::string
GetLabel(
const Locale &,
size_t )
const override 2173 if (!from.empty() && ! to.empty()) {
2174 return from +
" => " + to;
2177 if (!from.empty()) {
2188 void Read(FileScanner& scanner)
override;
2189 void Write(FileWriter& writer)
override;
2213 void Initialize(TagRegistry& tagRegistry)
override;
2215 std::string GetName()
const override;
2217 size_t GetValueAlignment()
const override;
2218 size_t GetValueSize()
const override;
2222 const TagRegistry& tagRegistry,
2223 const FeatureInstance& feature,
2224 const ObjectOSMRef&
object,
2226 FeatureValueBuffer& buffer)
const override;
2251 ColorFeatureValue::color=color;
2254 std::string
GetLabel(
const Locale &,
size_t )
const override 2256 return color.ToHexString();
2259 void Read(FileScanner& scanner)
override;
2260 void Write(FileWriter& writer)
override;
2284 void Initialize(TagRegistry& tagRegistry)
override;
2286 std::string GetName()
const override;
2288 size_t GetValueAlignment()
const override;
2289 size_t GetValueSize()
const override;
2293 const TagRegistry& tagRegistry,
2294 const FeatureInstance& feature,
2295 const ObjectOSMRef&
object,
2297 FeatureValueBuffer& buffer)
const override;
bool CanRouteCar() const
Definition: TypeFeatures.h:603
Definition: TypeFeatures.h:2030
Definition: TypeFeatures.h:274
std::string GetLabel(const Locale &, size_t) const override
Definition: TypeFeatures.h:1935
Definition: TypeFeatures.h:885
void SetTo(const std::string &to)
Definition: TypeFeatures.h:2166
void SetNameShort(const std::string &nameShort)
Definition: TypeFeatures.h:182
void SetIsIn(const std::string &isIn)
Definition: TypeFeatures.h:1089
std::string GetLabel(const Locale &, size_t) const override
Definition: TypeFeatures.h:1563
static const char *const NAME
Definition: TypeFeatures.h:1512
static const char *const NAME_LABEL
Definition: TypeFeatures.h:214
static const char *const NAME
Definition: TypeFeatures.h:1260
AddressFeatureValue(const std::string &address)
Definition: TypeFeatures.h:391
static const char *const IN_METER_LABEL
Definition: TypeFeatures.h:1340
static const char *const NAME
Definition: TypeFeatures.h:923
void SetOperator(const std::string &op)
Definition: TypeFeatures.h:2008
bool CanRouteBicycleForward() const
Definition: TypeFeatures.h:593
std::string GetIsIn() const
Definition: TypeFeatures.h:1629
static const char *const NAME
Definition: TypeFeatures.h:1420
Definition: OSMScoutTypes.h:59
Definition: TypeFeatures.h:1067
bool HasSidewalkTrackLeft() const
Definition: TypeFeatures.h:1781
static const char *const NUMBER_LABEL
Definition: TypeFeatures.h:2277
bool CanAccess(Vehicle vehicle) const
Definition: TypeFeatures.h:736
Definition: TypeFeatures.h:1468
void SetAdminLevel(uint8_t adminLevel)
Definition: TypeFeatures.h:1084
uint16_t TagId
Definition: Tag.h:39
void SetMaxSpeed(uint8_t maxSpeed)
Definition: TypeFeatures.h:956
std::string GetLabel(const Locale &, size_t) const override
Definition: TypeFeatures.h:2171
void SetLanes(uint8_t forwardLanes, uint8_t backwardLanes)
Definition: TypeFeatures.h:1878
static const char *const NAME
Definition: TypeFeatures.h:2107
static const char *const NAME
Definition: TypeFeatures.h:2203
bool HasCyclewayLaneLeft() const
Definition: TypeFeatures.h:1791
static const char *const NAME
Definition: TypeFeatures.h:1648
static const size_t NAME_LABEL_INDEX
Definition: TypeFeatures.h:1426
static const char *const NAME_LABEL
Definition: TypeFeatures.h:1423
std::string GetPhone() const
Definition: TypeFeatures.h:1558
static const char *const NAME
Definition: TypeFeatures.h:1182
std::string GetLabel(const Locale &, size_t) const override
Definition: TypeFeatures.h:2018
static const char *const NUMBER_LABEL
Definition: TypeFeatures.h:2206
bool CanRoute() const
Definition: TypeFeatures.h:491
bool CanRouteCarForward() const
Definition: TypeFeatures.h:609
ColorFeatureValue(const Color &color)
Definition: TypeFeatures.h:2238
std::string GetLocation() const
Definition: TypeFeatures.h:325
static const char *const NAME
Definition: TypeFeatures.h:1337
void SetNameAlt(const std::string &nameAlt)
Definition: TypeFeatures.h:116
bool CanAccess() const
Definition: TypeFeatures.h:731
Definition: TypeFeatures.h:1539
Definition: TypeFeatures.h:1575
bool CanRouteForward(Vehicle vehicle) const
Definition: TypeFeatures.h:536
bool CanAccessFoot() const
Definition: TypeFeatures.h:767
WebsiteFeatureValue(const std::string &website)
Definition: TypeFeatures.h:1476
NameAltFeatureValue(const std::string &nameAlt)
Definition: TypeFeatures.h:110
Definition: TypeFeatures.h:799
bool CanRouteForward() const
Definition: TypeFeatures.h:531
Definition: TypeFeatures.h:973
uint8_t GetBackwardLanes() const
Definition: TypeFeatures.h:1894
Definition: TypeFeatures.h:71
static const char *const NAME_LABEL
Definition: TypeFeatures.h:78
Definition: TypeFeatures.h:641
Definition: TypeFeatures.h:454
Definition: TypeFeatures.h:168
MaxSpeedFeatureValue(uint8_t maxSpeed)
Definition: TypeFeatures.h:950
Definition: TypeFeatures.h:1138
std::string GetDestinationForward() const
Definition: TypeFeatures.h:1918
void SetAccess(uint8_t access)
Definition: TypeFeatures.h:721
Definition: TypeFeatures.h:1411
PhoneFeatureValue(const std::string &phone)
Definition: TypeFeatures.h:1547
uint8_t GetMaxSpeed() const
Definition: TypeFeatures.h:961
Definition: TypeFeatures.h:1111
static const size_t NAME_LABEL_INDEX
Definition: TypeFeatures.h:434
void SetFeatureSet(uint8_t featureSet)
Definition: TypeFeatures.h:1776
Definition: TypeFeatures.h:1231
static const size_t NAME_LABEL_INDEX
Definition: TypeFeatures.h:1188
PostalCodeFeatureValue(const std::string &postalCode)
Definition: TypeFeatures.h:1146
bool CanRoute(Vehicle vehicle) const
Definition: TypeFeatures.h:496
std::string GetLabel(const Locale &, size_t) const override
Definition: TypeFeatures.h:262
Definition: TypeFeatures.h:1753
LocationFeatureValue(const std::string &location)
Definition: TypeFeatures.h:314
DestinationFeatureValue(const std::string &destination)
Definition: TypeFeatures.h:1383
Vehicle
Definition: OSMScoutTypes.h:55
static const char *const NAME
Definition: TypeFeatures.h:669
static const char *const NAME
Definition: TypeFeatures.h:1048
static const char *const NAME
Definition: TypeFeatures.h:2274
void SetPhone(const std::string &phone)
Definition: TypeFeatures.h:1553
FromToFeatureValue(const std::string &from, const std::string &to)
Definition: TypeFeatures.h:2143
ConstructionYearFeatureValue(int startYear, int endYear)
Definition: TypeFeatures.h:1676
Definition: TypeFeatures.h:1610
bool HasCyclewayTrackRight() const
Definition: TypeFeatures.h:1806
Definition: TypeFeatures.h:1667
Definition: TypeFeatures.h:101
Definition: TypeFeatures.h:916
uint8_t GetAccess() const
Definition: TypeFeatures.h:486
static const size_t NAME_LABEL_INDEX
Definition: TypeFeatures.h:1973
IsInFeatureValue(const std::string &isIn)
Definition: TypeFeatures.h:1618
Access
Definition: TypeFeatures.h:703
static const size_t IN_FEET_LABEL_INDEX
Definition: TypeFeatures.h:1349
static const char *const NAME
Definition: TypeFeatures.h:2037
bool HasCyclewayTrackLeft() const
Definition: TypeFeatures.h:1801
std::string GetTurnForward() const
Definition: TypeFeatures.h:1908
static const size_t NAME_LABEL_INDEX
Definition: TypeFeatures.h:285
static const char *const NAME
Definition: TypeFeatures.h:1839
Definition: TypeFeatures.h:2195
std::string GetLabel(const Locale &, size_t) const override
Definition: TypeFeatures.h:407
Definition: TypeFeatures.h:1009
void SetEndYear(int year)
Definition: TypeFeatures.h:1693
static const char *const NAME
Definition: TypeFeatures.h:1584
void SetStartYear(int year)
Definition: TypeFeatures.h:1683
bool HasCyclewayLaneRight() const
Definition: TypeFeatures.h:1796
static const size_t URL_LABEL_INDEX
Definition: TypeFeatures.h:1518
static const char *const NAME_LABEL
Definition: TypeFeatures.h:145
Definition: OSMScoutTypes.h:57
bool IsFlagSet(size_t flagIndex) const override
Definition: TypeFeatures.h:1771
bool IsOnewayBackward() const
Definition: TypeFeatures.h:629
Definition: TypeFeatures.h:700
Definition: TypeFeatures.h:2063
int8_t GetLayer() const
Definition: TypeFeatures.h:847
void SetGrade(uint8_t grade)
Definition: TypeFeatures.h:1023
RefFeatureValue(const std::string &ref)
Definition: TypeFeatures.h:246
Access
Definition: TypeFeatures.h:457
Definition: TypeFeatures.h:1446
std::string GetLabel(const Locale &, size_t) const override
Definition: TypeFeatures.h:192
int GetEndYear() const
Definition: TypeFeatures.h:1698
Definition: TypeFeatures.h:1040
std::string GetDestination() const
Definition: TypeFeatures.h:1394
static const char *const NAME_LABEL
Definition: TypeFeatures.h:431
static const char *const URL_LABEL
Definition: TypeFeatures.h:1515
std::string GetAddress() const
Definition: TypeFeatures.h:402
static const char *const NAME
Definition: TypeFeatures.h:982
Definition: TypeFeatures.h:419
Definition: TypeFeature.h:98
static const char *const NAME
Definition: TypeFeatures.h:866
void SetRef(const std::string &ref)
Definition: TypeFeatures.h:252
AccessFeatureValue(uint8_t access)
Definition: TypeFeatures.h:475
static const size_t NUMBER_LABEL_INDEX
Definition: TypeFeatures.h:2209
static const size_t NAME_LABEL_INDEX
Definition: TypeFeatures.h:2043
static const char *const IN_LOCALE_UNIT_LABEL
Definition: TypeFeatures.h:1352
bool CanRouteBicycleBackward() const
Definition: TypeFeatures.h:598
EleFeatureValue(uint32_t ele)
Definition: TypeFeatures.h:1305
Definition: TypeFeatures.h:1330
Definition: TypeFeatures.h:1174
Definition: TypeFeature.h:40
void SetLayer(int8_t layer)
Definition: TypeFeatures.h:842
Definition: TypeFeatures.h:1375
Definition: TypeFeatures.h:2266
LanesFeatureValue(uint8_t lanes)
Definition: TypeFeatures.h:1872
void SetAccess(uint8_t access)
Definition: TypeFeatures.h:481
static const size_t NAME_LABEL_INDEX
Definition: TypeFeatures.h:2113
uint8_t GetForwardLanes() const
Definition: TypeFeatures.h:1889
static const char *const NAME
Definition: TypeFeatures.h:1216
Definition: TypeFeatures.h:348
#define OSMSCOUT_API
Definition: CoreImportExport.h:45
std::string GetName() const
Definition: TypeFeatures.h:54
std::string GetRef() const
Definition: TypeFeatures.h:257
static const size_t NUMBER_LABEL_INDEX
Definition: TypeFeatures.h:2280
uint8_t GetAccess() const
Definition: TypeFeatures.h:726
const std::string & GetTo() const
Definition: TypeFeatures.h:2161
AdminLevelFeatureValue(uint8_t adminLevel, const std::string &isIn)
Definition: TypeFeatures.h:1076
Setup internal state of renderer for executing next steps with current projection and parameters...
Definition: MapPainter.h:57
std::string GetTurnBackward() const
Definition: TypeFeatures.h:1913
bool HasSidewalkTrackRight() const
Definition: TypeFeatures.h:1786
std::string GetNameShort() const
Definition: TypeFeatures.h:187
static const char *const NAME
Definition: TypeFeatures.h:1238
Color GetColor() const
Definition: TypeFeatures.h:2244
uint8_t GetWidth() const
Definition: TypeFeatures.h:904
static const char *const NUMBER_LABEL
Definition: TypeFeatures.h:1587
std::string GetPostalCode() const
Definition: TypeFeatures.h:1157
bool CanRouteCarBackward() const
Definition: TypeFeatures.h:614
Definition: TypeFeatures.h:942
Definition: TypeFeatures.h:305
static const char *const NAME
Definition: TypeFeatures.h:809
bool CanRouteBackward() const
Definition: TypeFeatures.h:551
std::string GetLabel(const Locale &, size_t) const override
Definition: TypeFeatures.h:126
Definition: TagErrorReporter.h:32
void SetFrom(const std::string &from)
Definition: TypeFeatures.h:2156
static const char *const NAME
Definition: TypeFeatures.h:75
static const char *const NAME_LABEL
Definition: TypeFeatures.h:1970
Definition: TypeFeatures.h:828
WidthFeatureValue(uint8_t width)
Definition: TypeFeatures.h:893
Definition: TypeFeatures.h:138
std::string GetLabel(const Locale &, size_t) const override
Definition: TypeFeatures.h:2254
Definition: TypeFeatures.h:2229
static const char *const NAME
Definition: TypeFeatures.h:1282
Feature
Definition: TypeFeatures.h:1756
std::string GetNameAlt() const
Definition: TypeFeatures.h:121
std::string GetDestinationBackward() const
Definition: TypeFeatures.h:1923
Definition: TypeFeatures.h:1993
static const size_t NUMBER_LABEL_INDEX
Definition: TypeFeatures.h:1590
void SetName(const std::string &name)
Definition: TypeFeatures.h:49
std::string GetLabel(const Locale &, size_t) const override
Definition: TypeFeatures.h:1492
bool CanAccessCar() const
Definition: TypeFeatures.h:777
bool IsOneway() const
Definition: TypeFeatures.h:619
NetworkFeatureValue(const std::string &network)
Definition: TypeFeatures.h:2072
static const char *const IN_FEET_LABEL
Definition: TypeFeatures.h:1346
std::string GetLabel(const Locale &, size_t) const override
Definition: TypeFeatures.h:1162
bool operator==(const MapView &a, const MapView &b)
Definition: InputHandler.h:222
void SetWebsite(const std::string &website)
Definition: TypeFeatures.h:1482
bool IsOnewayForward() const
Definition: TypeFeatures.h:624
Definition: TypeFeatures.h:1504
static const size_t IN_LOCALE_UNIT_LABEL_INDEX
Definition: TypeFeatures.h:1355
GradeFeatureValue(uint8_t grade)
Definition: TypeFeatures.h:1017
Definition: TypeFeatures.h:382
void SetColor(const Color &color)
Definition: TypeFeatures.h:2249
static const size_t NAME_LABEL_INDEX
Definition: TypeFeatures.h:148
int GetStartYear() const
Definition: TypeFeatures.h:1688
bool HasSingleLane() const
Definition: TypeFeatures.h:1884
bool CanAccess(VehicleMask vehicleMask) const
Definition: TypeFeatures.h:751
std::string GetNetwork() const
Definition: TypeFeatures.h:2083
static const size_t IN_METER_LABEL_INDEX
Definition: TypeFeatures.h:1343
std::string GetLabel(const Locale &, size_t) const override
Definition: TypeFeatures.h:330
Definition: TypeFeatures.h:34
uint8_t GetAdminLevel() const
Definition: TypeFeatures.h:1094
static const char *const NAME
Definition: TypeFeatures.h:428
Definition: TypeFeatures.h:2100
std::string GetWebsite() const
Definition: TypeFeatures.h:1487
std::string GetLabel(const Locale &, size_t) const override
Definition: TypeFeatures.h:1703
Definition: TypeFeatures.h:237
std::string GetIsIn() const
Definition: TypeFeatures.h:1099
std::string GetLabel(const Locale &, size_t) const override
Definition: TypeFeatures.h:1399
void SetDestination(const std::string &destination)
Definition: TypeFeatures.h:1389
void SetIsIn(const std::string &isIn)
Definition: TypeFeatures.h:1624
void SetEle(uint32_t ele)
Definition: TypeFeatures.h:1311
Definition: TypeFeatures.h:1209
Definition: TypeFeatures.h:1951
static const char *const NAME
Definition: TypeFeatures.h:211
NameShortFeatureValue(const std::string &nameShort)
Definition: TypeFeatures.h:176
static const char *const NAME
Definition: TypeFeatures.h:281
bool CanRouteFootForward() const
Definition: TypeFeatures.h:577
static const char *const NAME
Definition: TypeFeatures.h:1453
NameFeatureValue(const std::string &name)
Definition: TypeFeatures.h:43
void SetLocation(const std::string &location)
Definition: TypeFeatures.h:320
bool CanRouteBackward(Vehicle vehicle) const
Definition: TypeFeatures.h:556
static const char *const NAME_LABEL
Definition: TypeFeatures.h:1185
Definition: TypeFeatures.h:1275
void SetPostalCode(const std::string &postalCode)
Definition: TypeFeatures.h:1152
bool CanRouteBicycle() const
Definition: TypeFeatures.h:587
static const char *const NAME
Definition: TypeFeatures.h:1727
static const char *const NAME_LABEL
Definition: TypeFeatures.h:283
void SetDestinationLanes(const std::string &destinationForward, const std::string &destinationBawckard)
Definition: TypeFeatures.h:1928
std::unordered_map< TagId, std::string > TagMap
Definition: Tag.h:41
bool CanRouteFoot() const
Definition: TypeFeatures.h:571
static const char *const NAME
Definition: TypeFeatures.h:142
static const size_t NAME_LABEL_INDEX
Definition: TypeFeatures.h:81
Definition: TypeFeatures.h:1297
Definition: TypeFeatures.h:2133
uint32_t GetEle() const
Definition: TypeFeatures.h:1316
Definition: TypeFeatures.h:859
static const char *const YEAR_LABEL
Definition: TypeFeatures.h:1730
void SetNetwork(const std::string &network)
Definition: TypeFeatures.h:2078
static const size_t YEAR_LABEL_INDEX
Definition: TypeFeatures.h:1733
void SetAddress(const std::string &address)
Definition: TypeFeatures.h:397
Definition: TypeFeatures.h:1719
uint8_t VehicleMask
Definition: OSMScoutTypes.h:62
static const char *const NAME_LABEL
Definition: TypeFeatures.h:2110
Definition: TypeFeatures.h:204
static const char *const NAME
Definition: TypeFeatures.h:1967
bool CanRouteFootBackward() const
Definition: TypeFeatures.h:582
Definition: TypeFeatures.h:1818
static const size_t NAME_LABEL_INDEX
Definition: TypeFeatures.h:217
AccessRestrictedFeatureValue(uint8_t access)
Definition: TypeFeatures.h:715
Definition: TypeFeatures.h:1253
const std::string & GetFrom() const
Definition: TypeFeatures.h:2151
LayerFeatureValue(int8_t layer)
Definition: TypeFeatures.h:836
static const char *const NAME_LABEL
Definition: TypeFeatures.h:2040
static const char *const NAME
Definition: TypeFeatures.h:1119
void SetWidth(uint8_t width)
Definition: TypeFeatures.h:899
bool CanRoute(VehicleMask vehicleMask) const
Definition: TypeFeatures.h:511
Definition: TypeFeatures.h:1641
bool CanAccessBicycle() const
Definition: TypeFeatures.h:772
Definition: OSMScoutTypes.h:58
uint8_t GetGrade() const
Definition: TypeFeatures.h:1028
OperatorFeatureValue(const std::string &op)
Definition: TypeFeatures.h:2002
std::string GetLabel(const Locale &, size_t) const override
Definition: TypeFeatures.h:2088
Definition: TypeFeatures.h:1859
void SetTurnLanes(const std::string &turnForward, const std::string &turnBawckard)
Definition: TypeFeatures.h:1901
static const char *const NAME
Definition: TypeFeatures.h:357
std::string GetLabel(const Locale &, size_t) const override
Definition: TypeFeatures.h:59
std::string GetOperator() const
Definition: TypeFeatures.h:2013