@itwin/core-frontend 4.5.0-dev.9 → 4.5.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.
Files changed (287) hide show
  1. package/CHANGELOG.md +79 -1
  2. package/LICENSE.md +1 -1
  3. package/lib/cjs/AccuDraw.d.ts +6 -0
  4. package/lib/cjs/AccuDraw.d.ts.map +1 -1
  5. package/lib/cjs/AccuDraw.js +11 -0
  6. package/lib/cjs/AccuDraw.js.map +1 -1
  7. package/lib/cjs/ContextRealityModelState.d.ts +3 -0
  8. package/lib/cjs/ContextRealityModelState.d.ts.map +1 -1
  9. package/lib/cjs/ContextRealityModelState.js +8 -1
  10. package/lib/cjs/ContextRealityModelState.js.map +1 -1
  11. package/lib/cjs/IModelApp.js +1 -1
  12. package/lib/cjs/IModelApp.js.map +1 -1
  13. package/lib/cjs/ModelState.d.ts +3 -2
  14. package/lib/cjs/ModelState.d.ts.map +1 -1
  15. package/lib/cjs/ModelState.js +2 -1
  16. package/lib/cjs/ModelState.js.map +1 -1
  17. package/lib/cjs/SpatialClassifiersState.d.ts +55 -0
  18. package/lib/cjs/SpatialClassifiersState.d.ts.map +1 -0
  19. package/lib/cjs/SpatialClassifiersState.js +47 -0
  20. package/lib/cjs/SpatialClassifiersState.js.map +1 -0
  21. package/lib/cjs/ViewContext.d.ts +3 -2
  22. package/lib/cjs/ViewContext.d.ts.map +1 -1
  23. package/lib/cjs/ViewContext.js.map +1 -1
  24. package/lib/cjs/ViewManager.d.ts.map +1 -1
  25. package/lib/cjs/ViewManager.js +4 -0
  26. package/lib/cjs/ViewManager.js.map +1 -1
  27. package/lib/cjs/Viewport.d.ts.map +1 -1
  28. package/lib/cjs/Viewport.js +16 -8
  29. package/lib/cjs/Viewport.js.map +1 -1
  30. package/lib/cjs/core-frontend.d.ts +2 -0
  31. package/lib/cjs/core-frontend.d.ts.map +1 -1
  32. package/lib/cjs/core-frontend.js +2 -0
  33. package/lib/cjs/core-frontend.js.map +1 -1
  34. package/lib/cjs/render/GraphicBuilder.d.ts +2 -0
  35. package/lib/cjs/render/GraphicBuilder.d.ts.map +1 -1
  36. package/lib/cjs/render/GraphicBuilder.js.map +1 -1
  37. package/lib/cjs/render/MockRender.d.ts +1 -0
  38. package/lib/cjs/render/MockRender.d.ts.map +1 -1
  39. package/lib/cjs/render/MockRender.js +1 -0
  40. package/lib/cjs/render/MockRender.js.map +1 -1
  41. package/lib/cjs/render/RenderGraphic.d.ts +7 -0
  42. package/lib/cjs/render/RenderGraphic.d.ts.map +1 -1
  43. package/lib/cjs/render/RenderGraphic.js +2 -0
  44. package/lib/cjs/render/RenderGraphic.js.map +1 -1
  45. package/lib/cjs/render/RenderTarget.d.ts +3 -2
  46. package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
  47. package/lib/cjs/render/RenderTarget.js.map +1 -1
  48. package/lib/cjs/render/Scene.d.ts +2 -2
  49. package/lib/cjs/render/Scene.d.ts.map +1 -1
  50. package/lib/cjs/render/Scene.js.map +1 -1
  51. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts +3 -0
  52. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  53. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  54. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.d.ts +3 -0
  55. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.d.ts.map +1 -1
  56. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js +2 -0
  57. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  58. package/lib/cjs/render/webgl/GLTimer.d.ts.map +1 -1
  59. package/lib/cjs/render/webgl/GLTimer.js +24 -4
  60. package/lib/cjs/render/webgl/GLTimer.js.map +1 -1
  61. package/lib/cjs/render/webgl/Graphic.d.ts +6 -1
  62. package/lib/cjs/render/webgl/Graphic.d.ts.map +1 -1
  63. package/lib/cjs/render/webgl/Graphic.js +20 -0
  64. package/lib/cjs/render/webgl/Graphic.js.map +1 -1
  65. package/lib/cjs/render/webgl/Layer.d.ts +2 -0
  66. package/lib/cjs/render/webgl/Layer.d.ts.map +1 -1
  67. package/lib/cjs/render/webgl/Layer.js +3 -0
  68. package/lib/cjs/render/webgl/Layer.js.map +1 -1
  69. package/lib/cjs/render/webgl/Mesh.d.ts +2 -0
  70. package/lib/cjs/render/webgl/Mesh.d.ts.map +1 -1
  71. package/lib/cjs/render/webgl/Mesh.js +7 -0
  72. package/lib/cjs/render/webgl/Mesh.js.map +1 -1
  73. package/lib/cjs/render/webgl/PlanarClassifier.d.ts +3 -2
  74. package/lib/cjs/render/webgl/PlanarClassifier.d.ts.map +1 -1
  75. package/lib/cjs/render/webgl/PlanarClassifier.js.map +1 -1
  76. package/lib/cjs/render/webgl/Primitive.d.ts +2 -0
  77. package/lib/cjs/render/webgl/Primitive.d.ts.map +1 -1
  78. package/lib/cjs/render/webgl/Primitive.js +3 -0
  79. package/lib/cjs/render/webgl/Primitive.js.map +1 -1
  80. package/lib/cjs/render/webgl/Target.d.ts +4 -3
  81. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  82. package/lib/cjs/render/webgl/Target.js.map +1 -1
  83. package/lib/cjs/request/utils.d.ts +5 -0
  84. package/lib/cjs/request/utils.d.ts.map +1 -1
  85. package/lib/cjs/request/utils.js +11 -1
  86. package/lib/cjs/request/utils.js.map +1 -1
  87. package/lib/cjs/tile/BatchedTileIdMap.d.ts +6 -1
  88. package/lib/cjs/tile/BatchedTileIdMap.d.ts.map +1 -1
  89. package/lib/cjs/tile/BatchedTileIdMap.js +9 -0
  90. package/lib/cjs/tile/BatchedTileIdMap.js.map +1 -1
  91. package/lib/cjs/tile/ClassifierTileTree.d.ts +4 -4
  92. package/lib/cjs/tile/ClassifierTileTree.d.ts.map +1 -1
  93. package/lib/cjs/tile/ClassifierTileTree.js +11 -6
  94. package/lib/cjs/tile/ClassifierTileTree.js.map +1 -1
  95. package/lib/cjs/tile/GltfReader.js +1 -1
  96. package/lib/cjs/tile/GltfReader.js.map +1 -1
  97. package/lib/cjs/tile/OrbitGtTileTree.d.ts +1 -0
  98. package/lib/cjs/tile/OrbitGtTileTree.d.ts.map +1 -1
  99. package/lib/cjs/tile/OrbitGtTileTree.js +4 -0
  100. package/lib/cjs/tile/OrbitGtTileTree.js.map +1 -1
  101. package/lib/cjs/tile/PrimaryTileTree.d.ts +1 -0
  102. package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
  103. package/lib/cjs/tile/PrimaryTileTree.js +34 -8
  104. package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
  105. package/lib/cjs/tile/RealityModelTileTree.d.ts +5 -2
  106. package/lib/cjs/tile/RealityModelTileTree.d.ts.map +1 -1
  107. package/lib/cjs/tile/RealityModelTileTree.js +19 -0
  108. package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
  109. package/lib/cjs/tile/RealityTileTree.d.ts +5 -0
  110. package/lib/cjs/tile/RealityTileTree.d.ts.map +1 -1
  111. package/lib/cjs/tile/RealityTileTree.js +1 -1
  112. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  113. package/lib/cjs/tile/RenderGraphicTileTree.d.ts +34 -0
  114. package/lib/cjs/tile/RenderGraphicTileTree.d.ts.map +1 -0
  115. package/lib/cjs/tile/RenderGraphicTileTree.js +100 -0
  116. package/lib/cjs/tile/RenderGraphicTileTree.js.map +1 -0
  117. package/lib/cjs/tile/TileAdmin.d.ts +24 -1
  118. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  119. package/lib/cjs/tile/TileAdmin.js +15 -4
  120. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  121. package/lib/cjs/tile/TileTreeReference.d.ts +21 -2
  122. package/lib/cjs/tile/TileTreeReference.d.ts.map +1 -1
  123. package/lib/cjs/tile/TileTreeReference.js +26 -1
  124. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  125. package/lib/cjs/tile/internal.d.ts +1 -0
  126. package/lib/cjs/tile/internal.d.ts.map +1 -1
  127. package/lib/cjs/tile/internal.js +1 -0
  128. package/lib/cjs/tile/internal.js.map +1 -1
  129. package/lib/cjs/tile/map/MapLayerTileTreeReference.d.ts +1 -0
  130. package/lib/cjs/tile/map/MapLayerTileTreeReference.d.ts.map +1 -1
  131. package/lib/cjs/tile/map/MapLayerTileTreeReference.js +4 -0
  132. package/lib/cjs/tile/map/MapLayerTileTreeReference.js.map +1 -1
  133. package/lib/cjs/tile/map/MapTileTree.d.ts +1 -0
  134. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  135. package/lib/cjs/tile/map/MapTileTree.js +20 -7
  136. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  137. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  138. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js +16 -0
  139. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  140. package/lib/cjs/tools/ToolAdmin.d.ts +2 -0
  141. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  142. package/lib/cjs/tools/ToolAdmin.js +4 -0
  143. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  144. package/lib/esm/AccuDraw.d.ts +6 -0
  145. package/lib/esm/AccuDraw.d.ts.map +1 -1
  146. package/lib/esm/AccuDraw.js +11 -0
  147. package/lib/esm/AccuDraw.js.map +1 -1
  148. package/lib/esm/ContextRealityModelState.d.ts +3 -0
  149. package/lib/esm/ContextRealityModelState.d.ts.map +1 -1
  150. package/lib/esm/ContextRealityModelState.js +8 -1
  151. package/lib/esm/ContextRealityModelState.js.map +1 -1
  152. package/lib/esm/IModelApp.js +1 -1
  153. package/lib/esm/IModelApp.js.map +1 -1
  154. package/lib/esm/ModelState.d.ts +3 -2
  155. package/lib/esm/ModelState.d.ts.map +1 -1
  156. package/lib/esm/ModelState.js +3 -2
  157. package/lib/esm/ModelState.js.map +1 -1
  158. package/lib/esm/SpatialClassifiersState.d.ts +55 -0
  159. package/lib/esm/SpatialClassifiersState.d.ts.map +1 -0
  160. package/lib/esm/SpatialClassifiersState.js +43 -0
  161. package/lib/esm/SpatialClassifiersState.js.map +1 -0
  162. package/lib/esm/ViewContext.d.ts +3 -2
  163. package/lib/esm/ViewContext.d.ts.map +1 -1
  164. package/lib/esm/ViewContext.js.map +1 -1
  165. package/lib/esm/ViewManager.d.ts.map +1 -1
  166. package/lib/esm/ViewManager.js +4 -0
  167. package/lib/esm/ViewManager.js.map +1 -1
  168. package/lib/esm/Viewport.d.ts.map +1 -1
  169. package/lib/esm/Viewport.js +16 -8
  170. package/lib/esm/Viewport.js.map +1 -1
  171. package/lib/esm/core-frontend.d.ts +2 -0
  172. package/lib/esm/core-frontend.d.ts.map +1 -1
  173. package/lib/esm/core-frontend.js +2 -0
  174. package/lib/esm/core-frontend.js.map +1 -1
  175. package/lib/esm/render/GraphicBuilder.d.ts +2 -0
  176. package/lib/esm/render/GraphicBuilder.d.ts.map +1 -1
  177. package/lib/esm/render/GraphicBuilder.js.map +1 -1
  178. package/lib/esm/render/MockRender.d.ts +1 -0
  179. package/lib/esm/render/MockRender.d.ts.map +1 -1
  180. package/lib/esm/render/MockRender.js +1 -0
  181. package/lib/esm/render/MockRender.js.map +1 -1
  182. package/lib/esm/render/RenderGraphic.d.ts +7 -0
  183. package/lib/esm/render/RenderGraphic.d.ts.map +1 -1
  184. package/lib/esm/render/RenderGraphic.js +2 -0
  185. package/lib/esm/render/RenderGraphic.js.map +1 -1
  186. package/lib/esm/render/RenderTarget.d.ts +3 -2
  187. package/lib/esm/render/RenderTarget.d.ts.map +1 -1
  188. package/lib/esm/render/RenderTarget.js.map +1 -1
  189. package/lib/esm/render/Scene.d.ts +2 -2
  190. package/lib/esm/render/Scene.d.ts.map +1 -1
  191. package/lib/esm/render/Scene.js.map +1 -1
  192. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts +3 -0
  193. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  194. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  195. package/lib/esm/render/primitives/mesh/MeshBuilderMap.d.ts +3 -0
  196. package/lib/esm/render/primitives/mesh/MeshBuilderMap.d.ts.map +1 -1
  197. package/lib/esm/render/primitives/mesh/MeshBuilderMap.js +2 -0
  198. package/lib/esm/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  199. package/lib/esm/render/webgl/GLTimer.d.ts.map +1 -1
  200. package/lib/esm/render/webgl/GLTimer.js +24 -4
  201. package/lib/esm/render/webgl/GLTimer.js.map +1 -1
  202. package/lib/esm/render/webgl/Graphic.d.ts +6 -1
  203. package/lib/esm/render/webgl/Graphic.d.ts.map +1 -1
  204. package/lib/esm/render/webgl/Graphic.js +21 -1
  205. package/lib/esm/render/webgl/Graphic.js.map +1 -1
  206. package/lib/esm/render/webgl/Layer.d.ts +2 -0
  207. package/lib/esm/render/webgl/Layer.d.ts.map +1 -1
  208. package/lib/esm/render/webgl/Layer.js +3 -0
  209. package/lib/esm/render/webgl/Layer.js.map +1 -1
  210. package/lib/esm/render/webgl/Mesh.d.ts +2 -0
  211. package/lib/esm/render/webgl/Mesh.d.ts.map +1 -1
  212. package/lib/esm/render/webgl/Mesh.js +7 -0
  213. package/lib/esm/render/webgl/Mesh.js.map +1 -1
  214. package/lib/esm/render/webgl/PlanarClassifier.d.ts +3 -2
  215. package/lib/esm/render/webgl/PlanarClassifier.d.ts.map +1 -1
  216. package/lib/esm/render/webgl/PlanarClassifier.js.map +1 -1
  217. package/lib/esm/render/webgl/Primitive.d.ts +2 -0
  218. package/lib/esm/render/webgl/Primitive.d.ts.map +1 -1
  219. package/lib/esm/render/webgl/Primitive.js +3 -0
  220. package/lib/esm/render/webgl/Primitive.js.map +1 -1
  221. package/lib/esm/render/webgl/Target.d.ts +4 -3
  222. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  223. package/lib/esm/render/webgl/Target.js.map +1 -1
  224. package/lib/esm/request/utils.d.ts +5 -0
  225. package/lib/esm/request/utils.d.ts.map +1 -1
  226. package/lib/esm/request/utils.js +9 -0
  227. package/lib/esm/request/utils.js.map +1 -1
  228. package/lib/esm/tile/BatchedTileIdMap.d.ts +6 -1
  229. package/lib/esm/tile/BatchedTileIdMap.d.ts.map +1 -1
  230. package/lib/esm/tile/BatchedTileIdMap.js +9 -0
  231. package/lib/esm/tile/BatchedTileIdMap.js.map +1 -1
  232. package/lib/esm/tile/ClassifierTileTree.d.ts +4 -4
  233. package/lib/esm/tile/ClassifierTileTree.d.ts.map +1 -1
  234. package/lib/esm/tile/ClassifierTileTree.js +12 -7
  235. package/lib/esm/tile/ClassifierTileTree.js.map +1 -1
  236. package/lib/esm/tile/GltfReader.js +1 -1
  237. package/lib/esm/tile/GltfReader.js.map +1 -1
  238. package/lib/esm/tile/OrbitGtTileTree.d.ts +1 -0
  239. package/lib/esm/tile/OrbitGtTileTree.d.ts.map +1 -1
  240. package/lib/esm/tile/OrbitGtTileTree.js +4 -0
  241. package/lib/esm/tile/OrbitGtTileTree.js.map +1 -1
  242. package/lib/esm/tile/PrimaryTileTree.d.ts +1 -0
  243. package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
  244. package/lib/esm/tile/PrimaryTileTree.js +34 -8
  245. package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
  246. package/lib/esm/tile/RealityModelTileTree.d.ts +5 -2
  247. package/lib/esm/tile/RealityModelTileTree.d.ts.map +1 -1
  248. package/lib/esm/tile/RealityModelTileTree.js +19 -0
  249. package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
  250. package/lib/esm/tile/RealityTileTree.d.ts +5 -0
  251. package/lib/esm/tile/RealityTileTree.d.ts.map +1 -1
  252. package/lib/esm/tile/RealityTileTree.js +1 -1
  253. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  254. package/lib/esm/tile/RenderGraphicTileTree.d.ts +34 -0
  255. package/lib/esm/tile/RenderGraphicTileTree.d.ts.map +1 -0
  256. package/lib/esm/tile/RenderGraphicTileTree.js +96 -0
  257. package/lib/esm/tile/RenderGraphicTileTree.js.map +1 -0
  258. package/lib/esm/tile/TileAdmin.d.ts +24 -1
  259. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  260. package/lib/esm/tile/TileAdmin.js +15 -4
  261. package/lib/esm/tile/TileAdmin.js.map +1 -1
  262. package/lib/esm/tile/TileTreeReference.d.ts +21 -2
  263. package/lib/esm/tile/TileTreeReference.d.ts.map +1 -1
  264. package/lib/esm/tile/TileTreeReference.js +27 -2
  265. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  266. package/lib/esm/tile/internal.d.ts +1 -0
  267. package/lib/esm/tile/internal.d.ts.map +1 -1
  268. package/lib/esm/tile/internal.js +1 -0
  269. package/lib/esm/tile/internal.js.map +1 -1
  270. package/lib/esm/tile/map/MapLayerTileTreeReference.d.ts +1 -0
  271. package/lib/esm/tile/map/MapLayerTileTreeReference.d.ts.map +1 -1
  272. package/lib/esm/tile/map/MapLayerTileTreeReference.js +4 -0
  273. package/lib/esm/tile/map/MapLayerTileTreeReference.js.map +1 -1
  274. package/lib/esm/tile/map/MapTileTree.d.ts +1 -0
  275. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  276. package/lib/esm/tile/map/MapTileTree.js +20 -7
  277. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  278. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  279. package/lib/esm/tile/map/MapTiledGraphicsProvider.js +17 -1
  280. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  281. package/lib/esm/tools/ToolAdmin.d.ts +2 -0
  282. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  283. package/lib/esm/tools/ToolAdmin.js +4 -0
  284. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  285. package/lib/public/scripts/parse-imdl-worker.js +1 -1
  286. package/lib/workers/webpack/parse-imdl-worker.js +1 -1
  287. package/package.json +18 -18
