vis-core 0.30.14 → 0.31.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/index.d.ts CHANGED
@@ -1,32 +1,38 @@
1
+ import { AmbientLightObject } from 'gl-draw';
1
2
  import { BaseObject } from 'gl-draw';
2
- import { ConicPolygon } from 'gl-draw';
3
3
  import { default as default_2 } from 'gl-draw';
4
+ import { DirectionalLightObject } from 'gl-draw';
4
5
  import { EventEmitter } from 'events';
5
- import { ExtrudePolygon } from 'gl-draw';
6
+ import { ExtrudePolygonObject } from 'gl-draw';
6
7
  import { FeatureCollection } from 'geojson';
7
8
  import { GeoJsonProperties } from 'geojson';
8
9
  import { GeoProjection } from 'd3-geo';
9
- import { Group } from 'gl-draw';
10
+ import { GroupObject } from 'gl-draw';
11
+ import { HemisphereLightObject } from 'gl-draw';
10
12
  import { Lead } from 'gl-draw';
11
- import { Light as Light_2 } from 'gl-draw';
12
- import { Line } from 'gl-draw';
13
- import { Line2 } from 'gl-draw';
13
+ import { LineObject } from 'gl-draw';
14
14
  import { Listener } from 'events';
15
15
  import { MeshLineMaterial } from 'gl-draw';
16
+ import { MeshObject } from 'gl-draw';
16
17
  import { MultiPolygon } from 'geojson';
17
- import { Node as Node_2 } from 'gl-draw';
18
+ import { NodeObject } from 'gl-draw';
18
19
  import { PickFunctionsItem } from 'gl-draw';
20
+ import { PointLightObject } from 'gl-draw';
19
21
  import { Polygon } from 'geojson';
20
22
  import { Position } from 'geojson';
23
+ import { RectAreaLightObject } from 'gl-draw';
21
24
  import { RoomEnvironment } from 'three/examples/jsm/environments/RoomEnvironment.js';
25
+ import { SpotLightObject } from 'gl-draw';
26
+ import { SpriteObject } from 'gl-draw';
22
27
  import * as THREE from 'three';
23
28
  import { default as TWEEN } from 'three/examples/jsm/libs/tween.module.js';
24
29
  import { Tween } from 'three/examples/jsm/libs/tween.module.js';
25
30
  import { Water } from './Water2';
26
31
 
27
- export declare const access: {
28
- token: string;
29
- };
32
+ declare class AmbientLight extends AmbientLightObject {
33
+ constructor(...options: ConstructorParameters<typeof AmbientLightObject>);
34
+ render(): void;
35
+ }
30
36
 
31
37
  export declare namespace animationUtils {
32
38
  export {
@@ -39,17 +45,23 @@ export declare namespace animationUtils {
39
45
  }
40
46
  }
41
47
 
42
- declare class Arc extends BaseObject {
43
- options: Options_4;
44
- line: Line;
48
+ declare class Arc extends LineObject {
49
+ objectType: string;
50
+ options: Options_2;
45
51
  helperMeshPosition?: THREE.Vector3[];
46
- constructor(options: Options_4);
47
- static getInitOptions(pencil: default_2, options: Options_4): {
52
+ constructor(options: Options_2);
53
+ static getInitOptions(pencil: default_2, options: Options_2): {
48
54
  from: THREE.Vector3Tuple;
49
55
  to: THREE.Vector3Tuple;
50
56
  };
51
57
  create(): Promise<void>;
52
- instantiate(ops?: any): Promise<this>;
58
+ instantiate(ops: Parameters<BaseObject['instantiate']>[0]): Promise<this>;
59
+ line: {
60
+ options: {
61
+ nodes: THREE.Vector3[];
62
+ };
63
+ };
64
+ private _tempCurve;
53
65
  setPath(from: THREE.Vector3 | number[], to: THREE.Vector3 | number[], radius: number, setPointWidth?: (p: number) => number): void;
54
66
  pickTube: Tube | null;
55
67
  addPickTarget(radius?: number, show?: boolean): Promise<Tube>;
@@ -64,81 +76,47 @@ declare class Arc extends BaseObject {
64
76
  }): void;
65
77
  update(): void;
66
78
  render(): void;
67
- dispose(): void;
68
79
  }
69
80
 
70
- declare class Area extends BaseObject {
71
- options: Options_10;
72
- area: ExtrudePolygon[];
73
- constructor(options: Options_10);
81
+ declare class Area extends GroupObject {
82
+ objectType: string;
83
+ options: Options_7;
84
+ area: ExtrudePolygonObject[];
85
+ constructor(options: Options_7);
74
86
  create(): Promise<void>;
87
+ rebuildFromScene(): void;
75
88
  }
76
89
 
77
90
  export declare class Base extends Camera {
78
91
  static VisName: string;
92
+ private static _loadingCount;
79
93
  playing: boolean;
80
94
  leftTruck: boolean;
81
95
  options: BaseOptions;
82
96
  showState: boolean;
83
97
  settings: Record<string, any>;
84
- delLoadArr?: string[];
85
98
  extendsOptions: Record<string, any>;
86
- leadObjs: {
87
- Plane: Plane;
88
- CrossPlane: CrossPlane;
89
- PlaneShadow: PlaneShadow;
90
- Ring: Ring;
91
- Sphere: Sphere;
92
- Sprite: Sprite;
93
- Tetrahedron: Tetrahedron;
94
- Torus: Torus;
95
- TorusKnot: TorusKnot;
96
- Tube: Tube;
97
- Box: Box;
98
- Capsule: Capsule;
99
- Circle: Circle;
100
- Cylinder: Cylinder;
101
- Dodecahedron: Dodecahedron;
102
- Icosahedron: Icosahedron;
103
- Lathe: Lathe;
104
- Octahedron: Octahedron;
105
- Node: typeof Node_2;
106
- Line: typeof Line;
107
- Line2: Line2;
108
- ExtrudePolygon: ExtrudePolygon;
109
- ConicPolygon: ConicPolygon;
110
- Group: Group;
111
- Light: Light;
112
- Point: Point;
113
- Arc: typeof Arc;
114
- Model: Model;
115
- };
116
- lead: Lead<typeof objs>;
99
+ lead: Lead;
117
100
  mList: default_2['mList'];
118
101
  tier0: boolean;
119
102
  pmremGenerator: THREE.PMREMGenerator | null;
120
103
  re: RoomEnvironment | null;
121
104
  roomEnvMap?: THREE.Texture;
122
105
  visName: string;
123
- editor?: Editor;
124
106
  publicDir: Record<string, string>;
125
107
  constructor(options: BaseOptions);
126
108
  private showDetectRes;
127
109
  setOptions(options: Record<string, any>): void;
128
- _baseObjectByUuid: Editor['baseObjectByUuid'];
129
- _objectByUuid: Editor['objectByUuid'];
130
- get fromJSON(): (jsonOrUrl: Record<string, any> | string, hooks?: Record<string, any>) => Promise<Record<string, any>>;
131
- get baseObjectByUuid(): {
132
- (key: `arc${string}`): Arc;
133
- (key: `sprite${string}`): Sprite;
134
- (key: string): BaseObject;
135
- };
136
- get objectByUuid(): (key: string) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap> | undefined;
137
- get getDataURL(): () => string;
110
+ fromJSON(jsonOrUrl: Record<string, any> | string, hooksE?: Record<string, any>): Promise<void>;
111
+ private parseHooks;
138
112
  loaderAdd(...args: any): void;
113
+ initGroup(): Promise<void>;
139
114
  initMaterial(...args: any): Promise<void>;
140
115
  initVis(...args: any): Promise<void>;
116
+ initFromScene(scene: any, set?: Record<string, any>): Promise<void>;
141
117
  init(...args: any[]): Promise<void>;
118
+ beforeInit(): Promise<void>;
119
+ afterInit(): Promise<void>;
142
120
  private observeScale;
143
121
  initPencil(): Promise<void>;
144
122
  private sceneActive;
@@ -150,28 +128,78 @@ export declare class Base extends Camera {
150
128
  initSettingsObj?: Record<string, any>;
151
129
  mouseButtonsActiveStore: Record<string, any> | null;
152
130
  initSettings(): void;
153
- handleSetting(key: string, value: any): Promise<any>;
131
+ handleSetting(key: string, value: any): void;
154
132
  show(): void;
155
133
  showAction(): void;
156
134
  hide(): void;
157
- addGroup(): Promise<Group>;
135
+ exportScene(): any;
136
+ restoreScene(str: string, objectsMap?: {
137
+ Point: Point;
138
+ Arc: typeof Arc;
139
+ Model: Model;
140
+ Plane: Plane;
141
+ PlaneShadow: PlaneShadow;
142
+ Sphere: Sphere;
143
+ Sprite: typeof Sprite;
144
+ Box: Box;
145
+ Circle: Circle;
146
+ Tube: Tube;
147
+ Ring: Ring;
148
+ AmbientLight: AmbientLight;
149
+ DirectionalLight: DirectionalLight;
150
+ PointLight: PointLight;
151
+ SpotLight: SpotLight;
152
+ HemisphereLight: HemisphereLight;
153
+ RectAreaLight: RectAreaLight;
154
+ Node: typeof NodeObject;
155
+ ExtrudePolygon: ExtrudePolygonObject;
156
+ Line: typeof LineObject;
157
+ Group: GroupObject;
158
+ }): Promise<void>;
159
+ rebuildFromScene(): Promise<void>;
160
+ getClassRefByType(type: string): typeof BaseObject;
161
+ addGroup(): Promise<GroupObject>;
158
162
  addCSS2D(dom: HTMLElement, options?: {
159
163
  display?: string;
160
164
  onTop?: number;
161
165
  target?: BaseObject;
162
- }): Promise<Node_2>;
166
+ }): Promise<NodeObject>;
163
167
  addCSS3D(dom: HTMLElement, options?: {
164
168
  display?: string;
165
169
  onTop?: number;
166
170
  type?: '3d' | '3dSprite';
167
171
  target?: BaseObject;
168
- }): Promise<Node_2>;
172
+ }): Promise<NodeObject>;
173
+ private addNode;
169
174
  getRoomEnvMap(): THREE.Texture<unknown>;
170
175
  handlePick(objArr: PickFunctionsItem['objArr'], type: PickFunctionsItem['type'], cb: PickFunctionsItem['cb']): void;
171
176
  getScreenPosition(x: number, y: number, z: number): {
172
177
  x: number;
173
178
  y: number;
174
179
  };
180
+ uuidByObject(object: THREE.Object3D): string | undefined;
181
+ objectByUuid(key: string): THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap> | undefined;
182
+ uuidByBaseObject(object: BaseObject): string | undefined;
183
+ baseObjectByUuid(key: `arc${string}`): Arc;
184
+ baseObjectByUuid(key: `sprite${string}`): Sprite;
185
+ baseObjectByUuid(key: string): BaseObject;
186
+ baseObjectByName(name: string): BaseObject<THREE.Object3D<THREE.Object3DEventMap>> | undefined;
187
+ private _selectOptionMaps;
188
+ findSelectItem(key: any, val: any): SelectedMeta | undefined;
189
+ selectOption: SelectedMeta[];
190
+ changeSelectOption(): void;
191
+ private _mListOptionsMaps;
192
+ findMListSelectItem(key: any, val: any): any;
193
+ mListOptions: {
194
+ key: string;
195
+ name: string;
196
+ type: string;
197
+ use: number;
198
+ object: THREE.Mesh;
199
+ material: THREE.Material;
200
+ baseObject: BaseObject;
201
+ }[];
202
+ changeMListOptions(): never[] | undefined;
175
203
  dispose(): void;
176
204
  }
