@itwin/core-frontend 3.2.0-dev.1 → 3.2.0-dev.3

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.
Files changed (159) hide show
  1. package/lib/cjs/HitDetail.js.map +1 -1
  2. package/lib/cjs/render/ParticleCollectionBuilder.d.ts.map +1 -1
  3. package/lib/cjs/render/ParticleCollectionBuilder.js +16 -9
  4. package/lib/cjs/render/ParticleCollectionBuilder.js.map +1 -1
  5. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  6. package/lib/cjs/render/RenderSystem.js +19 -17
  7. package/lib/cjs/render/RenderSystem.js.map +1 -1
  8. package/lib/cjs/render/primitives/EdgeParams.d.ts.map +1 -1
  9. package/lib/cjs/render/primitives/EdgeParams.js +3 -1
  10. package/lib/cjs/render/primitives/EdgeParams.js.map +1 -1
  11. package/lib/cjs/render/primitives/PolylineParams.d.ts.map +1 -1
  12. package/lib/cjs/render/primitives/PolylineParams.js +10 -5
  13. package/lib/cjs/render/primitives/PolylineParams.js.map +1 -1
  14. package/lib/cjs/render/primitives/VertexKey.d.ts +11 -8
  15. package/lib/cjs/render/primitives/VertexKey.d.ts.map +1 -1
  16. package/lib/cjs/render/primitives/VertexKey.js +24 -6
  17. package/lib/cjs/render/primitives/VertexKey.js.map +1 -1
  18. package/lib/cjs/render/primitives/VertexTable.d.ts +15 -2
  19. package/lib/cjs/render/primitives/VertexTable.d.ts.map +1 -1
  20. package/lib/cjs/render/primitives/VertexTable.js +273 -108
  21. package/lib/cjs/render/primitives/VertexTable.js.map +1 -1
  22. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  23. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js +22 -10
  24. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  25. package/lib/cjs/render/primitives/mesh/MeshBuilder.d.ts +4 -6
  26. package/lib/cjs/render/primitives/mesh/MeshBuilder.d.ts.map +1 -1
  27. package/lib/cjs/render/primitives/mesh/MeshBuilder.js +16 -13
  28. package/lib/cjs/render/primitives/mesh/MeshBuilder.js.map +1 -1
  29. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.d.ts.map +1 -1
  30. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js +12 -1
  31. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  32. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts +45 -28
  33. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  34. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js +107 -146
  35. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  36. package/lib/cjs/render/webgl/CachedGeometry.d.ts +6 -0
  37. package/lib/cjs/render/webgl/CachedGeometry.d.ts.map +1 -1
  38. package/lib/cjs/render/webgl/CachedGeometry.js +6 -0
  39. package/lib/cjs/render/webgl/CachedGeometry.js.map +1 -1
  40. package/lib/cjs/render/webgl/ShaderBuilder.d.ts +8 -7
  41. package/lib/cjs/render/webgl/ShaderBuilder.d.ts.map +1 -1
  42. package/lib/cjs/render/webgl/ShaderBuilder.js +12 -5
  43. package/lib/cjs/render/webgl/ShaderBuilder.js.map +1 -1
  44. package/lib/cjs/render/webgl/VertexLUT.d.ts +2 -1
  45. package/lib/cjs/render/webgl/VertexLUT.d.ts.map +1 -1
  46. package/lib/cjs/render/webgl/VertexLUT.js +4 -3
  47. package/lib/cjs/render/webgl/VertexLUT.js.map +1 -1
  48. package/lib/cjs/render/webgl/glsl/Color.js +1 -1
  49. package/lib/cjs/render/webgl/glsl/Color.js.map +1 -1
  50. package/lib/cjs/render/webgl/glsl/Decode.d.ts +6 -0
  51. package/lib/cjs/render/webgl/glsl/Decode.d.ts.map +1 -1
  52. package/lib/cjs/render/webgl/glsl/Decode.js +18 -1
  53. package/lib/cjs/render/webgl/glsl/Decode.js.map +1 -1
  54. package/lib/cjs/render/webgl/glsl/Edge.d.ts.map +1 -1
  55. package/lib/cjs/render/webgl/glsl/Edge.js +15 -6
  56. package/lib/cjs/render/webgl/glsl/Edge.js.map +1 -1
  57. package/lib/cjs/render/webgl/glsl/PointString.d.ts.map +1 -1
  58. package/lib/cjs/render/webgl/glsl/PointString.js +1 -1
  59. package/lib/cjs/render/webgl/glsl/PointString.js.map +1 -1
  60. package/lib/cjs/render/webgl/glsl/Polyline.d.ts +2 -2
  61. package/lib/cjs/render/webgl/glsl/Polyline.d.ts.map +1 -1
  62. package/lib/cjs/render/webgl/glsl/Polyline.js +24 -9
  63. package/lib/cjs/render/webgl/glsl/Polyline.js.map +1 -1
  64. package/lib/cjs/render/webgl/glsl/Surface.d.ts.map +1 -1
  65. package/lib/cjs/render/webgl/glsl/Surface.js +18 -19
  66. package/lib/cjs/render/webgl/glsl/Surface.js.map +1 -1
  67. package/lib/cjs/render/webgl/glsl/Thematic.d.ts.map +1 -1
  68. package/lib/cjs/render/webgl/glsl/Thematic.js +1 -6
  69. package/lib/cjs/render/webgl/glsl/Thematic.js.map +1 -1
  70. package/lib/cjs/render/webgl/glsl/Vertex.d.ts.map +1 -1
  71. package/lib/cjs/render/webgl/glsl/Vertex.js +31 -14
  72. package/lib/cjs/render/webgl/glsl/Vertex.js.map +1 -1
  73. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  74. package/lib/cjs/tile/GltfReader.js +8 -6
  75. package/lib/cjs/tile/GltfReader.js.map +1 -1
  76. package/lib/cjs/tile/map/BingElevation.d.ts +2 -16
  77. package/lib/cjs/tile/map/BingElevation.d.ts.map +1 -1
  78. package/lib/cjs/tile/map/BingElevation.js +1 -63
  79. package/lib/cjs/tile/map/BingElevation.js.map +1 -1
  80. package/lib/esm/HitDetail.js.map +1 -1
  81. package/lib/esm/render/ParticleCollectionBuilder.d.ts.map +1 -1
  82. package/lib/esm/render/ParticleCollectionBuilder.js +17 -10
  83. package/lib/esm/render/ParticleCollectionBuilder.js.map +1 -1
  84. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  85. package/lib/esm/render/RenderSystem.js +20 -18
  86. package/lib/esm/render/RenderSystem.js.map +1 -1
  87. package/lib/esm/render/primitives/EdgeParams.d.ts.map +1 -1
  88. package/lib/esm/render/primitives/EdgeParams.js +3 -1
  89. package/lib/esm/render/primitives/EdgeParams.js.map +1 -1
  90. package/lib/esm/render/primitives/PolylineParams.d.ts.map +1 -1
  91. package/lib/esm/render/primitives/PolylineParams.js +11 -6
  92. package/lib/esm/render/primitives/PolylineParams.js.map +1 -1
  93. package/lib/esm/render/primitives/VertexKey.d.ts +11 -8
  94. package/lib/esm/render/primitives/VertexKey.d.ts.map +1 -1
  95. package/lib/esm/render/primitives/VertexKey.js +24 -6
  96. package/lib/esm/render/primitives/VertexKey.js.map +1 -1
  97. package/lib/esm/render/primitives/VertexTable.d.ts +15 -2
  98. package/lib/esm/render/primitives/VertexTable.d.ts.map +1 -1
  99. package/lib/esm/render/primitives/VertexTable.js +274 -109
  100. package/lib/esm/render/primitives/VertexTable.js.map +1 -1
  101. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  102. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js +23 -11
  103. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  104. package/lib/esm/render/primitives/mesh/MeshBuilder.d.ts +4 -6
  105. package/lib/esm/render/primitives/mesh/MeshBuilder.d.ts.map +1 -1
  106. package/lib/esm/render/primitives/mesh/MeshBuilder.js +17 -14
  107. package/lib/esm/render/primitives/mesh/MeshBuilder.js.map +1 -1
  108. package/lib/esm/render/primitives/mesh/MeshBuilderMap.d.ts.map +1 -1
  109. package/lib/esm/render/primitives/mesh/MeshBuilderMap.js +12 -1
  110. package/lib/esm/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  111. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts +45 -28
  112. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  113. package/lib/esm/render/primitives/mesh/MeshPrimitives.js +108 -144
  114. package/lib/esm/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  115. package/lib/esm/render/webgl/CachedGeometry.d.ts +6 -0
  116. package/lib/esm/render/webgl/CachedGeometry.d.ts.map +1 -1
  117. package/lib/esm/render/webgl/CachedGeometry.js +6 -0
  118. package/lib/esm/render/webgl/CachedGeometry.js.map +1 -1
  119. package/lib/esm/render/webgl/ShaderBuilder.d.ts +8 -7
  120. package/lib/esm/render/webgl/ShaderBuilder.d.ts.map +1 -1
  121. package/lib/esm/render/webgl/ShaderBuilder.js +12 -5
  122. package/lib/esm/render/webgl/ShaderBuilder.js.map +1 -1
  123. package/lib/esm/render/webgl/VertexLUT.d.ts +2 -1
  124. package/lib/esm/render/webgl/VertexLUT.d.ts.map +1 -1
  125. package/lib/esm/render/webgl/VertexLUT.js +4 -3
  126. package/lib/esm/render/webgl/VertexLUT.js.map +1 -1
  127. package/lib/esm/render/webgl/glsl/Color.js +1 -1
  128. package/lib/esm/render/webgl/glsl/Color.js.map +1 -1
  129. package/lib/esm/render/webgl/glsl/Decode.d.ts +6 -0
  130. package/lib/esm/render/webgl/glsl/Decode.d.ts.map +1 -1
  131. package/lib/esm/render/webgl/glsl/Decode.js +17 -0
  132. package/lib/esm/render/webgl/glsl/Decode.js.map +1 -1
  133. package/lib/esm/render/webgl/glsl/Edge.d.ts.map +1 -1
  134. package/lib/esm/render/webgl/glsl/Edge.js +15 -6
  135. package/lib/esm/render/webgl/glsl/Edge.js.map +1 -1
  136. package/lib/esm/render/webgl/glsl/PointString.d.ts.map +1 -1
  137. package/lib/esm/render/webgl/glsl/PointString.js +1 -1
  138. package/lib/esm/render/webgl/glsl/PointString.js.map +1 -1
  139. package/lib/esm/render/webgl/glsl/Polyline.d.ts +2 -2
  140. package/lib/esm/render/webgl/glsl/Polyline.d.ts.map +1 -1
  141. package/lib/esm/render/webgl/glsl/Polyline.js +24 -9
  142. package/lib/esm/render/webgl/glsl/Polyline.js.map +1 -1
  143. package/lib/esm/render/webgl/glsl/Surface.d.ts.map +1 -1
  144. package/lib/esm/render/webgl/glsl/Surface.js +18 -19
  145. package/lib/esm/render/webgl/glsl/Surface.js.map +1 -1
  146. package/lib/esm/render/webgl/glsl/Thematic.d.ts.map +1 -1
  147. package/lib/esm/render/webgl/glsl/Thematic.js +1 -6
  148. package/lib/esm/render/webgl/glsl/Thematic.js.map +1 -1
  149. package/lib/esm/render/webgl/glsl/Vertex.d.ts.map +1 -1
  150. package/lib/esm/render/webgl/glsl/Vertex.js +32 -15
  151. package/lib/esm/render/webgl/glsl/Vertex.js.map +1 -1
  152. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  153. package/lib/esm/tile/GltfReader.js +9 -7
  154. package/lib/esm/tile/GltfReader.js.map +1 -1
  155. package/lib/esm/tile/map/BingElevation.d.ts +2 -16
  156. package/lib/esm/tile/map/BingElevation.d.ts.map +1 -1
  157. package/lib/esm/tile/map/BingElevation.js +1 -63
  158. package/lib/esm/tile/map/BingElevation.js.map +1 -1
  159. package/package.json +20 -20
