gl-draw 0.17.12 → 0.18.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/index.d.ts +421 -320
- package/dist/index.js +1 -1
- package/package.json +4 -5
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AmbientLight } from 'three';
|
|
2
2
|
import { BufferGeometry } from 'three';
|
|
3
3
|
import { BufferGeometryEventMap } from 'three';
|
|
4
|
-
import { BufferGeometryLoader } from 'three';
|
|
5
4
|
import { Camera } from 'three';
|
|
6
5
|
import { Color } from 'three';
|
|
7
6
|
import { ColorRepresentation } from 'three';
|
|
8
7
|
import { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer.js';
|
|
9
8
|
import { CSS2DRenderer } from 'three/examples/jsm/renderers/CSS2DRenderer.js';
|
|
9
|
+
import { CSS3DObject } from 'three/examples/jsm/renderers/CSS3DRenderer.js';
|
|
10
10
|
import { CSS3DRenderer } from 'three/examples/jsm/renderers/CSS3DRenderer.js';
|
|
11
|
+
import { CSS3DSprite } from 'three/examples/jsm/renderers/CSS3DRenderer.js';
|
|
11
12
|
import { DataTexture } from 'three';
|
|
12
13
|
import { default as default_2 } from 'stats-gl';
|
|
13
14
|
import { DirectionalLight } from 'three';
|
|
@@ -19,11 +20,12 @@ import { ExtrudeGeometryOptions as ExtrudeGeometryOptions_2 } from 'three';
|
|
|
19
20
|
import { geoEquirectangular } from 'd3-geo';
|
|
20
21
|
import { geoMercator } from 'd3-geo';
|
|
21
22
|
import { GeoProjection } from 'd3-geo';
|
|
23
|
+
import { Group } from 'three';
|
|
22
24
|
import { HemisphereLight } from 'three';
|
|
25
|
+
import { InstancedMesh } from 'three';
|
|
23
26
|
import { Intersection } from 'three';
|
|
24
27
|
import { Layers } from 'three';
|
|
25
28
|
import { LineMaterial as Line2Material } from 'three/examples/jsm/lines/LineMaterial.js';
|
|
26
|
-
import { LineMaterialParameters } from 'three/examples/jsm/lines/LineMaterial.js';
|
|
27
29
|
import { LineSegmentsGeometry } from 'three/examples/jsm/lines/LineSegmentsGeometry.js';
|
|
28
30
|
import { LoadingManager } from 'three';
|
|
29
31
|
import { Material } from 'three';
|
|
@@ -34,6 +36,7 @@ import { MeshStandardMaterial } from 'three';
|
|
|
34
36
|
import { NormalBufferAttributes } from 'three';
|
|
35
37
|
import { Object3D } from 'three';
|
|
36
38
|
import { Object3DEventMap } from 'three';
|
|
39
|
+
import { Object3DJSON } from 'three';
|
|
37
40
|
import { OrthographicCamera } from 'three';
|
|
38
41
|
import { OutputPass } from 'three/examples/jsm/postprocessing/OutputPass.js';
|
|
39
42
|
import { PerspectiveCamera } from 'three';
|
|
@@ -89,6 +92,13 @@ declare const ACTION: Readonly<{
|
|
|
89
92
|
|
|
90
93
|
declare type ACTION = number;
|
|
91
94
|
|
|
95
|
+
export declare class AmbientLightObject extends BaseObject<AmbientLight> {
|
|
96
|
+
objectType: string;
|
|
97
|
+
constructor(lightOrColor?: AmbientLight | string | number, intensity?: number);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
declare function analyzeSceneJsonSize(sceneJson: any): void;
|
|
101
|
+
|
|
92
102
|
declare function applyTextureColorSpace({ node, material, texture, }: ColorCorrectionOptions): void;
|
|
93
103
|
|
|
94
104
|
declare interface Asset extends AssetOptions {
|
|
@@ -104,29 +114,95 @@ declare interface AssetOptions {
|
|
|
104
114
|
responseType?: string;
|
|
105
115
|
}
|
|
106
116
|
|
|
107
|
-
|
|
117
|
+
declare class AttributesWorker {
|
|
118
|
+
options: Options_15 & {
|
|
119
|
+
cacheVersion: string;
|
|
120
|
+
dbName: string;
|
|
121
|
+
maxCacheSize: number;
|
|
122
|
+
};
|
|
123
|
+
pool: WorkerPool;
|
|
124
|
+
cacheManager: CacheManager;
|
|
125
|
+
constructor(options?: Options_15);
|
|
126
|
+
geoGeometry(type: 'extrudePolygon', options: GeoGeometryOptions & {
|
|
127
|
+
mesaage: ExtrudePolygonMessage;
|
|
128
|
+
}): Promise<BufferGeometry>;
|
|
129
|
+
geoGeometry(type: 'conicPolygon', options: GeoGeometryOptions & {
|
|
130
|
+
mesaage: ConicPolygonMessage;
|
|
131
|
+
}): Promise<BufferGeometry>;
|
|
132
|
+
geoGeometry(type: 'conicLine', options: GeoGeometryOptions & {
|
|
133
|
+
mesaage: ConicLineMessage;
|
|
134
|
+
}): Promise<BufferGeometry>;
|
|
135
|
+
geoGeometry(type: 'line', options: GeoGeometryOptions & {
|
|
136
|
+
mesaage: LineMessage;
|
|
137
|
+
}): Promise<BufferGeometry>;
|
|
138
|
+
getCachedGeometry(options: Pick<GeoGeometryOptions, 'cacheKey'>): Promise<ReturnType<typeof _default_2> | null>;
|
|
139
|
+
saveCache(): Promise<void>;
|
|
140
|
+
/**
|
|
141
|
+
* 批量保存待更新的元数据
|
|
142
|
+
*/
|
|
143
|
+
flushMetadata(): Promise<void>;
|
|
144
|
+
/**
|
|
145
|
+
* 获取缓存统计信息
|
|
146
|
+
*/
|
|
147
|
+
getCacheStats(): Promise<{
|
|
148
|
+
total: number;
|
|
149
|
+
maxSize: number;
|
|
150
|
+
usage: number;
|
|
151
|
+
items: {
|
|
152
|
+
key: IDBValidKey;
|
|
153
|
+
metadata: CacheMetadata;
|
|
154
|
+
}[];
|
|
155
|
+
}>;
|
|
156
|
+
/**
|
|
157
|
+
* 手动清空所有缓存
|
|
158
|
+
*/
|
|
159
|
+
clearCache(): Promise<void>;
|
|
160
|
+
/**
|
|
161
|
+
* 检查存储配额使用情况
|
|
162
|
+
*/
|
|
163
|
+
checkStorageQuota(): Promise<{
|
|
164
|
+
usage: number;
|
|
165
|
+
quota: number;
|
|
166
|
+
percentUsed: number;
|
|
167
|
+
} | null>;
|
|
168
|
+
flattenCoordinates(coordinatesArr: number[][][], metaArray?: number[][], _globalMeta?: number[], useFloat64Array?: boolean): {
|
|
169
|
+
flat: Float64Array | Float32Array;
|
|
170
|
+
lengths: number[];
|
|
171
|
+
metaLength: number;
|
|
172
|
+
};
|
|
173
|
+
dispose(): void;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
export declare class BaseObject<T extends Object3D = Object3D> extends UseMaterial {
|
|
108
177
|
key: string;
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
keyName?: string;
|
|
178
|
+
get name(): string;
|
|
179
|
+
set name(v: string);
|
|
112
180
|
objectType: string;
|
|
113
|
-
|
|
181
|
+
options: any;
|
|
182
|
+
private _keyType;
|
|
183
|
+
get keyType(): string;
|
|
184
|
+
set keyType(v: string);
|
|
185
|
+
uuid: string;
|
|
114
186
|
pencil: Pencil;
|
|
115
187
|
lead: Lead;
|
|
116
188
|
mList: MList;
|
|
117
|
-
object3d:
|
|
189
|
+
object3d: T;
|
|
118
190
|
userData: Record<string, any>;
|
|
119
191
|
isPrefab: boolean;
|
|
120
192
|
isInstantiate: boolean;
|
|
121
193
|
isBloom: boolean;
|
|
122
194
|
isBaseObject: boolean;
|
|
195
|
+
constructor(object3d: T);
|
|
123
196
|
get parent(): BaseObject | null;
|
|
124
|
-
get children(): BaseObject[];
|
|
197
|
+
get children(): BaseObject<Object3D<Object3DEventMap>>[];
|
|
125
198
|
get position(): Vector3;
|
|
126
199
|
get rotation(): Euler;
|
|
127
200
|
get scale(): Vector3;
|
|
128
|
-
lookAt(vector: Vector3
|
|
129
|
-
|
|
201
|
+
lookAt(vector: Vector3): void;
|
|
202
|
+
lookAt(x: number, y: number, z: number): void;
|
|
203
|
+
draw<C extends new (...args: any[]) => BaseObject>(ClassRef: C, ...args: ConstructorParameters<C>): Promise<InstanceType<C>>;
|
|
204
|
+
drawPrefab<C extends new (...args: any[]) => BaseObject>(ClassRef: C, ...args: ConstructorParameters<C>): Promise<InstanceType<C>>;
|
|
205
|
+
add(...objects: (Object3D | BaseObject)[]): void;
|
|
130
206
|
remove(...object: Object3D[]): void;
|
|
131
207
|
get visible(): boolean;
|
|
132
208
|
/**
|
|
@@ -147,13 +223,6 @@ export declare class BaseObject extends UseMaterial {
|
|
|
147
223
|
* 递归启用 layers(只有自己 visible=true 时才 enable 并继续递归)
|
|
148
224
|
*/
|
|
149
225
|
protected _enableLayersRecursive(): void;
|
|
150
|
-
createGroup(): this;
|
|
151
|
-
createMesh(...args: ConstructorParameters<typeof Mesh>): this;
|
|
152
|
-
createPoints(...args: ConstructorParameters<typeof Points>): this;
|
|
153
|
-
createCSS2DObject(dom: HTMLElement): this;
|
|
154
|
-
createCSS3DObject(dom: HTMLElement): this;
|
|
155
|
-
createCSS3DSprite(dom: HTMLElement): this;
|
|
156
|
-
createSprite(material: SpriteMaterial): this;
|
|
157
226
|
attach(...args: BaseObject[]): this;
|
|
158
227
|
getSize(): {
|
|
159
228
|
min: Vector3;
|
|
@@ -164,10 +233,7 @@ export declare class BaseObject extends UseMaterial {
|
|
|
164
233
|
setTop(onTop: number): void;
|
|
165
234
|
traverse(fn: (o: BaseObject) => void): void;
|
|
166
235
|
instantiate(ops?: {
|
|
167
|
-
key?: string;
|
|
168
|
-
uId?: string;
|
|
169
236
|
target?: BaseObject;
|
|
170
|
-
create?: ((...args: any[]) => any) | boolean;
|
|
171
237
|
recursive?: boolean;
|
|
172
238
|
instancedAttr?: {
|
|
173
239
|
position: Vector3 | number[] | [number, number, number];
|
|
@@ -176,10 +242,14 @@ export declare class BaseObject extends UseMaterial {
|
|
|
176
242
|
cloneMaterial?: boolean;
|
|
177
243
|
}): Promise<this>;
|
|
178
244
|
erase(): void;
|
|
245
|
+
setKey(ops: {
|
|
246
|
+
keyType?: string;
|
|
247
|
+
uuid?: string;
|
|
248
|
+
syncParentUuid?: boolean;
|
|
249
|
+
}): void;
|
|
179
250
|
handleMaterialChange(mat: Material | null): void;
|
|
180
251
|
enableBloom(traverse?: boolean): void;
|
|
181
252
|
disableBloom(traverse?: boolean): void;
|
|
182
|
-
disposeTrack: boolean;
|
|
183
253
|
private isDispose;
|
|
184
254
|
dispose(): void;
|
|
185
255
|
}
|
|
@@ -201,11 +271,11 @@ declare class CacheManager {
|
|
|
201
271
|
/**
|
|
202
272
|
* 添加缓存到内存队列
|
|
203
273
|
*/
|
|
204
|
-
addToCache(cacheKey: string,
|
|
274
|
+
addToCache(cacheKey: string, data: any): void;
|
|
205
275
|
/**
|
|
206
276
|
* 记录待更新的缓存元数据(非阻塞)
|
|
207
277
|
*/
|
|
208
|
-
recordMetadataUpdate(cacheKey: string, size
|
|
278
|
+
recordMetadataUpdate(cacheKey: string, size?: number): void;
|
|
209
279
|
/**
|
|
210
280
|
* 批量保存待更新的元数据
|
|
211
281
|
*/
|
|
@@ -217,7 +287,7 @@ declare class CacheManager {
|
|
|
217
287
|
/**
|
|
218
288
|
* 从缓存中获取数据
|
|
219
289
|
*/
|
|
220
|
-
get<T = any>(cacheKey: string
|
|
290
|
+
get<T = any>(cacheKey: string): Promise<T | undefined>;
|
|
221
291
|
/**
|
|
222
292
|
* 保存内存缓存到 IndexedDB
|
|
223
293
|
*/
|
|
@@ -261,7 +331,6 @@ declare interface CacheManagerOptions {
|
|
|
261
331
|
declare interface CacheMetadata {
|
|
262
332
|
lastAccessed: number;
|
|
263
333
|
accessCount: number;
|
|
264
|
-
size: number;
|
|
265
334
|
}
|
|
266
335
|
|
|
267
336
|
declare class CameraControls extends EventDispatcher {
|
|
@@ -1314,21 +1383,21 @@ declare class CollisionManager {
|
|
|
1314
1383
|
* 添加标签到碰撞检测系统
|
|
1315
1384
|
* @param node Node 实例
|
|
1316
1385
|
*/
|
|
1317
|
-
add(node:
|
|
1386
|
+
add(node: NodeObject, options?: {
|
|
1318
1387
|
priority?: number;
|
|
1319
1388
|
}): void;
|
|
1320
1389
|
/**
|
|
1321
1390
|
* 移除标签
|
|
1322
1391
|
*/
|
|
1323
|
-
remove(node:
|
|
1392
|
+
remove(node: NodeObject): void;
|
|
1324
1393
|
/**
|
|
1325
1394
|
* 更新标签优先级
|
|
1326
1395
|
*/
|
|
1327
|
-
setPriority(node:
|
|
1396
|
+
setPriority(node: NodeObject, priority: number): void;
|
|
1328
1397
|
/**
|
|
1329
1398
|
* 批量添加标签
|
|
1330
1399
|
*/
|
|
1331
|
-
addBatch(nodes:
|
|
1400
|
+
addBatch(nodes: NodeObject[], priorityFn?: (node: NodeObject, index: number) => number): void;
|
|
1332
1401
|
/**
|
|
1333
1402
|
* 启用/禁用碰撞检测
|
|
1334
1403
|
*/
|
|
@@ -1424,7 +1493,7 @@ declare class Composer {
|
|
|
1424
1493
|
setPremultiplieAlpha(premultiplieAlpha: boolean): void;
|
|
1425
1494
|
addSSAOPass(params: SSAOParams): void;
|
|
1426
1495
|
addBloomPass(params: BloomParams): void;
|
|
1427
|
-
bloomSelection: Set<BaseObject
|
|
1496
|
+
bloomSelection: Set<BaseObject<Object3D<Object3DEventMap>>>;
|
|
1428
1497
|
bloomLayer: Layers;
|
|
1429
1498
|
bloomMaterials: Record<string, Material | Material[]>;
|
|
1430
1499
|
bloomVisible: Record<string, boolean>;
|
|
@@ -1453,30 +1522,20 @@ declare interface ComposerParams {
|
|
|
1453
1522
|
premultiplieAlpha: boolean;
|
|
1454
1523
|
}
|
|
1455
1524
|
|
|
1456
|
-
declare interface
|
|
1457
|
-
|
|
1525
|
+
declare interface ConicLineMessage {
|
|
1526
|
+
projection?: 'cesium' | 'sphere';
|
|
1458
1527
|
useGroups?: 0 | 1 | 2;
|
|
1459
|
-
projection?: any;
|
|
1460
|
-
splitPolygons?: number;
|
|
1461
|
-
line2?: boolean;
|
|
1462
1528
|
useRTC?: boolean;
|
|
1463
1529
|
}
|
|
1464
1530
|
|
|
1465
|
-
|
|
1466
|
-
options: Parameters_2;
|
|
1467
|
-
constructor(options: Parameters_2);
|
|
1468
|
-
create(): void;
|
|
1469
|
-
}
|
|
1470
|
-
|
|
1471
|
-
declare interface ConicPolygonOptions extends GetCoordinatesArrOptions {
|
|
1472
|
-
meta?: number[][];
|
|
1531
|
+
declare interface ConicPolygonMessage {
|
|
1473
1532
|
useGroups?: 0 | 1 | 2;
|
|
1474
1533
|
hasTop?: boolean;
|
|
1475
1534
|
topFirst?: boolean;
|
|
1476
1535
|
hasBottom?: boolean;
|
|
1477
1536
|
hasSide?: boolean;
|
|
1478
1537
|
curvatureResolution?: number;
|
|
1479
|
-
projection?:
|
|
1538
|
+
projection?: 'cesium' | 'sphere';
|
|
1480
1539
|
bbox?: number[];
|
|
1481
1540
|
splitPolygons?: number;
|
|
1482
1541
|
}
|
|
@@ -1498,6 +1557,23 @@ declare interface ControlsParams {
|
|
|
1498
1557
|
domElement: HTMLElement;
|
|
1499
1558
|
}
|
|
1500
1559
|
|
|
1560
|
+
export declare class CSS2DObjectObject extends BaseObject<CSS2DObject> {
|
|
1561
|
+
objectType: string;
|
|
1562
|
+
constructor(domOrObject?: HTMLElement | CSS2DObject);
|
|
1563
|
+
}
|
|
1564
|
+
|
|
1565
|
+
export declare class CSS3DObjectObject extends BaseObject<CSS3DObject> {
|
|
1566
|
+
objectType: string;
|
|
1567
|
+
constructor(domOrObject?: HTMLElement | CSS3DObject);
|
|
1568
|
+
}
|
|
1569
|
+
|
|
1570
|
+
export declare class CSS3DSpriteObject extends BaseObject<CSS3DSprite> {
|
|
1571
|
+
objectType: string;
|
|
1572
|
+
constructor(domOrSprite?: HTMLElement | CSS3DSprite);
|
|
1573
|
+
}
|
|
1574
|
+
|
|
1575
|
+
declare type CSSObject = CSS2DObject | CSS3DObject | CSS3DSprite;
|
|
1576
|
+
|
|
1501
1577
|
declare class CSSRendererController {
|
|
1502
1578
|
css2Drenderer?: CSS2DRenderer;
|
|
1503
1579
|
css3Drenderer?: CSS3DRenderer;
|
|
@@ -1537,6 +1613,13 @@ declare const _default: (composer: EffectComposer) => ShaderPass;
|
|
|
1537
1613
|
|
|
1538
1614
|
declare const _default_2: (attributes: any) => BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>;
|
|
1539
1615
|
|
|
1616
|
+
export declare class DirectionalLightObject extends BaseObject<DirectionalLight> {
|
|
1617
|
+
objectType: string;
|
|
1618
|
+
constructor(lightOrColor?: DirectionalLight | string | number, intensity?: number);
|
|
1619
|
+
render(): void;
|
|
1620
|
+
dispose(): void;
|
|
1621
|
+
}
|
|
1622
|
+
|
|
1540
1623
|
declare interface DispatcherEvent {
|
|
1541
1624
|
type: string;
|
|
1542
1625
|
[key: string]: any;
|
|
@@ -1551,6 +1634,11 @@ declare const DOLLY_DIRECTION: {
|
|
|
1551
1634
|
declare type DOLLY_DIRECTION =
|
|
1552
1635
|
(typeof DOLLY_DIRECTION)[keyof typeof DOLLY_DIRECTION];
|
|
1553
1636
|
|
|
1637
|
+
declare interface DrawOptions {
|
|
1638
|
+
target?: BaseObject | string | null;
|
|
1639
|
+
prefab?: boolean;
|
|
1640
|
+
}
|
|
1641
|
+
|
|
1554
1642
|
export declare const effect: {
|
|
1555
1643
|
Scan: typeof ScanEffect;
|
|
1556
1644
|
Scan2: typeof ScanEffect_2;
|
|
@@ -1560,10 +1648,11 @@ export declare const effect: {
|
|
|
1560
1648
|
* Cesium 风格的 WGS84 椭球体地球
|
|
1561
1649
|
* 使用与 Cesium 相同的坐标系和 WGS84 椭球体参数
|
|
1562
1650
|
*/
|
|
1563
|
-
export declare class
|
|
1651
|
+
export declare class EllipsoidObject extends MeshObject {
|
|
1652
|
+
objectType: string;
|
|
1564
1653
|
options: EllipsoidOptions;
|
|
1565
1654
|
constructor(options?: EllipsoidOptions);
|
|
1566
|
-
create():
|
|
1655
|
+
create(): void;
|
|
1567
1656
|
}
|
|
1568
1657
|
|
|
1569
1658
|
declare interface EllipsoidOptions {
|
|
@@ -1660,26 +1749,47 @@ declare interface ExtrudeGeometryOptions extends ExtrudeGeometryOptions_2 {
|
|
|
1660
1749
|
hasSide?: boolean;
|
|
1661
1750
|
}
|
|
1662
1751
|
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1752
|
+
declare interface ExtrudePolygonMessage {
|
|
1753
|
+
bbox?: number[];
|
|
1754
|
+
projection?: ProjectionOptions;
|
|
1755
|
+
useGroups?: 0 | 1 | 2;
|
|
1756
|
+
hasTop?: boolean;
|
|
1757
|
+
hasBottom?: boolean;
|
|
1758
|
+
hasSide?: boolean;
|
|
1759
|
+
splitPolygons?: number;
|
|
1760
|
+
topSegments?: number;
|
|
1761
|
+
}
|
|
1762
|
+
|
|
1763
|
+
export declare class ExtrudePolygonObject extends MeshObject {
|
|
1764
|
+
objectType: string;
|
|
1765
|
+
options: ExtrudePolygonObjectOptions;
|
|
1766
|
+
constructor(options: ExtrudePolygonObjectOptions);
|
|
1668
1767
|
create(): Promise<void>;
|
|
1669
|
-
|
|
1670
|
-
|
|
1768
|
+
private createWithWorker;
|
|
1769
|
+
private createLocal;
|
|
1671
1770
|
}
|
|
1672
1771
|
|
|
1673
|
-
declare interface
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1772
|
+
export declare interface ExtrudePolygonObjectOptions {
|
|
1773
|
+
material?: Material | Material[];
|
|
1774
|
+
geometry?: BufferGeometry;
|
|
1775
|
+
coordinatesArr?: number[][][];
|
|
1776
|
+
metaArray?: number[][];
|
|
1777
|
+
globalMeta?: number[];
|
|
1778
|
+
useWorker?: boolean;
|
|
1677
1779
|
useGroups?: 0 | 1 | 2;
|
|
1678
1780
|
hasTop?: boolean;
|
|
1679
1781
|
hasBottom?: boolean;
|
|
1680
1782
|
hasSide?: boolean;
|
|
1783
|
+
bbox?: number[];
|
|
1784
|
+
projection?: ProjectionOptions | 'cesium' | 'sphere';
|
|
1681
1785
|
splitPolygons?: number;
|
|
1682
1786
|
topSegments?: number;
|
|
1787
|
+
cacheKey?: string;
|
|
1788
|
+
userData?: Record<string, any>;
|
|
1789
|
+
curvatureResolution?: number;
|
|
1790
|
+
topFirst?: boolean;
|
|
1791
|
+
useFloat64Array?: boolean;
|
|
1792
|
+
onCacheMiss?: (options: Partial<ExtrudePolygonObjectOptions>) => Partial<ExtrudePolygonObjectOptions> | Promise<Partial<ExtrudePolygonObjectOptions>>;
|
|
1683
1793
|
}
|
|
1684
1794
|
|
|
1685
1795
|
declare interface FitToOptions {
|
|
@@ -1693,6 +1803,7 @@ declare interface FitToOptions {
|
|
|
1693
1803
|
declare interface GeoGeometryOptions extends Options_15 {
|
|
1694
1804
|
coordinatesArr: number[][][];
|
|
1695
1805
|
metaArray?: number[][];
|
|
1806
|
+
globalMeta?: number[];
|
|
1696
1807
|
cacheKey?: string;
|
|
1697
1808
|
userData?: Record<string, any>;
|
|
1698
1809
|
useFloat64Array?: boolean;
|
|
@@ -1701,15 +1812,9 @@ declare interface GeoGeometryOptions extends Options_15 {
|
|
|
1701
1812
|
|
|
1702
1813
|
declare function geoWinkel3(): GeoProjection;
|
|
1703
1814
|
|
|
1704
|
-
declare
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
dimension?: number;
|
|
1708
|
-
metaLength?: number;
|
|
1709
|
-
}
|
|
1710
|
-
|
|
1711
|
-
export declare class Group extends BaseObject {
|
|
1712
|
-
create(): void;
|
|
1815
|
+
export declare class GroupObject extends BaseObject<Group> {
|
|
1816
|
+
objectType: string;
|
|
1817
|
+
constructor(group?: Group<Object3DEventMap>);
|
|
1713
1818
|
render(): void;
|
|
1714
1819
|
}
|
|
1715
1820
|
|
|
@@ -1728,9 +1833,17 @@ declare class HelperController {
|
|
|
1728
1833
|
dispose(): void;
|
|
1729
1834
|
}
|
|
1730
1835
|
|
|
1731
|
-
declare
|
|
1836
|
+
export declare class HemisphereLightObject extends BaseObject<HemisphereLight> {
|
|
1837
|
+
objectType: string;
|
|
1838
|
+
constructor(skyColorOrLight?: HemisphereLight | string | number, groundColor?: string | number, intensity?: number);
|
|
1839
|
+
}
|
|
1840
|
+
|
|
1841
|
+
export declare class InstancedMeshObject<G extends BufferGeometry = BufferGeometry, M extends Material | Material[] = Material | Material[]> extends BaseObject<InstancedMesh<G, M>> {
|
|
1842
|
+
objectType: string;
|
|
1843
|
+
constructor(geometryOrInstancedMesh?: G | InstancedMesh<G, M>, material?: M, count?: number);
|
|
1844
|
+
}
|
|
1732
1845
|
|
|
1733
|
-
declare
|
|
1846
|
+
declare function isPlainObject(o: any): boolean;
|
|
1734
1847
|
|
|
1735
1848
|
declare const KNOWN_ASSET_TYPES: {
|
|
1736
1849
|
readonly images: readonly ["png", "jpg", "jpeg", "ico", "webp", "avif"];
|
|
@@ -1742,72 +1855,70 @@ declare const KNOWN_ASSET_TYPES: {
|
|
|
1742
1855
|
readonly lottie: readonly ["lottie.json"];
|
|
1743
1856
|
};
|
|
1744
1857
|
|
|
1745
|
-
export declare class Lead
|
|
1746
|
-
objMap: Map<Object3D<Object3DEventMap>, BaseObject
|
|
1747
|
-
objects: Map<string, BaseObject
|
|
1748
|
-
objectsPm: Map<BaseObject
|
|
1749
|
-
objectWrapChindIdMap: Map<BaseObject
|
|
1858
|
+
export declare class Lead extends Pick_2 {
|
|
1859
|
+
objMap: Map<Object3D<Object3DEventMap>, BaseObject<Object3D<Object3DEventMap>>>;
|
|
1860
|
+
objects: Map<string, BaseObject<Object3D<Object3DEventMap>>>;
|
|
1861
|
+
objectsPm: Map<BaseObject<Object3D<Object3DEventMap>>, Promise<void>>;
|
|
1862
|
+
objectWrapChindIdMap: Map<BaseObject<Object3D<Object3DEventMap>>, number>;
|
|
1750
1863
|
scene: BaseObject;
|
|
1751
1864
|
mList: MList;
|
|
1752
1865
|
group: BaseObject;
|
|
1753
1866
|
prefabGroup: BaseObject;
|
|
1754
|
-
private objectNamesToFactories;
|
|
1755
1867
|
get objectsPromise(): MapIterator<Promise<void>>;
|
|
1756
1868
|
constructor(pencil: Pencil, ops: {
|
|
1757
1869
|
scene: Scene;
|
|
1758
1870
|
mList: MList;
|
|
1759
1871
|
});
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1872
|
+
/* Excluded from this release type: register */
|
|
1873
|
+
/**
|
|
1874
|
+
* 内部初始化核心对象 (Scene, Camera 等)
|
|
1875
|
+
* 模拟 add 的部分逻辑,但不走完整的 spawn 流程
|
|
1876
|
+
*/
|
|
1877
|
+
private _initCoreObject;
|
|
1878
|
+
draw<C extends new (...args: any[]) => BaseObject>(ClassRef: C, ...args: ConstructorParameters<C>): Promise<InstanceType<C>>;
|
|
1879
|
+
draw<C extends new (...args: any[]) => BaseObject>(options: DrawOptions, ClassRef: C, ...args: ConstructorParameters<C>): Promise<InstanceType<C>>;
|
|
1880
|
+
/**
|
|
1881
|
+
* 将原生 Object3D 包装为 BaseObject (Wrapper Pattern)
|
|
1882
|
+
* 如果已存在包装器,则返回现有实例
|
|
1883
|
+
*/
|
|
1884
|
+
wrap(object3d: Object3D): BaseObject;
|
|
1885
|
+
/**
|
|
1886
|
+
* 统一的添加入口
|
|
1887
|
+
* 替代原有的 addBaseObject 私有方法,公开给 spawn 使用
|
|
1888
|
+
*/
|
|
1889
|
+
add<T extends BaseObject = BaseObject>(baseObject: T, target?: BaseObject | string | null): Promise<T>;
|
|
1890
|
+
private _addLogic;
|
|
1891
|
+
getObject<T extends BaseObject = BaseObject>(nameOrigin: string, options?: {
|
|
1768
1892
|
key: string;
|
|
1769
|
-
}):
|
|
1770
|
-
getAllObject<
|
|
1893
|
+
}): T | undefined;
|
|
1894
|
+
getAllObject<T extends BaseObject = BaseObject>(nameOrigin: string, options?: {
|
|
1771
1895
|
key: string;
|
|
1772
|
-
}):
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
onTop?: number;
|
|
1779
|
-
create?: ((...args: any[]) => any) | boolean;
|
|
1780
|
-
prefab?: boolean;
|
|
1781
|
-
} : ConstructorParameters<T[Y]>[0] & {
|
|
1896
|
+
}): T[];
|
|
1897
|
+
/**
|
|
1898
|
+
* 更新对象的 Key
|
|
1899
|
+
* 通常用于重命名
|
|
1900
|
+
*/
|
|
1901
|
+
updateBaseObjectKey(baseObject: BaseObject, ops?: {
|
|
1782
1902
|
keyType?: string;
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
create?: ((...args: any[]) => any) | boolean;
|
|
1788
|
-
prefab?: boolean;
|
|
1789
|
-
}, target?: U): Promise<InstanceType<T[Y]>>;
|
|
1790
|
-
private setBaseObjectKey;
|
|
1791
|
-
updateBaseObjectKey(baseObject: BaseObject, ops: {
|
|
1792
|
-
type?: string;
|
|
1793
|
-
key?: string;
|
|
1794
|
-
uId?: string;
|
|
1795
|
-
}): string;
|
|
1796
|
-
private addBaseObject;
|
|
1797
|
-
erase(...args: (KeyOf<T> | `${KeyOf<T>}#${string}` | InstanceType<T[keyof T]>)[]): void;
|
|
1798
|
-
eraseWithoutMaterial(...args: (KeyOf<T> | `${KeyOf<T>}#${string}` | InstanceType<T[keyof T]>)[]): void;
|
|
1903
|
+
uuid?: string;
|
|
1904
|
+
}): string | undefined;
|
|
1905
|
+
erase(...args: (string | BaseObject)[]): void;
|
|
1906
|
+
eraseWithoutMaterial(...args: (string | BaseObject)[]): void;
|
|
1799
1907
|
private handleErase;
|
|
1800
1908
|
update(delta: number, elapsed: number): void;
|
|
1801
1909
|
setSize(width: number, height: number): void;
|
|
1802
1910
|
eraseAll(): void;
|
|
1911
|
+
private _serializer;
|
|
1912
|
+
exportScene(...args: Parameters<SceneSerializer['exportScene']>): string;
|
|
1913
|
+
restoreScene(...args: Parameters<SceneSerializer['restoreScene']>): Promise<void>;
|
|
1803
1914
|
dispose(): void;
|
|
1804
1915
|
}
|
|
1805
1916
|
|
|
1806
1917
|
declare class LeadPages extends OrigonPages<Lead> {
|
|
1807
1918
|
options: Options_13;
|
|
1808
|
-
get lead(): Lead
|
|
1919
|
+
get lead(): Lead;
|
|
1809
1920
|
constructor(options: Options_13);
|
|
1810
|
-
addLead(scene: Scene, mList: MList, index?: number): Lead
|
|
1921
|
+
addLead(scene: Scene, mList: MList, index?: number): Lead;
|
|
1811
1922
|
removePage(index: number): void;
|
|
1812
1923
|
setPageActive(index: number): void;
|
|
1813
1924
|
setSize(width: number, height: number): void;
|
|
@@ -1817,33 +1928,24 @@ declare type LeadParams = {};
|
|
|
1817
1928
|
|
|
1818
1929
|
declare type LeadParams_2 = {};
|
|
1819
1930
|
|
|
1820
|
-
export
|
|
1821
|
-
options: LightOptions;
|
|
1822
|
-
directionalLight?: DirectionalLight;
|
|
1823
|
-
spotLight?: SpotLight;
|
|
1824
|
-
pointLight?: PointLight;
|
|
1825
|
-
hemisphereLight?: HemisphereLight;
|
|
1826
|
-
rectAreaLight?: RectAreaLight;
|
|
1827
|
-
rectAreaLightUniformsLibInit: boolean;
|
|
1828
|
-
constructor(options: LightOptions);
|
|
1829
|
-
create(): void;
|
|
1830
|
-
render(): void;
|
|
1831
|
-
dispose(): void;
|
|
1832
|
-
}
|
|
1931
|
+
export { Line2Material }
|
|
1833
1932
|
|
|
1834
|
-
declare interface
|
|
1835
|
-
|
|
1836
|
-
|
|
1933
|
+
declare interface LineMessage {
|
|
1934
|
+
projection?: ProjectionOptions;
|
|
1935
|
+
useGroups?: 0 | 1 | 2;
|
|
1936
|
+
splitPolygons?: number;
|
|
1837
1937
|
}
|
|
1838
1938
|
|
|
1839
|
-
export declare class
|
|
1840
|
-
|
|
1841
|
-
|
|
1939
|
+
export declare class LineObject extends MeshObject<MeshLineGeometry | BufferGeometry, MeshLineMaterial> {
|
|
1940
|
+
objectType: string;
|
|
1941
|
+
options: LineObjectOptions;
|
|
1942
|
+
constructor(options?: Partial<LineObjectOptions>);
|
|
1842
1943
|
get material(): MeshLineMaterial;
|
|
1843
1944
|
create(): Promise<void>;
|
|
1945
|
+
private createWithWorker;
|
|
1946
|
+
private createLocal;
|
|
1844
1947
|
setGeometry(nodes: PointsInput_2, setPointWidth?: (p: number) => any, useRTC?: boolean, rtcCenter?: Vector3): void;
|
|
1845
1948
|
createMaterial(materialOptions: Omit<MeshLineMaterialParameters, 'resolution'>): MeshLineMaterial;
|
|
1846
|
-
addGeometries(geometries: BufferGeometry[]): void;
|
|
1847
1949
|
resize(w: number, h: number): void;
|
|
1848
1950
|
handleMaterialChange(mat: MeshLineMaterial | null): void;
|
|
1849
1951
|
animate({ duration, delay, repeat, lineLoop, onRepeat, onUpdate, onComplete, startShow, }?: {
|
|
@@ -1861,22 +1963,23 @@ export declare class Line extends BaseObject {
|
|
|
1861
1963
|
update(): void;
|
|
1862
1964
|
}
|
|
1863
1965
|
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
export { Line2Material }
|
|
1873
|
-
|
|
1874
|
-
declare interface LineOptions extends GetCoordinatesArrOptions {
|
|
1875
|
-
meta?: number[][];
|
|
1876
|
-
projection?: ProjectionOptions;
|
|
1877
|
-
useGroups?: 0 | 1 | 2;
|
|
1966
|
+
declare interface LineObjectOptions {
|
|
1967
|
+
geometry?: BufferGeometry;
|
|
1968
|
+
material?: MeshLineMaterial;
|
|
1969
|
+
coordinatesArr?: number[][][];
|
|
1970
|
+
metaArray?: number[][];
|
|
1971
|
+
globalMeta?: number[];
|
|
1972
|
+
useWorker?: boolean;
|
|
1973
|
+
projection?: ProjectionOptions | 'cesium' | 'sphere';
|
|
1878
1974
|
splitPolygons?: number;
|
|
1879
|
-
|
|
1975
|
+
useGroups?: 0 | 1 | 2;
|
|
1976
|
+
setPointWidth?: (p: number) => any;
|
|
1977
|
+
lineWidthArr?: number[];
|
|
1978
|
+
cacheKey?: string;
|
|
1979
|
+
userData?: Record<string, any>;
|
|
1980
|
+
useFloat64Array?: boolean;
|
|
1981
|
+
useRTC?: boolean;
|
|
1982
|
+
onCacheMiss?: (options: Partial<LineObjectOptions>) => Partial<LineObjectOptions> | Promise<Partial<LineObjectOptions>>;
|
|
1880
1983
|
}
|
|
1881
1984
|
|
|
1882
1985
|
export { LineSegmentsGeometry }
|
|
@@ -1907,7 +2010,7 @@ declare class Loader {
|
|
|
1907
2010
|
getAsset(src: `${string}.${TypeGzipJSON}`): any;
|
|
1908
2011
|
getAsset(src: `${string}.${TypeEXR}`): DataTexture;
|
|
1909
2012
|
getAsset(src: string): Texture;
|
|
1910
|
-
getAssetType(src: string): "
|
|
2013
|
+
getAssetType(src: string): "images" | "json" | "gltf" | "exr" | "media" | "gzipJson" | "lottie" | undefined;
|
|
1911
2014
|
getLoader(type: string, options?: AssetOptions): any;
|
|
1912
2015
|
add(src: string | string[], options?: AssetOptions): void;
|
|
1913
2016
|
getSrcByAsset(asset: Texture | Object3D | any, assets?: Map<string, any>): string | undefined;
|
|
@@ -2009,6 +2112,11 @@ export declare class MeshLineMaterial extends ShaderMaterial {
|
|
|
2009
2112
|
* @param objectMatrixWorld 物体的世界矩阵(可选,用于支持缩放和旋转)
|
|
2010
2113
|
*/
|
|
2011
2114
|
updateRTC(center: Vector3, cameraMatrixWorld: Matrix4, objectMatrixWorld?: Matrix4): void;
|
|
2115
|
+
/**
|
|
2116
|
+
* 从 Three.js 原生解析好的 ShaderMaterial 中还原出 MeshLineMaterial
|
|
2117
|
+
* 用于反序列化场景
|
|
2118
|
+
*/
|
|
2119
|
+
static fromParsedShaderMaterial(shaderMat: ShaderMaterial): MeshLineMaterial;
|
|
2012
2120
|
}
|
|
2013
2121
|
|
|
2014
2122
|
declare interface MeshLineMaterialParameters extends ShaderMaterialParameters {
|
|
@@ -2072,11 +2180,17 @@ declare interface MeshLineMaterialParameters extends ShaderMaterialParameters {
|
|
|
2072
2180
|
|
|
2073
2181
|
export declare function MeshLineRaycast(this: Mesh<BufferGeometry, MeshLineMaterial>, raycaster: Raycaster, intersects: Intersection[]): void;
|
|
2074
2182
|
|
|
2183
|
+
export declare class MeshObject<G extends BufferGeometry = BufferGeometry, M extends Material | Material[] = Material | Material[]> extends BaseObject<Mesh<G, M>> {
|
|
2184
|
+
objectType: string;
|
|
2185
|
+
constructor(geometryOrMesh?: G | Mesh<G, M>, material?: M);
|
|
2186
|
+
}
|
|
2187
|
+
|
|
2075
2188
|
declare class MList {
|
|
2076
2189
|
pencil: Pencil;
|
|
2077
2190
|
private materials;
|
|
2078
2191
|
fixBaseObjects: Map<string, BaseObject>;
|
|
2079
2192
|
private materialBaseObjectMap;
|
|
2193
|
+
private static _emptyGeometry;
|
|
2080
2194
|
constructor(pencil: Pencil);
|
|
2081
2195
|
add(key: string, material: Material): void;
|
|
2082
2196
|
get(key: string): Material | undefined;
|
|
@@ -2097,7 +2211,7 @@ declare class MList {
|
|
|
2097
2211
|
private material2array;
|
|
2098
2212
|
addBaseObjectMap(object: BaseObject): void;
|
|
2099
2213
|
rmBaseObjectMap(object: BaseObject, targetMaterial?: Material | Material[], disposeMaterial?: boolean): void;
|
|
2100
|
-
getBaseObjectMap(material: Material): Set<BaseObject
|
|
2214
|
+
getBaseObjectMap(material: Material): Set<BaseObject<Object3D<Object3DEventMap>>>;
|
|
2101
2215
|
syncChangeMaterial(oldMaterial: Material, material: Material): void;
|
|
2102
2216
|
dispose(): void;
|
|
2103
2217
|
}
|
|
@@ -2158,7 +2272,7 @@ declare type multiTouchAction =
|
|
|
2158
2272
|
| typeof ACTION.TOUCH_OFFSET
|
|
2159
2273
|
| typeof ACTION.NONE;
|
|
2160
2274
|
|
|
2161
|
-
declare class
|
|
2275
|
+
export declare class NodeObject extends BaseObject<CSSObject> {
|
|
2162
2276
|
objectType: string;
|
|
2163
2277
|
options: Options_7;
|
|
2164
2278
|
pickObject?: Sprite;
|
|
@@ -2167,7 +2281,6 @@ declare class Node_2 extends BaseObject {
|
|
|
2167
2281
|
private static sharedObserver?;
|
|
2168
2282
|
private static observerMap;
|
|
2169
2283
|
constructor(options: Options_7);
|
|
2170
|
-
create(): void;
|
|
2171
2284
|
/**
|
|
2172
2285
|
* 启用碰撞检测跟踪
|
|
2173
2286
|
* @param priority 优先级,数值越大越优先显示,默认 0
|
|
@@ -2185,13 +2298,6 @@ declare class Node_2 extends BaseObject {
|
|
|
2185
2298
|
onPointerEvent(type: PickFunctionsItem['type'], cb: PickFunctionsItem['cb']): void;
|
|
2186
2299
|
dispose(): void;
|
|
2187
2300
|
}
|
|
2188
|
-
export { Node_2 as Node }
|
|
2189
|
-
|
|
2190
|
-
declare type ObjectFactory<T extends BaseObject = BaseObject> = new (...args: any[]) => T;
|
|
2191
|
-
|
|
2192
|
-
declare type ObjectFactoryMap = {
|
|
2193
|
-
[key: string]: ObjectFactory;
|
|
2194
|
-
};
|
|
2195
2301
|
|
|
2196
2302
|
declare interface Options {
|
|
2197
2303
|
color: string | number;
|
|
@@ -2261,39 +2367,15 @@ declare interface Options_16 {
|
|
|
2261
2367
|
exclude?: Mesh[];
|
|
2262
2368
|
}
|
|
2263
2369
|
|
|
2264
|
-
declare interface Options_17
|
|
2265
|
-
|
|
2266
|
-
|
|
2267
|
-
|
|
2268
|
-
|
|
2269
|
-
|
|
2270
|
-
|
|
2271
|
-
|
|
2272
|
-
material
|
|
2273
|
-
geometry?: BufferGeometry;
|
|
2274
|
-
geometryArr?: BufferGeometry[];
|
|
2275
|
-
depth?: number | number[];
|
|
2276
|
-
useGroups?: 0 | 1 | 2;
|
|
2277
|
-
split?: number;
|
|
2278
|
-
box3?: Box3 | Box3[];
|
|
2279
|
-
hasTop?: boolean;
|
|
2280
|
-
hasBottom?: boolean;
|
|
2281
|
-
hasSide?: boolean;
|
|
2282
|
-
}
|
|
2283
|
-
|
|
2284
|
-
declare interface Options_19 {
|
|
2285
|
-
nodes?: PointsInput_2;
|
|
2286
|
-
nodesArr?: PointsInput_2[];
|
|
2287
|
-
geometry?: BufferGeometry;
|
|
2288
|
-
geometryArr?: BufferGeometry[];
|
|
2289
|
-
material?: MeshLineMaterial;
|
|
2290
|
-
key?: string;
|
|
2291
|
-
useGroups?: 0 | 1 | 2;
|
|
2292
|
-
setPointWidth?: (p: number) => any;
|
|
2293
|
-
lineWidthArr?: number[];
|
|
2294
|
-
materialParameters?: Omit<MeshLineMaterialParameters, 'resolution'>;
|
|
2295
|
-
useRTC?: boolean;
|
|
2296
|
-
rtcCenter?: Vector3;
|
|
2370
|
+
declare interface Options_17 {
|
|
2371
|
+
maxDepth?: number;
|
|
2372
|
+
percentDepth?: boolean;
|
|
2373
|
+
innerRadius?: number;
|
|
2374
|
+
outRadius?: number;
|
|
2375
|
+
data: number[];
|
|
2376
|
+
colors: string[];
|
|
2377
|
+
activeIndex?: number;
|
|
2378
|
+
material?: MeshBasicMaterial | MeshStandardMaterial;
|
|
2297
2379
|
}
|
|
2298
2380
|
|
|
2299
2381
|
declare interface Options_2 {
|
|
@@ -2318,30 +2400,7 @@ declare interface Options_2 {
|
|
|
2318
2400
|
css3DRenderer?: boolean;
|
|
2319
2401
|
css3DRendererParams?: Partial<CSSRendererParams>;
|
|
2320
2402
|
WebGPUTHREE?: any;
|
|
2321
|
-
|
|
2322
|
-
|
|
2323
|
-
declare interface Options_20 {
|
|
2324
|
-
nodes?: PointsInput_2;
|
|
2325
|
-
nodesArr?: PointsInput_2[];
|
|
2326
|
-
geometry?: BufferGeometry;
|
|
2327
|
-
geometryArr?: BufferGeometry[];
|
|
2328
|
-
material?: Line2Material;
|
|
2329
|
-
key?: string;
|
|
2330
|
-
useGroups?: 0 | 1 | 2;
|
|
2331
|
-
setPointWidth?: (p: number) => any;
|
|
2332
|
-
lineWidthArr?: number[];
|
|
2333
|
-
materialParameters?: LineMaterialParameters;
|
|
2334
|
-
}
|
|
2335
|
-
|
|
2336
|
-
declare interface Options_21 {
|
|
2337
|
-
maxDepth?: number;
|
|
2338
|
-
percentDepth?: boolean;
|
|
2339
|
-
innerRadius?: number;
|
|
2340
|
-
outRadius?: number;
|
|
2341
|
-
data: number[];
|
|
2342
|
-
colors: string[];
|
|
2343
|
-
activeIndex?: number;
|
|
2344
|
-
material?: MeshBasicMaterial | MeshStandardMaterial;
|
|
2403
|
+
attributesWorkerVersion?: string;
|
|
2345
2404
|
}
|
|
2346
2405
|
|
|
2347
2406
|
declare interface Options_3 {
|
|
@@ -2410,29 +2469,6 @@ declare class Pages {
|
|
|
2410
2469
|
getMinDisabledLayer(): number | null;
|
|
2411
2470
|
}
|
|
2412
2471
|
|
|
2413
|
-
declare interface Parameters_2 extends Omit<Options_17, 'coordinate'> {
|
|
2414
|
-
geometry?: BufferGeometry;
|
|
2415
|
-
material?: Material | Material[];
|
|
2416
|
-
coordinate?: number[][];
|
|
2417
|
-
coordinateArr?: number[][][];
|
|
2418
|
-
useGroups?: 0 | 1 | 2;
|
|
2419
|
-
}
|
|
2420
|
-
|
|
2421
|
-
declare type Parameters_3 = {
|
|
2422
|
-
polygonGeoJson: PolygonCoords;
|
|
2423
|
-
startHeight?: number;
|
|
2424
|
-
endHeight?: number;
|
|
2425
|
-
hasSide?: boolean;
|
|
2426
|
-
hasTop?: boolean;
|
|
2427
|
-
topFirst?: boolean;
|
|
2428
|
-
hasBottom?: boolean;
|
|
2429
|
-
includeSides?: boolean;
|
|
2430
|
-
curvatureResolution?: number;
|
|
2431
|
-
projection?: any; // 'cesium' | 'sphere' | D3 projection function | null
|
|
2432
|
-
bbox?: number[];
|
|
2433
|
-
resetCenter?: boolean;
|
|
2434
|
-
};
|
|
2435
|
-
|
|
2436
2472
|
declare class Pencil {
|
|
2437
2473
|
options: Omit<DeepRequiredOptions, 'controls' | 'loader' | 'css2DRendererParams' | 'css3DRendererParams'> & Pick<Options_2, 'controls' | 'loader'> & {
|
|
2438
2474
|
css2DRendererParams: CSSRendererParams;
|
|
@@ -2454,7 +2490,8 @@ declare class Pencil {
|
|
|
2454
2490
|
raycaster: Raycaster;
|
|
2455
2491
|
private maxBackufferArea;
|
|
2456
2492
|
installPlugins: Map<string, any>;
|
|
2457
|
-
|
|
2493
|
+
attributesWorker: AttributesWorker;
|
|
2494
|
+
getPlugin(name: string): any;
|
|
2458
2495
|
get renderer(): WebGLRenderer;
|
|
2459
2496
|
get maxAnisotropy(): number;
|
|
2460
2497
|
get controls(): CameraControls;
|
|
@@ -2463,9 +2500,9 @@ declare class Pencil {
|
|
|
2463
2500
|
get cameraPositon(): Vector3;
|
|
2464
2501
|
get cameraTarget(): Vector3;
|
|
2465
2502
|
get camera(): PerspectiveCamera;
|
|
2466
|
-
get scene(): Scene
|
|
2503
|
+
get scene(): Scene;
|
|
2467
2504
|
get loader(): Loader;
|
|
2468
|
-
get lead(): Lead
|
|
2505
|
+
get lead(): Lead;
|
|
2469
2506
|
get mList(): MList;
|
|
2470
2507
|
event: EventEmitter;
|
|
2471
2508
|
timer: Timer;
|
|
@@ -2539,6 +2576,7 @@ declare class Pencil {
|
|
|
2539
2576
|
viewportMargin?: number;
|
|
2540
2577
|
};
|
|
2541
2578
|
};
|
|
2579
|
+
attributesWorkerVersion: string;
|
|
2542
2580
|
};
|
|
2543
2581
|
private TweenRaf;
|
|
2544
2582
|
private tweenUpdateRaf;
|
|
@@ -2653,11 +2691,12 @@ export declare type PickFunctionsItem = {
|
|
|
2653
2691
|
}) => void;
|
|
2654
2692
|
};
|
|
2655
2693
|
|
|
2656
|
-
export declare class
|
|
2657
|
-
|
|
2694
|
+
export declare class PieObject extends GroupObject {
|
|
2695
|
+
objectType: string;
|
|
2696
|
+
options: Required<Omit<Options_17, 'material'>> & {
|
|
2658
2697
|
material?: MeshBasicMaterial | MeshStandardMaterial;
|
|
2659
2698
|
};
|
|
2660
|
-
constructor(options:
|
|
2699
|
+
constructor(options: Options_17);
|
|
2661
2700
|
create(): Promise<void>;
|
|
2662
2701
|
createGeometry(depth: number, angle: number): ExtrudeGeometry;
|
|
2663
2702
|
handlePick(e: MouseEvent, scale?: number): any;
|
|
@@ -2687,11 +2726,19 @@ declare interface PointerInput {
|
|
|
2687
2726
|
mouseButton: MOUSE_BUTTON | null;
|
|
2688
2727
|
}
|
|
2689
2728
|
|
|
2729
|
+
export declare class PointLightObject extends BaseObject<PointLight> {
|
|
2730
|
+
objectType: string;
|
|
2731
|
+
constructor(lightOrColor?: PointLight | string | number, intensity?: number, distance?: number, decay?: number);
|
|
2732
|
+
}
|
|
2733
|
+
|
|
2690
2734
|
declare type PointsInput = Vector3[] | Vector2[] | number[][] | number[];
|
|
2691
2735
|
|
|
2692
2736
|
declare type PointsInput_2 = Vector3[] | Vector2[] | number[][] | number[];
|
|
2693
2737
|
|
|
2694
|
-
declare
|
|
2738
|
+
export declare class PointsObject<G extends BufferGeometry = BufferGeometry, M extends Material | Material[] = Material | Material[]> extends BaseObject<Points<G, M>> {
|
|
2739
|
+
objectType: string;
|
|
2740
|
+
constructor(geometryOrPoints?: G | Points<G, M>, material?: M);
|
|
2741
|
+
}
|
|
2695
2742
|
|
|
2696
2743
|
declare const projectionObj: {
|
|
2697
2744
|
mercator: typeof geoMercator;
|
|
@@ -2708,6 +2755,12 @@ declare type ProjectionOptions = {
|
|
|
2708
2755
|
rotate?: [number, number];
|
|
2709
2756
|
};
|
|
2710
2757
|
|
|
2758
|
+
export declare class RectAreaLightObject extends BaseObject<RectAreaLight> {
|
|
2759
|
+
objectType: string;
|
|
2760
|
+
static rectAreaLightUniformsLibInit: boolean;
|
|
2761
|
+
constructor(colorOrLight?: RectAreaLight | string | number, intensity?: number, width?: number, height?: number);
|
|
2762
|
+
}
|
|
2763
|
+
|
|
2711
2764
|
declare type Ref = {
|
|
2712
2765
|
value: number;
|
|
2713
2766
|
};
|
|
@@ -2749,7 +2802,7 @@ export declare class ResourceTracker {
|
|
|
2749
2802
|
resources: Set<Resource>;
|
|
2750
2803
|
disposeMaterial: boolean;
|
|
2751
2804
|
disposeVideo: boolean;
|
|
2752
|
-
track(resource: Resource | Resource[]):
|
|
2805
|
+
track(resource: Resource | Resource[]): Object3D<Object3DEventMap> | Material | Texture<unknown> | BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap> | BaseObject<Object3D<Object3DEventMap>> | HTMLVideoElement | Resource[];
|
|
2753
2806
|
dispose(): void;
|
|
2754
2807
|
}
|
|
2755
2808
|
|
|
@@ -2784,11 +2837,36 @@ declare class ScanEffect_2 {
|
|
|
2784
2837
|
stop(): void;
|
|
2785
2838
|
}
|
|
2786
2839
|
|
|
2840
|
+
/**
|
|
2841
|
+
* 场景 JSON 引用回溯工具
|
|
2842
|
+
* 从 sceneJson 中构建 uuid -> 可读路径 的映射表
|
|
2843
|
+
* 供分析、去重日志等场景共用
|
|
2844
|
+
*/
|
|
2845
|
+
declare class SceneJsonRefTracer {
|
|
2846
|
+
/** object uuid / geometry uuid -> 对象路径 */
|
|
2847
|
+
readonly uuidToObject: Map<string, string>;
|
|
2848
|
+
/** material uuid -> 使用它的对象路径 */
|
|
2849
|
+
readonly uuidToMaterial: Map<string, string>;
|
|
2850
|
+
/** texture uuid -> 使用它的材质描述 */
|
|
2851
|
+
readonly uuidToTexture: Map<string, string>;
|
|
2852
|
+
/** image uuid -> 使用它的纹理描述 */
|
|
2853
|
+
readonly uuidToImage: Map<string, string>;
|
|
2854
|
+
constructor(sceneJson: any);
|
|
2855
|
+
/** 根据 uuid 获取可读描述,依次查找各映射 */
|
|
2856
|
+
resolve(uuid: string): string;
|
|
2857
|
+
/** 将 uuid -> uuid 的 remap 映射转为可读的日志行数组 */
|
|
2858
|
+
formatRemap(remap: Map<string, string>): string[];
|
|
2859
|
+
private _traceObjects;
|
|
2860
|
+
private static _mapTypes;
|
|
2861
|
+
private _traceMaterials;
|
|
2862
|
+
private _traceTextures;
|
|
2863
|
+
}
|
|
2864
|
+
|
|
2787
2865
|
declare class ScenePages extends OrigonPages<Scene> {
|
|
2788
2866
|
options: Options_4;
|
|
2789
|
-
get scene(): Scene
|
|
2867
|
+
get scene(): Scene;
|
|
2790
2868
|
constructor(options: Options_4);
|
|
2791
|
-
addScene(sceneParams?: SceneParams, index?: number): Scene
|
|
2869
|
+
addScene(sceneParams?: SceneParams, index?: number): Scene;
|
|
2792
2870
|
removePage(index: number): void;
|
|
2793
2871
|
setPageActive(index: number): void;
|
|
2794
2872
|
}
|
|
@@ -2797,6 +2875,85 @@ declare interface SceneParams {
|
|
|
2797
2875
|
background: Scene['background'];
|
|
2798
2876
|
}
|
|
2799
2877
|
|
|
2878
|
+
declare class SceneSerializer {
|
|
2879
|
+
private lead;
|
|
2880
|
+
constructor(lead: Lead);
|
|
2881
|
+
private get scene();
|
|
2882
|
+
private get group();
|
|
2883
|
+
private get prefabGroup();
|
|
2884
|
+
private get mList();
|
|
2885
|
+
private get objects();
|
|
2886
|
+
exportCompressScene(): Promise<ArrayBuffer>;
|
|
2887
|
+
exportScene({ checkTextures }?: {
|
|
2888
|
+
checkTextures?: boolean | undefined;
|
|
2889
|
+
}): string;
|
|
2890
|
+
restoreScene(data: string | ArrayBuffer | Object3DJSON, registry?: Record<string, new (...args: any[]) => any>, roomEnvMap?: any): Promise<void>;
|
|
2891
|
+
/**
|
|
2892
|
+
* 根据 objectType 和 registry 创建 BaseObject 实例
|
|
2893
|
+
*/
|
|
2894
|
+
private _createInstance;
|
|
2895
|
+
/**
|
|
2896
|
+
* 安全地克隆 options,过滤掉不可序列化的 Three.js 对象
|
|
2897
|
+
*/
|
|
2898
|
+
private _cloneObjectOptions;
|
|
2899
|
+
/**
|
|
2900
|
+
* 将解析后的场景树移植到现有核心 Object3D,保持外部引用不变
|
|
2901
|
+
*/
|
|
2902
|
+
private _graftParsedScene;
|
|
2903
|
+
private _graftObject3d;
|
|
2904
|
+
/**
|
|
2905
|
+
* 同步 Object3D 属性,保留 target 上非 _baseObject 的 userData
|
|
2906
|
+
*/
|
|
2907
|
+
private _syncObject3dProps;
|
|
2908
|
+
/**
|
|
2909
|
+
* 清理临时写入的 _baseObject* userData 键
|
|
2910
|
+
*/
|
|
2911
|
+
private _cleanUserData;
|
|
2912
|
+
/**
|
|
2913
|
+
* 需要提取到共享池进行去重的 _baseObjectOptions 字段名
|
|
2914
|
+
* 新增字段只需在此数组中添加即可
|
|
2915
|
+
*/
|
|
2916
|
+
private static _sharedOptionsKeys;
|
|
2917
|
+
/**
|
|
2918
|
+
* 去重场景 JSON 中重复的 image、VideoTexture、DataTexture
|
|
2919
|
+
*/
|
|
2920
|
+
private _deduplicateSceneJson;
|
|
2921
|
+
/**
|
|
2922
|
+
* 遍历 sceneJson 的对象树,提取 _baseObjectOptions 中可共享的大字段
|
|
2923
|
+
* 相同内容只存储一份,对象中替换为引用索引
|
|
2924
|
+
*/
|
|
2925
|
+
private _extractSharedOptionsPool;
|
|
2926
|
+
/**
|
|
2927
|
+
* 还原共享 options 池:将 { _sharedRef: index } 替换回真实值
|
|
2928
|
+
*/
|
|
2929
|
+
private _restoreSharedOptionsPool;
|
|
2930
|
+
/**
|
|
2931
|
+
* 深度优先遍历 sceneJson 对象树,对每个节点执行回调
|
|
2932
|
+
*/
|
|
2933
|
+
private _traverseObjectJson;
|
|
2934
|
+
private _compressGzip;
|
|
2935
|
+
private _decompressGzip;
|
|
2936
|
+
/**
|
|
2937
|
+
* 从纹理实例提取通用属性为 plain object(导出用)
|
|
2938
|
+
*/
|
|
2939
|
+
private _serializeTexProps;
|
|
2940
|
+
/**
|
|
2941
|
+
* 将 JSON 中的通用属性应用到纹理实例(还原用)
|
|
2942
|
+
*/
|
|
2943
|
+
private _applyTexProps;
|
|
2944
|
+
/**
|
|
2945
|
+
* 创建序列化占位纹理(通用工厂)
|
|
2946
|
+
*/
|
|
2947
|
+
private _createPlaceholder;
|
|
2948
|
+
private _videoTexToPlaceholder;
|
|
2949
|
+
private _createVideoTextureFromJson;
|
|
2950
|
+
private static _typedArrayCtors;
|
|
2951
|
+
private _dataTexToPlaceholder;
|
|
2952
|
+
private _createDataTextureFromJson;
|
|
2953
|
+
private _typedArrayToBase64;
|
|
2954
|
+
private _base64ToTypedArray;
|
|
2955
|
+
}
|
|
2956
|
+
|
|
2800
2957
|
declare type singleTouchAction =
|
|
2801
2958
|
| typeof ACTION.TOUCH_ROTATE
|
|
2802
2959
|
| typeof ACTION.TOUCH_TRUCK
|
|
@@ -2806,6 +2963,18 @@ declare type singleTouchAction =
|
|
|
2806
2963
|
| typeof ACTION.ZOOM
|
|
2807
2964
|
| typeof ACTION.NONE;
|
|
2808
2965
|
|
|
2966
|
+
export declare class SpotLightObject extends BaseObject<SpotLight> {
|
|
2967
|
+
objectType: string;
|
|
2968
|
+
constructor(lightOrColor?: SpotLight | string | number, intensity?: number, distance?: number, angle?: number, penumbra?: number, decay?: number);
|
|
2969
|
+
render(): void;
|
|
2970
|
+
dispose(): void;
|
|
2971
|
+
}
|
|
2972
|
+
|
|
2973
|
+
export declare class SpriteObject<M extends SpriteMaterial = SpriteMaterial> extends BaseObject<Sprite> {
|
|
2974
|
+
objectType: string;
|
|
2975
|
+
constructor(materialOrSprite?: M | Sprite);
|
|
2976
|
+
}
|
|
2977
|
+
|
|
2809
2978
|
declare interface SSAOParams {
|
|
2810
2979
|
kernelRadius: number;
|
|
2811
2980
|
minDistance: number;
|
|
@@ -2874,6 +3043,7 @@ declare class UseMaterial extends PointerEvent_2 {
|
|
|
2874
3043
|
|
|
2875
3044
|
export declare const utils: {
|
|
2876
3045
|
applyTextureColorSpace: typeof applyTextureColorSpace;
|
|
3046
|
+
analyzeSceneJsonSize: typeof analyzeSceneJsonSize;
|
|
2877
3047
|
CacheManager: typeof CacheManager;
|
|
2878
3048
|
cartographicToCartesian: typeof cartographicToCartesian;
|
|
2879
3049
|
WGS84: {
|
|
@@ -2885,80 +3055,11 @@ export declare const utils: {
|
|
|
2885
3055
|
isPlainObject: typeof isPlainObject;
|
|
2886
3056
|
parseVector2: (v: Vector2 | number[]) => Vector2;
|
|
2887
3057
|
parseVector3: (v: PointsInput[0]) => Vector3;
|
|
2888
|
-
|
|
2889
|
-
getUVGenerator: (options?: {
|
|
2890
|
-
box3?: Box3;
|
|
2891
|
-
sideRepeat?: number;
|
|
2892
|
-
}) => {
|
|
2893
|
-
generateTopUV(geometry: any, vertices: number[], indexA: number, indexB: number, indexC: number): Vector2[];
|
|
2894
|
-
generateSideWallUV(geometry: any, vertices: number[], indexA: number, indexB: number, indexC: number, indexD: number): Vector2[];
|
|
2895
|
-
};
|
|
3058
|
+
SceneJsonRefTracer: typeof SceneJsonRefTracer;
|
|
2896
3059
|
};
|
|
2897
3060
|
|
|
2898
3061
|
declare type ValuesOf<T extends readonly any[]> = T[number];
|
|
2899
3062
|
|
|
2900
3063
|
declare type WidthCallback = (p: number) => number;
|
|
2901
3064
|
|
|
2902
|
-
export declare class Wk {
|
|
2903
|
-
pluginName: string;
|
|
2904
|
-
options: Options_15 & {
|
|
2905
|
-
cacheVersion: string;
|
|
2906
|
-
dbName: string;
|
|
2907
|
-
maxCacheSize: number;
|
|
2908
|
-
};
|
|
2909
|
-
pencil: Pencil;
|
|
2910
|
-
pool: WorkerPool;
|
|
2911
|
-
bufferGeometryLoader: BufferGeometryLoader;
|
|
2912
|
-
cacheManager: CacheManager;
|
|
2913
|
-
constructor(options: Options_15);
|
|
2914
|
-
install(pencil: Pencil): void;
|
|
2915
|
-
geoGeometry(type: 'extrudePolygon', options: GeoGeometryOptions & {
|
|
2916
|
-
mesaage: ExtrudePolygonOptions;
|
|
2917
|
-
}): Promise<BufferGeometry>;
|
|
2918
|
-
geoGeometry(type: 'conicPolygon', options: GeoGeometryOptions & {
|
|
2919
|
-
mesaage: ConicPolygonOptions;
|
|
2920
|
-
}): Promise<BufferGeometry>;
|
|
2921
|
-
geoGeometry(type: 'conicLine', options: GeoGeometryOptions & {
|
|
2922
|
-
mesaage: ConicLineOptions;
|
|
2923
|
-
}): Promise<BufferGeometry>;
|
|
2924
|
-
geoGeometry(type: 'line', options: GeoGeometryOptions & {
|
|
2925
|
-
mesaage: LineOptions;
|
|
2926
|
-
}): Promise<BufferGeometry>;
|
|
2927
|
-
getCachedGeometry(options: Pick<GeoGeometryOptions, 'cacheKey' | 'cacheVersion'>): Promise<ReturnType<typeof _default_2>[]>;
|
|
2928
|
-
saveCache(): Promise<void>;
|
|
2929
|
-
/**
|
|
2930
|
-
* 批量保存待更新的元数据
|
|
2931
|
-
*/
|
|
2932
|
-
flushMetadata(): Promise<void>;
|
|
2933
|
-
/**
|
|
2934
|
-
* 获取缓存统计信息
|
|
2935
|
-
*/
|
|
2936
|
-
getCacheStats(): Promise<{
|
|
2937
|
-
total: number;
|
|
2938
|
-
maxSize: number;
|
|
2939
|
-
usage: number;
|
|
2940
|
-
items: {
|
|
2941
|
-
key: IDBValidKey;
|
|
2942
|
-
metadata: CacheMetadata;
|
|
2943
|
-
}[];
|
|
2944
|
-
}>;
|
|
2945
|
-
/**
|
|
2946
|
-
* 手动清空所有缓存
|
|
2947
|
-
*/
|
|
2948
|
-
clearCache(): Promise<void>;
|
|
2949
|
-
/**
|
|
2950
|
-
* 检查存储配额使用情况
|
|
2951
|
-
*/
|
|
2952
|
-
checkStorageQuota(): Promise<{
|
|
2953
|
-
usage: number;
|
|
2954
|
-
quota: number;
|
|
2955
|
-
percentUsed: number;
|
|
2956
|
-
} | null>;
|
|
2957
|
-
flattenCoordinates(coordinatesArr: number[][][], metaArray?: number[][], useFloat64Array?: boolean): {
|
|
2958
|
-
flat: Float64Array | Float32Array;
|
|
2959
|
-
lengths: number[];
|
|
2960
|
-
};
|
|
2961
|
-
dispose(): void;
|
|
2962
|
-
}
|
|
2963
|
-
|
|
2964
3065
|
export { }
|