@operato/scene-visualizer 10.0.0-beta.1 → 10.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/editors/property-editor-gltf-info.d.ts +8 -1
- package/dist/editors/property-editor-gltf-info.js +80 -24
- package/dist/editors/property-editor-gltf-info.js.map +1 -1
- package/package.json +2 -2
- package/dist/banner.d.ts +0 -244
- package/dist/banner.js +0 -75
- package/dist/banner.js.map +0 -1
- package/dist/camera.d.ts +0 -249
- package/dist/camera.js +0 -107
- package/dist/camera.js.map +0 -1
- package/dist/cube.d.ts +0 -241
- package/dist/cube.js +0 -37
- package/dist/cube.js.map +0 -1
- package/dist/cylinder.d.ts +0 -9
- package/dist/cylinder.js +0 -37
- package/dist/cylinder.js.map +0 -1
- package/dist/ellipse.d.ts +0 -5
- package/dist/ellipse.js +0 -20
- package/dist/ellipse.js.map +0 -1
- package/dist/gltf-object.d.ts +0 -249
- package/dist/gltf-object.js +0 -103
- package/dist/gltf-object.js.map +0 -1
- package/dist/html-overlay-element.d.ts +0 -1
- package/dist/html-overlay-element.js +0 -8
- package/dist/html-overlay-element.js.map +0 -1
- package/dist/light.d.ts +0 -14
- package/dist/light.js +0 -134
- package/dist/light.js.map +0 -1
- package/dist/polygon.d.ts +0 -17
- package/dist/polygon.js +0 -62
- package/dist/polygon.js.map +0 -1
- package/dist/rect.d.ts +0 -5
- package/dist/rect.js +0 -34
- package/dist/rect.js.map +0 -1
- package/dist/scene/component.d.ts +0 -1
- package/dist/scene/component.js +0 -29
- package/dist/scene/component.js.map +0 -1
- package/dist/sphere.d.ts +0 -9
- package/dist/sphere.js +0 -37
- package/dist/sphere.js.map +0 -1
- package/dist/sprite.d.ts +0 -238
- package/dist/sprite.js +0 -27
- package/dist/sprite.js.map +0 -1
- package/dist/text.d.ts +0 -1
- package/dist/text.js +0 -7
- package/dist/text.js.map +0 -1
- package/dist/three-container-editor.d.ts +0 -22
- package/dist/three-container-editor.js +0 -132
- package/dist/three-container-editor.js.map +0 -1
- package/dist/three-container.d.ts +0 -61
- package/dist/three-container.js +0 -371
- package/dist/three-container.js.map +0 -1
- package/dist/three-controls.d.ts +0 -111
- package/dist/three-controls.js +0 -414
- package/dist/three-controls.js.map +0 -1
- package/dist/three-layout.d.ts +0 -8
- package/dist/three-layout.js +0 -20
- package/dist/three-layout.js.map +0 -1
- package/dist/three-space.d.ts +0 -8
- package/dist/three-space.js +0 -58
- package/dist/three-space.js.map +0 -1
- package/dist/threed/common.d.ts +0 -22
- package/dist/threed/common.js +0 -19
- package/dist/threed/common.js.map +0 -1
- package/dist/threed/floor/floor.d.ts +0 -3
- package/dist/threed/floor/floor.js +0 -51
- package/dist/threed/floor/floor.js.map +0 -1
- package/dist/threed/html/elements.d.ts +0 -2
- package/dist/threed/html/elements.js +0 -21
- package/dist/threed/html/elements.js.map +0 -1
- package/dist/threed/index.d.ts +0 -16
- package/dist/threed/index.js +0 -17
- package/dist/threed/index.js.map +0 -1
- package/dist/threed/interfaces.d.ts +0 -15
- package/dist/threed/interfaces.js +0 -5
- package/dist/threed/interfaces.js.map +0 -1
- package/dist/threed/managers/camera-manager.d.ts +0 -14
- package/dist/threed/managers/camera-manager.js +0 -60
- package/dist/threed/managers/camera-manager.js.map +0 -1
- package/dist/threed/managers/controls-manager.d.ts +0 -50
- package/dist/threed/managers/controls-manager.js +0 -249
- package/dist/threed/managers/controls-manager.js.map +0 -1
- package/dist/threed/managers/event-manager3d.d.ts +0 -19
- package/dist/threed/managers/event-manager3d.js +0 -76
- package/dist/threed/managers/event-manager3d.js.map +0 -1
- package/dist/threed/managers/index.d.ts +0 -7
- package/dist/threed/managers/index.js +0 -7
- package/dist/threed/managers/index.js.map +0 -1
- package/dist/threed/managers/light-manager.d.ts +0 -7
- package/dist/threed/managers/light-manager.js +0 -37
- package/dist/threed/managers/light-manager.js.map +0 -1
- package/dist/threed/managers/renderer-manager.d.ts +0 -30
- package/dist/threed/managers/renderer-manager.js +0 -120
- package/dist/threed/managers/renderer-manager.js.map +0 -1
- package/dist/threed/managers/scene-manager.d.ts +0 -15
- package/dist/threed/managers/scene-manager.js +0 -48
- package/dist/threed/managers/scene-manager.js.map +0 -1
- package/dist/threed/managers/types.d.ts +0 -36
- package/dist/threed/managers/types.js +0 -2
- package/dist/threed/managers/types.js.map +0 -1
- package/dist/threed/real-object-camera-meshed.d.ts +0 -12
- package/dist/threed/real-object-camera-meshed.js +0 -49
- package/dist/threed/real-object-camera-meshed.js.map +0 -1
- package/dist/threed/real-object-camera.d.ts +0 -9
- package/dist/threed/real-object-camera.js +0 -31
- package/dist/threed/real-object-camera.js.map +0 -1
- package/dist/threed/real-object-dom-element.d.ts +0 -9
- package/dist/threed/real-object-dom-element.js +0 -48
- package/dist/threed/real-object-dom-element.js.map +0 -1
- package/dist/threed/real-object-dummy.d.ts +0 -6
- package/dist/threed/real-object-dummy.js +0 -11
- package/dist/threed/real-object-dummy.js.map +0 -1
- package/dist/threed/real-object-extrude.d.ts +0 -22
- package/dist/threed/real-object-extrude.js +0 -180
- package/dist/threed/real-object-extrude.js.map +0 -1
- package/dist/threed/real-object-gltf.d.ts +0 -16
- package/dist/threed/real-object-gltf.js +0 -105
- package/dist/threed/real-object-gltf.js.map +0 -1
- package/dist/threed/real-object-group.d.ts +0 -5
- package/dist/threed/real-object-group.js +0 -11
- package/dist/threed/real-object-group.js.map +0 -1
- package/dist/threed/real-object-mesh.d.ts +0 -13
- package/dist/threed/real-object-mesh.js +0 -73
- package/dist/threed/real-object-mesh.js.map +0 -1
- package/dist/threed/real-object-plane.d.ts +0 -5
- package/dist/threed/real-object-plane.js +0 -22
- package/dist/threed/real-object-plane.js.map +0 -1
- package/dist/threed/real-object-registry.d.ts +0 -7
- package/dist/threed/real-object-registry.js +0 -32
- package/dist/threed/real-object-registry.js.map +0 -1
- package/dist/threed/real-object-scene.d.ts +0 -21
- package/dist/threed/real-object-scene.js +0 -72
- package/dist/threed/real-object-scene.js.map +0 -1
- package/dist/threed/real-object-sprite-2d.d.ts +0 -14
- package/dist/threed/real-object-sprite-2d.js +0 -45
- package/dist/threed/real-object-sprite-2d.js.map +0 -1
- package/dist/threed/real-object-sprite.d.ts +0 -11
- package/dist/threed/real-object-sprite.js +0 -52
- package/dist/threed/real-object-sprite.js.map +0 -1
- package/dist/threed/real-object-text.d.ts +0 -15
- package/dist/threed/real-object-text.js +0 -66
- package/dist/threed/real-object-text.js.map +0 -1
- package/dist/threed/real-object.d.ts +0 -65
- package/dist/threed/real-object.js +0 -251
- package/dist/threed/real-object.js.map +0 -1
- package/dist/threed/texture/canvas-texture.d.ts +0 -4
- package/dist/threed/texture/canvas-texture.js +0 -49
- package/dist/threed/texture/canvas-texture.js.map +0 -1
- package/dist/threed/texture/text-texture.d.ts +0 -8
- package/dist/threed/texture/text-texture.js +0 -79
- package/dist/threed/texture/text-texture.js.map +0 -1
- package/dist/threed/three-dimensional-container.d.ts +0 -7
- package/dist/threed/three-dimensional-container.js +0 -2
- package/dist/threed/three-dimensional-container.js.map +0 -1
- package/dist/threed/utils/bound-uv-generator.d.ts +0 -16
- package/dist/threed/utils/bound-uv-generator.js +0 -42
- package/dist/threed/utils/bound-uv-generator.js.map +0 -1
- package/dist/threed/utils/dispose.d.ts +0 -2
- package/dist/threed/utils/dispose.js +0 -32
- package/dist/threed/utils/dispose.js.map +0 -1
- package/dist/wall.d.ts +0 -241
- package/dist/wall.js +0 -44
- package/dist/wall.js.map +0 -1
package/dist/three-space.js
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
3
|
-
*/
|
|
4
|
-
import { __decorate } from "tslib";
|
|
5
|
-
import { sceneComponent } from '@hatiolab/things-scene';
|
|
6
|
-
import { ThreeContainer } from './three-container.js';
|
|
7
|
-
const NATURE = {
|
|
8
|
-
mutable: false,
|
|
9
|
-
resizable: true,
|
|
10
|
-
rotatable: true,
|
|
11
|
-
properties: [
|
|
12
|
-
{
|
|
13
|
-
type: 'select',
|
|
14
|
-
label: 'precision',
|
|
15
|
-
name: 'precision',
|
|
16
|
-
property: {
|
|
17
|
-
options: [
|
|
18
|
-
{ display: 'High', value: 'highp' },
|
|
19
|
-
{ display: 'Medium', value: 'mediump' },
|
|
20
|
-
{ display: 'Low', value: 'lowp' }
|
|
21
|
-
]
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
{ type: 'checkbox', label: 'anti-alias', name: 'antialias', property: 'antialias' },
|
|
25
|
-
{ type: 'checkbox', label: 'controller', name: 'controller', property: 'controller' }
|
|
26
|
-
],
|
|
27
|
-
help: 'scene/component/three-space'
|
|
28
|
-
};
|
|
29
|
-
let ThreeSpace = class ThreeSpace extends ThreeContainer {
|
|
30
|
-
get nature() {
|
|
31
|
-
return NATURE;
|
|
32
|
-
}
|
|
33
|
-
getLightingConfig() {
|
|
34
|
-
const cameraZPos = this.cameraManager.cameraZPos;
|
|
35
|
-
return {
|
|
36
|
-
hemisphere: { skyColor: 0xdddddd, groundColor: 0x333333, intensity: 0.035 },
|
|
37
|
-
directional: { color: 0xd6e1ff, intensity: 0.01, attachToCamera: true },
|
|
38
|
-
point: {
|
|
39
|
-
color: 0xd6e1ff,
|
|
40
|
-
intensity: 1,
|
|
41
|
-
decay: 2,
|
|
42
|
-
power: cameraZPos * 50,
|
|
43
|
-
castShadow: true,
|
|
44
|
-
position: [0, cameraZPos, 0],
|
|
45
|
-
shadowNear: 0.1,
|
|
46
|
-
shadowFar: cameraZPos * 2
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
getCss3DSceneAttribute() {
|
|
51
|
-
return undefined;
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
ThreeSpace = __decorate([
|
|
55
|
-
sceneComponent('3d-space')
|
|
56
|
-
], ThreeSpace);
|
|
57
|
-
export { ThreeSpace };
|
|
58
|
-
//# sourceMappingURL=three-space.js.map
|
package/dist/three-space.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"three-space.js","sourceRoot":"","sources":["../src/three-space.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,OAAO,EAAmB,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAExE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD,MAAM,MAAM,GAAoB;IAC9B,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,UAAU,EAAE;QACV;YACE,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE;oBACP,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE;oBACnC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;oBACvC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;iBAClC;aACF;SACF;QACD,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE;QACnF,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE;KACtF;IACD,IAAI,EAAE,6BAA6B;CACpC,CAAA;AAGM,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,cAAc;IAC5C,IAAI,MAAM;QACR,OAAO,MAAM,CAAA;IACf,CAAC;IAES,iBAAiB;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAA;QAEhD,OAAO;YACL,UAAU,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE;YAC3E,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;YACvE,KAAK,EAAE;gBACL,KAAK,EAAE,QAAQ;gBACf,SAAS,EAAE,CAAC;gBACZ,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,UAAU,GAAG,EAAE;gBACtB,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC5B,UAAU,EAAE,GAAG;gBACf,SAAS,EAAE,UAAU,GAAG,CAAC;aAC1B;SACF,CAAA;IACH,CAAC;IAES,sBAAsB;QAC9B,OAAO,SAAS,CAAA;IAClB,CAAC;CACF,CAAA;AA3BY,UAAU;IADtB,cAAc,CAAC,UAAU,CAAC;GACd,UAAU,CA2BtB","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport { ComponentNature, sceneComponent } from '@hatiolab/things-scene'\n\nimport { ThreeContainer } from './three-container.js'\nimport { LightingConfig } from './threed/managers/index.js'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'select',\n label: 'precision',\n name: 'precision',\n property: {\n options: [\n { display: 'High', value: 'highp' },\n { display: 'Medium', value: 'mediump' },\n { display: 'Low', value: 'lowp' }\n ]\n }\n },\n { type: 'checkbox', label: 'anti-alias', name: 'antialias', property: 'antialias' },\n { type: 'checkbox', label: 'controller', name: 'controller', property: 'controller' }\n ],\n help: 'scene/component/three-space'\n}\n\n@sceneComponent('3d-space')\nexport class ThreeSpace extends ThreeContainer {\n get nature(): ComponentNature {\n return NATURE\n }\n\n protected getLightingConfig(): LightingConfig {\n const cameraZPos = this.cameraManager.cameraZPos\n\n return {\n hemisphere: { skyColor: 0xdddddd, groundColor: 0x333333, intensity: 0.035 },\n directional: { color: 0xd6e1ff, intensity: 0.01, attachToCamera: true },\n point: {\n color: 0xd6e1ff,\n intensity: 1,\n decay: 2,\n power: cameraZPos * 50,\n castShadow: true,\n position: [0, cameraZPos, 0],\n shadowNear: 0.1,\n shadowFar: cameraZPos * 2\n }\n }\n }\n\n protected getCss3DSceneAttribute(): string | undefined {\n return undefined\n }\n}\n"]}
|
package/dist/threed/common.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export declare const SCALE_MIN = 0.001;
|
|
2
|
-
export declare function applyAlpha(material: any, alpha: number, fillStyle: any): void;
|
|
3
|
-
export declare const UNIT_DIMENSION: {
|
|
4
|
-
width: number;
|
|
5
|
-
height: number;
|
|
6
|
-
depth: number;
|
|
7
|
-
};
|
|
8
|
-
export declare const UNIT_SCALE: {
|
|
9
|
-
x: number;
|
|
10
|
-
y: number;
|
|
11
|
-
z: number;
|
|
12
|
-
};
|
|
13
|
-
export declare const UNIT_TRANSLATE: {
|
|
14
|
-
x: number;
|
|
15
|
-
y: number;
|
|
16
|
-
z: number;
|
|
17
|
-
};
|
|
18
|
-
export declare const UNIT_ROTATE: {
|
|
19
|
-
x: number;
|
|
20
|
-
y: number;
|
|
21
|
-
z: number;
|
|
22
|
-
};
|
package/dist/threed/common.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import tinycolor from 'tinycolor2';
|
|
2
|
-
export const SCALE_MIN = 0.001;
|
|
3
|
-
export function applyAlpha(material, alpha, fillStyle) {
|
|
4
|
-
var opacity = 1;
|
|
5
|
-
if (!fillStyle || fillStyle == 'none' || fillStyle == 'transparent') {
|
|
6
|
-
opacity = 0;
|
|
7
|
-
}
|
|
8
|
-
else {
|
|
9
|
-
var fillAlpha = typeof fillStyle == 'string' ? tinycolor(fillStyle).getAlpha() : 1;
|
|
10
|
-
opacity = alpha * fillAlpha;
|
|
11
|
-
}
|
|
12
|
-
material.opacity = opacity;
|
|
13
|
-
material.transparent = opacity < 1;
|
|
14
|
-
}
|
|
15
|
-
export const UNIT_DIMENSION = { width: 1, height: 1, depth: 1 };
|
|
16
|
-
export const UNIT_SCALE = { x: 1, y: 1, z: 1 };
|
|
17
|
-
export const UNIT_TRANSLATE = { x: 0, y: 0, z: 0 };
|
|
18
|
-
export const UNIT_ROTATE = { x: 0, y: 0, z: 0 };
|
|
19
|
-
//# sourceMappingURL=common.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/threed/common.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAA;AAElC,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAA;AAE9B,MAAM,UAAU,UAAU,CAAC,QAAa,EAAE,KAAa,EAAE,SAAc;IACrE,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,CAAC,SAAS,IAAI,SAAS,IAAI,MAAM,IAAI,SAAS,IAAI,aAAa,EAAE,CAAC;QACpE,OAAO,GAAG,CAAC,CAAA;IACb,CAAC;SAAM,CAAC;QACN,IAAI,SAAS,GAAG,OAAO,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAClF,OAAO,GAAG,KAAK,GAAG,SAAS,CAAA;IAC7B,CAAC;IAED,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,QAAQ,CAAC,WAAW,GAAG,OAAO,GAAG,CAAC,CAAA;AACpC,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;AAC/D,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;AAC9C,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;AAClD,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA","sourcesContent":["import tinycolor from 'tinycolor2'\n\nexport const SCALE_MIN = 0.001\n\nexport function applyAlpha(material: any, alpha: number, fillStyle: any) {\n var opacity = 1\n if (!fillStyle || fillStyle == 'none' || fillStyle == 'transparent') {\n opacity = 0\n } else {\n var fillAlpha = typeof fillStyle == 'string' ? tinycolor(fillStyle).getAlpha() : 1\n opacity = alpha * fillAlpha\n }\n\n material.opacity = opacity\n material.transparent = opacity < 1\n}\n\nexport const UNIT_DIMENSION = { width: 1, height: 1, depth: 1 }\nexport const UNIT_SCALE = { x: 1, y: 1, z: 1 }\nexport const UNIT_TRANSLATE = { x: 0, y: 0, z: 0 }\nexport const UNIT_ROTATE = { x: 0, y: 0, z: 0 }\n"]}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import * as THREE from 'three';
|
|
2
|
-
import { RealObject } from '../real-object.js';
|
|
3
|
-
export function createFloor(component) {
|
|
4
|
-
var { fillStyle } = component.state;
|
|
5
|
-
if (!fillStyle || fillStyle == 'none') {
|
|
6
|
-
return;
|
|
7
|
-
}
|
|
8
|
-
var floorGeometry = new THREE.BoxGeometry(1, 1, 1);
|
|
9
|
-
var floorMaterial;
|
|
10
|
-
const texture = RealObject.buildFillStyleTexture(component);
|
|
11
|
-
if (texture) {
|
|
12
|
-
const color = '#424b57';
|
|
13
|
-
floorMaterial = [
|
|
14
|
-
new THREE.MeshStandardMaterial({
|
|
15
|
-
color
|
|
16
|
-
}),
|
|
17
|
-
new THREE.MeshStandardMaterial({
|
|
18
|
-
color
|
|
19
|
-
}),
|
|
20
|
-
new THREE.MeshStandardMaterial({
|
|
21
|
-
color
|
|
22
|
-
}),
|
|
23
|
-
new THREE.MeshStandardMaterial({
|
|
24
|
-
color
|
|
25
|
-
}),
|
|
26
|
-
new THREE.MeshStandardMaterial({
|
|
27
|
-
map: texture
|
|
28
|
-
}),
|
|
29
|
-
new THREE.MeshStandardMaterial({
|
|
30
|
-
color
|
|
31
|
-
})
|
|
32
|
-
];
|
|
33
|
-
}
|
|
34
|
-
else if (typeof fillStyle == 'string') {
|
|
35
|
-
floorMaterial = new THREE.MeshStandardMaterial({
|
|
36
|
-
color: fillStyle
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
if (!floorMaterial) {
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
const mesh = new THREE.Mesh(floorGeometry, floorMaterial);
|
|
43
|
-
var { width, height } = component.state;
|
|
44
|
-
mesh.scale.set(width, height, 5);
|
|
45
|
-
mesh.rotation.x = -Math.PI / 2;
|
|
46
|
-
mesh.position.y = -2;
|
|
47
|
-
mesh.name = 'floor';
|
|
48
|
-
mesh.receiveShadow = true;
|
|
49
|
-
return mesh;
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=floor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"floor.js","sourceRoot":"","sources":["../../../src/threed/floor/floor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,MAAM,UAAU,WAAW,CAAC,SAAoB;IAC9C,IAAI,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC,KAAK,CAAA;IAEnC,IAAI,CAAC,SAAS,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;QACtC,OAAM;IACR,CAAC;IAED,IAAI,aAAa,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAClD,IAAI,aAA4D,CAAA;IAEhE,MAAM,OAAO,GAAG,UAAU,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAA;IAE3D,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,SAAS,CAAA;QAEvB,aAAa,GAAG;YACd,IAAI,KAAK,CAAC,oBAAoB,CAAC;gBAC7B,KAAK;aACN,CAAC;YACF,IAAI,KAAK,CAAC,oBAAoB,CAAC;gBAC7B,KAAK;aACN,CAAC;YACF,IAAI,KAAK,CAAC,oBAAoB,CAAC;gBAC7B,KAAK;aACN,CAAC;YACF,IAAI,KAAK,CAAC,oBAAoB,CAAC;gBAC7B,KAAK;aACN,CAAC;YACF,IAAI,KAAK,CAAC,oBAAoB,CAAC;gBAC7B,GAAG,EAAE,OAAO;aACb,CAAC;YACF,IAAI,KAAK,CAAC,oBAAoB,CAAC;gBAC7B,KAAK;aACN,CAAC;SACH,CAAA;IACH,CAAC;SAAM,IAAI,OAAO,SAAS,IAAI,QAAQ,EAAE,CAAC;QACxC,aAAa,GAAG,IAAI,KAAK,CAAC,oBAAoB,CAAC;YAC7C,KAAK,EAAE,SAAS;SACjB,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAM;IACR,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAA;IAEzD,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,CAAA;IAEvC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;IAChC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;IAC9B,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAEpB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAA;IACnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;IAEzB,OAAO,IAAI,CAAA;AACb,CAAC","sourcesContent":["import * as THREE from 'three'\nimport { Component } from '@hatiolab/things-scene'\nimport { RealObject } from '../real-object.js'\n\nexport function createFloor(component: Component): THREE.Mesh | undefined {\n var { fillStyle } = component.state\n\n if (!fillStyle || fillStyle == 'none') {\n return\n }\n\n var floorGeometry = new THREE.BoxGeometry(1, 1, 1)\n var floorMaterial: THREE.Material | THREE.Material[] | undefined\n\n const texture = RealObject.buildFillStyleTexture(component)\n\n if (texture) {\n const color = '#424b57'\n\n floorMaterial = [\n new THREE.MeshStandardMaterial({\n color\n }),\n new THREE.MeshStandardMaterial({\n color\n }),\n new THREE.MeshStandardMaterial({\n color\n }),\n new THREE.MeshStandardMaterial({\n color\n }),\n new THREE.MeshStandardMaterial({\n map: texture\n }),\n new THREE.MeshStandardMaterial({\n color\n })\n ]\n } else if (typeof fillStyle == 'string') {\n floorMaterial = new THREE.MeshStandardMaterial({\n color: fillStyle\n })\n }\n\n if (!floorMaterial) {\n return\n }\n\n const mesh = new THREE.Mesh(floorGeometry, floorMaterial)\n\n var { width, height } = component.state\n\n mesh.scale.set(width, height, 5)\n mesh.rotation.x = -Math.PI / 2\n mesh.position.y = -2\n\n mesh.name = 'floor'\n mesh.receiveShadow = true\n\n return mesh\n}\n"]}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
3
|
-
*/
|
|
4
|
-
export var PIXEL_RATIO = (function () {
|
|
5
|
-
var ctx = document.createElement('canvas').getContext('2d'), dpr = window.devicePixelRatio || 1, bsr = ctx.webkitBackingStorePixelRatio ||
|
|
6
|
-
ctx.mozBackingStorePixelRatio ||
|
|
7
|
-
ctx.msBackingStorePixelRatio ||
|
|
8
|
-
ctx.oBackingStorePixelRatio ||
|
|
9
|
-
ctx.backingStorePixelRatio ||
|
|
10
|
-
1;
|
|
11
|
-
return dpr / bsr;
|
|
12
|
-
})();
|
|
13
|
-
export function createCanvas(width, height) {
|
|
14
|
-
let canvas = document.createElement('canvas');
|
|
15
|
-
canvas.width = width;
|
|
16
|
-
canvas.height = height;
|
|
17
|
-
canvas.style.width = width + 'px';
|
|
18
|
-
canvas.style.height = height + 'px';
|
|
19
|
-
return canvas;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=elements.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"elements.js","sourceRoot":"","sources":["../../../src/threed/html/elements.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,IAAI,WAAW,GAAG,CAAC;IACxB,IAAI,GAAG,GAAQ,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAC9D,GAAG,GAAG,MAAM,CAAC,gBAAgB,IAAI,CAAC,EAClC,GAAG,GACD,GAAG,CAAC,4BAA4B;QAChC,GAAG,CAAC,yBAAyB;QAC7B,GAAG,CAAC,wBAAwB;QAC5B,GAAG,CAAC,uBAAuB;QAC3B,GAAG,CAAC,sBAAsB;QAC1B,CAAC,CAAA;IACL,OAAO,GAAG,GAAG,GAAG,CAAA;AAClB,CAAC,CAAC,EAAE,CAAA;AAEJ,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,MAAc;IACxD,IAAI,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IAE7C,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,GAAG,IAAI,CAAA;IACjC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;IAEnC,OAAO,MAAM,CAAA;AACf,CAAC","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nexport var PIXEL_RATIO = (function () {\n var ctx: any = document.createElement('canvas').getContext('2d'),\n dpr = window.devicePixelRatio || 1,\n bsr =\n ctx.webkitBackingStorePixelRatio ||\n ctx.mozBackingStorePixelRatio ||\n ctx.msBackingStorePixelRatio ||\n ctx.oBackingStorePixelRatio ||\n ctx.backingStorePixelRatio ||\n 1\n return dpr / bsr\n})()\n\nexport function createCanvas(width: number, height: number): HTMLCanvasElement {\n let canvas = document.createElement('canvas')\n\n canvas.width = width\n canvas.height = height\n canvas.style.width = width + 'px'\n canvas.style.height = height + 'px'\n\n return canvas\n}\n"]}
|
package/dist/threed/index.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export * from './common.js';
|
|
2
|
-
export * from './three-dimensional-container.js';
|
|
3
|
-
export * from './real-object.js';
|
|
4
|
-
export { registerRealObjectFactory, registerDefaultRealObjectFactory, createRealObjectFor } from './real-object-registry.js';
|
|
5
|
-
export * from './real-object-dummy.js';
|
|
6
|
-
export * from './real-object-extrude.js';
|
|
7
|
-
export * from './real-object-camera.js';
|
|
8
|
-
export * from './real-object-dom-element.js';
|
|
9
|
-
export * from './real-object-gltf.js';
|
|
10
|
-
export * from './real-object-group.js';
|
|
11
|
-
export * from './real-object-mesh.js';
|
|
12
|
-
export * from './real-object-plane.js';
|
|
13
|
-
export * from './real-object-scene.js';
|
|
14
|
-
export * from './real-object-sprite-2d.js';
|
|
15
|
-
export * from './real-object-sprite.js';
|
|
16
|
-
export * from './real-object-text.js';
|
package/dist/threed/index.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export * from './common.js';
|
|
2
|
-
export * from './three-dimensional-container.js';
|
|
3
|
-
export * from './real-object.js';
|
|
4
|
-
export { registerRealObjectFactory, registerDefaultRealObjectFactory, createRealObjectFor } from './real-object-registry.js';
|
|
5
|
-
export * from './real-object-dummy.js';
|
|
6
|
-
export * from './real-object-extrude.js';
|
|
7
|
-
export * from './real-object-camera.js';
|
|
8
|
-
export * from './real-object-dom-element.js';
|
|
9
|
-
export * from './real-object-gltf.js';
|
|
10
|
-
export * from './real-object-group.js';
|
|
11
|
-
export * from './real-object-mesh.js';
|
|
12
|
-
export * from './real-object-plane.js';
|
|
13
|
-
export * from './real-object-scene.js';
|
|
14
|
-
export * from './real-object-sprite-2d.js';
|
|
15
|
-
export * from './real-object-sprite.js';
|
|
16
|
-
export * from './real-object-text.js';
|
|
17
|
-
//# sourceMappingURL=index.js.map
|
package/dist/threed/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/threed/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,kCAAkC,CAAA;AAChD,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,yBAAyB,EAAE,gCAAgC,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC5H,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA","sourcesContent":["export * from './common.js'\nexport * from './three-dimensional-container.js'\nexport * from './real-object.js'\nexport { registerRealObjectFactory, registerDefaultRealObjectFactory, createRealObjectFor } from './real-object-registry.js'\nexport * from './real-object-dummy.js'\nexport * from './real-object-extrude.js'\nexport * from './real-object-camera.js'\nexport * from './real-object-dom-element.js'\nexport * from './real-object-gltf.js'\nexport * from './real-object-group.js'\nexport * from './real-object-mesh.js'\nexport * from './real-object-plane.js'\nexport * from './real-object-scene.js'\nexport * from './real-object-sprite-2d.js'\nexport * from './real-object-sprite.js'\nexport * from './real-object-text.js'\n"]}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type * as THREE from 'three';
|
|
2
|
-
import type { Component, IRealObject } from '@hatiolab/things-scene';
|
|
3
|
-
import type { ThreeDimensionalContainer } from './three-dimensional-container.js';
|
|
4
|
-
/**
|
|
5
|
-
* Three.js 기반 RealObject 인터페이스.
|
|
6
|
-
* IRealObject(things-scene, THREE-free)를 확장하여 Three.js 관련 멤버를 추가.
|
|
7
|
-
*/
|
|
8
|
-
export interface IThreeRealObject extends IRealObject {
|
|
9
|
-
readonly object3d: THREE.Object3D;
|
|
10
|
-
readonly component: Component;
|
|
11
|
-
readonly threeContainer: ThreeDimensionalContainer | undefined;
|
|
12
|
-
build(): void;
|
|
13
|
-
updateRotate(): void;
|
|
14
|
-
updateScale(): void;
|
|
15
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/threed/interfaces.ts"],"names":[],"mappings":"AAAA;;GAEG","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport type * as THREE from 'three'\nimport type { Component, IRealObject } from '@hatiolab/things-scene'\n\nimport type { ThreeDimensionalContainer } from './three-dimensional-container.js'\n\n/**\n * Three.js 기반 RealObject 인터페이스.\n * IRealObject(things-scene, THREE-free)를 확장하여 Three.js 관련 멤버를 추가.\n */\nexport interface IThreeRealObject extends IRealObject {\n readonly object3d: THREE.Object3D\n readonly component: Component\n readonly threeContainer: ThreeDimensionalContainer | undefined\n build(): void\n updateRotate(): void\n updateScale(): void\n}\n"]}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import * as THREE from 'three';
|
|
2
|
-
import { CameraConfig } from './types.js';
|
|
3
|
-
export declare class CameraManager {
|
|
4
|
-
private _camera?;
|
|
5
|
-
private _cameraZPos;
|
|
6
|
-
get camera(): THREE.PerspectiveCamera | undefined;
|
|
7
|
-
get zoom(): number | undefined;
|
|
8
|
-
get cameraZPos(): number;
|
|
9
|
-
setup(width: number, height: number, config: CameraConfig): THREE.PerspectiveCamera;
|
|
10
|
-
addToScene(scene: THREE.Scene): void;
|
|
11
|
-
updateAspect(width: number, height: number): void;
|
|
12
|
-
updateProperties(config: Partial<CameraConfig>): void;
|
|
13
|
-
destroy(): void;
|
|
14
|
-
}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import * as THREE from 'three';
|
|
2
|
-
export class CameraManager {
|
|
3
|
-
constructor() {
|
|
4
|
-
this._cameraZPos = 0;
|
|
5
|
-
}
|
|
6
|
-
get camera() {
|
|
7
|
-
return this._camera;
|
|
8
|
-
}
|
|
9
|
-
get zoom() {
|
|
10
|
-
var _a;
|
|
11
|
-
return (_a = this._camera) === null || _a === void 0 ? void 0 : _a.zoom;
|
|
12
|
-
}
|
|
13
|
-
get cameraZPos() {
|
|
14
|
-
return this._cameraZPos;
|
|
15
|
-
}
|
|
16
|
-
setup(width, height, config) {
|
|
17
|
-
const { fov, near, far, zoom, cameraX, cameraY, cameraZ } = config;
|
|
18
|
-
const aspect = width / height;
|
|
19
|
-
this._camera = new THREE.PerspectiveCamera(fov, aspect, near, far);
|
|
20
|
-
let cameraXPos = height * 0.8;
|
|
21
|
-
let cameraYPos = width * 0.8;
|
|
22
|
-
this._cameraZPos = Math.min(500, Math.floor(Math.min(width, height)));
|
|
23
|
-
if (cameraX != undefined)
|
|
24
|
-
cameraXPos = cameraX * width;
|
|
25
|
-
if (cameraY != undefined)
|
|
26
|
-
cameraYPos = cameraY * height;
|
|
27
|
-
if (cameraZ != undefined)
|
|
28
|
-
this._cameraZPos = cameraZ * Math.floor(Math.min(width, height));
|
|
29
|
-
this._camera.position.set(cameraXPos, this._cameraZPos, cameraYPos);
|
|
30
|
-
this._camera.zoom = zoom * 0.01;
|
|
31
|
-
return this._camera;
|
|
32
|
-
}
|
|
33
|
-
addToScene(scene) {
|
|
34
|
-
scene.add(this._camera);
|
|
35
|
-
this._camera.lookAt(scene.position);
|
|
36
|
-
}
|
|
37
|
-
updateAspect(width, height) {
|
|
38
|
-
if (this._camera) {
|
|
39
|
-
this._camera.aspect = width / height;
|
|
40
|
-
this._camera.updateProjectionMatrix();
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
updateProperties(config) {
|
|
44
|
-
if (!this._camera)
|
|
45
|
-
return;
|
|
46
|
-
if (config.fov !== undefined)
|
|
47
|
-
this._camera.fov = config.fov;
|
|
48
|
-
if (config.near !== undefined)
|
|
49
|
-
this._camera.near = config.near;
|
|
50
|
-
if (config.far !== undefined)
|
|
51
|
-
this._camera.far = config.far;
|
|
52
|
-
if (config.zoom !== undefined)
|
|
53
|
-
this._camera.zoom = config.zoom * 0.01;
|
|
54
|
-
this._camera.updateProjectionMatrix();
|
|
55
|
-
}
|
|
56
|
-
destroy() {
|
|
57
|
-
delete this._camera;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=camera-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"camera-manager.js","sourceRoot":"","sources":["../../../src/threed/managers/camera-manager.ts"],"names":[],"mappings":"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","sourcesContent":["import * as THREE from 'three'\nimport { CameraConfig } from './types.js'\n\nexport class CameraManager {\n private _camera?: THREE.PerspectiveCamera\n private _cameraZPos: number = 0\n\n get camera() {\n return this._camera\n }\n\n get zoom() {\n return this._camera?.zoom\n }\n\n get cameraZPos() {\n return this._cameraZPos\n }\n\n setup(width: number, height: number, config: CameraConfig) {\n const { fov, near, far, zoom, cameraX, cameraY, cameraZ } = config\n const aspect = width / height\n\n this._camera = new THREE.PerspectiveCamera(fov, aspect, near, far)\n\n let cameraXPos = height * 0.8\n let cameraYPos = width * 0.8\n this._cameraZPos = Math.min(500, Math.floor(Math.min(width, height)))\n\n if (cameraX != undefined) cameraXPos = cameraX * width\n if (cameraY != undefined) cameraYPos = cameraY * height\n if (cameraZ != undefined) this._cameraZPos = cameraZ * Math.floor(Math.min(width, height))\n\n this._camera.position.set(cameraXPos, this._cameraZPos, cameraYPos)\n this._camera.zoom = zoom * 0.01\n\n return this._camera\n }\n\n addToScene(scene: THREE.Scene) {\n scene.add(this._camera!)\n this._camera!.lookAt(scene.position)\n }\n\n updateAspect(width: number, height: number) {\n if (this._camera) {\n this._camera.aspect = width / height\n this._camera.updateProjectionMatrix()\n }\n }\n\n updateProperties(config: Partial<CameraConfig>) {\n if (!this._camera) return\n\n if (config.fov !== undefined) this._camera.fov = config.fov\n if (config.near !== undefined) this._camera.near = config.near\n if (config.far !== undefined) this._camera.far = config.far\n if (config.zoom !== undefined) this._camera.zoom = config.zoom * 0.01\n\n this._camera.updateProjectionMatrix()\n }\n\n destroy() {\n delete this._camera\n }\n}\n"]}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { Component } from '@hatiolab/things-scene';
|
|
2
|
-
import * as THREE from 'three';
|
|
3
|
-
export declare class ControlsManager {
|
|
4
|
-
private _camera?;
|
|
5
|
-
private _host?;
|
|
6
|
-
private _state;
|
|
7
|
-
private _autoRotate;
|
|
8
|
-
private _autoRotateSpeed;
|
|
9
|
-
private _dampingFactor;
|
|
10
|
-
private _rotateSpeed;
|
|
11
|
-
private _panSpeed;
|
|
12
|
-
private _lastScale;
|
|
13
|
-
private _spherical;
|
|
14
|
-
private _sphericalDelta;
|
|
15
|
-
private _panOffset;
|
|
16
|
-
private _target;
|
|
17
|
-
private _target0;
|
|
18
|
-
private _position0;
|
|
19
|
-
private _rotateStart;
|
|
20
|
-
private _rotateEnd;
|
|
21
|
-
private _rotateDelta;
|
|
22
|
-
private _panStart;
|
|
23
|
-
private _panEnd;
|
|
24
|
-
private _panDelta;
|
|
25
|
-
private _offset;
|
|
26
|
-
private _quat;
|
|
27
|
-
private _quatInverse;
|
|
28
|
-
private _lastPosition;
|
|
29
|
-
private _lastQuaternion;
|
|
30
|
-
private _panLeftV;
|
|
31
|
-
private _panUpV;
|
|
32
|
-
private _panCalcOffset;
|
|
33
|
-
get isActive(): boolean;
|
|
34
|
-
setup(camera: THREE.Camera, host: Component): void;
|
|
35
|
-
onDragStart(e: DragEvent): void;
|
|
36
|
-
onDragMove(e: DragEvent): void;
|
|
37
|
-
onDragEnd(_e: DragEvent): void;
|
|
38
|
-
onTouchStart(e: TouchEvent): void;
|
|
39
|
-
onTouchMove(e: TouchEvent): void;
|
|
40
|
-
onTouchEnd(_e: TouchEvent): void;
|
|
41
|
-
onKeyDown(e: KeyboardEvent): void;
|
|
42
|
-
update(): boolean;
|
|
43
|
-
reset(): void;
|
|
44
|
-
setAutoRotate(enabled: boolean): void;
|
|
45
|
-
markCameraChanged(): void;
|
|
46
|
-
destroy(): void;
|
|
47
|
-
private _handleRotateMove;
|
|
48
|
-
private _handlePanMove;
|
|
49
|
-
private _pan;
|
|
50
|
-
}
|