@@ -1,22 +1,10 @@
1
- /** @packageDocumentation
2
- * @module Tiles
3
- */
4
- import { Point3d, Range1d, Range2d } from "@itwin/core-geometry";
5
- import { Cartographic, RenderTexture } from "@itwin/core-common";
6
1
  import { IModelConnection } from "../../IModelConnection";
7
- import { RenderGraphic } from "../../render/RenderGraphic";
8
- import { RenderSystem } from "../../render/RenderSystem";
2
+ import { Cartographic } from "@itwin/core-common";
3
+ import { Point3d, Range1d } from "@itwin/core-geometry";
9
4
  /** Provides an interface to the [Bing Maps elevation services](https://docs.microsoft.com/en-us/bingmaps/rest-services/elevations/).
10
5
  * @public
11
6
  */
12
7
  export declare class BingElevationProvider {
13
- private static _scratchRange;
14
- private static _scratchVertex;
15
- private static _scratchQParams;
16
- private static _scratchQPoint;
17
- private static _scratchMeshArgs;
18
- private static _scratchUV;
19
- private static _scratchPoint;
20
8
  private _heightRangeRequestTemplate;
21
9
  private _seaLevelOffsetRequestTemplate;
22
10
  private _heightListRequestTemplate;
@@ -45,7 +33,5 @@ export declare class BingElevationProvider {
45
33
  * @public
46
34
  */
47
35
  getHeightAverage(iModel: IModelConnection): Promise<number>;
48
- /** @internal */
49
- getGraphic(latLongRange: Range2d, corners: Point3d[], groundBias: number, texture: RenderTexture, system: RenderSystem): Promise<RenderGraphic | undefined>;
50
36
  }
51
37
  //# sourceMappingURL=BingElevation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BingElevation.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/BingElevation.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,OAAO,EAA0B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAW,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,YAAY,EAAwD,aAAa,EAAkB,MAAM,oBAAoB,CAAC;AAGvI,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAM1D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAIzD;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAwB;IACpD,OAAO,CAAC,MAAM,CAAC,cAAc,CAAwB;IACrD,OAAO,CAAC,MAAM,CAAC,eAAe,CAA4D;IAC1F,OAAO,CAAC,MAAM,CAAC,cAAc,CAAgG;IAC7H,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAkB;IACjD,OAAO,CAAC,MAAM,CAAC,UAAU,CAAwB;IACjD,OAAO,CAAC,MAAM,CAAC,aAAa,CAAwB;IAEpD,OAAO,CAAC,2BAA2B,CAAS;IAC5C,OAAO,CAAC,8BAA8B,CAAS;IAC/C,OAAO,CAAC,0BAA0B,CAAS;IAE3C,cAAc;;IAWd;;;OAGG;IACU,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,UAAO;IAY3D,gBAAgB;YACF,UAAU;IAWxB,gBAAgB;IACH,2BAA2B,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IAanG;;;;OAIG;IACU,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,UAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvG;;OAEG;IACU,cAAc,CAAC,MAAM,EAAE,gBAAgB;IAYpD;;OAEG;IACU,gBAAgB,CAAC,MAAM,EAAE,gBAAgB;IAWtD,gBAAgB;IACH,UAAU,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;CAoDzK"}
1
+ {"version":3,"file":"BingElevation.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/BingElevation.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAW,MAAM,sBAAsB,CAAC;AAIjE;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,2BAA2B,CAAS;IAC5C,OAAO,CAAC,8BAA8B,CAAS;IAC/C,OAAO,CAAC,0BAA0B,CAAS;IAE3C,cAAc;;IAWd;;;OAGG;IACU,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,UAAO;IAY3D,gBAAgB;YACF,UAAU;IAWxB,gBAAgB;IACH,2BAA2B,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IAanG;;;;OAIG;IACU,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,UAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvG;;OAEG;IACU,cAAc,CAAC,MAAM,EAAE,gBAAgB;IAYpD;;OAEG;IACU,gBAAgB,CAAC,MAAM,EAAE,gBAAgB;CAWvD"}
@@ -5,15 +5,9 @@
5
5
  /** @packageDocumentation
6
6
  * @module Tiles
7
7
  */
8
- import { BilinearPatch, Point2d, Point3d, Range1d, Range2d, Range3d } from "@itwin/core-geometry";
9
- import { ColorDef, FillFlags, LinePixels, QParams3d, QPoint3d, TextureMapping } from "@itwin/core-common";
10
8
  import { request } from "../../request/Request";
11
9
  import { IModelApp } from "../../IModelApp";
12
- import { Mesh, MeshArgs } from "../../render/primitives/mesh/MeshPrimitives";
13
- import { DisplayParams } from "../../render/primitives/DisplayParams";
14
- import { Triangle } from "../../render/primitives/Primitives";
15
- import { VertexKey } from "../../render/primitives/VertexKey";
16
- import { MeshParams } from "../../render/primitives/VertexTable";
10
+ import { Range1d, Range2d } from "@itwin/core-geometry";
17
11
  // cspell:ignore atae qdng uyzv auje sealevel
18
12
  /** Provides an interface to the [Bing Maps elevation services](https://docs.microsoft.com/en-us/bingmaps/rest-services/elevations/).
19
13
  * @public
@@ -111,61 +105,5 @@ export class BingElevationProvider {
111
105
  total += height;
112
106
  return total / heights.length;
113
107
  }
114
- /** @internal */
115
- async getGraphic(latLongRange, corners, groundBias, texture, system) {
116
- const heights = await this.getHeights(latLongRange);
117
- if (undefined === heights)
118
- return undefined;
119
- const patch = new BilinearPatch(corners[0], corners[1], corners[2], corners[3]);
120
- const textureParams = new TextureMapping.Params({ mapMode: TextureMapping.Mode.Parametric });
121
- const textureMapping = new TextureMapping(texture, textureParams);
122
- const displayParams = new DisplayParams(DisplayParams.Type.Mesh, ColorDef.white, ColorDef.white, 0.0, LinePixels.Solid, FillFlags.None, undefined, undefined, false, textureMapping);
123
- BingElevationProvider._scratchRange.setNull();
124
- BingElevationProvider._scratchRange.extendArray(corners);
125
- BingElevationProvider._scratchRange.low.z = 10E8;
126
- BingElevationProvider._scratchRange.high.z = -1.0E8;
127
- for (const height of heights) {
128
- BingElevationProvider._scratchRange.low.z = Math.min(BingElevationProvider._scratchRange.low.z, height);
129
- BingElevationProvider._scratchRange.high.z = Math.max(BingElevationProvider._scratchRange.high.z, height);
130
- }
131
- BingElevationProvider._scratchRange.low.z += groundBias;
132
- BingElevationProvider._scratchRange.high.z += groundBias;
133
- BingElevationProvider._scratchQParams.setFromRange(BingElevationProvider._scratchRange);
134
- const mesh = Mesh.create({ displayParams, type: Mesh.PrimitiveType.Mesh, range: BingElevationProvider._scratchRange, isPlanar: false, is2d: false });
135
- const size = 16;
136
- const sizeM1 = size - 1;
137
- const triangle0 = new Triangle(false), triangle1 = new Triangle(false);
138
- for (let row = 0; row < sizeM1; row++) {
139
- const thisRowIndex = row * size;
140
- const nextRowIndex = thisRowIndex + size;
141
- for (let col = 0; col < size - 1; col++) {
142
- const q0 = thisRowIndex + col, q1 = q0 + 1, q3 = nextRowIndex + col, q2 = q3 + 1;
143
- triangle0.setIndices(q0, q1, q2);
144
- triangle1.setIndices(q0, q2, q3);
145
- mesh.addTriangle(triangle0);
146
- mesh.addTriangle(triangle1);
147
- }
148
- }
149
- BingElevationProvider._scratchUV.y = 0.0;
150
- const delta = 1.0 / sizeM1;
151
- for (let row = 0; row < size; row++, BingElevationProvider._scratchUV.y += delta) {
152
- BingElevationProvider._scratchUV.x = 0;
153
- for (let col = 0; col < size; col++, BingElevationProvider._scratchUV.x += delta) {
154
- patch.uvFractionToPoint(BingElevationProvider._scratchUV.x, BingElevationProvider._scratchUV.y, BingElevationProvider._scratchPoint);
155
- BingElevationProvider._scratchPoint.z = groundBias + heights[(sizeM1 - row) * size + col];
156
- BingElevationProvider._scratchQPoint.init(BingElevationProvider._scratchPoint, BingElevationProvider._scratchQParams);
157
- mesh.addVertex(VertexKey.create({ position: BingElevationProvider._scratchQPoint, fillColor: 0xffffff, uvParam: BingElevationProvider._scratchUV }));
158
- }
159
- }
160
- BingElevationProvider._scratchMeshArgs.init(mesh);
161
- return system.createMesh(MeshParams.create(BingElevationProvider._scratchMeshArgs));
162
- }
163
108
  }