@@ -68,6 +68,7 @@ export * from "./PerModelCategoryVisibility";
68
68
  export * from "./PlanarClipMaskState";
69
69
  export * from "./SelectionSet";
70
70
  export * from "./SheetViewState";
71
+ export * from "./SpatialClassifiersState";
71
72
  export * from "./SpatialViewState";
72
73
  export * from "./Sprites";
73
74
  export * from "./StandardView";
@@ -159,6 +160,7 @@ export * from "./BackgroundMapGeometry";
159
160
  export * from "./ViewCreator2d";
160
161
  export * from "./ViewCreator3d";
161
162
  export * from "./LocalhostIpcApp";
163
+ export * from "./request/utils";
162
164
  export * from "./RealityDataSource";
163
165
  import "./extension/ExtensionRuntime";
164
166
  /** @docs-package-description
@@ -1 +1 @@
1
- {"version":3,"file":"core-frontend.d.ts","sourceRoot":"","sources":["../../src/core-frontend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-frontend.d.ts","sourceRoot":"","sources":["../../src/core-frontend.ts"],"names":[],"mappings":"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"}
@@ -72,6 +72,7 @@ export * from "./PerModelCategoryVisibility";
72
72
  export * from "./PlanarClipMaskState";
73
73
  export * from "./SelectionSet";
74
74
  export * from "./SheetViewState";
75
+ export * from "./SpatialClassifiersState";
75
76
  export * from "./SpatialViewState";
76
77
  export * from "./Sprites";
77
78
  export * from "./StandardView";
@@ -163,6 +164,7 @@ export * from "./BackgroundMapGeometry";
163
164
  export * from "./ViewCreator2d";
164
165
  export * from "./ViewCreator3d";
165
166
  export * from "./LocalhostIpcApp";
167
+ export * from "./request/utils";
166
168
  export * from "./RealityDataSource";
167
169
  // TODO/FIX: "./extension/ExtensionRuntime" import has to be last to avoid circular dependency errors.
168
170
  import "./extension/ExtensionRuntime";
@@ -1 +1 @@
1
- {"version":3,"file":"core-frontend.js","sourceRoot":"","sources":["../../src/core-frontend.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\nexport * from \"./AccuDraw\";\r\nexport * from \"./AccuSnap\";\r\nexport * from \"./AuxCoordSys\";\r\nexport * from \"./BingLocation\";\r\nexport * from \"./BriefcaseConnection\";\r\nexport * from \"./BriefcaseTxns\";\r\nexport * from \"./CategorySelectorState\";\r\nexport * from \"./ChangeFlags\";\r\nexport * from \"./CheckpointConnection\";\r\nexport * from \"./common/FrontendLoggerCategory\";\r\nexport * from \"./common/gltf/GltfModel\";\r\nexport * from \"./common/gltf/GltfParser\";\r\nexport * from \"./common/gltf/GltfSchema\";\r\nexport * from \"./common/ImageUtil\";\r\nexport * from \"./common/imdl/ImdlModel\";\r\nexport * from \"./common/imdl/ImdlSchema\";\r\nexport * from \"./common/imdl/ParseImdlDocument\";\r\nexport * from \"./common/render/AnimationNodeId\";\r\nexport * from \"./common/render/MaterialParams\";\r\nexport * from \"./common/render/primitives/AuxChannelTable\";\r\nexport * from \"./common/render/primitives/DisplayParams\";\r\nexport * from \"./common/render/primitives/EdgeParams\";\r\nexport * from \"./common/render/primitives/MeshParams\";\r\nexport * from \"./common/render/primitives/MeshPrimitive\";\r\nexport * from \"./common/render/primitives/PointStringParams\";\r\nexport * from \"./common/render/primitives/PolylineParams\";\r\nexport * from \"./common/render/primitives/SurfaceParams\";\r\nexport * from \"./common/render/primitives/VertexIndices\";\r\nexport * from \"./common/render/primitives/VertexTable\";\r\nexport * from \"./common/render/primitives/VertexTableSplitter\";\r\nexport * from \"./common/render/TextureParams\";\r\nexport * from \"./common/ViewRect\";\r\nexport * from \"./common/WorkerProxy\";\r\nexport * from \"./ContextRealityModelState\";\r\nexport * from \"./CoordSystem\";\r\nexport * from \"./DecorationsCache\";\r\nexport * from \"./DevTools\";\r\nexport * from \"./DisplayStyleState\";\r\nexport * from \"./DrawingViewState\";\r\nexport * from \"./ElementLocateManager\";\r\nexport * from \"./EmphasizeElements\";\r\nexport * from \"./EntityState\";\r\nexport * from \"./EnvironmentDecorations\";\r\nexport * from \"./FeatureOverrideProvider\";\r\nexport * from \"./FlashSettings\";\r\nexport * from \"./FrontendHubAccess\";\r\nexport * from \"./Frustum2d\";\r\nexport * from \"./FrustumAnimator\";\r\nexport * from \"./FuzzySearch\";\r\nexport * from \"./GeoServices\";\r\nexport * from \"./GlobeAnimator\";\r\nexport * from \"./GraphicalEditingScope\";\r\nexport * from \"./HitDetail\";\r\nexport * from \"./IModelApp\";\r\nexport * from \"./IModelConnection\";\r\nexport * from \"./IModelRoutingContext\";\r\nexport * from \"./IpcApp\";\r\nexport * from \"./LinePlaneIntersect\";\r\nexport * from \"./MarginPercent\";\r\nexport * from \"./Marker\";\r\nexport * from \"./ModelSelectorState\";\r\nexport * from \"./ModelState\";\r\nexport * from \"./NativeApp\";\r\nexport * from \"./NativeAppLogger\";\r\nexport * from \"./NoRenderApp\";\r\nexport * from \"./NotificationManager\";\r\nexport * from \"./PerModelCategoryVisibility\";\r\nexport * from \"./PlanarClipMaskState\";\r\nexport * from \"./SelectionSet\";\r\nexport * from \"./SheetViewState\";\r\nexport * from \"./SpatialViewState\";\r\nexport * from \"./Sprites\";\r\nexport * from \"./StandardView\";\r\nexport * from \"./SubCategoriesCache\";\r\nexport * from \"./TentativePoint\";\r\nexport * from \"./Tiles\";\r\nexport * from \"./UserPreferences\";\r\nexport * from \"./ViewAnimation\";\r\nexport * from \"./ViewContext\";\r\nexport * from \"./ViewGlobalLocation\";\r\nexport * from \"./ViewingSpace\";\r\nexport * from \"./ViewManager\";\r\nexport * from \"./Viewport\";\r\nexport * from \"./ViewportSync\";\r\nexport * from \"./ViewPose\";\r\nexport * from \"./ViewState\";\r\nexport * from \"./ViewStatus\";\r\nexport * from \"./extension/Extension\";\r\nexport * from \"./extension/providers/LocalExtensionProvider\";\r\nexport * from \"./extension/providers/RemoteExtensionProvider\";\r\nexport * from \"./properties/AngleDescription\";\r\nexport * from \"./properties/FormattedQuantityDescription\";\r\nexport * from \"./properties/LengthDescription\";\r\nexport * from \"./quantity-formatting/QuantityFormatter\";\r\nexport * from \"./quantity-formatting/BaseUnitFormattingSettingsProvider\";\r\nexport * from \"./quantity-formatting/LocalUnitFormatProvider\";\r\nexport * from \"./quantity-formatting/QuantityTypesEditorSpecs\";\r\nexport * from \"./render/CanvasDecoration\";\r\nexport * from \"./render/CreateRenderMaterialArgs\";\r\nexport * from \"./render/CreateTextureArgs\";\r\nexport * from \"./render/Decorations\";\r\nexport * from \"./render/FeatureSymbology\";\r\nexport * from \"./render/FrameStats\";\r\nexport * from \"./render/GraphicBranch\";\r\nexport * from \"./render/GraphicBuilder\";\r\nexport * from \"./render/GraphicPrimitive\";\r\nexport * from \"./render/InstancedGraphicParams\";\r\nexport * from \"./render/MockRender\";\r\nexport * from \"./render/ParticleCollectionBuilder\";\r\nexport * from \"./render/Pixel\";\r\nexport * from \"./render/RealityMeshGraphicParams\";\r\nexport * from \"./render/RealityMeshParams\";\r\nexport * from \"./render/RenderClipVolume\";\r\nexport * from \"./render/RenderGraphic\";\r\nexport * from \"./render/RenderMemory\";\r\nexport * from \"./render/RenderPlan\";\r\nexport * from \"./render/RenderPlanarClassifier\";\r\nexport * from \"./render/RenderSystem\";\r\nexport * from \"./render/RenderTarget\";\r\nexport * from \"./render/Scene\";\r\nexport * from \"./render/ScreenSpaceEffectBuilder\";\r\nexport * from \"./render/VisibleFeature\";\r\nexport * from \"./render/primitives/ColorMap\";\r\nexport * from \"./render/primitives/EdgeParams\";\r\nexport * from \"./render/primitives/PointCloudPrimitive\";\r\nexport * from \"./render/primitives/PointStringParams\";\r\nexport * from \"./render/primitives/Polyface\";\r\nexport * from \"./render/primitives/PolylineParams\";\r\nexport * from \"./render/primitives/Primitives\";\r\nexport * from \"./render/primitives/Strokes\";\r\nexport * from \"./render/primitives/VertexKey\";\r\nexport * from \"./render/primitives/VertexTableBuilder\";\r\nexport * from \"./render/primitives/geometry/GeometryAccumulator\";\r\nexport * from \"./render/primitives/geometry/GeometryList\";\r\nexport * from \"./render/primitives/geometry/GeometryListBuilder\";\r\nexport * from \"./render/primitives/geometry/GeometryPrimitives\";\r\nexport * from \"./render/primitives/mesh/MeshBuilder\";\r\nexport * from \"./render/primitives/mesh/MeshBuilderMap\";\r\nexport * from \"./render/primitives/mesh/MeshPrimitives\";\r\nexport * from \"./render/webgl/IModelFrameLifecycle\";\r\nexport * from \"./render/webgl/PerformanceMetrics\";\r\nexport * from \"./render/webgl/Target\";\r\nexport * from \"./tile/internal\";\r\nexport * from \"./tools/AccuDrawTool\";\r\nexport * from \"./tools/ClipViewTool\";\r\nexport * from \"./tools/EditManipulator\";\r\nexport * from \"./tools/ElementSetTool\";\r\nexport * from \"./tools/EventController\";\r\nexport * from \"./tools/IdleTool\";\r\nexport * from \"./tools/MeasureTool\";\r\nexport * from \"./tools/PrimitiveTool\";\r\nexport * from \"./tools/SelectTool\";\r\nexport * from \"./tools/Tool\";\r\nexport * from \"./tools/ToolSettings\";\r\nexport * from \"./tools/ToolAdmin\";\r\nexport * from \"./tools/ToolAssistance\";\r\nexport * from \"./tools/ViewTool\";\r\nexport * from \"./BackgroundMapGeometry\";\r\nexport * from \"./ViewCreator2d\";\r\nexport * from \"./ViewCreator3d\";\r\nexport * from \"./LocalhostIpcApp\";\r\nexport * from \"./RealityDataSource\";\r\n// TODO/FIX: \"./extension/ExtensionRuntime\" import has to be last to avoid circular dependency errors.\r\nimport \"./extension/ExtensionRuntime\";\r\n\r\n/** @docs-package-description\r\n * The core-frontend package always runs in a web browser. It contains classes for [querying iModels and showing views]($docs/learning/frontend/index.md).\r\n */\r\n\r\n/**\r\n * @docs-group-description IModelApp\r\n * Classes for configuring and administering an iTwin.js application.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description IModelConnection\r\n * Classes for working with a connection to an [iModel briefcase]($docs/learning/IModels.md)\r\n */\r\n/**\r\n * @docs-group-description ElementState\r\n * Classes for working with the *state* of Elements in the frontend.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description ModelState\r\n * Classes for working with the *state* of Models in the frontend.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Tools\r\n * Classes for [working with Tools]($docs/learning/frontend/Tools.md)\r\n */\r\n/**\r\n * @docs-group-description Measure\r\n * Classes for reporting point to point distances and mass properties of elements.\r\n */\r\n/**\r\n * @docs-group-description Views\r\n * Classes for [working with Views]($docs/learning/frontend/Views.md)\r\n */\r\n/**\r\n * @docs-group-description LocatingElements\r\n * Classes for locating and snapping to elements in views.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description AccuDraw\r\n * AccuDraw provides helpful assistance for creating and modifying elements in a view.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Notifications\r\n * Notifications provide feedback to the user of something of interest.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Extensions\r\n * Classes for creating and managing Extensions.\r\n */\r\n/**\r\n * @docs-group-description Properties\r\n * Classes for working with property records and descriptions.\r\n */\r\n/**\r\n * @docs-group-description Rendering\r\n * Classes for rendering the contents of views.\r\n */\r\n/**\r\n * @docs-group-description SelectionSet\r\n * Classes for working with the set of selected elements.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description NativeApp\r\n * Classes for working with Native Applications\r\n */\r\n/**\r\n * @docs-group-description Utils\r\n * Miscellaneous utility classes.\r\n */\r\n/**\r\n * @docs-group-description Logging\r\n * Logger categories used by this package\r\n */\r\n/**\r\n * @docs-group-description QuantityFormatting\r\n * Classes for formatting and parsing quantity values.\r\n */\r\n/**\r\n * @docs-group-description Tiles\r\n * Classes representing graphics as [hierarchical 3d tiles](https://github.com/CesiumGS/3d-tiles).\r\n */\r\n/**\r\n * @docs-group-description HubAccess\r\n * APIs for working with IModelHub\r\n */\r\n/**\r\n * @docs-group-description UserPreferences\r\n * APIs for working with user preferences in an iModelApp.\r\n * See [the learning articles]($docs/learning/frontend/preferences.md).\r\n */\r\n/**\r\n * @docs-group-description MapLayers\r\n * Classes supporting map layers display.\r\n */\r\n/**\r\n * @docs-group-description TileStorage\r\n * Class for working with cloud storage using iTwin/object-storage cloud providers\r\n*/\r\n"]}
1
+ {"version":3,"file":"core-frontend.js","sourceRoot":"","sources":["../../src/core-frontend.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\nexport * from \"./AccuDraw\";\r\nexport * from \"./AccuSnap\";\r\nexport * from \"./AuxCoordSys\";\r\nexport * from \"./BingLocation\";\r\nexport * from \"./BriefcaseConnection\";\r\nexport * from \"./BriefcaseTxns\";\r\nexport * from \"./CategorySelectorState\";\r\nexport * from \"./ChangeFlags\";\r\nexport * from \"./CheckpointConnection\";\r\nexport * from \"./common/FrontendLoggerCategory\";\r\nexport * from \"./common/gltf/GltfModel\";\r\nexport * from \"./common/gltf/GltfParser\";\r\nexport * from \"./common/gltf/GltfSchema\";\r\nexport * from \"./common/ImageUtil\";\r\nexport * from \"./common/imdl/ImdlModel\";\r\nexport * from \"./common/imdl/ImdlSchema\";\r\nexport * from \"./common/imdl/ParseImdlDocument\";\r\nexport * from \"./common/render/AnimationNodeId\";\r\nexport * from \"./common/render/MaterialParams\";\r\nexport * from \"./common/render/primitives/AuxChannelTable\";\r\nexport * from \"./common/render/primitives/DisplayParams\";\r\nexport * from \"./common/render/primitives/EdgeParams\";\r\nexport * from \"./common/render/primitives/MeshParams\";\r\nexport * from \"./common/render/primitives/MeshPrimitive\";\r\nexport * from \"./common/render/primitives/PointStringParams\";\r\nexport * from \"./common/render/primitives/PolylineParams\";\r\nexport * from \"./common/render/primitives/SurfaceParams\";\r\nexport * from \"./common/render/primitives/VertexIndices\";\r\nexport * from \"./common/render/primitives/VertexTable\";\r\nexport * from \"./common/render/primitives/VertexTableSplitter\";\r\nexport * from \"./common/render/TextureParams\";\r\nexport * from \"./common/ViewRect\";\r\nexport * from \"./common/WorkerProxy\";\r\nexport * from \"./ContextRealityModelState\";\r\nexport * from \"./CoordSystem\";\r\nexport * from \"./DecorationsCache\";\r\nexport * from \"./DevTools\";\r\nexport * from \"./DisplayStyleState\";\r\nexport * from \"./DrawingViewState\";\r\nexport * from \"./ElementLocateManager\";\r\nexport * from \"./EmphasizeElements\";\r\nexport * from \"./EntityState\";\r\nexport * from \"./EnvironmentDecorations\";\r\nexport * from \"./FeatureOverrideProvider\";\r\nexport * from \"./FlashSettings\";\r\nexport * from \"./FrontendHubAccess\";\r\nexport * from \"./Frustum2d\";\r\nexport * from \"./FrustumAnimator\";\r\nexport * from \"./FuzzySearch\";\r\nexport * from \"./GeoServices\";\r\nexport * from \"./GlobeAnimator\";\r\nexport * from \"./GraphicalEditingScope\";\r\nexport * from \"./HitDetail\";\r\nexport * from \"./IModelApp\";\r\nexport * from \"./IModelConnection\";\r\nexport * from \"./IModelRoutingContext\";\r\nexport * from \"./IpcApp\";\r\nexport * from \"./LinePlaneIntersect\";\r\nexport * from \"./MarginPercent\";\r\nexport * from \"./Marker\";\r\nexport * from \"./ModelSelectorState\";\r\nexport * from \"./ModelState\";\r\nexport * from \"./NativeApp\";\r\nexport * from \"./NativeAppLogger\";\r\nexport * from \"./NoRenderApp\";\r\nexport * from \"./NotificationManager\";\r\nexport * from \"./PerModelCategoryVisibility\";\r\nexport * from \"./PlanarClipMaskState\";\r\nexport * from \"./SelectionSet\";\r\nexport * from \"./SheetViewState\";\r\nexport * from \"./SpatialClassifiersState\";\r\nexport * from \"./SpatialViewState\";\r\nexport * from \"./Sprites\";\r\nexport * from \"./StandardView\";\r\nexport * from \"./SubCategoriesCache\";\r\nexport * from \"./TentativePoint\";\r\nexport * from \"./Tiles\";\r\nexport * from \"./UserPreferences\";\r\nexport * from \"./ViewAnimation\";\r\nexport * from \"./ViewContext\";\r\nexport * from \"./ViewGlobalLocation\";\r\nexport * from \"./ViewingSpace\";\r\nexport * from \"./ViewManager\";\r\nexport * from \"./Viewport\";\r\nexport * from \"./ViewportSync\";\r\nexport * from \"./ViewPose\";\r\nexport * from \"./ViewState\";\r\nexport * from \"./ViewStatus\";\r\nexport * from \"./extension/Extension\";\r\nexport * from \"./extension/providers/LocalExtensionProvider\";\r\nexport * from \"./extension/providers/RemoteExtensionProvider\";\r\nexport * from \"./properties/AngleDescription\";\r\nexport * from \"./properties/FormattedQuantityDescription\";\r\nexport * from \"./properties/LengthDescription\";\r\nexport * from \"./quantity-formatting/QuantityFormatter\";\r\nexport * from \"./quantity-formatting/BaseUnitFormattingSettingsProvider\";\r\nexport * from \"./quantity-formatting/LocalUnitFormatProvider\";\r\nexport * from \"./quantity-formatting/QuantityTypesEditorSpecs\";\r\nexport * from \"./render/CanvasDecoration\";\r\nexport * from \"./render/CreateRenderMaterialArgs\";\r\nexport * from \"./render/CreateTextureArgs\";\r\nexport * from \"./render/Decorations\";\r\nexport * from \"./render/FeatureSymbology\";\r\nexport * from \"./render/FrameStats\";\r\nexport * from \"./render/GraphicBranch\";\r\nexport * from \"./render/GraphicBuilder\";\r\nexport * from \"./render/GraphicPrimitive\";\r\nexport * from \"./render/InstancedGraphicParams\";\r\nexport * from \"./render/MockRender\";\r\nexport * from \"./render/ParticleCollectionBuilder\";\r\nexport * from \"./render/Pixel\";\r\nexport * from \"./render/RealityMeshGraphicParams\";\r\nexport * from \"./render/RealityMeshParams\";\r\nexport * from \"./render/RenderClipVolume\";\r\nexport * from \"./render/RenderGraphic\";\r\nexport * from \"./render/RenderMemory\";\r\nexport * from \"./render/RenderPlan\";\r\nexport * from \"./render/RenderPlanarClassifier\";\r\nexport * from \"./render/RenderSystem\";\r\nexport * from \"./render/RenderTarget\";\r\nexport * from \"./render/Scene\";\r\nexport * from \"./render/ScreenSpaceEffectBuilder\";\r\nexport * from \"./render/VisibleFeature\";\r\nexport * from \"./render/primitives/ColorMap\";\r\nexport * from \"./render/primitives/EdgeParams\";\r\nexport * from \"./render/primitives/PointCloudPrimitive\";\r\nexport * from \"./render/primitives/PointStringParams\";\r\nexport * from \"./render/primitives/Polyface\";\r\nexport * from \"./render/primitives/PolylineParams\";\r\nexport * from \"./render/primitives/Primitives\";\r\nexport * from \"./render/primitives/Strokes\";\r\nexport * from \"./render/primitives/VertexKey\";\r\nexport * from \"./render/primitives/VertexTableBuilder\";\r\nexport * from \"./render/primitives/geometry/GeometryAccumulator\";\r\nexport * from \"./render/primitives/geometry/GeometryList\";\r\nexport * from \"./render/primitives/geometry/GeometryListBuilder\";\r\nexport * from \"./render/primitives/geometry/GeometryPrimitives\";\r\nexport * from \"./render/primitives/mesh/MeshBuilder\";\r\nexport * from \"./render/primitives/mesh/MeshBuilderMap\";\r\nexport * from \"./render/primitives/mesh/MeshPrimitives\";\r\nexport * from \"./render/webgl/IModelFrameLifecycle\";\r\nexport * from \"./render/webgl/PerformanceMetrics\";\r\nexport * from \"./render/webgl/Target\";\r\nexport * from \"./tile/internal\";\r\nexport * from \"./tools/AccuDrawTool\";\r\nexport * from \"./tools/ClipViewTool\";\r\nexport * from \"./tools/EditManipulator\";\r\nexport * from \"./tools/ElementSetTool\";\r\nexport * from \"./tools/EventController\";\r\nexport * from \"./tools/IdleTool\";\r\nexport * from \"./tools/MeasureTool\";\r\nexport * from \"./tools/PrimitiveTool\";\r\nexport * from \"./tools/SelectTool\";\r\nexport * from \"./tools/Tool\";\r\nexport * from \"./tools/ToolSettings\";\r\nexport * from \"./tools/ToolAdmin\";\r\nexport * from \"./tools/ToolAssistance\";\r\nexport * from \"./tools/ViewTool\";\r\nexport * from \"./BackgroundMapGeometry\";\r\nexport * from \"./ViewCreator2d\";\r\nexport * from \"./ViewCreator3d\";\r\nexport * from \"./LocalhostIpcApp\";\r\nexport * from \"./request/utils\";\r\nexport * from \"./RealityDataSource\";\r\n// TODO/FIX: \"./extension/ExtensionRuntime\" import has to be last to avoid circular dependency errors.\r\nimport \"./extension/ExtensionRuntime\";\r\n\r\n/** @docs-package-description\r\n * The core-frontend package always runs in a web browser. It contains classes for [querying iModels and showing views]($docs/learning/frontend/index.md).\r\n */\r\n\r\n/**\r\n * @docs-group-description IModelApp\r\n * Classes for configuring and administering an iTwin.js application.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description IModelConnection\r\n * Classes for working with a connection to an [iModel briefcase]($docs/learning/IModels.md)\r\n */\r\n/**\r\n * @docs-group-description ElementState\r\n * Classes for working with the *state* of Elements in the frontend.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description ModelState\r\n * Classes for working with the *state* of Models in the frontend.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Tools\r\n * Classes for [working with Tools]($docs/learning/frontend/Tools.md)\r\n */\r\n/**\r\n * @docs-group-description Measure\r\n * Classes for reporting point to point distances and mass properties of elements.\r\n */\r\n/**\r\n * @docs-group-description Views\r\n * Classes for [working with Views]($docs/learning/frontend/Views.md)\r\n */\r\n/**\r\n * @docs-group-description LocatingElements\r\n * Classes for locating and snapping to elements in views.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description AccuDraw\r\n * AccuDraw provides helpful assistance for creating and modifying elements in a view.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Notifications\r\n * Notifications provide feedback to the user of something of interest.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Extensions\r\n * Classes for creating and managing Extensions.\r\n */\r\n/**\r\n * @docs-group-description Properties\r\n * Classes for working with property records and descriptions.\r\n */\r\n/**\r\n * @docs-group-description Rendering\r\n * Classes for rendering the contents of views.\r\n */\r\n/**\r\n * @docs-group-description SelectionSet\r\n * Classes for working with the set of selected elements.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description NativeApp\r\n * Classes for working with Native Applications\r\n */\r\n/**\r\n * @docs-group-description Utils\r\n * Miscellaneous utility classes.\r\n */\r\n/**\r\n * @docs-group-description Logging\r\n * Logger categories used by this package\r\n */\r\n/**\r\n * @docs-group-description QuantityFormatting\r\n * Classes for formatting and parsing quantity values.\r\n */\r\n/**\r\n * @docs-group-description Tiles\r\n * Classes representing graphics as [hierarchical 3d tiles](https://github.com/CesiumGS/3d-tiles).\r\n */\r\n/**\r\n * @docs-group-description HubAccess\r\n * APIs for working with IModelHub\r\n */\r\n/**\r\n * @docs-group-description UserPreferences\r\n * APIs for working with user preferences in an iModelApp.\r\n * See [the learning articles]($docs/learning/frontend/preferences.md).\r\n */\r\n/**\r\n * @docs-group-description MapLayers\r\n * Classes supporting map layers display.\r\n */\r\n/**\r\n * @docs-group-description TileStorage\r\n * Class for working with cloud storage using iTwin/object-storage cloud providers\r\n*/\r\n"]}
@@ -105,6 +105,8 @@ export interface PickableGraphicOptions extends BatchOptions {
105
105
  geometryClass?: GeometryClass;
106
106
  /** The optional Id of the model with which the graphic should be associated. */
107
107
  modelId?: Id64String;
108
+ /** True if the graphic is to be used as a [[DynamicSpatialClassifier]] to classify volumes of a reality model. */
109
+ isVolumeClassifier?: boolean;
108
110
  }