177
205
 
@@ -224,21 +252,23 @@ declare interface BaseOptions {
224
252
  pencil2?: any;
225
253
  pencilConfig?: Record<string, any>;
226
254
  disableInitShow?: boolean;
227
- editor?: boolean;
228
255
  logarithmicDepthBuffer?: boolean;
229
256
  tier?: number;
230
257
  observeParentScale?: boolean;
231
258
  [key: string]: any;
232
259
  }
233
260
 
234
- declare class Box extends BaseObject {
261
+ declare class Box extends MeshObject {
262
+ objectType: string;
235
263
  create(): void;
236
264
  }
237
265
 
238
- declare class Building extends BaseObject {
239
- options: Options_8;
240
- constructor(options: Options_8);
266
+ declare class Building extends GroupObject {
267
+ objectType: string;
268
+ options: Options_5;
269
+ constructor(options: Options_5);
241
270
  create(): Promise<void>;
271
+ rebuildFromScene(): void;
242
272
  worldPositionZ: {
243
273
  value: number;
244
274
  };
@@ -250,6 +280,7 @@ declare class Camera extends Event_2 {
250
280
  container: HTMLElement;
251
281
  pencil: default_2;
252
282
  cameraState: Record<string, number[]>;
283
+ cameraStateActive: string;
253
284
  setSaveCamera(type: string): void;
254
285
  useSaveCamera(type: string, enableTransition?: boolean): Promise<boolean>;
255
286
  lookAt(positionX: number, positionY: number, positionZ: number, targetX: number, targetY: number, targetZ: number, enableTransition?: boolean, smoothTime?: number): Promise<void>;
@@ -263,64 +294,25 @@ declare class Camera extends Event_2 {
263
294
  polarAngle?: number;
264
295
  azimuthAngle?: number;
265
296
  }, enableTransition?: boolean, smoothTime?: number): Promise<void>;
266
- paddingInCssPixel(box3OrBaseObject: BaseObject | THREE.Box3, top: number, right: number, bottom: number, left: number, enableTransition: boolean): Promise<void[]>;
297
+ paddingInCssPixel(obj: BaseObject, top: number, right: number, bottom: number, left: number, enableTransition: boolean): Promise<void[]>;
267
298
  resetCamera(enableTransition?: boolean, smoothTime?: number): Promise<void>;
268
299
  unproject(e: MouseEvent, targetZ?: number): THREE.Vector3;
269
300
  dispose(): void;
270
301
  }
271
302
 
272
- declare class Capsule extends BaseObject {
273
- create(): void;
274
- }
275
-
276
- declare class Circle extends BaseObject {
303
+ declare class Circle extends MeshObject {
304
+ objectType: string;
277
305
  create(): void;
278
306
  }
279
307
 
280
308
  export declare class City extends Base {
281
309
  static VisName: string;
282
- leadObjs: {
283
- Building: typeof Building;
284
- Road: typeof Road;
285
- Area: Area;
286
- CityPlane: CityPlane;
287
- Target: Target;
288
- Plane: Plane;
289
- CrossPlane: CrossPlane;
290
- PlaneShadow: PlaneShadow;
291
- Ring: Ring;
292
- Sphere: Sphere;
293
- Sprite: Sprite;
294
- Tetrahedron: Tetrahedron;
295
- Torus: Torus;
296
- TorusKnot: TorusKnot;
297
- Tube: Tube;
298
- Box: Box;
299
- Capsule: Capsule;
300
- Circle: Circle;
301
- Cylinder: Cylinder;
302
- Dodecahedron: Dodecahedron;
303
- Icosahedron: Icosahedron;
304
- Lathe: Lathe;
305
- Octahedron: Octahedron;
306
- Node: Node_2;
307
- Line: Line;
308
- Line2: Line2;
309
- ExtrudePolygon: ExtrudePolygon;
310
- ConicPolygon: ConicPolygon;
311
- Group: typeof Group;
312
- Light: Light;
313
- Point: Point;
314
- Arc: Arc;
315
- Model: Model;
316
- };
317
- lead: Lead<typeof objs_2>;
318
310
  adcode: number;
319
311
  pcenter: [number, number];
320
312
  pscale: number;
321
313
  projection: ReturnType<typeof getProjection>;
322
314
  options: CityOptions;
323
- group: Group;
315
+ group: GroupObject;
324
316
  building: Building;
325
317
  road: Road;
326
318
  setOptions(options: CityOptions): void;
@@ -329,7 +321,8 @@ export declare class City extends Base {
329
321
  initMaterial(): Promise<void>;
330
322
  disableSSAO(): void;
331
323
  enabledSSAO(): void;
332
- init(): Promise<void>;
324
+ initGroup(): Promise<void>;
325
+ beforeInit(): Promise<void>;
333
326
  getInvert(vector3: THREE.Vector3): [number, number] | null | undefined;
334
327
  fitTo(obj: BaseObject, enableTransition?: boolean): Promise<void>;
335
328
  initVis(): Promise<void>;
@@ -357,6 +350,35 @@ export declare class City extends Base {
357
350
  x: number;
358
351
  y: number;
359
352
  };
353
+ restoreScene(str: string, objectsMap?: {
354
+ Building: typeof Building;
355
+ Road: typeof Road;
356
+ Area: Area;
357
+ CityPlane: CityPlane;
358
+ Target: Target;
359
+ Point: Point;
360
+ Arc: Arc;
361
+ Model: Model;
362
+ Plane: Plane;
363
+ PlaneShadow: PlaneShadow;
364
+ Sphere: Sphere;
365
+ Sprite: Sprite;
366
+ Box: Box;
367
+ Circle: Circle;
368
+ Tube: Tube;
369
+ Ring: Ring;
370
+ AmbientLight: AmbientLight;
371
+ DirectionalLight: DirectionalLight;
372
+ PointLight: PointLight;
373
+ SpotLight: SpotLight;
374
+ HemisphereLight: HemisphereLight;
375
+ RectAreaLight: RectAreaLight;
376
+ Node: NodeObject;
377
+ ExtrudePolygon: ExtrudePolygonObject;
378
+ Line: LineObject;
379
+ Group: typeof GroupObject;
380
+ }): Promise<void>;
381
+ rebuildFromScene(): Promise<void>;
360
382
  }
361
383
 
362
384
  declare class city extends City {
@@ -386,103 +408,46 @@ declare interface CityOptions extends BaseOptions {
386
408
  ssao?: boolean;
387
409
  }
388
410
 
389
- declare class CityPlane extends BaseObject {
390
- options: Options_11;
391
- constructor(options: Options_11);
411
+ declare class CityPlane extends MeshObject {
412
+ objectType: string;
413
+ options: Options_8;
414
+ constructor(options: Options_8);
392
415
  plane: THREE.PlaneGeometry;
393
416
  water?: Water;
394
417
  create(): Promise<void>;
418
+ rebuildFromScene(): void;
395
419
  addWater(): void;
396
420
  }
397
421
 
398
- declare class Config {
399
- editor: Editor;
400
- meta: {
401
- name: string;
402
- key: string;
403
- open: boolean;
404
- jsonVersion: string;
405
- sdkVersion: string;
406
- __template: string;
407
- };
408
- constructor(editor: Editor);
409
- setConfig<K extends keyof Config['meta']>(key: K, value: Config['meta'][K]): void;
410
- fromJSON(json: any): void;
411
- compareVersion(): void;
412
- toJSON(): {
413
- version: string;
414
- };
415
- }
416
-
417
- declare class ContinentsBg extends BaseObject {
418
- options: Options_15;
422
+ declare class ContinentsBg extends GroupObject {
423
+ objectType: string;
424
+ options: Options_12;
419
425
  mapArr: PlaneMap[];
420
- constructor(options: Options_15);
426
+ constructor(options: Options_12);
421
427
  create(): Promise<void>;
422
428
  private getPointInContinentInfo;
423
429
  getPointInContinent(location: [number, number]): boolean;
424
430
  getLocationPosition(location: [number, number], tName?: string): [number, number, number] | undefined;
425
431
  render(): void;
432
+ rebuildFromScene(): void;
426
433
  dispose(): void;
427
434
  }
428
435
 
429
- declare class CrossPlane extends BaseObject {
430
- options: Options;
431
- constructor(options: Options);
432
- create(): Promise<void>;
433
- }
434
-
435
- declare class Cylinder extends BaseObject {
436
- create(): void;
437
- }
438
-
439
- declare class Dodecahedron extends BaseObject {
440
- create(): void;
436
+ declare class DirectionalLight extends DirectionalLightObject {
437
+ constructor(...options: ConstructorParameters<typeof DirectionalLightObject>);
438
+ update(delta: number, elapsed: number): void;
439
+ render(): void;
441
440
  }
442
441
 
443
442
  export declare class Earth extends Base {
444
443
  static VisName: string;
445
- leadObjs: {
446
- Earth: Earth_2;
447
- SphereShadow: SphereShadow;
448
- Countries: typeof PlaneMap;
449
- Plane: Plane;
450
- CrossPlane: CrossPlane;
451
- PlaneShadow: PlaneShadow;
452
- Ring: Ring;
453
- Sphere: Sphere;
454
- Sprite: Sprite;
455
- Tetrahedron: Tetrahedron;
456
- Torus: Torus;
457
- TorusKnot: TorusKnot;
458
- Tube: Tube;
459
- Box: Box;
460
- Capsule: Capsule;
461
- Circle: Circle;
462
- Cylinder: Cylinder;
463
- Dodecahedron: Dodecahedron;
464
- Icosahedron: Icosahedron;
465
- Lathe: Lathe;
466
- Octahedron: Octahedron;
467
- Node: Node_2;
468
- Line: Line;
469
- Line2: Line2;
470
- ExtrudePolygon: ExtrudePolygon;
471
- ConicPolygon: ConicPolygon;
472
- Group: Group;
473
- Light: Light;
474
- Point: Point;
475
- Arc: Arc;
476
- Model: Model;
477
- };
478
444
  leftTruck: boolean;
479
- lead: Lead<typeof objs_3>;
480
445
  options: Required<EarthOptions>;
481
446
  extendsOptions: Record<string, any>;
482
447
  map: PlaneMap;
483
- get mapArea(): ExtrudePolygon[];
448
+ get mapArea(): ExtrudePolygonObject[];
484
449
  setOptions(options: EarthOptions): void;
485
- handleSetting(key: string, value: any): Promise<any>;
450
+ handleSetting(key: string, value: any): void;
486
451
  show(): void;
487
452
  animationIn(): void;
488
453
  initLight(): Promise<void>;
@@ -510,12 +475,42 @@ export declare class Earth extends Base {
510
475
  * @param upAxis - 物体的up轴方向,默认为Y轴 [0, 1, 0]
511
476
  */
512
477
  setObjectOnSphere(baseObject: BaseObject, location: [number, number], height?: number, upAxis?: [number, number, number]): void;
478
+ restoreScene(str: string, objectsMap?: {
479
+ Earth: Earth_2;
480
+ SphereShadow: SphereShadow;
481
+ Countries: typeof PlaneMap;
482
+ PlaneMap: typeof PlaneMap;
483
+ Point: Point;
484
+ Arc: Arc;
485
+ Model: Model;
486
+ Plane: Plane;
487
+ PlaneShadow: PlaneShadow;
488
+ Sphere: Sphere;
489
+ Sprite: Sprite;
490
+ Box: Box;
491
+ Circle: Circle;
492
+ Tube: Tube;
493
+ Ring: Ring;
494
+ AmbientLight: AmbientLight;
495
+ DirectionalLight: DirectionalLight;
496
+ PointLight: PointLight;
497
+ SpotLight: SpotLight;
498
+ HemisphereLight: HemisphereLight;
499
+ RectAreaLight: RectAreaLight;
500
+ Node: NodeObject;
501
+ ExtrudePolygon: ExtrudePolygonObject;
502
+ Line: LineObject;
503
+ Group: GroupObject;
504
+ }): Promise<void>;
505
+ rebuildFromScene(): Promise<void>;
513
506
  }
514
507
 
515
508
  declare class Earth_2 extends Sphere {
516
- options: Required<Options_12>;
517
- constructor(options: Options_12);
509
+ objectType: string;
510
+ options: Required<Options_10>;
511
+ constructor(options: Options_10);
518
512
  create(): void;
513
+ rebuildFromScene(): void;
519
514
  }
520
515
 
521
516
  declare interface EarthOptions extends BaseOptions {
@@ -527,66 +522,6 @@ declare interface EarthOptions extends BaseOptions {
527
522
  style?: 'chinaPlate' | 'countryPlate' | 'base';
528
523
  }
529
524
 
530
- declare class Editor {
531
- selected: BaseObject | null;
532
- playing: boolean;
533
- currentMaterialSlot: number;
534
- events: EventEmitter;
535
- history: History_2;
536
- viewport: Viewport;
537
- hooks: Hooks;
538
- config: Config;
539
- pencil: default_2;
540
- on: (type: string | number, listener: Listener) => EventEmitter;
541
- emit: (type: string | number, ...args: any[]) => boolean;
542
- options: Options_7;
543
- constructor(options: Options_7);
544
- getObjectMaterial(object?: THREE.Mesh | null, slot?: number): THREE.Material | THREE.Material[] | undefined;
545
- getMListFixBaseObjectByObject(object: THREE.Mesh, slot: number): any;
546
- materialObjectByUuid(uuid: string): any;
547
- uuidByMaterialObject(object: THREE.Object3D): any;
548
- setObjectMaterial(object: THREE.Mesh, slot: number, newMaterial: THREE.Material): void;
549
- uuidByObject(object: THREE.Object3D): string | undefined;
550
- objectByUuid(key: string): THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap> | undefined;
551
- uuidByBaseObject(object: BaseObject): string | undefined;
552
- baseObjectByUuid(key: `arc${string}`): Arc;
553
- baseObjectByUuid(key: `sprite${string}`): Sprite;
554
- baseObjectByUuid(key: string): BaseObject;
555
- baseObjectByName(name: string): BaseObject | undefined;
556
- private _selectOptionMaps;
557
- findSelectItem(key: any, val: any): SelectedMeta | undefined;
558
- selectOption: SelectedMeta[];
559
- changeSelectOption(): void;
560
- private _mListOptionsMaps;
561
- findMListSelectItem(key: any, val: any): any;
562
- mListOptions: {
563
- key: string;
564
- name: string;
565
- type: string;
566
- use: number;
567
- object: THREE.Mesh;
568
- material: THREE.Material;
569
- baseObject: BaseObject;
570
- }[];
571
- changeMListOptions(): never[] | undefined;
572
- execute(cmd: any, optionalName?: string): Promise<void>;
573
- private static urlCache;
574
- private static _loadingCount;
575
- /**
576
- * 清除特定 URL 的缓存
577
- * @param url 要清除的 URL,如果不提供则清除所有缓存
578
- */
579
- static clearUrlCache(url?: string): void;
580
- fromJSON(jsonOrUrl: Record<string, any> | string, hooks?: Record<string, any>): Promise<Record<string, any>>;
581
- appendJSON(jsonOrUrl: Record<string, any> | string): Promise<void>;
582
- toJSON(): {};
583
- select(...args: any[]): void;
584
- setViewportVis(...args: any[]): void;
585
- getDataURL(): string;
586
- _dispose: boolean;
587
- dispose(): void;
588
- }
589
-
590
525
  declare class Event_2 {
591
526
  event: EventEmitter;
592
527
  private eventHandlers;
@@ -635,17 +570,10 @@ export declare const getCityConfig: (adcode: number) => {
635
570
  jsonName: string;
636
571
  };
637
572
 
638
- /**
639
- * 获取地图配置
640
- * @param adcode 区域代码
641
- * @param options 配置选项
642
- */
643
- export declare const getMapConfig: (adcode: number, options?: MapConfigOptions) => Promise<any>;
644
-
645
573
  declare const getProjection: (options: {
646
574
  center: [number, number];
647
575
  scale: number;
648
- projectionType?: "equirectangular" | "mercator" | "winkel3";
576
+ projectionType?: "mercator" | "equirectangular" | "winkel3";
649
577
  translate?: [number, number];
650
578
  precision?: number;
651
579
  rotate?: [number, number];
@@ -654,162 +582,26 @@ declare const getProjection: (options: {
654
582
  declare const getProjection_2: (options: {
655
583
  center: [number, number];
656
584
  scale: number;
657
- projectionType?: "equirectangular" | "mercator" | "winkel3";
585
+ projectionType?: "mercator" | "equirectangular" | "winkel3";
658
586
  translate?: [number, number];
659
587
  precision?: number;
660
588
  rotate?: [number, number];
661
589
  }) => GeoProjection;
662
590
 
663
- declare class History_2 {
664
- editor: Editor;
665
- undos: any[];
666
- redos: any[];
667
- lastCmdTime: number;
668
- idCounter: number;
669
- historyDisabled: boolean;
670
- constructor(editor: Editor);
671
- /**
672
- * 检查两个命令是否可以合并
673
- */
674
- private canMergeCommands;
675
- execute(cmd: any, optionalName?: string): Promise<void>;
676
- undo(): any;
677
- redo(): any;
678
- /**
679
- * 处理图片数据,将ArrayBuffer转换为Base64字符串并建立引用映射
680
- */
681
- private processImageData;
682
- /**
683
- * 处理包含图片的命令
684
- */
685
- private processCommandWithImages;
686
- toJSON(): {
687
- u: any[];
688
- i: Record<string, string>;
689
- };
690
- /**
691
- * 处理图片引用,将引用字符串还原为实际URL或数据
692
- */
693
- private processImageReference;
694
- /**
695
- * 还原包含图片的命令数据
696
- */
697
- private restoreCommandImages;
698
- /**
699
- * 验证和规范化命令类型
700
- */
701
- private normalizeCommandType;
702
- /**
703
- * 创建命令实例
704
- */
705
- private createCommand;
706
- fromJSON(json: any): void;
707
- /**
708
- * 批量处理撤销操作,支持分帧执行以避免阻塞UI
709
- */
710
- processUndos(maxFrameTime?: number): Promise<string>;
711
- /**
712
- * 执行单个撤销命令
713
- */
714
- private executeUndo;
715
- /**
716
- * 清空所有历史记录
717
- */
718
- clear(): void;
719
- /**
720
- * 获取历史记录状态信息
721
- */
722
- getState(): {
723
- undoCount: number;
724
- redoCount: number;
725
- canUndo: boolean;
726
- canRedo: boolean;
727
- isDisabled: boolean;
728
- };
729
- /**
730
- * 启用/禁用历史记录功能
731
- */
732
- setEnabled(enabled: boolean): void;
733
- /**
734
- * 获取最后执行的命令
735
- */
736
- getLastCommand(): any;
737
- }
738
-
739
- declare class Hooks {
740
- editor: Editor;
741
- events: {
742
- beforeSetVisOptions: Function[];
743
- afterSetVisOptions: Function[];
744
- beforeExecuteUndo: Function[];
745
- afterExecuteUndo: Function[];
746
- beforeShow: Function[];
747
- afterShow: Function[];
748
- beforeFromJSON: Function[];
749
- afterFromJSON: Function[];
750
- errorFromJSON: Function[];
751
- };
752
- source: string;
753
- constructor(editor: Editor);
754
- addEvents(event: Record<string, Function>): void;
755
- addStaticEvents(func: Function): void;
756
- fromJSON(source: string): void;
757
- toJSON(): string;
758
- clear(): void;
759
- dispatch(type: keyof Hooks['events'], ...args: any[]): Promise<any>;
760
- }
761
-
762
- declare class Icosahedron extends BaseObject {
763
- create(): void;
764
- }
765
-
766
- declare class Lathe extends BaseObject {
767
- create(): void;
768
- }
769
-
770
- declare class Light extends Light_2 {
771
- constructor(options: any);
772
- update(delta: number, elapsed: number): void;
591
+ declare class HemisphereLight extends HemisphereLightObject {
773
592
  render(): void;
774
593
  }
775
594
 
595
+ /**
596
+ * 加载模板纹理图片,直接返回图片用于设置到材质上
597
+ */
598
+ export declare const loadTemplateImages: (templateId: string, adcode: number, base?: string, customTemplateConfigs?: Record<string, TemplateConfig>) => Promise<{
599
+ map?: HTMLImageElement;
600
+ emissiveMap?: HTMLImageElement;
601
+ }>;
602
+
776
603
  declare class Map_2 extends Base {
777
604
  static VisName: string;
778
- leadObjs: {
779
- PlaneMap: typeof PlaneMap;
780
- CityPlane: CityPlane;
781
- ContinentsBg: typeof ContinentsBg;
782
- Mountain: PlaneMap_2;
783
- Plane: Plane;
784
- CrossPlane: CrossPlane;
785
- PlaneShadow: PlaneShadow;
786
- Ring: Ring;
787
- Sphere: Sphere;
788
- Sprite: Sprite;
789
- Tetrahedron: Tetrahedron;
790
- Torus: Torus;
791
- TorusKnot: TorusKnot;
792
- Tube: Tube;
793
- Box: Box;
794
- Capsule: Capsule;
795
- Circle: Circle;
796
- Cylinder: Cylinder;
797
- Dodecahedron: Dodecahedron;
798
- Icosahedron: Icosahedron;
799
- Lathe: Lathe;
800
- Octahedron: Octahedron;
801
- Node: Node_2;
802
- Line: Line;
803
- Line2: Line2;
804
- ExtrudePolygon: typeof ExtrudePolygon;
805
- ConicPolygon: ConicPolygon;
806
- Group: typeof Group;
807
- Light: Light;
808
- Point: Point;
809
- Arc: Arc;
810
- Model: Model;
811
- };
812
- lead: Lead<typeof objs_4>;
813
605
  options: Required<MapCityOptions>;
814
606
  mapHistory: {
815
607
  map: PlaneMap;
@@ -858,14 +650,14 @@ declare class Map_2 extends Base {
858
650
  c: number[];
859
651
  b: number[];
860
652
  };
861
- get mapArea(): ExtrudePolygon[];
862
- get mapLine(): Line[];
653
+ get mapArea(): ExtrudePolygonObject[];
654
+ get mapLine(): LineObject[];
863
655
  get adcodes(): number[];
864
656
  activePlaneMap: PlaneMap | null;
865
657
  isAnimating: boolean;
866
658
  parentBg: PlaneMap[];
867
659
  continentsBg?: ContinentsBg;
868
- group: Group;
660
+ group: GroupObject;
869
661
  projection: ReturnType<typeof getProjection_2>;
870
662
  pcenter: [number, number];
871
663
  pscale: number;
@@ -873,13 +665,13 @@ declare class Map_2 extends Base {
873
665
  cityVis: city[];
874
666
  extendsOptions: Record<string, any>;
875
667
  setOptions(options: MapOptions): void;
876
- initSettingsObj: Record<string, any>;
877
- handleSetting(key: string, value: any): Promise<any>;
878
- init(): Promise<void>;
668
+ initGroup(): Promise<void>;
669
+ beforeInit(): Promise<void>;
670
+ afterInit(): Promise<void>;
879
671
  initCityVis(adcode: number, grey?: boolean): Promise<city>;
880
672
  initCityOnMap(adcode: number): Promise<void>;
881
673
  initVisBg(): Promise<void>;
882
- initVis(adcode: number): Promise<void>;
674
+ initVis(): Promise<void>;
883
675
  loaderAddBg(): void;
884
676
  initMaterialBg(): Promise<void>;
885
677
  consoleMousePostion(): void;
@@ -905,15 +697,12 @@ declare class Map_2 extends Base {
905
697
  caId: string | number | undefined;
906
698
  showAction(): Promise<void>;
907
699
  hide(): Promise<void>;
908
- shadowMapLight?: BaseObject;
909
- planeShadow?: BaseObject;
910
700
  shadowMapEnabled(): Promise<void>;
911
- shadowMapDisabled(): void;
912
701
  getOptionsDepth(adcode: number): number;
913
702
  getDepth(adcode: number, futureBox: number[]): number;
914
703
  getReferenceScale(bboxa: number[], bboxb: number[]): number;
915
704
  getAdcodeShowLevel(adcode: number, fix?: boolean): string | undefined;
916
- handleClick(area?: ExtrudePolygon): void;
705
+ handleClick(area?: ExtrudePolygonObject): void;
917
706
  beforeShowMap(adcodes: number[]): boolean;
918
707
  getAdcodes(adcode: number): number[];
919
708
  showMap({ adcode, adcodes: prevAdcodes, duration, }: {
@@ -937,14 +726,12 @@ declare class Map_2 extends Base {
937
726
  x: number;
938
727
  y: number;
939
728
  } | undefined;
940
- booleanPointInCn(location: [number, number]): boolean;
941
729
  /**
942
730
  * 判断经纬度是否在当前地图板块内
943
731
  * @param location - 经纬度坐标 [经度, 纬度]
944
- * @param adcode - 可选,指定板块的行政区划代码,不传则使用当前地图的adcode
945
732
  * @returns 是否在板块内
946
733
  */
947
- booleanPointInMap(location: [number, number], adcode?: number): boolean;
734
+ booleanPointInMap(location: [number, number]): boolean;
948
735
  private getGeojson;
949
736
  handleDrillDown({ adcode, duration, handleLook, saveBackCamvasState, extrudelineBloom, }: {
950
737
  adcode: number;
@@ -955,19 +742,18 @@ declare class Map_2 extends Base {
955
742
  }): Promise<void>;
956
743
  saveCamvasState(type: 'userControls' | 'controls', index: number): void;
957
744
  fixNear(adcode: number): void;
958
- fitTo(baseObject?: BaseObject, { polarAngle, azimuthAngle, referenceAngle, position, z, handleStart, adcode, enableTransition, }?: {
745
+ fitTo(obj?: BaseObject, { polarAngle, azimuthAngle, referenceAngle, z, handleStart, adcode, enableTransition, }?: {
959
746
  adcode?: number;
960
747
  polarAngle?: number;
961
748
  azimuthAngle?: number;
962
749
  referenceAngle?: [number, number, number, number, number, number];
963
750
  enableTransition?: boolean;
964
- position?: [number, number, number];
965
751
  z?: number;
966
752
  handleStart?: () => void;
967
753
  }): Promise<void>;
968
754
  drawPlaneMap({ geojson, extrudeLineGeojson, bbox, depth, extrudelineBloom, adcode, }: {
969
- geojson: GeoJSON_4;
970
- extrudeLineGeojson?: GeoJSON_4;
755
+ geojson: GeoJSON_3;
756
+ extrudeLineGeojson?: GeoJSON_3;
971
757
  bbox?: number[];
972
758
  depth: number;
973
759
  adcode: number;
@@ -995,6 +781,60 @@ declare class Map_2 extends Base {
995
781
  c: number[];
996
782
  b: number[];
997
783
  } | undefined;
784
+ /**
785
+ * 根据目标 adcode 更新 options 中依赖 adcode 的字段
786
+ */
787
+ private updateOptionsForAdcode;
788
+ /**
789
+ * 根据当前 options.center 重新计算投影
790
+ */
791
+ private updateProjection;
792
+ rebuildFromScene(): Promise<void>;
793
+ /**
794
+ * 快照:捕获 PlaneMap 上用户添加的叠加对象
795
+ */
796
+ private captureOverlayLayers;
797
+ private captureObjectMaterialKeys;
798
+ /**
799
+ * 根据快照在 PlaneMap 上恢复叠加层
800
+ */
801
+ private applyOverlayLayers;
802
+ private _templateAdcode;
803
+ /**
804
+ * 根据 switchFixConfig 对场景中的对象做位置/缩放修复
805
+ */
806
+ private applySwitchFixConfig;
807
+ switchAdcode(targetAdcode: number, key: string): Promise<false | undefined>;
808
+ restoreScene(str: string, objectsMap?: {
809
+ PlaneMap: typeof PlaneMap;
810
+ ContinentsBg: typeof ContinentsBg;
811
+ Mountain: Mountain;
812
+ CityPlane: CityPlane;
813
+ Area: Area;
814
+ Building: Building;
815
+ Road: Road;
816
+ Point: Point;
817
+ Arc: Arc;
818
+ Model: Model;
819
+ Plane: Plane;
820
+ PlaneShadow: PlaneShadow;
821
+ Sphere: Sphere;
822
+ Sprite: Sprite;
823
+ Box: Box;
824
+ Circle: Circle;
825
+ Tube: Tube;
826
+ Ring: Ring;
827
+ AmbientLight: AmbientLight;
828
+ DirectionalLight: DirectionalLight;
829
+ PointLight: PointLight;
830
+ SpotLight: SpotLight;
831
+ HemisphereLight: HemisphereLight;
832
+ RectAreaLight: RectAreaLight;
833
+ Node: NodeObject;
834
+ ExtrudePolygon: typeof ExtrudePolygonObject;
835
+ Line: LineObject;
836
+ Group: typeof GroupObject;
837
+ }): Promise<void>;
998
838
  dispose(): void;
999
839
  }
1000
840
  export { Map_2 as Map }
@@ -1013,20 +853,6 @@ declare interface MapCityOptions extends MapOptions {
1013
853
  citySSAO?: boolean;
1014
854
  }
1015
855
 
1016
- /**
1017
- * 地图配置选项接口
1018
- */
1019
- export declare interface MapConfigOptions {
1020
- /** 基础URL */
1021
- base?: string;
1022
- /** 之前的配置 */
1023
- prevConfig?: any;
1024
- /** 图像数组 */
1025
- imgArr?: string[] | Record<string, string>;
1026
- /** 自定义模板配置,会与默认配置合并 */
1027
- customTemplateConfigs?: Record<string, TemplateConfig>;
1028
- }
1029
-
1030
856
  export declare interface MapEventHandlers {
1031
857
  [key: string]: (...args: any[]) => void;
1032
858
  }
@@ -1073,6 +899,7 @@ export declare class MapManager {
1073
899
  b: number[];
1074
900
  } | undefined;
1075
901
  static extendsAdcodeAll: (cb: any) => void;
902
+ key: string;
1076
903
  constructor(config: MapManagerConfig);
1077
904
  /**
1078
905
  * 设置事件处理器
@@ -1098,10 +925,6 @@ export declare class MapManager {
1098
925
  * 创建地图实例
1099
926
  */
1100
927
  private createMapInstance;
1101
- /**
1102
- * 应用地图修复配置
1103
- */
1104
- private applyFixConfig;
1105
928
  /**
1106
929
  * 绑定区域交互事件
1107
930
  */
@@ -1142,6 +965,7 @@ export declare class MapManager {
1142
965
  }
1143
966
 
1144
967
  export declare interface MapManagerConfig {
968
+ key?: string;
1145
969
  container: HTMLDivElement;
1146
970
  controlsContainer?: HTMLDivElement;
1147
971
  assetsPrefix?: string;
@@ -1165,8 +989,6 @@ declare interface MapOptions extends BaseOptions {
1165
989
  mapDepth?: number[];
1166
990
  depthReference?: number[];
1167
991
  mapPadding?: number[];
1168
- geojsonMap?: Record<string, GeoJSON_4>;
1169
- extrudeLineGeojsonMap?: Record<string, GeoJSON_4>;
1170
992
  fixGeojson?: Record<string, string>;
1171
993
  plateInCenter?: boolean;
1172
994
  clickHandleDrillDown?: boolean;
@@ -1194,16 +1016,19 @@ declare interface MapOptions extends BaseOptions {
1194
1016
  style?: 'map2Base' | 'map2CityOnMap';
1195
1017
  bottomPlane?: boolean;
1196
1018
  bottomPlaneWater?: boolean;
1197
- geojsonExtensions?: Record<string, GeoJSON_4 | string | number | (GeoJSON_4 | string | number)[]>;
1019
+ geojsonExtensions?: Record<string, GeoJSON_3 | string | number | (GeoJSON_3 | string | number)[]>;
1020
+ shadowMap?: boolean;
1021
+ switchFixConfig?: SwitchFixConfig;
1198
1022
  }
1199
1023
 
1200
- declare class Model extends BaseObject {
1201
- options: Options_5;
1024
+ declare class Model extends GroupObject {
1025
+ options: Options_4;
1202
1026
  mixer: THREE.AnimationMixer | null;
1203
1027
  clips: THREE.AnimationClip[];
1204
1028
  actions: THREE.AnimationAction[];
1205
1029
  actionStates: Record<string, boolean>;
1206
- constructor(options: Options_5);
1030
+ objectType: string;
1031
+ constructor(options: Options_4);
1207
1032
  create(): Promise<void>;
1208
1033
  render(): void;
1209
1034
  /**
@@ -1258,144 +1083,19 @@ declare class Model extends BaseObject {
1258
1083
  dispose(): void;
1259
1084
  }
1260
1085
 
1261
- declare const objs: {
1262
- Plane: typeof Plane;
1263
- CrossPlane: typeof CrossPlane;
1264
- PlaneShadow: typeof PlaneShadow;
1265
- Ring: typeof Ring;
1266
- Sphere: typeof Sphere;
1267
- Sprite: typeof Sprite;
1268
- Tetrahedron: typeof Tetrahedron;
1269
- Torus: typeof Torus;
1270
- TorusKnot: typeof TorusKnot;
1271
- Tube: typeof Tube;
1272
- Box: typeof Box;
1273
- Capsule: typeof Capsule;
1274
- Circle: typeof Circle;
1275
- Cylinder: typeof Cylinder;
1276
- Dodecahedron: typeof Dodecahedron;
1277
- Icosahedron: typeof Icosahedron;
1278
- Lathe: typeof Lathe;
1279
- Octahedron: typeof Octahedron;
1280
- Node: typeof Node_2;
1281
- Line: typeof Line;
1282
- Line2: typeof Line2;
1283
- ExtrudePolygon: typeof ExtrudePolygon;
1284
- ConicPolygon: typeof ConicPolygon;
1285
- Group: typeof Group;
1286
- Light: typeof Light;
1287
- Point: typeof Point;
1288
- Arc: typeof Arc;
1289
- Model: typeof Model;
1290
- };
1291
-
1292
- declare const objs_2: {
1293
- Building: typeof Building;
1294
- Road: typeof Road;
1295
- Area: typeof Area;
1296
- CityPlane: typeof CityPlane;
1297
- Target: typeof Target;
1298
- Plane: Plane;
1299
- CrossPlane: CrossPlane;
1300
- PlaneShadow: PlaneShadow;
1301
- Ring: Ring;
1302
- Sphere: Sphere;
1303
- Sprite: Sprite;
1304
- Tetrahedron: Tetrahedron;
1305
- Torus: Torus;
1306
- TorusKnot: TorusKnot;
1307
- Tube: Tube;
1308
- Box: Box;
1309
- Capsule: Capsule;
1310
- Circle: Circle;
1311
- Cylinder: Cylinder;
1312
- Dodecahedron: Dodecahedron;
1313
- Icosahedron: Icosahedron;
1314
- Lathe: Lathe;
1315
- Octahedron: Octahedron;
1316
- Node: Node_2;
1317
- Line: Line;
1318
- Line2: Line2;
1319
- ExtrudePolygon: ExtrudePolygon;
1320
- ConicPolygon: ConicPolygon;
1321
- Group: Group;
1322
- Light: Light;
1323
- Point: Point;
1324
- Arc: Arc;
1325
- Model: Model;
1326
- };
1327
-
1328
- declare const objs_3: {
1329
- Earth: typeof Earth_2;
1330
- SphereShadow: typeof SphereShadow;
1331
- Countries: typeof PlaneMap;
1332
- Plane: Plane;
1333
- CrossPlane: CrossPlane;
1334
- PlaneShadow: PlaneShadow;
1335
- Ring: Ring;
1336
- Sphere: Sphere;
1337
- Sprite: Sprite;
1338
- Tetrahedron: Tetrahedron;
1339
- Torus: Torus;
1340
- TorusKnot: TorusKnot;
1341
- Tube: Tube;
1342
- Box: Box;
1343
- Capsule: Capsule;
1344
- Circle: Circle;
1345
- Cylinder: Cylinder;
1346
- Dodecahedron: Dodecahedron;
1347
- Icosahedron: Icosahedron;
1348
- Lathe: Lathe;
1349
- Octahedron: Octahedron;
1350
- Node: Node_2;
1351
- Line: Line;
1352
- Line2: Line2;
1353
- ExtrudePolygon: ExtrudePolygon;
1354
- ConicPolygon: ConicPolygon;
1355
- Group: Group;
1356
- Light: Light;
1357
- Point: Point;
1358
- Arc: Arc;
1359
- Model: Model;
1360
- };
1361
-
1362
- declare const objs_4: {
1363
- PlaneMap: typeof PlaneMap;
1364
- CityPlane: typeof CityPlane;
1365
- ContinentsBg: typeof ContinentsBg;
1366
- Mountain: typeof PlaneMap_2;
1367
- Plane: Plane;
1368
- CrossPlane: CrossPlane;
1369
- PlaneShadow: PlaneShadow;
1370
- Ring: Ring;
1371
- Sphere: Sphere;
1372
- Sprite: Sprite;
1373
- Tetrahedron: Tetrahedron;
1374
- Torus: Torus;
1375
- TorusKnot: TorusKnot;
1376
- Tube: Tube;
1377
- Box: Box;
1378
- Capsule: Capsule;
1379
- Circle: Circle;
1380
- Cylinder: Cylinder;
1381
- Dodecahedron: Dodecahedron;
1382
- Icosahedron: Icosahedron;
1383
- Lathe: Lathe;
1384
- Octahedron: Octahedron;
1385
- Node: Node_2;
1386
- Line: Line;
1387
- Line2: Line2;
1388
- ExtrudePolygon: ExtrudePolygon;
1389
- ConicPolygon: ConicPolygon;
1390
- Group: Group;
1391
- Light: Light;
1392
- Point: Point;
1393
- Arc: Arc;
1394
- Model: Model;
1395
- };
1396
-
1397
- declare class Octahedron extends BaseObject {
1398
- create(): void;
1086
+ declare class Mountain extends GroupObject {
1087
+ objectType: string;
1088
+ options: Required<Omit<Options_13, 'bbox'>> & Pick<Options_13, 'bbox'>;
1089
+ extrudePolygon: ExtrudePolygonObject;
1090
+ constructor(options: Options_13);
1091
+ geojson2Meta(geojson: GeoJSON_4): {
1092
+ coords: Position[][];
1093
+ properties: GeoJsonProperties;
1094
+ }[];
1095
+ create(): Promise<void>;
1096
+ setNoise(geometry: THREE.BufferGeometry, image: HTMLImageElement, maxHeight?: number): void;
1097
+ render(): void;
1098
+ rebuildFromScene(): void;
1399
1099
  }
1400
1100
 
1401
1101
  declare interface Opt {
@@ -1403,80 +1103,25 @@ declare interface Opt {
1403
1103
  }
1404
1104
 
1405
1105
  declare interface Options {
1406
- material?: THREE.Material;
1407
- key?: string;
1106
+ sprite?: boolean;
1408
1107
  }
1409
1108
 
1410
1109
  declare interface Options_10 {
1411
- jsonUrl: string;
1412
- projection: {
1413
- center: [number, number];
1414
- scale: number;
1415
- };
1416
- material: THREE.Material;
1417
- type: string;
1418
- cacheKey?: string;
1419
- oArr?: number[];
1420
- }
1421
-
1422
- declare interface Options_11 {
1423
- width: number;
1424
- height: number;
1425
- material?: THREE.Material;
1426
- color?: string;
1427
- map?: THREE.Texture | null;
1428
- }
1429
-
1430
- declare interface Options_12 {
1431
1110
  radius?: number;
1432
1111
  rotationY?: number;
1433
1112
  }
1434
1113
 
1435
- declare interface Options_13 {
1114
+ declare interface Options_11 {
1436
1115
  radius?: number;
1437
1116
  }
1438
1117
 
1439
- declare interface Options_14 {
1440
- areaGroup?: boolean;
1441
- geojson: GeoJSON_2;
1442
- projection?: {
1443
- center: [number, number];
1444
- scale: number;
1445
- rotate?: [number, number];
1446
- projectionType?: 'mercator' | 'equirectangular' | 'winkel3';
1447
- };
1448
- extrudeLineGeojson?: GeoJSON_2;
1449
- hasSide?: boolean;
1450
- hasTop?: boolean;
1451
- mergeSide?: boolean;
1452
- hasLine?: boolean;
1453
- start?: number;
1454
- depth?: number;
1455
- lineOffset?: number;
1456
- bbox?: number[];
1457
- topSegments?: number;
1458
- conic?: boolean;
1459
- materialOptions: {
1460
- topMat: THREE.Material;
1461
- sideMat?: THREE.Material;
1462
- lineMat?: MeshLineMaterial;
1463
- extrudeLineMat?: MeshLineMaterial;
1464
- bgTopMat?: THREE.Material;
1465
- bgSideMat?: THREE.Material;
1466
- bgLineMat?: MeshLineMaterial;
1467
- bgExtrudeLineMat?: MeshLineMaterial;
1468
- };
1469
- onTop?: number;
1470
- bloom?: boolean;
1471
- }
1472
-
1473
- declare interface Options_15 {
1118
+ declare interface Options_12 {
1474
1119
  scale: number;
1475
1120
  depth: number;
1476
1121
  }
1477
1122
 
1478
- declare interface Options_16 {
1479
- geojson: GeoJSON_3;
1123
+ declare interface Options_13 {
1124
+ geojson: GeoJSON_4;
1480
1125
  projection: {
1481
1126
  center: [number, number];
1482
1127
  scale: number;
@@ -1487,44 +1132,32 @@ declare interface Options_16 {
1487
1132
  bbox?: number[];
1488
1133
  }
1489
1134
 
1490
- declare interface Options_2 {
1491
- path?: THREE.Curve<THREE.Vector3>;
1492
- radius?: number;
1493
- multiplyScalar?: number;
1494
- }
1495
-
1496
- declare interface Options_3 {
1497
- sprite?: boolean;
1498
- }
1499
-
1500
- declare interface Options_4 {
1135
+ declare interface Options_2 extends NonNullable<ConstructorParameters<typeof LineObject>[0]> {
1501
1136
  from: number[];
1502
1137
  to: number[];
1138
+ control1?: number[];
1139
+ control2?: number[];
1503
1140
  radius?: number;
1504
1141
  globe?: boolean;
1505
1142
  color?: string;
1506
1143
  lineWidth?: number;
1507
1144
  offsetLoop?: boolean;
1508
- key?: string;
1509
1145
  }
1510
1146
 
1511
- declare interface Options_5 {
1147
+ declare interface Options_3 {
1148
+ path?: THREE.Curve<THREE.Vector3>;
1149
+ radius?: number;
1150
+ multiplyScalar?: number;
1151
+ }
1152
+
1153
+ declare interface Options_4 {
1512
1154
  src?: string;
1513
1155
  autoPlay?: boolean;
1514
1156
  playbackSpeed?: number;
1515
1157
  }
1516
1158
 
1517
- declare interface Options_6 {
1518
- visFactories?: Base;
1519
- }
1520
-
1521
- declare interface Options_7 {
1522
- visFactories?: Base;
1523
- assetsPrefix?: string;
1524
- processUndosMaxFrameTime?: number;
1525
- }
1526
-
1527
- declare interface Options_8 {
1159
+ declare interface Options_5 {
1160
+ uuid?: string;
1528
1161
  jsonUrl: string;
1529
1162
  projection: {
1530
1163
  center: [number, number];
@@ -1538,7 +1171,8 @@ declare interface Options_8 {
1538
1171
  grey?: boolean;
1539
1172
  }
1540
1173
 
1541
- declare interface Options_9 {
1174
+ declare interface Options_6 {
1175
+ uuid?: string;
1542
1176
  jsonUrl: string;
1543
1177
  projection: {
1544
1178
  center: [number, number];
@@ -1549,20 +1183,78 @@ declare interface Options_9 {
1549
1183
  grey?: boolean;
1550
1184
  }
1551
1185
 
1552
- declare class Plane extends BaseObject {
1186
+ declare interface Options_7 {
1187
+ uuid?: string;
1188
+ jsonUrl: string;
1189
+ projection: {
1190
+ center: [number, number];
1191
+ scale: number;
1192
+ };
1193
+ material: THREE.Material;
1194
+ type: string;
1195
+ cacheKey?: string;
1196
+ oArr?: number[];
1197
+ }
1198
+
1199
+ declare interface Options_8 {
1200
+ width: number;
1201
+ height: number;
1202
+ material?: THREE.Material;
1203
+ color?: string;
1204
+ map?: THREE.Texture | null;
1205
+ }
1206
+
1207
+ declare interface Options_9 {
1208
+ uuid?: string;
1209
+ areaGroup?: boolean;
1210
+ geojson: GeoJSON_2;
1211
+ projection?: {
1212
+ center: [number, number];
1213
+ scale: number;
1214
+ rotate?: [number, number];
1215
+ projectionType?: 'mercator' | 'equirectangular' | 'winkel3';
1216
+ };
1217
+ extrudeLineGeojson?: GeoJSON_2;
1218
+ hasSide?: boolean;
1219
+ hasTop?: boolean;
1220
+ mergeSide?: boolean;
1221
+ hasLine?: boolean;
1222
+ start?: number;
1223
+ depth?: number;
1224
+ lineOffset?: number;
1225
+ bbox?: number[];
1226
+ topSegments?: number;
1227
+ conic?: boolean;
1228
+ materialOptions: {
1229
+ topMat: THREE.Material;
1230
+ sideMat?: THREE.Material;
1231
+ lineMat?: MeshLineMaterial;
1232
+ extrudeLineMat?: MeshLineMaterial;
1233
+ bgTopMat?: THREE.Material;
1234
+ bgSideMat?: THREE.Material;
1235
+ bgLineMat?: MeshLineMaterial;
1236
+ bgExtrudeLineMat?: MeshLineMaterial;
1237
+ };
1238
+ onTop?: number;
1239
+ bloom?: boolean;
1240
+ }
1241
+
1242
+ declare class Plane extends MeshObject {
1243
+ objectType: string;
1553
1244
  create(): void;
1554
1245
  }
1555
1246
 
1556
- declare class PlaneMap extends BaseObject {
1557
- options: Required<Omit<Options_14, 'bbox' | 'extrudeLineGeojson'>> & Pick<Options_14, 'bbox' | 'extrudeLineGeojson'>;
1247
+ declare class PlaneMap extends GroupObject {
1248
+ objectType: string;
1249
+ options: Required<Omit<Options_9, 'bbox' | 'extrudeLineGeojson'>> & Pick<Options_9, 'bbox' | 'extrudeLineGeojson'>;
1558
1250
  isActive: boolean;
1559
- groupArr: Group[];
1560
- areaArr: ExtrudePolygon[];
1561
- lineArr: Line[];
1562
- mergeSideArea: ExtrudePolygon | null;
1563
- extrudelineArr?: Line[];
1251
+ groupArr: GroupObject[];
1252
+ areaArr: ExtrudePolygonObject[];
1253
+ lineArr: LineObject[];
1254
+ mergeSideArea: ExtrudePolygonObject | null;
1255
+ extrudelineArr?: LineObject[];
1564
1256
  splitPolygons: number;
1565
- constructor(options: Options_14);
1257
+ constructor(options: Options_9);
1566
1258
  create(): Promise<void>;
1567
1259
  addArea(geojson: GeoJSON_2, options: {
1568
1260
  material: THREE.Material | THREE.Material[];
@@ -1572,19 +1264,19 @@ declare class PlaneMap extends BaseObject {
1572
1264
  hasTop?: boolean;
1573
1265
  onTop?: number;
1574
1266
  castShadow?: boolean;
1575
- }): Promise<ExtrudePolygon[]>;
1267
+ }): Promise<ExtrudePolygonObject[]>;
1576
1268
  addLine(geojson: GeoJSON_2, options: {
1577
1269
  material?: MeshLineMaterial;
1578
1270
  onTop?: number;
1579
1271
  areaGroup?: boolean;
1580
- }): Promise<Line[]>;
1272
+ }): Promise<LineObject[]>;
1581
1273
  getPropertiesKey(properties: Record<string, any>): string;
1582
1274
  geojson2Meta(geojson: GeoJSON_2): {
1583
1275
  coords: Position[][];
1584
1276
  properties: GeoJsonProperties;
1585
1277
  }[];
1586
1278
  update(delta: number, elapsed: number): void;
1587
- findGroup(adcode: string | number, fix?: boolean): Group | undefined;
1279
+ findGroup(adcode: string | number, fix?: boolean): GroupObject | undefined;
1588
1280
  setAreaMaterial(key: string, material: THREE.Material[] | THREE.Material): void;
1589
1281
  useAreaMaterial(key: string): void;
1590
1282
  setLineMaterial(key: string, material: THREE.Material): void;
@@ -1597,55 +1289,51 @@ declare class PlaneMap extends BaseObject {
1597
1289
  }): void;
1598
1290
  deactive(): void;
1599
1291
  render(): void;
1292
+ rebuildFromScene(): void;
1600
1293
  toggleExtrudelineBloom(s: boolean): void;
1601
1294
  active(): void;
1602
1295
  dispose(): void;
1603
1296
  }
1604
1297
 
1605
- declare class PlaneMap_2 extends BaseObject {
1606
- options: Required<Omit<Options_16, 'bbox'>> & Pick<Options_16, 'bbox'>;
1607
- extrudePolygon: ExtrudePolygon;
1608
- constructor(options: Options_16);
1609
- geojson2Meta(geojson: GeoJSON_3): {
1610
- coords: Position[][];
1611
- properties: GeoJsonProperties;
1612
- }[];
1613
- create(): Promise<void>;
1614
- setNoise(geometry: THREE.BufferGeometry, image: HTMLImageElement, maxHeight?: number): void;
1615
- render(): void;
1616
- dispose(): void;
1617
- }
1618
-
1619
- declare class PlaneShadow extends BaseObject {
1298
+ declare class PlaneShadow extends MeshObject {
1299
+ objectType: string;
1620
1300
  create(): Promise<void>;
1621
1301
  }
1622
1302
 
1623
1303
  declare class Point extends BaseObject {
1624
- options: Options_3;
1625
- constructor(options: Options_3);
1626
- get material(): THREE.SpriteMaterial | THREE.MeshBasicMaterial;
1627
- getMaterial(): THREE.SpriteMaterial | THREE.MeshBasicMaterial;
1304
+ objectType: string;
1305
+ options: Options;
1306
+ constructor(options: Options);
1307
+ get material(): THREE.MeshBasicMaterial | THREE.SpriteMaterial;
1308
+ getMaterial(): THREE.MeshBasicMaterial | THREE.SpriteMaterial;
1628
1309
  create(): Promise<void>;
1629
1310
  scaleValue: number;
1630
1311
  setScale(n: number): void;
1631
1312
  }
1632
1313
 
1633
- /**
1634
- * 移除摄像机历史记录
1635
- * @param u 历史记录数组
1636
- */
1637
- export declare const removeCameraHistory: (u: any) => any;
1314
+ declare class PointLight extends PointLightObject {
1315
+ constructor(...options: ConstructorParameters<typeof PointLightObject>);
1316
+ update(delta: number, elapsed: number): void;
1317
+ render(): void;
1318
+ }
1319
+
1320
+ declare class RectAreaLight extends RectAreaLightObject {
1321
+ render(): void;
1322
+ }
1638
1323
 
1639
- declare class Ring extends BaseObject {
1324
+ declare class Ring extends MeshObject {
1325
+ objectType: string;
1640
1326
  create(): void;
1641
1327
  }
1642
1328
 
1643
- declare class Road extends BaseObject {
1644
- options: Options_9;
1645
- constructor(options: Options_9);
1646
- linePrimary: Line[];
1647
- lineSecondary: Line[];
1329
+ declare class Road extends GroupObject {
1330
+ objectType: string;
1331
+ options: Options_6;
1332
+ constructor(options: Options_6);
1333
+ linePrimary: LineObject[];
1334
+ lineSecondary: LineObject[];
1648
1335
  create(): Promise<void>;
1336
+ rebuildFromScene(): void;
1649
1337
  dispose(): void;
1650
1338
  }
1651
1339
 
@@ -1677,25 +1365,49 @@ declare const sinusoidalInOut: ({ onUpdate, onComplete, backwards, }?: {
1677
1365
  stop: () => void;
1678
1366
  };
1679
1367
 
1680
- declare class Sphere extends BaseObject {
1368
+ declare class Sphere extends MeshObject {
1681
1369
  radius: number;
1682
- material?: THREE.Material;
1683
- options?: any;
1370
+ options: any;
1371
+ objectType: string;
1372
+ constructor(options: any);
1684
1373
  create(): void;
1685
1374
  }
1686
1375
 
1687
- declare class SphereShadow extends BaseObject {
1688
- options: Required<Options_13>;
1689
- constructor(options: Options_13);
1376
+ declare class SphereShadow extends MeshObject {
1377
+ objectType: string;
1378
+ options: Required<Options_11>;
1379
+ constructor(options: Options_11);
1690
1380
  create(): Promise<void>;
1381
+ rebuildFromScene(): void;
1382
+ }
1383
+
1384
+ declare class SpotLight extends SpotLightObject {
1385
+ constructor(...options: ConstructorParameters<typeof SpotLightObject>);
1386
+ update(delta: number, elapsed: number): void;
1387
+ render(): void;
1691
1388
  }
1692
1389
 
1693
- declare class Sprite extends BaseObject {
1390
+ declare class Sprite extends SpriteObject {
1391
+ objectType: string;
1694
1392
  create(): void;
1695
1393
  setDesiredPixelSize(size: number): void;
1696
1394
  }
1697
1395
 
1698
- declare class Target extends BaseObject {
1396
+ declare interface SwitchFixConfig {
1397
+ /** 按参考缩放比缩放,并移到地图中心 */
1398
+ s?: string[];
1399
+ /** z 位置按缩放比缩放 */
1400
+ z?: string[];
1401
+ /** 移到地图顶面 */
1402
+ t?: string[];
1403
+ /** 移到地图底面 */
1404
+ b?: string[];
1405
+ /** 灯光按缩放比调整 */
1406
+ l?: string[];
1407
+ }
1408
+
1409
+ declare class Target extends GroupObject {
1410
+ objectType: string;
1699
1411
  options: Opt;
1700
1412
  time: {
1701
1413
  value: number;
@@ -1710,6 +1422,7 @@ declare class Target extends BaseObject {
1710
1422
  createCylinder(texture: THREE.Texture): THREE.Object3D<THREE.Object3DEventMap>;
1711
1423
  createTorus(color: string): THREE.Mesh<THREE.TorusGeometry, THREE.MeshBasicMaterial, THREE.Object3DEventMap>;
1712
1424
  create(): Promise<void>;
1425
+ rebuildFromScene(): void;
1713
1426
  erase(): void;
1714
1427
  update(delta: number, elapsed: number): void;
1715
1428
  }
@@ -1719,32 +1432,19 @@ declare class Target extends BaseObject {
1719
1432
  */
1720
1433
  declare interface TemplateConfig {
1721
1434
  id: string;
1722
- mapIndex?: number;
1723
- mapId?: string;
1724
- emissiveMapIndex?: number;
1725
- emmisiveMapId?: string;
1435
+ map?: boolean;
1436
+ emissiveMap?: boolean;
1726
1437
  cityOnly?: boolean;
1727
1438
  }
1728
1439
 
1729
- declare class Tetrahedron extends BaseObject {
1730
- create(): void;
1731
- }
1732
-
1733
1440
  export { THREE }
1734
1441
 
1735
1442
  declare const timeOut: (ms: number) => Promise<any>;
1736
1443
 
1737
- declare class Torus extends BaseObject {
1738
- create(): void;
1739
- }
1740
-
1741
- declare class TorusKnot extends BaseObject {
1742
- create(): void;
1743
- }
1744
-
1745
- declare class Tube extends BaseObject {
1746
- options: Options_2;
1747
- constructor(options: Options_2);
1444
+ declare class Tube extends MeshObject {
1445
+ objectType: string;
1446
+ options: Options_3;
1447
+ constructor(options: Options_3);
1748
1448
  create(): void;
1749
1449
  }
1750
1450
 
@@ -1752,45 +1452,7 @@ export { TWEEN }
1752
1452
 
1753
1453
  export { Tween }
1754
1454
 
1755
- export declare const VERSION = "0.30.14";
1756
-
1757
- declare class Viewport {
1758
- editor: Editor;
1759
- vis?: Base;
1760
- extendsOptions: Record<string, any>;
1761
- cameraState: Record<string, number[]>;
1762
- delLoadObj?: string[];
1763
- options: Options_6;
1764
- constructor(editor: Editor, options: Options_6);
1765
- setSaveCamera(type: string): void;
1766
- addVis(type: string, options?: Record<string, any>): Promise<void>;
1767
- replaceVis(): boolean;
1768
- setVis(type: string, options?: Record<string, any>): Promise<void>;
1769
- setResetCameraUp(): void;
1770
- initEvent(): void;
1771
- addObj(type: string, options?: Record<string, any>): Promise<void>;
1772
- removeObj(uuid?: string): Promise<void>;
1773
- private copyObjKey;
1774
- copyObj(key: string): void;
1775
- clearCopyObj(): void;
1776
- pasteObj(): Promise<void>;
1777
- copyMListMaterial(key: string): Promise<void>;
1778
- clearCopyMListMaterial(): Promise<void>;
1779
- pasteMListMaterial(): Promise<void>;
1780
- pasteMListMaterial2Replace(replaceKey: string): Promise<void>;
1781
- addMListMaterial(material?: string | Record<string, any>, object3d?: THREE.Mesh, slot?: number): Promise<string | undefined>;
1782
- removeMListMaterial(key: string): Promise<void>;
1783
- setExtendsOptions(name: string, value: any): void;
1784
- toJSON(): {
1785
- eo: Record<string, any>;
1786
- cs: Record<string, number[]>;
1787
- delLoadObj: string[] | undefined;
1788
- };
1789
- fromJSON(json: any): void;
1790
- getLoadObj(): string[];
1791
- setTransformControlsModal(modal: 'translate' | 'rotate' | 'scale'): void;
1792
- dispose(): void;
1793
- }
1455
+ export declare const VERSION = "0.31.0";
1794
1456
 
1795
1457
  export { }
1796
1458