164
- BingElevationProvider._scratchRange = Range3d.createNull();
165
- BingElevationProvider._scratchVertex = Point3d.createZero();
166
- BingElevationProvider._scratchQParams = QParams3d.fromRange(BingElevationProvider._scratchRange);
167
- BingElevationProvider._scratchQPoint = QPoint3d.create(BingElevationProvider._scratchVertex, BingElevationProvider._scratchQParams);
168
- BingElevationProvider._scratchMeshArgs = new MeshArgs();
169
- BingElevationProvider._scratchUV = Point2d.createZero();
170
- BingElevationProvider._scratchPoint = Point3d.createZero();
171
109
  //# sourceMappingURL=BingElevation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BingElevation.js","sourceRoot":"","sources":["../../../../src/tile/map/BingElevation.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\nimport { BilinearPatch, Point2d, Point3d, Range1d, Range2d, Range3d } from \"@itwin/core-geometry\";\r\nimport { Cartographic, ColorDef, FillFlags, LinePixels, QParams3d, QPoint3d, RenderTexture, TextureMapping } from \"@itwin/core-common\";\r\nimport { request, RequestOptions, Response } from \"../../request/Request\";\r\nimport { IModelApp } from \"../../IModelApp\";\r\nimport { IModelConnection } from \"../../IModelConnection\";\r\nimport { Mesh, MeshArgs } from \"../../render/primitives/mesh/MeshPrimitives\";\r\nimport { DisplayParams } from \"../../render/primitives/DisplayParams\";\r\nimport { Triangle } from \"../../render/primitives/Primitives\";\r\nimport { VertexKey } from \"../../render/primitives/VertexKey\";\r\nimport { MeshParams } from \"../../render/primitives/VertexTable\";\r\nimport { RenderGraphic } from \"../../render/RenderGraphic\";\r\nimport { RenderSystem } from \"../../render/RenderSystem\";\r\n\r\n// cspell:ignore atae qdng uyzv auje sealevel\r\n\r\n/** Provides an interface to the [Bing Maps elevation services](https://docs.microsoft.com/en-us/bingmaps/rest-services/elevations/).\r\n * @public\r\n */\r\nexport class BingElevationProvider {\r\n private static _scratchRange = Range3d.createNull();\r\n private static _scratchVertex = Point3d.createZero();\r\n private static _scratchQParams = QParams3d.fromRange(BingElevationProvider._scratchRange);\r\n private static _scratchQPoint = QPoint3d.create(BingElevationProvider._scratchVertex, BingElevationProvider._scratchQParams);\r\n private static _scratchMeshArgs = new MeshArgs();\r\n private static _scratchUV = Point2d.createZero();\r\n private static _scratchPoint = Point3d.createZero();\r\n\r\n private _heightRangeRequestTemplate: string;\r\n private _seaLevelOffsetRequestTemplate: string;\r\n private _heightListRequestTemplate: string;\r\n\r\n /** @public */\r\n constructor() {\r\n let bingKey = \"\";\r\n if (IModelApp.mapLayerFormatRegistry.configOptions.BingMaps) {\r\n bingKey = IModelApp.mapLayerFormatRegistry.configOptions.BingMaps.value;\r\n }\r\n this._heightRangeRequestTemplate = \"https://dev.virtualearth.net/REST/v1/Elevation/Bounds?bounds={boundingBox}&rows=16&cols=16&heights=ellipsoid&key={BingMapsAPIKey}\".replace(\"{BingMapsAPIKey}\", bingKey);\r\n this._seaLevelOffsetRequestTemplate = \"https://dev.virtualearth.net/REST/v1/Elevation/SeaLevel?points={points}&key={BingMapsAPIKey}\".replace(\"{BingMapsAPIKey}\", bingKey);\r\n this._heightListRequestTemplate = \"https://dev.virtualearth.net/REST/v1/Elevation/List?points={points}&heights={heights}&key={BingMapsAPIKey}\".replace(\"{BingMapsAPIKey}\", bingKey);\r\n }\r\n\r\n /** Return the height (altitude) at a given cartographic location.\r\n * If geodetic is true (the default) then height is returned in the Ellipsoidal WGS84 datum. If geodetic is false then the sea level height id returned using the Earth Gravitational Model 2008 (EGM2008 2.5’).\r\n * @public\r\n */\r\n public async getHeight(carto: Cartographic, geodetic = true) {\r\n if (undefined === carto)\r\n return 0.0;\r\n const requestUrl = this._heightListRequestTemplate.replace(\"{points}\", `${carto.latitudeDegrees},${carto.longitudeDegrees}`).replace(\"{heights}\", geodetic ? \"ellipsoid\" : \"sealevel\");\r\n const requestOptions: RequestOptions = { method: \"GET\", responseType: \"json\" };\r\n try {\r\n const tileResponse: Response = await request(requestUrl, requestOptions);\r\n return tileResponse.body.resourceSets[0].resources[0].elevations[0];\r\n } catch (error) {\r\n return 0.0;\r\n }\r\n }\r\n /** @internal */\r\n private async getHeights(range: Range2d) {\r\n const boundingBox = `${range.low.y},${range.low.x},${range.high.y},${range.high.x}`;\r\n const requestUrl = this._heightRangeRequestTemplate.replace(\"{boundingBox}\", boundingBox);\r\n const tileRequestOptions: RequestOptions = { method: \"GET\", responseType: \"json\" };\r\n try {\r\n const tileResponse: Response = await request(requestUrl, tileRequestOptions);\r\n return tileResponse.body.resourceSets[0].resources[0].elevations;\r\n } catch (error) {\r\n return undefined;\r\n }\r\n }\r\n /** @internal */\r\n public async getGeodeticToSeaLevelOffset(point: Point3d, iModel: IModelConnection): Promise<number> {\r\n const carto = iModel.spatialToCartographicFromEcef(point);\r\n if (carto === undefined)\r\n return 0.0;\r\n const requestUrl = this._seaLevelOffsetRequestTemplate.replace(\"{points}\", `${carto.latitudeDegrees},${carto.longitudeDegrees}`);\r\n const requestOptions: RequestOptions = { method: \"GET\", responseType: \"json\" };\r\n try {\r\n const tileResponse: Response = await request(requestUrl, requestOptions);\r\n return tileResponse.body.resourceSets[0].resources[0].offsets[0];\r\n } catch (error) {\r\n return 0.0;\r\n }\r\n }\r\n /** Get the height (altitude) at a given iModel coordinate. The height is geodetic (WGS84 ellipsoid)\r\n * If geodetic is true (the default) then height is returned in the Ellipsoidal WGS84 datum. If geodetic is false then sea level height is returned using the Earth Gravitational Model 2008 (EGM2008 2.5’).\r\n *\r\n * @public\r\n */\r\n public async getHeightValue(point: Point3d, iModel: IModelConnection, geodetic = true): Promise<number> {\r\n return this.getHeight(iModel.spatialToCartographicFromEcef(point), geodetic);\r\n }\r\n\r\n /** Get the height (altitude) range for a given iModel project extents. The height values are geodetic (WGS84 ellipsoid).\r\n * @public\r\n */\r\n public async getHeightRange(iModel: IModelConnection) {\r\n const latLongRange = Range2d.createNull();\r\n const range = iModel.projectExtents.clone();\r\n range.expandInPlace(1000.); // Expand for project surroundings.\r\n for (const corner of range.corners()) {\r\n const carto = iModel.spatialToCartographicFromEcef(corner);\r\n latLongRange.extendXY(carto.longitudeDegrees, carto.latitudeDegrees);\r\n }\r\n const heights = await this.getHeights(latLongRange);\r\n return Range1d.createArray(heights);\r\n }\r\n\r\n /** Get the average height (altitude) for a given iModel project extents. The height values are geodetic (WGS84 ellipsoid).\r\n * @public\r\n */\r\n public async getHeightAverage(iModel: IModelConnection) {\r\n const latLongRange = Range2d.createNull();\r\n for (const corner of iModel.projectExtents.corners()) {\r\n const carto = iModel.spatialToCartographicFromEcef(corner);\r\n latLongRange.extendXY(carto.longitudeDegrees, carto.latitudeDegrees);\r\n }\r\n const heights = await this.getHeights(latLongRange);\r\n let total = 0.0;\r\n for (const height of heights) total += height;\r\n return total / heights.length;\r\n }\r\n /** @internal */\r\n public async getGraphic(latLongRange: Range2d, corners: Point3d[], groundBias: number, texture: RenderTexture, system: RenderSystem): Promise<RenderGraphic | undefined> {\r\n const heights = await this.getHeights(latLongRange);\r\n if (undefined === heights)\r\n return undefined;\r\n\r\n const patch = new BilinearPatch(corners[0], corners[1], corners[2], corners[3]);\r\n const textureParams = new TextureMapping.Params({ mapMode: TextureMapping.Mode.Parametric });\r\n const textureMapping = new TextureMapping(texture, textureParams);\r\n const displayParams = new DisplayParams(DisplayParams.Type.Mesh, ColorDef.white, ColorDef.white, 0.0, LinePixels.Solid, FillFlags.None, undefined, undefined, false, textureMapping);\r\n BingElevationProvider._scratchRange.setNull();\r\n BingElevationProvider._scratchRange.extendArray(corners);\r\n BingElevationProvider._scratchRange.low.z = 10E8;\r\n BingElevationProvider._scratchRange.high.z = -1.0E8;\r\n\r\n for (const height of heights) {\r\n BingElevationProvider._scratchRange.low.z = Math.min(BingElevationProvider._scratchRange.low.z, height);\r\n BingElevationProvider._scratchRange.high.z = Math.max(BingElevationProvider._scratchRange.high.z, height);\r\n }\r\n\r\n BingElevationProvider._scratchRange.low.z += groundBias;\r\n BingElevationProvider._scratchRange.high.z += groundBias;\r\n\r\n BingElevationProvider._scratchQParams.setFromRange(BingElevationProvider._scratchRange);\r\n const mesh = Mesh.create({ displayParams, type: Mesh.PrimitiveType.Mesh, range: BingElevationProvider._scratchRange, isPlanar: false, is2d: false });\r\n const size = 16;\r\n const sizeM1 = size - 1;\r\n const triangle0 = new Triangle(false), triangle1 = new Triangle(false);\r\n for (let row = 0; row < sizeM1; row++) {\r\n const thisRowIndex = row * size;\r\n const nextRowIndex = thisRowIndex + size;\r\n for (let col = 0; col < size - 1; col++) {\r\n const q0 = thisRowIndex + col, q1 = q0 + 1, q3 = nextRowIndex + col, q2 = q3 + 1;\r\n triangle0.setIndices(q0, q1, q2);\r\n triangle1.setIndices(q0, q2, q3);\r\n mesh.addTriangle(triangle0);\r\n mesh.addTriangle(triangle1);\r\n }\r\n }\r\n BingElevationProvider._scratchUV.y = 0.0;\r\n const delta = 1.0 / sizeM1;\r\n for (let row = 0; row < size; row++, BingElevationProvider._scratchUV.y += delta) {\r\n BingElevationProvider._scratchUV.x = 0;\r\n for (let col = 0; col < size; col++, BingElevationProvider._scratchUV.x += delta) {\r\n patch.uvFractionToPoint(BingElevationProvider._scratchUV.x, BingElevationProvider._scratchUV.y, BingElevationProvider._scratchPoint);\r\n BingElevationProvider._scratchPoint.z = groundBias + heights[(sizeM1 - row) * size + col];\r\n BingElevationProvider._scratchQPoint.init(BingElevationProvider._scratchPoint, BingElevationProvider._scratchQParams);\r\n mesh.addVertex(VertexKey.create({ position: BingElevationProvider._scratchQPoint, fillColor: 0xffffff, uvParam: BingElevationProvider._scratchUV }));\r\n }\r\n }\r\n BingElevationProvider._scratchMeshArgs.init(mesh);\r\n return system.createMesh(MeshParams.create(BingElevationProvider._scratchMeshArgs));\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"BingElevation.js","sourceRoot":"","sources":["../../../../src/tile/map/BingElevation.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\nimport { request, RequestOptions, Response } from \"../../request/Request\";\r\nimport { IModelApp } from \"../../IModelApp\";\r\nimport { IModelConnection } from \"../../IModelConnection\";\r\nimport { Cartographic } from \"@itwin/core-common\";\r\nimport { Point3d, Range1d, Range2d } from \"@itwin/core-geometry\";\r\n\r\n// cspell:ignore atae qdng uyzv auje sealevel\r\n\r\n/** Provides an interface to the [Bing Maps elevation services](https://docs.microsoft.com/en-us/bingmaps/rest-services/elevations/).\r\n * @public\r\n */\r\nexport class BingElevationProvider {\r\n private _heightRangeRequestTemplate: string;\r\n private _seaLevelOffsetRequestTemplate: string;\r\n private _heightListRequestTemplate: string;\r\n\r\n /** @public */\r\n constructor() {\r\n let bingKey = \"\";\r\n if (IModelApp.mapLayerFormatRegistry.configOptions.BingMaps) {\r\n bingKey = IModelApp.mapLayerFormatRegistry.configOptions.BingMaps.value;\r\n }\r\n this._heightRangeRequestTemplate = \"https://dev.virtualearth.net/REST/v1/Elevation/Bounds?bounds={boundingBox}&rows=16&cols=16&heights=ellipsoid&key={BingMapsAPIKey}\".replace(\"{BingMapsAPIKey}\", bingKey);\r\n this._seaLevelOffsetRequestTemplate = \"https://dev.virtualearth.net/REST/v1/Elevation/SeaLevel?points={points}&key={BingMapsAPIKey}\".replace(\"{BingMapsAPIKey}\", bingKey);\r\n this._heightListRequestTemplate = \"https://dev.virtualearth.net/REST/v1/Elevation/List?points={points}&heights={heights}&key={BingMapsAPIKey}\".replace(\"{BingMapsAPIKey}\", bingKey);\r\n }\r\n\r\n /** Return the height (altitude) at a given cartographic location.\r\n * If geodetic is true (the default) then height is returned in the Ellipsoidal WGS84 datum. If geodetic is false then the sea level height id returned using the Earth Gravitational Model 2008 (EGM2008 2.5’).\r\n * @public\r\n */\r\n public async getHeight(carto: Cartographic, geodetic = true) {\r\n if (undefined === carto)\r\n return 0.0;\r\n const requestUrl = this._heightListRequestTemplate.replace(\"{points}\", `${carto.latitudeDegrees},${carto.longitudeDegrees}`).replace(\"{heights}\", geodetic ? \"ellipsoid\" : \"sealevel\");\r\n const requestOptions: RequestOptions = { method: \"GET\", responseType: \"json\" };\r\n try {\r\n const tileResponse: Response = await request(requestUrl, requestOptions);\r\n return tileResponse.body.resourceSets[0].resources[0].elevations[0];\r\n } catch (error) {\r\n return 0.0;\r\n }\r\n }\r\n /** @internal */\r\n private async getHeights(range: Range2d) {\r\n const boundingBox = `${range.low.y},${range.low.x},${range.high.y},${range.high.x}`;\r\n const requestUrl = this._heightRangeRequestTemplate.replace(\"{boundingBox}\", boundingBox);\r\n const tileRequestOptions: RequestOptions = { method: \"GET\", responseType: \"json\" };\r\n try {\r\n const tileResponse: Response = await request(requestUrl, tileRequestOptions);\r\n return tileResponse.body.resourceSets[0].resources[0].elevations;\r\n } catch (error) {\r\n return undefined;\r\n }\r\n }\r\n /** @internal */\r\n public async getGeodeticToSeaLevelOffset(point: Point3d, iModel: IModelConnection): Promise<number> {\r\n const carto = iModel.spatialToCartographicFromEcef(point);\r\n if (carto === undefined)\r\n return 0.0;\r\n const requestUrl = this._seaLevelOffsetRequestTemplate.replace(\"{points}\", `${carto.latitudeDegrees},${carto.longitudeDegrees}`);\r\n const requestOptions: RequestOptions = { method: \"GET\", responseType: \"json\" };\r\n try {\r\n const tileResponse: Response = await request(requestUrl, requestOptions);\r\n return tileResponse.body.resourceSets[0].resources[0].offsets[0];\r\n } catch (error) {\r\n return 0.0;\r\n }\r\n }\r\n /** Get the height (altitude) at a given iModel coordinate. The height is geodetic (WGS84 ellipsoid)\r\n * If geodetic is true (the default) then height is returned in the Ellipsoidal WGS84 datum. If geodetic is false then sea level height is returned using the Earth Gravitational Model 2008 (EGM2008 2.5’).\r\n *\r\n * @public\r\n */\r\n public async getHeightValue(point: Point3d, iModel: IModelConnection, geodetic = true): Promise<number> {\r\n return this.getHeight(iModel.spatialToCartographicFromEcef(point), geodetic);\r\n }\r\n\r\n /** Get the height (altitude) range for a given iModel project extents. The height values are geodetic (WGS84 ellipsoid).\r\n * @public\r\n */\r\n public async getHeightRange(iModel: IModelConnection) {\r\n const latLongRange = Range2d.createNull();\r\n const range = iModel.projectExtents.clone();\r\n range.expandInPlace(1000.); // Expand for project surroundings.\r\n for (const corner of range.corners()) {\r\n const carto = iModel.spatialToCartographicFromEcef(corner);\r\n latLongRange.extendXY(carto.longitudeDegrees, carto.latitudeDegrees);\r\n }\r\n const heights = await this.getHeights(latLongRange);\r\n return Range1d.createArray(heights);\r\n }\r\n\r\n /** Get the average height (altitude) for a given iModel project extents. The height values are geodetic (WGS84 ellipsoid).\r\n * @public\r\n */\r\n public async getHeightAverage(iModel: IModelConnection) {\r\n const latLongRange = Range2d.createNull();\r\n for (const corner of iModel.projectExtents.corners()) {\r\n const carto = iModel.spatialToCartographicFromEcef(corner);\r\n latLongRange.extendXY(carto.longitudeDegrees, carto.latitudeDegrees);\r\n }\r\n const heights = await this.getHeights(latLongRange);\r\n let total = 0.0;\r\n for (const height of heights) total += height;\r\n return total / heights.length;\r\n }\r\n}\r\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/core-frontend",
