import { EventEmitter } from '../../stencil-public-runtime'; import { Point, Vector3 } from '@vertexvis/geometry'; import { StreamApi } from '@vertexvis/stream-api'; import { ReceivedFrame } from '../..'; import { CursorManager } from '../cursors'; import { OrthographicCamera } from '../scenes'; import { DepthBuffer, Viewport } from '../types'; import { InteractionApi, InteractionConfigProvider, SceneProvider } from './interactionApi'; import { TapEventDetails } from './tapEventDetails'; export declare class InteractionApiOrthographic extends InteractionApi { private orthographicZoomData?; constructor(stream: StreamApi, cursors: CursorManager, getConfig: InteractionConfigProvider, getScene: SceneProvider, getFrame: () => ReceivedFrame | undefined, getViewport: () => Viewport, tapEmitter: EventEmitter, doubleTapEmitter: EventEmitter, longPressEmitter: EventEmitter, interactionStartedEmitter: EventEmitter, interactionFinishedEmitter: EventEmitter); /** * Returns a 3D point in world space for the given 2D point in viewport space. * * @param point A point in 2D viewport space to transform. * @returns A 3D point in world space. */ getWorldPointFromViewport(point: Point.Point): Promise; /** * Performs a pan operation of the scene's camera, and requests a new image * for the updated scene. * * @param delta A position delta `{x, y}` in the 2D coordinate space of the * viewer. */ panCameraByDelta(delta: Point.Point): Promise; /** * Moves the camera's position and look at to the given screen coordinate. * * If the screen coordinate intersects with an object, the camera will track * the hit point so the mouse position is always under the mouse. * * If the screen coordinate doesn't intersect with an object, then ???. * * @param screenPt A point in screen coordinates. */ panCameraToScreenPoint(screenPt: Point.Point): Promise; zoomCameraToPoint(point: Point.Point, delta: number): Promise; /** * Performs a rotate operation of the scene around the camera's look at point, * and requests a new image for the updated scene. * * @param delta A position delta `{x, y}` in the 2D coordinate space of the * viewer. */ rotateCamera(delta: Point.Point): Promise; protected getWorldPoint(point: Point.Point, depthBuffer: DepthBuffer, fallbackPoint: Vector3.Vector3): Vector3.Vector3; }