shop-components 0.0.25 → 0.1.0
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/assets/generateMeshBVH.worker-NFSCTTDt.js +5 -0
- package/dist/assets/parallelMeshBVH.worker-TP6qJGKX.js +5 -0
- package/dist/device-viewer/amr.d.ts +75 -0
- package/dist/device-viewer/assembly.d.ts +11 -0
- package/dist/device-viewer/dimension/index.d.ts +31 -0
- package/dist/device-viewer/dimension/line3.d.ts +21 -0
- package/dist/device-viewer/dimension/size-box.d.ts +39 -0
- package/dist/device-viewer/group-roller.d.ts +20 -0
- package/dist/device-viewer/index.d.ts +12 -0
- package/dist/device-viewer/mechanism/mechanism.d.ts +29 -0
- package/dist/device-viewer/outerline.d.ts +16 -0
- package/dist/device-viewer/roller.d.ts +31 -0
- package/dist/device-viewer/row.d.ts +18 -0
- package/dist/device-viewer/scene.d.ts +14 -28
- package/dist/device-viewer/slot.d.ts +10 -2
- package/dist/device-viewer/text2.d.ts +4 -0
- package/dist/device-viewer/text3.d.ts +4 -0
- package/dist/device-viewer/utils/index.d.ts +26 -1
- package/dist/shop-components.mjs +32016 -25665
- package/dist/shop-components.umd.js +2549 -2137
- package/dist/test/index.d.ts +25 -0
- package/dist/test/index.stories.d.ts +14 -0
- package/dist/test/scene.d.ts +20 -0
- package/package.json +9 -6
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Object3D, TextureLoader } from 'three';
|
|
2
|
+
import { Logo, Scene3D, Skin, Slot } from './scene';
|
|
3
|
+
import { ObjectSize } from './utils';
|
|
4
|
+
import { SizeBox } from './dimension/size-box';
|
|
5
|
+
import { AMRAssembly } from './assembly';
|
|
6
|
+
import EventEmitter from 'eventemitter3';
|
|
7
|
+
export declare const textureLoader: TextureLoader;
|
|
8
|
+
export interface AmrProps {
|
|
9
|
+
url?: string;
|
|
10
|
+
showSizeBox: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare class Amr extends Object3D {
|
|
13
|
+
private _props;
|
|
14
|
+
private _emitter;
|
|
15
|
+
addEventListener: <T extends string | symbol>(event: T, fn: (...args: any[]) => void, context?: any) => EventEmitter<string | symbol, any>;
|
|
16
|
+
private _container;
|
|
17
|
+
private _app;
|
|
18
|
+
sizeBox: SizeBox;
|
|
19
|
+
_goodsSize: ObjectSize;
|
|
20
|
+
_slots: Slot[];
|
|
21
|
+
_logos: Logo[];
|
|
22
|
+
_skins: Skin[];
|
|
23
|
+
_levels: Map<number, AMRAssembly>;
|
|
24
|
+
private _lift;
|
|
25
|
+
private _fork;
|
|
26
|
+
private _jack;
|
|
27
|
+
private _bodyOpacity;
|
|
28
|
+
private _breathLights;
|
|
29
|
+
private _outline;
|
|
30
|
+
private _shelf;
|
|
31
|
+
private _shelves;
|
|
32
|
+
private _url;
|
|
33
|
+
private _shapeKeys;
|
|
34
|
+
private _materialsCache;
|
|
35
|
+
opacityCache: undefined | number;
|
|
36
|
+
get shapeKeys(): Map<string, number>;
|
|
37
|
+
get size(): {
|
|
38
|
+
width: number;
|
|
39
|
+
length: number;
|
|
40
|
+
height: number;
|
|
41
|
+
};
|
|
42
|
+
get slots(): Slot[];
|
|
43
|
+
get logos(): Logo[];
|
|
44
|
+
get skins(): Skin[];
|
|
45
|
+
get bodyOpacity(): number;
|
|
46
|
+
get fork(): Object3D<import("three").Object3DEventMap> | undefined;
|
|
47
|
+
get jack(): Object3D<import("three").Object3DEventMap> | undefined;
|
|
48
|
+
get lift(): Object3D<import("three").Object3DEventMap> | undefined;
|
|
49
|
+
set bodyOpacity(o: number);
|
|
50
|
+
constructor(_props: AmrProps);
|
|
51
|
+
init(app: Scene3D): void;
|
|
52
|
+
load(url: string): Promise<void>;
|
|
53
|
+
changeSkin(skin: Skin, value: string): void;
|
|
54
|
+
changeLogo(logo: Logo, url: string): void;
|
|
55
|
+
setShapeKey(key: string, value: number): void;
|
|
56
|
+
private _generateAmr;
|
|
57
|
+
setHeight(height: number): void;
|
|
58
|
+
setWeight(width: number): void;
|
|
59
|
+
setLength(length: number): void;
|
|
60
|
+
setForkHeight(height: number): void;
|
|
61
|
+
setJackHeight(height: number): void;
|
|
62
|
+
setLevel(level: number): void;
|
|
63
|
+
setGoodsSize(size: {
|
|
64
|
+
length: number;
|
|
65
|
+
width: number;
|
|
66
|
+
height: number;
|
|
67
|
+
}): void;
|
|
68
|
+
generateShelfLevel(levelMax?: number): void;
|
|
69
|
+
generateOuterLine(): void;
|
|
70
|
+
generateController(m: Object3D, amr: Object3D): void;
|
|
71
|
+
generateDimension(m: Object3D, amr: Object3D): void;
|
|
72
|
+
generateSlot(m: Object3D): Slot | undefined;
|
|
73
|
+
clean(): void;
|
|
74
|
+
destroy(): void;
|
|
75
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Object3D } from 'three';
|
|
2
|
+
import { ObjectSize } from './utils';
|
|
3
|
+
export declare class AMRAssembly extends Object3D {
|
|
4
|
+
private _url?;
|
|
5
|
+
protected _size: ObjectSize;
|
|
6
|
+
constructor(_url?: string | undefined);
|
|
7
|
+
loaded(g: any): void;
|
|
8
|
+
get size(): ObjectSize;
|
|
9
|
+
private _load;
|
|
10
|
+
destroy(): void;
|
|
11
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { CSS3DObject } from 'three/examples/jsm/renderers/CSS3DRenderer';
|
|
2
|
+
import { Vector3 } from 'three';
|
|
3
|
+
import EventEmitter from 'eventemitter3';
|
|
4
|
+
export interface DimensionProps {
|
|
5
|
+
start: Vector3;
|
|
6
|
+
end: Vector3;
|
|
7
|
+
startOrigin?: Vector3;
|
|
8
|
+
axios: 'x' | 'y' | 'z';
|
|
9
|
+
divider: number;
|
|
10
|
+
}
|
|
11
|
+
export declare class Dimension extends CSS3DObject {
|
|
12
|
+
props: DimensionProps;
|
|
13
|
+
private _scale;
|
|
14
|
+
private _emitter;
|
|
15
|
+
addEventListener: <T extends string | symbol>(event: T, fn: (...args: any[]) => void, context?: any) => EventEmitter<string | symbol, any>;
|
|
16
|
+
removeEventListener: <T extends string | symbol>(event: T, fn: (...args: any[]) => void, context?: any) => EventEmitter<string | symbol, any>;
|
|
17
|
+
private endNode;
|
|
18
|
+
private _textNode;
|
|
19
|
+
private _mouseStart;
|
|
20
|
+
private _targetSize;
|
|
21
|
+
private _caches;
|
|
22
|
+
private _sizeFlag;
|
|
23
|
+
private _direction;
|
|
24
|
+
private _lines;
|
|
25
|
+
constructor(props: DimensionProps);
|
|
26
|
+
private _getIndexByAxios;
|
|
27
|
+
private _pointerdown;
|
|
28
|
+
private _pointermove;
|
|
29
|
+
private _pointercancel;
|
|
30
|
+
dispose(): void;
|
|
31
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { CSS3DObject } from 'three/examples/jsm/renderers/CSS3DRenderer';
|
|
2
|
+
import { Vector3 } from 'three';
|
|
3
|
+
export declare class Line3 extends CSS3DObject {
|
|
4
|
+
private _startWith?;
|
|
5
|
+
private _text;
|
|
6
|
+
constructor(start: Vector3, end: Vector3, _startWith?: string | undefined);
|
|
7
|
+
getV(v: number): number;
|
|
8
|
+
getSV(v: number): number;
|
|
9
|
+
dispose(): void;
|
|
10
|
+
hide(): void;
|
|
11
|
+
show(): void;
|
|
12
|
+
update(start: Vector3, end: Vector3): void;
|
|
13
|
+
updateSize(pos: Vector3): void;
|
|
14
|
+
}
|
|
15
|
+
export declare class Text3 extends CSS3DObject {
|
|
16
|
+
constructor(text: string, color?: string);
|
|
17
|
+
hide(): void;
|
|
18
|
+
show(): void;
|
|
19
|
+
update(text: string): void;
|
|
20
|
+
updateSize(pos: Vector3): void;
|
|
21
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Box3, Object3D } from 'three';
|
|
2
|
+
import { Tween } from '@tweenjs/tween.js';
|
|
3
|
+
import { Scene3D } from '../scene';
|
|
4
|
+
export declare class SizeBox extends Object3D {
|
|
5
|
+
private _box3;
|
|
6
|
+
private _line1;
|
|
7
|
+
private _line2;
|
|
8
|
+
private _line3;
|
|
9
|
+
private _outline;
|
|
10
|
+
private _object;
|
|
11
|
+
_fitAnimation: Tween<any> | undefined;
|
|
12
|
+
private _radius;
|
|
13
|
+
private _app;
|
|
14
|
+
private _hasWidthConfig;
|
|
15
|
+
private _hasLengthConfig;
|
|
16
|
+
private _hasHeightConfig;
|
|
17
|
+
follow: string;
|
|
18
|
+
followOrigin: number;
|
|
19
|
+
followScale: number;
|
|
20
|
+
originOffset: number;
|
|
21
|
+
translateCache: number;
|
|
22
|
+
constructor();
|
|
23
|
+
get hasSizeConfig(): {
|
|
24
|
+
length: boolean;
|
|
25
|
+
width: boolean;
|
|
26
|
+
height: boolean;
|
|
27
|
+
};
|
|
28
|
+
get size(): Box3;
|
|
29
|
+
get radius(): number;
|
|
30
|
+
init(app: Scene3D): void;
|
|
31
|
+
reset(): void;
|
|
32
|
+
private _changeSize;
|
|
33
|
+
private _change;
|
|
34
|
+
generate(object?: Object3D, offset?: number): void;
|
|
35
|
+
show(): void;
|
|
36
|
+
hide(): void;
|
|
37
|
+
dispose(): void;
|
|
38
|
+
update(originOffset?: number): void;
|
|
39
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { AMRAssembly } from './assembly';
|
|
2
|
+
import { Object3D } from 'three';
|
|
3
|
+
import EventEmitter from 'eventemitter3';
|
|
4
|
+
export declare class GroupRoller extends AMRAssembly {
|
|
5
|
+
private _container;
|
|
6
|
+
private _emitter;
|
|
7
|
+
addEventListener: <T extends string | symbol>(event: T, fn: (...args: any[]) => void, context?: any) => EventEmitter<string | symbol, any>;
|
|
8
|
+
private _widthGap;
|
|
9
|
+
private _lengthGap;
|
|
10
|
+
private _row;
|
|
11
|
+
constructor();
|
|
12
|
+
loaded(glb: Object3D): void;
|
|
13
|
+
setShapeKey(key: string, value: number): void;
|
|
14
|
+
setGoodsSize(size: {
|
|
15
|
+
length: number;
|
|
16
|
+
width: number;
|
|
17
|
+
height: number;
|
|
18
|
+
}): void;
|
|
19
|
+
destroy(): void;
|
|
20
|
+
}
|
|
@@ -18,18 +18,30 @@ export declare class DeviceViewer extends LitElement {
|
|
|
18
18
|
theme: undefined | string;
|
|
19
19
|
onChange: undefined | Function;
|
|
20
20
|
usePathTracing: boolean;
|
|
21
|
+
shelfLevel: number;
|
|
22
|
+
shapeKeys: Map<any, any>;
|
|
21
23
|
progressBar: HTMLDivElement | undefined;
|
|
22
24
|
lineCircles: HTMLDivElement[] | undefined;
|
|
23
25
|
lineWrapper: HTMLDivElement | undefined;
|
|
26
|
+
sizeLength: HTMLDivElement | undefined;
|
|
27
|
+
sizeWidth: HTMLDivElement | undefined;
|
|
28
|
+
sizeHeight: HTMLDivElement | undefined;
|
|
24
29
|
fit: () => void;
|
|
25
30
|
generateBVH: () => void;
|
|
26
31
|
download: () => string;
|
|
27
32
|
clearAMR: () => void;
|
|
28
33
|
exportAMR: () => Promise<void>;
|
|
29
34
|
addAMR: () => void;
|
|
35
|
+
generateEdges: () => void;
|
|
36
|
+
setShapeKey: (key: string, val: any) => void;
|
|
30
37
|
cancel: () => void;
|
|
38
|
+
changeShelfLevel: (e: any) => void;
|
|
39
|
+
changeAmrHeight: (e: any) => void;
|
|
40
|
+
changeAmrLevel: (e: any) => void;
|
|
41
|
+
changeGoodsSize: (e: any) => void;
|
|
31
42
|
dragstart: (e: DragEvent) => void;
|
|
32
43
|
dragend: (e: DragEvent) => void;
|
|
44
|
+
getShapeKeyValue: (key: string) => any;
|
|
33
45
|
protected render(): unknown;
|
|
34
46
|
static styles: import("lit").CSSResult;
|
|
35
47
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Object3D } from 'three';
|
|
2
|
+
import { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer';
|
|
3
|
+
export interface UserData {
|
|
4
|
+
[key: string]: any;
|
|
5
|
+
}
|
|
6
|
+
export interface MechanismProps {
|
|
7
|
+
name: '';
|
|
8
|
+
userData?: UserData;
|
|
9
|
+
target: string;
|
|
10
|
+
default: number;
|
|
11
|
+
min: number;
|
|
12
|
+
max: number;
|
|
13
|
+
}
|
|
14
|
+
export declare class Mechanism extends CSS2DObject {
|
|
15
|
+
props: MechanismProps;
|
|
16
|
+
amr: Object3D;
|
|
17
|
+
private _direction;
|
|
18
|
+
private _controllingRotate;
|
|
19
|
+
private _controlling;
|
|
20
|
+
private _startAt;
|
|
21
|
+
private _looper;
|
|
22
|
+
private _initial;
|
|
23
|
+
private _canRotate;
|
|
24
|
+
private _timer;
|
|
25
|
+
mechanism: Object3D | undefined;
|
|
26
|
+
constructor(props: MechanismProps, amr: Object3D);
|
|
27
|
+
private _update;
|
|
28
|
+
dispose(): void;
|
|
29
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Object3D, Vector3 } from 'three';
|
|
2
|
+
import { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer';
|
|
3
|
+
export declare class Outerline extends Object3D {
|
|
4
|
+
radius: number;
|
|
5
|
+
private _text;
|
|
6
|
+
private _line;
|
|
7
|
+
private _box;
|
|
8
|
+
constructor(radius: number, height: number);
|
|
9
|
+
update(radius: number): void;
|
|
10
|
+
change(pos: Vector3): void;
|
|
11
|
+
}
|
|
12
|
+
export declare class RadiusText extends CSS2DObject {
|
|
13
|
+
private _wrapper;
|
|
14
|
+
constructor(radius: string);
|
|
15
|
+
update(radius: string): void;
|
|
16
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Object3D, Vector3 } from 'three';
|
|
2
|
+
import { AMRAssembly } from './assembly';
|
|
3
|
+
import EventEmitter from 'eventemitter3';
|
|
4
|
+
export interface RollerProps {
|
|
5
|
+
goodsSize: Vector3;
|
|
6
|
+
}
|
|
7
|
+
export declare class Roller extends AMRAssembly {
|
|
8
|
+
private _props;
|
|
9
|
+
private _goodsWidthGap;
|
|
10
|
+
private _goodsLengthGap;
|
|
11
|
+
private _emitter;
|
|
12
|
+
addEventListener: <T extends string | symbol>(event: T, fn: (...args: any[]) => void, context?: any) => EventEmitter<string | symbol, any>;
|
|
13
|
+
private _shaft;
|
|
14
|
+
private _shaftInstances;
|
|
15
|
+
private _length;
|
|
16
|
+
private _container;
|
|
17
|
+
private _goodsContainer;
|
|
18
|
+
private _goodsSize;
|
|
19
|
+
private _goods;
|
|
20
|
+
constructor(_props: RollerProps);
|
|
21
|
+
get length(): number;
|
|
22
|
+
loaded(glb: Object3D): void;
|
|
23
|
+
setGoodsSize({ length, width, height }: {
|
|
24
|
+
length: number;
|
|
25
|
+
width: number;
|
|
26
|
+
height: number;
|
|
27
|
+
}): void;
|
|
28
|
+
setShapeKey(key: string, value: number): void;
|
|
29
|
+
private _generateShaft;
|
|
30
|
+
destroy(): void;
|
|
31
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Object3D } from 'three';
|
|
2
|
+
import { AMRAssembly } from './assembly';
|
|
3
|
+
import EventEmitter from 'eventemitter3';
|
|
4
|
+
import { ObjectSize } from './utils';
|
|
5
|
+
export declare class Row extends Object3D {
|
|
6
|
+
private _items;
|
|
7
|
+
private _group;
|
|
8
|
+
private _gap;
|
|
9
|
+
protected _size: ObjectSize;
|
|
10
|
+
private _emitter;
|
|
11
|
+
addEventListener: <T extends string | symbol>(event: T, fn: (...args: any[]) => void, context?: any) => EventEmitter<string | symbol, any>;
|
|
12
|
+
get size(): ObjectSize;
|
|
13
|
+
get items(): AMRAssembly[];
|
|
14
|
+
constructor(gap?: number);
|
|
15
|
+
addItem(item: AMRAssembly): void;
|
|
16
|
+
updateLayout(): void;
|
|
17
|
+
destroy(): void;
|
|
18
|
+
}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import { Mesh, MeshStandardMaterial, Object3D, PerspectiveCamera, Scene, Vector2, WebGLRenderer } from 'three';
|
|
2
|
-
import { FullScreenQuad } from 'three/examples/jsm/postprocessing/Pass';
|
|
3
2
|
import { OutlinePass } from 'three/examples/jsm/postprocessing/OutlinePass';
|
|
4
3
|
import { ShaderPass } from 'three/examples/jsm/postprocessing/ShaderPass';
|
|
5
4
|
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls';
|
|
6
|
-
import {
|
|
5
|
+
import { WebGLPathTracer } from 'three-gpu-pathtracer';
|
|
7
6
|
import { EffectComposer } from 'three/examples/jsm/postprocessing/EffectComposer';
|
|
7
|
+
import { Font } from 'three/examples/jsm/loaders/FontLoader';
|
|
8
8
|
import EventEmitter from 'eventemitter3';
|
|
9
9
|
import Stats from 'stats-fps.js';
|
|
10
10
|
import { Pane } from 'tweakpane';
|
|
11
|
+
import { Sound } from './sound';
|
|
11
12
|
import { Slot, SLOT_EVENTS } from './slot';
|
|
12
13
|
import { DeviceLines, Line } from './lines';
|
|
14
|
+
import { Amr } from './amr';
|
|
15
|
+
export declare const font: Font;
|
|
13
16
|
export { Slot, DeviceLines, Line, SLOT_EVENTS };
|
|
14
17
|
export interface Logo {
|
|
15
18
|
name: string;
|
|
@@ -28,17 +31,19 @@ export interface SceneProps {
|
|
|
28
31
|
useSound: boolean;
|
|
29
32
|
}
|
|
30
33
|
export declare class Scene3D {
|
|
31
|
-
|
|
34
|
+
props: SceneProps;
|
|
32
35
|
stats: Stats;
|
|
33
36
|
scene: Scene;
|
|
34
37
|
renderer: WebGLRenderer;
|
|
35
|
-
|
|
36
|
-
|
|
38
|
+
private css2dRenderer;
|
|
39
|
+
private css3dRenderer;
|
|
40
|
+
pathTracer: WebGLPathTracer;
|
|
37
41
|
mousePos: Vector2;
|
|
38
42
|
mouseCoord: Vector2;
|
|
39
43
|
offset: Vector2;
|
|
40
44
|
size: Vector2;
|
|
41
45
|
private _prevSelectedObj;
|
|
46
|
+
amr: Amr;
|
|
42
47
|
_composer: EffectComposer;
|
|
43
48
|
_outlinePass: OutlinePass;
|
|
44
49
|
_outlinePassError: OutlinePass;
|
|
@@ -51,41 +56,23 @@ export declare class Scene3D {
|
|
|
51
56
|
private _raycaster;
|
|
52
57
|
private _selected;
|
|
53
58
|
private _pointerDownTimeout;
|
|
54
|
-
flow: InstancedFlow | undefined;
|
|
55
59
|
pane: Pane | undefined;
|
|
56
|
-
|
|
57
|
-
sceneInfo: {
|
|
58
|
-
materials: never[];
|
|
59
|
-
textures: never[];
|
|
60
|
-
};
|
|
61
|
-
private css2dRenderer;
|
|
62
|
-
_slots: Slot[];
|
|
63
|
-
_logos: Logo[];
|
|
64
|
-
_skins: Skin[];
|
|
60
|
+
lines: DeviceLines;
|
|
65
61
|
private _dragging;
|
|
66
62
|
readonly maxSample = 1024;
|
|
67
63
|
sampleCount: number;
|
|
68
64
|
private _usePathTracing;
|
|
69
65
|
private _fpsCache;
|
|
70
66
|
private _fpsCacheMax;
|
|
71
|
-
private _bodyOpacity;
|
|
72
|
-
lines: DeviceLines;
|
|
73
67
|
private _emitter;
|
|
74
|
-
|
|
75
|
-
private
|
|
76
|
-
private opacityCache;
|
|
68
|
+
sound: Sound;
|
|
69
|
+
private _ground;
|
|
77
70
|
get usePathTracing(): boolean;
|
|
78
71
|
set usePathTracing(use: boolean);
|
|
79
|
-
get slots(): Slot[];
|
|
80
|
-
get logos(): Logo[];
|
|
81
|
-
get skins(): Skin[];
|
|
82
72
|
get fpsAverage(): number;
|
|
83
|
-
set bodyOpacity(o: number);
|
|
84
|
-
get bodyOpacity(): number;
|
|
85
73
|
constructor(props: SceneProps);
|
|
86
74
|
addEventListener: <T extends string | symbol>(event: T, fn: (...args: any[]) => void, context?: any) => EventEmitter<string | symbol, any>;
|
|
87
75
|
removeEventListener: <T extends string | symbol>(event: T, fn: (...args: any[]) => void, context?: any) => EventEmitter<string | symbol, any>;
|
|
88
|
-
changeSkin(skin: Skin, value: string): void;
|
|
89
76
|
showState(): void;
|
|
90
77
|
hideState(): void;
|
|
91
78
|
private _loadEnv;
|
|
@@ -95,7 +82,6 @@ export declare class Scene3D {
|
|
|
95
82
|
private _pointerdown;
|
|
96
83
|
private _detectTrackpad;
|
|
97
84
|
private _initEvents;
|
|
98
|
-
changeLogo(logo: Logo, url: string): void;
|
|
99
85
|
generateBVH(): Promise<void>;
|
|
100
86
|
download(): string;
|
|
101
87
|
clearAMR(): void;
|
|
@@ -103,7 +89,7 @@ export declare class Scene3D {
|
|
|
103
89
|
[key: string]: any;
|
|
104
90
|
}>;
|
|
105
91
|
addAMR(url: string): Promise<void>;
|
|
106
|
-
|
|
92
|
+
generateEdges(): void;
|
|
107
93
|
fit: () => void;
|
|
108
94
|
select(obj: string | Object3D | Object3D[]): void;
|
|
109
95
|
appendTo(parent: HTMLElement): void;
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
import { Object3D } from 'three';
|
|
1
|
+
import { Mesh, Object3D } from 'three';
|
|
2
2
|
import { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer';
|
|
3
3
|
import EventEmitter from 'eventemitter3';
|
|
4
4
|
import { Scene3D } from './scene';
|
|
5
5
|
export interface SlotProps {
|
|
6
6
|
name: string;
|
|
7
|
+
follows: Map<string, {
|
|
8
|
+
scale: number;
|
|
9
|
+
origin: number;
|
|
10
|
+
}>;
|
|
7
11
|
slot: Object3D;
|
|
8
12
|
}
|
|
9
13
|
export interface DeviceInfo {
|
|
@@ -23,6 +27,7 @@ export declare const SLOT_EVENTS: {
|
|
|
23
27
|
};
|
|
24
28
|
export declare class Slot extends CSS2DObject {
|
|
25
29
|
private props;
|
|
30
|
+
private target;
|
|
26
31
|
private _emitter;
|
|
27
32
|
private _slotContainer;
|
|
28
33
|
private _slotUI;
|
|
@@ -35,9 +40,12 @@ export declare class Slot extends CSS2DObject {
|
|
|
35
40
|
private _loading;
|
|
36
41
|
private _selected;
|
|
37
42
|
private _deviceSelected;
|
|
43
|
+
private _timer;
|
|
38
44
|
get hasDevice(): boolean;
|
|
39
45
|
deviceInfo: DeviceInfo | undefined;
|
|
40
|
-
constructor(props: SlotProps);
|
|
46
|
+
constructor(props: SlotProps, target: Mesh | undefined);
|
|
47
|
+
shapeKeyChanged(key: string, value: number): void;
|
|
48
|
+
private _tick;
|
|
41
49
|
loadGlb(sglb: string): Promise<Object3D<import("three").Object3DEventMap> | undefined>;
|
|
42
50
|
installBracket(url: string): Promise<void>;
|
|
43
51
|
install(info: DeviceInfo): Promise<void>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Object3D } from 'three';
|
|
1
|
+
import { Box3, Mesh, Object3D, Vector3 } from 'three';
|
|
2
2
|
export declare const clearThreeObjectMesh: (object: Object3D) => void;
|
|
3
3
|
export declare const uuid: () => string;
|
|
4
4
|
export declare function getElementLeftPosition(element: any): {
|
|
@@ -9,3 +9,28 @@ export declare function getRelativePosition(child: Element, target: Element): {
|
|
|
9
9
|
y: number;
|
|
10
10
|
x: number;
|
|
11
11
|
};
|
|
12
|
+
export declare function getVector3FromArray(arr: number[]): Vector3;
|
|
13
|
+
export declare function getLocationPosition(obj: Object3D, wp: Vector3): Vector3;
|
|
14
|
+
export declare function getScaledSettings(): {
|
|
15
|
+
tiles: number;
|
|
16
|
+
renderScale: number;
|
|
17
|
+
};
|
|
18
|
+
export declare function generateMorphTargetWithTarget(target: Mesh): Vector3;
|
|
19
|
+
export declare function generateMorphTarget(originPoint: Vector3, morphPositions: any[], influences: number[]): Vector3;
|
|
20
|
+
export declare function calculateTotalDimensionsUsingVertices(object: Object3D): {
|
|
21
|
+
box: Box3;
|
|
22
|
+
maxRadius: number;
|
|
23
|
+
height: number;
|
|
24
|
+
hasLength: boolean;
|
|
25
|
+
hasWidth: boolean;
|
|
26
|
+
hasHeight: boolean;
|
|
27
|
+
};
|
|
28
|
+
export declare function calculateInscribedCircleRadius(length: number, width: number): number;
|
|
29
|
+
export declare function calculateCircleRadiusByBox3(box: Box3): number;
|
|
30
|
+
export declare function debounce(fn: any, delay: number, scope?: any): () => void;
|
|
31
|
+
export declare class ObjectSize {
|
|
32
|
+
length: number;
|
|
33
|
+
width: number;
|
|
34
|
+
height: number;
|
|
35
|
+
constructor(length: number, width: number, height: number);
|
|
36
|
+
}
|