3
- "version": "3.2.0-dev.1",
3
+ "version": "3.2.0-dev.3",
4
4
  "description": "iTwin.js frontend components",
5
5
  "main": "lib/cjs/core-frontend.js",
6
6
  "module": "lib/esm/core-frontend.js",
@@ -23,29 +23,29 @@
23
23
  "url": "http://www.bentley.com"
24
24
  },
25
25
  "peerDependencies": {
26
- "@itwin/appui-abstract": "^3.2.0-dev.1",
27
- "@itwin/core-bentley": "^3.2.0-dev.1",
28
- "@itwin/core-common": "^3.2.0-dev.1",
29
- "@itwin/core-geometry": "^3.2.0-dev.1",
30
- "@itwin/core-orbitgt": "^3.2.0-dev.1",
31
- "@itwin/core-quantity": "^3.2.0-dev.1",
32
- "@itwin/webgl-compatibility": "^3.2.0-dev.1"
26
+ "@itwin/appui-abstract": "^3.2.0-dev.3",
27
+ "@itwin/core-bentley": "^3.2.0-dev.3",
28
+ "@itwin/core-common": "^3.2.0-dev.3",
29
+ "@itwin/core-geometry": "^3.2.0-dev.3",
30
+ "@itwin/core-orbitgt": "^3.2.0-dev.3",
31
+ "@itwin/core-quantity": "^3.2.0-dev.3",
32
+ "@itwin/webgl-compatibility": "^3.2.0-dev.3"
33
33
  },
