shop-components 0.1.68 → 0.2.1
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/__VLS_types.d.ts +124 -0
- package/dist/assets/loader.worker-fysOIq2s.js +7 -0
- package/dist/shop-components.cjs +5077 -0
- package/dist/shop-components.mjs +34531 -63605
- package/dist/{device-viewer → stories/device-viewer}/amr.d.ts +23 -5
- package/dist/{device-viewer → stories/device-viewer}/dimension/size-box.d.ts +2 -3
- package/dist/stories/device-viewer/dimension/size-line.d.ts +24 -0
- package/dist/{device-viewer → stories/device-viewer}/goods-box.d.ts +1 -0
- package/dist/{device-viewer → stories/device-viewer}/index.d.ts +15 -2
- package/dist/stories/device-viewer/libs/BVH/index.d.ts +342 -0
- package/dist/{device-viewer → stories/device-viewer}/libs/gizmo/gizmo.d.ts +2 -0
- package/dist/stories/device-viewer/libs/progress-shadow/ProgressiveShadows.d.ts +91 -0
- package/dist/{device-viewer → stories/device-viewer}/logo.d.ts +1 -1
- package/dist/{device-viewer → stories/device-viewer}/outerline.d.ts +12 -0
- package/dist/{device-viewer → stories/device-viewer}/scene.d.ts +98 -4
- package/dist/{device-viewer → stories/device-viewer}/slot/slot-item.d.ts +6 -0
- package/dist/{device-viewer → stories/device-viewer}/slot.d.ts +11 -0
- package/dist/stories/device-viewer/ui/camera-position.d.ts +6 -0
- package/dist/stories/device-viewer/utils/geometory.d.ts +3 -0
- package/dist/{device-viewer → stories/device-viewer}/utils/index.d.ts +2 -0
- package/dist/{devices → stories/devices}/index.stories.d.ts +1 -1
- package/dist/{devices → stories/devices}/src/connector.d.ts +1 -1
- package/dist/{devices → stories/devices}/src/constraints/same-device-constraint.d.ts +2 -2
- package/dist/{devices → stories/devices}/src/constraints/single-connection-constraint.d.ts +2 -2
- package/dist/{devices → stories/devices}/src/device.d.ts +1 -1
- package/dist/{main.d.ts → stories/main.d.ts} +0 -1
- package/dist/vite-env.d.ts +11 -0
- package/package.json +10 -8
- package/dist/device-viewer/dimension/size-line.d.ts +0 -15
- package/dist/shop-components.umd.js +0 -9981
- /package/dist/{cropper → stories/cropper}/index.d.ts +0 -0
- /package/dist/{cropper → stories/cropper}/index.stories.d.ts +0 -0
- /package/dist/{device-viewer → stories/device-viewer}/assembly.d.ts +0 -0
- /package/dist/{device-viewer → stories/device-viewer}/belt.d.ts +0 -0
- /package/dist/{device-viewer → stories/device-viewer}/dimension/index.d.ts +0 -0
- /package/dist/{device-viewer → stories/device-viewer}/dimension/line3.d.ts +0 -0
- /package/dist/{device-viewer → stories/device-viewer}/group-roller.d.ts +0 -0
- /package/dist/{device-viewer → stories/device-viewer}/index.stories.d.ts +0 -0
- /package/dist/{device-viewer → stories/device-viewer}/lines.d.ts +0 -0
- /package/dist/{device-viewer → stories/device-viewer}/main.d.ts +0 -0
- /package/dist/{device-viewer → stories/device-viewer}/mechanism/mechanism.d.ts +0 -0
- /package/dist/{device-viewer → stories/device-viewer}/pin/pin.d.ts +0 -0
- /package/dist/{device-viewer → stories/device-viewer}/roller.d.ts +0 -0
- /package/dist/{device-viewer → stories/device-viewer}/row.d.ts +0 -0
- /package/dist/{device-viewer → stories/device-viewer}/sound.d.ts +0 -0
- /package/dist/{device-viewer → stories/device-viewer}/text2.d.ts +0 -0
- /package/dist/{device-viewer → stories/device-viewer}/text3.d.ts +0 -0
- /package/dist/{device-viewer → stories/device-viewer}/ui/right-menu.d.ts +0 -0
- /package/dist/{device-viewer → stories/device-viewer}/worker/generate-mesh-bvh-worker.d.ts +0 -0
- /package/dist/{device-viewer → stories/device-viewer}/worker/generateAsync.worker.d.ts +0 -0
- /package/dist/{device-viewer → stories/device-viewer}/worker/path-tracing-scene-worker.d.ts +0 -0
- /package/dist/{devices → stories/devices}/index.d.ts +0 -0
- /package/dist/{devices → stories/devices}/src/constraints/constraint.d.ts +0 -0
- /package/dist/{devices → stories/devices}/src/pin.d.ts +0 -0
- /package/dist/{main → stories/main}/index.d.ts +0 -0
- /package/dist/{plugin.d.ts → stories/plugin.d.ts} +0 -0
- /package/dist/{plugins → stories/plugins}/change-slot/index.d.ts +0 -0
- /package/dist/{sglb → stories/sglb}/index.d.ts +0 -0
- /package/dist/{step-viewer → stories/step-viewer}/index.d.ts +0 -0
- /package/dist/{step-viewer → stories/step-viewer}/index.stories.d.ts +0 -0
- /package/dist/{utils → stories/utils}/index.d.ts +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { Object3D, TextureLoader } from 'three';
|
|
1
|
+
import { Group, Mesh, Object3D, TextureLoader } from 'three';
|
|
2
2
|
import { Scene3D, Skin, Slot } from './scene';
|
|
3
3
|
import { Mechanism } from './mechanism/mechanism';
|
|
4
4
|
import { ObjectSize } from './utils';
|
|
5
5
|
import { SizeBox } from './dimension/size-box';
|
|
6
|
-
import { AMRAssembly } from '
|
|
6
|
+
import { AMRAssembly } from './assembly';
|
|
7
7
|
import EventEmitter from 'eventemitter3';
|
|
8
8
|
import { CropperConfigs } from '../cropper';
|
|
9
9
|
import { GoodsBox } from './goods-box';
|
|
10
|
-
import { Logo } from '
|
|
10
|
+
import { Logo } from './logo';
|
|
11
11
|
export declare const textureLoader: TextureLoader;
|
|
12
12
|
export interface AmrProps {
|
|
13
13
|
url?: string;
|
|
@@ -20,6 +20,7 @@ export declare class Amr extends Object3D {
|
|
|
20
20
|
private _emitter;
|
|
21
21
|
addEventListener: <T extends string | symbol>(event: T, fn: (...args: any[]) => void, context?: any) => EventEmitter<string | symbol, any>;
|
|
22
22
|
private _container;
|
|
23
|
+
lines: Group<import("three").Object3DEventMap>;
|
|
23
24
|
private _app;
|
|
24
25
|
sizeBox: SizeBox;
|
|
25
26
|
_goodsSize: ObjectSize;
|
|
@@ -42,7 +43,6 @@ export declare class Amr extends Object3D {
|
|
|
42
43
|
private _shelf;
|
|
43
44
|
private _shelves;
|
|
44
45
|
private _shelfMaxLevel;
|
|
45
|
-
private _shelveAnimateTimes;
|
|
46
46
|
private _url;
|
|
47
47
|
private _showController;
|
|
48
48
|
private _showSlots;
|
|
@@ -51,6 +51,12 @@ export declare class Amr extends Object3D {
|
|
|
51
51
|
private _shapeKeyCache;
|
|
52
52
|
private _materialsCache;
|
|
53
53
|
opacityCache: undefined | number;
|
|
54
|
+
private _pointCloudMode;
|
|
55
|
+
private _pointClouds;
|
|
56
|
+
private _originalMeshes;
|
|
57
|
+
private _pointCloudAnimations;
|
|
58
|
+
actions: string[];
|
|
59
|
+
private _mergedGeometry;
|
|
54
60
|
get shapeKeys(): Map<string, number>;
|
|
55
61
|
get size(): {
|
|
56
62
|
width: number;
|
|
@@ -76,7 +82,7 @@ export declare class Amr extends Object3D {
|
|
|
76
82
|
load(url: string, type?: string): Promise<void>;
|
|
77
83
|
changeSkin(skin: Skin, value: string): void;
|
|
78
84
|
changeLogo(logo: Logo, configs: CropperConfigs): void;
|
|
79
|
-
setShapeKey(key: string, value: number): void;
|
|
85
|
+
setShapeKey(key: string, value: number, useDebance?: boolean): void;
|
|
80
86
|
private _generateAmr;
|
|
81
87
|
setHeight(height: number): void;
|
|
82
88
|
setWeight(width: number): void;
|
|
@@ -85,6 +91,7 @@ export declare class Amr extends Object3D {
|
|
|
85
91
|
setForkHeight(height: number): void;
|
|
86
92
|
setForkMaxHeight(height: number): void;
|
|
87
93
|
setLiftHeight(height: number): void;
|
|
94
|
+
getLiftMaxHeight(): number;
|
|
88
95
|
setLiftMaxHeight(height: number): void;
|
|
89
96
|
setJackMaxHeight(height: number): void;
|
|
90
97
|
setJackHeight(height: number): void;
|
|
@@ -94,6 +101,10 @@ export declare class Amr extends Object3D {
|
|
|
94
101
|
width: number;
|
|
95
102
|
height: number;
|
|
96
103
|
}): void;
|
|
104
|
+
getShelfMinHeight(): number;
|
|
105
|
+
getShelfMaxShelfHeight(): number | undefined;
|
|
106
|
+
get levelOffset(): number;
|
|
107
|
+
setShapeKeyToMesh(node: Mesh, key: string, val: number): void;
|
|
97
108
|
setShelfLevel(levelMax?: number): void;
|
|
98
109
|
generateOuterLine(): void;
|
|
99
110
|
generateController(m: Object3D, amr: Object3D): void;
|
|
@@ -101,4 +112,11 @@ export declare class Amr extends Object3D {
|
|
|
101
112
|
generateSlot(m: Object3D, scene: Object3D): Slot | undefined;
|
|
102
113
|
clean(): void;
|
|
103
114
|
destroy(): void;
|
|
115
|
+
setPointCloudMode(enabled: boolean): void;
|
|
116
|
+
private _createPointClouds;
|
|
117
|
+
private _generatePointsOnTriangle;
|
|
118
|
+
private _removeDuplicatePoints;
|
|
119
|
+
private _clearPointClouds;
|
|
120
|
+
playAction(name: string, reset?: boolean): void;
|
|
121
|
+
pauseAction(name: string): void;
|
|
104
122
|
}
|
|
@@ -31,11 +31,10 @@ export declare class SizeBox extends Object3D {
|
|
|
31
31
|
get radius(): number;
|
|
32
32
|
init(app: Scene3D): void;
|
|
33
33
|
reset(): void;
|
|
34
|
-
private _changeSize;
|
|
35
34
|
private _change;
|
|
36
35
|
generate(object?: Object3D, offset?: number): void;
|
|
37
|
-
show(): void;
|
|
38
|
-
hide(): void;
|
|
36
|
+
show(all?: boolean): void;
|
|
37
|
+
hide(all?: boolean): void;
|
|
39
38
|
destroy(): void;
|
|
40
39
|
update(originOffset?: number): void;
|
|
41
40
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Group, Vector3 } from 'three';
|
|
2
|
+
import { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer';
|
|
3
|
+
export declare class SizeText extends CSS2DObject {
|
|
4
|
+
private _text;
|
|
5
|
+
onPointMove: (() => void) | undefined;
|
|
6
|
+
onPointLeave: (() => void) | undefined;
|
|
7
|
+
constructor(text: string);
|
|
8
|
+
set text(text: string);
|
|
9
|
+
dispose(): void;
|
|
10
|
+
}
|
|
11
|
+
export declare class SizeLine extends Group {
|
|
12
|
+
private _startWith?;
|
|
13
|
+
private _showText;
|
|
14
|
+
useStartEnd: boolean;
|
|
15
|
+
private readonly _line2Length;
|
|
16
|
+
private _line;
|
|
17
|
+
private _line2;
|
|
18
|
+
private _text;
|
|
19
|
+
constructor(_startWith?: string | undefined, _showText?: boolean, useStartEnd?: boolean);
|
|
20
|
+
updateMaterial(mat: any): void;
|
|
21
|
+
reset(): void;
|
|
22
|
+
update(start: Vector3, end: Vector3, radius?: number): void;
|
|
23
|
+
destroy(): void;
|
|
24
|
+
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { LitElement, PropertyValues } from 'lit';
|
|
2
|
-
import { Scene3D, Skin } from './scene';
|
|
2
|
+
import { Scene3D, Skin, Slot } from './scene';
|
|
3
3
|
import { Cropper } from '../cropper';
|
|
4
|
-
import {
|
|
4
|
+
import { DeviceInfo } from './slot';
|
|
5
|
+
import { Logo } from './logo';
|
|
5
6
|
export interface Props {
|
|
6
7
|
test: string;
|
|
7
8
|
count: number;
|
|
@@ -9,8 +10,10 @@ export interface Props {
|
|
|
9
10
|
}
|
|
10
11
|
export declare class DeviceViewer extends LitElement {
|
|
11
12
|
scene: Scene3D;
|
|
13
|
+
deviceInfoCache: DeviceInfo | undefined;
|
|
12
14
|
cropper: Cropper;
|
|
13
15
|
container: HTMLDivElement | undefined;
|
|
16
|
+
canvas: HTMLDivElement | undefined;
|
|
14
17
|
drag: HTMLButtonElement | undefined;
|
|
15
18
|
constructor();
|
|
16
19
|
protected firstUpdated(_changedProperties: PropertyValues): void;
|
|
@@ -21,12 +24,16 @@ export declare class DeviceViewer extends LitElement {
|
|
|
21
24
|
theme: undefined | string;
|
|
22
25
|
onChange: undefined | Function;
|
|
23
26
|
usePathTracing: boolean;
|
|
27
|
+
showSlots: boolean;
|
|
28
|
+
showSize: boolean;
|
|
29
|
+
pointCloudMode: boolean;
|
|
24
30
|
actions: string[];
|
|
25
31
|
shelfLevel: number;
|
|
26
32
|
shapeKeys: Map<any, any>;
|
|
27
33
|
colors: Skin[];
|
|
28
34
|
selectedLogo: Logo | undefined;
|
|
29
35
|
logos: Logo[];
|
|
36
|
+
slots: Slot[];
|
|
30
37
|
logoSize: {
|
|
31
38
|
width: number;
|
|
32
39
|
height: number;
|
|
@@ -40,18 +47,24 @@ export declare class DeviceViewer extends LitElement {
|
|
|
40
47
|
sizeHeight: HTMLDivElement | undefined;
|
|
41
48
|
fit: () => void;
|
|
42
49
|
generateBVH: () => void;
|
|
50
|
+
getAmrInfo: () => void;
|
|
43
51
|
download: () => Promise<void>;
|
|
44
52
|
clearAMR: () => void;
|
|
45
53
|
exportAMR: () => Promise<void>;
|
|
46
54
|
addAMR: () => void;
|
|
55
|
+
slotList: Map<string, Slot>;
|
|
56
|
+
focusSlot: (s: Slot) => void;
|
|
47
57
|
playAction: (name: string) => void;
|
|
48
58
|
pauseAction: (name: string) => void;
|
|
49
59
|
clean: () => void;
|
|
50
60
|
recreate: () => void;
|
|
51
61
|
setShapeKey: (key: string, val: any) => void;
|
|
62
|
+
setShowSlots: (showSlots: boolean) => void;
|
|
63
|
+
setShowSize: (showSize: boolean) => void;
|
|
52
64
|
cancel: () => void;
|
|
53
65
|
changeShelfLevel: (e: any) => void;
|
|
54
66
|
changeAmrHeight: (e: any) => void;
|
|
67
|
+
togglePointCloudMode: () => void;
|
|
55
68
|
changeAmrLevel: (e: any) => void;
|
|
56
69
|
changeAmrShelvesLevel: (e: any) => void;
|
|
57
70
|
setMaxHeight: (e: any) => void;
|
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
import { BufferGeometry, Vector3, Side, Material, Ray, Sphere, Matrix4, Color,
|
|
2
|
+
Intersection, Box3, Triangle, Vector2, Raycaster, MeshBasicMaterial, Group,
|
|
3
|
+
LineBasicMaterial, Mesh, DataTexture, BufferAttribute, Line3, Object3D } from 'three';
|
|
4
|
+
|
|
5
|
+
// Contants
|
|
6
|
+
export enum SplitStrategy {}
|
|
7
|
+
export const CENTER: SplitStrategy;
|
|
8
|
+
export const AVERAGE: SplitStrategy;
|
|
9
|
+
export const SAH: SplitStrategy;
|
|
10
|
+
|
|
11
|
+
export enum ShapecastIntersection {}
|
|
12
|
+
export const NOT_INTERSECTED: ShapecastIntersection;
|
|
13
|
+
export const INTERSECTED: ShapecastIntersection;
|
|
14
|
+
export const CONTAINED: ShapecastIntersection;
|
|
15
|
+
|
|
16
|
+
// MeshBVH
|
|
17
|
+
export interface HitPointInfo {
|
|
18
|
+
point: Vector3;
|
|
19
|
+
distance: number;
|
|
20
|
+
faceIndex: number;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface MeshBVHOptions {
|
|
24
|
+
strategy?: SplitStrategy;
|
|
25
|
+
maxDepth?: number;
|
|
26
|
+
maxLeafTris?: number;
|
|
27
|
+
setBoundingBox?: boolean;
|
|
28
|
+
useSharedArrayBuffer?: boolean;
|
|
29
|
+
verbose?: boolean;
|
|
30
|
+
onProgress?: ( progress: number ) => void;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export interface MeshBVHSerializeOptions {
|
|
34
|
+
cloneBuffers?: boolean;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface MeshBVHDeserializeOptions {
|
|
38
|
+
setIndex?: boolean;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
export class MeshBVH {
|
|
43
|
+
|
|
44
|
+
readonly geometry: BufferGeometry;
|
|
45
|
+
|
|
46
|
+
static serialize( bvh: MeshBVH, options?: MeshBVHSerializeOptions ): SerializedBVH;
|
|
47
|
+
|
|
48
|
+
static deserialize(
|
|
49
|
+
data: SerializedBVH,
|
|
50
|
+
geometry: BufferGeometry,
|
|
51
|
+
options?: MeshBVHDeserializeOptions
|
|
52
|
+
): MeshBVH;
|
|
53
|
+
|
|
54
|
+
constructor( geometry: BufferGeometry, options?: MeshBVHOptions );
|
|
55
|
+
|
|
56
|
+
raycast( ray: Ray, materialOrSide?: Side | Array<Material> | Material, near?: number, far?: number ): Array<Intersection>
|
|
57
|
+
|
|
58
|
+
raycastFirst( ray: Ray, materialOrSide?: Side | Array<Material> | Material, near?: number, far?: number ): Intersection;
|
|
59
|
+
|
|
60
|
+
intersectsSphere( sphere: Sphere ): boolean;
|
|
61
|
+
|
|
62
|
+
intersectsBox( box: Box3, boxToMesh: Matrix4 ): boolean;
|
|
63
|
+
|
|
64
|
+
intersectsGeometry( geometry: BufferGeometry, geometryToBvh: Matrix4 ): boolean;
|
|
65
|
+
|
|
66
|
+
closestPointToPoint(
|
|
67
|
+
point: Vector3,
|
|
68
|
+
target?: HitPointInfo,
|
|
69
|
+
minThreshold?: number,
|
|
70
|
+
maxThreshold?: number
|
|
71
|
+
): HitPointInfo | null;
|
|
72
|
+
|
|
73
|
+
closestPointToGeometry(
|
|
74
|
+
geometry: BufferGeometry,
|
|
75
|
+
geometryToBvh: Matrix4,
|
|
76
|
+
target1?: HitPointInfo,
|
|
77
|
+
target2?: HitPointInfo,
|
|
78
|
+
minThreshold?: number,
|
|
79
|
+
maxThreshold?: number
|
|
80
|
+
): HitPointInfo | null;
|
|
81
|
+
|
|
82
|
+
// union types to enable at least one of two functions:
|
|
83
|
+
// https://stackoverflow.com/a/60617060/9838891
|
|
84
|
+
shapecast(
|
|
85
|
+
callbacks: {
|
|
86
|
+
|
|
87
|
+
intersectsBounds: (
|
|
88
|
+
box: Box3,
|
|
89
|
+
isLeaf: boolean,
|
|
90
|
+
score: number | undefined,
|
|
91
|
+
depth: number,
|
|
92
|
+
nodeIndex: number
|
|
93
|
+
) => ShapecastIntersection|boolean,
|
|
94
|
+
|
|
95
|
+
boundsTraverseOrder?: (
|
|
96
|
+
box: Box3
|
|
97
|
+
) => number,
|
|
98
|
+
|
|
99
|
+
} & ( {
|
|
100
|
+
|
|
101
|
+
intersectsRange: (
|
|
102
|
+
triangleOffset: number,
|
|
103
|
+
triangleCount: number,
|
|
104
|
+
contained: boolean,
|
|
105
|
+
depth: number,
|
|
106
|
+
nodeIndex: number,
|
|
107
|
+
box: Box3
|
|
108
|
+
) => boolean,
|
|
109
|
+
|
|
110
|
+
} | {
|
|
111
|
+
|
|
112
|
+
intersectsTriangle: (
|
|
113
|
+
triangle: ExtendedTriangle,
|
|
114
|
+
triangleIndex: number,
|
|
115
|
+
contained: boolean,
|
|
116
|
+
depth: number
|
|
117
|
+
) => boolean|void
|
|
118
|
+
|
|
119
|
+
} )
|
|
120
|
+
): boolean;
|
|
121
|
+
|
|
122
|
+
// union types to enable at least one of two functions:
|
|
123
|
+
// https://stackoverflow.com/a/60617060/9838891
|
|
124
|
+
bvhcast(
|
|
125
|
+
otherBVH: MeshBVH,
|
|
126
|
+
matrixToLocal: Matrix4,
|
|
127
|
+
callbacks: ( {
|
|
128
|
+
|
|
129
|
+
intersectsRanges: (
|
|
130
|
+
offset1: number,
|
|
131
|
+
count1: number,
|
|
132
|
+
offset2: number,
|
|
133
|
+
count2: number,
|
|
134
|
+
depth1: number,
|
|
135
|
+
index1: number,
|
|
136
|
+
depth2: number,
|
|
137
|
+
index2: number
|
|
138
|
+
) => boolean
|
|
139
|
+
|
|
140
|
+
} | {
|
|
141
|
+
|
|
142
|
+
intersectsTriangles: (
|
|
143
|
+
triangle1: ExtendedTriangle,
|
|
144
|
+
triangle2: ExtendedTriangle,
|
|
145
|
+
i1: number,
|
|
146
|
+
i2: number,
|
|
147
|
+
depth1: number,
|
|
148
|
+
index1: number,
|
|
149
|
+
depth2: number,
|
|
150
|
+
index2: number,
|
|
151
|
+
) => boolean,
|
|
152
|
+
|
|
153
|
+
} )
|
|
154
|
+
): boolean;
|
|
155
|
+
|
|
156
|
+
traverse(
|
|
157
|
+
callback: (
|
|
158
|
+
depth: number,
|
|
159
|
+
isLeaf: boolean,
|
|
160
|
+
boundingData: ArrayBuffer,
|
|
161
|
+
offsetOrSplit: number,
|
|
162
|
+
count: number
|
|
163
|
+
) => void,
|
|
164
|
+
rootIndex?: number
|
|
165
|
+
): void;
|
|
166
|
+
|
|
167
|
+
refit( nodeIndices?: Array<number> | Set<number> ): void;
|
|
168
|
+
|
|
169
|
+
getBoundingBox( target: Box3 ): Box3;
|
|
170
|
+
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
// SerializedBVH
|
|
174
|
+
export class SerializedBVH {
|
|
175
|
+
|
|
176
|
+
roots: Array<ArrayBuffer>;
|
|
177
|
+
index: ArrayBufferView;
|
|
178
|
+
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
// MeshBVHHelper
|
|
182
|
+
export class MeshBVHHelper extends Group {
|
|
183
|
+
|
|
184
|
+
opacity: number;
|
|
185
|
+
depth: number;
|
|
186
|
+
displayParents: boolean;
|
|
187
|
+
displayEdges: boolean;
|
|
188
|
+
edgeMaterial: LineBasicMaterial;
|
|
189
|
+
meshMaterial: MeshBasicMaterial;
|
|
190
|
+
|
|
191
|
+
constructor( mesh: Mesh, depth?: number );
|
|
192
|
+
|
|
193
|
+
update(): void;
|
|
194
|
+
|
|
195
|
+
get color(): Color;
|
|
196
|
+
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
// THREE.js Extensions
|
|
200
|
+
|
|
201
|
+
export function computeBoundsTree( options?: MeshBVHOptions ): MeshBVH;
|
|
202
|
+
|
|
203
|
+
export function disposeBoundsTree(): void;
|
|
204
|
+
|
|
205
|
+
export function acceleratedRaycast(
|
|
206
|
+
raycaster: Raycaster,
|
|
207
|
+
intersects: Array<Intersection>
|
|
208
|
+
): void;
|
|
209
|
+
|
|
210
|
+
declare module 'three/src/core/BufferGeometry' {
|
|
211
|
+
export interface BufferGeometry {
|
|
212
|
+
boundsTree?: MeshBVH;
|
|
213
|
+
computeBoundsTree: typeof computeBoundsTree;
|
|
214
|
+
disposeBoundsTree: typeof disposeBoundsTree;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
declare module 'three/src/core/Raycaster' {
|
|
219
|
+
export interface Raycaster {
|
|
220
|
+
firstHitOnly?: boolean;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
// GenerateMeshBVHWorker
|
|
225
|
+
// export class GenerateMeshBVHWorker {
|
|
226
|
+
|
|
227
|
+
// running: boolean;
|
|
228
|
+
|
|
229
|
+
// generate( geometry: BufferGeometry, options?: MeshBVHOptions ): Promise<MeshBVH>;
|
|
230
|
+
|
|
231
|
+
// terminate(): boolean;
|
|
232
|
+
|
|
233
|
+
// }
|
|
234
|
+
|
|
235
|
+
// Debug functions
|
|
236
|
+
export function estimateMemoryInBytes( bvh: MeshBVH ): number;
|
|
237
|
+
|
|
238
|
+
export interface ExtremeInfo {
|
|
239
|
+
nodeCount: number;
|
|
240
|
+
leafNodeCount: number;
|
|
241
|
+
surfaceAreaScore: number;
|
|
242
|
+
depth: {min: number, max: number};
|
|
243
|
+
tris: {min: number, max: number};
|
|
244
|
+
splits: [number, number, number];
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
export function getBVHExtremes( bvh :MeshBVH ): Array<ExtremeInfo>;
|
|
248
|
+
|
|
249
|
+
export function validateBounds( bvh: MeshBVH ): boolean;
|
|
250
|
+
|
|
251
|
+
export interface TreeNode {
|
|
252
|
+
bounds: Box3;
|
|
253
|
+
count: number;
|
|
254
|
+
offset: number;
|
|
255
|
+
left?: TreeNode;
|
|
256
|
+
right?: TreeNode;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
export function getJSONStructure( bvh: MeshBVH ): TreeNode;
|
|
260
|
+
|
|
261
|
+
// Triangle Utilities
|
|
262
|
+
export interface HitTriangleInfo {
|
|
263
|
+
face: {
|
|
264
|
+
a: number,
|
|
265
|
+
b: number,
|
|
266
|
+
c: number,
|
|
267
|
+
materialIndex: number,
|
|
268
|
+
normal: Vector3
|
|
269
|
+
},
|
|
270
|
+
uv: Vector2
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
export function getTriangleHitPointInfo(
|
|
274
|
+
point: Vector3,
|
|
275
|
+
geometry : BufferGeometry,
|
|
276
|
+
triangleIndex: number,
|
|
277
|
+
target?: HitTriangleInfo
|
|
278
|
+
): HitTriangleInfo
|
|
279
|
+
|
|
280
|
+
// Shader Utilities
|
|
281
|
+
declare class VertexAttributeTexture extends DataTexture {
|
|
282
|
+
|
|
283
|
+
overrideItemSize: number | null;
|
|
284
|
+
updateFrom( attribute: BufferAttribute ): void;
|
|
285
|
+
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
export class FloatVertexAttributeTexture extends VertexAttributeTexture {}
|
|
289
|
+
export class UIntVertexAttributeTexture extends VertexAttributeTexture {}
|
|
290
|
+
export class IntVertexAttributeTexture extends VertexAttributeTexture {}
|
|
291
|
+
|
|
292
|
+
export class MeshBVHUniformStruct {
|
|
293
|
+
|
|
294
|
+
updateFrom( bvh: MeshBVH ): void;
|
|
295
|
+
dispose(): void;
|
|
296
|
+
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
export const shaderStructs: string;
|
|
300
|
+
export const shaderFunctions: string;
|
|
301
|
+
|
|
302
|
+
// Math classes
|
|
303
|
+
export class ExtendedTriangle extends Triangle {
|
|
304
|
+
|
|
305
|
+
needsUpdate : boolean;
|
|
306
|
+
|
|
307
|
+
intersectsTriangle( other : Triangle, target? : Line3 ) : boolean;
|
|
308
|
+
intersectsSphere( sphere : Sphere ) : boolean;
|
|
309
|
+
closestPointToSegment( segment : Line3, target1? : Vector3, target2? : Vector3 ) : number;
|
|
310
|
+
distanceToPoint( point : Vector3 ) : number;
|
|
311
|
+
distanceToTriangle( tri : Triangle ) : number;
|
|
312
|
+
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
export class OrientedBox {
|
|
316
|
+
|
|
317
|
+
min: Vector3;
|
|
318
|
+
max: Vector3;
|
|
319
|
+
matrix : Matrix4;
|
|
320
|
+
needsUpdate : boolean;
|
|
321
|
+
|
|
322
|
+
constructor( min : Vector3, max : Vector3 );
|
|
323
|
+
set( min : Vector3, max : Vector3, matrix : Matrix4 ) : OrientedBox;
|
|
324
|
+
intersectsBox( box : Box3 ) : boolean;
|
|
325
|
+
intersectsTriangle( tri : Triangle ) : boolean;
|
|
326
|
+
closestPointToPoint( point : Vector3, target? : Vector3 ) : number;
|
|
327
|
+
distanceToPoint( point : Vector3 ) : number;
|
|
328
|
+
distanceToBox( box : Box3, threshold? : number, target1? : Vector3, target2? : Vector3 ) : number;
|
|
329
|
+
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
export class StaticGeometryGenerator {
|
|
333
|
+
|
|
334
|
+
useGroups : boolean;
|
|
335
|
+
attributes : Array<string>;
|
|
336
|
+
applyWorldTransforms : boolean;
|
|
337
|
+
|
|
338
|
+
constructor( objects : Array<Object3D> | Object3D );
|
|
339
|
+
getMaterials() : Array<Material>;
|
|
340
|
+
generate( target? : BufferGeometry ) : BufferGeometry;
|
|
341
|
+
|
|
342
|
+
}
|
|
@@ -61,6 +61,8 @@ export declare class OrbitControlsGizmo {
|
|
|
61
61
|
private _update;
|
|
62
62
|
private createAxes;
|
|
63
63
|
private createCanvas;
|
|
64
|
+
private updateMouseFromEvent;
|
|
65
|
+
private updateSelectedAxisUnderMouse;
|
|
64
66
|
private onPointerDown;
|
|
65
67
|
private onPointerUp;
|
|
66
68
|
private onPointerEnter;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { Camera, Color, DirectionalLight, DirectionalLightHelper, Group, Light, Material, Mesh, MeshLambertMaterial, Object3D, Scene, WebGLRenderer, WebGLRenderTarget } from 'three';
|
|
2
|
+
interface ProgressiveShadowsParams {
|
|
3
|
+
resolution?: number;
|
|
4
|
+
shadowMapRes?: number;
|
|
5
|
+
shadowBias?: number;
|
|
6
|
+
lightCount?: number;
|
|
7
|
+
size?: number;
|
|
8
|
+
frames?: number;
|
|
9
|
+
lightRadius?: number;
|
|
10
|
+
ambientWeight?: number;
|
|
11
|
+
alphaTest?: number;
|
|
12
|
+
paused?: boolean;
|
|
13
|
+
}
|
|
14
|
+
interface InternalParams {
|
|
15
|
+
enabled: boolean;
|
|
16
|
+
frames: number;
|
|
17
|
+
lightRadius: number;
|
|
18
|
+
ambientWeight: number;
|
|
19
|
+
alphaTest: number;
|
|
20
|
+
debugHelpers: boolean;
|
|
21
|
+
size: number;
|
|
22
|
+
paused: boolean;
|
|
23
|
+
}
|
|
24
|
+
interface LightInfo {
|
|
25
|
+
object: Light;
|
|
26
|
+
intensity: number;
|
|
27
|
+
}
|
|
28
|
+
interface MeshInfo {
|
|
29
|
+
object: Object3D;
|
|
30
|
+
material: Material | Material[];
|
|
31
|
+
}
|
|
32
|
+
interface ObjectInfo {
|
|
33
|
+
object: Object3D;
|
|
34
|
+
visible: boolean;
|
|
35
|
+
}
|
|
36
|
+
declare class ProgressiveShadows {
|
|
37
|
+
params: InternalParams;
|
|
38
|
+
scene: Scene;
|
|
39
|
+
renderer: WebGLRenderer;
|
|
40
|
+
buffer1Active: boolean;
|
|
41
|
+
dirLights: DirectionalLight[];
|
|
42
|
+
dirLightsHelpers: DirectionalLightHelper[];
|
|
43
|
+
clearColor: Color;
|
|
44
|
+
clearAlpha: number;
|
|
45
|
+
progress: number;
|
|
46
|
+
discardMaterial: any;
|
|
47
|
+
lights: LightInfo[];
|
|
48
|
+
meshes: MeshInfo[];
|
|
49
|
+
objectsToShow: ObjectInfo[];
|
|
50
|
+
private autoHiddenObjects;
|
|
51
|
+
private objectsToShowSet;
|
|
52
|
+
private objectsToShowAncestors;
|
|
53
|
+
framesDone: number;
|
|
54
|
+
fixedCamera: Camera | null;
|
|
55
|
+
isRendering: boolean;
|
|
56
|
+
progShadowGrp: Group;
|
|
57
|
+
lightOrigin: Group;
|
|
58
|
+
lightGroup: Group;
|
|
59
|
+
progressiveLightMap1: WebGLRenderTarget;
|
|
60
|
+
progressiveLightMap2: WebGLRenderTarget;
|
|
61
|
+
shadowCatcherMaterial: any;
|
|
62
|
+
shadowCatcherMesh: Mesh;
|
|
63
|
+
debugHelpersGroup: Group;
|
|
64
|
+
targetMat: MeshLambertMaterial;
|
|
65
|
+
previousShadowMap: {
|
|
66
|
+
value: any;
|
|
67
|
+
};
|
|
68
|
+
averagingWindow: {
|
|
69
|
+
value: number;
|
|
70
|
+
};
|
|
71
|
+
private isZUp;
|
|
72
|
+
get isFinished(): boolean;
|
|
73
|
+
set visible(v: boolean);
|
|
74
|
+
get paused(): boolean;
|
|
75
|
+
set paused(v: boolean);
|
|
76
|
+
constructor(renderer: WebGLRenderer, scene: Scene, { resolution, shadowMapRes, shadowBias, lightCount, size, frames, lightRadius, ambientWeight, alphaTest, paused, }?: ProgressiveShadowsParams);
|
|
77
|
+
renderOnRenderTargets(camera: Camera): void;
|
|
78
|
+
showDebugHelpers(visible: boolean): void;
|
|
79
|
+
randomiseLights(): void;
|
|
80
|
+
recalculate(): Promise<void>;
|
|
81
|
+
prepare(): void;
|
|
82
|
+
finish(): void;
|
|
83
|
+
clear(): void;
|
|
84
|
+
updateShadowObjectsList(): void;
|
|
85
|
+
private addObjectToShow;
|
|
86
|
+
private rebuildObjectsToShowAncestors;
|
|
87
|
+
private isExcludedObject;
|
|
88
|
+
update(camera: Camera): void;
|
|
89
|
+
destroy(): void;
|
|
90
|
+
}
|
|
91
|
+
export { ProgressiveShadows };
|
|
@@ -5,16 +5,28 @@ export declare class Outerline extends Object3D {
|
|
|
5
5
|
private _text;
|
|
6
6
|
private _line;
|
|
7
7
|
private _box;
|
|
8
|
+
private _arc;
|
|
9
|
+
private _previousPosition;
|
|
10
|
+
private _updateTimer;
|
|
11
|
+
private readonly _updateDelay;
|
|
12
|
+
private _accumulatedAngle;
|
|
13
|
+
private _lastAngle;
|
|
8
14
|
constructor(radius: number, height: number);
|
|
9
15
|
hide(): void;
|
|
10
16
|
show(): void;
|
|
17
|
+
dispose(): void;
|
|
11
18
|
update(radius: number): void;
|
|
12
19
|
change(pos: Vector3): void;
|
|
20
|
+
private _updateArc;
|
|
21
|
+
private _clearArc;
|
|
22
|
+
private _createArcGeometry;
|
|
13
23
|
}
|
|
14
24
|
export declare class RadiusText extends CSS2DObject {
|
|
15
25
|
private _wrapper;
|
|
26
|
+
private _circle;
|
|
16
27
|
constructor(radius: string);
|
|
17
28
|
show(): void;
|
|
18
29
|
hide(): void;
|
|
19
30
|
update(radius: string): void;
|
|
31
|
+
updateColor(color?: string): void;
|
|
20
32
|
}
|