109
111
  /** Options for creating a [[GraphicBuilder]] used by functions like [[DecorateContext.createGraphic]] and [[RenderSystem.createGraphic]].
110
112
  * @see [[ViewportGraphicBuilderOptions]] to create a graphic builder for a [[Viewport]].
@@ -1 +1 @@
1
- {"version":3,"file":"GraphicBuilder.d.ts","sourceRoot":"","sources":["../../../src/render/GraphicBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GraphicBuilder.d.ts","sourceRoot":"","sources":["../../../src/render/GraphicBuilder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"GraphicBuilder.js","sourceRoot":"","sources":["../../../src/render/GraphicBuilder.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/** @packageDocumentation\r\n * @module Rendering\r\n */\r\n\r\nimport { assert, Id64String } from \"@itwin/core-bentley\";\r\nimport {\r\n AnyCurvePrimitive, Arc3d, Box, Loop, Path, Point2d, Point3d, Polyface, Range3d, SolidPrimitive, Transform,\r\n} from \"@itwin/core-geometry\";\r\nimport { AnalysisStyle, ColorDef, Feature, Frustum, GeometryClass, GraphicParams, LinePixels, Npc } from \"@itwin/core-common\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { Viewport } from \"../Viewport\";\r\nimport { RenderGraphic } from \"./RenderGraphic\";\r\nimport { GraphicPrimitive } from \"./GraphicPrimitive\";\r\n\r\n/**\r\n * Describes the type of a [[GraphicBuilder]], which defines the coordinate system in which the builder's geometry is defined and\r\n * controls the behavior of the [[RenderGraphic]] produced by the builder.\r\n * @note For those types for which depth-testing is disabled, the order in which the individual geometric primitives are drawn determines which geometry draws on top of other geometry.\r\n * - Within a [[GraphicList]], each [[RenderGraphic]] is rendered in the order in which it appears in the list; and\r\n * - Within a single [[RenderGraphic]], each geometric primitive is rendered in the ordered in which it was added to the GraphicBuilder.\r\n * @public\r\n * @extensions\r\n */\r\nexport enum GraphicType {\r\n /**\r\n * Renders behind all other graphics. For example, the border of a [[SheetViewState]] is of this type.\r\n * Coordinates: [[CoordSystem.View]].\r\n * [[RenderMode]]: [[RenderMode.SmoothShade]].\r\n * Lighting: none.\r\n * Depth-testing: disabled.\r\n * @see [[Decorations.viewBackground]]\r\n */\r\n ViewBackground,\r\n /** Used for the scene itself, dynamics, and 'normal' decorations. */\r\n /**\r\n * Renders as if it were part of the scene. All of the [[ViewFlags]] applied to the view's normal geometry also applies to these types of decorations.\r\n * Coordinates: [[CoordSystem.World]].\r\n * Lighting and [[RenderMode]]: from view.\r\n * Depth-testing: enabled.\r\n * @see [[Decorations.normal]].\r\n */\r\n Scene,\r\n /** Renders within the scene. Coordinates: world. RenderMode: smooth. Lighting: default. Z-testing: enabled */\r\n /** Renders within the scene, but ignores the view's [[ViewFlags]].\r\n * Coordinates: [[CoordSystem.World]].\r\n * Lighting: default.\r\n * [[RenderMode]]: [[RenderMode.SmoothShade]].\r\n * Depth-testing: enabled.\r\n * @see [[Decorations.world]].\r\n */\r\n WorldDecoration,\r\n /**\r\n * Renders as an overlay on top of the scene. These decorations differ from [[GraphicType.WorldDecoration]] only in that depth-testing is disabled.\r\n * For example, the ACS triad and [[WindowAreaTool]] decorations are of this type.\r\n * Coordinates: [[CoordSystem.World]].\r\n * [[RenderMode]]: [[RenderMode.SmoothShade]]\r\n * Lighting: default.\r\n * Depth-testing: disabled.\r\n * Renders atop the scene. Coordinates: world. RenderMode: smooth. Lighting: none. Z-testing: disabled\r\n * @note Overlay decorations typically employ some degree of transparency to ensure that they do not fully obscure the scene.\r\n * @see [[Decorations.worldOverlay]]\r\n */\r\n WorldOverlay,\r\n /**\r\n * Renders as an overlay on top of the scene. These decorations differ from [[GraphicType.WorldOverlay]] only in that their geometry is defined in view coordinates rather than world.\r\n * Coordinates: [[CoordSystem.View]].\r\n * [[RenderMode]]: [[RenderMode.SmoothShade]]\r\n * Lighting: default.\r\n * Depth-testing: disabled.\r\n * @note For more flexibility in defining view overlay decorations, consider using a [[CanvasDecorationList]].\r\n * @see [[Decorations.viewOverlay]]\r\n */\r\n ViewOverlay,\r\n}\r\n\r\n/** Options used when constructing a `Batch` - that is, a [[RenderGraphic]] with an associated [FeatureTable]($common) describing individual [Feature]($common)s within the\r\n * graphic. Individual features can be resymbolized in a variety of ways including flashing and hiliting.\r\n * For example, to prevent graphics produced by [[readElementGraphics]] from being hilited when their corresponding element is in the [[SelectionSet]],\r\n * pass `{ noHilite: true }` to [[readElementGraphics]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface BatchOptions {\r\n /** Identifies the [[Tile]] associated with the batch, chiefly for debugging purposes.\r\n * @beta\r\n */\r\n tileId?: string;\r\n /** If true, features within the batch will not be flashed on mouseover. */\r\n noFlash?: boolean;\r\n /** If true, features within the batch will not be hilited when their corresponding element is in the [[SelectionSet]]. */\r\n noHilite?: boolean;\r\n /** If true, features within the batch will not be emphasized when the corresponding [[Feature]] is emphasized using [FeatureOverrides]($common). */\r\n noEmphasis?: boolean;\r\n /** If true, the contents of the batch will only be drawn by [[Viewport.readPixels]], not [[Viewport.renderFrame]], causing them to be locatable but invisible. */\r\n locateOnly?: boolean;\r\n}\r\n\r\n/** Options used as part of [[GraphicBuilderOptions]] to describe a [pickable]($docs/learning/frontend/ViewDecorations#pickable-view-graphic-decorations) [[RenderGraphic]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface PickableGraphicOptions extends BatchOptions {\r\n /** A unique identifier for the graphic.\r\n * @see [[IModelConnection.transientIds]] to obtain a unique Id in the context of an iModel.\r\n * @see [[GraphicBuilder.activatePickableId]] or [[GraphicBuilder.activateFeature]] to change the pickable object while adding geometry.\r\n */\r\n id: Id64String;\r\n /** Optional Id of the subcategory with which the graphic should be associated. */\r\n subCategoryId?: Id64String;\r\n /** Optional geometry class for the graphic - defaults to [GeometryClass.Primary]($common). */\r\n geometryClass?: GeometryClass;\r\n /** The optional Id of the model with which the graphic should be associated. */\r\n modelId?: Id64String;\r\n}\r\n\r\n/** Options for creating a [[GraphicBuilder]] used by functions like [[DecorateContext.createGraphic]] and [[RenderSystem.createGraphic]].\r\n * @see [[ViewportGraphicBuilderOptions]] to create a graphic builder for a [[Viewport]].\r\n * @see [[CustomGraphicBuilderOptions]] to create a graphic builder unassociated with any [[Viewport]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GraphicBuilderOptions {\r\n /** The type of graphic to produce. */\r\n type: GraphicType;\r\n\r\n /** The local-to-world transform in which the builder's geometry is to be defined - by default, an identity transform. */\r\n placement?: Transform;\r\n\r\n /** If the graphic is to be pickable, specifies the pickable Id and other options. */\r\n pickable?: PickableGraphicOptions;\r\n\r\n /** If true, the order in which geometry is added to the builder is preserved.\r\n * This is useful for overlay and background graphics because they draw without using the depth buffer. For example, to draw an overlay containing a red shape with a white outline,\r\n * you would add the shape to the GraphicBuilder first, followed by the outline, to ensure the outline draws \"in front of\" the shape.\r\n * It defaults to true for overlays and background graphics, and false for other graphic types.\r\n * It is not useful for other types of graphics and imposes a performance penalty due to increased number of draw calls.\r\n * For overlay and background graphics that do not need to draw in any particular order, the performance penalty can be eliminated by setting this to `false`.\r\n */\r\n preserveOrder?: boolean;\r\n\r\n /** Controls whether normals are generated for surfaces. Normals allow 3d geometry to receive lighting; without them the geometry will be unaffected by lighting.\r\n * By default, normals are generated only for graphics of type [[GraphicType.Scene]]; or for any type of graphic if [[GraphicBuilder.wantEdges]] is true, because\r\n * normals are required to prevent z-fighting between surfaces and their edges. This default can be overridden by explicitly specifying `true` or `false`.\r\n * @see [[GraphicType]] for a description of whether and how different types of graphics are affected by lighting.\r\n */\r\n wantNormals?: boolean;\r\n\r\n /** Controls whether edges are generated for surfaces.\r\n * Edges are only displayed if [ViewFlags.renderMode]($common) is not [RenderMode.SmoothShade]($common) or [ViewFlags.visibleEdges]($common) is `true`.\r\n * Since all decoration graphics except [[GraphicType.Scene]] are drawn in smooth shaded mode with no visible edges, by default edges are only produced for scene graphics, and\r\n * - if a [[Viewport]] is supplied with the options - only if [ViewFlags.edgesRequired]($common) is true for the viewport.\r\n * That default can be overridden by explicitly specifying `true` or `false`. This can be useful for non-scene decorations contained in a [[GraphicBranch]] that applies [ViewFlagOverrides]($common)\r\n * that change the edge display settings; or for scene decorations that might be cached for reuse after the viewport's edge settings are changed.\r\n * @note Edges will tend to z-fight with their surfaces unless the graphic is [[pickable]].\r\n */\r\n generateEdges?: boolean;\r\n\r\n /** If defined, specifies a point about which the graphic will rotate such that it always faces the viewer.\r\n * This can be particular useful for planar regions to create a billboarding effect - e.g., to implement [[Marker]]-like WebGL decorations.\r\n * The graphic's [[placement]] transform is not applied to the point.\r\n * @note This has no effect for graphics displayed in a 2d view.\r\n */\r\n viewIndependentOrigin?: Point3d;\r\n}\r\n\r\n/** Options for creating a [[GraphicBuilder]] to produce a [[RenderGraphic]] to be displayed in a specific [[Viewport]].\r\n * The level of detail of the graphic will be computed from the position of its geometry within the viewport's [Frustum]($common).\r\n * Default values for [[GraphicBuilderOptions.wantNormals]] and [[GraphicBuilderOptions.generateEdges]] will be determined by the viewport's [ViewFlags]($common).\r\n * The [[GraphicBuilder.iModel]] will be set to the viewport's [[IModelConnection]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ViewportGraphicBuilderOptions extends GraphicBuilderOptions {\r\n /** The viewport in which the resultant [[RenderGraphic]] is to be drawn. */\r\n viewport: Viewport;\r\n\r\n /** If true, [[ViewState.getAspectRatioSkew]] will be taken into account when computing the level of detail for the produced graphics. */\r\n applyAspectRatioSkew?: boolean;\r\n\r\n iModel?: never;\r\n computeChordTolerance?: never;\r\n}\r\n\r\n/** Arguments used to compute the chord tolerance (level of detail) of the [[RenderGraphic]]s produced by a [[GraphicBuilder]].\r\n * Generally, the chord tolerance should be roughly equivalent to the size in meters of one pixel on screen where the graphic is to be displayed.\r\n * For [[GraphicType.ViewOverlay]] and [[GraphicType.ViewBackground]], which already define their geometry in pixels, the chord tolerance should typically be 1.\r\n * @see [[CustomGraphicBuilderOptions.computeChordTolerance]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ComputeChordToleranceArgs {\r\n /** The graphic builder being used to produce the graphics. */\r\n readonly graphic: GraphicBuilder;\r\n /** A function that computes a range enclosing all of the geometry that was added to the builder. */\r\n readonly computeRange: () => Range3d;\r\n}\r\n\r\n/** Options for creating a [[GraphicBuilder]] to produce a [[RenderGraphic]] that is not associated with any particular [[Viewport]] and may not be associated with\r\n * any particular [[IModelConnection]].\r\n * This is primarily useful when the same graphic is to be saved and reused for display in multiple viewports and for which a chord tolerance can be computed\r\n * independently of each viewport's [Frustum]($common).\r\n * @public\r\n * @extensions\r\n */\r\nexport interface CustomGraphicBuilderOptions extends GraphicBuilderOptions {\r\n /** Optionally, the IModelConnection with which the graphic is associated. */\r\n iModel?: IModelConnection;\r\n /** A function that can compute the level of detail for the graphics produced by the builder. */\r\n computeChordTolerance: (args: ComputeChordToleranceArgs) => number;\r\n\r\n applyAspectRatioSkew?: never;\r\n viewport?: never;\r\n}\r\n\r\n/** Provides methods for constructing a [[RenderGraphic]] from geometric primitives.\r\n * GraphicBuilder is primarily used for creating [[Decorations]] to be displayed inside a [[Viewport]].\r\n *\r\n * The typical process for constructing a [[RenderGraphic]] proceeds as follows:\r\n * 1. Use [[DecorateContext.createGraphic]] or [[RenderSystem.createGraphic]] to obtain a builder.\r\n * 2. Set up the symbology using [[GraphicBuilder.activateGraphicParams]] or [[GraphicBuilder.setSymbology]].\r\n * 3. Add one or more geometric primitives using methods like [[GraphicBuilder.addShape]] and [[GraphicBuilder.addLineString]], possibly setting new symbology in between.\r\n * 4. Use [[GraphicBuilder.finish]] to produce the finished [[RenderGraphic]].\r\n *\r\n * @note Most of the methods which add geometry to the builder take ownership of their inputs rather than cloning them.\r\n * So, for example, if you pass an array of points to addLineString(), you should not subsequently modify that array.\r\n *\r\n * @public\r\n * @extensions\r\n */\r\nexport abstract class GraphicBuilder {\r\n /** The local coordinate system transform applied to this builder's geometry.\r\n * @see [[GraphicBuilderOptions.placement]].\r\n */\r\n public readonly placement: Transform;\r\n\r\n /** The iModel associated with this builder, if any. */\r\n public readonly iModel?: IModelConnection;\r\n\r\n /** The type of graphic to be produced by this builder.\r\n * @see [[GraphicBuilderOptions.type]].\r\n */\r\n public readonly type: GraphicType;\r\n\r\n /** If the graphic is to be pickable, specifies the pickable Id and other options. */\r\n public readonly pickable?: Readonly<PickableGraphicOptions>;\r\n\r\n /** If true, the order in which geometry is added to the builder is preserved.\r\n * @see [[GraphicBuilderOptions.preserveOrder]] for more details.\r\n */\r\n public readonly preserveOrder: boolean;\r\n\r\n /** Controls whether normals are generated for surfaces.\r\n * @note Normals are required for proper edge display, so by default they are always produced if [[wantEdges]] is `true`.\r\n * @see [[GraphicBuilderOptions.wantNormals]] for more details.\r\n */\r\n public readonly wantNormals: boolean;\r\n\r\n /** Controls whether edges are generated for surfaces.\r\n * @see [[GraphicBuilderOptions.generateEdges]] for more details.\r\n */\r\n public readonly wantEdges: boolean;\r\n\r\n /** @alpha */\r\n public readonly analysisStyle?: AnalysisStyle;\r\n\r\n protected readonly _computeChordTolerance: (args: ComputeChordToleranceArgs) => number;\r\n protected readonly _options: CustomGraphicBuilderOptions | ViewportGraphicBuilderOptions;\r\n\r\n /** @internal */\r\n protected constructor(options: ViewportGraphicBuilderOptions | CustomGraphicBuilderOptions) {\r\n // Stored for potential use later in creating a new GraphicBuilder from this one (see PrimitiveBuilder.finishGraphic).\r\n this._options = options;\r\n\r\n const vp = options.viewport;\r\n this.placement = options.placement ?? Transform.createIdentity();\r\n this.iModel = vp?.iModel ?? options.iModel;\r\n this.type = options.type;\r\n this.pickable = options.pickable;\r\n this.wantEdges = options.generateEdges ?? (this.type === GraphicType.Scene && (!vp || vp.viewFlags.edgesRequired()));\r\n this.wantNormals = options.wantNormals ?? (this.wantEdges || this.type === GraphicType.Scene);\r\n this.preserveOrder = options.preserveOrder ?? (this.isOverlay || this.isViewBackground);\r\n\r\n if (!options.viewport) {\r\n this._computeChordTolerance = options.computeChordTolerance;\r\n return;\r\n }\r\n\r\n this.analysisStyle = options.viewport.displayStyle.settings.analysisStyle;\r\n\r\n this._computeChordTolerance = (args: ComputeChordToleranceArgs) => {\r\n let pixelSize = 1;\r\n if (!this.isViewCoordinates) {\r\n // Compute the horizontal distance in meters between two adjacent pixels at the center of the geometry.\r\n pixelSize = options.viewport.getPixelSizeAtPoint(args.computeRange().center);\r\n pixelSize = options.viewport.target.adjustPixelSizeForLOD(pixelSize);\r\n\r\n // Aspect ratio skew > 1.0 stretches the view in Y. In that case use the smaller vertical pixel distance for our stroke tolerance.\r\n const skew = options.applyAspectRatioSkew ? options.viewport.view.getAspectRatioSkew() : 0;\r\n if (skew > 1)\r\n pixelSize /= skew;\r\n }\r\n\r\n return pixelSize * 0.25;\r\n };\r\n }\r\n\r\n /** The Id to be associated with the graphic for picking.\r\n * @see [[GraphicBuilderOptions.pickable]] for more options.\r\n * @deprecated in 3.x. This provides only the **first** pickable Id for this graphic - you should keep track of the **current** pickable Id yourself.\r\n */\r\n public get pickId(): Id64String | undefined {\r\n return this.pickable?.id;\r\n }\r\n\r\n /** Whether the builder's geometry is defined in [[CoordSystem.View]] coordinates.\r\n * @see [[isWorldCoordinates]].\r\n */\r\n public get isViewCoordinates(): boolean {\r\n return this.type === GraphicType.ViewBackground || this.type === GraphicType.ViewOverlay;\r\n }\r\n\r\n /** Whether the builder's geometry is defined in [[CoordSystem.World]] coordinates.\r\n * @see [[isViewCoordinates]].\r\n */\r\n public get isWorldCoordinates(): boolean {\r\n return !this.isViewCoordinates;\r\n }\r\n\r\n /** True if the builder produces a graphic of [[GraphicType.Scene]]. */\r\n public get isSceneGraphic(): boolean {\r\n return this.type === GraphicType.Scene;\r\n }\r\n\r\n /** True if the builder produces a graphic of [[GraphicType.ViewBackground]]. */\r\n public get isViewBackground(): boolean {\r\n return this.type === GraphicType.ViewBackground;\r\n }\r\n\r\n /** True if the builder produces a graphic of [[GraphicType.WorldOverlay]] or [[GraphicType.ViewOerlay]]. */\r\n public get isOverlay(): boolean {\r\n return this.type === GraphicType.ViewOverlay || this.type === GraphicType.WorldOverlay;\r\n }\r\n\r\n /**\r\n * Processes the accumulated symbology and geometry to produce a renderable graphic.\r\n * This function can only be called once; after the [[RenderGraphic]] has been extracted the [[GraphicBuilder]] should no longer be used.\r\n */\r\n public abstract finish(): RenderGraphic;\r\n\r\n /** Sets the current active symbology for this builder. Any new geometry subsequently added to the builder will be drawn using the specified symbology.\r\n * @param graphicParams The symbology to apply to subsequent geometry.\r\n * @see [[GraphicBuilder.setSymbology]] for a convenient way to set common symbology options.\r\n */\r\n public abstract activateGraphicParams(graphicParams: GraphicParams): void;\r\n\r\n /** Called by [[activateFeature]] after validation to change the [Feature]($common) to be associated with subsequently-added geometry.\r\n * This default implementation does nothing.\r\n */\r\n protected _activateFeature(_feature: Feature): void { }\r\n\r\n /** Change the [Feature]($common) to be associated with subsequently-added geometry. This permits multiple features to be batched together into a single graphic\r\n * for more efficient rendering.\r\n * @note This method has no effect if [[GraphicBuilderOptions.pickable]] was not supplied to the GraphicBuilder's constructor.\r\n */\r\n public activateFeature(feature: Feature): void {\r\n assert(undefined !== this._options.pickable, \"GraphicBuilder.activateFeature has no effect if PickableGraphicOptions were not supplied\");\r\n if (this._options.pickable)\r\n this._activateFeature(feature);\r\n }\r\n\r\n /** Change the pickable Id to be associated with subsequently-added geometry. This permits multiple pickable objects to be batched together into a single graphic\r\n * for more efficient rendering. This method calls [[activateFeature]], using the subcategory Id and [GeometryClass]($common) specified in [[GraphicBuilder.pickable]]\r\n * at construction, if any.\r\n * @note This method has no effect if [[GraphicBuilderOptions.pickable]] was not supplied to the GraphicBuilder's constructor.\r\n */\r\n public activatePickableId(id: Id64String): void {\r\n const pick = this._options.pickable;\r\n this.activateFeature(new Feature(id, pick?.subCategoryId, pick?.geometryClass));\r\n }\r\n\r\n /**\r\n * Appends a 3d line string to the builder.\r\n * @param points Array of vertices in the line string.\r\n */\r\n public abstract addLineString(points: Point3d[]): void;\r\n\r\n /**\r\n * Appends a 2d line string to the builder.\r\n * @param points Array of vertices in the line string.\r\n * @param zDepth Z value in local coordinates to use for each point.\r\n */\r\n public abstract addLineString2d(points: Point2d[], zDepth: number): void;\r\n\r\n /**\r\n * Appends a 3d point string to the builder. The points are drawn disconnected, with a diameter in pixels defined by the builder's active [[GraphicParams.rasterWidth]].\r\n * @param points Array of vertices in the point string.\r\n */\r\n public abstract addPointString(points: Point3d[]): void;\r\n\r\n /**\r\n * Appends a 2d point string to the builder. The points are drawn disconnected, with a diameter in pixels defined by the builder's active [[GraphicParams.rasterWidth]].\r\n * @param points Array of vertices in the point string.\r\n * @param zDepth Z value in local coordinates to use for each point.\r\n */\r\n public abstract addPointString2d(points: Point2d[], zDepth: number): void;\r\n\r\n /**\r\n * Appends a closed 3d planar region to the builder.\r\n * @param points Array of vertices of the shape.\r\n */\r\n public abstract addShape(points: Point3d[]): void;\r\n\r\n /**\r\n * Appends a closed 2d region to the builder.\r\n * @param points Array of vertices of the shape.\r\n * @param zDepth Z value in local coordinates to use for each point.\r\n */\r\n public abstract addShape2d(points: Point2d[], zDepth: number): void;\r\n\r\n /**\r\n * Appends a 3d open arc or closed ellipse to the builder.\r\n * @param arc Description of the arc or ellipse.\r\n * @param isEllipse If true, and if the arc defines a full sweep, then draw as a closed ellipse instead of an arc.\r\n * @param filled If true, and isEllipse is also true, then draw ellipse filled.\r\n */\r\n public abstract addArc(arc: Arc3d, isEllipse: boolean, filled: boolean): void;\r\n\r\n /**\r\n * Appends a 2d open arc or closed ellipse to the builder.\r\n * @param arc Description of the arc or ellipse.\r\n * @param isEllipse If true, and if the arc defines a full sweep, then draw as a closed ellipse instead of an arc.\r\n * @param filled If true, and isEllipse is also true, then draw ellipse filled.\r\n * @param zDepth Z value in local coordinates to use for each point in the arc or ellipse.\r\n */\r\n public abstract addArc2d(ellipse: Arc3d, isEllipse: boolean, filled: boolean, zDepth: number): void;\r\n\r\n /** Append a 3d open path to the builder. */\r\n public abstract addPath(path: Path): void;\r\n\r\n /** Append a 3d planar region to the builder. */\r\n public abstract addLoop(loop: Loop): void;\r\n\r\n /** Append a [CurvePrimitive]($core-geometry) to the builder. */\r\n public addCurvePrimitive(curve: AnyCurvePrimitive): void {\r\n switch (curve.curvePrimitiveType) {\r\n case \"lineString\":\r\n this.addLineString(curve.points);\r\n break;\r\n case \"lineSegment\":\r\n this.addLineString([curve.startPoint(), curve.endPoint()]);\r\n break;\r\n case \"arc\":\r\n this.addArc(curve, false, false);\r\n break;\r\n default:\r\n const path = new Path();\r\n if (path.tryAddChild(curve))\r\n this.addPath(path);\r\n\r\n break;\r\n }\r\n }\r\n\r\n /** Append a mesh to the builder.\r\n * @param meshData Describes the mesh\r\n * @param filled If the mesh describes a planar region, indicates whether its interior area should be drawn with fill in [[RenderMode.Wireframe]].\r\n */\r\n public abstract addPolyface(meshData: Polyface, filled: boolean): void;\r\n\r\n /** Append a solid primitive to the builder. */\r\n public abstract addSolidPrimitive(solidPrimitive: SolidPrimitive): void;\r\n\r\n /** Append any primitive to the builder.\r\n * @param primitive The graphic primitive to append.\r\n */\r\n public addPrimitive(primitive: GraphicPrimitive): void {\r\n switch (primitive.type) {\r\n case \"linestring\":\r\n this.addLineString(primitive.points);\r\n break;\r\n case \"linestring2d\":\r\n this.addLineString2d(primitive.points, primitive.zDepth);\r\n break;\r\n case \"pointstring\":\r\n this.addPointString(primitive.points);\r\n break;\r\n case \"pointstring2d\":\r\n this.addPointString2d(primitive.points, primitive.zDepth);\r\n break;\r\n case \"shape\":\r\n this.addShape(primitive.points);\r\n break;\r\n case \"shape2d\":\r\n this.addShape2d(primitive.points, primitive.zDepth);\r\n break;\r\n case \"arc\":\r\n this.addArc(primitive.arc, true === primitive.isEllipse, true === primitive.filled);\r\n break;\r\n case \"arc2d\":\r\n this.addArc2d(primitive.arc, true === primitive.isEllipse, true === primitive.filled, primitive.zDepth);\r\n break;\r\n case \"path\":\r\n this.addPath(primitive.path);\r\n break;\r\n case \"loop\":\r\n this.addLoop(primitive.loop);\r\n break;\r\n case \"polyface\":\r\n this.addPolyface(primitive.polyface, true === primitive.filled);\r\n break;\r\n case \"solidPrimitive\":\r\n this.addSolidPrimitive(primitive.solidPrimitive);\r\n break;\r\n }\r\n }\r\n\r\n /** Add a box representing a volume of space. Typically used for debugging purposes.\r\n * @param range The volume of space.\r\n * @param solid If true, a [[Box]] solid primitive will be added; otherwise, a wireframe outline of the box will be added.\r\n */\r\n public addRangeBox(range: Range3d, solid = false): void {\r\n if (!solid) {\r\n this.addFrustum(Frustum.fromRange(range));\r\n return;\r\n }\r\n\r\n const box = Box.createRange(range, true);\r\n if (box)\r\n this.addSolidPrimitive(box);\r\n }\r\n\r\n /** Add Frustum edges. Useful for debugging. */\r\n public addFrustum(frustum: Frustum) {\r\n this.addRangeBoxFromCorners(frustum.points);\r\n }\r\n\r\n /** Add range edges from corner points */\r\n public addRangeBoxFromCorners(p: Point3d[]) {\r\n this.addLineString([\r\n p[Npc.LeftBottomFront],\r\n p[Npc.LeftTopFront],\r\n p[Npc.RightTopFront],\r\n p[Npc.RightBottomFront],\r\n p[Npc.RightBottomRear],\r\n p[Npc.RightTopRear],\r\n p[Npc.LeftTopRear],\r\n p[Npc.LeftBottomRear],\r\n p[Npc.LeftBottomFront].clone(),\r\n p[Npc.RightBottomFront].clone(),\r\n ]);\r\n\r\n this.addLineString([p[Npc.LeftTopFront].clone(), p[Npc.LeftTopRear].clone()]);\r\n this.addLineString([p[Npc.RightTopFront].clone(), p[Npc.RightTopRear].clone()]);\r\n this.addLineString([p[Npc.LeftBottomRear].clone(), p[Npc.RightBottomRear].clone()]);\r\n }\r\n\r\n /** Sets the current active symbology for this builder. Any new geometry subsequently added will be drawn using the specified symbology.\r\n * @param lineColor The color in which to draw lines.\r\n * @param fillColor The color in which to draw filled regions.\r\n * @param lineWidth The width in pixels to draw lines. The renderer will clamp this value to an integer in the range [1, 32].\r\n * @param linePixels The pixel pattern in which to draw lines.\r\n * @see [[GraphicBuilder.activateGraphicParams]] for additional symbology options.\r\n */\r\n public setSymbology(lineColor: ColorDef, fillColor: ColorDef, lineWidth: number, linePixels = LinePixels.Solid) {\r\n this.activateGraphicParams(GraphicParams.fromSymbology(lineColor, fillColor, lineWidth, linePixels));\r\n }\r\n\r\n /** Set the current active symbology for this builder to be a blanking fill before adding a planar region.\r\n * A planar region drawn with blanking fill renders behind other geometry in the same graphic.\r\n * Blanking fill is not affected by the fill [[ViewFlags]] being disabled.\r\n * An example would be to add a line to a graphic containing a shape with blanking fill so that the line is always shown in front of the fill.\r\n * @param fillColor The color in which to draw filled regions.\r\n */\r\n public setBlankingFill(fillColor: ColorDef) { this.activateGraphicParams(GraphicParams.fromBlankingFill(fillColor)); }\r\n}\r\n"]}
1
+ {"version":3,"file":"GraphicBuilder.js","sourceRoot":"","sources":["../../../src/render/GraphicBuilder.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/** @packageDocumentation\r\n * @module Rendering\r\n */\r\n\r\nimport { assert, Id64String } from \"@itwin/core-bentley\";\r\nimport {\r\n AnyCurvePrimitive, Arc3d, Box, Loop, Path, Point2d, Point3d, Polyface, Range3d, SolidPrimitive, Transform,\r\n} from \"@itwin/core-geometry\";\r\nimport { AnalysisStyle, ColorDef, Feature, Frustum, GeometryClass, GraphicParams, LinePixels, Npc } from \"@itwin/core-common\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { Viewport } from \"../Viewport\";\r\nimport { RenderGraphic } from \"./RenderGraphic\";\r\nimport { GraphicPrimitive } from \"./GraphicPrimitive\";\r\n\r\n/**\r\n * Describes the type of a [[GraphicBuilder]], which defines the coordinate system in which the builder's geometry is defined and\r\n * controls the behavior of the [[RenderGraphic]] produced by the builder.\r\n * @note For those types for which depth-testing is disabled, the order in which the individual geometric primitives are drawn determines which geometry draws on top of other geometry.\r\n * - Within a [[GraphicList]], each [[RenderGraphic]] is rendered in the order in which it appears in the list; and\r\n * - Within a single [[RenderGraphic]], each geometric primitive is rendered in the ordered in which it was added to the GraphicBuilder.\r\n * @public\r\n * @extensions\r\n */\r\nexport enum GraphicType {\r\n /**\r\n * Renders behind all other graphics. For example, the border of a [[SheetViewState]] is of this type.\r\n * Coordinates: [[CoordSystem.View]].\r\n * [[RenderMode]]: [[RenderMode.SmoothShade]].\r\n * Lighting: none.\r\n * Depth-testing: disabled.\r\n * @see [[Decorations.viewBackground]]\r\n */\r\n ViewBackground,\r\n /** Used for the scene itself, dynamics, and 'normal' decorations. */\r\n /**\r\n * Renders as if it were part of the scene. All of the [[ViewFlags]] applied to the view's normal geometry also applies to these types of decorations.\r\n * Coordinates: [[CoordSystem.World]].\r\n * Lighting and [[RenderMode]]: from view.\r\n * Depth-testing: enabled.\r\n * @see [[Decorations.normal]].\r\n */\r\n Scene,\r\n /** Renders within the scene. Coordinates: world. RenderMode: smooth. Lighting: default. Z-testing: enabled */\r\n /** Renders within the scene, but ignores the view's [[ViewFlags]].\r\n * Coordinates: [[CoordSystem.World]].\r\n * Lighting: default.\r\n * [[RenderMode]]: [[RenderMode.SmoothShade]].\r\n * Depth-testing: enabled.\r\n * @see [[Decorations.world]].\r\n */\r\n WorldDecoration,\r\n /**\r\n * Renders as an overlay on top of the scene. These decorations differ from [[GraphicType.WorldDecoration]] only in that depth-testing is disabled.\r\n * For example, the ACS triad and [[WindowAreaTool]] decorations are of this type.\r\n * Coordinates: [[CoordSystem.World]].\r\n * [[RenderMode]]: [[RenderMode.SmoothShade]]\r\n * Lighting: default.\r\n * Depth-testing: disabled.\r\n * Renders atop the scene. Coordinates: world. RenderMode: smooth. Lighting: none. Z-testing: disabled\r\n * @note Overlay decorations typically employ some degree of transparency to ensure that they do not fully obscure the scene.\r\n * @see [[Decorations.worldOverlay]]\r\n */\r\n WorldOverlay,\r\n /**\r\n * Renders as an overlay on top of the scene. These decorations differ from [[GraphicType.WorldOverlay]] only in that their geometry is defined in view coordinates rather than world.\r\n * Coordinates: [[CoordSystem.View]].\r\n * [[RenderMode]]: [[RenderMode.SmoothShade]]\r\n * Lighting: default.\r\n * Depth-testing: disabled.\r\n * @note For more flexibility in defining view overlay decorations, consider using a [[CanvasDecorationList]].\r\n * @see [[Decorations.viewOverlay]]\r\n */\r\n ViewOverlay,\r\n}\r\n\r\n/** Options used when constructing a `Batch` - that is, a [[RenderGraphic]] with an associated [FeatureTable]($common) describing individual [Feature]($common)s within the\r\n * graphic. Individual features can be resymbolized in a variety of ways including flashing and hiliting.\r\n * For example, to prevent graphics produced by [[readElementGraphics]] from being hilited when their corresponding element is in the [[SelectionSet]],\r\n * pass `{ noHilite: true }` to [[readElementGraphics]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface BatchOptions {\r\n /** Identifies the [[Tile]] associated with the batch, chiefly for debugging purposes.\r\n * @beta\r\n */\r\n tileId?: string;\r\n /** If true, features within the batch will not be flashed on mouseover. */\r\n noFlash?: boolean;\r\n /** If true, features within the batch will not be hilited when their corresponding element is in the [[SelectionSet]]. */\r\n noHilite?: boolean;\r\n /** If true, features within the batch will not be emphasized when the corresponding [[Feature]] is emphasized using [FeatureOverrides]($common). */\r\n noEmphasis?: boolean;\r\n /** If true, the contents of the batch will only be drawn by [[Viewport.readPixels]], not [[Viewport.renderFrame]], causing them to be locatable but invisible. */\r\n locateOnly?: boolean;\r\n}\r\n\r\n/** Options used as part of [[GraphicBuilderOptions]] to describe a [pickable]($docs/learning/frontend/ViewDecorations#pickable-view-graphic-decorations) [[RenderGraphic]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface PickableGraphicOptions extends BatchOptions {\r\n /** A unique identifier for the graphic.\r\n * @see [[IModelConnection.transientIds]] to obtain a unique Id in the context of an iModel.\r\n * @see [[GraphicBuilder.activatePickableId]] or [[GraphicBuilder.activateFeature]] to change the pickable object while adding geometry.\r\n */\r\n id: Id64String;\r\n /** Optional Id of the subcategory with which the graphic should be associated. */\r\n subCategoryId?: Id64String;\r\n /** Optional geometry class for the graphic - defaults to [GeometryClass.Primary]($common). */\r\n geometryClass?: GeometryClass;\r\n /** The optional Id of the model with which the graphic should be associated. */\r\n modelId?: Id64String;\r\n /** True if the graphic is to be used as a [[DynamicSpatialClassifier]] to classify volumes of a reality model. */\r\n isVolumeClassifier?: boolean;\r\n}\r\n\r\n/** Options for creating a [[GraphicBuilder]] used by functions like [[DecorateContext.createGraphic]] and [[RenderSystem.createGraphic]].\r\n * @see [[ViewportGraphicBuilderOptions]] to create a graphic builder for a [[Viewport]].\r\n * @see [[CustomGraphicBuilderOptions]] to create a graphic builder unassociated with any [[Viewport]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GraphicBuilderOptions {\r\n /** The type of graphic to produce. */\r\n type: GraphicType;\r\n\r\n /** The local-to-world transform in which the builder's geometry is to be defined - by default, an identity transform. */\r\n placement?: Transform;\r\n\r\n /** If the graphic is to be pickable, specifies the pickable Id and other options. */\r\n pickable?: PickableGraphicOptions;\r\n\r\n /** If true, the order in which geometry is added to the builder is preserved.\r\n * This is useful for overlay and background graphics because they draw without using the depth buffer. For example, to draw an overlay containing a red shape with a white outline,\r\n * you would add the shape to the GraphicBuilder first, followed by the outline, to ensure the outline draws \"in front of\" the shape.\r\n * It defaults to true for overlays and background graphics, and false for other graphic types.\r\n * It is not useful for other types of graphics and imposes a performance penalty due to increased number of draw calls.\r\n * For overlay and background graphics that do not need to draw in any particular order, the performance penalty can be eliminated by setting this to `false`.\r\n */\r\n preserveOrder?: boolean;\r\n\r\n /** Controls whether normals are generated for surfaces. Normals allow 3d geometry to receive lighting; without them the geometry will be unaffected by lighting.\r\n * By default, normals are generated only for graphics of type [[GraphicType.Scene]]; or for any type of graphic if [[GraphicBuilder.wantEdges]] is true, because\r\n * normals are required to prevent z-fighting between surfaces and their edges. This default can be overridden by explicitly specifying `true` or `false`.\r\n * @see [[GraphicType]] for a description of whether and how different types of graphics are affected by lighting.\r\n */\r\n wantNormals?: boolean;\r\n\r\n /** Controls whether edges are generated for surfaces.\r\n * Edges are only displayed if [ViewFlags.renderMode]($common) is not [RenderMode.SmoothShade]($common) or [ViewFlags.visibleEdges]($common) is `true`.\r\n * Since all decoration graphics except [[GraphicType.Scene]] are drawn in smooth shaded mode with no visible edges, by default edges are only produced for scene graphics, and\r\n * - if a [[Viewport]] is supplied with the options - only if [ViewFlags.edgesRequired]($common) is true for the viewport.\r\n * That default can be overridden by explicitly specifying `true` or `false`. This can be useful for non-scene decorations contained in a [[GraphicBranch]] that applies [ViewFlagOverrides]($common)\r\n * that change the edge display settings; or for scene decorations that might be cached for reuse after the viewport's edge settings are changed.\r\n * @note Edges will tend to z-fight with their surfaces unless the graphic is [[pickable]].\r\n */\r\n generateEdges?: boolean;\r\n\r\n /** If defined, specifies a point about which the graphic will rotate such that it always faces the viewer.\r\n * This can be particular useful for planar regions to create a billboarding effect - e.g., to implement [[Marker]]-like WebGL decorations.\r\n * The graphic's [[placement]] transform is not applied to the point.\r\n * @note This has no effect for graphics displayed in a 2d view.\r\n */\r\n viewIndependentOrigin?: Point3d;\r\n}\r\n\r\n/** Options for creating a [[GraphicBuilder]] to produce a [[RenderGraphic]] to be displayed in a specific [[Viewport]].\r\n * The level of detail of the graphic will be computed from the position of its geometry within the viewport's [Frustum]($common).\r\n * Default values for [[GraphicBuilderOptions.wantNormals]] and [[GraphicBuilderOptions.generateEdges]] will be determined by the viewport's [ViewFlags]($common).\r\n * The [[GraphicBuilder.iModel]] will be set to the viewport's [[IModelConnection]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ViewportGraphicBuilderOptions extends GraphicBuilderOptions {\r\n /** The viewport in which the resultant [[RenderGraphic]] is to be drawn. */\r\n viewport: Viewport;\r\n\r\n /** If true, [[ViewState.getAspectRatioSkew]] will be taken into account when computing the level of detail for the produced graphics. */\r\n applyAspectRatioSkew?: boolean;\r\n\r\n iModel?: never;\r\n computeChordTolerance?: never;\r\n}\r\n\r\n/** Arguments used to compute the chord tolerance (level of detail) of the [[RenderGraphic]]s produced by a [[GraphicBuilder]].\r\n * Generally, the chord tolerance should be roughly equivalent to the size in meters of one pixel on screen where the graphic is to be displayed.\r\n * For [[GraphicType.ViewOverlay]] and [[GraphicType.ViewBackground]], which already define their geometry in pixels, the chord tolerance should typically be 1.\r\n * @see [[CustomGraphicBuilderOptions.computeChordTolerance]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ComputeChordToleranceArgs {\r\n /** The graphic builder being used to produce the graphics. */\r\n readonly graphic: GraphicBuilder;\r\n /** A function that computes a range enclosing all of the geometry that was added to the builder. */\r\n readonly computeRange: () => Range3d;\r\n}\r\n\r\n/** Options for creating a [[GraphicBuilder]] to produce a [[RenderGraphic]] that is not associated with any particular [[Viewport]] and may not be associated with\r\n * any particular [[IModelConnection]].\r\n * This is primarily useful when the same graphic is to be saved and reused for display in multiple viewports and for which a chord tolerance can be computed\r\n * independently of each viewport's [Frustum]($common).\r\n * @public\r\n * @extensions\r\n */\r\nexport interface CustomGraphicBuilderOptions extends GraphicBuilderOptions {\r\n /** Optionally, the IModelConnection with which the graphic is associated. */\r\n iModel?: IModelConnection;\r\n /** A function that can compute the level of detail for the graphics produced by the builder. */\r\n computeChordTolerance: (args: ComputeChordToleranceArgs) => number;\r\n\r\n applyAspectRatioSkew?: never;\r\n viewport?: never;\r\n}\r\n\r\n/** Provides methods for constructing a [[RenderGraphic]] from geometric primitives.\r\n * GraphicBuilder is primarily used for creating [[Decorations]] to be displayed inside a [[Viewport]].\r\n *\r\n * The typical process for constructing a [[RenderGraphic]] proceeds as follows:\r\n * 1. Use [[DecorateContext.createGraphic]] or [[RenderSystem.createGraphic]] to obtain a builder.\r\n * 2. Set up the symbology using [[GraphicBuilder.activateGraphicParams]] or [[GraphicBuilder.setSymbology]].\r\n * 3. Add one or more geometric primitives using methods like [[GraphicBuilder.addShape]] and [[GraphicBuilder.addLineString]], possibly setting new symbology in between.\r\n * 4. Use [[GraphicBuilder.finish]] to produce the finished [[RenderGraphic]].\r\n *\r\n * @note Most of the methods which add geometry to the builder take ownership of their inputs rather than cloning them.\r\n * So, for example, if you pass an array of points to addLineString(), you should not subsequently modify that array.\r\n *\r\n * @public\r\n * @extensions\r\n */\r\nexport abstract class GraphicBuilder {\r\n /** The local coordinate system transform applied to this builder's geometry.\r\n * @see [[GraphicBuilderOptions.placement]].\r\n */\r\n public readonly placement: Transform;\r\n\r\n /** The iModel associated with this builder, if any. */\r\n public readonly iModel?: IModelConnection;\r\n\r\n /** The type of graphic to be produced by this builder.\r\n * @see [[GraphicBuilderOptions.type]].\r\n */\r\n public readonly type: GraphicType;\r\n\r\n /** If the graphic is to be pickable, specifies the pickable Id and other options. */\r\n public readonly pickable?: Readonly<PickableGraphicOptions>;\r\n\r\n /** If true, the order in which geometry is added to the builder is preserved.\r\n * @see [[GraphicBuilderOptions.preserveOrder]] for more details.\r\n */\r\n public readonly preserveOrder: boolean;\r\n\r\n /** Controls whether normals are generated for surfaces.\r\n * @note Normals are required for proper edge display, so by default they are always produced if [[wantEdges]] is `true`.\r\n * @see [[GraphicBuilderOptions.wantNormals]] for more details.\r\n */\r\n public readonly wantNormals: boolean;\r\n\r\n /** Controls whether edges are generated for surfaces.\r\n * @see [[GraphicBuilderOptions.generateEdges]] for more details.\r\n */\r\n public readonly wantEdges: boolean;\r\n\r\n /** @alpha */\r\n public readonly analysisStyle?: AnalysisStyle;\r\n\r\n protected readonly _computeChordTolerance: (args: ComputeChordToleranceArgs) => number;\r\n protected readonly _options: CustomGraphicBuilderOptions | ViewportGraphicBuilderOptions;\r\n\r\n /** @internal */\r\n protected constructor(options: ViewportGraphicBuilderOptions | CustomGraphicBuilderOptions) {\r\n // Stored for potential use later in creating a new GraphicBuilder from this one (see PrimitiveBuilder.finishGraphic).\r\n this._options = options;\r\n\r\n const vp = options.viewport;\r\n this.placement = options.placement ?? Transform.createIdentity();\r\n this.iModel = vp?.iModel ?? options.iModel;\r\n this.type = options.type;\r\n this.pickable = options.pickable;\r\n this.wantEdges = options.generateEdges ?? (this.type === GraphicType.Scene && (!vp || vp.viewFlags.edgesRequired()));\r\n this.wantNormals = options.wantNormals ?? (this.wantEdges || this.type === GraphicType.Scene);\r\n this.preserveOrder = options.preserveOrder ?? (this.isOverlay || this.isViewBackground);\r\n\r\n if (!options.viewport) {\r\n this._computeChordTolerance = options.computeChordTolerance;\r\n return;\r\n }\r\n\r\n this.analysisStyle = options.viewport.displayStyle.settings.analysisStyle;\r\n\r\n this._computeChordTolerance = (args: ComputeChordToleranceArgs) => {\r\n let pixelSize = 1;\r\n if (!this.isViewCoordinates) {\r\n // Compute the horizontal distance in meters between two adjacent pixels at the center of the geometry.\r\n pixelSize = options.viewport.getPixelSizeAtPoint(args.computeRange().center);\r\n pixelSize = options.viewport.target.adjustPixelSizeForLOD(pixelSize);\r\n\r\n // Aspect ratio skew > 1.0 stretches the view in Y. In that case use the smaller vertical pixel distance for our stroke tolerance.\r\n const skew = options.applyAspectRatioSkew ? options.viewport.view.getAspectRatioSkew() : 0;\r\n if (skew > 1)\r\n pixelSize /= skew;\r\n }\r\n\r\n return pixelSize * 0.25;\r\n };\r\n }\r\n\r\n /** The Id to be associated with the graphic for picking.\r\n * @see [[GraphicBuilderOptions.pickable]] for more options.\r\n * @deprecated in 3.x. This provides only the **first** pickable Id for this graphic - you should keep track of the **current** pickable Id yourself.\r\n */\r\n public get pickId(): Id64String | undefined {\r\n return this.pickable?.id;\r\n }\r\n\r\n /** Whether the builder's geometry is defined in [[CoordSystem.View]] coordinates.\r\n * @see [[isWorldCoordinates]].\r\n */\r\n public get isViewCoordinates(): boolean {\r\n return this.type === GraphicType.ViewBackground || this.type === GraphicType.ViewOverlay;\r\n }\r\n\r\n /** Whether the builder's geometry is defined in [[CoordSystem.World]] coordinates.\r\n * @see [[isViewCoordinates]].\r\n */\r\n public get isWorldCoordinates(): boolean {\r\n return !this.isViewCoordinates;\r\n }\r\n\r\n /** True if the builder produces a graphic of [[GraphicType.Scene]]. */\r\n public get isSceneGraphic(): boolean {\r\n return this.type === GraphicType.Scene;\r\n }\r\n\r\n /** True if the builder produces a graphic of [[GraphicType.ViewBackground]]. */\r\n public get isViewBackground(): boolean {\r\n return this.type === GraphicType.ViewBackground;\r\n }\r\n\r\n /** True if the builder produces a graphic of [[GraphicType.WorldOverlay]] or [[GraphicType.ViewOerlay]]. */\r\n public get isOverlay(): boolean {\r\n return this.type === GraphicType.ViewOverlay || this.type === GraphicType.WorldOverlay;\r\n }\r\n\r\n /**\r\n * Processes the accumulated symbology and geometry to produce a renderable graphic.\r\n * This function can only be called once; after the [[RenderGraphic]] has been extracted the [[GraphicBuilder]] should no longer be used.\r\n */\r\n public abstract finish(): RenderGraphic;\r\n\r\n /** Sets the current active symbology for this builder. Any new geometry subsequently added to the builder will be drawn using the specified symbology.\r\n * @param graphicParams The symbology to apply to subsequent geometry.\r\n * @see [[GraphicBuilder.setSymbology]] for a convenient way to set common symbology options.\r\n */\r\n public abstract activateGraphicParams(graphicParams: GraphicParams): void;\r\n\r\n /** Called by [[activateFeature]] after validation to change the [Feature]($common) to be associated with subsequently-added geometry.\r\n * This default implementation does nothing.\r\n */\r\n protected _activateFeature(_feature: Feature): void { }\r\n\r\n /** Change the [Feature]($common) to be associated with subsequently-added geometry. This permits multiple features to be batched together into a single graphic\r\n * for more efficient rendering.\r\n * @note This method has no effect if [[GraphicBuilderOptions.pickable]] was not supplied to the GraphicBuilder's constructor.\r\n */\r\n public activateFeature(feature: Feature): void {\r\n assert(undefined !== this._options.pickable, \"GraphicBuilder.activateFeature has no effect if PickableGraphicOptions were not supplied\");\r\n if (this._options.pickable)\r\n this._activateFeature(feature);\r\n }\r\n\r\n /** Change the pickable Id to be associated with subsequently-added geometry. This permits multiple pickable objects to be batched together into a single graphic\r\n * for more efficient rendering. This method calls [[activateFeature]], using the subcategory Id and [GeometryClass]($common) specified in [[GraphicBuilder.pickable]]\r\n * at construction, if any.\r\n * @note This method has no effect if [[GraphicBuilderOptions.pickable]] was not supplied to the GraphicBuilder's constructor.\r\n */\r\n public activatePickableId(id: Id64String): void {\r\n const pick = this._options.pickable;\r\n this.activateFeature(new Feature(id, pick?.subCategoryId, pick?.geometryClass));\r\n }\r\n\r\n /**\r\n * Appends a 3d line string to the builder.\r\n * @param points Array of vertices in the line string.\r\n */\r\n public abstract addLineString(points: Point3d[]): void;\r\n\r\n /**\r\n * Appends a 2d line string to the builder.\r\n * @param points Array of vertices in the line string.\r\n * @param zDepth Z value in local coordinates to use for each point.\r\n */\r\n public abstract addLineString2d(points: Point2d[], zDepth: number): void;\r\n\r\n /**\r\n * Appends a 3d point string to the builder. The points are drawn disconnected, with a diameter in pixels defined by the builder's active [[GraphicParams.rasterWidth]].\r\n * @param points Array of vertices in the point string.\r\n */\r\n public abstract addPointString(points: Point3d[]): void;\r\n\r\n /**\r\n * Appends a 2d point string to the builder. The points are drawn disconnected, with a diameter in pixels defined by the builder's active [[GraphicParams.rasterWidth]].\r\n * @param points Array of vertices in the point string.\r\n * @param zDepth Z value in local coordinates to use for each point.\r\n */\r\n public abstract addPointString2d(points: Point2d[], zDepth: number): void;\r\n\r\n /**\r\n * Appends a closed 3d planar region to the builder.\r\n * @param points Array of vertices of the shape.\r\n */\r\n public abstract addShape(points: Point3d[]): void;\r\n\r\n /**\r\n * Appends a closed 2d region to the builder.\r\n * @param points Array of vertices of the shape.\r\n * @param zDepth Z value in local coordinates to use for each point.\r\n */\r\n public abstract addShape2d(points: Point2d[], zDepth: number): void;\r\n\r\n /**\r\n * Appends a 3d open arc or closed ellipse to the builder.\r\n * @param arc Description of the arc or ellipse.\r\n * @param isEllipse If true, and if the arc defines a full sweep, then draw as a closed ellipse instead of an arc.\r\n * @param filled If true, and isEllipse is also true, then draw ellipse filled.\r\n */\r\n public abstract addArc(arc: Arc3d, isEllipse: boolean, filled: boolean): void;\r\n\r\n /**\r\n * Appends a 2d open arc or closed ellipse to the builder.\r\n * @param arc Description of the arc or ellipse.\r\n * @param isEllipse If true, and if the arc defines a full sweep, then draw as a closed ellipse instead of an arc.\r\n * @param filled If true, and isEllipse is also true, then draw ellipse filled.\r\n * @param zDepth Z value in local coordinates to use for each point in the arc or ellipse.\r\n */\r\n public abstract addArc2d(ellipse: Arc3d, isEllipse: boolean, filled: boolean, zDepth: number): void;\r\n\r\n /** Append a 3d open path to the builder. */\r\n public abstract addPath(path: Path): void;\r\n\r\n /** Append a 3d planar region to the builder. */\r\n public abstract addLoop(loop: Loop): void;\r\n\r\n /** Append a [CurvePrimitive]($core-geometry) to the builder. */\r\n public addCurvePrimitive(curve: AnyCurvePrimitive): void {\r\n switch (curve.curvePrimitiveType) {\r\n case \"lineString\":\r\n this.addLineString(curve.points);\r\n break;\r\n case \"lineSegment\":\r\n this.addLineString([curve.startPoint(), curve.endPoint()]);\r\n break;\r\n case \"arc\":\r\n this.addArc(curve, false, false);\r\n break;\r\n default:\r\n const path = new Path();\r\n if (path.tryAddChild(curve))\r\n this.addPath(path);\r\n\r\n break;\r\n }\r\n }\r\n\r\n /** Append a mesh to the builder.\r\n * @param meshData Describes the mesh\r\n * @param filled If the mesh describes a planar region, indicates whether its interior area should be drawn with fill in [[RenderMode.Wireframe]].\r\n */\r\n public abstract addPolyface(meshData: Polyface, filled: boolean): void;\r\n\r\n /** Append a solid primitive to the builder. */\r\n public abstract addSolidPrimitive(solidPrimitive: SolidPrimitive): void;\r\n\r\n /** Append any primitive to the builder.\r\n * @param primitive The graphic primitive to append.\r\n */\r\n public addPrimitive(primitive: GraphicPrimitive): void {\r\n switch (primitive.type) {\r\n case \"linestring\":\r\n this.addLineString(primitive.points);\r\n break;\r\n case \"linestring2d\":\r\n this.addLineString2d(primitive.points, primitive.zDepth);\r\n break;\r\n case \"pointstring\":\r\n this.addPointString(primitive.points);\r\n break;\r\n case \"pointstring2d\":\r\n this.addPointString2d(primitive.points, primitive.zDepth);\r\n break;\r\n case \"shape\":\r\n this.addShape(primitive.points);\r\n break;\r\n case \"shape2d\":\r\n this.addShape2d(primitive.points, primitive.zDepth);\r\n break;\r\n case \"arc\":\r\n this.addArc(primitive.arc, true === primitive.isEllipse, true === primitive.filled);\r\n break;\r\n case \"arc2d\":\r\n this.addArc2d(primitive.arc, true === primitive.isEllipse, true === primitive.filled, primitive.zDepth);\r\n break;\r\n case \"path\":\r\n this.addPath(primitive.path);\r\n break;\r\n case \"loop\":\r\n this.addLoop(primitive.loop);\r\n break;\r\n case \"polyface\":\r\n this.addPolyface(primitive.polyface, true === primitive.filled);\r\n break;\r\n case \"solidPrimitive\":\r\n this.addSolidPrimitive(primitive.solidPrimitive);\r\n break;\r\n }\r\n }\r\n\r\n /** Add a box representing a volume of space. Typically used for debugging purposes.\r\n * @param range The volume of space.\r\n * @param solid If true, a [[Box]] solid primitive will be added; otherwise, a wireframe outline of the box will be added.\r\n */\r\n public addRangeBox(range: Range3d, solid = false): void {\r\n if (!solid) {\r\n this.addFrustum(Frustum.fromRange(range));\r\n return;\r\n }\r\n\r\n const box = Box.createRange(range, true);\r\n if (box)\r\n this.addSolidPrimitive(box);\r\n }\r\n\r\n /** Add Frustum edges. Useful for debugging. */\r\n public addFrustum(frustum: Frustum) {\r\n this.addRangeBoxFromCorners(frustum.points);\r\n }\r\n\r\n /** Add range edges from corner points */\r\n public addRangeBoxFromCorners(p: Point3d[]) {\r\n this.addLineString([\r\n p[Npc.LeftBottomFront],\r\n p[Npc.LeftTopFront],\r\n p[Npc.RightTopFront],\r\n p[Npc.RightBottomFront],\r\n p[Npc.RightBottomRear],\r\n p[Npc.RightTopRear],\r\n p[Npc.LeftTopRear],\r\n p[Npc.LeftBottomRear],\r\n p[Npc.LeftBottomFront].clone(),\r\n p[Npc.RightBottomFront].clone(),\r\n ]);\r\n\r\n this.addLineString([p[Npc.LeftTopFront].clone(), p[Npc.LeftTopRear].clone()]);\r\n this.addLineString([p[Npc.RightTopFront].clone(), p[Npc.RightTopRear].clone()]);\r\n this.addLineString([p[Npc.LeftBottomRear].clone(), p[Npc.RightBottomRear].clone()]);\r\n }\r\n\r\n /** Sets the current active symbology for this builder. Any new geometry subsequently added will be drawn using the specified symbology.\r\n * @param lineColor The color in which to draw lines.\r\n * @param fillColor The color in which to draw filled regions.\r\n * @param lineWidth The width in pixels to draw lines. The renderer will clamp this value to an integer in the range [1, 32].\r\n * @param linePixels The pixel pattern in which to draw lines.\r\n * @see [[GraphicBuilder.activateGraphicParams]] for additional symbology options.\r\n */\r\n public setSymbology(lineColor: ColorDef, fillColor: ColorDef, lineWidth: number, linePixels = LinePixels.Solid) {\r\n this.activateGraphicParams(GraphicParams.fromSymbology(lineColor, fillColor, lineWidth, linePixels));\r\n }\r\n\r\n /** Set the current active symbology for this builder to be a blanking fill before adding a planar region.\r\n * A planar region drawn with blanking fill renders behind other geometry in the same graphic.\r\n * Blanking fill is not affected by the fill [[ViewFlags]] being disabled.\r\n * An example would be to add a line to a graphic containing a shape with blanking fill so that the line is always shown in front of the fill.\r\n * @param fillColor The color in which to draw filled regions.\r\n */\r\n public setBlankingFill(fillColor: ColorDef) { this.activateGraphicParams(GraphicParams.fromBlankingFill(fillColor)); }\r\n}\r\n"]}
@@ -71,6 +71,7 @@ export declare namespace MockRender {
71
71
  constructor();
72
72
  dispose(): void;
73
73
  collectStatistics(_stats: RenderMemory.Statistics): void;
74
+ unionRange(): void;
74
75
  }
