@class _delegate, NSString, VKDetachedNavGestureCameraBehavior, VKGestureCameraBehavior, VKSceneConfiguration, VKTimedAnimation, VKScreenCanvas, VKDaVinciGestureCameraController, VKAttachedNavGestureCameraBehavior, GEOMapRegion, VKNavContext; @protocol VKInteractiveMap; @interface VKNavCameraController : VKCameraController { unsigned char _cameraType; unsigned char _headingType; struct Unit { double _value; } _puckCourse; struct Coordinate3D { struct Unit { double _value; } latitude; struct Unit { double _value; } longitude; struct Unit { double _value; } altitude; } _puckCoordinate; struct Unit { double _value; } _headingDelta; struct Unit { double _value; } _headingMinDelta; struct CameraFrame { struct Coordinate3D { struct Unit { double _value; } latitude; struct Unit { double _value; } longitude; struct Unit { double _value; } altitude; } _target; struct Unit { double _value; } _distanceFromTarget; struct Unit { double _value; } _pitch; struct Unit { double _value; } _heading; struct Unit { double _value; } _roll; } _lastCalculatedCameraFrame; struct CameraFrame { struct Coordinate3D { struct Unit { double _value; } latitude; struct Unit { double _value; } longitude; struct Unit { double _value; } altitude; } _target; struct Unit { double _value; } _distanceFromTarget; struct Unit { double _value; } _pitch; struct Unit { double _value; } _heading; struct Unit { double _value; } _roll; } _cameraFrame; BOOL _needsUpdate; struct Spring { double _position; double _velocity; double _restingPosition; double _kSpring; double _kDamper; } _pitchSpring; struct Spring { double _position; double _velocity; double _restingPosition; double _kSpring; double _kDamper; } _headingSpring; struct Spring { double _position; double _velocity; double _restingPosition; double _kSpring; double _kDamper; } _distanceFromTargetSpring; struct Spring { struct Matrix { double _e[2]; } _position; struct Matrix { double _e[2]; } _velocity; struct Matrix { double _e[2]; } _restingPosition; double _kSpring; double _kDamper; } _screenPositionSpring; struct Unit { double _value; } _cameraDistanceFromTarget; struct Unit { double _value; } _cameraPitch; double _previousUpdateTime; double _ignoreStyleChangeStartTime; double _lastSARUpdateTime; double _maxZoomScale; double _minZoomScale; VKGestureCameraBehavior *_gestureBehavior; VKAttachedNavGestureCameraBehavior *_attachedGestureBehavior; VKDetachedNavGestureCameraBehavior *_detachedGestureBehavior; VKDaVinciGestureCameraController *_davinciGestureCameraController; BOOL _isDetached; BOOL _isIgnoringStyleChange; BOOL _panning; BOOL _rotating; BOOL _pitching; BOOL _zooming; VKTimedAnimation *_transitionAnimation; VKTimedAnimation *_snapPitchAnimation; VKTimedAnimation *_snapHeadingAnimation; struct CameraFrame { struct Coordinate3D { struct Unit { double _value; } latitude; struct Unit { double _value; } longitude; struct Unit { double _value; } altitude; } _target; struct Unit { double _value; } _distanceFromTarget; struct Unit { double _value; } _pitch; struct Unit { double _value; } _heading; struct Unit { double _value; } _roll; } _transitionFrame; struct basic_string, std::allocator> { struct __compressed_pair::__rep, std::allocator> { struct __rep { union { struct __long { char *__data_; unsigned long long __size_; unsigned long __cap_ : 63; unsigned char __is_long_ : 1; } __l; struct __short { char __data_[23]; unsigned char __padding_[0]; unsigned char __size_ : 7; unsigned char __is_long_ : 1; } __s; struct __raw { unsigned long long __words[3]; } __r; } ; } __value_; } __r_; } _currentStyleName; struct vector, std::allocator>> { void *__begin_; void *__end_; struct __compressed_pair *, std::allocator>> { void *__value_; } __end_cap_; } _coordinatesToFrame; unsigned char _styleManeuversToFrame; unsigned char _maneuversToFrame; unsigned char _styleLegsToFrame; unsigned char _segmentsToFrame; double _minCameraHeight; double _maxCameraHeight; struct Unit { double _value; } _minCameraPitch; struct Unit { double _value; } _maxCameraPitch; struct VKEdgeInsets { float top; float left; float bottom; float right; } _previousMapEdgeInsets; struct VKEdgeInsets { float top; float left; float bottom; float right; } _framingEdgeInset; struct VKEdgeInsets { float top; float left; float bottom; float right; } _framingEdgeInsetProportional; struct Matrix { float _e[2]; } _puckMovementBoundsMin; struct Matrix { float _e[2]; } _puckMovementBoundsMax; struct Matrix { float _e[2]; } _idealPuckScreenPosition; double _minHeightDeltaChangeHorizontal; double _maxHeightDeltaChangeHorizontal; double _minHeightDeltaChangeVertical; double _maxHeightDeltaChangeVertical; double _halfPuckSize; struct Box { struct Matrix { double _e[2]; } _minimum; struct Matrix { double _e[2]; } _maximum; } _viewableScreenRect; struct Box { struct Matrix { double _e[2]; } _minimum; struct Matrix { double _e[2]; } _maximum; } _framingScreenRect; BOOL _enablePan; BOOL _enableZoom; BOOL _enablePitch; BOOL _enableRotate; float _panReturnDelayTime; unsigned char _alternateFramingSource; unsigned char _secondaryAlternateFramingSource; double _maxFramingDistance; double _framingDistanceAfterManeuver; VKNavContext *_navContext; struct { double latitude; double longitude; } _locationCoordinate; struct PolylineCoordinate { unsigned int index; float offset; } _routeCoordinate; BOOL _frameAllGroupedManeuvers; unsigned char _maxManeuversToFrame; BOOL _ignorePointsBehind; struct Coordinate3D { struct Unit { double _value; } latitude; struct Unit { double _value; } longitude; struct Unit { double _value; } altitude; } _routeFocusCoordinate; unsigned long long _lastTargetStyleIdentifier; unsigned long long _previousSearchItemCount; double _desiredZoomScale; float _animationTime; BOOL _isTracking; struct shared_ptr { struct TaskContext *__ptr_; struct __shared_weak_count *__cntrl_; } _taskContext; double _depthNear; BOOL _leftHanded; BOOL _sentZoomNotification; BOOL _enableDynamicFrameRate; struct Coordinate3D { struct Unit { double _value; } latitude; struct Unit { double _value; } longitude; struct Unit { double _value; } altitude; } _cornerCoordinates[4]; struct WindowedSampler<60UL> { double _min; double _max; double _avg; double _sum; struct optional { BOOL _hasValue; union ValueUnion { unsigned char data[8]; unsigned long long type; } _value; } _idx; struct array { double __elems_[60]; } _samples; } _pixelSamples; struct Sampler { double _min; double _max; double _avg; double _sum; unsigned long long _count; } _requesteDisplayRateSampler; long long _requestedDisplayRate; BOOL _isElevatedRoute; void *_cameraManager; struct unique_ptr> { struct __compressed_pair> { struct LabelMetrics *__value_; } __ptr_; } _labelMetrics; struct vector> { struct NavCameraPixelFrameRate *__begin_; struct NavCameraPixelFrameRate *__end_; struct __compressed_pair> { struct NavCameraPixelFrameRate *__value_; } __end_cap_; } _pixelChangeFrameRate; struct Matrix { double _e[3]; } _lastProjectedPosition; double _farClipPlaneFactor; struct shared_ptr> { void *__ptr_; struct __shared_weak_count *__cntrl_; } _sceneQuery; unsigned long long _cameraMode; BOOL _didNavCameraTransition; struct Monitorable> { struct { struct { unsigned int identifier; void *metadata; } key; } _key; BOOL _value; _delegate *_listener; struct function { struct __value_func { struct type { unsigned char __lx[24]; } __buf_; void *__f_; } __f_; } x0; } _showConsole; struct Monitorable> { struct { struct { unsigned int identifier; void *metadata; } key; } _key; BOOL _value; _delegate *_listener; struct function { struct __value_func { struct type { unsigned char __lx[24]; } __buf_; void *__f_; } __f_; } x0; } _showOverlay; struct Monitorable> { struct { struct { unsigned int identifier; void *metadata; } key; } _key; BOOL _value; _delegate *_listener; struct function { struct __value_func { struct type { unsigned char __lx[24]; } __buf_; void *__f_; } __f_; } x0; } _showAttributes; struct Monitorable> { struct { struct { unsigned int identifier; void *metadata; } key; } _key; BOOL _value; _delegate *_listener; struct function { struct __value_func { struct type { unsigned char __lx[24]; } __buf_; void *__f_; } __f_; } x0; } _showProperties; struct Monitorable> { struct { struct { unsigned int identifier; void *metadata; } key; } _key; BOOL _value; _delegate *_listener; struct function { struct __value_func { struct type { unsigned char __lx[24]; } __buf_; void *__f_; } __f_; } x0; } _showLegend; } @property (weak, nonatomic) VKScreenCanvas *screenCanvas; @property (weak, nonatomic) VKSceneConfiguration *sceneConfiguration; @property (nonatomic) double zoomScale; @property (nonatomic) struct VKEdgeInsets { float top; float left; float bottom; float right; } clientFramingInsets; @property (nonatomic) struct { double x0; double x1; } centerCoordinate; @property (nonatomic) double distanceFromCenterCoordinate; @property (nonatomic) double heading; @property (nonatomic) double pitch; @property (readonly, nonatomic) GEOMapRegion *mapRegion; @property (readonly, nonatomic) GEOMapRegion *mapRegionIgnoringEdgeInsets; @property (readonly, nonatomic) double altitude; @property (readonly, nonatomic) double minPitch; @property (readonly, nonatomic) double maxPitch; @property (readonly, nonatomic) BOOL isPitched; @property (readonly, nonatomic) BOOL isRotated; @property (readonly, nonatomic) BOOL isFullyPitched; @property (readonly, nonatomic) void *mapDataAccess; @property (readonly, nonatomic) struct AnimationRunner { struct MapEngine *x0; } *animationRunner; @property (readonly, nonatomic) struct RunLoopController { struct MapEngine *x0; long long x1; } *runLoopController; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; - (BOOL)snapMapIfNecessary:(BOOL)a0; - (long long)tileSize; - (float)maxPitchForNormalizedZoomLevel:(float)a0; - (void)startPitchingWithFocusPoint:(struct CGPoint { double x0; double x1; })a0; - (float)idealPitchForNormalizedZoomLevel:(float)a0; - (float)maximumNormalizedZoomLevel; - (void)updateWithTimestamp:(double)a0 withContext:(void *)a1; - (id)init; - (id)detailedDescription; - (float)minPitchForNormalizedZoomLevel:(float)a0; - (float)minimumNormalizedZoomLevel; - (void)dealloc; - (void)updatePitchWithFocusPoint:(struct CGPoint { double x0; double x1; })a0 translation:(double)a1; - (void)startRotatingWithFocusPoint:(struct CGPoint { double x0; double x1; })a0; - (double)maximumZoomLevel; - (void)stopPinchingWithFocusPoint:(struct CGPoint { double x0; double x1; })a0; - (void)updatePitchWithFocusPoint:(struct CGPoint { double x0; double x1; })a0 degrees:(double)a1; - (void)rotateTo:(double)a0 animated:(BOOL)a1; - (BOOL)tapAtPoint:(struct CGPoint { double x0; double x1; })a0; - (BOOL)usesVKCamera; - (void)updateState; - (void)setEdgeInsets:(struct VKEdgeInsets { float x0; float x1; float x2; float x3; })a0; - (void)startPinchingWithFocusPoint:(struct CGPoint { double x0; double x1; })a0; - (struct CameraFrame { struct Coordinate3D { struct Unit { double x0; } x0; struct Unit { double x0; } x1; struct Unit { double x0; } x2; } x0; struct Unit { double x0; } x1; struct Unit { double x0; } x2; struct Unit { double x0; } x3; struct Unit { double x0; } x4; })cameraFrame; - (void)stopRotatingWithFocusPoint:(struct CGPoint { double x0; double x1; })a0; - (void)setVkCamera:(id)a0; - (BOOL)canZoomInForTileSize:(long long)a0; - (void)stopPanningAtPoint:(struct CGPoint { double x0; double x1; })a0; - (BOOL)canEnter3DMode; - (void)updatePinchWithFocusPoint:(struct CGPoint { double x0; double x1; })a0 oldFactor:(double)a1 newFactor:(double)a2; - (void)stopPitchingWithFocusPoint:(struct CGPoint { double x0; double x1; })a0; - (id).cxx_construct; - (void)_setNeedsUpdate; - (void)startPanningAtPoint:(struct CGPoint { double x0; double x1; })a0 panAtStartPoint:(BOOL)a1; - (void)updatePanWithTranslation:(struct CGPoint { double x0; double x1; })a0; - (double)minimumZoomLevel; - (void)stop; - (void)transferGestureState:(id)a0; - (void)zoom:(double)a0 withFocusPoint:(struct CGPoint { double x0; double x1; })a1 completionHandler:(id /* block */)a2; - (void)updateRotationWithFocusPoint:(struct CGPoint { double x0; double x1; })a0 newValue:(double)a1; - (void)stopSnappingAnimations; - (void)setCamera:(struct shared_ptr { struct Camera *x0; struct __shared_weak_count *x1; })a0; - (double)topDownMinimumZoomLevel; - (void)stopAnimations; - (void)_updateClipPlanes; - (double)currentZoomLevel; - (void).cxx_destruct; - (BOOL)canZoomOutForTileSize:(long long)a0; - (void)canvasDidLayout; - (void)setCameraFrame:(struct CameraFrame { struct Coordinate3D { struct Unit { double x0; } x0; struct Unit { double x0; } x1; struct Unit { double x0; } x2; } x0; struct Unit { double x0; } x1; struct Unit { double x0; } x2; struct Unit { double x0; } x3; struct Unit { double x0; } x4; })a0; - (BOOL)isRotateEnabled; - (BOOL)_canZoomIn; - (BOOL)_canZoomOut; - (long long)displayRate; - (BOOL)isGesturing; - (BOOL)isPitchEnabled; - (void)_updateSprings:(double)a0; - (struct Matrix { double x0[2]; })puckScreenPoint; - (void)_addWaypointToFraming:(id)a0 forRoute:(id)a1; - (void)_addAdditionalRoutePointsToFrameToList:(void *)a0; - (BOOL)_addStepToFraming:(unsigned long long)a0 forRoute:(id)a1; - (double)_calculateMaxPixelChangeAndUpdateCorners; - (struct Coordinate3D { struct Unit { double x0; } x0; struct Unit { double x0; } x1; struct Unit { double x0; } x2; })_coordinateForGeoLocation:(struct { double x0; double x1; double x2; })a0; - (float)_currentRoadSignOffset; - (id)_debugText:(BOOL)a0 showNavCameraDebugConsoleAttributes:(BOOL)a1 includeSensitiveAttributes:(BOOL)a2; - (id)_detachedGestureController; - (struct shared_ptr> { void *x0; struct __shared_weak_count *x1; })_getActiveSceneManager; - (BOOL)_hasRunningAnimation; - (double)_normalizedZoomLevelForDisplayZoomLevel:(double)a0; - (void)_setDetached:(BOOL)a0; - (void)_setNavCameraIsDetached:(BOOL)a0; - (void)_setNavCameraTransitionComplete:(BOOL)a0; - (void)_snapHeading; - (void)_snapPitch; - (BOOL)_springsNeedUpdate; - (void)_updateCameraLimits; - (void)_updateDebugOverlay; - (void)_updateDebugText; - (void)_updateDidNavCameraTransition; - (void)_updateForAnimatedEdgeInsets; - (void)_updateLabelMetrics; - (void)_updateObserverCouldZoomIn:(BOOL)a0 couldZoomOut:(BOOL)a1; - (void)_updateRouteSinuosity; - (void)_updateSceneQuery; - (void)_updateSceneStyles:(BOOL)a0 updatePitchLimitOnly:(BOOL)a1; - (void)_updateStyles; - (void)_updateZoomScaleLimts; - (void)animateCameraWithDuration:(float)a0 fromFrame:(const void *)a1 completionHandler:(id /* block */)a2; - (struct Unit { double x0; })calculateHeading; - (struct Box { struct Matrix { double x0[2]; } x0; struct Matrix { double x0[2]; } x1; })calculateViewableScreenRect; - (struct Box { struct Matrix { double x0[2]; } x0; struct Matrix { double x0[2]; } x1; })calculateViewableScreenRectForEdgeInsets:(struct VKEdgeInsets { float x0; float x1; float x2; float x3; })a0; - (unsigned char)cameraHeadingType; - (struct CameraFrame { struct Coordinate3D { struct Unit { double x0; } x0; struct Unit { double x0; } x1; struct Unit { double x0; } x2; } x0; struct Unit { double x0; } x1; struct Unit { double x0; } x2; struct Unit { double x0; } x3; struct Unit { double x0; } x4; })currentCameraFrame; - (long long)defaultDisplayRate; - (double)distanceToManeuver:(unsigned long long)a0; - (id)initWithTaskContext:(struct shared_ptr { struct TaskContext *x0; struct __shared_weak_count *x1; })a0 device:(void *)a1 mapDataAccess:(void *)a2 animationRunner:(struct AnimationRunner { struct MapEngine *x0; } *)a3 runLoopController:(struct RunLoopController { struct MapEngine *x0; long long x1; } *)a4 cameraDelegate:(id)a5; - (struct Unit { double x0; })maxCameraPitch; - (double)maxZoomHeight; - (double)maxZoomScale; - (struct Unit { double x0; })minCameraPitch; - (double)minZoomHeight; - (double)minZoomScale; - (void)navContextCameraHeadingOverrideDidChange:(id)a0; - (void)navContextStateDidChange:(id)a0; - (void)pitchTo:(double)a0 animated:(BOOL)a1; - (void)projectCoordinate:(struct { double x0; double x1; })a0 toPoint:(struct CGPoint { double x0; double x1; } *)a1; - (struct optional { union { char x0; double x1; } x0; BOOL x1; })puckAnimator:(id)a0 getElevationWithCoordinate:(const void *)a1; - (void)puckAnimator:(id)a0 runAnimation:(id)a1; - (void)puckAnimator:(id)a0 updatedPosition:(const void *)a1 course:(const void *)a2; - (void)puckAnimatorDidStop:(id)a0; - (void)resetSpringsToResting; - (struct CameraFrame { struct Coordinate3D { struct Unit { double x0; } x0; struct Unit { double x0; } x1; struct Unit { double x0; } x2; } x0; struct Unit { double x0; } x1; struct Unit { double x0; } x2; struct Unit { double x0; } x3; struct Unit { double x0; } x4; })restingCameraFrame; - (void)returnToPuck; - (void)returnToTrackingWithDelay:(double)a0 resetZoom:(BOOL)a1; - (struct Coordinate3D { struct Unit { double x0; } x0; struct Unit { double x0; } x1; struct Unit { double x0; } x2; })routeCoordinateAtDistance:(double)a0; - (struct Coordinate3D { struct Unit { double x0; } x0; struct Unit { double x0; } x1; struct Unit { double x0; } x2; })routeLocationAtDistance:(double)a0 fromManeuver:(unsigned long long)a1; - (void)setEdgeInsetsAnimating:(BOOL)a0; - (void)setNavContext:(id)a0; - (void)startIgnoreStyleChangeTimer; - (void)startWithPounce:(BOOL)a0 startLocation:(struct { double x0; double x1; })a1 startCourse:(double)a2 pounceCompletionHandler:(id /* block */)a3; - (void)stopIgnoreStyleChange; - (void)stylesheetDidChange; - (void)stylesheetDidReload; - (void)updateCameraState; - (void)updateLocation:(const void *)a0 andCourse:(const void *)a1; - (void)updateManeuversToFrame; - (void)updatePointsToFrame; - (void)updateSpringsForFramingCamera; - (void)updateSpringsForTrackingCamera; - (BOOL)wantsTimerTick; @end