@class NSString, VKTimedAnimation; @interface VKMuninCameraController : VKCameraController { void *_muninSceneLogic; void *_elevationLogic; struct shared_ptr { struct TaskContext *__ptr_; struct __shared_weak_count *__cntrl_; } _taskContext; struct optional<(anonymous namespace)::PointSegment> { BOOL _hasValue; union ValueUnion { unsigned char data[3984]; struct PointSegment { struct PointView { struct CollectionPoint { unsigned long long pointId; struct RigidTransform { struct Matrix { double _e[3]; } _translation; struct Quaternion { struct Matrix { float _e[3]; } _imaginary; float _scalar; } _rotation; } frame; struct Unit { float _value; } heading; struct Mercator3 { double _e[3]; } mercatorPosition; unsigned long long time; struct small_vector { struct PhotoInfo *_begin; struct PhotoInfo *_end; struct PhotoInfo *_fixedStorage; unsigned long long _capacity; struct type { unsigned char __lx[288]; } storage[6]; } photos; float heightAboveGroundMeters; unsigned int buildId; unsigned short bucketId; unsigned char type; unsigned char dataType; unsigned char texturedLodMask; } _point; struct vector, std::allocator>> { void *__begin_; void *__end_; struct __compressed_pair *, std::allocator>> { void *__value_; } __end_cap_; } _requiredViews; struct vector, std::allocator>> { void *__begin_; void *__end_; struct __compressed_pair *, std::allocator>> { void *__value_; } __end_cap_; } _optionalViews; struct small_vector { struct CameraLod *_begin; struct CameraLod *_end; struct CameraLod *_fixedStorage; unsigned long long _capacity; struct type { unsigned char __lx[8]; } storage[6]; } _cameras; } _startPoint; struct PointView { struct CollectionPoint { unsigned long long pointId; struct RigidTransform { struct Matrix { double _e[3]; } _translation; struct Quaternion { struct Matrix { float _e[3]; } _imaginary; float _scalar; } _rotation; } frame; struct Unit { float _value; } heading; struct Mercator3 { double _e[3]; } mercatorPosition; unsigned long long time; struct small_vector { struct PhotoInfo *_begin; struct PhotoInfo *_end; struct PhotoInfo *_fixedStorage; unsigned long long _capacity; struct type { unsigned char __lx[288]; } storage[6]; } photos; float heightAboveGroundMeters; unsigned int buildId; unsigned short bucketId; unsigned char type; unsigned char dataType; unsigned char texturedLodMask; } _point; struct vector, std::allocator>> { void *__begin_; void *__end_; struct __compressed_pair *, std::allocator>> { void *__value_; } __end_cap_; } _requiredViews; struct vector, std::allocator>> { void *__begin_; void *__end_; struct __compressed_pair *, std::allocator>> { void *__value_; } __end_cap_; } _optionalViews; struct small_vector { struct CameraLod *_begin; struct CameraLod *_end; struct CameraLod *_fixedStorage; unsigned long long _capacity; struct type { unsigned char __lx[8]; } storage[6]; } _cameras; } _endPoint; } type; } _value; } _currentPointSegment; struct shared_ptr<(anonymous namespace)::PathAnimator> { struct PathAnimator *__ptr_; struct __shared_weak_count *__cntrl_; } _pathAnimator; struct mutex { struct _opaque_pthread_mutex_t { long long __sig; char __opaque[56]; } __m_; } _pathAnimatorMutex; struct unique_ptr<(anonymous namespace)::BumpAnimator, std::default_delete<(anonymous namespace)::BumpAnimator>> { struct __compressed_pair<(anonymous namespace)::BumpAnimator *, std::default_delete<(anonymous namespace)::BumpAnimator>> { struct BumpAnimator *__value_; } __ptr_; } _bumpAnimator; BOOL _panning; BOOL _panStopping; struct Matrix { float _e[2]; } _panLocation; struct Matrix { float _e[2]; } _panTranslation; struct _retain_ptr { void /* function */ **_vptr$_retain_ptr; VKTimedAnimation *_obj; struct _retain_objc_arc { } _retain; struct _release_objc_arc { } _release; } _panAnimation; BOOL _pinching; struct Matrix { float _e[2]; } _pinchZoomOffset; struct Unit { double _value; } _pinchStartFieldOfView; struct _retain_ptr { void /* function */ **_vptr$_retain_ptr; VKTimedAnimation *_obj; struct _retain_objc_arc { } _retain; struct _release_objc_arc { } _release; } _pinchResetAnimation; float _cameraOffsetFactor; struct _retain_ptr { void /* function */ **_vptr$_retain_ptr; VKTimedAnimation *_obj; struct _retain_objc_arc { } _retain; struct _release_objc_arc { } _release; } _offsetAnimation; double _lastUpdateTime; struct Spring { double _position; double _velocity; double _restingPosition; double _kSpring; double _kDamper; } _panSpring; struct Unit { double _value; } _heading; struct Unit { double _value; } _pitch; BOOL _restrictWidestFieldOfView; struct Unit { double _value; } _widestFieldOfView; struct Coordinate3D { struct Unit { double _value; } latitude; struct Unit { double _value; } longitude; struct Unit { double _value; } altitude; } _rigPosition; 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; } _previousCameraFrame; unsigned long long _tapIndex; struct shared_ptr { struct Task *__ptr_; struct __shared_weak_count *__cntrl_; } _preparePath; struct unique_ptr<(anonymous namespace)::PathAnimationDescription, std::default_delete<(anonymous namespace)::PathAnimationDescription>> { struct __compressed_pair<(anonymous namespace)::PathAnimationDescription *, std::default_delete<(anonymous namespace)::PathAnimationDescription>> { struct PathAnimationDescription *__value_; } __ptr_; } _currentPathAnimation; struct unique_ptr<(anonymous namespace)::PendingPathAnimation, std::default_delete<(anonymous namespace)::PendingPathAnimation>> { struct __compressed_pair<(anonymous namespace)::PendingPathAnimation *, std::default_delete<(anonymous namespace)::PendingPathAnimation>> { struct PendingPathAnimation *__value_; } __ptr_; } _pendingPathAnimation; unsigned char _desiredLOD; } @property (nonatomic) BOOL virtualParallaxEnabled; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; - (double)zoomLevelAdjustmentForTileSize:(long long)a0; - (void)startPitchingWithFocusPoint:(struct CGPoint { double x0; double x1; })a0; - (double)heading; - (void)updateWithTimestamp:(double)a0 withContext:(void *)a1; - (BOOL)cancelPendingMoveExceptBump; - (const void *)currentPoint; - (void)updatePitchWithFocusPoint:(struct CGPoint { double x0; double x1; })a0 translation:(double)a1; - (BOOL)isPathAnimationRunning; - (BOOL)moveToPoint:(const void *)a0 withHeading:(struct Unit { double x0; })a1 withPitch:(struct Unit { double x0; })a2 animated:(BOOL)a3 completionHandler:(id /* block */)a4; - (void)startRotatingWithFocusPoint:(struct CGPoint { double x0; double x1; })a0; - (void)animatePath:(void *)a0 withTarget:(const void *)a1 lookAtTarget:(BOOL)a2 constantLod:(BOOL)a3 prePruneData:(BOOL)a4 completionHandler:(id /* block */)a5; - (void)stopPinchingWithFocusPoint:(struct CGPoint { double x0; double x1; })a0; - (void)updatePitchWithFocusPoint:(struct CGPoint { double x0; double x1; })a0 degrees:(double)a1; - (void)selectLabelMarker:(const void *)a0 completion:(id /* block */)a1; - (BOOL)tapAtPoint:(struct CGPoint { double x0; double x1; })a0; - (BOOL)usesVKCamera; - (void)animatePath:(void *)a0 animator:(const void *)a1 preloadedRequiredViews:(void *)a2 prePruneData:(BOOL)a3 completionHandler:(id /* block */)a4; - (void)startPinchingWithFocusPoint:(struct CGPoint { double x0; double x1; })a0; - (void)stopRotatingWithFocusPoint:(struct CGPoint { double x0; double x1; })a0; - (void)setVkCamera:(id)a0; - (struct Unit { double x0; })_horizontalFieldOfView:(struct Unit { double x0; })a0; - (BOOL)canZoomInForTileSize:(long long)a0; - (void)stopPanningAtPoint:(struct CGPoint { double x0; double x1; })a0; - (void)_updateDebugOverlay:(void *)a0; - (void)updatePinchWithFocusPoint:(struct CGPoint { double x0; double x1; })a0 oldFactor:(double)a1 newFactor:(double)a2; - (double)minimumZoomLevelForTileSize:(long long)a0; - (void)stopPitchingWithFocusPoint:(struct CGPoint { double x0; double x1; })a0; - (struct { double x0; double x1; })centerCoordinate; - (id).cxx_construct; - (BOOL)isAnimationsRunningExceptBump; - (void)resetPathAnimation; - (void)setCurrentPoint:(const void *)a0 secondaryPoint:(struct optional { BOOL x0; union ValueUnion { unsigned char x0[1864]; struct CollectionPoint { unsigned long long x0; struct RigidTransform { struct Matrix { double x0[3]; } x0; struct Quaternion { struct Matrix { float x0[3]; } x0; float x1; } x1; } x1; struct Unit { float x0; } x2; struct Mercator3 { double x0[3]; } x3; unsigned long long x4; struct small_vector { struct PhotoInfo *x0; struct PhotoInfo *x1; struct PhotoInfo *x2; unsigned long long x3; struct type { unsigned char x0[288]; } x4[6]; } x5; float x6; unsigned int x7; unsigned short x8; unsigned char x9; unsigned char x10; unsigned char x11; } x1; } x1; })a1; - (void)stopAnimationsExceptBump; - (void)startPanningAtPoint:(struct CGPoint { double x0; double x1; })a0 panAtStartPoint:(BOOL)a1; - (void)updatePanWithTranslation:(struct CGPoint { double x0; double x1; })a0; - (void)zoomAnimatedWithDuration:(struct Unit { double x0; })a0 duration:(float)a1 completion:(id /* block */)a2; - (double)altitude; - (void)transferGestureState:(id)a0; - (double)currentZoomLevelForTileSize:(long long)a0; - (void)zoom:(double)a0 withFocusPoint:(struct CGPoint { double x0; double x1; })a1 completionHandler:(id /* block */)a2; - (void)setCurrentSegment:(void *)a0; - (void)setWidestFieldOfView:(struct Unit { double x0; })a0; - (void)updateRotationWithFocusPoint:(struct CGPoint { double x0; double x1; })a0 newValue:(double)a1; - (void)stopAnimations; - (void)setCenterCoordinate:(struct { double x0; double x1; })a0 altitude:(double)a1 yaw:(double)a2 pitch:(double)a3 duration:(double)a4 animationStyle:(long long)a5 timingCurve:(id /* block */)a6 completion:(id /* block */)a7; - (void)updateCurrentPointView:(BOOL)a0; - (struct Matrix { float x0[2]; })screenPointWithOffset:(struct CGPoint { double x0; double x1; })a0; - (void)moveAlongPath:(struct PathAnimationDescription { struct vector> { struct CollectionPoint *x0; struct CollectionPoint *x1; struct __compressed_pair> { struct CollectionPoint *x0; } x2; } x0; struct Geocentric { double x0[3]; } x1; struct RigidTransform { struct Matrix { double x0[3]; } x0; struct Quaternion { struct Matrix { double x0[3]; } x0; double x1; } x1; } x2; BOOL x3; int x4; struct shared_ptr<(anonymous namespace)::PathAnimator> { struct PathAnimator *x0; struct __shared_weak_count *x1; } x5; unsigned long long x6; })a0 tap:(struct TapDescription { struct Intersection { struct Geocentric { double x0[3]; } x0; struct Matrix { double x0[3]; } x1; } x0; struct Ray { struct Matrix { double x0[3]; } x0; struct Matrix { double x0[3]; } x1; } x1; struct CollectionPoint { unsigned long long x0; struct RigidTransform { struct Matrix { double x0[3]; } x0; struct Quaternion { struct Matrix { float x0[3]; } x0; float x1; } x1; } x1; struct Unit { float x0; } x2; struct Mercator3 { double x0[3]; } x3; unsigned long long x4; struct small_vector { struct PhotoInfo *x0; struct PhotoInfo *x1; struct PhotoInfo *x2; unsigned long long x3; struct type { unsigned char x0[288]; } x4[6]; } x5; float x6; unsigned int x7; unsigned short x8; unsigned char x9; unsigned char x10; unsigned char x11; } x2; struct RigidTransform { struct Matrix { double x0[3]; } x0; struct Quaternion { struct Matrix { double x0[3]; } x0; double x1; } x1; } x3; unsigned long long x4; })a1 preloadedViews:(struct unordered_map, gdc::LayerDataRequestKeyHash, std::equal_to, std::allocator>>> { struct __hash_table>, std::__unordered_map_hasher>, gdc::LayerDataRequestKeyHash, std::equal_to>, std::__unordered_map_equal>, std::equal_to, gdc::LayerDataRequestKeyHash>, std::allocator>>> { struct unique_ptr>, void *> *> *[], std::__bucket_list_deallocator>, void *> *> *>>> { struct __compressed_pair>, void *> *> **, std::__bucket_list_deallocator>, void *> *> *>>> { void **x0; struct __bucket_list_deallocator>, void *> *> *>> { struct __compressed_pair>, void *> *> *>> { unsigned long long x0; } x0; } x1; } x0; } x0; struct __compressed_pair>, void *> *>, std::allocator>, void *>>> { struct __hash_node_base>, void *> *> { void *x0; } x0; } x1; struct __compressed_pair>, gdc::LayerDataRequestKeyHash, std::equal_to>> { unsigned long long x0; } x2; struct __compressed_pair>, std::equal_to, gdc::LayerDataRequestKeyHash>> { float x0; } x3; } x0; })a2 continued:(BOOL)a3; - (void)willStopPanningAtPoint:(struct CGPoint { double x0; double x1; })a0 withVelocity:(struct CGPoint { double x0; double x1; })a1; - (void)setCurrentPoint:(const void *)a0; - (double)_zoomRubberBandFov:(double)a0; - (BOOL)cancelPendingMove; - (void)pathAnimationPrepared:(struct PathAnimationDescription { struct vector> { struct CollectionPoint *x0; struct CollectionPoint *x1; struct __compressed_pair> { struct CollectionPoint *x0; } x2; } x0; struct Geocentric { double x0[3]; } x1; struct RigidTransform { struct Matrix { double x0[3]; } x0; struct Quaternion { struct Matrix { double x0[3]; } x0; double x1; } x1; } x2; BOOL x3; int x4; struct shared_ptr<(anonymous namespace)::PathAnimator> { struct PathAnimator *x0; struct __shared_weak_count *x1; } x5; unsigned long long x6; })a0 tap:(struct TapDescription { struct Intersection { struct Geocentric { double x0[3]; } x0; struct Matrix { double x0[3]; } x1; } x0; struct Ray { struct Matrix { double x0[3]; } x0; struct Matrix { double x0[3]; } x1; } x1; struct CollectionPoint { unsigned long long x0; struct RigidTransform { struct Matrix { double x0[3]; } x0; struct Quaternion { struct Matrix { float x0[3]; } x0; float x1; } x1; } x1; struct Unit { float x0; } x2; struct Mercator3 { double x0[3]; } x3; unsigned long long x4; struct small_vector { struct PhotoInfo *x0; struct PhotoInfo *x1; struct PhotoInfo *x2; unsigned long long x3; struct type { unsigned char x0[288]; } x4[6]; } x5; float x6; unsigned int x7; unsigned short x8; unsigned char x9; unsigned char x10; unsigned char x11; } x2; struct RigidTransform { struct Matrix { double x0[3]; } x0; struct Quaternion { struct Matrix { double x0[3]; } x0; double x1; } x1; } x3; unsigned long long x4; })a1 preloadedViews:(struct unordered_map, gdc::LayerDataRequestKeyHash, std::equal_to, std::allocator>>> { struct __hash_table>, std::__unordered_map_hasher>, gdc::LayerDataRequestKeyHash, std::equal_to>, std::__unordered_map_equal>, std::equal_to, gdc::LayerDataRequestKeyHash>, std::allocator>>> { struct unique_ptr>, void *> *> *[], std::__bucket_list_deallocator>, void *> *> *>>> { struct __compressed_pair>, void *> *> **, std::__bucket_list_deallocator>, void *> *> *>>> { void **x0; struct __bucket_list_deallocator>, void *> *> *>> { struct __compressed_pair>, void *> *> *>> { unsigned long long x0; } x0; } x1; } x0; } x0; struct __compressed_pair>, void *> *>, std::allocator>, void *>>> { struct __hash_node_base>, void *> *> { void *x0; } x0; } x1; struct __compressed_pair>, gdc::LayerDataRequestKeyHash, std::equal_to>> { unsigned long long x0; } x2; struct __compressed_pair>, std::equal_to, gdc::LayerDataRequestKeyHash>> { float x0; } x3; } x0; })a2; - (void).cxx_destruct; - (BOOL)isBumpAnimationRunning; - (double)topDownMinimumZoomLevelForTileSize:(long long)a0; - (void)zoomAnimated:(struct Unit { double x0; })a0 completion:(id /* block */)a1; - (struct Unit { double x0; })_pitchForScreenPoint:(struct Matrix { float x0[2]; })a0; - (void)pathAnimationComplete:(unsigned long long)a0; - (BOOL)canZoomOutForTileSize:(long long)a0; - (double)pitch; - (BOOL)isAnimationsRunning; - (void)runBumpAnimation:(const void *)a0 targetPoint:(const void *)a1 completionHandler:(id /* block */)a2; - (void)_setHeading:(struct Unit { double x0; })a0; - (double)maximumZoomLevelForTileSize:(long long)a0; - (id)initWithTaskContext:(struct shared_ptr { struct TaskContext *x0; struct __shared_weak_count *x1; })a0 mapDataAccess:(void *)a1 animationRunner:(struct AnimationRunner { struct MapEngine *x0; } *)a2 runLoopController:(struct RunLoopController { struct MapEngine *x0; long long x1; } *)a3 cameraDelegate:(id)a4 muninSceneLogic:(void *)a5 elevationLogic:(void *)a6; - (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; - (struct Unit { double x0; })_verticalFieldOfView:(struct Unit { double x0; })a0; @end