UNPKG

@threejs-addons/threejs-addons

Version:

free & opensource threejs addons to boost productivity

151 lines (150 loc) 5.48 kB
import { Vector3 } from 'three/src/math/Vector3'; import { Quaternion } from 'three/src/math/Quaternion'; import { CameraControllerType } from "../../types"; import { TranslationController } from "./translation-controller"; import { RapierColliderController } from "./rapier-character-controller"; import { CameraController } from "./camera-controller"; interface ControllerAPI { options: any; target: any; _target: any; setTarget(target: any): void; update(delta: number, updateController?: boolean): void; translateXDirection: boolean; setTranslateXDirection(state: boolean, value: number): void; handleTranslateXDirection(): void; translateYDirection: boolean; setTranslateYDirection(state: boolean, value: number): void; handleTranslateYDirection(): void; translateZDirection: boolean; setTranslateZDirection(state: boolean, value: number): void; handleTranslateZDirection(): void; translateXYZDirection: boolean; setTranslateXYZDirection(state: boolean, direction: Vector3): void; handleTranslateXYZDirection(): void; position: Vector3; rotation: Quaternion; velocity: Vector3; direction: Vector3; delta: number; SPEED_UP_CONSTANT: number; SLOW_DOWN_CONSTANT: number; speedFactor: number; desiredMovementVector: Vector3; desiredVelocityVector: Vector3; cameraController?: CameraControllerType; RCC?: RapierColliderController; CCC?: CameraController; TCC?: TranslationController; setRCC(RCC: RapierColliderController): void; setCCC(CCC: CameraController): void; setTCC(TCC: TranslationController): void; updateSpeedFactor(increment: number): void; setSpeedFactor(speedFactor: number): void; } export declare class BaseController implements ControllerAPI { options: any; target: any; _target: any; translateXDirection: boolean; translateYDirection: boolean; translateZDirection: boolean; translateXYZDirection: boolean; direction: Vector3; position: Vector3; rotation: Quaternion; velocity: Vector3; delta: number; SPEED_UP_CONSTANT: number; SLOW_DOWN_CONSTANT: number; speedFactor: number; desiredMovementVector: Vector3; desiredVelocityVector: Vector3; cameraController?: CameraControllerType; RCC?: RapierColliderController; CCC?: CameraController; TCC?: TranslationController; constructor({ CCC, RCC, TCC, target, options }: { target: any; options: object; CCC?: CameraController; RCC?: RapierColliderController; TCC?: TranslationController; }); /** * @description setup rapier coontroller class instance * @param RCC RapierColliderController */ setRCC(RCC: RapierColliderController): void; /** * @description setup up camera controller class instance * @param CCC CameraController * */ setCCC(CCC: CameraController): void; /** * @description setup up translation controller class instance * @param TCC TranslationController * */ setTCC(TCC: TranslationController): void; /** * @description set speedfactor * @param speedFactor: number */ setSpeedFactor(speedFactor: number): void; updateSpeedFactor(increment: number): void; /** * @description sets camera controller */ setCameraController(cameraController: CameraControllerType): void; /** @description states whether or not we should translate target in x direction */ setTranslateXDirection(state: boolean, value: number): void; /** @description states whether or not we should translate target in y direction */ setTranslateYDirection(state: boolean, value: number): void; /** @description states whether or not we should translate target in z direction */ setTranslateZDirection(state: boolean, value: number): void; /** * @description states whether or not we should translate target in x, y, and z directions * @remarks perfect for applying forces/impulses * */ setTranslateXYZDirection(state: boolean, direction: Vector3): void; /** * @deprecated * @param self * @returns */ static computeTranslationXDirection(self: any): Vector3; /** * * @param * @returns */ static computeTranslationXYZDirection({ translation, direction, SPEED_UP_CONSTANT, delta, cameraController, speedFactor }: { translation: Vector3; direction: Vector3; SPEED_UP_CONSTANT: number; delta: number; speedFactor: number; cameraController?: CameraControllerType | undefined; }): { position: Vector3; velocity: Vector3; } | null; handleTranslateXDirection(): void; handleTranslateYDirection(): void; handleTranslateZDirection(): void; handleTranslateXYZDirection(): void; updateTargetPosition(): Vector3 | null; updateTargetQuaternion(): void; /** * @description sets the target of the controller */ setTarget(target: any): void; resetVelocity(): void; /** * @description updates the controller */ update(delta: number, updateController?: boolean): void; updateCameraControllerByMovementVector(): void; updateCameraControllerByVelocityVector(): void; } export {};