MBNNEdgeMetadata.h 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. // This file is generated and will be overwritten automatically.
  2. #import <Foundation/Foundation.h>
  3. #import <MapboxNavigationNative/MBNNFunctionalRoadClass.h>
  4. #import <MapboxNavigationNative/MBNNRoadSurface.h>
  5. @class MBNNRoadName;
  6. NS_SWIFT_NAME(EdgeMetadata)
  7. __attribute__((visibility ("default")))
  8. @interface MBNNEdgeMetadata : NSObject
  9. // This class provides custom init which should be called
  10. - (nonnull instancetype)init NS_UNAVAILABLE;
  11. // This class provides custom init which should be called
  12. + (nonnull instancetype)new NS_UNAVAILABLE;
  13. - (nonnull instancetype)initWithHeading:(double)heading
  14. length:(double)length
  15. frc:(MBNNFunctionalRoadClass)frc
  16. speedLimit:(nullable NSNumber *)speedLimit
  17. speed:(double)speed
  18. ramp:(BOOL)ramp
  19. motorway:(BOOL)motorway
  20. bridge:(BOOL)bridge
  21. tunnel:(BOOL)tunnel
  22. toll:(BOOL)toll
  23. roundabout:(BOOL)roundabout
  24. names:(nonnull NSArray<MBNNRoadName *> *)names
  25. laneCount:(nullable NSNumber *)laneCount
  26. meanElevation:(nullable NSNumber *)meanElevation
  27. curvature:(uint8_t)curvature
  28. countryCodeIso3:(nullable NSString *)countryCodeIso3
  29. countryCodeIso2:(nullable NSString *)countryCodeIso2
  30. stateCode:(nullable NSString *)stateCode
  31. isRightHandTraffic:(BOOL)isRightHandTraffic
  32. isOneway:(BOOL)isOneway
  33. surface:(MBNNRoadSurface)surface
  34. isUrban:(BOOL)isUrban;
  35. /** The bearing in degrees clockwise at the start of the edge. 0 points to North. */
  36. @property (nonatomic, readonly) double heading;
  37. /** The Edge's length in meters. */
  38. @property (nonatomic, readonly) double length;
  39. /** The edge's functional road class */
  40. @property (nonatomic, readonly) MBNNFunctionalRoadClass frc;
  41. /**
  42. * The Edge's max speed (m/s)
  43. * - `nullopt` for unknown speed limit
  44. * - `0.0` for unlimited
  45. * - value in m/s otherwise
  46. * For detailed speed limit information use `getAdasAttributes`
  47. */
  48. @property (nonatomic, readonly, nullable) NSNumber *speedLimit;
  49. /** The Edge's average speed (m/s) */
  50. @property (nonatomic, readonly) double speed;
  51. /** Is the edge a ramp? */
  52. @property (nonatomic, readonly, getter=isRamp) BOOL ramp;
  53. /** Is the edge a motorway? */
  54. @property (nonatomic, readonly, getter=isMotorway) BOOL motorway;
  55. /** Is the edge a bridge? */
  56. @property (nonatomic, readonly, getter=isBridge) BOOL bridge;
  57. /** Is the edge a tunnel? */
  58. @property (nonatomic, readonly, getter=isTunnel) BOOL tunnel;
  59. /** Is the edge a toll road? */
  60. @property (nonatomic, readonly, getter=isToll) BOOL toll;
  61. /** Is the edge a roundabout road? */
  62. @property (nonatomic, readonly, getter=isRoundabout) BOOL roundabout;
  63. /** The edge's names */
  64. @property (nonatomic, readonly, nonnull, copy) NSArray<MBNNRoadName *> *names;
  65. /** The edge's lane counts */
  66. @property (nonatomic, readonly, nullable) NSNumber *laneCount;
  67. /** The edge's mean elevation */
  68. @property (nonatomic, readonly, nullable) NSNumber *meanElevation;
  69. /** The edge's curvature */
  70. @property (nonatomic, readonly) uint8_t curvature;
  71. /** The edge's country code (ISO-3 format) */
  72. @property (nonatomic, readonly, nullable, copy) NSString *countryCodeIso3;
  73. /** The edge's country code (ISO-2 format) */
  74. @property (nonatomic, readonly, nullable, copy) NSString *countryCodeIso2;
  75. /** The edge's state code */
  76. @property (nonatomic, readonly, nullable, copy) NSString *stateCode;
  77. /** True if in the current place/state uses right-hand traffic, false if left-hand. */
  78. @property (nonatomic, readonly, getter=isIsRightHandTraffic) BOOL isRightHandTraffic;
  79. /** True if current edge is oneway. */
  80. @property (nonatomic, readonly, getter=isIsOneway) BOOL isOneway;
  81. /** Edge's surface type. */
  82. @property (nonatomic, readonly) MBNNRoadSurface surface;
  83. /** True if edge is considered to be in urban area */
  84. @property (nonatomic, readonly, getter=isIsUrban) BOOL isUrban;
  85. @end