1 line
139 KiB
Plaintext
1 line
139 KiB
Plaintext
|
|
{"version":3,"file":"ArcballControls.cjs","sources":["../../src/controls/ArcballControls.ts"],"sourcesContent":["import {\n GridHelper,\n EllipseCurve,\n BufferGeometry,\n Line,\n LineBasicMaterial,\n Raycaster,\n Group,\n Box3,\n Sphere,\n Quaternion,\n Vector2,\n Vector3,\n Matrix4,\n MathUtils,\n Scene,\n PerspectiveCamera,\n OrthographicCamera,\n Mesh,\n Material,\n} from 'three'\nimport { EventDispatcher } from './EventDispatcher'\nimport { StandardControlsEventMap } from './StandardControlsEventMap'\n\ntype Camera = OrthographicCamera | PerspectiveCamera\ntype Operation = 'PAN' | 'ROTATE' | 'ZOOM' | 'FOV'\ntype MouseButtonType = number | 'WHEEL'\ntype ModifierKey = 'CTRL' | 'SHIFT'\ntype MouseAction = {\n operation: Operation\n mouse: MouseButtonType\n key: ModifierKey | null\n}\n\ntype Transformation = {\n camera: Matrix4 | null\n gizmos: Matrix4 | null\n}\n\n//trackball state\nconst STATE = {\n IDLE: Symbol(),\n ROTATE: Symbol(),\n PAN: Symbol(),\n SCALE: Symbol(),\n FOV: Symbol(),\n FOCUS: Symbol(),\n ZROTATE: Symbol(),\n TOUCH_MULTI: Symbol(),\n ANIMATION_FOCUS: Symbol(),\n ANIMATION_ROTATE: Symbol(),\n}\n\nconst INPUT = {\n NONE: Symbol(),\n ONE_FINGER: Symbol(),\n ONE_FINGER_SWITCHED: Symbol(),\n TWO_FINGER: Symbol(),\n MULT_FINGER: Symbol(),\n CURSOR: Symbol(),\n}\n\n//cursor center coordinates\nconst _center = {\n x: 0,\n y: 0,\n}\n\n//transformation matrices for gizmos and camera\nconst _transformation: Transformation = {\n camera: /* @__PURE__ */ new Matrix4(),\n gizmos: /* @__PURE__ */ new Matrix4(),\n}\n\n//events\nconst _changeEvent = { type: 'change' }\nconst _startEvent = { type: 'start' }\nconst _endEvent = { type: 'end' }\n\n/**\n *\n * @param {CamOrthographicCamera | PerspectiveCameraera} camera Virtual camera used in the scene\n * @param {HTMLElement=null} domElement Renderer's dom element\n * @param {Scene=null} scene The scene to be rendered\n */\nclass ArcballControls extends EventDispatcher<StandardControlsEventMap> {\n private camera: OrthographicCamera | PerspectiveCamera | null\n private domElement: HTMLElement | null | undefined\n private scene: Scene | null | undefined\n\n private mouseActions: (MouseAction & { state: Symbol })[]\n private _mouseOp: Operation | null\n\n private _v2_1: Vector2\n private _v3_1: Vector3\n private _v3_2: Vector3\n\n private _m4_1: Matrix4\n private _m4_2: Matrix4\n\n private _quat: Quaternion\n\n private _translationMatrix: Matrix4\n private _rotationMatrix: Matrix4\n private _scaleMatrix: Matrix4\n\n private _rotationAxis: Vector3\n\n private _cameraMatrixState: Matrix4\n private _cameraProjectionState: Matrix4\n\n private _fovState: number\n private _upState: Vector3\n private _zoomState: number\n private _nearPos: number\n private _farPos: number\n\n private _gizmoMatrixState: Matrix4\n\n private _up0: Vector3\n private _zoom0: number\n private _fov0: number\n private _initialNear: number\n private _nearPos0: number\n private _initialFar: number\n private _farPos0: number\n private _cameraMatrixState0: Matrix4\n private _gizmoMatrixState0: Matrix4\n\n private _button: MouseButtonType\n private _touchStart: PointerEvent[]\n private _touchCurrent: PointerEvent[]\n private _input: Symbol\n\n private _switchSensibility: number\n private _startFingerDistance: number\n private _currentFingerDistance: number\n private _startFingerRotation: number\n private _currentFingerRotation: number\n\n private _devPxRatio: number\n private _downValid: boolean\n private _nclicks: number\n private _downEvents: PointerEvent[]\n private _clickStart: number\n private _maxDownTime: number\n private _maxInterval: number\n private _posThreshold: number\n private _movementThreshold: number\n\n private _currentCursorPosition: Vector3\n private _startCursorPosition: Vector3\n\n private _grid: GridHelper | null\n private _gridPosition: Vector3\n\n private _gizmos: Group\n private _curvePts: number\n\n private _timeStart: number\n private _animationId: number\n\n public focusAnimation
|