luxlabs header browser preview


@class GEOComposedRoute, VKPolylineOverlayRenderRegion, GEOPathMatcher, NSUUID, NSSet, NSMutableArray, VKPolylineOverlay;
@protocol VKRouteLineObserverProtocol;

@interface VKRouteLine : NSObject {
    BOOL _matchToRoads;
    struct Matrix<double, 4, 4> { double _e[16]; } _inverseMatrix;
    double _boundsUnitsPerMeter;
    double _metersPerPoint;
    double _viewUnitsPerPoint;
    struct fast_shared_ptr<md::RouteLineSection, mdm::MDAllocator> { struct _fast_shared_ptr_control *_control; } _userLocationSection;
    struct PolylineCoordinate { unsigned int index; float offset; } _userLocationIndex;
    struct Matrix<float, 2, 1> { float _e[2]; } _userLocation;
    struct _retain_ptr<NSUUID *, geo::_retain_objc_arc, geo::_release_objc_arc, geo::_hash_objc, geo::_equal_objc> { void /* function */ **_vptr$_retain_ptr; NSUUID *_obj; struct _retain_objc_arc { } _retain; struct _release_objc_arc { } _release; } _revisionIdentifier;
    double _lastTrafficTimeStamp;
    NSSet *_retainedMatchedSegment;
    struct ManeuverArrowCoordinates { struct vector<md::ManeuverArrowInfo, std::allocator<md::ManeuverArrowInfo>> { struct ManeuverArrowInfo *__begin_; struct ManeuverArrowInfo *__end_; struct __compressed_pair<md::ManeuverArrowInfo *, std::allocator<md::ManeuverArrowInfo>> { struct ManeuverArrowInfo *__value_; } __end_cap_; } _maneuverArrows; } _maneuverArrowCoordinates;
    double _builtViewUnitsPerPoint;
    NSMutableArray *_pendingMatchedSegments;
    struct mutex { struct _opaque_pthread_mutex_t { long long __sig; char __opaque[56]; } __m_; } _matchedSegmentsLock;
}

@property BOOL hasNewRoadMatches;
@property (readonly, nonatomic) struct vector<geo::fast_shared_ptr<md::RouteLineSection, mdm::MDAllocator>, std::allocator<geo::fast_shared_ptr<md::RouteLineSection, mdm::MDAllocator>>> { void *__begin_; void *__end_; struct __compressed_pair<geo::fast_shared_ptr<md::RouteLineSection, mdm::MDAllocator> *, std::allocator<geo::fast_shared_ptr<md::RouteLineSection, mdm::MDAllocator>>> { void *__value_; } __end_cap_; } sections;
@property (readonly, nonatomic) struct Box<double, 3> { struct Matrix<double, 3, 1> { double _e[3]; } _minimum; struct Matrix<double, 3, 1> { double _e[3]; } _maximum; } bounds;
@property (readonly, nonatomic) VKPolylineOverlayRenderRegion *renderRegion;
@property (readonly, nonatomic) double boundsInWorldUnit;
@property (readonly, nonatomic) VKPolylineOverlay *overlay;
@property (readonly, nonatomic) GEOComposedRoute *composedRoute;
@property (weak, nonatomic) id<VKRouteLineObserverProtocol> observer;
@property (readonly, nonatomic) GEOPathMatcher *pathMatcher;
@property unsigned short numPathsMatching;
@property (readonly, nonatomic) NSMutableArray *matchedSegments;
@property (nonatomic) unsigned int matchingStartIndex;
@property (nonatomic) unsigned int matchingEndIndex;
@property (nonatomic) double simplificationEpsilonPoints;

- (void)dealloc;
- (id).cxx_construct;
- (void).cxx_destruct;
- (void)forEachSection:(id /* block */)a0;
- (struct optional<VKRouteLineSnapResult> { union { char x0; struct VKRouteLineSnapResult { struct Mercator3<double> { double x0[3]; } x0; struct pair<geo::Mercator3<double>, geo::Mercator3<double>> { struct Mercator3<double> { double x0[3]; } x0; struct Mercator3<double> { double x0[3]; } x1; } x1; } x1; } x0; BOOL x1; })snapRouteMatch:(id)a0;
- (void)_addMatchedSegments:(id)a0;
- (void)_clearMatchedSegments;
- (void)_updateBounds:(id)a0 boundsInflation:(float)a1;
- (void)_updateTilesCovered:(id)a0;
- (double)boundsUnitsPerMeter;
- (BOOL)buildRouteLine:(id)a0 matchToRoads:(BOOL)a1 shouldGenerateSnapPath:(BOOL)a2 viewUnitsPerPoint:(double)a3 force:(BOOL)a4 boundsInflation:(float)a5 isGradientTraffic:(BOOL)a6 currentLegIndex:(unsigned int)a7;
- (void)createMeshIfNecessary:(long long)a0;
- (void)generateArrowsForManeuverDisplayMode:(int)a0 routeLineWidth:(double)a1;
- (id)initWithPolylineOverlay:(id)a0;
- (struct Matrix<double, 4, 4> { double x0[16]; })inverseManeuverTransform;
- (BOOL)isTrafficUpToDate;
- (BOOL)isTrafficUptoDate:(double)a0;
- (struct vector<gm::Matrix<float, 2, 1>, std::allocator<gm::Matrix<float, 2, 1>>> { void *x0; void *x1; struct __compressed_pair<gm::Matrix<float, 2, 1> *, std::allocator<gm::Matrix<float, 2, 1>>> { void *x0; } x2; })maneuverPoints;
- (struct Matrix<double, 4, 4> { double x0[16]; })maneuverTransform;
- (BOOL)needsUpdateForViewingScale:(double)a0;
- (void)splitRouteLineAtAnnotation:(id)a0;

@end