@itwin/core-frontend 4.10.0-dev.2 → 4.10.0-dev.22

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 (546) hide show
  1. package/CHANGELOG.md +33 -1
  2. package/lib/cjs/AccuSnap.d.ts.map +1 -1
  3. package/lib/cjs/AccuSnap.js +9 -5
  4. package/lib/cjs/AccuSnap.js.map +1 -1
  5. package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
  6. package/lib/cjs/DisplayStyleState.js +5 -1
  7. package/lib/cjs/DisplayStyleState.js.map +1 -1
  8. package/lib/cjs/ElementLocateManager.d.ts +7 -1
  9. package/lib/cjs/ElementLocateManager.d.ts.map +1 -1
  10. package/lib/cjs/ElementLocateManager.js +34 -10
  11. package/lib/cjs/ElementLocateManager.js.map +1 -1
  12. package/lib/cjs/HitDetail.d.ts +4 -0
  13. package/lib/cjs/HitDetail.d.ts.map +1 -1
  14. package/lib/cjs/HitDetail.js +3 -0
  15. package/lib/cjs/HitDetail.js.map +1 -1
  16. package/lib/cjs/IModelConnection.d.ts +1 -0
  17. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  18. package/lib/cjs/IModelConnection.js +2 -1
  19. package/lib/cjs/IModelConnection.js.map +1 -1
  20. package/lib/cjs/NoRenderApp.d.ts +1 -0
  21. package/lib/cjs/NoRenderApp.d.ts.map +1 -1
  22. package/lib/cjs/NoRenderApp.js +1 -0
  23. package/lib/cjs/NoRenderApp.js.map +1 -1
  24. package/lib/cjs/SheetViewState.d.ts +0 -1
  25. package/lib/cjs/SheetViewState.d.ts.map +1 -1
  26. package/lib/cjs/SheetViewState.js +0 -1
  27. package/lib/cjs/SheetViewState.js.map +1 -1
  28. package/lib/cjs/Viewport.d.ts +25 -1
  29. package/lib/cjs/Viewport.d.ts.map +1 -1
  30. package/lib/cjs/Viewport.js +20 -12
  31. package/lib/cjs/Viewport.js.map +1 -1
  32. package/lib/cjs/common/WorkerProxy.d.ts +8 -4
  33. package/lib/cjs/common/WorkerProxy.d.ts.map +1 -1
  34. package/lib/cjs/common/WorkerProxy.js.map +1 -1
  35. package/lib/cjs/common/imdl/ImdlModel.d.ts +3 -8
  36. package/lib/cjs/common/imdl/ImdlModel.d.ts.map +1 -1
  37. package/lib/cjs/common/imdl/ImdlModel.js.map +1 -1
  38. package/lib/cjs/common/internal/Symbols.d.ts +7 -0
  39. package/lib/cjs/common/internal/Symbols.d.ts.map +1 -1
  40. package/lib/cjs/common/internal/Symbols.js +8 -1
  41. package/lib/cjs/common/internal/Symbols.js.map +1 -1
  42. package/lib/cjs/common/internal/render/InstancedGraphicPropsBuilder.d.ts +15 -0
  43. package/lib/cjs/common/internal/render/InstancedGraphicPropsBuilder.d.ts.map +1 -0
  44. package/lib/cjs/common/internal/render/InstancedGraphicPropsBuilder.js +95 -0
  45. package/lib/cjs/common/internal/render/InstancedGraphicPropsBuilder.js.map +1 -0
  46. package/lib/cjs/common/internal/render/LineCode.d.ts +9 -0
  47. package/lib/cjs/common/internal/render/LineCode.d.ts.map +1 -0
  48. package/lib/cjs/common/internal/render/LineCode.js +31 -0
  49. package/lib/cjs/common/internal/render/LineCode.js.map +1 -0
  50. package/lib/cjs/common/internal/render/OvrFlags.d.ts +27 -0
  51. package/lib/cjs/common/internal/render/OvrFlags.d.ts.map +1 -0
  52. package/lib/cjs/common/internal/render/OvrFlags.js +10 -0
  53. package/lib/cjs/common/internal/render/OvrFlags.js.map +1 -0
  54. package/lib/cjs/common/internal/render/VertexTable.d.ts.map +1 -1
  55. package/lib/cjs/common/internal/render/VertexTable.js +3 -5
  56. package/lib/cjs/common/internal/render/VertexTable.js.map +1 -1
  57. package/lib/cjs/common/render/InstancedGraphicParams.d.ts +25 -1
  58. package/lib/cjs/common/render/InstancedGraphicParams.d.ts.map +1 -1
  59. package/lib/cjs/common/render/InstancedGraphicParams.js +59 -0
  60. package/lib/cjs/common/render/InstancedGraphicParams.js.map +1 -1
  61. package/lib/cjs/common/render/RenderInstancesParams.d.ts +76 -0
  62. package/lib/cjs/common/render/RenderInstancesParams.d.ts.map +1 -0
  63. package/lib/cjs/common/render/RenderInstancesParams.js +33 -0
  64. package/lib/cjs/common/render/RenderInstancesParams.js.map +1 -0
  65. package/lib/cjs/common.d.ts +1 -0
  66. package/lib/cjs/common.d.ts.map +1 -1
  67. package/lib/cjs/common.js +1 -0
  68. package/lib/cjs/common.js.map +1 -1
  69. package/lib/cjs/core-frontend.d.ts +1 -0
  70. package/lib/cjs/core-frontend.d.ts.map +1 -1
  71. package/lib/cjs/core-frontend.js +1 -0
  72. package/lib/cjs/core-frontend.js.map +1 -1
  73. package/lib/cjs/internal/render/PrimitiveBuilder.d.ts +4 -1
  74. package/lib/cjs/internal/render/PrimitiveBuilder.d.ts.map +1 -1
  75. package/lib/cjs/internal/render/PrimitiveBuilder.js +82 -35
  76. package/lib/cjs/internal/render/PrimitiveBuilder.js.map +1 -1
  77. package/lib/cjs/internal/render/RenderGeometry.d.ts +20 -0
  78. package/lib/cjs/internal/render/RenderGeometry.d.ts.map +1 -0
  79. package/lib/cjs/internal/render/RenderGeometry.js +10 -0
  80. package/lib/cjs/internal/render/RenderGeometry.js.map +1 -0
  81. package/lib/cjs/internal/render/RenderInstancesParamsImpl.d.ts +24 -0
  82. package/lib/cjs/internal/render/RenderInstancesParamsImpl.d.ts.map +1 -0
  83. package/lib/cjs/internal/render/RenderInstancesParamsImpl.js +69 -0
  84. package/lib/cjs/internal/render/RenderInstancesParamsImpl.js.map +1 -0
  85. package/lib/cjs/render/GraphicBranch.d.ts +10 -1
  86. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  87. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  88. package/lib/cjs/render/GraphicBuilder.d.ts +17 -3
  89. package/lib/cjs/render/GraphicBuilder.d.ts.map +1 -1
  90. package/lib/cjs/render/GraphicBuilder.js +7 -1
  91. package/lib/cjs/render/GraphicBuilder.js.map +1 -1
  92. package/lib/cjs/render/GraphicTemplate.d.ts +76 -0
  93. package/lib/cjs/render/GraphicTemplate.d.ts.map +1 -0
  94. package/lib/cjs/render/GraphicTemplate.js +41 -0
  95. package/lib/cjs/render/GraphicTemplate.js.map +1 -0
  96. package/lib/cjs/render/MockRender.d.ts +12 -2
  97. package/lib/cjs/render/MockRender.d.ts.map +1 -1
  98. package/lib/cjs/render/MockRender.js +19 -5
  99. package/lib/cjs/render/MockRender.js.map +1 -1
  100. package/lib/cjs/render/Pixel.d.ts +6 -0
  101. package/lib/cjs/render/Pixel.d.ts.map +1 -1
  102. package/lib/cjs/render/Pixel.js +2 -0
  103. package/lib/cjs/render/Pixel.js.map +1 -1
  104. package/lib/cjs/render/RealityMeshGraphicParams.d.ts +1 -0
  105. package/lib/cjs/render/RealityMeshGraphicParams.d.ts.map +1 -1
  106. package/lib/cjs/render/RealityMeshGraphicParams.js.map +1 -1
  107. package/lib/cjs/render/RenderMemory.d.ts +2 -0
  108. package/lib/cjs/render/RenderMemory.d.ts.map +1 -1
  109. package/lib/cjs/render/RenderMemory.js +2 -0
  110. package/lib/cjs/render/RenderMemory.js.map +1 -1
  111. package/lib/cjs/render/RenderPlan.d.ts +2 -1
  112. package/lib/cjs/render/RenderPlan.d.ts.map +1 -1
  113. package/lib/cjs/render/RenderPlan.js +2 -0
  114. package/lib/cjs/render/RenderPlan.js.map +1 -1
  115. package/lib/cjs/render/RenderSystem.d.ts +59 -11
  116. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  117. package/lib/cjs/render/RenderSystem.js +44 -6
  118. package/lib/cjs/render/RenderSystem.js.map +1 -1
  119. package/lib/cjs/render/RenderTarget.d.ts +1 -1
  120. package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
  121. package/lib/cjs/render/RenderTarget.js.map +1 -1
  122. package/lib/cjs/render/webgl/BatchUniforms.d.ts +4 -0
  123. package/lib/cjs/render/webgl/BatchUniforms.d.ts.map +1 -1
  124. package/lib/cjs/render/webgl/BatchUniforms.js +18 -0
  125. package/lib/cjs/render/webgl/BatchUniforms.js.map +1 -1
  126. package/lib/cjs/render/webgl/BranchState.d.ts +7 -0
  127. package/lib/cjs/render/webgl/BranchState.d.ts.map +1 -1
  128. package/lib/cjs/render/webgl/BranchState.js +4 -0
  129. package/lib/cjs/render/webgl/BranchState.js.map +1 -1
  130. package/lib/cjs/render/webgl/BranchUniforms.d.ts +1 -0
  131. package/lib/cjs/render/webgl/BranchUniforms.d.ts.map +1 -1
  132. package/lib/cjs/render/webgl/BranchUniforms.js +14 -1
  133. package/lib/cjs/render/webgl/BranchUniforms.js.map +1 -1
  134. package/lib/cjs/render/webgl/ContourUniforms.d.ts +22 -0
  135. package/lib/cjs/render/webgl/ContourUniforms.d.ts.map +1 -0
  136. package/lib/cjs/render/webgl/ContourUniforms.js +98 -0
  137. package/lib/cjs/render/webgl/ContourUniforms.js.map +1 -0
  138. package/lib/cjs/render/webgl/Contours.d.ts +34 -0
  139. package/lib/cjs/render/webgl/Contours.d.ts.map +1 -0
  140. package/lib/cjs/render/webgl/Contours.js +127 -0
  141. package/lib/cjs/render/webgl/Contours.js.map +1 -0
  142. package/lib/cjs/render/webgl/EdgeSettings.d.ts +2 -1
  143. package/lib/cjs/render/webgl/EdgeSettings.d.ts.map +1 -1
  144. package/lib/cjs/render/webgl/EdgeSettings.js +1 -1
  145. package/lib/cjs/render/webgl/EdgeSettings.js.map +1 -1
  146. package/lib/cjs/render/webgl/FeatureOverrides.d.ts +2 -0
  147. package/lib/cjs/render/webgl/FeatureOverrides.d.ts.map +1 -1
  148. package/lib/cjs/render/webgl/FeatureOverrides.js +83 -69
  149. package/lib/cjs/render/webgl/FeatureOverrides.js.map +1 -1
  150. package/lib/cjs/render/webgl/GL.d.ts +2 -1
  151. package/lib/cjs/render/webgl/GL.d.ts.map +1 -1
  152. package/lib/cjs/render/webgl/GL.js +1 -0
  153. package/lib/cjs/render/webgl/GL.js.map +1 -1
  154. package/lib/cjs/render/webgl/Graphic.d.ts +9 -0
  155. package/lib/cjs/render/webgl/Graphic.d.ts.map +1 -1
  156. package/lib/cjs/render/webgl/Graphic.js +27 -0
  157. package/lib/cjs/render/webgl/Graphic.js.map +1 -1
  158. package/lib/cjs/render/webgl/InstancedGeometry.d.ts +40 -10
  159. package/lib/cjs/render/webgl/InstancedGeometry.d.ts.map +1 -1
  160. package/lib/cjs/render/webgl/InstancedGeometry.js +99 -31
  161. package/lib/cjs/render/webgl/InstancedGeometry.js.map +1 -1
  162. package/lib/cjs/render/webgl/LineCode.d.ts.map +1 -1
  163. package/lib/cjs/render/webgl/LineCode.js +2 -14
  164. package/lib/cjs/render/webgl/LineCode.js.map +1 -1
  165. package/lib/cjs/render/webgl/Mesh.d.ts +9 -4
  166. package/lib/cjs/render/webgl/Mesh.d.ts.map +1 -1
  167. package/lib/cjs/render/webgl/Mesh.js +18 -16
  168. package/lib/cjs/render/webgl/Mesh.js.map +1 -1
  169. package/lib/cjs/render/webgl/PointCloud.d.ts +5 -1
  170. package/lib/cjs/render/webgl/PointCloud.d.ts.map +1 -1
  171. package/lib/cjs/render/webgl/PointCloud.js +7 -2
  172. package/lib/cjs/render/webgl/PointCloud.js.map +1 -1
  173. package/lib/cjs/render/webgl/PointString.d.ts +5 -1
  174. package/lib/cjs/render/webgl/PointString.d.ts.map +1 -1
  175. package/lib/cjs/render/webgl/PointString.js +8 -3
  176. package/lib/cjs/render/webgl/PointString.js.map +1 -1
  177. package/lib/cjs/render/webgl/Polyline.d.ts +5 -1
  178. package/lib/cjs/render/webgl/Polyline.d.ts.map +1 -1
  179. package/lib/cjs/render/webgl/Polyline.js +7 -2
  180. package/lib/cjs/render/webgl/Polyline.js.map +1 -1
  181. package/lib/cjs/render/webgl/Primitive.d.ts +1 -3
  182. package/lib/cjs/render/webgl/Primitive.d.ts.map +1 -1
  183. package/lib/cjs/render/webgl/Primitive.js +1 -6
  184. package/lib/cjs/render/webgl/Primitive.js.map +1 -1
  185. package/lib/cjs/render/webgl/RealityMesh.d.ts +5 -1
  186. package/lib/cjs/render/webgl/RealityMesh.d.ts.map +1 -1
  187. package/lib/cjs/render/webgl/RealityMesh.js +7 -1
  188. package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
  189. package/lib/cjs/render/webgl/RenderFlags.d.ts +2 -19
  190. package/lib/cjs/render/webgl/RenderFlags.d.ts.map +1 -1
  191. package/lib/cjs/render/webgl/RenderFlags.js +2 -0
  192. package/lib/cjs/render/webgl/RenderFlags.js.map +1 -1
  193. package/lib/cjs/render/webgl/SceneCompositor.d.ts.map +1 -1
  194. package/lib/cjs/render/webgl/SceneCompositor.js +12 -3
  195. package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
  196. package/lib/cjs/render/webgl/ShaderBuilder.d.ts +15 -13
  197. package/lib/cjs/render/webgl/ShaderBuilder.d.ts.map +1 -1
  198. package/lib/cjs/render/webgl/ShaderBuilder.js +18 -10
  199. package/lib/cjs/render/webgl/ShaderBuilder.js.map +1 -1
  200. package/lib/cjs/render/webgl/ShaderProgram.d.ts.map +1 -1
  201. package/lib/cjs/render/webgl/ShaderProgram.js +26 -0
  202. package/lib/cjs/render/webgl/ShaderProgram.js.map +1 -1
  203. package/lib/cjs/render/webgl/System.d.ts +11 -5
  204. package/lib/cjs/render/webgl/System.d.ts.map +1 -1
  205. package/lib/cjs/render/webgl/System.js +81 -13
  206. package/lib/cjs/render/webgl/System.js.map +1 -1
  207. package/lib/cjs/render/webgl/Target.d.ts +6 -2
  208. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  209. package/lib/cjs/render/webgl/Target.js +24 -1
  210. package/lib/cjs/render/webgl/Target.js.map +1 -1
  211. package/lib/cjs/render/webgl/TargetUniforms.d.ts +2 -0
  212. package/lib/cjs/render/webgl/TargetUniforms.d.ts.map +1 -1
  213. package/lib/cjs/render/webgl/TargetUniforms.js +2 -0
  214. package/lib/cjs/render/webgl/TargetUniforms.js.map +1 -1
  215. package/lib/cjs/render/webgl/Texture.d.ts +2 -1
  216. package/lib/cjs/render/webgl/Texture.d.ts.map +1 -1
  217. package/lib/cjs/render/webgl/Texture.js.map +1 -1
  218. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js +1 -1
  219. package/lib/cjs/render/webgl/glsl/Atmosphere.js +1 -1
  220. package/lib/cjs/render/webgl/glsl/Blur.js +1 -1
  221. package/lib/cjs/render/webgl/glsl/ClearPickAndColor.js +1 -1
  222. package/lib/cjs/render/webgl/glsl/ClearTranslucent.js +1 -1
  223. package/lib/cjs/render/webgl/glsl/Clipping.js +1 -1
  224. package/lib/cjs/render/webgl/glsl/Combine3Textures.js +1 -1
  225. package/lib/cjs/render/webgl/glsl/CombineTextures.js +1 -1
  226. package/lib/cjs/render/webgl/glsl/Composite.js +1 -1
  227. package/lib/cjs/render/webgl/glsl/Contours.d.ts +4 -0
  228. package/lib/cjs/render/webgl/glsl/Contours.d.ts.map +1 -0
  229. package/lib/cjs/render/webgl/glsl/Contours.js +138 -0
  230. package/lib/cjs/render/webgl/glsl/Contours.js.map +1 -0
  231. package/lib/cjs/render/webgl/glsl/CopyColor.js +1 -1
  232. package/lib/cjs/render/webgl/glsl/CopyPickBuffers.js +1 -1
  233. package/lib/cjs/render/webgl/glsl/CopyStencil.js +5 -5
  234. package/lib/cjs/render/webgl/glsl/EDL.js +4 -4
  235. package/lib/cjs/render/webgl/glsl/EVSMFromDepth.js +1 -1
  236. package/lib/cjs/render/webgl/glsl/Edge.js +1 -1
  237. package/lib/cjs/render/webgl/glsl/FeatureSymbology.d.ts +2 -1
  238. package/lib/cjs/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
  239. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js +28 -15
  240. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  241. package/lib/cjs/render/webgl/glsl/Fragment.js +9 -9
  242. package/lib/cjs/render/webgl/glsl/LogarithmicDepthBuffer.js +1 -1
  243. package/lib/cjs/render/webgl/glsl/PlanarClassification.js +4 -4
  244. package/lib/cjs/render/webgl/glsl/PointCloud.js +1 -1
  245. package/lib/cjs/render/webgl/glsl/RealityMesh.js +3 -3
  246. package/lib/cjs/render/webgl/glsl/ScreenSpaceEffect.js +1 -1
  247. package/lib/cjs/render/webgl/glsl/SkyBox.js +1 -1
  248. package/lib/cjs/render/webgl/glsl/SkySphere.js +1 -1
  249. package/lib/cjs/render/webgl/glsl/SolarShadowMapping.js +1 -1
  250. package/lib/cjs/render/webgl/glsl/Surface.d.ts.map +1 -1
  251. package/lib/cjs/render/webgl/glsl/Surface.js +5 -3
  252. package/lib/cjs/render/webgl/glsl/Surface.js.map +1 -1
  253. package/lib/cjs/render/webgl/glsl/Translucency.js +1 -1
  254. package/lib/cjs/render/webgl/glsl/Wiremesh.js +1 -1
  255. package/lib/cjs/tile/GltfReader.d.ts +27 -7
  256. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  257. package/lib/cjs/tile/GltfReader.js +84 -68
  258. package/lib/cjs/tile/GltfReader.js.map +1 -1
  259. package/lib/cjs/tile/ImdlGraphicsCreator.d.ts +4 -1
  260. package/lib/cjs/tile/ImdlGraphicsCreator.d.ts.map +1 -1
  261. package/lib/cjs/tile/ImdlGraphicsCreator.js +32 -22
  262. package/lib/cjs/tile/ImdlGraphicsCreator.js.map +1 -1
  263. package/lib/cjs/tile/TileDrawArgs.d.ts +4 -0
  264. package/lib/cjs/tile/TileDrawArgs.d.ts.map +1 -1
  265. package/lib/cjs/tile/TileDrawArgs.js +2 -0
  266. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  267. package/lib/cjs/tile/TileTreeReference.d.ts +2 -0
  268. package/lib/cjs/tile/TileTreeReference.d.ts.map +1 -1
  269. package/lib/cjs/tile/TileTreeReference.js +3 -0
  270. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  271. package/lib/cjs/tile/map/MapTile.js +1 -1
  272. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  273. package/lib/esm/AccuSnap.d.ts.map +1 -1
  274. package/lib/esm/AccuSnap.js +9 -5
  275. package/lib/esm/AccuSnap.js.map +1 -1
  276. package/lib/esm/DisplayStyleState.d.ts.map +1 -1
  277. package/lib/esm/DisplayStyleState.js +5 -1
  278. package/lib/esm/DisplayStyleState.js.map +1 -1
  279. package/lib/esm/ElementLocateManager.d.ts +7 -1
  280. package/lib/esm/ElementLocateManager.d.ts.map +1 -1
  281. package/lib/esm/ElementLocateManager.js +34 -10
  282. package/lib/esm/ElementLocateManager.js.map +1 -1
  283. package/lib/esm/HitDetail.d.ts +4 -0
  284. package/lib/esm/HitDetail.d.ts.map +1 -1
  285. package/lib/esm/HitDetail.js +3 -0
  286. package/lib/esm/HitDetail.js.map +1 -1
  287. package/lib/esm/IModelConnection.d.ts +1 -0
  288. package/lib/esm/IModelConnection.d.ts.map +1 -1
  289. package/lib/esm/IModelConnection.js +2 -1
  290. package/lib/esm/IModelConnection.js.map +1 -1
  291. package/lib/esm/NoRenderApp.d.ts +1 -0
  292. package/lib/esm/NoRenderApp.d.ts.map +1 -1
  293. package/lib/esm/NoRenderApp.js +1 -0
  294. package/lib/esm/NoRenderApp.js.map +1 -1
  295. package/lib/esm/SheetViewState.d.ts +0 -1
  296. package/lib/esm/SheetViewState.d.ts.map +1 -1
  297. package/lib/esm/SheetViewState.js +0 -1
  298. package/lib/esm/SheetViewState.js.map +1 -1
  299. package/lib/esm/Viewport.d.ts +25 -1
  300. package/lib/esm/Viewport.d.ts.map +1 -1
  301. package/lib/esm/Viewport.js +20 -12
  302. package/lib/esm/Viewport.js.map +1 -1
  303. package/lib/esm/common/WorkerProxy.d.ts +8 -4
  304. package/lib/esm/common/WorkerProxy.d.ts.map +1 -1
  305. package/lib/esm/common/WorkerProxy.js.map +1 -1
  306. package/lib/esm/common/imdl/ImdlModel.d.ts +3 -8
  307. package/lib/esm/common/imdl/ImdlModel.d.ts.map +1 -1
  308. package/lib/esm/common/imdl/ImdlModel.js.map +1 -1
  309. package/lib/esm/common/internal/Symbols.d.ts +7 -0
  310. package/lib/esm/common/internal/Symbols.d.ts.map +1 -1
  311. package/lib/esm/common/internal/Symbols.js +7 -0
  312. package/lib/esm/common/internal/Symbols.js.map +1 -1
  313. package/lib/esm/common/internal/render/InstancedGraphicPropsBuilder.d.ts +15 -0
  314. package/lib/esm/common/internal/render/InstancedGraphicPropsBuilder.d.ts.map +1 -0
  315. package/lib/esm/common/internal/render/InstancedGraphicPropsBuilder.js +91 -0
  316. package/lib/esm/common/internal/render/InstancedGraphicPropsBuilder.js.map +1 -0
  317. package/lib/esm/common/internal/render/LineCode.d.ts +9 -0
  318. package/lib/esm/common/internal/render/LineCode.d.ts.map +1 -0
  319. package/lib/esm/common/internal/render/LineCode.js +27 -0
  320. package/lib/esm/common/internal/render/LineCode.js.map +1 -0
  321. package/lib/esm/common/internal/render/OvrFlags.d.ts +27 -0
  322. package/lib/esm/common/internal/render/OvrFlags.d.ts.map +1 -0
  323. package/lib/esm/common/internal/render/OvrFlags.js +9 -0
  324. package/lib/esm/common/internal/render/OvrFlags.js.map +1 -0
  325. package/lib/esm/common/internal/render/VertexTable.d.ts.map +1 -1
  326. package/lib/esm/common/internal/render/VertexTable.js +3 -5
  327. package/lib/esm/common/internal/render/VertexTable.js.map +1 -1
  328. package/lib/esm/common/render/InstancedGraphicParams.d.ts +25 -1
  329. package/lib/esm/common/render/InstancedGraphicParams.d.ts.map +1 -1
  330. package/lib/esm/common/render/InstancedGraphicParams.js +58 -1
  331. package/lib/esm/common/render/InstancedGraphicParams.js.map +1 -1
  332. package/lib/esm/common/render/RenderInstancesParams.d.ts +76 -0
  333. package/lib/esm/common/render/RenderInstancesParams.d.ts.map +1 -0
  334. package/lib/esm/common/render/RenderInstancesParams.js +30 -0
  335. package/lib/esm/common/render/RenderInstancesParams.js.map +1 -0
  336. package/lib/esm/common.d.ts +1 -0
  337. package/lib/esm/common.d.ts.map +1 -1
  338. package/lib/esm/common.js +1 -0
  339. package/lib/esm/common.js.map +1 -1
  340. package/lib/esm/core-frontend.d.ts +1 -0
  341. package/lib/esm/core-frontend.d.ts.map +1 -1
  342. package/lib/esm/core-frontend.js +1 -0
  343. package/lib/esm/core-frontend.js.map +1 -1
  344. package/lib/esm/internal/render/PrimitiveBuilder.d.ts +4 -1
  345. package/lib/esm/internal/render/PrimitiveBuilder.d.ts.map +1 -1
  346. package/lib/esm/internal/render/PrimitiveBuilder.js +82 -35
  347. package/lib/esm/internal/render/PrimitiveBuilder.js.map +1 -1
  348. package/lib/esm/internal/render/RenderGeometry.d.ts +20 -0
  349. package/lib/esm/internal/render/RenderGeometry.d.ts.map +1 -0
  350. package/lib/esm/internal/render/RenderGeometry.js +9 -0
  351. package/lib/esm/internal/render/RenderGeometry.js.map +1 -0
  352. package/lib/esm/internal/render/RenderInstancesParamsImpl.d.ts +24 -0
  353. package/lib/esm/internal/render/RenderInstancesParamsImpl.d.ts.map +1 -0
  354. package/lib/esm/internal/render/RenderInstancesParamsImpl.js +64 -0
  355. package/lib/esm/internal/render/RenderInstancesParamsImpl.js.map +1 -0
  356. package/lib/esm/render/GraphicBranch.d.ts +10 -1
  357. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  358. package/lib/esm/render/GraphicBranch.js.map +1 -1
  359. package/lib/esm/render/GraphicBuilder.d.ts +17 -3
  360. package/lib/esm/render/GraphicBuilder.d.ts.map +1 -1
  361. package/lib/esm/render/GraphicBuilder.js +7 -1
  362. package/lib/esm/render/GraphicBuilder.js.map +1 -1
  363. package/lib/esm/render/GraphicTemplate.d.ts +76 -0
  364. package/lib/esm/render/GraphicTemplate.d.ts.map +1 -0
  365. package/lib/esm/render/GraphicTemplate.js +37 -0
  366. package/lib/esm/render/GraphicTemplate.js.map +1 -0
  367. package/lib/esm/render/MockRender.d.ts +12 -2
  368. package/lib/esm/render/MockRender.d.ts.map +1 -1
  369. package/lib/esm/render/MockRender.js +19 -5
  370. package/lib/esm/render/MockRender.js.map +1 -1
  371. package/lib/esm/render/Pixel.d.ts +6 -0
  372. package/lib/esm/render/Pixel.d.ts.map +1 -1
  373. package/lib/esm/render/Pixel.js +2 -0
  374. package/lib/esm/render/Pixel.js.map +1 -1
  375. package/lib/esm/render/RealityMeshGraphicParams.d.ts +1 -0
  376. package/lib/esm/render/RealityMeshGraphicParams.d.ts.map +1 -1
  377. package/lib/esm/render/RealityMeshGraphicParams.js.map +1 -1
  378. package/lib/esm/render/RenderMemory.d.ts +2 -0
  379. package/lib/esm/render/RenderMemory.d.ts.map +1 -1
  380. package/lib/esm/render/RenderMemory.js +2 -0
  381. package/lib/esm/render/RenderMemory.js.map +1 -1
  382. package/lib/esm/render/RenderPlan.d.ts +2 -1
  383. package/lib/esm/render/RenderPlan.d.ts.map +1 -1
  384. package/lib/esm/render/RenderPlan.js +2 -0
  385. package/lib/esm/render/RenderPlan.js.map +1 -1
  386. package/lib/esm/render/RenderSystem.d.ts +59 -11
  387. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  388. package/lib/esm/render/RenderSystem.js +46 -8
  389. package/lib/esm/render/RenderSystem.js.map +1 -1
  390. package/lib/esm/render/RenderTarget.d.ts +1 -1
  391. package/lib/esm/render/RenderTarget.d.ts.map +1 -1
  392. package/lib/esm/render/RenderTarget.js.map +1 -1
  393. package/lib/esm/render/webgl/BatchUniforms.d.ts +4 -0
  394. package/lib/esm/render/webgl/BatchUniforms.d.ts.map +1 -1
  395. package/lib/esm/render/webgl/BatchUniforms.js +18 -0
  396. package/lib/esm/render/webgl/BatchUniforms.js.map +1 -1
  397. package/lib/esm/render/webgl/BranchState.d.ts +7 -0
  398. package/lib/esm/render/webgl/BranchState.d.ts.map +1 -1
  399. package/lib/esm/render/webgl/BranchState.js +4 -0
  400. package/lib/esm/render/webgl/BranchState.js.map +1 -1
  401. package/lib/esm/render/webgl/BranchUniforms.d.ts +1 -0
  402. package/lib/esm/render/webgl/BranchUniforms.d.ts.map +1 -1
  403. package/lib/esm/render/webgl/BranchUniforms.js +14 -1
  404. package/lib/esm/render/webgl/BranchUniforms.js.map +1 -1
  405. package/lib/esm/render/webgl/ContourUniforms.d.ts +22 -0
  406. package/lib/esm/render/webgl/ContourUniforms.d.ts.map +1 -0
  407. package/lib/esm/render/webgl/ContourUniforms.js +94 -0
  408. package/lib/esm/render/webgl/ContourUniforms.js.map +1 -0
  409. package/lib/esm/render/webgl/Contours.d.ts +34 -0
  410. package/lib/esm/render/webgl/Contours.d.ts.map +1 -0
  411. package/lib/esm/render/webgl/Contours.js +123 -0
  412. package/lib/esm/render/webgl/Contours.js.map +1 -0
  413. package/lib/esm/render/webgl/EdgeSettings.d.ts +2 -1
  414. package/lib/esm/render/webgl/EdgeSettings.d.ts.map +1 -1
  415. package/lib/esm/render/webgl/EdgeSettings.js +1 -1
  416. package/lib/esm/render/webgl/EdgeSettings.js.map +1 -1
  417. package/lib/esm/render/webgl/FeatureOverrides.d.ts +2 -0
  418. package/lib/esm/render/webgl/FeatureOverrides.d.ts.map +1 -1
  419. package/lib/esm/render/webgl/FeatureOverrides.js +83 -69
  420. package/lib/esm/render/webgl/FeatureOverrides.js.map +1 -1
  421. package/lib/esm/render/webgl/GL.d.ts +2 -1
  422. package/lib/esm/render/webgl/GL.d.ts.map +1 -1
  423. package/lib/esm/render/webgl/GL.js +1 -0
  424. package/lib/esm/render/webgl/GL.js.map +1 -1
  425. package/lib/esm/render/webgl/Graphic.d.ts +9 -0
  426. package/lib/esm/render/webgl/Graphic.d.ts.map +1 -1
  427. package/lib/esm/render/webgl/Graphic.js +27 -0
  428. package/lib/esm/render/webgl/Graphic.js.map +1 -1
  429. package/lib/esm/render/webgl/InstancedGeometry.d.ts +40 -10
  430. package/lib/esm/render/webgl/InstancedGeometry.d.ts.map +1 -1
  431. package/lib/esm/render/webgl/InstancedGeometry.js +97 -30
  432. package/lib/esm/render/webgl/InstancedGeometry.js.map +1 -1
  433. package/lib/esm/render/webgl/LineCode.d.ts.map +1 -1
  434. package/lib/esm/render/webgl/LineCode.js +2 -14
  435. package/lib/esm/render/webgl/LineCode.js.map +1 -1
  436. package/lib/esm/render/webgl/Mesh.d.ts +9 -4
  437. package/lib/esm/render/webgl/Mesh.d.ts.map +1 -1
  438. package/lib/esm/render/webgl/Mesh.js +19 -17
  439. package/lib/esm/render/webgl/Mesh.js.map +1 -1
  440. package/lib/esm/render/webgl/PointCloud.d.ts +5 -1
  441. package/lib/esm/render/webgl/PointCloud.d.ts.map +1 -1
  442. package/lib/esm/render/webgl/PointCloud.js +7 -2
  443. package/lib/esm/render/webgl/PointCloud.js.map +1 -1
  444. package/lib/esm/render/webgl/PointString.d.ts +5 -1
  445. package/lib/esm/render/webgl/PointString.d.ts.map +1 -1
  446. package/lib/esm/render/webgl/PointString.js +8 -3
  447. package/lib/esm/render/webgl/PointString.js.map +1 -1
  448. package/lib/esm/render/webgl/Polyline.d.ts +5 -1
  449. package/lib/esm/render/webgl/Polyline.d.ts.map +1 -1
  450. package/lib/esm/render/webgl/Polyline.js +7 -2
  451. package/lib/esm/render/webgl/Polyline.js.map +1 -1
  452. package/lib/esm/render/webgl/Primitive.d.ts +1 -3
  453. package/lib/esm/render/webgl/Primitive.d.ts.map +1 -1
  454. package/lib/esm/render/webgl/Primitive.js +2 -7
  455. package/lib/esm/render/webgl/Primitive.js.map +1 -1
  456. package/lib/esm/render/webgl/RealityMesh.d.ts +5 -1
  457. package/lib/esm/render/webgl/RealityMesh.d.ts.map +1 -1
  458. package/lib/esm/render/webgl/RealityMesh.js +7 -1
  459. package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
  460. package/lib/esm/render/webgl/RenderFlags.d.ts +2 -19
  461. package/lib/esm/render/webgl/RenderFlags.d.ts.map +1 -1
  462. package/lib/esm/render/webgl/RenderFlags.js +2 -0
  463. package/lib/esm/render/webgl/RenderFlags.js.map +1 -1
  464. package/lib/esm/render/webgl/SceneCompositor.d.ts.map +1 -1
  465. package/lib/esm/render/webgl/SceneCompositor.js +12 -3
  466. package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
  467. package/lib/esm/render/webgl/ShaderBuilder.d.ts +15 -13
  468. package/lib/esm/render/webgl/ShaderBuilder.d.ts.map +1 -1
  469. package/lib/esm/render/webgl/ShaderBuilder.js +18 -10
  470. package/lib/esm/render/webgl/ShaderBuilder.js.map +1 -1
  471. package/lib/esm/render/webgl/ShaderProgram.d.ts.map +1 -1
  472. package/lib/esm/render/webgl/ShaderProgram.js +26 -0
  473. package/lib/esm/render/webgl/ShaderProgram.js.map +1 -1
  474. package/lib/esm/render/webgl/System.d.ts +11 -5
  475. package/lib/esm/render/webgl/System.d.ts.map +1 -1
  476. package/lib/esm/render/webgl/System.js +82 -14
  477. package/lib/esm/render/webgl/System.js.map +1 -1
  478. package/lib/esm/render/webgl/Target.d.ts +6 -2
  479. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  480. package/lib/esm/render/webgl/Target.js +24 -1
  481. package/lib/esm/render/webgl/Target.js.map +1 -1
  482. package/lib/esm/render/webgl/TargetUniforms.d.ts +2 -0
  483. package/lib/esm/render/webgl/TargetUniforms.d.ts.map +1 -1
  484. package/lib/esm/render/webgl/TargetUniforms.js +2 -0
  485. package/lib/esm/render/webgl/TargetUniforms.js.map +1 -1
  486. package/lib/esm/render/webgl/Texture.d.ts +2 -1
  487. package/lib/esm/render/webgl/Texture.d.ts.map +1 -1
  488. package/lib/esm/render/webgl/Texture.js.map +1 -1
  489. package/lib/esm/render/webgl/glsl/AmbientOcclusion.js +1 -1
  490. package/lib/esm/render/webgl/glsl/Atmosphere.js +1 -1
  491. package/lib/esm/render/webgl/glsl/Blur.js +1 -1
  492. package/lib/esm/render/webgl/glsl/ClearPickAndColor.js +1 -1
  493. package/lib/esm/render/webgl/glsl/ClearTranslucent.js +1 -1
  494. package/lib/esm/render/webgl/glsl/Clipping.js +1 -1
  495. package/lib/esm/render/webgl/glsl/Combine3Textures.js +1 -1
  496. package/lib/esm/render/webgl/glsl/CombineTextures.js +1 -1
  497. package/lib/esm/render/webgl/glsl/Composite.js +1 -1
  498. package/lib/esm/render/webgl/glsl/Contours.d.ts +4 -0
  499. package/lib/esm/render/webgl/glsl/Contours.d.ts.map +1 -0
  500. package/lib/esm/render/webgl/glsl/Contours.js +134 -0
  501. package/lib/esm/render/webgl/glsl/Contours.js.map +1 -0
  502. package/lib/esm/render/webgl/glsl/CopyColor.js +1 -1
  503. package/lib/esm/render/webgl/glsl/CopyPickBuffers.js +1 -1
  504. package/lib/esm/render/webgl/glsl/CopyStencil.js +5 -5
  505. package/lib/esm/render/webgl/glsl/EDL.js +4 -4
  506. package/lib/esm/render/webgl/glsl/EVSMFromDepth.js +1 -1
  507. package/lib/esm/render/webgl/glsl/Edge.js +1 -1
  508. package/lib/esm/render/webgl/glsl/FeatureSymbology.d.ts +2 -1
  509. package/lib/esm/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
  510. package/lib/esm/render/webgl/glsl/FeatureSymbology.js +27 -15
  511. package/lib/esm/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  512. package/lib/esm/render/webgl/glsl/Fragment.js +9 -9
  513. package/lib/esm/render/webgl/glsl/LogarithmicDepthBuffer.js +1 -1
  514. package/lib/esm/render/webgl/glsl/PlanarClassification.js +4 -4
  515. package/lib/esm/render/webgl/glsl/PointCloud.js +1 -1
  516. package/lib/esm/render/webgl/glsl/RealityMesh.js +3 -3
  517. package/lib/esm/render/webgl/glsl/ScreenSpaceEffect.js +1 -1
  518. package/lib/esm/render/webgl/glsl/SkyBox.js +1 -1
  519. package/lib/esm/render/webgl/glsl/SkySphere.js +1 -1
  520. package/lib/esm/render/webgl/glsl/SolarShadowMapping.js +1 -1
  521. package/lib/esm/render/webgl/glsl/Surface.d.ts.map +1 -1
  522. package/lib/esm/render/webgl/glsl/Surface.js +5 -3
  523. package/lib/esm/render/webgl/glsl/Surface.js.map +1 -1
  524. package/lib/esm/render/webgl/glsl/Translucency.js +1 -1
  525. package/lib/esm/render/webgl/glsl/Wiremesh.js +1 -1
  526. package/lib/esm/tile/GltfReader.d.ts +27 -7
  527. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  528. package/lib/esm/tile/GltfReader.js +82 -67
  529. package/lib/esm/tile/GltfReader.js.map +1 -1
  530. package/lib/esm/tile/ImdlGraphicsCreator.d.ts +4 -1
  531. package/lib/esm/tile/ImdlGraphicsCreator.d.ts.map +1 -1
  532. package/lib/esm/tile/ImdlGraphicsCreator.js +31 -22
  533. package/lib/esm/tile/ImdlGraphicsCreator.js.map +1 -1
  534. package/lib/esm/tile/TileDrawArgs.d.ts +4 -0
  535. package/lib/esm/tile/TileDrawArgs.d.ts.map +1 -1
  536. package/lib/esm/tile/TileDrawArgs.js +2 -0
  537. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  538. package/lib/esm/tile/TileTreeReference.d.ts +2 -0
  539. package/lib/esm/tile/TileTreeReference.d.ts.map +1 -1
  540. package/lib/esm/tile/TileTreeReference.js +3 -0
  541. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  542. package/lib/esm/tile/map/MapTile.js +1 -1
  543. package/lib/esm/tile/map/MapTile.js.map +1 -1
  544. package/lib/public/scripts/parse-imdl-worker.js +1 -1
  545. package/lib/workers/webpack/parse-imdl-worker.js +1 -1
  546. package/package.json +18 -18