75
76
  class List extends Graphic {
76
77
  readonly graphics: RenderGraphic[];
@@ -1 +1 @@
1
- {"version":3,"file":"MockRender.d.ts","sourceRoot":"","sources":["../../../src/render/MockRender.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAqB,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAChG,OAAO,EAAa,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,cAAc,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAC9G,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC;;;;;;;;;;;GAWG;AACH,yBAAiB,UAAU,CAAC;IAC1B,gBAAgB;IAChB,eAAsB,MAAO,SAAQ,YAAY;QACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;QAA9C,SAAS,aAA8B,OAAO,EAAE,YAAY;QAE5D,IAAW,YAAY,IAAI,YAAY,CAAyB;QAChE,IAAW,yBAAyB,YAAoB;QACxD,IAAW,gBAAgB,IACY,MAAM,CADF;QAC3C,IAAW,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAK;QAC3C,WAAW,CAAC,MAAM,EAAE,KAAK;QACzB,cAAc,CAAC,SAAS,CAAC,EAAE,WAAW;QACtC,iBAAiB,CAAC,KAAK,EAAE,WAAW;QACpC,gBAAgB,CAAC,KAAK,EAAE,UAAU;QAClC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM;QAC7B,cAAc;QACd,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,oBAAoB,EAAE,OAAO;QACrH,IAAW,kBAAkB,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAe;QAChE,IAAW,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAK;KAC9D;IAED,gBAAgB;IAChB,MAAa,cAAe,SAAQ,MAAM;QACC,OAAO,CAAC,QAAQ,CAAC,OAAO;oBAA9C,MAAM,EAAE,YAAY,EAAmB,OAAO,EAAE,iBAAiB;QAEpF,IAAW,QAAQ,aAAsF;QAClG,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO;KACnD;IAED,gBAAgB;IAChB,MAAa,eAAgB,SAAQ,MAAM;QACA,OAAO,CAAC,QAAQ,CAAC,SAAS;oBAAhD,MAAM,EAAE,YAAY,EAAmB,SAAS,EAAE,QAAQ;QAE7E,IAAW,QAAQ,aAA6B;QACzC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO;KAClD;IAED,gBAAgB;IAChB,MAAa,OAAQ,SAAQ,gBAAgB;oBACxB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,2BAA2B,GAAG,6BAA6B;KAGxG;IAED,MAAa,OAAQ,SAAQ,aAAa;;QAGjC,OAAO;QACP,iBAAiB,CAAC,MAAM,EAAE,YAAY,CAAC,UAAU,GAAG,IAAI;KAChE;IAED,MAAa,IAAK,SAAQ,OAAO;iBACI,QAAQ,EAAE,aAAa,EAAE;oBAAzB,QAAQ,EAAE,aAAa,EAAE;QAE5C,OAAO;KAMxB;IAED,MAAa,MAAO,SAAQ,OAAO;iBACE,MAAM,EAAE,aAAa;iBAAkB,SAAS,EAAE,SAAS;iBAAkB,OAAO,CAAC;oBAArF,MAAM,EAAE,aAAa,EAAkB,SAAS,EAAE,SAAS,EAAkB,OAAO,CAAC,kCAAsB;QAE9H,OAAO;KACxB;IAED,MAAa,KAAM,SAAQ,OAAO;iBACG,OAAO,EAAE,aAAa;iBAAkB,YAAY,EAAE,kBAAkB;iBAAkB,KAAK,EAAE,mBAAmB;oBAApH,OAAO,EAAE,aAAa,EAAkB,YAAY,EAAE,kBAAkB,EAAkB,KAAK,EAAE,mBAAmB;QAEvI,OAAO;KAGxB;IAED,gBAAgB;IAChB,MAAa,QAAS,YAAW,cAAc;QACtC,OAAO,IAAI,IAAI;QACf,iBAAiB,IAAI,IAAI;KACjC;IAED,gBAAgB;IAChB,MAAa,WAAY,YAAW,iBAAiB;QAC5C,OAAO,IAAI,IAAI;QACf,iBAAiB,IAAI,IAAI;KACjC;IAED,MAAa,MAAO,SAAQ,YAAY;QACtC,IAAW,OAAO,YAAmB;QAC9B,OAAO,IAAI,IAAI;QACtB,IAAoB,cAAc,WAAmB;;QAIrD,gBAAgB;QACA,UAAU,IAAI,OAAO;QAErC,gBAAgB;QACA,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,cAAc;QACvE,gBAAgB;QACA,qBAAqB,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY;QAEnD,aAAa,CAAC,OAAO,EAAE,2BAA2B,GAAG,6BAA6B,GAAG,cAAc;QAInG,iBAAiB,CAAC,UAAU,EAAE,aAAa,EAAE;QAC7C,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,oBAAoB;QAC/F,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,mBAAmB;QAE5G,gBAAgB;QACA,UAAU,CAAC,OAAO,EAAE,UAAU;QAC9C,gBAAgB;QACA,cAAc,CAAC,OAAO,EAAE,cAAc;QACtD,gBAAgB;QACA,iBAAiB,CAAC,OAAO,EAAE,iBAAiB;QAC5D,gBAAgB;QACA,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,gBAAgB;QACjE,mBAAmB;QAEnC,gBAAgB;QACA,kBAAkB;QAClC,gBAAgB;QACA,sBAAsB;QACtC,gBAAgB;QACA,yBAAyB;QACzC,gBAAgB;QACA,iBAAiB;KAClC;IAED,KAAY,aAAa,GAAG,MAAM,YAAY,CAAC;IAE/C,gFAAgF;IAChF,MAAa,GAAG;QACd,OAAc,aAAa,EAAE,aAAa,CAAyC;eAE/D,OAAO,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;eAO/C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;QAK7C,SAAS,CAAC,MAAM,CAAC,yBAAyB;KAC3C;CACF"}
1
+ {"version":3,"file":"MockRender.d.ts","sourceRoot":"","sources":["../../../src/render/MockRender.ts"],"names":[],"mappings":"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"}
@@ -79,6 +79,7 @@ export var MockRender;
79
79
  constructor() { super(); }
80
80
  dispose() { }
81
81
  collectStatistics(_stats) { }
82
+ unionRange() { }
82
83
  }
83
84
  MockRender.Graphic = Graphic;
84
85
  class List extends Graphic {
@@ -1 +1 @@
1
- {"version":3,"file":"MockRender.js","sourceRoot":"","sources":["../../../src/render/MockRender.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 Utils\r\n */\r\n\r\nimport { dispose } from \"@itwin/core-bentley\";\r\nimport { Transform } from \"@itwin/core-geometry\";\r\nimport { ElementAlignedBox3d, EmptyLocalization, RenderFeatureTable } from \"@itwin/core-common\";\r\nimport { IModelApp, IModelAppOptions } from \"../IModelApp\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { MeshParams } from \"../common/render/primitives/MeshParams\";\r\nimport { PointStringParams } from \"../common/render/primitives/PointStringParams\";\r\nimport { PolylineParams } from \"../common/render/primitives/PolylineParams\";\r\nimport { ViewRect } from \"../common/ViewRect\";\r\nimport { Decorations } from \"./Decorations\";\r\nimport { GraphicBranch, GraphicBranchOptions } from \"./GraphicBranch\";\r\nimport { CustomGraphicBuilderOptions, GraphicBuilder, ViewportGraphicBuilderOptions } from \"./GraphicBuilder\";\r\nimport { Pixel } from \"./Pixel\";\r\nimport { PrimitiveBuilder } from \"./primitives/geometry/GeometryListBuilder\";\r\nimport { PointCloudArgs } from \"./primitives/PointCloudPrimitive\";\r\nimport { GraphicList, RenderGraphic } from \"./RenderGraphic\";\r\nimport { RenderMemory } from \"./RenderMemory\";\r\nimport { RenderPlan } from \"./RenderPlan\";\r\nimport { RenderAreaPattern, RenderGeometry, RenderSystem } from \"./RenderSystem\";\r\nimport { RenderTarget } from \"./RenderTarget\";\r\nimport { Scene } from \"./Scene\";\r\n\r\n/** Contains extensible mock implementations of the various components of a RenderSystem, intended for use in tests.\r\n * Use these for tests instead of the default RenderSystem wherever possible because:\r\n * (1) Electron has a bug on Windows in which it fails to obtain a WebGLRenderingContext when running inside a VM (e.g., during CI job); and\r\n * (2) To decouple the logic which uses aspects of the RenderSystem from the full implementation.\r\n * Any and all of these types can be extended for the purposes of specific tests.\r\n * To use this:\r\n * (1) If overriding anything in the implementation supplied herein, pass a SystemFactory function to MockRender.App.systemFactory.\r\n * (2) Call MockRender.App.startup() instead of IModelApp.startup() before tests begin.\r\n * (3) Likewise call MockRender.App.shutdown() when finished. This resets the SystemFactory to its default.\r\n * @note The APIs within this namespace are intended *strictly* for use with unit tests.\r\n * @internal\r\n */\r\nexport namespace MockRender {\r\n /** @internal */\r\n export abstract class Target extends RenderTarget {\r\n protected constructor(private readonly _system: RenderSystem) { super(); }\r\n\r\n public get renderSystem(): RenderSystem { return this._system; }\r\n public get wantInvertBlackBackground() { return false; }\r\n public get analysisFraction() { return 0; }\r\n public set analysisFraction(_fraction: number) { }\r\n public changeScene(_scene: Scene) { }\r\n public changeDynamics(_dynamics?: GraphicList) { }\r\n public changeDecorations(_decs: Decorations) { }\r\n public changeRenderPlan(_plan: RenderPlan) { }\r\n public drawFrame(_sceneTime?: number) { }\r\n public updateViewRect() { return false; }\r\n public readPixels(_rect: ViewRect, _selector: Pixel.Selector, receiver: Pixel.Receiver, _excludeNonLocatable: boolean) { receiver(undefined); }\r\n public get screenSpaceEffects(): Iterable<string> { return []; }\r\n public set screenSpaceEffects(_effects: Iterable<string>) { }\r\n }\r\n\r\n /** @internal */\r\n export class OnScreenTarget extends Target {\r\n public constructor(system: RenderSystem, private readonly _canvas: HTMLCanvasElement) { super(system); }\r\n\r\n public get viewRect() { return new ViewRect(0, 0, this._canvas.clientWidth, this._canvas.clientHeight); }\r\n public setViewRect(_rect: ViewRect, _temp: boolean) { }\r\n }\r\n\r\n /** @internal */\r\n export class OffScreenTarget extends Target {\r\n public constructor(system: RenderSystem, private readonly _viewRect: ViewRect) { super(system); }\r\n\r\n public get viewRect() { return this._viewRect; }\r\n public setViewRect(rect: ViewRect, _temp: boolean) { this._viewRect.setFrom(rect); }\r\n }\r\n\r\n /** @internal */\r\n export class Builder extends PrimitiveBuilder {\r\n public constructor(system: System, options: CustomGraphicBuilderOptions | ViewportGraphicBuilderOptions) {\r\n super(system, options);\r\n }\r\n }\r\n\r\n export class Graphic extends RenderGraphic {\r\n public constructor() { super(); }\r\n\r\n public dispose() { }\r\n public collectStatistics(_stats: RenderMemory.Statistics): void { }\r\n }\r\n\r\n export class List extends Graphic {\r\n public constructor(public readonly graphics: RenderGraphic[]) { super(); }\r\n\r\n public override dispose() {\r\n for (const graphic of this.graphics)\r\n dispose(graphic);\r\n\r\n this.graphics.length = 0;\r\n }\r\n }\r\n\r\n export class Branch extends Graphic {\r\n public constructor(public readonly branch: GraphicBranch, public readonly transform: Transform, public readonly options?: GraphicBranchOptions) { super(); }\r\n\r\n public override dispose() { this.branch.dispose(); }\r\n }\r\n\r\n export class Batch extends Graphic {\r\n public constructor(public readonly graphic: RenderGraphic, public readonly featureTable: RenderFeatureTable, public readonly range: ElementAlignedBox3d) { super(); }\r\n\r\n public override dispose() {\r\n dispose(this.graphic);\r\n }\r\n }\r\n\r\n /** @internal */\r\n export class Geometry implements RenderGeometry {\r\n public dispose(): void { }\r\n public collectStatistics(): void { }\r\n }\r\n\r\n /** @internal */\r\n export class AreaPattern implements RenderAreaPattern {\r\n public dispose(): void { }\r\n public collectStatistics(): void { }\r\n }\r\n\r\n export class System extends RenderSystem {\r\n public get isValid() { return true; }\r\n public dispose(): void { }\r\n public override get maxTextureSize() { return 4096; }\r\n\r\n public constructor() { super(); }\r\n\r\n /** @internal */\r\n public override doIdleWork(): boolean { return false; }\r\n\r\n /** @internal */\r\n public override createTarget(canvas: HTMLCanvasElement): OnScreenTarget { return new OnScreenTarget(this, canvas); }\r\n /** @internal */\r\n public override createOffscreenTarget(rect: ViewRect): RenderTarget { return new OffScreenTarget(this, rect); }\r\n\r\n public override createGraphic(options: CustomGraphicBuilderOptions | ViewportGraphicBuilderOptions): GraphicBuilder {\r\n return new Builder(this, options);\r\n }\r\n\r\n public override createGraphicList(primitives: RenderGraphic[]) { return new List(primitives); }\r\n public override createGraphicBranch(branch: GraphicBranch, transform: Transform, options?: GraphicBranchOptions) { return new Branch(branch, transform, options); }\r\n public override createBatch(graphic: RenderGraphic, features: RenderFeatureTable, range: ElementAlignedBox3d) { return new Batch(graphic, features, range); }\r\n\r\n /** @internal */\r\n public override createMesh(_params: MeshParams) { return new Graphic(); }\r\n /** @internal */\r\n public override createPolyline(_params: PolylineParams) { return new Graphic(); }\r\n /** @internal */\r\n public override createPointString(_params: PointStringParams) { return new Graphic(); }\r\n /** @internal */\r\n public override createPointCloud(_args: PointCloudArgs, _imodel: IModelConnection) { return new Graphic(); }\r\n public override createRenderGraphic() { return new Graphic(); }\r\n\r\n /** @internal */\r\n public override createMeshGeometry() { return new Geometry(); }\r\n /** @internal */\r\n public override createPolylineGeometry() { return new Geometry(); }\r\n /** @internal */\r\n public override createPointStringGeometry() { return new Geometry(); }\r\n /** @internal */\r\n public override createAreaPattern() { return new AreaPattern(); }\r\n }\r\n\r\n export type SystemFactory = () => RenderSystem;\r\n\r\n /** An implementation of IModelApp which uses a MockRender.System by default. */\r\n export class App {\r\n public static systemFactory: SystemFactory = () => App.createDefaultRenderSystem();\r\n\r\n public static async startup(opts?: IModelAppOptions): Promise<void> {\r\n opts = opts ? opts : {};\r\n opts.renderSys = this.systemFactory();\r\n opts.localization = opts.localization ?? new EmptyLocalization();\r\n await IModelApp.startup(opts);\r\n }\r\n\r\n public static async shutdown(): Promise<void> {\r\n this.systemFactory = () => App.createDefaultRenderSystem();\r\n await IModelApp.shutdown();\r\n }\r\n\r\n protected static createDefaultRenderSystem() { return new System(); }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"MockRender.js","sourceRoot":"","sources":["../../../src/render/MockRender.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 Utils\r\n */\r\n\r\nimport { dispose } from \"@itwin/core-bentley\";\r\nimport { Transform } from \"@itwin/core-geometry\";\r\nimport { ElementAlignedBox3d, EmptyLocalization, RenderFeatureTable } from \"@itwin/core-common\";\r\nimport { IModelApp, IModelAppOptions } from \"../IModelApp\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { MeshParams } from \"../common/render/primitives/MeshParams\";\r\nimport { PointStringParams } from \"../common/render/primitives/PointStringParams\";\r\nimport { PolylineParams } from \"../common/render/primitives/PolylineParams\";\r\nimport { ViewRect } from \"../common/ViewRect\";\r\nimport { Decorations } from \"./Decorations\";\r\nimport { GraphicBranch, GraphicBranchOptions } from \"./GraphicBranch\";\r\nimport { CustomGraphicBuilderOptions, GraphicBuilder, ViewportGraphicBuilderOptions } from \"./GraphicBuilder\";\r\nimport { Pixel } from \"./Pixel\";\r\nimport { PrimitiveBuilder } from \"./primitives/geometry/GeometryListBuilder\";\r\nimport { PointCloudArgs } from \"./primitives/PointCloudPrimitive\";\r\nimport { GraphicList, RenderGraphic } from \"./RenderGraphic\";\r\nimport { RenderMemory } from \"./RenderMemory\";\r\nimport { RenderPlan } from \"./RenderPlan\";\r\nimport { RenderAreaPattern, RenderGeometry, RenderSystem } from \"./RenderSystem\";\r\nimport { RenderTarget } from \"./RenderTarget\";\r\nimport { Scene } from \"./Scene\";\r\n\r\n/** Contains extensible mock implementations of the various components of a RenderSystem, intended for use in tests.\r\n * Use these for tests instead of the default RenderSystem wherever possible because:\r\n * (1) Electron has a bug on Windows in which it fails to obtain a WebGLRenderingContext when running inside a VM (e.g., during CI job); and\r\n * (2) To decouple the logic which uses aspects of the RenderSystem from the full implementation.\r\n * Any and all of these types can be extended for the purposes of specific tests.\r\n * To use this:\r\n * (1) If overriding anything in the implementation supplied herein, pass a SystemFactory function to MockRender.App.systemFactory.\r\n * (2) Call MockRender.App.startup() instead of IModelApp.startup() before tests begin.\r\n * (3) Likewise call MockRender.App.shutdown() when finished. This resets the SystemFactory to its default.\r\n * @note The APIs within this namespace are intended *strictly* for use with unit tests.\r\n * @internal\r\n */\r\nexport namespace MockRender {\r\n /** @internal */\r\n export abstract class Target extends RenderTarget {\r\n protected constructor(private readonly _system: RenderSystem) { super(); }\r\n\r\n public get renderSystem(): RenderSystem { return this._system; }\r\n public get wantInvertBlackBackground() { return false; }\r\n public get analysisFraction() { return 0; }\r\n public set analysisFraction(_fraction: number) { }\r\n public changeScene(_scene: Scene) { }\r\n public changeDynamics(_dynamics?: GraphicList) { }\r\n public changeDecorations(_decs: Decorations) { }\r\n public changeRenderPlan(_plan: RenderPlan) { }\r\n public drawFrame(_sceneTime?: number) { }\r\n public updateViewRect() { return false; }\r\n public readPixels(_rect: ViewRect, _selector: Pixel.Selector, receiver: Pixel.Receiver, _excludeNonLocatable: boolean) { receiver(undefined); }\r\n public get screenSpaceEffects(): Iterable<string> { return []; }\r\n public set screenSpaceEffects(_effects: Iterable<string>) { }\r\n }\r\n\r\n /** @internal */\r\n export class OnScreenTarget extends Target {\r\n public constructor(system: RenderSystem, private readonly _canvas: HTMLCanvasElement) { super(system); }\r\n\r\n public get viewRect() { return new ViewRect(0, 0, this._canvas.clientWidth, this._canvas.clientHeight); }\r\n public setViewRect(_rect: ViewRect, _temp: boolean) { }\r\n }\r\n\r\n /** @internal */\r\n export class OffScreenTarget extends Target {\r\n public constructor(system: RenderSystem, private readonly _viewRect: ViewRect) { super(system); }\r\n\r\n public get viewRect() { return this._viewRect; }\r\n public setViewRect(rect: ViewRect, _temp: boolean) { this._viewRect.setFrom(rect); }\r\n }\r\n\r\n /** @internal */\r\n export class Builder extends PrimitiveBuilder {\r\n public constructor(system: System, options: CustomGraphicBuilderOptions | ViewportGraphicBuilderOptions) {\r\n super(system, options);\r\n }\r\n }\r\n\r\n export class Graphic extends RenderGraphic {\r\n public constructor() { super(); }\r\n\r\n public dispose() { }\r\n public collectStatistics(_stats: RenderMemory.Statistics): void { }\r\n public unionRange() { }\r\n }\r\n\r\n export class List extends Graphic {\r\n public constructor(public readonly graphics: RenderGraphic[]) { super(); }\r\n\r\n public override dispose() {\r\n for (const graphic of this.graphics)\r\n dispose(graphic);\r\n\r\n this.graphics.length = 0;\r\n }\r\n }\r\n\r\n export class Branch extends Graphic {\r\n public constructor(public readonly branch: GraphicBranch, public readonly transform: Transform, public readonly options?: GraphicBranchOptions) { super(); }\r\n\r\n public override dispose() { this.branch.dispose(); }\r\n }\r\n\r\n export class Batch extends Graphic {\r\n public constructor(public readonly graphic: RenderGraphic, public readonly featureTable: RenderFeatureTable, public readonly range: ElementAlignedBox3d) { super(); }\r\n\r\n public override dispose() {\r\n dispose(this.graphic);\r\n }\r\n }\r\n\r\n /** @internal */\r\n export class Geometry implements RenderGeometry {\r\n public dispose(): void { }\r\n public collectStatistics(): void { }\r\n }\r\n\r\n /** @internal */\r\n export class AreaPattern implements RenderAreaPattern {\r\n public dispose(): void { }\r\n public collectStatistics(): void { }\r\n }\r\n\r\n export class System extends RenderSystem {\r\n public get isValid() { return true; }\r\n public dispose(): void { }\r\n public override get maxTextureSize() { return 4096; }\r\n\r\n public constructor() { super(); }\r\n\r\n /** @internal */\r\n public override doIdleWork(): boolean { return false; }\r\n\r\n /** @internal */\r\n public override createTarget(canvas: HTMLCanvasElement): OnScreenTarget { return new OnScreenTarget(this, canvas); }\r\n /** @internal */\r\n public override createOffscreenTarget(rect: ViewRect): RenderTarget { return new OffScreenTarget(this, rect); }\r\n\r\n public override createGraphic(options: CustomGraphicBuilderOptions | ViewportGraphicBuilderOptions): GraphicBuilder {\r\n return new Builder(this, options);\r\n }\r\n\r\n public override createGraphicList(primitives: RenderGraphic[]) { return new List(primitives); }\r\n public override createGraphicBranch(branch: GraphicBranch, transform: Transform, options?: GraphicBranchOptions) { return new Branch(branch, transform, options); }\r\n public override createBatch(graphic: RenderGraphic, features: RenderFeatureTable, range: ElementAlignedBox3d) { return new Batch(graphic, features, range); }\r\n\r\n /** @internal */\r\n public override createMesh(_params: MeshParams) { return new Graphic(); }\r\n /** @internal */\r\n public override createPolyline(_params: PolylineParams) { return new Graphic(); }\r\n /** @internal */\r\n public override createPointString(_params: PointStringParams) { return new Graphic(); }\r\n /** @internal */\r\n public override createPointCloud(_args: PointCloudArgs, _imodel: IModelConnection) { return new Graphic(); }\r\n public override createRenderGraphic() { return new Graphic(); }\r\n\r\n /** @internal */\r\n public override createMeshGeometry() { return new Geometry(); }\r\n /** @internal */\r\n public override createPolylineGeometry() { return new Geometry(); }\r\n /** @internal */\r\n public override createPointStringGeometry() { return new Geometry(); }\r\n /** @internal */\r\n public override createAreaPattern() { return new AreaPattern(); }\r\n }\r\n\r\n export type SystemFactory = () => RenderSystem;\r\n\r\n /** An implementation of IModelApp which uses a MockRender.System by default. */\r\n export class App {\r\n public static systemFactory: SystemFactory = () => App.createDefaultRenderSystem();\r\n\r\n public static async startup(opts?: IModelAppOptions): Promise<void> {\r\n opts = opts ? opts : {};\r\n opts.renderSys = this.systemFactory();\r\n opts.localization = opts.localization ?? new EmptyLocalization();\r\n await IModelApp.startup(opts);\r\n }\r\n\r\n public static async shutdown(): Promise<void> {\r\n this.systemFactory = () => App.createDefaultRenderSystem();\r\n await IModelApp.shutdown();\r\n }\r\n\r\n protected static createDefaultRenderSystem() { return new System(); }\r\n }\r\n}\r\n"]}
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import { IDisposable } from "@itwin/core-bentley";
5
5
  import { RenderMemory } from "./RenderMemory";
6
+ import { Range3d } from "@itwin/core-geometry";
6
7
  /** Abstract representation of an object which can be rendered by a [[RenderSystem]].
7
8
  * Two broad classes of graphics exist:
8
9
  * - "Scene" graphics generated on the back-end to represent the contents of the models displayed in a [[Viewport]]; and
@@ -15,6 +16,10 @@ export declare abstract class RenderGraphic implements IDisposable {
15
16
  abstract dispose(): void;
16
17
  /** @internal */
17
18
  abstract collectStatistics(stats: RenderMemory.Statistics): void;
19
+ /** Extend `range` to include the bounding box of this graphic, including any child graphics.
20
+ * @internal
21
+ */
22
+ abstract unionRange(range: Range3d): void;
18
23
  }
19
24
  /** A graphic that owns another graphic. By default, every time a [[Viewport]]'s decorations or dynamics graphics change, the previous graphics are disposed of.
20
25
  * Use a GraphicOwner to prevent disposal of a graphic that you want to reuse. The graphic owner can be added to decorations and list of dynamics just like any other graphic, but the graphic it owns
@@ -32,6 +37,8 @@ export declare abstract class RenderGraphicOwner extends RenderGraphic {
32
37
  disposeGraphic(): void;
33
38
  /** @internal */
34
39
  collectStatistics(stats: RenderMemory.Statistics): void;
40
+ /** @internal */
41
+ unionRange(range: Range3d): void;
35
42
  }
