@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
652 lines • 369 kB
TypeScript
import { BaseSceneEventsController } from './_BaseEventsController';
import { PointerEventNode } from '../../../nodes/event/Pointer';
import { Raycaster, Vector2 } from 'three';
import { PointerEventType } from '../../../../core/event/PointerEventType';
import { SceneEventsDispatcher } from './EventsDispatcher';
import type { EventContext } from '../../../../core/event/EventContextType';
export interface RaycasterUpdateOptions {
pointsThreshold: number;
lineThreshold: number;
}
export declare class PointerEventsController extends BaseSceneEventsController<MouseEvent | TouchEvent, PointerEventNode> {
constructor(dispatcher: SceneEventsDispatcher);
protected _requireCanvasEventListeners: boolean;
private _cursorHelper;
protected _cursor0: import("@vue/reactivity").Ref<{
x: number;
y: number;
width: number;
height: number;
readonly isVector2: true;
set: (x: number, y: number) => Vector2;
setScalar: (scalar: number) => Vector2;
setX: (x: number) => Vector2;
setY: (y: number) => Vector2;
setComponent: (index: number, value: number) => Vector2;
getComponent: (index: number) => number;
clone: () => Vector2;
copy: (v: import("three").Vector2Like) => Vector2;
add: (v: import("three").Vector2Like) => Vector2;
addScalar: (s: number) => Vector2;
addVectors: (a: import("three").Vector2Like, b: import("three").Vector2Like) => Vector2;
addScaledVector: (v: import("three").Vector2Like, s: number) => Vector2;
sub: (v: import("three").Vector2Like) => Vector2;
subScalar: (s: number) => Vector2;
subVectors: (a: import("three").Vector2Like, b: import("three").Vector2Like) => Vector2;
multiply: (v: import("three").Vector2Like) => Vector2;
multiplyScalar: (scalar: number) => Vector2;
divide: (v: import("three").Vector2Like) => Vector2;
divideScalar: (s: number) => Vector2;
applyMatrix3: (m: import("three").Matrix3) => Vector2;
min: (v: import("three").Vector2Like) => Vector2;
max: (v: import("three").Vector2Like) => Vector2;
clamp: (min: import("three").Vector2Like, max: import("three").Vector2Like) => Vector2;
clampScalar: (min: number, max: number) => Vector2;
clampLength: (min: number, max: number) => Vector2;
floor: () => Vector2;
ceil: () => Vector2;
round: () => Vector2;
roundToZero: () => Vector2;
negate: () => Vector2;
dot: (v: import("three").Vector2Like) => number;
cross: (v: import("three").Vector2Like) => number;
lengthSq: () => number;
length: () => number;
manhattanLength: () => number;
normalize: () => Vector2;
angle: () => number;
angleTo: (v: Vector2) => number;
distanceTo: (v: import("three").Vector2Like) => number;
distanceToSquared: (v: import("three").Vector2Like) => number;
manhattanDistanceTo: (v: import("three").Vector2Like) => number;
setLength: (length: number) => Vector2;
lerp: (v: import("three").Vector2Like, alpha: number) => Vector2;
lerpVectors: (v1: import("three").Vector2Like, v2: import("three").Vector2Like, alpha: number) => Vector2;
equals: (v: import("three").Vector2Like) => boolean;
fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => Vector2;
toArray: {
(array?: number[] | undefined, offset?: number | undefined): number[];
(array?: import("three").Vector2Tuple | undefined, offset?: 0 | undefined): import("three").Vector2Tuple;
(array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>;
};
fromBufferAttribute: (attribute: import("three").BufferAttribute, index: number) => Vector2;
rotateAround: (center: import("three").Vector2Like, angle: number) => Vector2;
random: () => Vector2;
[Symbol.iterator]: () => Iterator<number, any, undefined>;
}>;
private _raycaster0;
type(): string;
acceptedEventTypes(): Set<PointerEventType>;
setRaycaster(raycaster: Raycaster): void;
processEvent(eventContext: EventContext<PointerEvent | MouseEvent | TouchEvent>): void;
raycaster(): import("@vue/reactivity").Ref<{
ray: {
origin: {
x: number;
y: number;
z: number;
readonly isVector3: true;
set: (x: number, y: number, z: number) => import("three").Vector3;
setScalar: (scalar: number) => import("three").Vector3;
setX: (x: number) => import("three").Vector3;
setY: (y: number) => import("three").Vector3;
setZ: (z: number) => import("three").Vector3;
setComponent: (index: number, value: number) => import("three").Vector3;
getComponent: (index: number) => number;
clone: () => import("three").Vector3;
copy: (v: import("three").Vector3Like) => import("three").Vector3;
add: (v: import("three").Vector3Like) => import("three").Vector3;
addScalar: (s: number) => import("three").Vector3;
addVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3;
addScaledVector: (v: import("three").Vector3, s: number) => import("three").Vector3;
sub: (a: import("three").Vector3Like) => import("three").Vector3;
subScalar: (s: number) => import("three").Vector3;
subVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3;
multiply: (v: import("three").Vector3Like) => import("three").Vector3;
multiplyScalar: (s: number) => import("three").Vector3;
multiplyVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3;
applyEuler: (euler: import("three").Euler) => import("three").Vector3;
applyAxisAngle: (axis: import("three").Vector3, angle: number) => import("three").Vector3;
applyMatrix3: (m: import("three").Matrix3) => import("three").Vector3;
applyNormalMatrix: (m: import("three").Matrix3) => import("three").Vector3;
applyMatrix4: (m: import("three").Matrix4) => import("three").Vector3;
applyQuaternion: (q: import("three").QuaternionLike) => import("three").Vector3;
project: (camera: import("three").Camera) => import("three").Vector3;
unproject: (camera: import("three").Camera) => import("three").Vector3;
transformDirection: (m: import("three").Matrix4) => import("three").Vector3;
divide: (v: import("three").Vector3Like) => import("three").Vector3;
divideScalar: (s: number) => import("three").Vector3;
min: (v: import("three").Vector3Like) => import("three").Vector3;
max: (v: import("three").Vector3Like) => import("three").Vector3;
clamp: (min: import("three").Vector3Like, max: import("three").Vector3Like) => import("three").Vector3;
clampScalar: (min: number, max: number) => import("three").Vector3;
clampLength: (min: number, max: number) => import("three").Vector3;
floor: () => import("three").Vector3;
ceil: () => import("three").Vector3;
round: () => import("three").Vector3;
roundToZero: () => import("three").Vector3;
negate: () => import("three").Vector3;
dot: (v: import("three").Vector3Like) => number;
lengthSq: () => number;
length: () => number;
manhattanLength: () => number;
normalize: () => import("three").Vector3;
setLength: (l: number) => import("three").Vector3;
lerp: (v: import("three").Vector3Like, alpha: number) => import("three").Vector3;
lerpVectors: (v1: import("three").Vector3Like, v2: import("three").Vector3Like, alpha: number) => import("three").Vector3;
cross: (a: import("three").Vector3Like) => import("three").Vector3;
crossVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3;
projectOnVector: (v: import("three").Vector3) => import("three").Vector3;
projectOnPlane: (planeNormal: import("three").Vector3) => import("three").Vector3;
reflect: (vector: import("three").Vector3Like) => import("three").Vector3;
angleTo: (v: import("three").Vector3) => number;
distanceTo: (v: import("three").Vector3Like) => number;
distanceToSquared: (v: import("three").Vector3Like) => number;
manhattanDistanceTo: (v: import("three").Vector3Like) => number;
setFromSpherical: (s: import("three").Spherical) => import("three").Vector3;
setFromSphericalCoords: (r: number, phi: number, theta: number) => import("three").Vector3;
setFromCylindrical: (s: import("three").Cylindrical) => import("three").Vector3;
setFromCylindricalCoords: (radius: number, theta: number, y: number) => import("three").Vector3;
setFromMatrixPosition: (m: import("three").Matrix4) => import("three").Vector3;
setFromMatrixScale: (m: import("three").Matrix4) => import("three").Vector3;
setFromMatrixColumn: (matrix: import("three").Matrix4, index: number) => import("three").Vector3;
setFromMatrix3Column: (matrix: import("three").Matrix3, index: number) => import("three").Vector3;
setFromEuler: (e: import("three").Euler) => import("three").Vector3;
setFromColor: (color: import("three").RGB) => import("three").Vector3;
equals: (v: import("three").Vector3Like) => boolean;
fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Vector3;
toArray: {
(array?: number[] | undefined, offset?: number | undefined): number[];
(array?: import("three").Vector3Tuple | undefined, offset?: 0 | undefined): import("three").Vector3Tuple;
(array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>;
};
fromBufferAttribute: (attribute: import("three").BufferAttribute | import("three").InterleavedBufferAttribute, index: number) => import("three").Vector3;
random: () => import("three").Vector3;
randomDirection: () => import("three").Vector3;
[Symbol.iterator]: () => Iterator<number, any, undefined>;
};
direction: {
x: number;
y: number;
z: number;
readonly isVector3: true;
set: (x: number, y: number, z: number) => import("three").Vector3;
setScalar: (scalar: number) => import("three").Vector3;
setX: (x: number) => import("three").Vector3;
setY: (y: number) => import("three").Vector3;
setZ: (z: number) => import("three").Vector3;
setComponent: (index: number, value: number) => import("three").Vector3;
getComponent: (index: number) => number;
clone: () => import("three").Vector3;
copy: (v: import("three").Vector3Like) => import("three").Vector3;
add: (v: import("three").Vector3Like) => import("three").Vector3;
addScalar: (s: number) => import("three").Vector3;
addVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3;
addScaledVector: (v: import("three").Vector3, s: number) => import("three").Vector3;
sub: (a: import("three").Vector3Like) => import("three").Vector3;
subScalar: (s: number) => import("three").Vector3;
subVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3;
multiply: (v: import("three").Vector3Like) => import("three").Vector3;
multiplyScalar: (s: number) => import("three").Vector3;
multiplyVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3;
applyEuler: (euler: import("three").Euler) => import("three").Vector3;
applyAxisAngle: (axis: import("three").Vector3, angle: number) => import("three").Vector3;
applyMatrix3: (m: import("three").Matrix3) => import("three").Vector3;
applyNormalMatrix: (m: import("three").Matrix3) => import("three").Vector3;
applyMatrix4: (m: import("three").Matrix4) => import("three").Vector3;
applyQuaternion: (q: import("three").QuaternionLike) => import("three").Vector3;
project: (camera: import("three").Camera) => import("three").Vector3;
unproject: (camera: import("three").Camera) => import("three").Vector3;
transformDirection: (m: import("three").Matrix4) => import("three").Vector3;
divide: (v: import("three").Vector3Like) => import("three").Vector3;
divideScalar: (s: number) => import("three").Vector3;
min: (v: import("three").Vector3Like) => import("three").Vector3;
max: (v: import("three").Vector3Like) => import("three").Vector3;
clamp: (min: import("three").Vector3Like, max: import("three").Vector3Like) => import("three").Vector3;
clampScalar: (min: number, max: number) => import("three").Vector3;
clampLength: (min: number, max: number) => import("three").Vector3;
floor: () => import("three").Vector3;
ceil: () => import("three").Vector3;
round: () => import("three").Vector3;
roundToZero: () => import("three").Vector3;
negate: () => import("three").Vector3;
dot: (v: import("three").Vector3Like) => number;
lengthSq: () => number;
length: () => number;
manhattanLength: () => number;
normalize: () => import("three").Vector3;
setLength: (l: number) => import("three").Vector3;
lerp: (v: import("three").Vector3Like, alpha: number) => import("three").Vector3;
lerpVectors: (v1: import("three").Vector3Like, v2: import("three").Vector3Like, alpha: number) => import("three").Vector3;
cross: (a: import("three").Vector3Like) => import("three").Vector3;
crossVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3;
projectOnVector: (v: import("three").Vector3) => import("three").Vector3;
projectOnPlane: (planeNormal: import("three").Vector3) => import("three").Vector3;
reflect: (vector: import("three").Vector3Like) => import("three").Vector3;
angleTo: (v: import("three").Vector3) => number;
distanceTo: (v: import("three").Vector3Like) => number;
distanceToSquared: (v: import("three").Vector3Like) => number;
manhattanDistanceTo: (v: import("three").Vector3Like) => number;
setFromSpherical: (s: import("three").Spherical) => import("three").Vector3;
setFromSphericalCoords: (r: number, phi: number, theta: number) => import("three").Vector3;
setFromCylindrical: (s: import("three").Cylindrical) => import("three").Vector3;
setFromCylindricalCoords: (radius: number, theta: number, y: number) => import("three").Vector3;
setFromMatrixPosition: (m: import("three").Matrix4) => import("three").Vector3;
setFromMatrixScale: (m: import("three").Matrix4) => import("three").Vector3;
setFromMatrixColumn: (matrix: import("three").Matrix4, index: number) => import("three").Vector3;
setFromMatrix3Column: (matrix: import("three").Matrix3, index: number) => import("three").Vector3;
setFromEuler: (e: import("three").Euler) => import("three").Vector3;
setFromColor: (color: import("three").RGB) => import("three").Vector3;
equals: (v: import("three").Vector3Like) => boolean;
fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Vector3;
toArray: {
(array?: number[] | undefined, offset?: number | undefined): number[];
(array?: import("three").Vector3Tuple | undefined, offset?: 0 | undefined): import("three").Vector3Tuple;
(array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>;
};
fromBufferAttribute: (attribute: import("three").BufferAttribute | import("three").InterleavedBufferAttribute, index: number) => import("three").Vector3;
random: () => import("three").Vector3;
randomDirection: () => import("three").Vector3;
[Symbol.iterator]: () => Iterator<number, any, undefined>;
};
set: (origin: import("three").Vector3, direction: import("three").Vector3) => import("three").Ray;
clone: () => import("three").Ray;
copy: (ray: import("three").Ray) => import("three").Ray;
at: (t: number, target: import("three").Vector3) => import("three").Vector3;
lookAt: (v: import("three").Vector3) => import("three").Ray;
recast: (t: number) => import("three").Ray;
closestPointToPoint: (point: import("three").Vector3, target: import("three").Vector3) => import("three").Vector3;
distanceToPoint: (point: import("three").Vector3) => number;
distanceSqToPoint: (point: import("three").Vector3) => number;
distanceSqToSegment: (v0: import("three").Vector3, v1: import("three").Vector3, optionalPointOnRay?: import("three").Vector3 | undefined, optionalPointOnSegment?: import("three").Vector3 | undefined) => number;
intersectSphere: (sphere: import("three").Sphere, target: import("three").Vector3) => import("three").Vector3 | null;
intersectsSphere: (sphere: import("three").Sphere) => boolean;
distanceToPlane: (plane: import("three").Plane) => number;
intersectPlane: (plane: import("three").Plane, target: import("three").Vector3) => import("three").Vector3 | null;
intersectsPlane: (plane: import("three").Plane) => boolean;
intersectBox: (box: import("three").Box3, target: import("three").Vector3) => import("three").Vector3 | null;
intersectsBox: (box: import("three").Box3) => boolean;
intersectTriangle: (a: import("three").Vector3, b: import("three").Vector3, c: import("three").Vector3, backfaceCulling: boolean, target: import("three").Vector3) => import("three").Vector3 | null;
applyMatrix4: (matrix4: import("three").Matrix4) => import("three").Ray;
equals: (ray: import("three").Ray) => boolean;
isIntersectionBox: (b: any) => any;
isIntersectionPlane: (p: any) => any;
isIntersectionSphere: (s: any) => any;
};
near: number;
far: number;
camera: {
readonly isCamera: true;
readonly type: string;
layers: {
mask: number;
set: (layer: number) => void;
enable: (layer: number) => void;
enableAll: () => void;
toggle: (layer: number) => void;
disable: (layer: number) => void;
disableAll: () => void;
test: (layers: import("three").Layers) => boolean;
isEnabled: (layer: number) => boolean;
};
matrixWorldInverse: {
readonly isMatrix4: true;
elements: [n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number];
set: (n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number) => import("three").Matrix4;
identity: () => import("three").Matrix4;
clone: () => import("three").Matrix4;
copy: (m: import("three").Matrix4) => import("three").Matrix4;
copyPosition: (m: import("three").Matrix4) => import("three").Matrix4;
setFromMatrix3: (m: import("three").Matrix3) => import("three").Matrix4;
extractBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4;
makeBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4;
extractRotation: (m: import("three").Matrix4) => import("three").Matrix4;
makeRotationFromEuler: (euler: import("three").Euler) => import("three").Matrix4;
makeRotationFromQuaternion: (q: import("three").Quaternion) => import("three").Matrix4;
lookAt: (eye: import("three").Vector3, target: import("three").Vector3, up: import("three").Vector3) => import("three").Matrix4;
multiply: (m: import("three").Matrix4) => import("three").Matrix4;
premultiply: (m: import("three").Matrix4) => import("three").Matrix4;
multiplyMatrices: (a: import("three").Matrix4, b: import("three").Matrix4) => import("three").Matrix4;
multiplyScalar: (s: number) => import("three").Matrix4;
determinant: () => number;
transpose: () => import("three").Matrix4;
setPosition: {
(v: import("three").Vector3): import("three").Matrix4;
(x: number, y: number, z: number): import("three").Matrix4;
};
invert: () => import("three").Matrix4;
scale: (v: import("three").Vector3) => import("three").Matrix4;
getMaxScaleOnAxis: () => number;
makeTranslation: {
(v: import("three").Vector3): import("three").Matrix4;
(x: number, y: number, z: number): import("three").Matrix4;
};
makeRotationX: (theta: number) => import("three").Matrix4;
makeRotationY: (theta: number) => import("three").Matrix4;
makeRotationZ: (theta: number) => import("three").Matrix4;
makeRotationAxis: (axis: import("three").Vector3, angle: number) => import("three").Matrix4;
makeScale: (x: number, y: number, z: number) => import("three").Matrix4;
makeShear: (xy: number, xz: number, yx: number, yz: number, zx: number, zy: number) => import("three").Matrix4;
compose: (position: import("three").Vector3, quaternion: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4;
decompose: (position: import("three").Vector3, quaternion: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4;
makePerspective: (left: number, right: number, top: number, bottom: number, near: number, far: number, coordinateSystem?: import("three").CoordinateSystem | undefined) => import("three").Matrix4;
makeOrthographic: (left: number, right: number, top: number, bottom: number, near: number, far: number, coordinateSystem?: import("three").CoordinateSystem | undefined) => import("three").Matrix4;
equals: (matrix: import("three").Matrix4) => boolean;
fromArray: (array: ArrayLike<number>, offset?: number | undefined) => import("three").Matrix4;
toArray: {
(): import("three").Matrix4Tuple;
<TArray extends ArrayLike<number>>(array: TArray, offset?: number | undefined): TArray;
};
};
projectionMatrix: {
readonly isMatrix4: true;
elements: [n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number];
set: (n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number) => import("three").Matrix4;
identity: () => import("three").Matrix4;
clone: () => import("three").Matrix4;
copy: (m: import("three").Matrix4) => import("three").Matrix4;
copyPosition: (m: import("three").Matrix4) => import("three").Matrix4;
setFromMatrix3: (m: import("three").Matrix3) => import("three").Matrix4;
extractBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4;
makeBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4;
extractRotation: (m: import("three").Matrix4) => import("three").Matrix4;
makeRotationFromEuler: (euler: import("three").Euler) => import("three").Matrix4;
makeRotationFromQuaternion: (q: import("three").Quaternion) => import("three").Matrix4;
lookAt: (eye: import("three").Vector3, target: import("three").Vector3, up: import("three").Vector3) => import("three").Matrix4;
multiply: (m: import("three").Matrix4) => import("three").Matrix4;
premultiply: (m: import("three").Matrix4) => import("three").Matrix4;
multiplyMatrices: (a: import("three").Matrix4, b: import("three").Matrix4) => import("three").Matrix4;
multiplyScalar: (s: number) => import("three").Matrix4;
determinant: () => number;
transpose: () => import("three").Matrix4;
setPosition: {
(v: import("three").Vector3): import("three").Matrix4;
(x: number, y: number, z: number): import("three").Matrix4;
};
invert: () => import("three").Matrix4;
scale: (v: import("three").Vector3) => import("three").Matrix4;
getMaxScaleOnAxis: () => number;
makeTranslation: {
(v: import("three").Vector3): import("three").Matrix4;
(x: number, y: number, z: number): import("three").Matrix4;
};
makeRotationX: (theta: number) => import("three").Matrix4;
makeRotationY: (theta: number) => import("three").Matrix4;
makeRotationZ: (theta: number) => import("three").Matrix4;
makeRotationAxis: (axis: import("three").Vector3, angle: number) => import("three").Matrix4;
makeScale: (x: number, y: number, z: number) => import("three").Matrix4;
makeShear: (xy: number, xz: number, yx: number, yz: number, zx: number, zy: number) => import("three").Matrix4;
compose: (position: import("three").Vector3, quaternion: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4;
decompose: (position: import("three").Vector3, quaternion: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4;
makePerspective: (left: number, right: number, top: number, bottom: number, near: number, far: number, coordinateSystem?: import("three").CoordinateSystem | undefined) => import("three").Matrix4;
makeOrthographic: (left: number, right: number, top: number, bottom: number, near: number, far: number, coordinateSystem?: import("three").CoordinateSystem | undefined) => import("three").Matrix4;
equals: (matrix: import("three").Matrix4) => boolean;
fromArray: (array: ArrayLike<number>, offset?: number | undefined) => import("three").Matrix4;
toArray: {
(): import("three").Matrix4Tuple;
<TArray extends ArrayLike<number>>(array: TArray, offset?: number | undefined): TArray;
};
};
projectionMatrixInverse: {
readonly isMatrix4: true;
elements: [n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number];
set: (n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number) => import("three").Matrix4;
identity: () => import("three").Matrix4;
clone: () => import("three").Matrix4;
copy: (m: import("three").Matrix4) => import("three").Matrix4;
copyPosition: (m: import("three").Matrix4) => import("three").Matrix4;
setFromMatrix3: (m: import("three").Matrix3) => import("three").Matrix4;
extractBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4;
makeBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4;
extractRotation: (m: import("three").Matrix4) => import("three").Matrix4;
makeRotationFromEuler: (euler: import("three").Euler) => import("three").Matrix4;
makeRotationFromQuaternion: (q: import("three").Quaternion) => import("three").Matrix4;
lookAt: (eye: import("three").Vector3, target: import("three").Vector3, up: import("three").Vector3) => import("three").Matrix4;
multiply: (m: import("three").Matrix4) => import("three").Matrix4;
premultiply: (m: import("three").Matrix4) => import("three").Matrix4;
multiplyMatrices: (a: import("three").Matrix4, b: import("three").Matrix4) => import("three").Matrix4;
multiplyScalar: (s: number) => import("three").Matrix4;
determinant: () => number;
transpose: () => import("three").Matrix4;
setPosition: {
(v: import("three").Vector3): import("three").Matrix4;
(x: number, y: number, z: number): import("three").Matrix4;
};
invert: () => import("three").Matrix4;
scale: (v: import("three").Vector3) => import("three").Matrix4;
getMaxScaleOnAxis: () => number;
makeTranslation: {
(v: import("three").Vector3): import("three").Matrix4;
(x: number, y: number, z: number): import("three").Matrix4;
};
makeRotationX: (theta: number) => import("three").Matrix4;
makeRotationY: (theta: number) => import("three").Matrix4;
makeRotationZ: (theta: number) => import("three").Matrix4;
makeRotationAxis: (axis: import("three").Vector3, angle: number) => import("three").Matrix4;
makeScale: (x: number, y: number, z: number) => import("three").Matrix4;
makeShear: (xy: number, xz: number, yx: number, yz: number, zx: number, zy: number) => import("three").Matrix4;
compose: (position: import("three").Vector3, quaternion: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4;
decompose: (position: import("three").Vector3, quaternion: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4;
makePerspective: (left: number, right: number, top: number, bottom: number, near: number, far: number, coordinateSystem?: import("three").CoordinateSystem | undefined) => import("three").Matrix4;
makeOrthographic: (left: number, right: number, top: number, bottom: number, near: number, far: number, coordinateSystem?: import("three").CoordinateSystem | undefined) => import("three").Matrix4;
equals: (matrix: import("three").Matrix4) => boolean;
fromArray: (array: ArrayLike<number>, offset?: number | undefined) => import("three").Matrix4;
toArray: {
(): import("three").Matrix4Tuple;
<TArray extends ArrayLike<number>>(array: TArray, offset?: number | undefined): TArray;
};
};
coordinateSystem: import("three").CoordinateSystem;
viewport?: {
x: number;
y: number;
z: number;
w: number;
width: number;
height: number;
readonly isVector4: true;
set: (x: number, y: number, z: number, w: number) => import("three").Vector4;
setScalar: (scalar: number) => import("three").Vector4;
setX: (x: number) => import("three").Vector4;
setY: (y: number) => import("three").Vector4;
setZ: (z: number) => import("three").Vector4;
setW: (w: number) => import("three").Vector4;
setComponent: (index: number, value: number) => import("three").Vector4;
getComponent: (index: number) => number;
clone: () => import("three").Vector4;
copy: (v: import("three").Vector4Like) => import("three").Vector4;
add: (v: import("three").Vector4Like) => import("three").Vector4;
addScalar: (scalar: number) => import("three").Vector4;
addVectors: (a: import("three").Vector4Like, b: import("three").Vector4Like) => import("three").Vector4;
addScaledVector: (v: import("three").Vector4Like, s: number) => import("three").Vector4;
sub: (v: import("three").Vector4Like) => import("three").Vector4;
subScalar: (s: number) => import("three").Vector4;
subVectors: (a: import("three").Vector4Like, b: import("three").Vector4Like) => import("three").Vector4;
multiply: (v: import("three").Vector4Like) => import("three").Vector4;
multiplyScalar: (s: number) => import("three").Vector4;
applyMatrix4: (m: import("three").Matrix4) => import("three").Vector4;
divideScalar: (s: number) => import("three").Vector4;
setAxisAngleFromQuaternion: (q: import("three").QuaternionLike) => import("three").Vector4;
setAxisAngleFromRotationMatrix: (m: import("three").Matrix4) => import("three").Vector4;
setFromMatrixPosition: (m: import("three").Matrix4) => import("three").Vector4;
min: (v: import("three").Vector4Like) => import("three").Vector4;
max: (v: import("three").Vector4Like) => import("three").Vector4;
clamp: (min: import("three").Vector4Like, max: import("three").Vector4Like) => import("three").Vector4;
clampScalar: (min: number, max: number) => import("three").Vector4;
floor: () => import("three").Vector4;
ceil: () => import("three").Vector4;
round: () => import("three").Vector4;
roundToZero: () => import("three").Vector4;
negate: () => import("three").Vector4;
dot: (v: import("three").Vector4Like) => number;
lengthSq: () => number;
length: () => number;
manhattanLength: () => number;
normalize: () => import("three").Vector4;
setLength: (length: number) => import("three").Vector4;
lerp: (v: import("three").Vector4Like, alpha: number) => import("three").Vector4;
lerpVectors: (v1: import("three").Vector4Like, v2: import("three").Vector4Like, alpha: number) => import("three").Vector4;
equals: (v: import("three").Vector4Like) => boolean;
fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Vector4;
toArray: {
(array?: number[] | undefined, offset?: number | undefined): number[];
(array?: import("three").Vector4Tuple | undefined, offset?: 0 | undefined): import("three").Vector4Tuple;
(array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>;
};
fromBufferAttribute: (attribute: import("three").BufferAttribute, index: number) => import("three").Vector4;
random: () => import("three").Vector4;
[Symbol.iterator]: () => Iterator<number, any, undefined>;
} | undefined;
getWorldDirection: (target: import("three").Vector3) => import("three").Vector3;
readonly isObject3D: true;
readonly id: number;
uuid: string;
name: string;
parent: {
readonly isObject3D: true;
readonly id: number;
uuid: string;
name: string;
readonly type: string;
parent: any | null;
children: any[];
up: {
x: number;
y: number;
z: number;
readonly isVector3: true;
set: (x: number, y: number, z: number) => import("three").Vector3;
setScalar: (scalar: number) => import("three").Vector3;
setX: (x: number) => import("three").Vector3;
setY: (y: number) => import("three").Vector3;
setZ: (z: number) => import("three").Vector3;
setComponent: (index: number, value: number) => import("three").Vector3;
getComponent: (index: number) => number;
clone: () => import("three").Vector3;
copy: (v: import("three").Vector3Like) => import("three").Vector3;
add: (v: import("three").Vector3Like) => import("three").Vector3;
addScalar: (s: number) => import("three").Vector3;
addVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3;
addScaledVector: (v: import("three").Vector3, s: number) => import("three").Vector3;
sub: (a: import("three").Vector3Like) => import("three").Vector3;
subScalar: (s: number) => import("three").Vector3;
subVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3;
multiply: (v: import("three").Vector3Like) => import("three").Vector3;
multiplyScalar: (s: number) => import("three").Vector3;
multiplyVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3;
applyEuler: (euler: import("three").Euler) => import("three").Vector3;
applyAxisAngle: (axis: import("three").Vector3, angle: number) => import("three").Vector3;
applyMatrix3: (m: import("three").Matrix3) => import("three").Vector3;
applyNormalMatrix: (m: import("three").Matrix3) => import("three").Vector3;
applyMatrix4: (m: import("three").Matrix4) => import("three").Vector3;
applyQuaternion: (q: import("three").QuaternionLike) => import("three").Vector3;
project: (camera: import("three").Camera) => import("three").Vector3;
unproject: (camera: import("three").Camera) => import("three").Vector3;
transformDirection: (m: import("three").Matrix4) => import("three").Vector3;
divide: (v: import("three").Vector3Like) => import("three").Vector3;
divideScalar: (s: number) => import("three").Vector3;
min: (v: import("three").Vector3Like) => import("three").Vector3;
max: (v: import("three").Vector3Like) => import("three").Vector3;
clamp: (min: import("three").Vector3Like, max: import("three").Vector3Like) => import("three").Vector3;
clampScalar: (min: number, max: number) => import("three").Vector3;
clampLength: (min: number, max: number) => import("three").Vector3;
floor: () => import("three").Vector3;
ceil: () => import("three").Vector3;
round: () => import("three").Vector3;
roundToZero: () => import("three").Vector3;
negate: () => import("three").Vector3;
dot: (v: import("three").Vector3Like) => number;
lengthSq: () => number;
length: () => number;
manhattanLength: () => number;
normalize: () => import("three").Vector3;
setLength: (l: number) => import("three").Vector3;
lerp: (v: import("three").Vector3Like, alpha: number) => import("three").Vector3;
lerpVectors: (v1: import("three").Vector3Like, v2: import("three").Vector3Like, alpha: number) => import("three").Vector3;
cross: (a: import("three").Vector3Like) => import("three").Vector3;
crossVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3;
projectOnVector: (v: import("three").Vector3) => import("three").Vector3;
projectOnPlane: (planeNormal: import("three").Vector3) => import("three").Vector3;
reflect: (vector: import("three").Vector3Like) => import("three").Vector3;
angleTo: (v: import("three").Vector3) => number;
distanceTo: (v: import("three").Vector3Like) => number;
distanceToSquared: (v: import("three").Vector3Like) => number;
manhattanDistanceTo: (v: import("three").Vector3Like) => number;
setFromSpherical: (s: import("three").Spherical) => import("three").Vector3;
setFromSphericalCoords: (r: number, phi: number, theta: number) => import("three").Vector3;
setFromCylindrical: (s: import("three").Cylindrical) => import("three").Vector3;
setFromCylindricalCoords: (radius: number, theta: number, y: number) => import("three").Vector3;
setFromMatrixPosition: (m: import("three").Matrix4) => import("three").Vector3;
setFromMatrixScale: (m: import("three").Matrix4) => import("three").Vector3;
setFromMatrixColumn: (matrix: import("three").Matrix4, index: number) => import("three").Vector3;
setFromMatrix3Column: (matrix: import("three").Matrix3, index: number) => import("three").Vector3;
setFromEuler: (e: import("three").Euler) => import("three").Vector3;
setFromColor: (color: import("three").RGB) => import("three").Vector3;
equals: (v: import("three").Vector3Like) => boolean;
fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Vector3;
toArray: {
(array?: number[] | undefined, offset?: number | undefined): number[];
(array?: import("three").Vector3Tuple | undefined, offset?: 0 | undefined): import("three").Vector3Tuple;
(array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>;
};
fromBufferAttribute: (attribute: import("three").BufferAttribute | import("three").InterleavedBufferAttribute, index: number) => import("three").Vector3;
random: () => import("three").Vector3;
randomDirection: () => import("three").Vector3;
[Symbol.iterator]: () => Iterator<number, any, undefined>;
};
readonly position: {
x: number;
y: number;
z: number;
readonly isVector3: true;
set: (x: number, y: number, z: number) => import("three").Vector3;
setScalar: (scalar: number) => import("three").Vector3;
setX: (x: number) => import("three").Vector3;
setY: (y: number) => import("three").Vector3;
setZ: (z: number) => import("three").Vector3;
setComponent: (index: number, value: number) => import("three").Vector3;
getComponent: (index: number) => number;
clone: () => import("three").Vector3;
copy: (v: import("three").Vector3Like) => import("three").Vector3;
add: (v: import("three").Vector3Like) => import("three").Vector3;
addScalar: (s: number) => import("three").Vector3;
addVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3;
addScaledVector: (v: import("three").Vector3, s: number) => import("three").Vector3;
sub: (a: import("three").Vector3Like) => import("three").Vector3;
subScalar: (s: number) => import("three").Vector3;
subVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3;
multiply: (v: import("three").Vector3Like) => import("three").Vector3;
multiplyScalar: (s: number) => import("three").Vector3;
multiplyVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3;
applyEuler: (euler: import("three").Euler) => import("three").Vector3;
applyAxisAngle: (axis: import("three").Vector3, angle: number) => import("three").Vector3;
applyMatrix3: (m: import("three").Matrix3) => import("three").Vector3;
applyNormalMatrix: (m: import("three").Matrix3) => import("three").Vector3;
applyMatrix4: (m: import("three").Matrix4) => import("three").Vector3;
applyQuaternion: (q: import("three").QuaternionLike) => import("three").Vector3;
project: (camera: import("three").Camera) => import("three").Vector3;
unproject: (camera: import("three").Camera) => import("three").Vector3;
transformDirection: (m: import("three").Matrix4) => import("three").Vector3;
divide: (v: import("three").Vector3Like) => import("three").Vector3;
divideScalar: (s: number) => import("three").Vector3;
min: (v: import("three").Vector3Like) => import("three").Vector3;
max: (v: import("three").Vector3Like) => import("three").Vector3;
clamp: (min: import("three").Vector3Like, max: import("three").Vector3Like) => import("three").Vector3;
clampScalar: (min: number, max: number) => import("three").Vector3;
clampLength: (min: number, max: number) => import("three").Vector3;
floor: () => import("three").Vector3;
ceil: () => import("three").Vector3;
round: () => import("three").Vector3;
roundToZero: () => import("three").Vector3;
negate: () => import("three").Vector3;
dot: (v: import("three").Vector3Like) => number;
lengthSq: () => number;
length: () => number;
manhattanLength: () => number;
normalize: () => import("three").Vector3;
setLength: (l: number) => import("three").Vector3;
lerp: (v: import("three").Vector3Like, alpha: number) => import("three").Vector3;
lerpVectors: (v1: import("three").Vector3Like, v2: import("three").Vector3Like, alpha: number) => import("three").Vector3;
cross: (a: import("three").Vector3Like) => import("three").Vector3;
crossVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3;
projectOnVector: (v: impor