-
-
Notifications
You must be signed in to change notification settings - Fork 355
/
Copy pathcontroller.d.ts
54 lines (54 loc) · 1.49 KB
/
controller.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import { Controller } from '@hotwired/stimulus';
import * as THREE from 'three';
export type Material = {
color: string;
opacity: number;
map: string;
transparent: boolean;
type: string;
doubleSide: boolean;
skybox: boolean;
};
export type Mesh = {
geometry: any;
material: Material;
animation: any;
};
export type Light = {
type: String;
color: THREE.Color;
intensity: number;
position: THREE.Vector3;
target: THREE.Vector3;
};
export type Camera = {
type: String;
position: THREE.Vector3;
near: number;
far: number;
aspect: number;
fov: number;
top: number;
left: number;
right: number;
bottom: number;
};
export default class extends Controller {
threeValue: any;
static values: {
three: ObjectConstructor;
};
private renderer;
connect(): void;
createScene(data: any): void;
transform(object3D: THREE.Object3D, transformationData: any): any;
createMesh(meshData: Mesh, scene: THREE.Scene): THREE.Mesh;
createGeometry(geometryData: any): THREE.BufferGeometry;
createMaterial(materialData: Material): THREE.Material | undefined;
createLight(lightData: Light, scene: THREE.Scene): void;
createCamera(cameraData: Camera, renderer: THREE.WebGLRenderer): THREE.Camera;
setControls(controlCamera: THREE.Camera, renderer: THREE.WebGLRenderer): void;
createModel(modelData: any, scene: THREE.Scene): any;
private dispatchEvent;
threeValueChanged(): void;
}