36
43
  /** An array of [[RenderGraphic]]s.
37
44
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"RenderGraphic.d.ts","sourceRoot":"","sources":["../../../src/render/RenderGraphic.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;;;;;GAOG;AACH,8BAAsB,aAAc,YAAW,WAAW;aACxC,OAAO,IAAI,IAAI;IAE/B,gBAAgB;aACA,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,UAAU,GAAG,IAAI;CACxE;AAED;;;;;;GAMG;AACH,8BAAsB,kBAAmB,SAAQ,aAAa;IAC5D,yBAAyB;IACzB,aAAoB,OAAO,IAAI,aAAa,CAAC;IAC7C,6EAA6E;IACtE,OAAO,IAAI,IAAI;IACtB,qCAAqC;IAC9B,cAAc,IAAI,IAAI;IAC7B,gBAAgB;IACT,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,UAAU,GAAG,IAAI;CAC/D;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"RenderGraphic.d.ts","sourceRoot":"","sources":["../../../src/render/RenderGraphic.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C;;;;;;;GAOG;AACH,8BAAsB,aAAc,YAAW,WAAW;aACxC,OAAO,IAAI,IAAI;IAE/B,gBAAgB;aACA,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,UAAU,GAAG,IAAI;IAEvE;;MAEE;aACc,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;CACjD;AAED;;;;;;GAMG;AACH,8BAAsB,kBAAmB,SAAQ,aAAa;IAC5D,yBAAyB;IACzB,aAAoB,OAAO,IAAI,aAAa,CAAC;IAC7C,6EAA6E;IACtE,OAAO,IAAI,IAAI;IACtB,qCAAqC;IAC9B,cAAc,IAAI,IAAI;IAC7B,gBAAgB;IACT,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,UAAU,GAAG,IAAI;IAC9D,gBAAgB;IACA,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;CACjD;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC"}
@@ -29,5 +29,7 @@ export class RenderGraphicOwner extends RenderGraphic {
29
29
  disposeGraphic() { this.graphic.dispose(); }
30
30
  /** @internal */
