59 lines
2.0 KiB
TypeScript
59 lines
2.0 KiB
TypeScript
declare global {
|
|
const THREE: typeof import('three');
|
|
}
|
|
|
|
declare namespace ATON {
|
|
function realize(): void;
|
|
function setPathCollection(path: string): void;
|
|
function setMainLightDirection(v: THREE.Vector3): void;
|
|
function getMainLightDirection(): THREE.Vector3;
|
|
function toggleShadows(enabled: boolean): void;
|
|
function setExposure(value: number): void;
|
|
function setMainPanorama(path: string): void;
|
|
function setAutoLP(enabled: boolean): void;
|
|
function enableClipPlanes(): void;
|
|
function disableClipPlanes(): void;
|
|
function addClipPlane(normal: THREE.Vector3, point: THREE.Vector3): THREE.Plane;
|
|
function createSceneNode(id: string): SceneNode;
|
|
function getSceneNode(id: string): SceneNode;
|
|
function getRootScene(): THREE.Object3D;
|
|
|
|
interface SceneNode {
|
|
load(path: string): SceneNode;
|
|
setRotation(x: number, y: number, z: number): SceneNode;
|
|
setMaterial(material: THREE.Material): SceneNode;
|
|
attachToRoot(): SceneNode;
|
|
toggle(visible: boolean): SceneNode;
|
|
getBound(): THREE.Sphere;
|
|
add(object: THREE.Object3D): void;
|
|
remove(object: THREE.Object3D): void;
|
|
}
|
|
|
|
namespace Nav {
|
|
let _camera: THREE.Camera;
|
|
function setUserControl(enabled: boolean): void;
|
|
function requestPOVbyNode(n: ATON.SceneNode, duration: number): void;
|
|
}
|
|
|
|
namespace UI {
|
|
let elSidePanel: HTMLElement;
|
|
function init(): void;
|
|
function addBasicEvents(): void;
|
|
function setSidePanelLeft(): void;
|
|
function setSidePanelRight(): void;
|
|
function showSidePanel(options: { header: string }): void;
|
|
function createSlider(options: {
|
|
range: [number, number];
|
|
label: string;
|
|
value: number | string;
|
|
oninput: (val: string) => void;
|
|
}): HTMLElement;
|
|
}
|
|
|
|
namespace FX {
|
|
const PASS_AO: number;
|
|
function togglePass(pass: number, enabled: boolean): void;
|
|
}
|
|
|
|
let _renderer: THREE.WebGLRenderer;
|
|
} |