@@ -1 +1 @@
1
- {"version":3,"file":"GL.js","sourceRoot":"","sources":["../../../../src/render/webgl/GL.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 WebGL\r\n */\r\n\r\nif (typeof (WebGLRenderingContext) === \"undefined\") {\r\n (global as any).WebGLRenderingContext = new Proxy({}, { get: () => 0 });\r\n}\r\n\r\n/** @internal */\r\nexport namespace GL {\r\n export enum BlendEquation {\r\n Add = WebGLRenderingContext.FUNC_ADD,\r\n Subtract = WebGLRenderingContext.FUNC_SUBTRACT,\r\n ReverseSubtract = WebGLRenderingContext.FUNC_REVERSE_SUBTRACT,\r\n Default = Add,\r\n }\r\n\r\n export enum BlendFactor {\r\n Zero = WebGLRenderingContext.ZERO,\r\n One = WebGLRenderingContext.ONE,\r\n SrcColor = WebGLRenderingContext.SRC_COLOR,\r\n OneMinusSrcColor = WebGLRenderingContext.ONE_MINUS_SRC_COLOR,\r\n DstColor = WebGLRenderingContext.DST_COLOR,\r\n OneMinusDstColor = WebGLRenderingContext.ONE_MINUS_DST_COLOR,\r\n SrcAlpha = WebGLRenderingContext.SRC_ALPHA,\r\n OneMinusSrcAlpha = WebGLRenderingContext.ONE_MINUS_SRC_ALPHA,\r\n DstAlpha = WebGLRenderingContext.DST_ALPHA,\r\n OneMinusDstAlpha = WebGLRenderingContext.ONE_MINUS_DST_ALPHA,\r\n ConstColor = WebGLRenderingContext.CONSTANT_COLOR,\r\n OneMinusConstColor = WebGLRenderingContext.ONE_MINUS_CONSTANT_COLOR,\r\n ConstAlpha = WebGLRenderingContext.CONSTANT_ALPHA,\r\n OneMinusConstAlpha = WebGLRenderingContext.ONE_MINUS_CONSTANT_ALPHA,\r\n AlphaSaturate = WebGLRenderingContext.SRC_ALPHA_SATURATE,\r\n DefaultSrc = One,\r\n DefaultDst = Zero,\r\n }\r\n\r\n export namespace Buffer {\r\n export enum Target {\r\n ArrayBuffer = WebGLRenderingContext.ARRAY_BUFFER,\r\n ElementArrayBuffer = WebGLRenderingContext.ELEMENT_ARRAY_BUFFER,\r\n }\r\n\r\n export enum Binding {\r\n ArrayBuffer = WebGLRenderingContext.ARRAY_BUFFER_BINDING,\r\n ElementArrayBuffer = WebGLRenderingContext.ELEMENT_ARRAY_BUFFER_BINDING,\r\n }\r\n\r\n export enum Parameter {\r\n Size = WebGLRenderingContext.BUFFER_SIZE,\r\n Usage = WebGLRenderingContext.BUFFER_USAGE, // eslint-disable-line @typescript-eslint/no-shadow\r\n }\r\n\r\n export enum Usage {\r\n DynamicDraw = WebGLRenderingContext.DYNAMIC_DRAW,\r\n StaticDraw = WebGLRenderingContext.STATIC_DRAW,\r\n StreamDraw = WebGLRenderingContext.STREAM_DRAW,\r\n }\r\n }\r\n\r\n export enum StencilOperation {\r\n Keep = WebGLRenderingContext.KEEP,\r\n Zero = WebGLRenderingContext.ZERO,\r\n Replace = WebGLRenderingContext.REPLACE,\r\n Incr = WebGLRenderingContext.INCR,\r\n IncrWrap = WebGLRenderingContext.INCR_WRAP,\r\n Decr = WebGLRenderingContext.DECR,\r\n DecrWrap = WebGLRenderingContext.DECR_WRAP,\r\n Invert = WebGLRenderingContext.INVERT,\r\n Default = Keep,\r\n }\r\n\r\n export enum StencilFunction {\r\n Never = WebGLRenderingContext.NEVER,\r\n Less = WebGLRenderingContext.LESS,\r\n LEqual = WebGLRenderingContext.LEQUAL,\r\n Greater = WebGLRenderingContext.GREATER,\r\n GEqual = WebGLRenderingContext.GEQUAL,\r\n Equal = WebGLRenderingContext.EQUAL,\r\n NotEqual = WebGLRenderingContext.NOTEQUAL,\r\n Always = WebGLRenderingContext.ALWAYS,\r\n Default = Always,\r\n }\r\n\r\n export enum CullFace {\r\n Front = WebGLRenderingContext.FRONT,\r\n Back = WebGLRenderingContext.BACK,\r\n FrontAndBack = WebGLRenderingContext.FRONT_AND_BACK,\r\n Default = Back,\r\n }\r\n\r\n export enum DataType {\r\n Byte = WebGLRenderingContext.BYTE,\r\n Short = WebGLRenderingContext.SHORT,\r\n UnsignedByte = WebGLRenderingContext.UNSIGNED_BYTE,\r\n UnsignedShort = WebGLRenderingContext.UNSIGNED_SHORT,\r\n UnsignedInt = WebGLRenderingContext.UNSIGNED_INT,\r\n Float = WebGLRenderingContext.FLOAT,\r\n // WebGL 2 has more data types\r\n // HalfFloat = WebGLRenderingContext.HALF_FLOAT,\r\n }\r\n\r\n export enum FrontFace {\r\n CounterClockwise = WebGLRenderingContext.CCW,\r\n Clockwise = WebGLRenderingContext.CW,\r\n Default = CounterClockwise,\r\n }\r\n\r\n export enum DepthFunc {\r\n Never = WebGLRenderingContext.NEVER,\r\n Less = WebGLRenderingContext.LESS,\r\n Equal = WebGLRenderingContext.EQUAL,\r\n LessOrEqual = WebGLRenderingContext.LEQUAL,\r\n Greater = WebGLRenderingContext.GREATER,\r\n NotEqual = WebGLRenderingContext.NOTEQUAL,\r\n GreaterOrEqual = WebGLRenderingContext.GEQUAL,\r\n Always = WebGLRenderingContext.ALWAYS,\r\n Default = LessOrEqual,\r\n }\r\n\r\n export enum Capability {\r\n Blend = WebGLRenderingContext.BLEND,\r\n BlendColor = WebGLRenderingContext.BLEND_COLOR,\r\n BlendEquationAlpha = WebGLRenderingContext.BLEND_EQUATION_ALPHA,\r\n BlendEquationRGB = WebGLRenderingContext.BLEND_EQUATION_RGB,\r\n BlendSrcAlpha = WebGLRenderingContext.BLEND_SRC_ALPHA,\r\n BlendSrcRgb = WebGLRenderingContext.BLEND_SRC_RGB,\r\n BlendDstAlpha = WebGLRenderingContext.BLEND_DST_ALPHA,\r\n BlendDstRgb = WebGLRenderingContext.BLEND_DST_RGB,\r\n CullFace = WebGLRenderingContext.CULL_FACE, // eslint-disable-line @typescript-eslint/no-shadow\r\n CullFaceMode = WebGLRenderingContext.CULL_FACE_MODE,\r\n DepthFunc = WebGLRenderingContext.DEPTH_FUNC, // eslint-disable-line @typescript-eslint/no-shadow\r\n DepthTest = WebGLRenderingContext.DEPTH_TEST,\r\n DepthWriteMask = WebGLRenderingContext.DEPTH_WRITEMASK,\r\n FrontFace = WebGLRenderingContext.FRONT_FACE, // eslint-disable-line @typescript-eslint/no-shadow\r\n StencilFrontFunc = WebGLRenderingContext.STENCIL_FUNC,\r\n StencilFrontRef = WebGLRenderingContext.STENCIL_REF,\r\n StencilFrontValueMask = WebGLRenderingContext.STENCIL_VALUE_MASK,\r\n StencilFrontWriteMask = WebGLRenderingContext.STENCIL_WRITEMASK,\r\n StencilFrontOpFail = WebGLRenderingContext.STENCIL_FAIL,\r\n StencilFrontOpZFail = WebGLRenderingContext.STENCIL_PASS_DEPTH_FAIL,\r\n StencilFrontOpZPass = WebGLRenderingContext.STENCIL_PASS_DEPTH_PASS,\r\n StencilBackFunc = WebGLRenderingContext.STENCIL_BACK_FUNC,\r\n StencilBackRef = WebGLRenderingContext.STENCIL_BACK_REF,\r\n StencilBackValueMask = WebGLRenderingContext.STENCIL_BACK_VALUE_MASK,\r\n StencilBackWriteMask = WebGLRenderingContext.STENCIL_BACK_WRITEMASK,\r\n StencilBackOpFail = WebGLRenderingContext.STENCIL_BACK_FAIL,\r\n StencilBackOpZFail = WebGLRenderingContext.STENCIL_BACK_PASS_DEPTH_FAIL,\r\n StencilBackOpZPass = WebGLRenderingContext.STENCIL_BACK_PASS_DEPTH_PASS,\r\n StencilTest = WebGLRenderingContext.STENCIL_TEST,\r\n StencilWriteMask = WebGLRenderingContext.STENCIL_WRITEMASK,\r\n }\r\n\r\n export namespace Texture {\r\n export enum Target {\r\n TwoDee = WebGLRenderingContext.TEXTURE_2D, // regular 2D texture\r\n CubeMap = WebGLRenderingContext.TEXTURE_CUBE_MAP, // six-sided cubemap texture\r\n CubeMapPositiveX = WebGLRenderingContext.TEXTURE_CUBE_MAP_POSITIVE_X, // right side\r\n CubeMapNegativeX = WebGLRenderingContext.TEXTURE_CUBE_MAP_NEGATIVE_X, // left side\r\n CubeMapPositiveY = WebGLRenderingContext.TEXTURE_CUBE_MAP_POSITIVE_Y, // top side\r\n CubeMapNegativeY = WebGLRenderingContext.TEXTURE_CUBE_MAP_NEGATIVE_Y, // bottom side\r\n CubeMapPositiveZ = WebGLRenderingContext.TEXTURE_CUBE_MAP_POSITIVE_Z, // back side\r\n CubeMapNegativeZ = WebGLRenderingContext.TEXTURE_CUBE_MAP_NEGATIVE_Z, // front side\r\n }\r\n export enum Format {\r\n Rgb = WebGLRenderingContext.RGB,\r\n Rgba = WebGLRenderingContext.RGBA,\r\n DepthStencil = WebGLRenderingContext.DEPTH_STENCIL,\r\n Luminance = WebGLRenderingContext.LUMINANCE,\r\n DepthComponent = WebGLRenderingContext.DEPTH_COMPONENT,\r\n }\r\n\r\n // This name is unambiguous as it is qualified by the namespace...https://github.com/palantir/tslint/issues/3789\r\n export enum DataType { // eslint-disable-line @typescript-eslint/no-shadow\r\n Float = WebGLRenderingContext.FLOAT,\r\n UnsignedByte = WebGLRenderingContext.UNSIGNED_BYTE,\r\n // UnsignedInt24_8 = WebGLRenderingContext.UNSIGNED_INT_24_8,\r\n UnsignedInt = WebGLRenderingContext.UNSIGNED_INT,\r\n }\r\n\r\n export enum WrapMode {\r\n Repeat = WebGLRenderingContext.REPEAT,\r\n MirroredRepeat = WebGLRenderingContext.MIRRORED_REPEAT,\r\n ClampToEdge = WebGLRenderingContext.CLAMP_TO_EDGE,\r\n }\r\n }\r\n\r\n export enum ShaderType {\r\n Fragment = WebGLRenderingContext.FRAGMENT_SHADER,\r\n Vertex = WebGLRenderingContext.VERTEX_SHADER,\r\n }\r\n\r\n export enum ShaderParameter {\r\n CompileStatus = WebGLRenderingContext.COMPILE_STATUS,\r\n }\r\n\r\n export enum ProgramParameter {\r\n LinkStatus = WebGLRenderingContext.LINK_STATUS,\r\n }\r\n\r\n export enum PrimitiveType {\r\n Points = WebGLRenderingContext.POINTS,\r\n Lines = WebGLRenderingContext.LINES,\r\n Triangles = WebGLRenderingContext.TRIANGLES,\r\n }\r\n\r\n export namespace RenderBuffer {\r\n export const TARGET = WebGLRenderingContext.RENDERBUFFER;\r\n\r\n export enum Format {\r\n DepthComponent16 = WebGLRenderingContext.DEPTH_COMPONENT16,\r\n }\r\n }\r\n\r\n export namespace FrameBuffer {\r\n export const TARGET = WebGLRenderingContext.FRAMEBUFFER;\r\n export enum Status {\r\n Complete = WebGLRenderingContext.FRAMEBUFFER_COMPLETE,\r\n IncompleteAttachment = WebGLRenderingContext.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,\r\n IncompleteMissingAttachment = WebGLRenderingContext.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,\r\n IncompleteDimensions = WebGLRenderingContext.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,\r\n Unsupported = WebGLRenderingContext.FRAMEBUFFER_UNSUPPORTED,\r\n }\r\n }\r\n\r\n export enum BufferBit {\r\n Color = WebGLRenderingContext.COLOR_BUFFER_BIT,\r\n Depth = WebGLRenderingContext.DEPTH_BUFFER_BIT,\r\n Stencil = WebGLRenderingContext.STENCIL_BUFFER_BIT,\r\n }\r\n\r\n export namespace MultiSampling {\r\n export enum Filter {\r\n Nearest = WebGLRenderingContext.NEAREST,\r\n Linear = WebGLRenderingContext.LINEAR,\r\n }\r\n }\r\n\r\n export const POLYGON_OFFSET_FILL = WebGLRenderingContext.POLYGON_OFFSET_FILL;\r\n}\r\n"]}
1
+ {"version":3,"file":"GL.js","sourceRoot":"","sources":["../../../../src/render/webgl/GL.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 WebGL\r\n */\r\n\r\nif (typeof (WebGLRenderingContext) === \"undefined\") {\r\n (global as any).WebGLRenderingContext = new Proxy({}, { get: () => 0 });\r\n}\r\n\r\n/** @internal */\r\nexport namespace GL {\r\n export enum BlendEquation {\r\n Add = WebGLRenderingContext.FUNC_ADD,\r\n Subtract = WebGLRenderingContext.FUNC_SUBTRACT,\r\n ReverseSubtract = WebGLRenderingContext.FUNC_REVERSE_SUBTRACT,\r\n Default = Add,\r\n }\r\n\r\n export enum BlendFactor {\r\n Zero = WebGLRenderingContext.ZERO,\r\n One = WebGLRenderingContext.ONE,\r\n SrcColor = WebGLRenderingContext.SRC_COLOR,\r\n OneMinusSrcColor = WebGLRenderingContext.ONE_MINUS_SRC_COLOR,\r\n DstColor = WebGLRenderingContext.DST_COLOR,\r\n OneMinusDstColor = WebGLRenderingContext.ONE_MINUS_DST_COLOR,\r\n SrcAlpha = WebGLRenderingContext.SRC_ALPHA,\r\n OneMinusSrcAlpha = WebGLRenderingContext.ONE_MINUS_SRC_ALPHA,\r\n DstAlpha = WebGLRenderingContext.DST_ALPHA,\r\n OneMinusDstAlpha = WebGLRenderingContext.ONE_MINUS_DST_ALPHA,\r\n ConstColor = WebGLRenderingContext.CONSTANT_COLOR,\r\n OneMinusConstColor = WebGLRenderingContext.ONE_MINUS_CONSTANT_COLOR,\r\n ConstAlpha = WebGLRenderingContext.CONSTANT_ALPHA,\r\n OneMinusConstAlpha = WebGLRenderingContext.ONE_MINUS_CONSTANT_ALPHA,\r\n AlphaSaturate = WebGLRenderingContext.SRC_ALPHA_SATURATE,\r\n DefaultSrc = One,\r\n DefaultDst = Zero,\r\n }\r\n\r\n export namespace Buffer {\r\n export enum Target {\r\n ArrayBuffer = WebGLRenderingContext.ARRAY_BUFFER,\r\n ElementArrayBuffer = WebGLRenderingContext.ELEMENT_ARRAY_BUFFER,\r\n }\r\n\r\n export enum Binding {\r\n ArrayBuffer = WebGLRenderingContext.ARRAY_BUFFER_BINDING,\r\n ElementArrayBuffer = WebGLRenderingContext.ELEMENT_ARRAY_BUFFER_BINDING,\r\n }\r\n\r\n export enum Parameter {\r\n Size = WebGLRenderingContext.BUFFER_SIZE,\r\n Usage = WebGLRenderingContext.BUFFER_USAGE, // eslint-disable-line @typescript-eslint/no-shadow\r\n }\r\n\r\n export enum Usage {\r\n DynamicDraw = WebGLRenderingContext.DYNAMIC_DRAW,\r\n StaticDraw = WebGLRenderingContext.STATIC_DRAW,\r\n StreamDraw = WebGLRenderingContext.STREAM_DRAW,\r\n }\r\n }\r\n\r\n export enum StencilOperation {\r\n Keep = WebGLRenderingContext.KEEP,\r\n Zero = WebGLRenderingContext.ZERO,\r\n Replace = WebGLRenderingContext.REPLACE,\r\n Incr = WebGLRenderingContext.INCR,\r\n IncrWrap = WebGLRenderingContext.INCR_WRAP,\r\n Decr = WebGLRenderingContext.DECR,\r\n DecrWrap = WebGLRenderingContext.DECR_WRAP,\r\n Invert = WebGLRenderingContext.INVERT,\r\n Default = Keep,\r\n }\r\n\r\n export enum StencilFunction {\r\n Never = WebGLRenderingContext.NEVER,\r\n Less = WebGLRenderingContext.LESS,\r\n LEqual = WebGLRenderingContext.LEQUAL,\r\n Greater = WebGLRenderingContext.GREATER,\r\n GEqual = WebGLRenderingContext.GEQUAL,\r\n Equal = WebGLRenderingContext.EQUAL,\r\n NotEqual = WebGLRenderingContext.NOTEQUAL,\r\n Always = WebGLRenderingContext.ALWAYS,\r\n Default = Always,\r\n }\r\n\r\n export enum CullFace {\r\n Front = WebGLRenderingContext.FRONT,\r\n Back = WebGLRenderingContext.BACK,\r\n FrontAndBack = WebGLRenderingContext.FRONT_AND_BACK,\r\n Default = Back,\r\n }\r\n\r\n export enum DataType {\r\n Byte = WebGLRenderingContext.BYTE,\r\n Short = WebGLRenderingContext.SHORT,\r\n UnsignedByte = WebGLRenderingContext.UNSIGNED_BYTE,\r\n UnsignedShort = WebGLRenderingContext.UNSIGNED_SHORT,\r\n UnsignedInt = WebGLRenderingContext.UNSIGNED_INT,\r\n Float = WebGLRenderingContext.FLOAT,\r\n // WebGL 2 has more data types\r\n // HalfFloat = WebGLRenderingContext.HALF_FLOAT,\r\n }\r\n\r\n export enum FrontFace {\r\n CounterClockwise = WebGLRenderingContext.CCW,\r\n Clockwise = WebGLRenderingContext.CW,\r\n Default = CounterClockwise,\r\n }\r\n\r\n export enum DepthFunc {\r\n Never = WebGLRenderingContext.NEVER,\r\n Less = WebGLRenderingContext.LESS,\r\n Equal = WebGLRenderingContext.EQUAL,\r\n LessOrEqual = WebGLRenderingContext.LEQUAL,\r\n Greater = WebGLRenderingContext.GREATER,\r\n NotEqual = WebGLRenderingContext.NOTEQUAL,\r\n GreaterOrEqual = WebGLRenderingContext.GEQUAL,\r\n Always = WebGLRenderingContext.ALWAYS,\r\n Default = LessOrEqual,\r\n }\r\n\r\n export enum Capability {\r\n Blend = WebGLRenderingContext.BLEND,\r\n BlendColor = WebGLRenderingContext.BLEND_COLOR,\r\n BlendEquationAlpha = WebGLRenderingContext.BLEND_EQUATION_ALPHA,\r\n BlendEquationRGB = WebGLRenderingContext.BLEND_EQUATION_RGB,\r\n BlendSrcAlpha = WebGLRenderingContext.BLEND_SRC_ALPHA,\r\n BlendSrcRgb = WebGLRenderingContext.BLEND_SRC_RGB,\r\n BlendDstAlpha = WebGLRenderingContext.BLEND_DST_ALPHA,\r\n BlendDstRgb = WebGLRenderingContext.BLEND_DST_RGB,\r\n CullFace = WebGLRenderingContext.CULL_FACE, // eslint-disable-line @typescript-eslint/no-shadow\r\n CullFaceMode = WebGLRenderingContext.CULL_FACE_MODE,\r\n DepthFunc = WebGLRenderingContext.DEPTH_FUNC, // eslint-disable-line @typescript-eslint/no-shadow\r\n DepthTest = WebGLRenderingContext.DEPTH_TEST,\r\n DepthWriteMask = WebGLRenderingContext.DEPTH_WRITEMASK,\r\n FrontFace = WebGLRenderingContext.FRONT_FACE, // eslint-disable-line @typescript-eslint/no-shadow\r\n StencilFrontFunc = WebGLRenderingContext.STENCIL_FUNC,\r\n StencilFrontRef = WebGLRenderingContext.STENCIL_REF,\r\n StencilFrontValueMask = WebGLRenderingContext.STENCIL_VALUE_MASK,\r\n StencilFrontWriteMask = WebGLRenderingContext.STENCIL_WRITEMASK,\r\n StencilFrontOpFail = WebGLRenderingContext.STENCIL_FAIL,\r\n StencilFrontOpZFail = WebGLRenderingContext.STENCIL_PASS_DEPTH_FAIL,\r\n StencilFrontOpZPass = WebGLRenderingContext.STENCIL_PASS_DEPTH_PASS,\r\n StencilBackFunc = WebGLRenderingContext.STENCIL_BACK_FUNC,\r\n StencilBackRef = WebGLRenderingContext.STENCIL_BACK_REF,\r\n StencilBackValueMask = WebGLRenderingContext.STENCIL_BACK_VALUE_MASK,\r\n StencilBackWriteMask = WebGLRenderingContext.STENCIL_BACK_WRITEMASK,\r\n StencilBackOpFail = WebGLRenderingContext.STENCIL_BACK_FAIL,\r\n StencilBackOpZFail = WebGLRenderingContext.STENCIL_BACK_PASS_DEPTH_FAIL,\r\n StencilBackOpZPass = WebGLRenderingContext.STENCIL_BACK_PASS_DEPTH_PASS,\r\n StencilTest = WebGLRenderingContext.STENCIL_TEST,\r\n StencilWriteMask = WebGLRenderingContext.STENCIL_WRITEMASK,\r\n }\r\n\r\n export namespace Texture {\r\n export enum Target {\r\n TwoDee = WebGLRenderingContext.TEXTURE_2D, // regular 2D texture\r\n CubeMap = WebGLRenderingContext.TEXTURE_CUBE_MAP, // six-sided cubemap texture\r\n CubeMapPositiveX = WebGLRenderingContext.TEXTURE_CUBE_MAP_POSITIVE_X, // right side\r\n CubeMapNegativeX = WebGLRenderingContext.TEXTURE_CUBE_MAP_NEGATIVE_X, // left side\r\n CubeMapPositiveY = WebGLRenderingContext.TEXTURE_CUBE_MAP_POSITIVE_Y, // top side\r\n CubeMapNegativeY = WebGLRenderingContext.TEXTURE_CUBE_MAP_NEGATIVE_Y, // bottom side\r\n CubeMapPositiveZ = WebGLRenderingContext.TEXTURE_CUBE_MAP_POSITIVE_Z, // back side\r\n CubeMapNegativeZ = WebGLRenderingContext.TEXTURE_CUBE_MAP_NEGATIVE_Z, // front side\r\n }\r\n export enum Format {\r\n Rgb = WebGLRenderingContext.RGB,\r\n Rgba = WebGLRenderingContext.RGBA,\r\n DepthStencil = WebGLRenderingContext.DEPTH_STENCIL,\r\n Luminance = WebGLRenderingContext.LUMINANCE,\r\n DepthComponent = WebGLRenderingContext.DEPTH_COMPONENT,\r\n }\r\n\r\n // This name is unambiguous as it is qualified by the namespace...https://github.com/palantir/tslint/issues/3789\r\n export enum DataType { // eslint-disable-line @typescript-eslint/no-shadow\r\n Float = WebGLRenderingContext.FLOAT,\r\n UnsignedByte = WebGLRenderingContext.UNSIGNED_BYTE,\r\n // UnsignedInt24_8 = WebGLRenderingContext.UNSIGNED_INT_24_8,\r\n UnsignedInt = WebGLRenderingContext.UNSIGNED_INT,\r\n }\r\n\r\n export enum WrapMode {\r\n Repeat = WebGLRenderingContext.REPEAT,\r\n MirroredRepeat = WebGLRenderingContext.MIRRORED_REPEAT,\r\n ClampToEdge = WebGLRenderingContext.CLAMP_TO_EDGE,\r\n }\r\n }\r\n\r\n export enum ShaderType {\r\n Fragment = WebGLRenderingContext.FRAGMENT_SHADER,\r\n Vertex = WebGLRenderingContext.VERTEX_SHADER,\r\n }\r\n\r\n export enum ShaderParameter {\r\n CompileStatus = WebGLRenderingContext.COMPILE_STATUS,\r\n }\r\n\r\n export enum ProgramParameter {\r\n LinkStatus = WebGLRenderingContext.LINK_STATUS,\r\n ActiveUniforms = WebGLRenderingContext.ACTIVE_UNIFORMS,\r\n }\r\n\r\n export enum PrimitiveType {\r\n Points = WebGLRenderingContext.POINTS,\r\n Lines = WebGLRenderingContext.LINES,\r\n Triangles = WebGLRenderingContext.TRIANGLES,\r\n }\r\n\r\n export namespace RenderBuffer {\r\n export const TARGET = WebGLRenderingContext.RENDERBUFFER;\r\n\r\n export enum Format {\r\n DepthComponent16 = WebGLRenderingContext.DEPTH_COMPONENT16,\r\n }\r\n }\r\n\r\n export namespace FrameBuffer {\r\n export const TARGET = WebGLRenderingContext.FRAMEBUFFER;\r\n export enum Status {\r\n Complete = WebGLRenderingContext.FRAMEBUFFER_COMPLETE,\r\n IncompleteAttachment = WebGLRenderingContext.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,\r\n IncompleteMissingAttachment = WebGLRenderingContext.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,\r\n IncompleteDimensions = WebGLRenderingContext.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,\r\n Unsupported = WebGLRenderingContext.FRAMEBUFFER_UNSUPPORTED,\r\n }\r\n }\r\n\r\n export enum BufferBit {\r\n Color = WebGLRenderingContext.COLOR_BUFFER_BIT,\r\n Depth = WebGLRenderingContext.DEPTH_BUFFER_BIT,\r\n Stencil = WebGLRenderingContext.STENCIL_BUFFER_BIT,\r\n }\r\n\r\n export namespace MultiSampling {\r\n export enum Filter {\r\n Nearest = WebGLRenderingContext.NEAREST,\r\n Linear = WebGLRenderingContext.LINEAR,\r\n }\r\n }\r\n\r\n export const POLYGON_OFFSET_FILL = WebGLRenderingContext.POLYGON_OFFSET_FILL;\r\n}\r\n"]}
@@ -22,6 +22,7 @@ import { TextureDrape } from "./TextureDrape";
22
22
  import { ThematicSensors } from "./ThematicSensors";