31
31
  collectStatistics(stats) { this.graphic.collectStatistics(stats); }
32
+ /** @internal */
33
+ unionRange(range) { this.graphic.unionRange(range); }
32
34
  }
33
35
  //# sourceMappingURL=RenderGraphic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RenderGraphic.js","sourceRoot":"","sources":["../../../src/render/RenderGraphic.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAKH;;;;;;;GAOG;AACH,MAAM,OAAgB,aAAa;CAKlC;AAED;;;;;;GAMG;AACH,MAAM,OAAgB,kBAAmB,SAAQ,aAAa;IAG5D,6EAA6E;IACtE,OAAO,KAAW,CAAC;IAC1B,qCAAqC;IAC9B,cAAc,KAAW,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACzD,gBAAgB;IACT,iBAAiB,CAAC,KAA8B,IAAU,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAC1G","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/** @packageDocumentation\r\n * @module Rendering\r\n */\r\n\r\nimport { IDisposable } from \"@itwin/core-bentley\";\r\nimport { RenderMemory } from \"./RenderMemory\";\r\n\r\n/** Abstract representation of an object which can be rendered by a [[RenderSystem]].\r\n * Two broad classes of graphics exist:\r\n * - \"Scene\" graphics generated on the back-end to represent the contents of the models displayed in a [[Viewport]]; and\r\n * - [[Decorations]] created on the front-end to be rendered along with the scene.\r\n * The latter are produced using a [[GraphicBuilder]].\r\n * @public\r\n * @extensions\r\n */\r\nexport abstract class RenderGraphic implements IDisposable /* , RenderMemory.Consumer */ {\r\n public abstract dispose(): void;\r\n\r\n /** @internal */\r\n public abstract collectStatistics(stats: RenderMemory.Statistics): void;\r\n}\r\n\r\n/** A graphic that owns another graphic. By default, every time a [[Viewport]]'s decorations or dynamics graphics change, the previous graphics are disposed of.\r\n * Use a GraphicOwner to prevent disposal of a graphic that you want to reuse. The graphic owner can be added to decorations and list of dynamics just like any other graphic, but the graphic it owns\r\n * will never be automatically disposed of. Instead, you assume responsibility for disposing of the owned graphic by calling [[disposeGraphic]] when the owned graphic is no longer in use. Failure\r\n * to do so will result in leaks of graphics memory or other webgl resources.\r\n * @public\r\n * @extensions\r\n */\r\nexport abstract class RenderGraphicOwner extends RenderGraphic {\r\n /** The owned graphic. */\r\n public abstract get graphic(): RenderGraphic;\r\n /** Does nothing. To dispose of the owned graphic, use [[disposeGraphic]]. */\r\n public dispose(): void { }\r\n /** Disposes of the owned graphic. */\r\n public disposeGraphic(): void { this.graphic.dispose(); }\r\n /** @internal */\r\n public collectStatistics(stats: RenderMemory.Statistics): void { this.graphic.collectStatistics(stats); }\r\n}\r\n\r\n/** An array of [[RenderGraphic]]s.\r\n * @public\r\n * @extensions\r\n */\r\nexport type GraphicList = RenderGraphic[];\r\n"]}