34
34
  "//devDependencies": [
35
35
  "NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install",
36
36
  "NOTE: All tools used by scripts in this package must be listed as devDependencies"
37
37
  ],
38
38
  "devDependencies": {
39
- "@itwin/appui-abstract": "3.2.0-dev.1",
40
- "@itwin/build-tools": "3.2.0-dev.1",
41
- "@itwin/core-bentley": "3.2.0-dev.1",
42
- "@itwin/core-common": "3.2.0-dev.1",
43
- "@itwin/core-geometry": "3.2.0-dev.1",
44
- "@itwin/core-orbitgt": "3.2.0-dev.1",
45
- "@itwin/core-quantity": "3.2.0-dev.1",
46
- "@itwin/certa": "3.2.0-dev.1",
47
- "@itwin/eslint-plugin": "3.2.0-dev.1",
48
- "@itwin/webgl-compatibility": "3.2.0-dev.1",
39
+ "@itwin/appui-abstract": "3.2.0-dev.3",
40
+ "@itwin/build-tools": "3.2.0-dev.3",
41
+ "@itwin/core-bentley": "3.2.0-dev.3",
42
+ "@itwin/core-common": "3.2.0-dev.3",
43
+ "@itwin/core-geometry": "3.2.0-dev.3",
44
+ "@itwin/core-orbitgt": "3.2.0-dev.3",
45
+ "@itwin/core-quantity": "3.2.0-dev.3",
46
+ "@itwin/certa": "3.2.0-dev.3",
47
+ "@itwin/eslint-plugin": "3.2.0-dev.3",
48
+ "@itwin/webgl-compatibility": "3.2.0-dev.3",
49
49
  "@types/chai": "^4.1.4",
50
50
  "@types/chai-as-promised": "^7",
51
51
  "@types/deep-assign": "^0.1.0",
@@ -74,8 +74,8 @@
74
74
  "NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"
75
75
  ],
76
76
  "dependencies": {
77
- "@itwin/core-i18n": "3.2.0-dev.1",
78
- "@itwin/core-telemetry": "3.2.0-dev.1",
77
+ "@itwin/core-i18n": "3.2.0-dev.3",
78
+ "@itwin/core-telemetry": "3.2.0-dev.3",
79
79
  "@loaders.gl/core": "^3.1.6",
80
80
  "@loaders.gl/draco": "^3.1.6",
81
81
  "deep-assign": "^2.0.0",