23
23
  import { BranchState } from "./BranchState";
24
24
  import { BatchOptions } from "../../common/render/BatchOptions";
25
+ import { Contours } from "./Contours";
25
26
  /** @internal */
26
27
  export declare abstract class Graphic extends RenderGraphic implements WebGLDisposable {
27
28
  abstract addCommands(_commands: RenderCommands): void;
@@ -51,17 +52,20 @@ export declare class GraphicOwner extends Graphic {
51
52
  export interface BatchContext {
52
53
  batchId: number;
53
54
  iModel?: IModelConnection;
55
+ transformFromIModel?: Transform;
54
56
  viewAttachmentId?: Id64String;
55
57
  }
56
58
  /** @internal exported strictly for tests. */
57
59
  export declare class PerTargetBatchData {
58
60
  readonly target: Target;
59
61
  protected readonly _featureOverrides: Map<FeatureSymbology.Source | undefined, FeatureOverrides>;
62
+ protected _contours?: Contours;
60
63
  protected _thematicSensors?: ThematicSensors;
61
64
  constructor(target: Target);
62
65
  dispose(): void;
63
66
  getThematicSensors(batch: Batch): ThematicSensors;
64
67
  getFeatureOverrides(batch: Batch): FeatureOverrides;
68
+ getContours(batch: Batch): Contours;
65
69
  collectStatistics(stats: RenderMemory.Statistics): void;
66
70
  /** Exposed strictly for tests. */
67
71
  get featureOverrides(): Map<FeatureSymbology.Source | undefined, FeatureOverrides>;
@@ -80,6 +84,7 @@ export declare class PerTargetData {
80
84
  collectStatistics(stats: RenderMemory.Statistics): void;
81
85
  getThematicSensors(target: Target): ThematicSensors;
82
86
  getFeatureOverrides(target: Target): FeatureOverrides;
87
+ getContours(target: Target): Contours;
83
88
  private getBatchData;
84
89
  }
85
90
  /** @internal */
@@ -96,6 +101,7 @@ export declare class Batch extends Graphic {
96
101
  /** The following are valid only during a draw and reset afterward. */
97
102
  get batchId(): number;
98
103
  get batchIModel(): IModelConnection | undefined;
104
+ get transformFromBatchIModel(): Transform | undefined;
99
105
  get viewAttachmentId(): string | undefined;
100
106
  setContext(batchId: number, branch: BranchState): void;
101
107
  resetContext(): void;
@@ -109,6 +115,7 @@ export declare class Batch extends Graphic {
109
115
  get isPickable(): boolean;
110
116
  getThematicSensors(target: Target): ThematicSensors;
111
117
  getOverrides(target: Target): FeatureOverrides;
118
+ getContours(target: Target): Contours;
112
119
  onTargetDisposed(target: Target): void;
113
120
  }
114
121
  /** @internal */
@@ -125,6 +132,8 @@ export declare class Branch extends Graphic {
125
132
  readonly appearanceProvider?: FeatureAppearanceProvider;
126
133
  readonly secondaryClassifiers?: PlanarClassifier[];
127
134
  readonly viewAttachmentId?: Id64String;
135
+ disableClipStyle?: true;
136
+ readonly transformFromExternalIModel?: Transform;
128
137
  constructor(branch: GraphicBranch, localToWorld: Transform, viewFlags?: ViewFlags, opts?: GraphicBranchOptions);
129
138
  get isDisposed(): boolean;
130
139
  dispose(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"Graphic.d.ts","sourceRoot":"","sources":["../../../../src/render/webgl/Graphic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Graphic.d.ts","sourceRoot":"","sources":["../../../../src/render/webgl/Graphic.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ import { FeatureOverrides } from "./FeatureOverrides";
16
16
  import { PlanarClassifier } from "./PlanarClassifier";
17
17
  import { TextureDrape } from "./TextureDrape";
18
18
  import { ThematicSensors } from "./ThematicSensors";
19
+ import { Contours } from "./Contours";
19
20
  /** @internal */
20
21
  export class Graphic extends RenderGraphic {
21
22
  addHiliteCommands(_commands, _pass) { assert(false); }
@@ -60,6 +61,7 @@ export class PerTargetBatchData {
60
61
  }
61
62
  dispose() {
62
63
  this._thematicSensors = dispose(this._thematicSensors);
64
+ this._contours = this._contours?.dispose();
63
65
  for (const value of this._featureOverrides.values())
64
66
  dispose(value);
65
67
  this._featureOverrides.clear();
@@ -83,11 +85,25 @@ export class PerTargetBatchData {
83
85
  ovrs.update(batch.featureTable);
84
86
  return ovrs;
85
87
  }
88
+ getContours(batch) {
89
+ if (this._contours && !this._contours.matchesTargetAndFeatureCount(this.target, batch.featureTable))
90
+ this._contours = this._contours.dispose();
91
+ if (!this._contours) {
92
+ this._contours = Contours.createFromTarget(this.target, batch.options);
93
+ this._contours.initFromMap(batch.featureTable);
94
+ }
95
+ else {
96
+ this._contours.update(batch.featureTable);
97
+ }
98
+ return this._contours;
99
+ }
86
100
  collectStatistics(stats) {
87
101
  if (this._thematicSensors)
88
102
  stats.addThematicTexture(this._thematicSensors.bytesUsed);
89
103
  for (const ovrs of this._featureOverrides.values())
90
104
  stats.addFeatureOverrides(ovrs.byteLength);
105
+ if (this._contours)
106
+ stats.addContours(this._contours.byteLength);
91
107
  }
92
108
  /** Exposed strictly for tests. */
93
109
  get featureOverrides() { return this._featureOverrides; }
@@ -135,6 +151,9 @@ export class PerTargetData {
135
151
  getFeatureOverrides(target) {
136
152
  return this.getBatchData(target).getFeatureOverrides(this._batch);
137
153
  }
154
+ getContours(target) {
155
+ return this.getBatchData(target).getContours(this._batch);
156
+ }
138
157
  getBatchData(target) {
139
158
  let data = this._data.find((x) => x.target === target);
140
159
  if (!data) {
@@ -156,15 +175,18 @@ export class Batch extends Graphic {
156
175
  /** The following are valid only during a draw and reset afterward. */
157
176
  get batchId() { return this._context.batchId; }
158
177
  get batchIModel() { return this._context.iModel; }
178
+ get transformFromBatchIModel() { return this._context.transformFromIModel; }
159
179
  get viewAttachmentId() { return this._context.viewAttachmentId; }
160
180
  setContext(batchId, branch) {
161
181
  this._context.batchId = batchId;
162
182
  this._context.iModel = branch.iModel;
183
+ this._context.transformFromIModel = branch.transformFromIModel;
163
184
  this._context.viewAttachmentId = branch.viewAttachmentId;
164
185
  }
165
186
  resetContext() {
166
187
  this._context.batchId = 0;
167
188
  this._context.iModel = undefined;
189
+ this._context.transformFromIModel = undefined;
168
190
  this._context.viewAttachmentId = undefined;
169
191
  }
170
192
  constructor(graphic, features, range, options) {
@@ -210,6 +232,9 @@ export class Batch extends Graphic {
210
232
  getOverrides(target) {
211
233
  return this.perTargetData.getFeatureOverrides(target);
212
234
  }
235
+ getContours(target) {
236
+ return this.perTargetData.getContours(target);
237
+ }
213
238
  onTargetDisposed(target) {
214
239
  this.perTargetData.onTargetDisposed(target);
215
240
  }
@@ -229,6 +254,8 @@ export class Branch extends Graphic {
229
254
  this.iModel = opts.iModel;
230
255
  this.frustum = opts.frustum;
231
256
  this.viewAttachmentId = opts.viewAttachmentId;
257
+ this.disableClipStyle = opts.disableClipStyle;
258
+ this.transformFromExternalIModel = opts.transformFromIModel;
232
259
  if (opts.hline)
233
260
  this.edgeSettings = EdgeSettings.create(opts.hline);
234
261
  if (opts.classifierOrDrape instanceof PlanarClassifier)
@@ -1 +1 @@
1
- {"version":3,"file":"Graphic.js","sourceRoot":"","sources":["../../../../src/render/webgl/Graphic.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 WebGL\r\n */\r\n\r\nimport { assert, dispose, Id64String } from \"@itwin/core-bentley\";\r\nimport { ElementAlignedBox3d, FeatureAppearanceProvider, RenderFeatureTable, ThematicDisplayMode, ViewFlags } from \"@itwin/core-common\";\r\nimport { Range3d, Transform } from \"@itwin/core-geometry\";\r\nimport { IModelConnection } from \"../../IModelConnection\";\r\nimport { FeatureSymbology } from \"../FeatureSymbology\";\r\nimport { GraphicBranch, GraphicBranchFrustum, GraphicBranchOptions } from \"../GraphicBranch\";\r\nimport { GraphicList, RenderGraphic } from \"../RenderGraphic\";\r\nimport { RenderMemory } from \"../RenderMemory\";\r\nimport { ClipVolume } from \"./ClipVolume\";\r\nimport { WebGLDisposable } from \"./Disposable\";\r\nimport { EdgeSettings } from \"./EdgeSettings\";\r\nimport { FeatureOverrides } from \"./FeatureOverrides\";\r\nimport { PlanarClassifier } from \"./PlanarClassifier\";\r\nimport { Primitive } from \"./Primitive\";\r\nimport { RenderCommands } from \"./RenderCommands\";\r\nimport { RenderPass } from \"./RenderFlags\";\r\nimport { Target } from \"./Target\";\r\nimport { TextureDrape } from \"./TextureDrape\";\r\nimport { ThematicSensors } from \"./ThematicSensors\";\r\nimport { BranchState } from \"./BranchState\";\r\nimport { BatchOptions } from \"../../common/render/BatchOptions\";\r\n\r\n/** @internal */\r\nexport abstract class Graphic extends RenderGraphic implements WebGLDisposable {\r\n public abstract addCommands(_commands: RenderCommands): void;\r\n public abstract get isDisposed(): boolean;\r\n public abstract get isPickable(): boolean;\r\n public addHiliteCommands(_commands: RenderCommands, _pass: RenderPass): void { assert(false); }\r\n public toPrimitive(): Primitive | undefined { return undefined; }\r\n}\r\n\r\nexport class GraphicOwner extends Graphic {\r\n private readonly _graphic: Graphic;\r\n\r\n public constructor(graphic: Graphic) {\r\n super();\r\n this._graphic = graphic;\r\n }\r\n\r\n public get graphic(): RenderGraphic { return this._graphic; }\r\n\r\n private _isDisposed = false;\r\n public get isDisposed(): boolean { return this._isDisposed; }\r\n public dispose(): void { this._isDisposed = true; }\r\n public disposeGraphic(): void {\r\n this.graphic.dispose();\r\n }\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n this.graphic.collectStatistics(stats);\r\n }\r\n\r\n public override unionRange(range: Range3d) {\r\n this.graphic.unionRange(range);\r\n }\r\n\r\n public addCommands(commands: RenderCommands): void {\r\n this._graphic.addCommands(commands);\r\n }\r\n public override get isPickable(): boolean {\r\n return this._graphic.isPickable;\r\n }\r\n public override addHiliteCommands(commands: RenderCommands, pass: RenderPass): void {\r\n this._graphic.addHiliteCommands(commands, pass);\r\n }\r\n public override toPrimitive(): Primitive | undefined {\r\n return this._graphic.toPrimitive();\r\n }\r\n}\r\n\r\n/** Transiently assigned to a Batch while rendering a frame, reset afterward. Used to provide context for pick IDs.\r\n * @internal\r\n */\r\nexport interface BatchContext {\r\n batchId: number;\r\n iModel?: IModelConnection;\r\n viewAttachmentId?: Id64String;\r\n}\r\n\r\n/** @internal exported strictly for tests. */\r\nexport class PerTargetBatchData {\r\n public readonly target: Target;\r\n protected readonly _featureOverrides = new Map<FeatureSymbology.Source | undefined, FeatureOverrides>();\r\n protected _thematicSensors?: ThematicSensors;\r\n\r\n public constructor(target: Target) {\r\n this.target = target;\r\n }\r\n\r\n public dispose(): void {\r\n this._thematicSensors = dispose(this._thematicSensors);\r\n for (const value of this._featureOverrides.values())\r\n dispose(value);\r\n\r\n this._featureOverrides.clear();\r\n }\r\n\r\n public getThematicSensors(batch: Batch): ThematicSensors {\r\n if (this._thematicSensors && !this._thematicSensors.matchesTarget(this.target))\r\n this._thematicSensors = dispose(this._thematicSensors);\r\n\r\n if (!this._thematicSensors)\r\n this._thematicSensors = ThematicSensors.create(this.target, batch.range);\r\n\r\n this._thematicSensors.update(this.target.uniforms.frustum.viewMatrix);\r\n return this._thematicSensors;\r\n }\r\n\r\n public getFeatureOverrides(batch: Batch): FeatureOverrides {\r\n const source = this.target.currentFeatureSymbologyOverrides?.source;\r\n let ovrs = this._featureOverrides.get(source);\r\n if (!ovrs) {\r\n const cleanup = source ? source.onSourceDisposed.addOnce(() => this.onSourceDisposed(source)) : undefined;\r\n this._featureOverrides.set(source, ovrs = FeatureOverrides.createFromTarget(this.target, batch.options, cleanup));\r\n ovrs.initFromMap(batch.featureTable);\r\n }\r\n\r\n ovrs.update(batch.featureTable);\r\n return ovrs;\r\n }\r\n\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n if (this._thematicSensors)\r\n stats.addThematicTexture(this._thematicSensors.bytesUsed);\r\n\r\n for (const ovrs of this._featureOverrides.values())\r\n stats.addFeatureOverrides(ovrs.byteLength);\r\n }\r\n\r\n /** Exposed strictly for tests. */\r\n public get featureOverrides() { return this._featureOverrides; }\r\n\r\n private onSourceDisposed(source: FeatureSymbology.Source): void {\r\n const ovrs = this._featureOverrides.get(source);\r\n if (ovrs) {\r\n this._featureOverrides.delete(source);\r\n ovrs.dispose();\r\n }\r\n }\r\n}\r\n\r\n/** @internal exported strictly for tests. */\r\nexport class PerTargetData {\r\n private readonly _batch: Batch;\r\n private readonly _data: PerTargetBatchData[] = [];\r\n\r\n public constructor(batch: Batch) {\r\n this._batch = batch;\r\n }\r\n\r\n public dispose(): void {\r\n for (const data of this._data) {\r\n data.target.onBatchDisposed(this._batch);\r\n data.dispose();\r\n }\r\n\r\n this._data.length = 0;\r\n }\r\n\r\n public get isDisposed(): boolean {\r\n return this._data.length === 0;\r\n }\r\n\r\n /** Exposed strictly for tests. */\r\n public get data(): PerTargetBatchData[] { return this._data; }\r\n\r\n public onTargetDisposed(target: Target): void {\r\n const index = this._data.findIndex((x) => x.target === target);\r\n if (-1 === index)\r\n return;\r\n\r\n const data = this._data[index];\r\n data.dispose();\r\n this._data.splice(index, 1);\r\n }\r\n\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n for (const data of this._data)\r\n data.collectStatistics(stats);\r\n }\r\n\r\n public getThematicSensors(target: Target): ThematicSensors {\r\n return this.getBatchData(target).getThematicSensors(this._batch);\r\n }\r\n\r\n public getFeatureOverrides(target: Target): FeatureOverrides {\r\n return this.getBatchData(target).getFeatureOverrides(this._batch);\r\n }\r\n\r\n private getBatchData(target: Target): PerTargetBatchData {\r\n let data = this._data.find((x) => x.target === target);\r\n if (!data) {\r\n this._data.push(data = new PerTargetBatchData(target));\r\n target.addBatch(this._batch);\r\n }\r\n\r\n return data;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class Batch extends Graphic {\r\n public readonly graphic: RenderGraphic;\r\n public readonly featureTable: RenderFeatureTable;\r\n public readonly range: ElementAlignedBox3d;\r\n private readonly _context: BatchContext = { batchId: 0 };\r\n /** Public strictly for tests. */\r\n public readonly perTargetData = new PerTargetData(this);\r\n public readonly options: BatchOptions;\r\n\r\n // Chiefly for debugging.\r\n public get tileId(): string | undefined {\r\n return this.options.tileId;\r\n }\r\n\r\n public get locateOnly(): boolean {\r\n return true === this.options.locateOnly;\r\n }\r\n\r\n /** The following are valid only during a draw and reset afterward. */\r\n public get batchId() { return this._context.batchId; }\r\n public get batchIModel() { return this._context.iModel; }\r\n public get viewAttachmentId() { return this._context.viewAttachmentId; }\r\n\r\n public setContext(batchId: number, branch: BranchState) {\r\n this._context.batchId = batchId;\r\n this._context.iModel = branch.iModel;\r\n this._context.viewAttachmentId = branch.viewAttachmentId;\r\n }\r\n\r\n public resetContext() {\r\n this._context.batchId = 0;\r\n this._context.iModel = undefined;\r\n this._context.viewAttachmentId = undefined;\r\n }\r\n\r\n public constructor(graphic: RenderGraphic, features: RenderFeatureTable, range: ElementAlignedBox3d, options?: BatchOptions) {\r\n super();\r\n this.graphic = graphic;\r\n this.featureTable = features;\r\n this.range = range;\r\n this.options = options ?? {};\r\n }\r\n\r\n private _isDisposed = false;\r\n public get isDisposed(): boolean {\r\n return this._isDisposed && this.perTargetData.isDisposed;\r\n }\r\n\r\n // Note: This does not remove FeatureOverrides from the array, but rather disposes of the WebGL resources they contain\r\n public dispose() {\r\n dispose(this.graphic);\r\n\r\n this.perTargetData.dispose();\r\n this._isDisposed = true;\r\n }\r\n\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n this.graphic.collectStatistics(stats);\r\n stats.addFeatureTable(this.featureTable.byteLength);\r\n this.perTargetData.collectStatistics(stats);\r\n }\r\n\r\n public override unionRange(range: Range3d) {\r\n range.extendRange(this.range);\r\n }\r\n\r\n public addCommands(commands: RenderCommands): void {\r\n commands.addBatch(this);\r\n }\r\n\r\n public override get isPickable(): boolean {\r\n return true;\r\n }\r\n\r\n public getThematicSensors(target: Target): ThematicSensors {\r\n assert(target.plan.thematic !== undefined, \"thematic display settings must exist\");\r\n assert(target.plan.thematic.displayMode === ThematicDisplayMode.InverseDistanceWeightedSensors, \"thematic display mode must be sensor-based\");\r\n assert(target.plan.thematic.sensorSettings.sensors.length > 0, \"must have at least one sensor to process\");\r\n\r\n return this.perTargetData.getThematicSensors(target);\r\n }\r\n\r\n public getOverrides(target: Target): FeatureOverrides {\r\n return this.perTargetData.getFeatureOverrides(target);\r\n }\r\n\r\n public onTargetDisposed(target: Target) {\r\n this.perTargetData.onTargetDisposed(target);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class Branch extends Graphic {\r\n public readonly branch: GraphicBranch;\r\n public localToWorldTransform: Transform;\r\n public readonly clips?: ClipVolume;\r\n public readonly planarClassifier?: PlanarClassifier;\r\n public readonly textureDrape?: TextureDrape;\r\n public readonly layerClassifiers?: Map<number, PlanarClassifier>;\r\n public readonly edgeSettings?: EdgeSettings;\r\n public readonly iModel?: IModelConnection; // used chiefly for readPixels to identify context of picked Ids.\r\n public readonly frustum?: GraphicBranchFrustum;\r\n public readonly appearanceProvider?: FeatureAppearanceProvider;\r\n public readonly secondaryClassifiers?: PlanarClassifier[];\r\n public readonly viewAttachmentId?: Id64String;\r\n\r\n public constructor(branch: GraphicBranch, localToWorld: Transform, viewFlags?: ViewFlags, opts?: GraphicBranchOptions) {\r\n super();\r\n this.branch = branch;\r\n this.localToWorldTransform = localToWorld;\r\n\r\n if (undefined !== viewFlags)\r\n branch.setViewFlags(viewFlags);\r\n\r\n if (!opts)\r\n return;\r\n\r\n this.appearanceProvider = opts.appearanceProvider;\r\n this.clips = opts.clipVolume as ClipVolume | undefined;\r\n this.iModel = opts.iModel;\r\n this.frustum = opts.frustum;\r\n this.viewAttachmentId = opts.viewAttachmentId;\r\n\r\n if (opts.hline)\r\n this.edgeSettings = EdgeSettings.create(opts.hline);\r\n\r\n if (opts.classifierOrDrape instanceof PlanarClassifier)\r\n this.planarClassifier = opts.classifierOrDrape;\r\n else if (opts.classifierOrDrape instanceof TextureDrape)\r\n this.textureDrape = opts.classifierOrDrape;\r\n\r\n if (opts.secondaryClassifiers) {\r\n this.secondaryClassifiers = new Array<PlanarClassifier>();\r\n opts.secondaryClassifiers.forEach((classifier) => {\r\n if (classifier instanceof PlanarClassifier)\r\n this.secondaryClassifiers?.push(classifier);\r\n });\r\n }\r\n }\r\n\r\n public get isDisposed(): boolean {\r\n return 0 === this.branch.entries.length;\r\n }\r\n\r\n public dispose() {\r\n this.branch.dispose();\r\n }\r\n\r\n public override get isPickable(): boolean {\r\n return this.branch.entries.some((gf) => (gf as Graphic).isPickable);\r\n }\r\n\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n this.branch.collectStatistics(stats);\r\n }\r\n\r\n public override unionRange(range: Range3d) {\r\n const thisRange = new Range3d();\r\n for (const graphic of this.branch.entries)\r\n graphic.unionRange(thisRange);\r\n\r\n this.localToWorldTransform.multiplyRange(thisRange, thisRange);\r\n range.extendRange(thisRange);\r\n }\r\n\r\n private shouldAddCommands(commands: RenderCommands): boolean {\r\n const group = commands.target.currentBranch.groupNodeId;\r\n if (undefined !== group && undefined !== this.branch.groupNodeId && this.branch.groupNodeId !== group)\r\n return false;\r\n\r\n const nodeId = commands.target.getAnimationTransformNodeId(this.branch.animationNodeId);\r\n return undefined === nodeId || nodeId === commands.target.currentAnimationTransformNodeId;\r\n }\r\n\r\n public addCommands(commands: RenderCommands): void {\r\n if (this.shouldAddCommands(commands))\r\n commands.addBranch(this);\r\n }\r\n\r\n public override addHiliteCommands(commands: RenderCommands, pass: RenderPass): void {\r\n if (this.shouldAddCommands(commands))\r\n commands.addHiliteBranch(this, pass);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class AnimationTransformBranch extends Graphic {\r\n public readonly nodeId: number;\r\n public readonly graphic: Graphic;\r\n\r\n public constructor(graphic: RenderGraphic, nodeId: number) {\r\n super();\r\n assert(graphic instanceof Graphic);\r\n this.graphic = graphic;\r\n this.nodeId = nodeId;\r\n }\r\n\r\n public override dispose() {\r\n this.graphic.dispose();\r\n }\r\n\r\n public override get isDisposed() {\r\n return this.graphic.isDisposed;\r\n }\r\n\r\n public override get isPickable() {\r\n return this.graphic.isPickable;\r\n }\r\n\r\n public override collectStatistics(stats: RenderMemory.Statistics) {\r\n this.graphic.collectStatistics(stats);\r\n }\r\n\r\n public override unionRange(range: Range3d) {\r\n this.graphic.unionRange(range);\r\n }\r\n\r\n public override addCommands(commands: RenderCommands) {\r\n commands.target.currentAnimationTransformNodeId = this.nodeId;\r\n this.graphic.addCommands(commands);\r\n commands.target.currentAnimationTransformNodeId = undefined;\r\n }\r\n\r\n public override addHiliteCommands(commands: RenderCommands, pass: RenderPass) {\r\n commands.target.currentAnimationTransformNodeId = this.nodeId;\r\n this.graphic.addHiliteCommands(commands, pass);\r\n commands.target.currentAnimationTransformNodeId = undefined;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class WorldDecorations extends Branch {\r\n public constructor(viewFlags: ViewFlags) {\r\n super(new GraphicBranch(), Transform.identity, viewFlags);\r\n\r\n // World decorations ignore all the symbology overrides for the \"scene\" geometry...\r\n this.branch.symbologyOverrides = new FeatureSymbology.Overrides();\r\n // Make all subcategories visible.\r\n this.branch.symbologyOverrides.ignoreSubCategory = true;\r\n }\r\n\r\n public init(decs: GraphicList): void {\r\n this.branch.clear();\r\n for (const dec of decs) {\r\n this.branch.add(dec);\r\n }\r\n }\r\n}\r\n/** @internal */\r\nexport class GraphicsArray extends Graphic {\r\n // Note: We assume the graphics array we get contains undisposed graphics to start\r\n constructor(public graphics: RenderGraphic[]) { super(); }\r\n\r\n public get isDisposed(): boolean { return 0 === this.graphics.length; }\r\n\r\n public override get isPickable(): boolean {\r\n return this.graphics.some((x) => (x as Graphic).isPickable);\r\n }\r\n\r\n public dispose() {\r\n for (const graphic of this.graphics)\r\n dispose(graphic);\r\n this.graphics.length = 0;\r\n }\r\n\r\n public addCommands(commands: RenderCommands): void {\r\n for (const graphic of this.graphics) {\r\n (graphic as Graphic).addCommands(commands);\r\n }\r\n }\r\n\r\n public override addHiliteCommands(commands: RenderCommands, pass: RenderPass): void {\r\n for (const graphic of this.graphics) {\r\n (graphic as Graphic).addHiliteCommands(commands, pass);\r\n }\r\n }\r\n\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n for (const graphic of this.graphics)\r\n graphic.collectStatistics(stats);\r\n }\r\n\r\n public override unionRange(range: Range3d) {\r\n for (const graphic of this.graphics)\r\n graphic.unionRange(range);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"Graphic.js","sourceRoot":"","sources":["../../../../src/render/webgl/Graphic.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 WebGL\r\n */\r\n\r\nimport { assert, dispose, Id64String } from \"@itwin/core-bentley\";\r\nimport { ElementAlignedBox3d, FeatureAppearanceProvider, RenderFeatureTable, ThematicDisplayMode, ViewFlags } from \"@itwin/core-common\";\r\nimport { Range3d, Transform } from \"@itwin/core-geometry\";\r\nimport { IModelConnection } from \"../../IModelConnection\";\r\nimport { FeatureSymbology } from \"../FeatureSymbology\";\r\nimport { GraphicBranch, GraphicBranchFrustum, GraphicBranchOptions } from \"../GraphicBranch\";\r\nimport { GraphicList, RenderGraphic } from \"../RenderGraphic\";\r\nimport { RenderMemory } from \"../RenderMemory\";\r\nimport { ClipVolume } from \"./ClipVolume\";\r\nimport { WebGLDisposable } from \"./Disposable\";\r\nimport { EdgeSettings } from \"./EdgeSettings\";\r\nimport { FeatureOverrides } from \"./FeatureOverrides\";\r\nimport { PlanarClassifier } from \"./PlanarClassifier\";\r\nimport { Primitive } from \"./Primitive\";\r\nimport { RenderCommands } from \"./RenderCommands\";\r\nimport { RenderPass } from \"./RenderFlags\";\r\nimport { Target } from \"./Target\";\r\nimport { TextureDrape } from \"./TextureDrape\";\r\nimport { ThematicSensors } from \"./ThematicSensors\";\r\nimport { BranchState } from \"./BranchState\";\r\nimport { BatchOptions } from \"../../common/render/BatchOptions\";\r\nimport { Contours } from \"./Contours\";\r\n\r\n/** @internal */\r\nexport abstract class Graphic extends RenderGraphic implements WebGLDisposable {\r\n public abstract addCommands(_commands: RenderCommands): void;\r\n public abstract get isDisposed(): boolean;\r\n public abstract get isPickable(): boolean;\r\n public addHiliteCommands(_commands: RenderCommands, _pass: RenderPass): void { assert(false); }\r\n public toPrimitive(): Primitive | undefined { return undefined; }\r\n}\r\n\r\nexport class GraphicOwner extends Graphic {\r\n private readonly _graphic: Graphic;\r\n\r\n public constructor(graphic: Graphic) {\r\n super();\r\n this._graphic = graphic;\r\n }\r\n\r\n public get graphic(): RenderGraphic { return this._graphic; }\r\n\r\n private _isDisposed = false;\r\n public get isDisposed(): boolean { return this._isDisposed; }\r\n public dispose(): void { this._isDisposed = true; }\r\n public disposeGraphic(): void {\r\n this.graphic.dispose();\r\n }\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n this.graphic.collectStatistics(stats);\r\n }\r\n\r\n public override unionRange(range: Range3d) {\r\n this.graphic.unionRange(range);\r\n }\r\n\r\n public addCommands(commands: RenderCommands): void {\r\n this._graphic.addCommands(commands);\r\n }\r\n public override get isPickable(): boolean {\r\n return this._graphic.isPickable;\r\n }\r\n public override addHiliteCommands(commands: RenderCommands, pass: RenderPass): void {\r\n this._graphic.addHiliteCommands(commands, pass);\r\n }\r\n public override toPrimitive(): Primitive | undefined {\r\n return this._graphic.toPrimitive();\r\n }\r\n}\r\n\r\n/** Transiently assigned to a Batch while rendering a frame, reset afterward. Used to provide context for pick IDs.\r\n * @internal\r\n */\r\nexport interface BatchContext {\r\n batchId: number;\r\n iModel?: IModelConnection;\r\n transformFromIModel?: Transform;\r\n viewAttachmentId?: Id64String;\r\n}\r\n\r\n/** @internal exported strictly for tests. */\r\nexport class PerTargetBatchData {\r\n public readonly target: Target;\r\n protected readonly _featureOverrides = new Map<FeatureSymbology.Source | undefined, FeatureOverrides>();\r\n protected _contours?: Contours;\r\n protected _thematicSensors?: ThematicSensors;\r\n\r\n public constructor(target: Target) {\r\n this.target = target;\r\n }\r\n\r\n public dispose(): void {\r\n this._thematicSensors = dispose(this._thematicSensors);\r\n this._contours = this._contours?.dispose();\r\n for (const value of this._featureOverrides.values())\r\n dispose(value);\r\n\r\n this._featureOverrides.clear();\r\n }\r\n\r\n public getThematicSensors(batch: Batch): ThematicSensors {\r\n if (this._thematicSensors && !this._thematicSensors.matchesTarget(this.target))\r\n this._thematicSensors = dispose(this._thematicSensors);\r\n\r\n if (!this._thematicSensors)\r\n this._thematicSensors = ThematicSensors.create(this.target, batch.range);\r\n\r\n this._thematicSensors.update(this.target.uniforms.frustum.viewMatrix);\r\n return this._thematicSensors;\r\n }\r\n\r\n public getFeatureOverrides(batch: Batch): FeatureOverrides {\r\n const source = this.target.currentFeatureSymbologyOverrides?.source;\r\n let ovrs = this._featureOverrides.get(source);\r\n if (!ovrs) {\r\n const cleanup = source ? source.onSourceDisposed.addOnce(() => this.onSourceDisposed(source)) : undefined;\r\n this._featureOverrides.set(source, ovrs = FeatureOverrides.createFromTarget(this.target, batch.options, cleanup));\r\n ovrs.initFromMap(batch.featureTable);\r\n }\r\n\r\n ovrs.update(batch.featureTable);\r\n return ovrs;\r\n }\r\n\r\n public getContours(batch: Batch): Contours {\r\n if (this._contours && !this._contours.matchesTargetAndFeatureCount(this.target, batch.featureTable))\r\n this._contours = this._contours.dispose();\r\n\r\n if (!this._contours) {\r\n this._contours = Contours.createFromTarget(this.target, batch.options);\r\n this._contours.initFromMap(batch.featureTable);\r\n } else {\r\n this._contours.update(batch.featureTable);\r\n }\r\n return this._contours;\r\n }\r\n\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n if (this._thematicSensors)\r\n stats.addThematicTexture(this._thematicSensors.bytesUsed);\r\n\r\n for (const ovrs of this._featureOverrides.values())\r\n stats.addFeatureOverrides(ovrs.byteLength);\r\n\r\n if (this._contours)\r\n stats.addContours(this._contours.byteLength);\r\n }\r\n\r\n /** Exposed strictly for tests. */\r\n public get featureOverrides() { return this._featureOverrides; }\r\n\r\n private onSourceDisposed(source: FeatureSymbology.Source): void {\r\n const ovrs = this._featureOverrides.get(source);\r\n if (ovrs) {\r\n this._featureOverrides.delete(source);\r\n ovrs.dispose();\r\n }\r\n }\r\n}\r\n\r\n/** @internal exported strictly for tests. */\r\nexport class PerTargetData {\r\n private readonly _batch: Batch;\r\n private readonly _data: PerTargetBatchData[] = [];\r\n\r\n public constructor(batch: Batch) {\r\n this._batch = batch;\r\n }\r\n\r\n public dispose(): void {\r\n for (const data of this._data) {\r\n data.target.onBatchDisposed(this._batch);\r\n data.dispose();\r\n }\r\n\r\n this._data.length = 0;\r\n }\r\n\r\n public get isDisposed(): boolean {\r\n return this._data.length === 0;\r\n }\r\n\r\n /** Exposed strictly for tests. */\r\n public get data(): PerTargetBatchData[] { return this._data; }\r\n\r\n public onTargetDisposed(target: Target): void {\r\n const index = this._data.findIndex((x) => x.target === target);\r\n if (-1 === index)\r\n return;\r\n\r\n const data = this._data[index];\r\n data.dispose();\r\n this._data.splice(index, 1);\r\n }\r\n\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n for (const data of this._data)\r\n data.collectStatistics(stats);\r\n }\r\n\r\n public getThematicSensors(target: Target): ThematicSensors {\r\n return this.getBatchData(target).getThematicSensors(this._batch);\r\n }\r\n\r\n public getFeatureOverrides(target: Target): FeatureOverrides {\r\n return this.getBatchData(target).getFeatureOverrides(this._batch);\r\n }\r\n\r\n public getContours(target: Target): Contours {\r\n return this.getBatchData(target).getContours(this._batch);\r\n }\r\n\r\n private getBatchData(target: Target): PerTargetBatchData {\r\n let data = this._data.find((x) => x.target === target);\r\n if (!data) {\r\n this._data.push(data = new PerTargetBatchData(target));\r\n target.addBatch(this._batch);\r\n }\r\n\r\n return data;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class Batch extends Graphic {\r\n public readonly graphic: RenderGraphic;\r\n public readonly featureTable: RenderFeatureTable;\r\n public readonly range: ElementAlignedBox3d;\r\n private readonly _context: BatchContext = { batchId: 0 };\r\n /** Public strictly for tests. */\r\n public readonly perTargetData = new PerTargetData(this);\r\n public readonly options: BatchOptions;\r\n\r\n // Chiefly for debugging.\r\n public get tileId(): string | undefined {\r\n return this.options.tileId;\r\n }\r\n\r\n public get locateOnly(): boolean {\r\n return true === this.options.locateOnly;\r\n }\r\n\r\n /** The following are valid only during a draw and reset afterward. */\r\n public get batchId() { return this._context.batchId; }\r\n public get batchIModel() { return this._context.iModel; }\r\n public get transformFromBatchIModel() { return this._context.transformFromIModel; }\r\n public get viewAttachmentId() { return this._context.viewAttachmentId; }\r\n\r\n public setContext(batchId: number, branch: BranchState) {\r\n this._context.batchId = batchId;\r\n this._context.iModel = branch.iModel;\r\n this._context.transformFromIModel = branch.transformFromIModel;\r\n this._context.viewAttachmentId = branch.viewAttachmentId;\r\n }\r\n\r\n public resetContext() {\r\n this._context.batchId = 0;\r\n this._context.iModel = undefined;\r\n this._context.transformFromIModel = undefined;\r\n this._context.viewAttachmentId = undefined;\r\n }\r\n\r\n public constructor(graphic: RenderGraphic, features: RenderFeatureTable, range: ElementAlignedBox3d, options?: BatchOptions) {\r\n super();\r\n this.graphic = graphic;\r\n this.featureTable = features;\r\n this.range = range;\r\n this.options = options ?? {};\r\n }\r\n\r\n private _isDisposed = false;\r\n public get isDisposed(): boolean {\r\n return this._isDisposed && this.perTargetData.isDisposed;\r\n }\r\n\r\n // Note: This does not remove FeatureOverrides from the array, but rather disposes of the WebGL resources they contain\r\n public dispose() {\r\n dispose(this.graphic);\r\n\r\n this.perTargetData.dispose();\r\n this._isDisposed = true;\r\n }\r\n\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n this.graphic.collectStatistics(stats);\r\n stats.addFeatureTable(this.featureTable.byteLength);\r\n this.perTargetData.collectStatistics(stats);\r\n }\r\n\r\n public override unionRange(range: Range3d) {\r\n range.extendRange(this.range);\r\n }\r\n\r\n public addCommands(commands: RenderCommands): void {\r\n commands.addBatch(this);\r\n }\r\n\r\n public override get isPickable(): boolean {\r\n return true;\r\n }\r\n\r\n public getThematicSensors(target: Target): ThematicSensors {\r\n assert(target.plan.thematic !== undefined, \"thematic display settings must exist\");\r\n assert(target.plan.thematic.displayMode === ThematicDisplayMode.InverseDistanceWeightedSensors, \"thematic display mode must be sensor-based\");\r\n assert(target.plan.thematic.sensorSettings.sensors.length > 0, \"must have at least one sensor to process\");\r\n\r\n return this.perTargetData.getThematicSensors(target);\r\n }\r\n\r\n public getOverrides(target: Target): FeatureOverrides {\r\n return this.perTargetData.getFeatureOverrides(target);\r\n }\r\n\r\n public getContours(target: Target): Contours {\r\n return this.perTargetData.getContours(target);\r\n }\r\n\r\n public onTargetDisposed(target: Target) {\r\n this.perTargetData.onTargetDisposed(target);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class Branch extends Graphic {\r\n public readonly branch: GraphicBranch;\r\n public localToWorldTransform: Transform;\r\n public readonly clips?: ClipVolume;\r\n public readonly planarClassifier?: PlanarClassifier;\r\n public readonly textureDrape?: TextureDrape;\r\n public readonly layerClassifiers?: Map<number, PlanarClassifier>;\r\n public readonly edgeSettings?: EdgeSettings;\r\n public readonly iModel?: IModelConnection; // used chiefly for readPixels to identify context of picked Ids.\r\n public readonly frustum?: GraphicBranchFrustum;\r\n public readonly appearanceProvider?: FeatureAppearanceProvider;\r\n public readonly secondaryClassifiers?: PlanarClassifier[];\r\n public readonly viewAttachmentId?: Id64String;\r\n public disableClipStyle?: true;\r\n public readonly transformFromExternalIModel?: Transform;\r\n\r\n public constructor(branch: GraphicBranch, localToWorld: Transform, viewFlags?: ViewFlags, opts?: GraphicBranchOptions) {\r\n super();\r\n this.branch = branch;\r\n this.localToWorldTransform = localToWorld;\r\n\r\n if (undefined !== viewFlags)\r\n branch.setViewFlags(viewFlags);\r\n\r\n if (!opts)\r\n return;\r\n\r\n this.appearanceProvider = opts.appearanceProvider;\r\n this.clips = opts.clipVolume as ClipVolume | undefined;\r\n this.iModel = opts.iModel;\r\n this.frustum = opts.frustum;\r\n this.viewAttachmentId = opts.viewAttachmentId;\r\n this.disableClipStyle = opts.disableClipStyle;\r\n this.transformFromExternalIModel = opts.transformFromIModel;\r\n\r\n if (opts.hline)\r\n this.edgeSettings = EdgeSettings.create(opts.hline);\r\n\r\n if (opts.classifierOrDrape instanceof PlanarClassifier)\r\n this.planarClassifier = opts.classifierOrDrape;\r\n else if (opts.classifierOrDrape instanceof TextureDrape)\r\n this.textureDrape = opts.classifierOrDrape;\r\n\r\n if (opts.secondaryClassifiers) {\r\n this.secondaryClassifiers = new Array<PlanarClassifier>();\r\n opts.secondaryClassifiers.forEach((classifier) => {\r\n if (classifier instanceof PlanarClassifier)\r\n this.secondaryClassifiers?.push(classifier);\r\n });\r\n }\r\n }\r\n\r\n public get isDisposed(): boolean {\r\n return 0 === this.branch.entries.length;\r\n }\r\n\r\n public dispose() {\r\n this.branch.dispose();\r\n }\r\n\r\n public override get isPickable(): boolean {\r\n return this.branch.entries.some((gf) => (gf as Graphic).isPickable);\r\n }\r\n\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n this.branch.collectStatistics(stats);\r\n }\r\n\r\n public override unionRange(range: Range3d) {\r\n const thisRange = new Range3d();\r\n for (const graphic of this.branch.entries)\r\n graphic.unionRange(thisRange);\r\n\r\n this.localToWorldTransform.multiplyRange(thisRange, thisRange);\r\n range.extendRange(thisRange);\r\n }\r\n\r\n private shouldAddCommands(commands: RenderCommands): boolean {\r\n const group = commands.target.currentBranch.groupNodeId;\r\n if (undefined !== group && undefined !== this.branch.groupNodeId && this.branch.groupNodeId !== group)\r\n return false;\r\n\r\n const nodeId = commands.target.getAnimationTransformNodeId(this.branch.animationNodeId);\r\n return undefined === nodeId || nodeId === commands.target.currentAnimationTransformNodeId;\r\n }\r\n\r\n public addCommands(commands: RenderCommands): void {\r\n if (this.shouldAddCommands(commands))\r\n commands.addBranch(this);\r\n }\r\n\r\n public override addHiliteCommands(commands: RenderCommands, pass: RenderPass): void {\r\n if (this.shouldAddCommands(commands))\r\n commands.addHiliteBranch(this, pass);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class AnimationTransformBranch extends Graphic {\r\n public readonly nodeId: number;\r\n public readonly graphic: Graphic;\r\n\r\n public constructor(graphic: RenderGraphic, nodeId: number) {\r\n super();\r\n assert(graphic instanceof Graphic);\r\n this.graphic = graphic;\r\n this.nodeId = nodeId;\r\n }\r\n\r\n public override dispose() {\r\n this.graphic.dispose();\r\n }\r\n\r\n public override get isDisposed() {\r\n return this.graphic.isDisposed;\r\n }\r\n\r\n public override get isPickable() {\r\n return this.graphic.isPickable;\r\n }\r\n\r\n public override collectStatistics(stats: RenderMemory.Statistics) {\r\n this.graphic.collectStatistics(stats);\r\n }\r\n\r\n public override unionRange(range: Range3d) {\r\n this.graphic.unionRange(range);\r\n }\r\n\r\n public override addCommands(commands: RenderCommands) {\r\n commands.target.currentAnimationTransformNodeId = this.nodeId;\r\n this.graphic.addCommands(commands);\r\n commands.target.currentAnimationTransformNodeId = undefined;\r\n }\r\n\r\n public override addHiliteCommands(commands: RenderCommands, pass: RenderPass) {\r\n commands.target.currentAnimationTransformNodeId = this.nodeId;\r\n this.graphic.addHiliteCommands(commands, pass);\r\n commands.target.currentAnimationTransformNodeId = undefined;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class WorldDecorations extends Branch {\r\n public constructor(viewFlags: ViewFlags) {\r\n super(new GraphicBranch(), Transform.identity, viewFlags);\r\n\r\n // World decorations ignore all the symbology overrides for the \"scene\" geometry...\r\n this.branch.symbologyOverrides = new FeatureSymbology.Overrides();\r\n // Make all subcategories visible.\r\n this.branch.symbologyOverrides.ignoreSubCategory = true;\r\n }\r\n\r\n public init(decs: GraphicList): void {\r\n this.branch.clear();\r\n for (const dec of decs) {\r\n this.branch.add(dec);\r\n }\r\n }\r\n}\r\n/** @internal */\r\nexport class GraphicsArray extends Graphic {\r\n // Note: We assume the graphics array we get contains undisposed graphics to start\r\n constructor(public graphics: RenderGraphic[]) { super(); }\r\n\r\n public get isDisposed(): boolean { return 0 === this.graphics.length; }\r\n\r\n public override get isPickable(): boolean {\r\n return this.graphics.some((x) => (x as Graphic).isPickable);\r\n }\r\n\r\n public dispose() {\r\n for (const graphic of this.graphics)\r\n dispose(graphic);\r\n this.graphics.length = 0;\r\n }\r\n\r\n public addCommands(commands: RenderCommands): void {\r\n for (const graphic of this.graphics) {\r\n (graphic as Graphic).addCommands(commands);\r\n }\r\n }\r\n\r\n public override addHiliteCommands(commands: RenderCommands, pass: RenderPass): void {\r\n for (const graphic of this.graphics) {\r\n (graphic as Graphic).addHiliteCommands(commands, pass);\r\n }\r\n }\r\n\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n for (const graphic of this.graphics)\r\n graphic.collectStatistics(stats);\r\n }\r\n\r\n public override unionRange(range: Range3d) {\r\n for (const graphic of this.graphics)\r\n graphic.unionRange(range);\r\n }\r\n}\r\n"]}
@@ -1,8 +1,8 @@
1
1
  /** @packageDocumentation
2
2
  * @module WebGL
3
3
  */
4
- import { Point3d, Range3d, Transform } from "@itwin/core-geometry";
5
- import { InstancedGraphicParams, PatternGraphicParams } from "../../common/render/InstancedGraphicParams";
4
+ import { Point3d, Range3d, Transform, XYAndZ } from "@itwin/core-geometry";
5
+ import { InstancedGraphicParams, InstancedGraphicProps, PatternGraphicParams } from "../../common/render/InstancedGraphicParams";
6
6
  import { RenderMemory } from "../RenderMemory";
7
7
  import { CachedGeometry, LUTGeometry } from "./CachedGeometry";
8
8
  import { ShaderProgramParams } from "./DrawCommand";
@@ -10,15 +10,17 @@ import { BufferHandle, BufferParameters } from "./AttributeBuffers";
10
10
  import { Target } from "./Target";
11
11
  import { TechniqueId } from "./TechniqueId";
12
12
  import { Matrix4 } from "./Matrix";
13
+ import { RenderInstances } from "../RenderSystem";
14
+ import { _implementationProhibited } from "../../common/internal/Symbols";
15
+ import { RenderInstancesParamsImpl } from "../../internal/render/RenderInstancesParamsImpl";
13
16
  /** @internal */
14
17
  export declare function isInstancedGraphicParams(params: any): params is InstancedGraphicParams;
15
18
  declare class InstanceData {
16
19
  readonly numInstances: number;
17
- readonly range: Range3d;
18
20
  private readonly _rtcOnlyTransform;
19
21
  private readonly _rtcModelTransform;
20
22
  private readonly _modelMatrix;
21
- protected constructor(numInstances: number, rtcCenter: Point3d, range: Range3d);
23
+ protected constructor(numInstances: number, rtcCenter: Point3d);
22
24
  getRtcModelTransform(modelMatrix: Transform): Transform;
23
25
  getRtcOnlyTransform(): Transform;
24
26
  private static readonly _noFeatureId;
@@ -32,26 +34,53 @@ export interface PatternTransforms {
32
34
  readonly origin: Float32Array;
33
35
  }
34
36
  /** @internal */
35
- export declare class InstanceBuffers extends InstanceData {
36
- private static readonly _patternParams;
37
+ export declare class InstanceBuffersData extends InstanceData {
37
38
  readonly transforms: BufferHandle;
38
39
  readonly featureIds?: BufferHandle;
39
- readonly hasFeatures: boolean;
40
40
  readonly symbology?: BufferHandle;
41
+ private _noDispose;
42
+ private constructor();
43
+ static create(params: InstancedGraphicParams | InstancedGraphicProps, disableDisposal?: boolean): InstanceBuffersData | undefined;
44
+ dispose(): void;
45
+ get isDisposed(): boolean;
46
+ }
47
+ /** @internal */
48
+ export interface RenderInstancesImpl extends RenderInstances {
49
+ readonly buffers: InstanceBuffersData;
50
+ }
51
+ /** @internal */
52
+ export declare namespace RenderInstancesImpl {
53
+ function create(params: RenderInstancesParamsImpl): RenderInstancesImpl | undefined;
54
+ }
55
+ /** @internal */
56
+ export declare class InstanceBuffers {
57
+ private static readonly _patternParams;
58
+ private readonly _data;
41
59
  readonly patternParams: Float32Array;
42
60
  readonly patternTransforms: undefined;
43
61
  readonly viewIndependentOrigin: undefined;
62
+ readonly range: Range3d;
63
+ get numInstances(): number;
64
+ get transforms(): BufferHandle;
65
+ get featureIds(): BufferHandle | undefined;
66
+ get symbology(): BufferHandle | undefined;
67
+ get hasFeatures(): boolean;
68
+ get patternFeatureId(): Float32Array;
69
+ getRtcModelTransform(modelMatrix: Transform): Transform;
70
+ getRtcOnlyTransform(): Transform;
44
71
  private constructor();
45
72
  static createTransformBufferParameters(techniqueId: TechniqueId): BufferParameters[];
46
- static create(params: InstancedGraphicParams, range: Range3d): InstanceBuffers | undefined;
47
- get isDisposed(): boolean;
73
+ static fromParams(params: InstancedGraphicParams, computeReprRange: () => Range3d): InstanceBuffers | undefined;
74
+ static fromRenderInstances(arg: RenderInstances, reprRange: Range3d): InstanceBuffers;
48
75
  dispose(): void;
76
+ get isDisposed(): boolean;
49
77
  collectStatistics(stats: RenderMemory.Statistics): void;
50
78
  private static extendTransformedRange;
51
- static computeRange(reprRange: Range3d, tfs: Float32Array, rtcCenter: Point3d, out?: Range3d): Range3d;
79
+ static computeRange(reprRange: Range3d, tfs: Float32Array, rtcCenter: XYAndZ, out?: Range3d): Range3d;
52
80
  }
53
81
  /** @internal */
54
82
  export declare class PatternBuffers extends InstanceData {
83
+ readonly range: Range3d;
55
84
  readonly patternParams: Float32Array;
56
85
  readonly origin: Float32Array;
57
86
  readonly orgTransform: Matrix4;
@@ -60,6 +89,7 @@ export declare class PatternBuffers extends InstanceData {
60
89
  readonly offsets: BufferHandle;
61
90
  readonly viewIndependentOrigin: Point3d | undefined;
62
91
  private readonly _featureId?;
92
+ readonly [_implementationProhibited] = "renderAreaPattern";
63
93
  private constructor();
64
94
  static create(params: PatternGraphicParams): PatternBuffers | undefined;
65
95
  readonly patternTransforms: PatternTransforms;
@@ -1 +1 @@
1
- {"version":3,"file":"InstancedGeometry.d.ts","sourceRoot":"","sources":["../../../../src/render/webgl/InstancedGeometry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InstancedGeometry.d.ts","sourceRoot":"","sources":["../../../../src/render/webgl/InstancedGeometry.ts"],"names":[],"mappings":"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"}