1
+ {"version":3,"file":"RenderGraphic.js","sourceRoot":"","sources":["../../../src/render/RenderGraphic.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAMH;;;;;;;GAOG;AACH,MAAM,OAAgB,aAAa;CAUlC;AAED;;;;;;GAMG;AACH,MAAM,OAAgB,kBAAmB,SAAQ,aAAa;IAG5D,6EAA6E;IACtE,OAAO,KAAW,CAAC;IAC1B,qCAAqC;IAC9B,cAAc,KAAW,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACzD,gBAAgB;IACT,iBAAiB,CAAC,KAA8B,IAAU,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzG,gBAAgB;IACA,UAAU,CAAC,KAAc,IAAU,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CACrF","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/** @packageDocumentation\r\n * @module Rendering\r\n */\r\n\r\nimport { IDisposable } from \"@itwin/core-bentley\";\r\nimport { RenderMemory } from \"./RenderMemory\";\r\nimport { Range3d } from \"@itwin/core-geometry\";\r\n\r\n/** Abstract representation of an object which can be rendered by a [[RenderSystem]].\r\n * Two broad classes of graphics exist:\r\n * - \"Scene\" graphics generated on the back-end to represent the contents of the models displayed in a [[Viewport]]; and\r\n * - [[Decorations]] created on the front-end to be rendered along with the scene.\r\n * The latter are produced using a [[GraphicBuilder]].\r\n * @public\r\n * @extensions\r\n */\r\nexport abstract class RenderGraphic implements IDisposable /* , RenderMemory.Consumer */ {\r\n public abstract dispose(): void;\r\n\r\n /** @internal */\r\n public abstract collectStatistics(stats: RenderMemory.Statistics): void;\r\n\r\n /** Extend `range` to include the bounding box of this graphic, including any child graphics.\r\n * @internal\r\n */\r\n public abstract unionRange(range: Range3d): void;\r\n}\r\n\r\n/** A graphic that owns another graphic. By default, every time a [[Viewport]]'s decorations or dynamics graphics change, the previous graphics are disposed of.\r\n * Use a GraphicOwner to prevent disposal of a graphic that you want to reuse. The graphic owner can be added to decorations and list of dynamics just like any other graphic, but the graphic it owns\r\n * will never be automatically disposed of. Instead, you assume responsibility for disposing of the owned graphic by calling [[disposeGraphic]] when the owned graphic is no longer in use. Failure\r\n * to do so will result in leaks of graphics memory or other webgl resources.\r\n * @public\r\n * @extensions\r\n */\r\nexport abstract class RenderGraphicOwner extends RenderGraphic {\r\n /** The owned graphic. */\r\n public abstract get graphic(): RenderGraphic;\r\n /** Does nothing. To dispose of the owned graphic, use [[disposeGraphic]]. */\r\n public dispose(): void { }\r\n /** Disposes of the owned graphic. */\r\n public disposeGraphic(): void { this.graphic.dispose(); }\r\n /** @internal */\r\n public collectStatistics(stats: RenderMemory.Statistics): void { this.graphic.collectStatistics(stats); }\r\n /** @internal */\r\n public override unionRange(range: Range3d): void { this.graphic.unionRange(range); }\r\n}\r\n\r\n/** An array of [[RenderGraphic]]s.\r\n * @public\r\n * @extensions\r\n */\r\nexport type GraphicList = RenderGraphic[];\r\n"]}
@@ -2,7 +2,7 @@
2
2
  * @module Rendering
