@ino-cesium/layers 0.0.9 → 0.0.11
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 +39 -6
- package/dist/index.js +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as cesium from 'cesium';
|
|
2
|
-
import { Viewer, Cesium3DTileset, CesiumTerrainProvider } from 'cesium';
|
|
2
|
+
import { Viewer, Cesium3DTileset, Cartesian3, CesiumTerrainProvider, I3SDataProvider } from 'cesium';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
*
|
|
@@ -13,13 +13,34 @@ declare const loadTianDiTu: (viewer: Viewer, token: string) => {
|
|
|
13
13
|
remove: () => void;
|
|
14
14
|
};
|
|
15
15
|
|
|
16
|
-
declare const load3dTiles: (
|
|
16
|
+
declare const load3dTiles: (lOptions: ILoad3dtilesOptions) => Promise<{
|
|
17
17
|
tileset: Cesium3DTileset;
|
|
18
18
|
setHeightOffset: (heightOffset: number) => void;
|
|
19
|
-
remove: (
|
|
19
|
+
remove: () => void;
|
|
20
|
+
flyTo: () => void;
|
|
20
21
|
}>;
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
/**
|
|
23
|
+
* 设置3dTiles的偏移高度
|
|
24
|
+
* @param tileset
|
|
25
|
+
* @param heightOffset
|
|
26
|
+
*/
|
|
27
|
+
declare const setHeightOffsetFor3dTiles: (tileset: Cesium3DTileset, heightOffset: number) => void;
|
|
28
|
+
declare const getAllFeaturesFrom3dTiles: (tileset: Cesium3DTileset) => Promise<unknown>;
|
|
29
|
+
declare const getAllTilesFrom3dTiles: (tileset: Cesium3DTileset) => Promise<unknown>;
|
|
30
|
+
interface ILoad3dtilesOptions {
|
|
31
|
+
viewer: Viewer;
|
|
32
|
+
url: string;
|
|
33
|
+
options: Cesium3DTileset.ConstructorOptions;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* 3dTiles的坐标变换
|
|
37
|
+
* 平移、缩放、旋转
|
|
38
|
+
*/
|
|
39
|
+
declare const TransformsFor3dtiles: {
|
|
40
|
+
translate: (tileset: Cesium3DTileset, translate: Cartesian3) => void;
|
|
41
|
+
scale: (tileset: Cesium3DTileset, scale: Cartesian3) => void;
|
|
42
|
+
rotate: (tileset: Cesium3DTileset, rotate: Cartesian3) => void;
|
|
43
|
+
};
|
|
23
44
|
|
|
24
45
|
/**
|
|
25
46
|
* 加载地形
|
|
@@ -41,4 +62,16 @@ declare const loadModel: () => void;
|
|
|
41
62
|
*/
|
|
42
63
|
declare const loads3m: () => void;
|
|
43
64
|
|
|
44
|
-
|
|
65
|
+
declare const loadI3s: (lOptions: ILoadI3sOptions) => Promise<{
|
|
66
|
+
i3sData: I3SDataProvider;
|
|
67
|
+
setHeightOffset: (heightOffset: number) => void;
|
|
68
|
+
remove: () => void;
|
|
69
|
+
flyTo: () => void;
|
|
70
|
+
}>;
|
|
71
|
+
interface ILoadI3sOptions {
|
|
72
|
+
viewer: Viewer;
|
|
73
|
+
url: string;
|
|
74
|
+
options: I3SDataProvider.ConstructorOptions;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export { TransformsFor3dtiles, getAllFeaturesFrom3dTiles, getAllTilesFrom3dTiles, load3dTiles, loadI3s, loadModel, loadTerrain, loadTerrainFromCesium, loadTianDiTu, loads3m, removeTerrain, setHeightOffsetFor3dTiles };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{WebMapTileServiceImageryProvider as e,Cesium3DTileset as
|
|
1
|
+
import{WebMapTileServiceImageryProvider as e,Cesium3DTileset as t,Cartesian3 as r,Transforms as o,Matrix4 as i,Matrix3 as a,Math as n,CesiumTerrainProvider as s,EllipsoidTerrainProvider as l,I3SDataProvider as m}from"cesium";const c=(t,r)=>{const o=t.imageryLayers.addImageryProvider(new e({url:`//t{s}.tianditu.gov.cn/img_w/wmts?tk=${r}`,layer:"img",style:"default",tileMatrixSetID:"w",format:"tiles",maximumLevel:18,subdomains:["0","1","2","3","4","5","6","7"]})),i=t.imageryLayers.addImageryProvider(new e({url:`//t{s}.tianditu.gov.cn/cia_w/wmts?tk=${r}`,layer:"cia",style:"default",tileMatrixSetID:"w",format:"tiles",maximumLevel:18,subdomains:["0","1","2","3","4","5","6","7"]}));return{layers:[o,i],remove:()=>{t.imageryLayers.remove(o),t.imageryLayers.remove(i)}}},u={cacheBytes:4294967296,maximumCacheOverflowBytes:5368709120},d=async e=>{const{viewer:r,url:o,options:i}=e,a=await t.fromUrl(o,{...u,...i});r.scene.primitives.add(a);return{tileset:a,setHeightOffset:e=>{f(a,e)},remove:()=>{r.scene.primitives.remove(a)},flyTo:()=>{r.flyTo(a)}}},f=(e,t)=>{p(e,r.fromElements(0,0,t,new r))},y=async e=>{const t=[];function r(e){if(console.log(e),!e.content||!e.content.featuresLength)return;const o=e.content;for(let e=0;e<o.featuresLength;e++)t.push(o.getFeature(e));e.children?.forEach(r)}return new Promise((o=>{e.allTilesLoaded.addEventListener((()=>{r(e.root),o(t)}))}))},w=e=>{const t=[];function r(e){t.push(e),e.children?.forEach(r)}return new Promise((o=>{e.allTilesLoaded.addEventListener((()=>{r(e.root),o(t)}))}))},p=(e,t)=>{if(t.equals(r.ZERO))return;const a=e.boundingSphere.center,n=o.eastNorthUpToFixedFrame(a),s=i.multiplyByPoint(n,t,new r),l=r.subtract(s,a,new r),m=i.fromTranslation(l);e.modelMatrix=i.multiply(m,e.modelMatrix,new i)},v={translate:p,scale:(e,t)=>{if(t.equals(r.ZERO)||t.equals(r.ONE))return;const a=e.boundingSphere.center,n=o.eastNorthUpToFixedFrame(a),s=i.inverse(n,new i),l=i.fromScale(t),m=i.multiply(l,s,new i),c=i.multiply(n,m,new i);e.modelMatrix=i.multiply(c,e.modelMatrix,new i)},rotate:(e,t)=>{const{x:r,y:s,z:l}=t,m=e.boundingSphere.center,c=o.eastNorthUpToFixedFrame(m),u=i.inverse(c,new i),d=i.clone(i.IDENTITY);if(0!==r){const e=i.fromRotation(a.fromRotationX(n.toRadians(r)));i.multiply(e,d,d)}if(0!==s){const e=i.fromRotation(a.fromRotationY(n.toRadians(s)));i.multiply(e,d,d)}if(0!==l){const e=i.fromRotation(a.fromRotationZ(n.toRadians(l)));i.multiply(e,d,d)}const f=i.multiply(d,u,new i),y=i.multiply(c,f,new i);e.modelMatrix=i.multiply(y,e.modelMatrix,new i)}},h=async e=>await s.fromUrl(e,{requestWaterMask:!0,requestVertexNormals:!0}),g=e=>{e.terrainProvider=new l},x=async()=>await s.fromIonAssetId(1,{requestWaterMask:!0,requestVertexNormals:!0}),L=()=>{},R=()=>{},T=async e=>{const{viewer:t,url:r,options:o}=e,i=await m.fromUrl(r,o);t.scene.primitives.add(i);return{i3sData:i,setHeightOffset:e=>{i.layers.forEach((t=>{const r=t.tileset;r&&f(r,e)}))},remove:()=>{t.scene.primitives.remove(i)},flyTo:()=>{t.camera.flyTo({destination:i.extent,orientation:{heading:0,pitch:n.toRadians(-90),roll:0}})}}};export{v as TransformsFor3dtiles,y as getAllFeaturesFrom3dTiles,w as getAllTilesFrom3dTiles,d as load3dTiles,T as loadI3s,L as loadModel,h as loadTerrain,x as loadTerrainFromCesium,c as loadTianDiTu,R as loads3m,g as removeTerrain,f as setHeightOffsetFor3dTiles};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ino-cesium/layers",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.11",
|
|
5
5
|
"author": "koino",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"cesium",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"cesium": "*"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@ino-cesium/common": "0.0.
|
|
34
|
+
"@ino-cesium/common": "0.0.11"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {},
|
|
37
37
|
"types": "./dist/index.d.ts",
|