@maptalks/3dtiles 0.100.0 → 0.102.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.
@@ -1,15 +1,35 @@
1
+ /// <reference types="gl-matrix/index.js" />
1
2
  /*!
2
- * @maptalks/3dtiles v0.100.0
3
+ * @maptalks/3dtiles v0.102.0
3
4
  * LICENSE : UNLICENSED
4
5
  * (c) 2016-2024 maptalks.org
5
6
  */
6
7
  import * as maptalks from 'maptalks';
7
8
  import { LayerJSONType } from 'maptalks';
8
- import { ClipOutsideMask } from '@maptalks/gl';
9
+ import { mat4 } from '@maptalks/gl';
9
10
  import { vec3 } from 'gl-matrix';
10
11
 
11
- type BBOX = [number, number, number, number];
12
- declare const Geo3DTilesLayer_base: any;
12
+ declare const Geo3DTilesLayer_base: (new (...args: any[]) => {
13
+ _maskProjViewMatrix: number[];
14
+ _maskExtentInWorld: [number, number, number, number];
15
+ removeMask(masks: any): any;
16
+ setMask(masks: any): any;
17
+ onAdd(): void;
18
+ getMasks(): any;
19
+ onGeometryEvent(param: any): void;
20
+ identifyMask(point: any, options: any): any[];
21
+ remove(): void;
22
+ updateMask(extent: any): {
23
+ projViewMatrix: number[];
24
+ extentInWorld: [number, number, number, number];
25
+ };
26
+ updateMaskExtent(type: string): void;
27
+ getMaskExtent(): {
28
+ extent: maptalks.Extent;
29
+ ratio: number;
30
+ minHeight: any;
31
+ };
32
+ }) & typeof maptalks.Layer;
13
33
  /**
14
34
  * A layer to stream AnalyticalGraphicsInc's 3d-tiles geospatial data
15
35
  * 3d-tiles 规范:https://github.com/AnalyticalGraphicsInc/3d-tiles/
@@ -22,6 +42,8 @@ declare class Geo3DTilesLayer extends Geo3DTilesLayer_base {
22
42
  * @param layerJSON - layer's profile JSON
23
43
  */
24
44
  static fromJSON(layerJSON: object): Geo3DTilesLayer | null;
45
+ static getEnuTransform(coordinate: [number, number, number], scale?: [number, number, number], rotation?: [number, number, number]): mat4;
46
+ isGeo3DTilesLayer: boolean;
25
47
  options: Geo3DTilesLayerOptions;
26
48
  constructor(id: string, options: Geo3DTilesLayerOptions);
27
49
  showService(idx: number): this;
@@ -37,7 +59,6 @@ declare class Geo3DTilesLayer extends Geo3DTilesLayer_base {
37
59
  getTiles(): QueriedTiles;
38
60
  onTileLoad(tile: TileNode, node: TileNode): void;
39
61
  onTilesetLoad(tileset: any, parent: TileNode, url: string): void;
40
- _isVisible(node: TileNode, maxExtent: maptalks.Extent, projectionView: number[], mapExtentBBOX: BBOX, clipMasks: ClipOutsideMask[]): TileVisibility;
41
62
  /**
42
63
  * Identify the data on the given coordinate
43
64
  * @param point - point to identify
@@ -82,6 +103,7 @@ type Geo3DTilesLayerOptions = {
82
103
  'i3sNodepageLimitPerFrame'?: number;
83
104
  'enableI3SCompressedGeometry'?: boolean;
84
105
  'forceI3SCompressedGeometry'?: boolean;
106
+ 'onlyCacheNoContentTileWhenError'?: boolean;
85
107
  'picking'?: boolean;
86
108
  'pickingPoint'?: boolean;
87
109
  'geometryEvents'?: boolean;
@@ -144,12 +166,18 @@ type Geo3DTilesServiceOptions = {
144
166
  * Set alphaTest in material, default is 0.1
145
167
  */
146
168
  alphaTest?: number;
169
+ /**
170
+ * 模型在ECEF坐标系下的转换矩阵,优先级比rotation,scale,coordOffset和heightOffset更高
171
+ * @english
172
+ * Model's transform matrix in ECEF coordinate system, Higher priority than rotation, scale, coordinateOffset and heightOffset
173
+ */
174
+ ecefTransform?: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number];
147
175
  /**
148
176
  * 模型的缩放比例
149
177
  * @english
150
178
  * Model scaling
151
179
  */
152
- scale?: number;
180
+ scale?: number | [number, number, number];
153
181
  /**
154
182
  * 模型在xy平面上的偏移量,与地图的坐标系一致。
155
183
  * @english
@@ -238,6 +266,12 @@ type Geo3DTilesServiceOptions = {
238
266
  * The preset value of the material uniforms
239
267
  */
240
268
  material?: any;
269
+ /**
270
+ * 如果模型没有法线属性数据,则为其创建
271
+ * @english
272
+ * Create normal attribute for models if it's missing
273
+ */
274
+ createNormalIfMissed?: boolean;
241
275
  };
242
276
  type TileNode = {
243
277
  id?: string;
@@ -305,11 +339,6 @@ type QueriedTiles = {
305
339
  tiles: CandinateNode[];
306
340
  root?: CandinateNode;
307
341
  };
308
- declare enum TileVisibility {
309
- OUT_OF_FRUSTUM = 0,
310
- SCREEN_ERROR_TOO_SMALL = 1,
311
- VISIBLE = 2
312
- }
313
342
 
314
343
  declare function isNil(v: any): boolean;
315
344
  declare function extend(dest: any, ...args: any[]): any;