3
3
  */
4
4
  import { Id64String, IDisposable } from "@itwin/core-bentley";
5
- import { Frustum, ImageBuffer, SpatialClassifier } from "@itwin/core-common";
5
+ import { Frustum, ImageBuffer } from "@itwin/core-common";
6
6
  import { Point2d, XAndY } from "@itwin/core-geometry";
7
7
  import { IModelConnection } from "../IModelConnection";
8
8
  import { HiliteSet } from "../SelectionSet";
@@ -23,6 +23,7 @@ import { RenderPlanarClassifier } from "./RenderPlanarClassifier";
23
23
  import { RenderSystem, RenderTextureDrape } from "./RenderSystem";
24
24
  import { Scene } from "./Scene";
25
25
  import { QueryTileFeaturesOptions, QueryVisibleFeaturesCallback } from "./VisibleFeature";
26
+ import { ActiveSpatialClassifier } from "../SpatialClassifiersState";
26
27
  /** Used for debugging purposes, to toggle display of instanced or batched primitives.
27
28
  * @see [[RenderTargetDebugControl]].
28
29
  * @internal
@@ -89,7 +90,7 @@ export declare abstract class RenderTarget implements IDisposable, RenderMemory.
89
90
  /** Update the solar shadow map. If a SceneContext is supplied, shadows are enabled; otherwise, shadows are disabled. */
90
91
  updateSolarShadows(_context: SceneContext | undefined): void;
91
92
  getPlanarClassifier(_id: string): RenderPlanarClassifier | undefined;
92
- createPlanarClassifier(_properties?: SpatialClassifier): RenderPlanarClassifier | undefined;
93
+ createPlanarClassifier(_properties?: ActiveSpatialClassifier): RenderPlanarClassifier | undefined;
93
94
  getTextureDrape(_id: Id64String): RenderTextureDrape | undefined;
94
95
  createGraphicBuilder(options: CustomGraphicBuilderOptions | ViewportGraphicBuilderOptions): import("./GraphicBuilder").GraphicBuilder;
95
96
  dispose(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"RenderTarget.d.ts","sourceRoot":"","sources":["../../../src/render/RenderTarget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RenderTarget.d.ts","sourceRoot":"","sources":["../../../src/render/RenderTarget.ts"],"names":[],"mappings":"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"}