@itwin/core-frontend 5.1.1 → 5.1.3-experimental.1

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 (884) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/lib/cjs/AccuDraw.js.map +1 -1
  3. package/lib/cjs/AccuSnap.js.map +1 -1
  4. package/lib/cjs/ApproximateTerrainHeights.js.map +1 -1
  5. package/lib/cjs/ApproximateTerrainHeightsProps.js.map +1 -1
  6. package/lib/cjs/AuxCoordSys.js.map +1 -1
  7. package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
  8. package/lib/cjs/BingLocation.js.map +1 -1
  9. package/lib/cjs/BriefcaseConnection.js.map +1 -1
  10. package/lib/cjs/BriefcaseTxns.js.map +1 -1
  11. package/lib/cjs/CatalogConnection.js.map +1 -1
  12. package/lib/cjs/CategorySelectorState.js.map +1 -1
  13. package/lib/cjs/ChangeFlags.js.map +1 -1
  14. package/lib/cjs/CheckpointConnection.js.map +1 -1
  15. package/lib/cjs/ContextRealityModelState.js.map +1 -1
  16. package/lib/cjs/CoordSystem.js.map +1 -1
  17. package/lib/cjs/DecorationsCache.js.map +1 -1
  18. package/lib/cjs/DevTools.js.map +1 -1
  19. package/lib/cjs/DisplayStyleState.js.map +1 -1
  20. package/lib/cjs/DrawingViewState.js.map +1 -1
  21. package/lib/cjs/ElementLocateManager.js.map +1 -1
  22. package/lib/cjs/EmphasizeElements.js.map +1 -1
  23. package/lib/cjs/EntityState.js.map +1 -1
  24. package/lib/cjs/EnvironmentDecorations.js.map +1 -1
  25. package/lib/cjs/FeatureOverrideProvider.js.map +1 -1
  26. package/lib/cjs/FlashSettings.js.map +1 -1
  27. package/lib/cjs/FrontendHubAccess.js.map +1 -1
  28. package/lib/cjs/Frustum2d.js.map +1 -1
  29. package/lib/cjs/FrustumAnimator.js.map +1 -1
  30. package/lib/cjs/FuzzySearch.js.map +1 -1
  31. package/lib/cjs/GeoServices.js.map +1 -1
  32. package/lib/cjs/GlobeAnimator.js.map +1 -1
  33. package/lib/cjs/GraphicalEditingScope.js.map +1 -1
  34. package/lib/cjs/HitDetail.js.map +1 -1
  35. package/lib/cjs/IModelApp.js.map +1 -1
  36. package/lib/cjs/IModelConnection.js.map +1 -1
  37. package/lib/cjs/IModelRoutingContext.js.map +1 -1
  38. package/lib/cjs/IModeljs-css.js.map +1 -1
  39. package/lib/cjs/IpcApp.js.map +1 -1
  40. package/lib/cjs/LinePlaneIntersect.js.map +1 -1
  41. package/lib/cjs/LocalhostIpcApp.js.map +1 -1
  42. package/lib/cjs/MarginPercent.js.map +1 -1
  43. package/lib/cjs/Marker.js.map +1 -1
  44. package/lib/cjs/ModelSelectorState.js.map +1 -1
  45. package/lib/cjs/ModelState.js.map +1 -1
  46. package/lib/cjs/NativeApp.js.map +1 -1
  47. package/lib/cjs/NativeAppLogger.js.map +1 -1
  48. package/lib/cjs/NoRenderApp.js.map +1 -1
  49. package/lib/cjs/NotificationManager.js.map +1 -1
  50. package/lib/cjs/PerModelCategoryVisibility.js.map +1 -1
  51. package/lib/cjs/PlanarClipMaskState.js.map +1 -1
  52. package/lib/cjs/RealityDataSource.js.map +1 -1
  53. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
  54. package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -1
  55. package/lib/cjs/RealityDataSourceTilesetUrlImpl.js.map +1 -1
  56. package/lib/cjs/SelectionSet.js.map +1 -1
  57. package/lib/cjs/SheetViewState.js.map +1 -1
  58. package/lib/cjs/SpatialClassifiersState.js.map +1 -1
  59. package/lib/cjs/SpatialViewState.js.map +1 -1
  60. package/lib/cjs/Sprites.js.map +1 -1
  61. package/lib/cjs/StandardView.js.map +1 -1
  62. package/lib/cjs/SubCategoriesCache.js.map +1 -1
  63. package/lib/cjs/TentativePoint.js.map +1 -1
  64. package/lib/cjs/Tiles.js.map +1 -1
  65. package/lib/cjs/TxnEntityChanges.js.map +1 -1
  66. package/lib/cjs/UserPreferences.js.map +1 -1
  67. package/lib/cjs/ViewAnimation.js.map +1 -1
  68. package/lib/cjs/ViewContext.js.map +1 -1
  69. package/lib/cjs/ViewCreator2d.js.map +1 -1
  70. package/lib/cjs/ViewCreator3d.js.map +1 -1
  71. package/lib/cjs/ViewGlobalLocation.js.map +1 -1
  72. package/lib/cjs/ViewManager.js.map +1 -1
  73. package/lib/cjs/ViewPose.js.map +1 -1
  74. package/lib/cjs/ViewState.js.map +1 -1
  75. package/lib/cjs/ViewStatus.js.map +1 -1
  76. package/lib/cjs/ViewingSpace.js.map +1 -1
  77. package/lib/cjs/Viewport.js.map +1 -1
  78. package/lib/cjs/ViewportSync.js.map +1 -1
  79. package/lib/cjs/common/FrontendLoggerCategory.js.map +1 -1
  80. package/lib/cjs/common/ImageUtil.js.map +1 -1
  81. package/lib/cjs/common/ViewRect.js.map +1 -1
  82. package/lib/cjs/common/WorkerProxy.js.map +1 -1
  83. package/lib/cjs/common/gltf/GltfModel.js.map +1 -1
  84. package/lib/cjs/common/gltf/GltfParser.js.map +1 -1
  85. package/lib/cjs/common/gltf/GltfSchema.js.map +1 -1
  86. package/lib/cjs/common/imdl/CompactEdges.js.map +1 -1
  87. package/lib/cjs/common/imdl/ImdlModel.js.map +1 -1
  88. package/lib/cjs/common/imdl/ImdlSchema.js.map +1 -1
  89. package/lib/cjs/common/imdl/ParseImdlDocument.js.map +1 -1
  90. package/lib/cjs/common/internal/Symbols.js.map +1 -1
  91. package/lib/cjs/common/internal/render/AnimationNodeId.js.map +1 -1
  92. package/lib/cjs/common/internal/render/AuxChannelTable.js.map +1 -1
  93. package/lib/cjs/common/internal/render/ColorMap.js.map +1 -1
  94. package/lib/cjs/common/internal/render/DisplayParams.js.map +1 -1
  95. package/lib/cjs/common/internal/render/EdgeParams.js.map +1 -1
  96. package/lib/cjs/common/internal/render/GeometryAccumulator.js.map +1 -1
  97. package/lib/cjs/common/internal/render/GeometryList.js.map +1 -1
  98. package/lib/cjs/common/internal/render/GeometryPrimitives.js.map +1 -1
  99. package/lib/cjs/common/internal/render/GraphicDescriptionBuilderImpl.js.map +1 -1
  100. package/lib/cjs/common/internal/render/GraphicDescriptionContextImpl.js.map +1 -1
  101. package/lib/cjs/common/internal/render/InstancedGraphicPropsBuilder.js.map +1 -1
  102. package/lib/cjs/common/internal/render/LineCode.js.map +1 -1
  103. package/lib/cjs/common/internal/render/MeshBuilder.js.map +1 -1
  104. package/lib/cjs/common/internal/render/MeshBuilderMap.js.map +1 -1
  105. package/lib/cjs/common/internal/render/MeshParams.js.map +1 -1
  106. package/lib/cjs/common/internal/render/MeshPrimitive.js.map +1 -1
  107. package/lib/cjs/common/internal/render/MeshPrimitives.js.map +1 -1
  108. package/lib/cjs/common/internal/render/OvrFlags.js.map +1 -1
  109. package/lib/cjs/common/internal/render/PointCloudPrimitive.js.map +1 -1
  110. package/lib/cjs/common/internal/render/PointStringParams.js.map +1 -1
  111. package/lib/cjs/common/internal/render/Polyface.js.map +1 -1
  112. package/lib/cjs/common/internal/render/PolylineParams.js.map +1 -1
  113. package/lib/cjs/common/internal/render/Primitives.js.map +1 -1
  114. package/lib/cjs/common/internal/render/Strokes.js.map +1 -1
  115. package/lib/cjs/common/internal/render/SurfaceParams.js.map +1 -1
  116. package/lib/cjs/common/internal/render/VertexIndices.js.map +1 -1
  117. package/lib/cjs/common/internal/render/VertexKey.js.map +1 -1
  118. package/lib/cjs/common/internal/render/VertexTable.js.map +1 -1
  119. package/lib/cjs/common/internal/render/VertexTableBuilder.js.map +1 -1
  120. package/lib/cjs/common/internal/render/VertexTableSplitter.js.map +1 -1
  121. package/lib/cjs/common/render/BatchOptions.js.map +1 -1
  122. package/lib/cjs/common/render/GraphicAssembler.js.map +1 -1
  123. package/lib/cjs/common/render/GraphicDescriptionBuilder.js.map +1 -1
  124. package/lib/cjs/common/render/GraphicDescriptionContext.js.map +1 -1
  125. package/lib/cjs/common/render/GraphicPrimitive.js.map +1 -1
  126. package/lib/cjs/common/render/GraphicType.js.map +1 -1
  127. package/lib/cjs/common/render/InstancedGraphicParams.js.map +1 -1
  128. package/lib/cjs/common/render/MaterialParams.js.map +1 -1
  129. package/lib/cjs/common/render/RenderInstancesParams.js.map +1 -1
  130. package/lib/cjs/common/render/TextureParams.js.map +1 -1
  131. package/lib/cjs/common.js.map +1 -1
  132. package/lib/cjs/core-frontend.js.map +1 -1
  133. package/lib/cjs/extension/Extension.js.map +1 -1
  134. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
  135. package/lib/cjs/extension/ExtensionHost.js.map +1 -1
  136. package/lib/cjs/extension/ExtensionRuntime.js.map +1 -1
  137. package/lib/cjs/extension/providers/ExtensionLoadScript.js.map +1 -1
  138. package/lib/cjs/extension/providers/LocalExtensionProvider.js.map +1 -1
  139. package/lib/cjs/extension/providers/RemoteExtensionProvider.js.map +1 -1
  140. package/lib/cjs/internal/GoogleMapsDecorator.js.map +1 -1
  141. package/lib/cjs/internal/RealityDataSourceGoogle3dTilesImpl.js.map +1 -1
  142. package/lib/cjs/internal/ScriptUtils.js.map +1 -1
  143. package/lib/cjs/internal/cross-package.js.map +1 -1
  144. package/lib/cjs/internal/render/AnimationBranchState.js.map +1 -1
  145. package/lib/cjs/internal/render/FrameStatsCollector.js.map +1 -1
  146. package/lib/cjs/internal/render/GraphicBranchFrustum.js.map +1 -1
  147. package/lib/cjs/internal/render/GraphicTemplateImpl.js.map +1 -1
  148. package/lib/cjs/internal/render/MeshMapLayerGraphicParams.js.map +1 -1
  149. package/lib/cjs/internal/render/MockRender.js.map +1 -1
  150. package/lib/cjs/internal/render/PrimitiveBuilder.js.map +1 -1
  151. package/lib/cjs/internal/render/QueryVisibileFeatures.js.map +1 -1
  152. package/lib/cjs/internal/render/RenderAreaPattern.js.map +1 -1
  153. package/lib/cjs/internal/render/RenderGeometry.js.map +1 -1
  154. package/lib/cjs/internal/render/RenderInstancesParamsImpl.js.map +1 -1
  155. package/lib/cjs/internal/render/RenderMaterialSource.js.map +1 -1
  156. package/lib/cjs/internal/render/RenderPlan.js.map +1 -1
  157. package/lib/cjs/internal/render/RenderPlanarClassifier.js.map +1 -1
  158. package/lib/cjs/internal/render/RenderSkyBoxParams.js.map +1 -1
  159. package/lib/cjs/internal/render/RenderSystemDebugControl.js.map +1 -1
  160. package/lib/cjs/internal/render/RenderTargetDebugControl.js.map +1 -1
  161. package/lib/cjs/internal/render/RenderTerrain.js.map +1 -1
  162. package/lib/cjs/internal/render/RenderTextureDrape.js.map +1 -1
  163. package/lib/cjs/internal/render/SceneVolumeClassifier.js.map +1 -1
  164. package/lib/cjs/internal/render/UpsampleRealityMeshParams.js.map +1 -1
  165. package/lib/cjs/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
  166. package/lib/cjs/internal/render/webgl/AttributeBuffers.js.map +1 -1
  167. package/lib/cjs/internal/render/webgl/AttributeMap.js.map +1 -1
  168. package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js +1 -1
  169. package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
  170. package/lib/cjs/internal/render/webgl/BatchState.js.map +1 -1
  171. package/lib/cjs/internal/render/webgl/BatchUniforms.js.map +1 -1
  172. package/lib/cjs/internal/render/webgl/BranchStack.js.map +1 -1
  173. package/lib/cjs/internal/render/webgl/BranchState.js.map +1 -1
  174. package/lib/cjs/internal/render/webgl/BranchUniforms.js.map +1 -1
  175. package/lib/cjs/internal/render/webgl/CachedGeometry.js.map +1 -1
  176. package/lib/cjs/internal/render/webgl/ClipStack.js.map +1 -1
  177. package/lib/cjs/internal/render/webgl/ClipVolume.js.map +1 -1
  178. package/lib/cjs/internal/render/webgl/ClippingProgram.js.map +1 -1
  179. package/lib/cjs/internal/render/webgl/ColorInfo.js.map +1 -1
  180. package/lib/cjs/internal/render/webgl/ContourUniforms.js.map +1 -1
  181. package/lib/cjs/internal/render/webgl/Contours.js.map +1 -1
  182. package/lib/cjs/internal/render/webgl/Diagnostics.js.map +1 -1
  183. package/lib/cjs/internal/render/webgl/Disposable.js.map +1 -1
  184. package/lib/cjs/internal/render/webgl/DrawCommand.js.map +1 -1
  185. package/lib/cjs/internal/render/webgl/EDL.js.map +1 -1
  186. package/lib/cjs/internal/render/webgl/EdgeGeometry.js.map +1 -1
  187. package/lib/cjs/internal/render/webgl/EdgeSettings.js.map +1 -1
  188. package/lib/cjs/internal/render/webgl/FeatureOverrides.js.map +1 -1
  189. package/lib/cjs/internal/render/webgl/FloatRGBA.js.map +1 -1
  190. package/lib/cjs/internal/render/webgl/FrameBuffer.js.map +1 -1
  191. package/lib/cjs/internal/render/webgl/FrustumUniforms.js.map +1 -1
  192. package/lib/cjs/internal/render/webgl/GL.js.map +1 -1
  193. package/lib/cjs/internal/render/webgl/GLTimer.js.map +1 -1
  194. package/lib/cjs/internal/render/webgl/Graphic.js.map +1 -1
  195. package/lib/cjs/internal/render/webgl/HiliteUniforms.js.map +1 -1
  196. package/lib/cjs/internal/render/webgl/IModelFrameLifecycle.js.map +1 -1
  197. package/lib/cjs/internal/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  198. package/lib/cjs/internal/render/webgl/InstancedGeometry.js.map +1 -1
  199. package/lib/cjs/internal/render/webgl/Layer.js.map +1 -1
  200. package/lib/cjs/internal/render/webgl/LayerCommands.js.map +1 -1
  201. package/lib/cjs/internal/render/webgl/LightingUniforms.js.map +1 -1
  202. package/lib/cjs/internal/render/webgl/LineCode.js.map +1 -1
  203. package/lib/cjs/internal/render/webgl/MapLayerParams.js.map +1 -1
  204. package/lib/cjs/internal/render/webgl/Material.js.map +1 -1
  205. package/lib/cjs/internal/render/webgl/Matrix.js.map +1 -1
  206. package/lib/cjs/internal/render/webgl/Mesh.js.map +1 -1
  207. package/lib/cjs/internal/render/webgl/MeshData.js.map +1 -1
  208. package/lib/cjs/internal/render/webgl/MeshGeometry.js.map +1 -1
  209. package/lib/cjs/internal/render/webgl/PerformanceMetrics.js.map +1 -1
  210. package/lib/cjs/internal/render/webgl/PlanarClassifier.js +1 -1
  211. package/lib/cjs/internal/render/webgl/PlanarClassifier.js.map +1 -1
  212. package/lib/cjs/internal/render/webgl/PlanarGrid.js.map +1 -1
  213. package/lib/cjs/internal/render/webgl/PlanarTextureProjection.js.map +1 -1
  214. package/lib/cjs/internal/render/webgl/PointCloud.js.map +1 -1
  215. package/lib/cjs/internal/render/webgl/PointString.js.map +1 -1
  216. package/lib/cjs/internal/render/webgl/Polyline.js.map +1 -1
  217. package/lib/cjs/internal/render/webgl/Primitive.js.map +1 -1
  218. package/lib/cjs/internal/render/webgl/RealityMesh.js.map +1 -1
  219. package/lib/cjs/internal/render/webgl/RealityModelUniforms.js.map +1 -1
  220. package/lib/cjs/internal/render/webgl/RenderBuffer.js.map +1 -1
  221. package/lib/cjs/internal/render/webgl/RenderCommands.js.map +1 -1
  222. package/lib/cjs/internal/render/webgl/RenderFlags.js.map +1 -1
  223. package/lib/cjs/internal/render/webgl/RenderState.js.map +1 -1
  224. package/lib/cjs/internal/render/webgl/SceneCompositor.js.map +1 -1
  225. package/lib/cjs/internal/render/webgl/ScratchDrawParams.js.map +1 -1
  226. package/lib/cjs/internal/render/webgl/ScreenSpaceEffect.js.map +1 -1
  227. package/lib/cjs/internal/render/webgl/ShaderBuilder.js.map +1 -1
  228. package/lib/cjs/internal/render/webgl/ShaderProgram.js.map +1 -1
  229. package/lib/cjs/internal/render/webgl/ShadowUniforms.js.map +1 -1
  230. package/lib/cjs/internal/render/webgl/SolarShadowMap.js.map +1 -1
  231. package/lib/cjs/internal/render/webgl/StyleUniforms.js.map +1 -1
  232. package/lib/cjs/internal/render/webgl/SurfaceGeometry.js.map +1 -1
  233. package/lib/cjs/internal/render/webgl/Sync.js.map +1 -1
  234. package/lib/cjs/internal/render/webgl/System.js.map +1 -1
  235. package/lib/cjs/internal/render/webgl/Target.js.map +1 -1
  236. package/lib/cjs/internal/render/webgl/TargetGraphics.js.map +1 -1
  237. package/lib/cjs/internal/render/webgl/TargetUniforms.js.map +1 -1
  238. package/lib/cjs/internal/render/webgl/Technique.js.map +1 -1
  239. package/lib/cjs/internal/render/webgl/TechniqueFlags.js.map +1 -1
  240. package/lib/cjs/internal/render/webgl/TechniqueId.js.map +1 -1
  241. package/lib/cjs/internal/render/webgl/Texture.js.map +1 -1
  242. package/lib/cjs/internal/render/webgl/TextureDrape.js.map +1 -1
  243. package/lib/cjs/internal/render/webgl/ThematicSensors.js.map +1 -1
  244. package/lib/cjs/internal/render/webgl/ThematicUniforms.js.map +1 -1
  245. package/lib/cjs/internal/render/webgl/UniformHandle.js.map +1 -1
  246. package/lib/cjs/internal/render/webgl/VertexLUT.js.map +1 -1
  247. package/lib/cjs/internal/render/webgl/ViewRectUniforms.js.map +1 -1
  248. package/lib/cjs/internal/render/webgl/VisibleTileFeatures.js.map +1 -1
  249. package/lib/cjs/internal/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  250. package/lib/cjs/internal/render/webgl/glsl/Animation.js.map +1 -1
  251. package/lib/cjs/internal/render/webgl/glsl/Atmosphere.js.map +1 -1
  252. package/lib/cjs/internal/render/webgl/glsl/Blur.js.map +1 -1
  253. package/lib/cjs/internal/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
  254. package/lib/cjs/internal/render/webgl/glsl/ClearTranslucent.js.map +1 -1
  255. package/lib/cjs/internal/render/webgl/glsl/Clipping.js.map +1 -1
  256. package/lib/cjs/internal/render/webgl/glsl/Color.js.map +1 -1
  257. package/lib/cjs/internal/render/webgl/glsl/Combine3Textures.js.map +1 -1
  258. package/lib/cjs/internal/render/webgl/glsl/CombineTextures.js.map +1 -1
  259. package/lib/cjs/internal/render/webgl/glsl/Common.js.map +1 -1
  260. package/lib/cjs/internal/render/webgl/glsl/Composite.js.map +1 -1
  261. package/lib/cjs/internal/render/webgl/glsl/Contours.js.map +1 -1
  262. package/lib/cjs/internal/render/webgl/glsl/CopyColor.js.map +1 -1
  263. package/lib/cjs/internal/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
  264. package/lib/cjs/internal/render/webgl/glsl/CopyStencil.js.map +1 -1
  265. package/lib/cjs/internal/render/webgl/glsl/Decode.js.map +1 -1
  266. package/lib/cjs/internal/render/webgl/glsl/EDL.js.map +1 -1
  267. package/lib/cjs/internal/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
  268. package/lib/cjs/internal/render/webgl/glsl/Edge.js.map +1 -1
  269. package/lib/cjs/internal/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  270. package/lib/cjs/internal/render/webgl/glsl/Fragment.js.map +1 -1
  271. package/lib/cjs/internal/render/webgl/glsl/Instancing.js.map +1 -1
  272. package/lib/cjs/internal/render/webgl/glsl/Lighting.js.map +1 -1
  273. package/lib/cjs/internal/render/webgl/glsl/LogarithmicDepthBuffer.js.map +1 -1
  274. package/lib/cjs/internal/render/webgl/glsl/LookupTable.js.map +1 -1
  275. package/lib/cjs/internal/render/webgl/glsl/MaplayerDraping.js.map +1 -1
  276. package/lib/cjs/internal/render/webgl/glsl/Monochrome.js.map +1 -1
  277. package/lib/cjs/internal/render/webgl/glsl/PlanarClassification.js.map +1 -1
  278. package/lib/cjs/internal/render/webgl/glsl/PlanarGrid.js.map +1 -1
  279. package/lib/cjs/internal/render/webgl/glsl/PointCloud.js.map +1 -1
  280. package/lib/cjs/internal/render/webgl/glsl/PointString.js.map +1 -1
  281. package/lib/cjs/internal/render/webgl/glsl/Polyline.js.map +1 -1
  282. package/lib/cjs/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
  283. package/lib/cjs/internal/render/webgl/glsl/RenderPass.js.map +1 -1
  284. package/lib/cjs/internal/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
  285. package/lib/cjs/internal/render/webgl/glsl/SkyBox.js.map +1 -1
  286. package/lib/cjs/internal/render/webgl/glsl/SkySphere.js.map +1 -1
  287. package/lib/cjs/internal/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
  288. package/lib/cjs/internal/render/webgl/glsl/Surface.js.map +1 -1
  289. package/lib/cjs/internal/render/webgl/glsl/Thematic.js.map +1 -1
  290. package/lib/cjs/internal/render/webgl/glsl/Translucency.js.map +1 -1
  291. package/lib/cjs/internal/render/webgl/glsl/Vertex.js.map +1 -1
  292. package/lib/cjs/internal/render/webgl/glsl/Viewport.js.map +1 -1
  293. package/lib/cjs/internal/render/webgl/glsl/ViewportQuad.js.map +1 -1
  294. package/lib/cjs/internal/render/webgl/glsl/Wiremesh.js.map +1 -1
  295. package/lib/cjs/internal/tile/B3dmReader.js.map +1 -1
  296. package/lib/cjs/internal/tile/BatchedTileIdMap.js.map +1 -1
  297. package/lib/cjs/internal/tile/CesiumAssetProvider.js.map +1 -1
  298. package/lib/cjs/internal/tile/ClassifierTileTree.js.map +1 -1
  299. package/lib/cjs/internal/tile/ContextShareProvider.js.map +1 -1
  300. package/lib/cjs/internal/tile/DynamicIModelTile.js +1 -0
  301. package/lib/cjs/internal/tile/DynamicIModelTile.js.map +1 -1
  302. package/lib/cjs/internal/tile/FetchCloudStorage.js.map +1 -1
  303. package/lib/cjs/internal/tile/GraphicsCollector.js.map +1 -1
  304. package/lib/cjs/internal/tile/I3dmReader.js.map +1 -1
  305. package/lib/cjs/internal/tile/IModelTile.js.map +1 -1
  306. package/lib/cjs/internal/tile/IModelTileRequestChannels.js.map +1 -1
  307. package/lib/cjs/internal/tile/IModelTileTree.js.map +1 -1
  308. package/lib/cjs/internal/tile/ImdlDecoder.js.map +1 -1
  309. package/lib/cjs/internal/tile/ImdlGraphicsCreator.js.map +1 -1
  310. package/lib/cjs/internal/tile/ImdlParser.js.map +1 -1
  311. package/lib/cjs/internal/tile/LRUTileList.js.map +1 -1
  312. package/lib/cjs/internal/tile/LayerTileTreeHandler.js.map +1 -1
  313. package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
  314. package/lib/cjs/internal/tile/MeshoptCompression.js.map +1 -1
  315. package/lib/cjs/internal/tile/OPCFormatInterpreter.js.map +1 -1
  316. package/lib/cjs/internal/tile/OrbitGtTileTree.js.map +1 -1
  317. package/lib/cjs/internal/tile/PntsReader.js.map +1 -1
  318. package/lib/cjs/internal/tile/PrimaryTileTree.js.map +1 -1
  319. package/lib/cjs/internal/tile/RealityModelTileTree.js.map +1 -1
  320. package/lib/cjs/internal/tile/RealityTileDrawArgs.js.map +1 -1
  321. package/lib/cjs/internal/tile/RealityTileLoader.js.map +1 -1
  322. package/lib/cjs/internal/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  323. package/lib/cjs/internal/tile/TileUserSet.js.map +1 -1
  324. package/lib/cjs/internal/tile/ViewFlagOverrides.js.map +1 -1
  325. package/lib/cjs/internal/tile/map/ArcGISTileMap.js.map +1 -1
  326. package/lib/cjs/internal/tile/map/ArcGisUtilities.js.map +1 -1
  327. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  328. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  329. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -1
  330. package/lib/cjs/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
  331. package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  332. package/lib/cjs/internal/tile/map/ImageryProviders/CoordinatesUtils.js.map +1 -1
  333. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureAttributeDrivenSymbology.js.map +1 -1
  334. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureGeometryRenderer.js.map +1 -1
  335. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureGraphicsRenderer.js.map +1 -1
  336. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureSymbologyRenderer.js.map +1 -1
  337. package/lib/cjs/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  338. package/lib/cjs/internal/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
  339. package/lib/cjs/internal/tile/map/ImageryProviders/WebMercator.js.map +1 -1
  340. package/lib/cjs/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  341. package/lib/cjs/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  342. package/lib/cjs/internal/tile/map/MapTileAvailability.js.map +1 -1
  343. package/lib/cjs/internal/tile/map/MapTileLoader.js.map +1 -1
  344. package/lib/cjs/internal/tile/map/UrlUtils.js.map +1 -1
  345. package/lib/cjs/internal/tile/map/WmsCapabilities.js.map +1 -1
  346. package/lib/cjs/internal/tile/map/WmsUtilities.js.map +1 -1
  347. package/lib/cjs/internal/tile/map/WmtsCapabilities.js.map +1 -1
  348. package/lib/cjs/internal/webgl.js.map +1 -1
  349. package/lib/cjs/properties/AngleDescription.js.map +1 -1
  350. package/lib/cjs/properties/FormattedQuantityDescription.js.map +1 -1
  351. package/lib/cjs/properties/LengthDescription.js.map +1 -1
  352. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  353. package/lib/cjs/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  354. package/lib/cjs/quantity-formatting/LocalUnitFormatProvider.js.map +1 -1
  355. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  356. package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -1
  357. package/lib/cjs/quantity-formatting/UnitsData.js.map +1 -1
  358. package/lib/cjs/render/CanvasDecoration.js.map +1 -1
  359. package/lib/cjs/render/CreateRenderMaterialArgs.js.map +1 -1
  360. package/lib/cjs/render/CreateTextureArgs.js.map +1 -1
  361. package/lib/cjs/render/Decorations.js.map +1 -1
  362. package/lib/cjs/render/FeatureSymbology.js.map +1 -1
  363. package/lib/cjs/render/FrameStats.js.map +1 -1
  364. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  365. package/lib/cjs/render/GraphicBuilder.js.map +1 -1
  366. package/lib/cjs/render/GraphicTemplate.js.map +1 -1
  367. package/lib/cjs/render/MeshArgs.js.map +1 -1
  368. package/lib/cjs/render/ParticleCollectionBuilder.js.map +1 -1
  369. package/lib/cjs/render/Pixel.js.map +1 -1
  370. package/lib/cjs/render/PolylineArgs.js.map +1 -1
  371. package/lib/cjs/render/RealityMeshParams.js.map +1 -1
  372. package/lib/cjs/render/RenderClipVolume.js.map +1 -1
  373. package/lib/cjs/render/RenderGraphic.js.map +1 -1
  374. package/lib/cjs/render/RenderMemory.js.map +1 -1
  375. package/lib/cjs/render/RenderSystem.js.map +1 -1
  376. package/lib/cjs/render/RenderTarget.js.map +1 -1
  377. package/lib/cjs/render/Scene.js.map +1 -1
  378. package/lib/cjs/render/ScreenSpaceEffectBuilder.js.map +1 -1
  379. package/lib/cjs/render/VisibleFeature.js.map +1 -1
  380. package/lib/cjs/request/Request.js.map +1 -1
  381. package/lib/cjs/request/utils.js.map +1 -1
  382. package/lib/cjs/tile/DisclosedTileTreeSet.js.map +1 -1
  383. package/lib/cjs/tile/GltfReader.js.map +1 -1
  384. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  385. package/lib/cjs/tile/RealityTile.js.map +1 -1
  386. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  387. package/lib/cjs/tile/RenderGraphicTileTree.js.map +1 -1
  388. package/lib/cjs/tile/Tile.js.map +1 -1
  389. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  390. package/lib/cjs/tile/TileContent.js.map +1 -1
  391. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  392. package/lib/cjs/tile/TileGeometryCollector.js.map +1 -1
  393. package/lib/cjs/tile/TileParams.js.map +1 -1
  394. package/lib/cjs/tile/TileRequest.js.map +1 -1
  395. package/lib/cjs/tile/TileRequestChannel.js.map +1 -1
  396. package/lib/cjs/tile/TileRequestChannels.js.map +1 -1
  397. package/lib/cjs/tile/TileStorage.js.map +1 -1
  398. package/lib/cjs/tile/TileTree.js.map +1 -1
  399. package/lib/cjs/tile/TileTreeOwner.js.map +1 -1
  400. package/lib/cjs/tile/TileTreeParams.js.map +1 -1
  401. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  402. package/lib/cjs/tile/TileTreeSupplier.js.map +1 -1
  403. package/lib/cjs/tile/TileUsageMarker.js.map +1 -1
  404. package/lib/cjs/tile/TileUser.js.map +1 -1
  405. package/lib/cjs/tile/TiledGraphicsProvider.js.map +1 -1
  406. package/lib/cjs/tile/internal.js.map +1 -1
  407. package/lib/cjs/tile/map/BingElevation.js.map +1 -1
  408. package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
  409. package/lib/cjs/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  410. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  411. package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
  412. package/lib/cjs/tile/map/MapFeatureInfo.js.map +1 -1
  413. package/lib/cjs/tile/map/MapLayerAuthentication.js.map +1 -1
  414. package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
  415. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  416. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  417. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  418. package/lib/cjs/tile/map/MapLayerTileTreeReference.js.map +1 -1
  419. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  420. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  421. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  422. package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
  423. package/lib/cjs/tile/map/QuadId.js.map +1 -1
  424. package/lib/cjs/tile/map/TerrainMeshProvider.js.map +1 -1
  425. package/lib/cjs/tile/map/TerrainProvider.js.map +1 -1
  426. package/lib/cjs/tools/AccuDrawTool.js.map +1 -1
  427. package/lib/cjs/tools/AccuDrawViewportUI.js.map +1 -1
  428. package/lib/cjs/tools/ClipViewTool.js.map +1 -1
  429. package/lib/cjs/tools/EditManipulator.js.map +1 -1
  430. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  431. package/lib/cjs/tools/EventController.js.map +1 -1
  432. package/lib/cjs/tools/IdleTool.js.map +1 -1
  433. package/lib/cjs/tools/MeasureTool.js.map +1 -1
  434. package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
  435. package/lib/cjs/tools/SelectTool.js.map +1 -1
  436. package/lib/cjs/tools/Tool.js.map +1 -1
  437. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  438. package/lib/cjs/tools/ToolAssistance.js.map +1 -1
  439. package/lib/cjs/tools/ToolSettings.js.map +1 -1
  440. package/lib/cjs/tools/ViewTool.js.map +1 -1
  441. package/lib/cjs/workers/ImdlParser/Worker.js.map +1 -1
  442. package/lib/cjs/workers/RegisterWorker.js.map +1 -1
  443. package/lib/esm/AccuDraw.js.map +1 -1
  444. package/lib/esm/AccuSnap.js.map +1 -1
  445. package/lib/esm/ApproximateTerrainHeights.js.map +1 -1
  446. package/lib/esm/ApproximateTerrainHeightsProps.js.map +1 -1
  447. package/lib/esm/AuxCoordSys.js.map +1 -1
  448. package/lib/esm/BackgroundMapGeometry.js.map +1 -1
  449. package/lib/esm/BingLocation.js.map +1 -1
  450. package/lib/esm/BriefcaseConnection.js.map +1 -1
  451. package/lib/esm/BriefcaseTxns.js.map +1 -1
  452. package/lib/esm/CatalogConnection.js.map +1 -1
  453. package/lib/esm/CategorySelectorState.js.map +1 -1
  454. package/lib/esm/ChangeFlags.js.map +1 -1
  455. package/lib/esm/CheckpointConnection.js.map +1 -1
  456. package/lib/esm/ContextRealityModelState.js.map +1 -1
  457. package/lib/esm/CoordSystem.js.map +1 -1
  458. package/lib/esm/DecorationsCache.js.map +1 -1
  459. package/lib/esm/DevTools.js.map +1 -1
  460. package/lib/esm/DisplayStyleState.js.map +1 -1
  461. package/lib/esm/DrawingViewState.js.map +1 -1
  462. package/lib/esm/ElementLocateManager.js.map +1 -1
  463. package/lib/esm/EmphasizeElements.js.map +1 -1
  464. package/lib/esm/EntityState.js.map +1 -1
  465. package/lib/esm/EnvironmentDecorations.js.map +1 -1
  466. package/lib/esm/FeatureOverrideProvider.js.map +1 -1
  467. package/lib/esm/FlashSettings.js.map +1 -1
  468. package/lib/esm/FrontendHubAccess.js.map +1 -1
  469. package/lib/esm/Frustum2d.js.map +1 -1
  470. package/lib/esm/FrustumAnimator.js.map +1 -1
  471. package/lib/esm/FuzzySearch.js.map +1 -1
  472. package/lib/esm/GeoServices.js.map +1 -1
  473. package/lib/esm/GlobeAnimator.js.map +1 -1
  474. package/lib/esm/GraphicalEditingScope.js.map +1 -1
  475. package/lib/esm/HitDetail.js.map +1 -1
  476. package/lib/esm/IModelApp.js.map +1 -1
  477. package/lib/esm/IModelConnection.js.map +1 -1
  478. package/lib/esm/IModelRoutingContext.js.map +1 -1
  479. package/lib/esm/IModeljs-css.js.map +1 -1
  480. package/lib/esm/IpcApp.js.map +1 -1
  481. package/lib/esm/LinePlaneIntersect.js.map +1 -1
  482. package/lib/esm/LocalhostIpcApp.js.map +1 -1
  483. package/lib/esm/MarginPercent.js.map +1 -1
  484. package/lib/esm/Marker.js.map +1 -1
  485. package/lib/esm/ModelSelectorState.js.map +1 -1
  486. package/lib/esm/ModelState.js.map +1 -1
  487. package/lib/esm/NativeApp.js.map +1 -1
  488. package/lib/esm/NativeAppLogger.js.map +1 -1
  489. package/lib/esm/NoRenderApp.js.map +1 -1
  490. package/lib/esm/NotificationManager.js.map +1 -1
  491. package/lib/esm/PerModelCategoryVisibility.js.map +1 -1
  492. package/lib/esm/PlanarClipMaskState.js.map +1 -1
  493. package/lib/esm/RealityDataSource.js.map +1 -1
  494. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
  495. package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -1
  496. package/lib/esm/RealityDataSourceTilesetUrlImpl.js.map +1 -1
  497. package/lib/esm/SelectionSet.js.map +1 -1
  498. package/lib/esm/SheetViewState.js.map +1 -1
  499. package/lib/esm/SpatialClassifiersState.js.map +1 -1
  500. package/lib/esm/SpatialViewState.js.map +1 -1
  501. package/lib/esm/Sprites.js.map +1 -1
  502. package/lib/esm/StandardView.js.map +1 -1
  503. package/lib/esm/SubCategoriesCache.js.map +1 -1
  504. package/lib/esm/TentativePoint.js.map +1 -1
  505. package/lib/esm/Tiles.js.map +1 -1
  506. package/lib/esm/TxnEntityChanges.js.map +1 -1
  507. package/lib/esm/UserPreferences.js.map +1 -1
  508. package/lib/esm/ViewAnimation.js.map +1 -1
  509. package/lib/esm/ViewContext.js.map +1 -1
  510. package/lib/esm/ViewCreator2d.js.map +1 -1
  511. package/lib/esm/ViewCreator3d.js.map +1 -1
  512. package/lib/esm/ViewGlobalLocation.js.map +1 -1
  513. package/lib/esm/ViewManager.js.map +1 -1
  514. package/lib/esm/ViewPose.js.map +1 -1
  515. package/lib/esm/ViewState.js.map +1 -1
  516. package/lib/esm/ViewStatus.js.map +1 -1
  517. package/lib/esm/ViewingSpace.js.map +1 -1
  518. package/lib/esm/Viewport.js.map +1 -1
  519. package/lib/esm/ViewportSync.js.map +1 -1
  520. package/lib/esm/common/FrontendLoggerCategory.js.map +1 -1
  521. package/lib/esm/common/ImageUtil.js.map +1 -1
  522. package/lib/esm/common/ViewRect.js.map +1 -1
  523. package/lib/esm/common/WorkerProxy.js.map +1 -1
  524. package/lib/esm/common/gltf/GltfModel.js.map +1 -1
  525. package/lib/esm/common/gltf/GltfParser.js.map +1 -1
  526. package/lib/esm/common/gltf/GltfSchema.js.map +1 -1
  527. package/lib/esm/common/imdl/CompactEdges.js.map +1 -1
  528. package/lib/esm/common/imdl/ImdlModel.js.map +1 -1
  529. package/lib/esm/common/imdl/ImdlSchema.js.map +1 -1
  530. package/lib/esm/common/imdl/ParseImdlDocument.js.map +1 -1
  531. package/lib/esm/common/internal/Symbols.js.map +1 -1
  532. package/lib/esm/common/internal/render/AnimationNodeId.js.map +1 -1
  533. package/lib/esm/common/internal/render/AuxChannelTable.js.map +1 -1
  534. package/lib/esm/common/internal/render/ColorMap.js.map +1 -1
  535. package/lib/esm/common/internal/render/DisplayParams.js.map +1 -1
  536. package/lib/esm/common/internal/render/EdgeParams.js.map +1 -1
  537. package/lib/esm/common/internal/render/GeometryAccumulator.js.map +1 -1
  538. package/lib/esm/common/internal/render/GeometryList.js.map +1 -1
  539. package/lib/esm/common/internal/render/GeometryPrimitives.js.map +1 -1
  540. package/lib/esm/common/internal/render/GraphicDescriptionBuilderImpl.js.map +1 -1
  541. package/lib/esm/common/internal/render/GraphicDescriptionContextImpl.js.map +1 -1
  542. package/lib/esm/common/internal/render/InstancedGraphicPropsBuilder.js.map +1 -1
  543. package/lib/esm/common/internal/render/LineCode.js.map +1 -1
  544. package/lib/esm/common/internal/render/MeshBuilder.js.map +1 -1
  545. package/lib/esm/common/internal/render/MeshBuilderMap.js.map +1 -1
  546. package/lib/esm/common/internal/render/MeshParams.js.map +1 -1
  547. package/lib/esm/common/internal/render/MeshPrimitive.js.map +1 -1
  548. package/lib/esm/common/internal/render/MeshPrimitives.js.map +1 -1
  549. package/lib/esm/common/internal/render/OvrFlags.js.map +1 -1
  550. package/lib/esm/common/internal/render/PointCloudPrimitive.js.map +1 -1
  551. package/lib/esm/common/internal/render/PointStringParams.js.map +1 -1
  552. package/lib/esm/common/internal/render/Polyface.js.map +1 -1
  553. package/lib/esm/common/internal/render/PolylineParams.js.map +1 -1
  554. package/lib/esm/common/internal/render/Primitives.js.map +1 -1
  555. package/lib/esm/common/internal/render/Strokes.js.map +1 -1
  556. package/lib/esm/common/internal/render/SurfaceParams.js.map +1 -1
  557. package/lib/esm/common/internal/render/VertexIndices.js.map +1 -1
  558. package/lib/esm/common/internal/render/VertexKey.js.map +1 -1
  559. package/lib/esm/common/internal/render/VertexTable.js.map +1 -1
  560. package/lib/esm/common/internal/render/VertexTableBuilder.js.map +1 -1
  561. package/lib/esm/common/internal/render/VertexTableSplitter.js.map +1 -1
  562. package/lib/esm/common/render/BatchOptions.js.map +1 -1
  563. package/lib/esm/common/render/GraphicAssembler.js.map +1 -1
  564. package/lib/esm/common/render/GraphicDescriptionBuilder.js.map +1 -1
  565. package/lib/esm/common/render/GraphicDescriptionContext.js.map +1 -1
  566. package/lib/esm/common/render/GraphicPrimitive.js.map +1 -1
  567. package/lib/esm/common/render/GraphicType.js.map +1 -1
  568. package/lib/esm/common/render/InstancedGraphicParams.js.map +1 -1
  569. package/lib/esm/common/render/MaterialParams.js.map +1 -1
  570. package/lib/esm/common/render/RenderInstancesParams.js.map +1 -1
  571. package/lib/esm/common/render/TextureParams.js.map +1 -1
  572. package/lib/esm/common.js.map +1 -1
  573. package/lib/esm/core-frontend.js.map +1 -1
  574. package/lib/esm/extension/Extension.js.map +1 -1
  575. package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
  576. package/lib/esm/extension/ExtensionHost.js.map +1 -1
  577. package/lib/esm/extension/ExtensionRuntime.js.map +1 -1
  578. package/lib/esm/extension/providers/ExtensionLoadScript.js.map +1 -1
  579. package/lib/esm/extension/providers/LocalExtensionProvider.js.map +1 -1
  580. package/lib/esm/extension/providers/RemoteExtensionProvider.js.map +1 -1
  581. package/lib/esm/internal/GoogleMapsDecorator.js.map +1 -1
  582. package/lib/esm/internal/RealityDataSourceGoogle3dTilesImpl.js.map +1 -1
  583. package/lib/esm/internal/ScriptUtils.js.map +1 -1
  584. package/lib/esm/internal/cross-package.js.map +1 -1
  585. package/lib/esm/internal/render/AnimationBranchState.js.map +1 -1
  586. package/lib/esm/internal/render/FrameStatsCollector.js.map +1 -1
  587. package/lib/esm/internal/render/GraphicBranchFrustum.js.map +1 -1
  588. package/lib/esm/internal/render/GraphicTemplateImpl.js.map +1 -1
  589. package/lib/esm/internal/render/MeshMapLayerGraphicParams.js.map +1 -1
  590. package/lib/esm/internal/render/MockRender.js.map +1 -1
  591. package/lib/esm/internal/render/PrimitiveBuilder.js.map +1 -1
  592. package/lib/esm/internal/render/QueryVisibileFeatures.js.map +1 -1
  593. package/lib/esm/internal/render/RenderAreaPattern.js.map +1 -1
  594. package/lib/esm/internal/render/RenderGeometry.js.map +1 -1
  595. package/lib/esm/internal/render/RenderInstancesParamsImpl.js.map +1 -1
  596. package/lib/esm/internal/render/RenderMaterialSource.js.map +1 -1
  597. package/lib/esm/internal/render/RenderPlan.js.map +1 -1
  598. package/lib/esm/internal/render/RenderPlanarClassifier.js.map +1 -1
  599. package/lib/esm/internal/render/RenderSkyBoxParams.js.map +1 -1
  600. package/lib/esm/internal/render/RenderSystemDebugControl.js.map +1 -1
  601. package/lib/esm/internal/render/RenderTargetDebugControl.js.map +1 -1
  602. package/lib/esm/internal/render/RenderTerrain.js.map +1 -1
  603. package/lib/esm/internal/render/RenderTextureDrape.js.map +1 -1
  604. package/lib/esm/internal/render/SceneVolumeClassifier.js.map +1 -1
  605. package/lib/esm/internal/render/UpsampleRealityMeshParams.js.map +1 -1
  606. package/lib/esm/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
  607. package/lib/esm/internal/render/webgl/AttributeBuffers.js.map +1 -1
  608. package/lib/esm/internal/render/webgl/AttributeMap.js.map +1 -1
  609. package/lib/esm/internal/render/webgl/BackgroundMapDrape.js +1 -1
  610. package/lib/esm/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
  611. package/lib/esm/internal/render/webgl/BatchState.js.map +1 -1
  612. package/lib/esm/internal/render/webgl/BatchUniforms.js.map +1 -1
  613. package/lib/esm/internal/render/webgl/BranchStack.js.map +1 -1
  614. package/lib/esm/internal/render/webgl/BranchState.js.map +1 -1
  615. package/lib/esm/internal/render/webgl/BranchUniforms.js.map +1 -1
  616. package/lib/esm/internal/render/webgl/CachedGeometry.js.map +1 -1
  617. package/lib/esm/internal/render/webgl/ClipStack.js.map +1 -1
  618. package/lib/esm/internal/render/webgl/ClipVolume.js.map +1 -1
  619. package/lib/esm/internal/render/webgl/ClippingProgram.js.map +1 -1
  620. package/lib/esm/internal/render/webgl/ColorInfo.js.map +1 -1
  621. package/lib/esm/internal/render/webgl/ContourUniforms.js.map +1 -1
  622. package/lib/esm/internal/render/webgl/Contours.js.map +1 -1
  623. package/lib/esm/internal/render/webgl/Diagnostics.js.map +1 -1
  624. package/lib/esm/internal/render/webgl/Disposable.js.map +1 -1
  625. package/lib/esm/internal/render/webgl/DrawCommand.js.map +1 -1
  626. package/lib/esm/internal/render/webgl/EDL.js.map +1 -1
  627. package/lib/esm/internal/render/webgl/EdgeGeometry.js.map +1 -1
  628. package/lib/esm/internal/render/webgl/EdgeSettings.js.map +1 -1
  629. package/lib/esm/internal/render/webgl/FeatureOverrides.js.map +1 -1
  630. package/lib/esm/internal/render/webgl/FloatRGBA.js.map +1 -1
  631. package/lib/esm/internal/render/webgl/FrameBuffer.js.map +1 -1
  632. package/lib/esm/internal/render/webgl/FrustumUniforms.js.map +1 -1
  633. package/lib/esm/internal/render/webgl/GL.js.map +1 -1
  634. package/lib/esm/internal/render/webgl/GLTimer.js.map +1 -1
  635. package/lib/esm/internal/render/webgl/Graphic.js.map +1 -1
  636. package/lib/esm/internal/render/webgl/HiliteUniforms.js.map +1 -1
  637. package/lib/esm/internal/render/webgl/IModelFrameLifecycle.js.map +1 -1
  638. package/lib/esm/internal/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  639. package/lib/esm/internal/render/webgl/InstancedGeometry.js.map +1 -1
  640. package/lib/esm/internal/render/webgl/Layer.js.map +1 -1
  641. package/lib/esm/internal/render/webgl/LayerCommands.js.map +1 -1
  642. package/lib/esm/internal/render/webgl/LightingUniforms.js.map +1 -1
  643. package/lib/esm/internal/render/webgl/LineCode.js.map +1 -1
  644. package/lib/esm/internal/render/webgl/MapLayerParams.js.map +1 -1
  645. package/lib/esm/internal/render/webgl/Material.js.map +1 -1
  646. package/lib/esm/internal/render/webgl/Matrix.js.map +1 -1
  647. package/lib/esm/internal/render/webgl/Mesh.js.map +1 -1
  648. package/lib/esm/internal/render/webgl/MeshData.js.map +1 -1
  649. package/lib/esm/internal/render/webgl/MeshGeometry.js.map +1 -1
  650. package/lib/esm/internal/render/webgl/PerformanceMetrics.js.map +1 -1
  651. package/lib/esm/internal/render/webgl/PlanarClassifier.js +1 -1
  652. package/lib/esm/internal/render/webgl/PlanarClassifier.js.map +1 -1
  653. package/lib/esm/internal/render/webgl/PlanarGrid.js.map +1 -1
  654. package/lib/esm/internal/render/webgl/PlanarTextureProjection.js.map +1 -1
  655. package/lib/esm/internal/render/webgl/PointCloud.js.map +1 -1
  656. package/lib/esm/internal/render/webgl/PointString.js.map +1 -1
  657. package/lib/esm/internal/render/webgl/Polyline.js.map +1 -1
  658. package/lib/esm/internal/render/webgl/Primitive.js.map +1 -1
  659. package/lib/esm/internal/render/webgl/RealityMesh.js.map +1 -1
  660. package/lib/esm/internal/render/webgl/RealityModelUniforms.js.map +1 -1
  661. package/lib/esm/internal/render/webgl/RenderBuffer.js.map +1 -1
  662. package/lib/esm/internal/render/webgl/RenderCommands.js.map +1 -1
  663. package/lib/esm/internal/render/webgl/RenderFlags.js.map +1 -1
  664. package/lib/esm/internal/render/webgl/RenderState.js.map +1 -1
  665. package/lib/esm/internal/render/webgl/SceneCompositor.js.map +1 -1
  666. package/lib/esm/internal/render/webgl/ScratchDrawParams.js.map +1 -1
  667. package/lib/esm/internal/render/webgl/ScreenSpaceEffect.js.map +1 -1
  668. package/lib/esm/internal/render/webgl/ShaderBuilder.js.map +1 -1
  669. package/lib/esm/internal/render/webgl/ShaderProgram.js.map +1 -1
  670. package/lib/esm/internal/render/webgl/ShadowUniforms.js.map +1 -1
  671. package/lib/esm/internal/render/webgl/SolarShadowMap.js.map +1 -1
  672. package/lib/esm/internal/render/webgl/StyleUniforms.js.map +1 -1
  673. package/lib/esm/internal/render/webgl/SurfaceGeometry.js.map +1 -1
  674. package/lib/esm/internal/render/webgl/Sync.js.map +1 -1
  675. package/lib/esm/internal/render/webgl/System.js.map +1 -1
  676. package/lib/esm/internal/render/webgl/Target.js.map +1 -1
  677. package/lib/esm/internal/render/webgl/TargetGraphics.js.map +1 -1
  678. package/lib/esm/internal/render/webgl/TargetUniforms.js.map +1 -1
  679. package/lib/esm/internal/render/webgl/Technique.js.map +1 -1
  680. package/lib/esm/internal/render/webgl/TechniqueFlags.js.map +1 -1
  681. package/lib/esm/internal/render/webgl/TechniqueId.js.map +1 -1
  682. package/lib/esm/internal/render/webgl/Texture.js.map +1 -1
  683. package/lib/esm/internal/render/webgl/TextureDrape.js.map +1 -1
  684. package/lib/esm/internal/render/webgl/ThematicSensors.js.map +1 -1
  685. package/lib/esm/internal/render/webgl/ThematicUniforms.js.map +1 -1
  686. package/lib/esm/internal/render/webgl/UniformHandle.js.map +1 -1
  687. package/lib/esm/internal/render/webgl/VertexLUT.js.map +1 -1
  688. package/lib/esm/internal/render/webgl/ViewRectUniforms.js.map +1 -1
  689. package/lib/esm/internal/render/webgl/VisibleTileFeatures.js.map +1 -1
  690. package/lib/esm/internal/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  691. package/lib/esm/internal/render/webgl/glsl/Animation.js.map +1 -1
  692. package/lib/esm/internal/render/webgl/glsl/Atmosphere.js.map +1 -1
  693. package/lib/esm/internal/render/webgl/glsl/Blur.js.map +1 -1
  694. package/lib/esm/internal/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
  695. package/lib/esm/internal/render/webgl/glsl/ClearTranslucent.js.map +1 -1
  696. package/lib/esm/internal/render/webgl/glsl/Clipping.js.map +1 -1
  697. package/lib/esm/internal/render/webgl/glsl/Color.js.map +1 -1
  698. package/lib/esm/internal/render/webgl/glsl/Combine3Textures.js.map +1 -1
  699. package/lib/esm/internal/render/webgl/glsl/CombineTextures.js.map +1 -1
  700. package/lib/esm/internal/render/webgl/glsl/Common.js.map +1 -1
  701. package/lib/esm/internal/render/webgl/glsl/Composite.js.map +1 -1
  702. package/lib/esm/internal/render/webgl/glsl/Contours.js.map +1 -1
  703. package/lib/esm/internal/render/webgl/glsl/CopyColor.js.map +1 -1
  704. package/lib/esm/internal/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
  705. package/lib/esm/internal/render/webgl/glsl/CopyStencil.js.map +1 -1
  706. package/lib/esm/internal/render/webgl/glsl/Decode.js.map +1 -1
  707. package/lib/esm/internal/render/webgl/glsl/EDL.js.map +1 -1
  708. package/lib/esm/internal/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
  709. package/lib/esm/internal/render/webgl/glsl/Edge.js.map +1 -1
  710. package/lib/esm/internal/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  711. package/lib/esm/internal/render/webgl/glsl/Fragment.js.map +1 -1
  712. package/lib/esm/internal/render/webgl/glsl/Instancing.js.map +1 -1
  713. package/lib/esm/internal/render/webgl/glsl/Lighting.js.map +1 -1
  714. package/lib/esm/internal/render/webgl/glsl/LogarithmicDepthBuffer.js.map +1 -1
  715. package/lib/esm/internal/render/webgl/glsl/LookupTable.js.map +1 -1
  716. package/lib/esm/internal/render/webgl/glsl/MaplayerDraping.js.map +1 -1
  717. package/lib/esm/internal/render/webgl/glsl/Monochrome.js.map +1 -1
  718. package/lib/esm/internal/render/webgl/glsl/PlanarClassification.js.map +1 -1
  719. package/lib/esm/internal/render/webgl/glsl/PlanarGrid.js.map +1 -1
  720. package/lib/esm/internal/render/webgl/glsl/PointCloud.js.map +1 -1
  721. package/lib/esm/internal/render/webgl/glsl/PointString.js.map +1 -1
  722. package/lib/esm/internal/render/webgl/glsl/Polyline.js.map +1 -1
  723. package/lib/esm/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
  724. package/lib/esm/internal/render/webgl/glsl/RenderPass.js.map +1 -1
  725. package/lib/esm/internal/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
  726. package/lib/esm/internal/render/webgl/glsl/SkyBox.js.map +1 -1
  727. package/lib/esm/internal/render/webgl/glsl/SkySphere.js.map +1 -1
  728. package/lib/esm/internal/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
  729. package/lib/esm/internal/render/webgl/glsl/Surface.js.map +1 -1
  730. package/lib/esm/internal/render/webgl/glsl/Thematic.js.map +1 -1
  731. package/lib/esm/internal/render/webgl/glsl/Translucency.js.map +1 -1
  732. package/lib/esm/internal/render/webgl/glsl/Vertex.js.map +1 -1
  733. package/lib/esm/internal/render/webgl/glsl/Viewport.js.map +1 -1
  734. package/lib/esm/internal/render/webgl/glsl/ViewportQuad.js.map +1 -1
  735. package/lib/esm/internal/render/webgl/glsl/Wiremesh.js.map +1 -1
  736. package/lib/esm/internal/tile/B3dmReader.js.map +1 -1
  737. package/lib/esm/internal/tile/BatchedTileIdMap.js.map +1 -1
  738. package/lib/esm/internal/tile/CesiumAssetProvider.js.map +1 -1
  739. package/lib/esm/internal/tile/ClassifierTileTree.js.map +1 -1
  740. package/lib/esm/internal/tile/ContextShareProvider.js.map +1 -1
  741. package/lib/esm/internal/tile/DynamicIModelTile.js +1 -0
  742. package/lib/esm/internal/tile/DynamicIModelTile.js.map +1 -1
  743. package/lib/esm/internal/tile/FetchCloudStorage.js.map +1 -1
  744. package/lib/esm/internal/tile/GraphicsCollector.js.map +1 -1
  745. package/lib/esm/internal/tile/I3dmReader.js.map +1 -1
  746. package/lib/esm/internal/tile/IModelTile.js.map +1 -1
  747. package/lib/esm/internal/tile/IModelTileRequestChannels.js.map +1 -1
  748. package/lib/esm/internal/tile/IModelTileTree.js.map +1 -1
  749. package/lib/esm/internal/tile/ImdlDecoder.js.map +1 -1
  750. package/lib/esm/internal/tile/ImdlGraphicsCreator.js.map +1 -1
  751. package/lib/esm/internal/tile/ImdlParser.js.map +1 -1
  752. package/lib/esm/internal/tile/LRUTileList.js.map +1 -1
  753. package/lib/esm/internal/tile/LayerTileTreeHandler.js.map +1 -1
  754. package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
  755. package/lib/esm/internal/tile/MeshoptCompression.js.map +1 -1
  756. package/lib/esm/internal/tile/OPCFormatInterpreter.js.map +1 -1
  757. package/lib/esm/internal/tile/OrbitGtTileTree.js.map +1 -1
  758. package/lib/esm/internal/tile/PntsReader.js.map +1 -1
  759. package/lib/esm/internal/tile/PrimaryTileTree.js.map +1 -1
  760. package/lib/esm/internal/tile/RealityModelTileTree.js.map +1 -1
  761. package/lib/esm/internal/tile/RealityTileDrawArgs.js.map +1 -1
  762. package/lib/esm/internal/tile/RealityTileLoader.js.map +1 -1
  763. package/lib/esm/internal/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  764. package/lib/esm/internal/tile/TileUserSet.js.map +1 -1
  765. package/lib/esm/internal/tile/ViewFlagOverrides.js.map +1 -1
  766. package/lib/esm/internal/tile/map/ArcGISTileMap.js.map +1 -1
  767. package/lib/esm/internal/tile/map/ArcGisUtilities.js.map +1 -1
  768. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  769. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  770. package/lib/esm/internal/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -1
  771. package/lib/esm/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
  772. package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  773. package/lib/esm/internal/tile/map/ImageryProviders/CoordinatesUtils.js.map +1 -1
  774. package/lib/esm/internal/tile/map/ImageryProviders/FeatureAttributeDrivenSymbology.js.map +1 -1
  775. package/lib/esm/internal/tile/map/ImageryProviders/FeatureGeometryRenderer.js.map +1 -1
  776. package/lib/esm/internal/tile/map/ImageryProviders/FeatureGraphicsRenderer.js.map +1 -1
  777. package/lib/esm/internal/tile/map/ImageryProviders/FeatureSymbologyRenderer.js.map +1 -1
  778. package/lib/esm/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  779. package/lib/esm/internal/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
  780. package/lib/esm/internal/tile/map/ImageryProviders/WebMercator.js.map +1 -1
  781. package/lib/esm/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  782. package/lib/esm/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  783. package/lib/esm/internal/tile/map/MapTileAvailability.js.map +1 -1
  784. package/lib/esm/internal/tile/map/MapTileLoader.js.map +1 -1
  785. package/lib/esm/internal/tile/map/UrlUtils.js.map +1 -1
  786. package/lib/esm/internal/tile/map/WmsCapabilities.js.map +1 -1
  787. package/lib/esm/internal/tile/map/WmsUtilities.js.map +1 -1
  788. package/lib/esm/internal/tile/map/WmtsCapabilities.js.map +1 -1
  789. package/lib/esm/internal/webgl.js.map +1 -1
  790. package/lib/esm/properties/AngleDescription.js.map +1 -1
  791. package/lib/esm/properties/FormattedQuantityDescription.js.map +1 -1
  792. package/lib/esm/properties/LengthDescription.js.map +1 -1
  793. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  794. package/lib/esm/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  795. package/lib/esm/quantity-formatting/LocalUnitFormatProvider.js.map +1 -1
  796. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  797. package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -1
  798. package/lib/esm/quantity-formatting/UnitsData.js.map +1 -1
  799. package/lib/esm/render/CanvasDecoration.js.map +1 -1
  800. package/lib/esm/render/CreateRenderMaterialArgs.js.map +1 -1
  801. package/lib/esm/render/CreateTextureArgs.js.map +1 -1
  802. package/lib/esm/render/Decorations.js.map +1 -1
  803. package/lib/esm/render/FeatureSymbology.js.map +1 -1
  804. package/lib/esm/render/FrameStats.js.map +1 -1
  805. package/lib/esm/render/GraphicBranch.js.map +1 -1
  806. package/lib/esm/render/GraphicBuilder.js.map +1 -1
  807. package/lib/esm/render/GraphicTemplate.js.map +1 -1
  808. package/lib/esm/render/MeshArgs.js.map +1 -1
  809. package/lib/esm/render/ParticleCollectionBuilder.js.map +1 -1
  810. package/lib/esm/render/Pixel.js.map +1 -1
  811. package/lib/esm/render/PolylineArgs.js.map +1 -1
  812. package/lib/esm/render/RealityMeshParams.js.map +1 -1
  813. package/lib/esm/render/RenderClipVolume.js.map +1 -1
  814. package/lib/esm/render/RenderGraphic.js.map +1 -1
  815. package/lib/esm/render/RenderMemory.js.map +1 -1
  816. package/lib/esm/render/RenderSystem.js.map +1 -1
  817. package/lib/esm/render/RenderTarget.js.map +1 -1
  818. package/lib/esm/render/Scene.js.map +1 -1
  819. package/lib/esm/render/ScreenSpaceEffectBuilder.js.map +1 -1
  820. package/lib/esm/render/VisibleFeature.js.map +1 -1
  821. package/lib/esm/request/Request.js.map +1 -1
  822. package/lib/esm/request/utils.js.map +1 -1
  823. package/lib/esm/tile/DisclosedTileTreeSet.js.map +1 -1
  824. package/lib/esm/tile/GltfReader.js.map +1 -1
  825. package/lib/esm/tile/ImdlReader.js.map +1 -1
  826. package/lib/esm/tile/RealityTile.js.map +1 -1
  827. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  828. package/lib/esm/tile/RenderGraphicTileTree.js.map +1 -1
  829. package/lib/esm/tile/Tile.js.map +1 -1
  830. package/lib/esm/tile/TileAdmin.js.map +1 -1
  831. package/lib/esm/tile/TileContent.js.map +1 -1
  832. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  833. package/lib/esm/tile/TileGeometryCollector.js.map +1 -1
  834. package/lib/esm/tile/TileParams.js.map +1 -1
  835. package/lib/esm/tile/TileRequest.js.map +1 -1
  836. package/lib/esm/tile/TileRequestChannel.js.map +1 -1
  837. package/lib/esm/tile/TileRequestChannels.js.map +1 -1
  838. package/lib/esm/tile/TileStorage.js.map +1 -1
  839. package/lib/esm/tile/TileTree.js.map +1 -1
  840. package/lib/esm/tile/TileTreeOwner.js.map +1 -1
  841. package/lib/esm/tile/TileTreeParams.js.map +1 -1
  842. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  843. package/lib/esm/tile/TileTreeSupplier.js.map +1 -1
  844. package/lib/esm/tile/TileUsageMarker.js.map +1 -1
  845. package/lib/esm/tile/TileUser.js.map +1 -1
  846. package/lib/esm/tile/TiledGraphicsProvider.js.map +1 -1
  847. package/lib/esm/tile/internal.js.map +1 -1
  848. package/lib/esm/tile/map/BingElevation.js.map +1 -1
  849. package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
  850. package/lib/esm/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  851. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  852. package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
  853. package/lib/esm/tile/map/MapFeatureInfo.js.map +1 -1
  854. package/lib/esm/tile/map/MapLayerAuthentication.js.map +1 -1
  855. package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
  856. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  857. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  858. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  859. package/lib/esm/tile/map/MapLayerTileTreeReference.js.map +1 -1
  860. package/lib/esm/tile/map/MapTile.js.map +1 -1
  861. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  862. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  863. package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
  864. package/lib/esm/tile/map/QuadId.js.map +1 -1
  865. package/lib/esm/tile/map/TerrainMeshProvider.js.map +1 -1
  866. package/lib/esm/tile/map/TerrainProvider.js.map +1 -1
  867. package/lib/esm/tools/AccuDrawTool.js.map +1 -1
  868. package/lib/esm/tools/AccuDrawViewportUI.js.map +1 -1
  869. package/lib/esm/tools/ClipViewTool.js.map +1 -1
  870. package/lib/esm/tools/EditManipulator.js.map +1 -1
  871. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  872. package/lib/esm/tools/EventController.js.map +1 -1
  873. package/lib/esm/tools/IdleTool.js.map +1 -1
  874. package/lib/esm/tools/MeasureTool.js.map +1 -1
  875. package/lib/esm/tools/PrimitiveTool.js.map +1 -1
  876. package/lib/esm/tools/SelectTool.js.map +1 -1
  877. package/lib/esm/tools/Tool.js.map +1 -1
  878. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  879. package/lib/esm/tools/ToolAssistance.js.map +1 -1
  880. package/lib/esm/tools/ToolSettings.js.map +1 -1
  881. package/lib/esm/tools/ViewTool.js.map +1 -1
  882. package/lib/esm/workers/ImdlParser/Worker.js.map +1 -1
  883. package/lib/esm/workers/RegisterWorker.js.map +1 -1
  884. package/package.json +20 -20
@@ -1 +1 @@
1
- {"version":3,"file":"EditManipulator.js","sourceRoot":"","sources":["../../../src/tools/EditManipulator.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 Tools\r\n */\r\n\r\nimport { AxisOrder, Matrix3d, Point3d, Transform, Vector3d } from \"@itwin/core-geometry\";\r\nimport { ColorDef } from \"@itwin/core-common\";\r\nimport { AccuDrawHintBuilder } from \"../AccuDraw\";\r\nimport { HitDetail } from \"../HitDetail\";\r\nimport { IModelApp } from \"../IModelApp\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { SelectionSetEvent } from \"../SelectionSet\";\r\nimport { DecorateContext } from \"../ViewContext\";\r\nimport { Viewport } from \"../Viewport\";\r\nimport { BeButton, BeButtonEvent, BeTouchEvent, CoordinateLockOverrides, EventHandled, InputCollector, InputSource, Tool } from \"./Tool\";\r\nimport { ManipulatorToolEvent } from \"./ToolAdmin\";\r\n\r\n/** Classes and methods to create on screen control handles for interactive modification of element(s) and pickable decorations.\r\n * The basic flow is:\r\n * - Create a sub-class of [[EditManipulator.HandleProvider]] to listen for start of [[SelectTool]] or any other PrimitiveTool that supports handle providers.\r\n * - Respond to [[ManipulatorToolEvent.Start]] by adding a listener for [[SelectionSet]] change event.\r\n * - Respond to selection changed event to create control handles as pickable decorations when the desired element(s) or pickable decoration is selected.\r\n * - Respond to button events on the control handle decoration and run a sub-class of [[EditManipulator.HandleTool]] to modify.\r\n * @public\r\n * @extensions\r\n*/\r\nexport namespace EditManipulator {\r\n /** Specifies the event for [[EditManipulator.HandleProvider.onManipulatorEvent]] */\r\n export enum EventType {\r\n /** Control handles should be created, updated, or cleared based on the active selection. */\r\n Synch,\r\n /** Control handle modification was cancelled by user. */\r\n Cancel,\r\n /** Control handle modification was accepted by user. */\r\n Accept\r\n }\r\n\r\n /** Interactive control handle modification is done by installing an [[InputCollector]].\r\n * Modification typically is started from a click or press and drag while over the handle graphics.\r\n * The HandleTool base class is set up to define an offset by 2 points. The second point is\r\n * defined by either another click, or up event when initiated from press and drag.\r\n * @see [[EditManipulator.HandleProvider]]\r\n */\r\n export abstract class HandleTool extends InputCollector {\r\n public static override toolId = \"Select.Manipulator\"; // Doesn't matter, not included in tool registry...\r\n public static override hidden = true;\r\n public readonly manipulator: HandleProvider;\r\n\r\n public constructor(manipulator: HandleProvider) {\r\n super();\r\n this.manipulator = manipulator;\r\n }\r\n\r\n /** Establish the initial tool state for handle modification.\r\n * Default implementation honors the active locks and enables AccuSnap; behavior suitable for a shape vertex handle.\r\n * @note An InputCollector inherits the tool state of the suspended primitive tool.\r\n */\r\n protected init(): void {\r\n // Set this.receivedDownEvent to still get up events sent to this tool instance when installed from another tool's down event (ex. onModelStartDrag).\r\n this.receivedDownEvent = true;\r\n\r\n // Override inherited tool state from suspended primitive tool.\r\n IModelApp.accuSnap.onStartTool();\r\n\r\n if (this.wantAccuSnap)\r\n this.initLocateElements(false, true, undefined, CoordinateLockOverrides.None);\r\n else\r\n this.initLocateElements(false, false, undefined, CoordinateLockOverrides.All);\r\n }\r\n\r\n /** Whether to call [[AccuSnap.enableSnap]] for handle modification.\r\n * @return true to enable snapping to elements.\r\n */\r\n protected get wantAccuSnap(): boolean { return true; }\r\n\r\n /** Called from reset button up event to allow modification to be cancelled.\r\n * @return true to cancel modification.\r\n */\r\n protected cancel(_ev: BeButtonEvent): boolean { return true; }\r\n\r\n /** Called from data button down event to check if enough input has been gathered to complete the modification.\r\n * @return true to complete modification.\r\n */\r\n protected abstract accept(_ev: BeButtonEvent): boolean;\r\n\r\n /** Called following cancel or accept to update the handle provider\r\n * and return control to suspended PrimitiveTool.\r\n */\r\n protected async onComplete(_ev: BeButtonEvent, event: EventType): Promise<EventHandled> {\r\n await this.exitTool();\r\n this.manipulator.onManipulatorEvent(event);\r\n\r\n return EventHandled.Yes;\r\n }\r\n\r\n public override async onDataButtonDown(ev: BeButtonEvent): Promise<EventHandled> {\r\n if (!this.accept(ev))\r\n return EventHandled.No;\r\n\r\n return this.onComplete(ev, EventType.Accept);\r\n }\r\n\r\n public override async onResetButtonUp(ev: BeButtonEvent): Promise<EventHandled> {\r\n if (!this.cancel(ev))\r\n return EventHandled.No;\r\n\r\n return this.onComplete(ev, EventType.Cancel);\r\n }\r\n\r\n public override async onTouchMove(ev: BeTouchEvent): Promise<void> { return IModelApp.toolAdmin.convertTouchMoveToMotion(ev); }\r\n public override async onTouchComplete(ev: BeTouchEvent): Promise<void> { return IModelApp.toolAdmin.convertTouchEndToButtonUp(ev); }\r\n public override async onTouchCancel(ev: BeTouchEvent): Promise<void> { return IModelApp.toolAdmin.convertTouchEndToButtonUp(ev, BeButton.Reset); }\r\n\r\n public override async onPostInstall() {\r\n await super.onPostInstall();\r\n this.init();\r\n }\r\n }\r\n\r\n /** A handle provider maintains a set of controls used to modify element(s) or pickable decorations.\r\n * The provider works in conjunction with any PrimitiveTool that raises events for [[ToolAdmin.manipulatorToolEvent]].\r\n * @see [[SelectTool]] The default PrimitiveTool that supports handle providers.\r\n */\r\n export abstract class HandleProvider {\r\n protected _isActive = false;\r\n protected _removeManipulatorToolListener?: () => void;\r\n protected _removeSelectionListener?: () => void;\r\n protected _removeDecorationListener?: () => void;\r\n\r\n /** Create a new handle provider to listen for [[ToolAdmin.manipulatorToolEvent]].\r\n * Usually followed by a call to [[IModelApp.toolAdmin.startDefaultTool]] to immediately raise the [[ManipulatorToolEvent.Start]] event.\r\n */\r\n public constructor(public iModel: IModelConnection) {\r\n this._removeManipulatorToolListener = IModelApp.toolAdmin.manipulatorToolEvent.addListener((tool, event) => this.onManipulatorToolEvent(tool, event));\r\n }\r\n\r\n /** Call to clear this handle provider. */\r\n protected stop(): void {\r\n if (this._removeSelectionListener) {\r\n this._removeSelectionListener();\r\n this._removeSelectionListener = undefined;\r\n }\r\n if (this._removeManipulatorToolListener) {\r\n this._removeManipulatorToolListener();\r\n this._removeManipulatorToolListener = undefined;\r\n }\r\n this.clearControls();\r\n }\r\n\r\n /** Event raised by a PrimitiveTool that supports handle providers.\r\n * Add listener for [[IModelConnection.selectionSet.onChanged]] on start event and remove on stop event.\r\n * Control handles can be created from the active selection set, which may include persistent elements and pickable decorations.\r\n * @see [[SelectionSet]]\r\n */\r\n public onManipulatorToolEvent(_tool: Tool, event: ManipulatorToolEvent): void {\r\n switch (event) {\r\n case ManipulatorToolEvent.Start: {\r\n if (this._removeSelectionListener)\r\n break;\r\n this._removeSelectionListener = this.iModel.selectionSet.onChanged.addListener((ev) => this.onSelectionChanged(ev));\r\n if (this.iModel.selectionSet.isActive)\r\n this.onManipulatorEvent(EventType.Synch); // Give opportunity to add controls when tool is started with an existing selection...\r\n break;\r\n }\r\n case ManipulatorToolEvent.Stop: {\r\n if (!this._removeSelectionListener)\r\n break;\r\n this._removeSelectionListener();\r\n this._removeSelectionListener = undefined;\r\n this.clearControls();\r\n }\r\n }\r\n }\r\n\r\n /** Event raised by [[SelectionSet]] when the active selection changes.\r\n * Calls onManipulatorEvent to let the provider create, update, or clear it's set of controls as appropriate.\r\n * @see [[SelectionSet]]\r\n */\r\n public onSelectionChanged(ev: SelectionSetEvent): void {\r\n if (this.iModel === ev.set.iModel)\r\n this.onManipulatorEvent(EventType.Synch);\r\n }\r\n\r\n /** Register for decorate event to start displaying control handles. */\r\n protected updateDecorationListener(add: boolean): void {\r\n if (this._removeDecorationListener) {\r\n if (!add) {\r\n this._removeDecorationListener();\r\n this._removeDecorationListener = undefined;\r\n }\r\n IModelApp.viewManager.invalidateDecorationsAllViews();\r\n } else if (add) {\r\n if (!this._removeDecorationListener)\r\n this._removeDecorationListener = IModelApp.viewManager.addDecorator(this);\r\n IModelApp.viewManager.invalidateDecorationsAllViews();\r\n }\r\n }\r\n\r\n /** Sub-classes should override to display the pickable graphics for their controls. */\r\n public decorate(_context: DecorateContext): void { }\r\n\r\n /** The provider is responsible for checking if modification by controls is valid.\r\n * May still wish to present controls for \"transient\" geometry in non-read/write applications, etc.\r\n */\r\n protected abstract createControls(): Promise<boolean>;\r\n\r\n /* Call to stop displaying the the control handles */\r\n protected clearControls(): void {\r\n this.updateDecorationListener(this._isActive = false);\r\n }\r\n\r\n /** A provider can install an [[InputCollector]] to support interactive modification.\r\n * @return true if a tool was successfully run.\r\n * @see [[EditManipulator.HandleTool]]\r\n */\r\n protected abstract modifyControls(_hit: HitDetail, _ev: BeButtonEvent): Promise<boolean>;\r\n\r\n /* Create, update, or clear based on the current selection. */\r\n protected async updateControls(): Promise<void> {\r\n const created = await this.createControls();\r\n if (this._isActive && !created)\r\n this.clearControls();\r\n else\r\n this.updateDecorationListener(this._isActive = created);\r\n }\r\n\r\n /* Update controls to reflect active selection or post-modification state. */\r\n public onManipulatorEvent(_eventType: EventType): void {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.updateControls();\r\n }\r\n\r\n /** Sub-classes can override to perform some operation for a double click on a handle. */\r\n protected async onDoubleClick(_hit: HitDetail, _ev: BeButtonEvent): Promise<EventHandled> { return EventHandled.No; }\r\n\r\n /** Sub-classes can override to present a menu for a right click on a handle. */\r\n protected async onRightClick(_hit: HitDetail, _ev: BeButtonEvent): Promise<EventHandled> { return EventHandled.No; }\r\n\r\n /** Sub-classes can override to respond to a touch tap on a handle. By default, handles are selected by touch drag and taps are ignored. */\r\n protected async onTouchTap(_hit: HitDetail, _ev: BeButtonEvent): Promise<EventHandled> { return EventHandled.Yes; }\r\n\r\n /** Event raised by a PrimitiveTool that supports handle providers to allow a pickable decoration to respond to being located. */\r\n public async onDecorationButtonEvent(hit: HitDetail, ev: BeButtonEvent): Promise<EventHandled> {\r\n if (!this._isActive)\r\n return EventHandled.No;\r\n\r\n if (ev.isDoubleClick)\r\n return this.onDoubleClick(hit, ev); // Allow double click on handle to override default operation (ex. fit view).\r\n\r\n if (BeButton.Reset === ev.button && !ev.isDown && !ev.isDragging)\r\n return this.onRightClick(hit, ev); // Allow right click on handle to present a menu.\r\n\r\n if (BeButton.Data !== ev.button)\r\n return EventHandled.No;\r\n\r\n if (ev.isControlKey)\r\n return EventHandled.No; // Support ctrl+click to select multiple controls (ex. linestring vertices)...\r\n\r\n if (InputSource.Touch === ev.inputSource && !ev.isDragging)\r\n return this.onTouchTap(hit, ev); // Default is to select controls on touch drag only, ignore tap on control...\r\n\r\n if (ev.isDown && !ev.isDragging)\r\n return EventHandled.No; // Select controls on up event or down event only after drag started...\r\n\r\n if (!await this.modifyControls(hit, ev))\r\n return EventHandled.No;\r\n\r\n // In case InputCollector was installed for handle modification, don't wait for motion to show dynamic frame adjusted for AccuDraw hints...\r\n IModelApp.accuDraw.refreshDecorationsAndDynamics();\r\n\r\n return EventHandled.Yes;\r\n }\r\n }\r\n\r\n /** Utility methods for creating control handles and other decorations. */\r\n export class HandleUtils {\r\n /** Adjust input color for contrast against view background.\r\n * @param color The color to adjust.\r\n * @param vp The viewport to compare.\r\n * @return color adjusted for view background color or original color if view background color isn't being used.\r\n */\r\n public static adjustForBackgroundColor(color: ColorDef, vp: Viewport): ColorDef {\r\n if (vp.view.is3d() && vp.view.getDisplayStyle3d().environment.displaySky)\r\n return color;\r\n\r\n return color.adjustedForContrast(vp.view.backgroundColor);\r\n }\r\n\r\n /** Compute a transform that will try to orient a 2d shape (like an arrow) to face the camera.\r\n * @param vp The viewport to get the rotation from.\r\n * @param base The world coordinate point to pivot about.\r\n * @param direction The world coordinate axis to tilt along.\r\n * @param sizeInches The transform scale specified in screen inches.\r\n * @returns transform or undefined when input direction is almost perpendicular to viewing direction.\r\n * @see [[getArrowShape]]\r\n */\r\n public static getArrowTransform(vp: Viewport, base: Point3d, direction: Vector3d, sizeInches: number): Transform | undefined {\r\n const boresite = AccuDrawHintBuilder.getBoresite(base, vp);\r\n if (Math.abs(direction.dotProduct(boresite.direction)) >= 0.99)\r\n return undefined;\r\n\r\n const pixelSize = vp.pixelsFromInches(sizeInches);\r\n const scale = vp.viewingSpace.getPixelSizeAtPoint(base) * pixelSize;\r\n const matrix = Matrix3d.createRigidFromColumns(direction, boresite.direction, AxisOrder.XZY);\r\n if (undefined === matrix)\r\n return undefined;\r\n\r\n matrix.scaleColumnsInPlace(scale, scale, scale);\r\n return Transform.createRefs(base.clone(), matrix);\r\n }\r\n\r\n /** Return array of shape points representing a unit arrow in xy plane pointing in positive x direction. */\r\n public static getArrowShape(baseStart: number = 0.0, baseWidth: number = 0.15, tipStart: number = 0.55, tipEnd: number = 1.0, tipWidth: number = 0.3, flangeStart: number = tipStart, flangeWidth: number = baseWidth): Point3d[] {\r\n const shapePts: Point3d[] = [];\r\n shapePts[0] = Point3d.create(tipEnd, 0.0);\r\n shapePts[1] = Point3d.create(flangeStart, tipWidth);\r\n shapePts[2] = Point3d.create(tipStart, flangeWidth);\r\n shapePts[3] = Point3d.create(baseStart, baseWidth);\r\n shapePts[4] = Point3d.create(baseStart, -baseWidth);\r\n shapePts[5] = Point3d.create(tipStart, -flangeWidth);\r\n shapePts[6] = Point3d.create(flangeStart, -tipWidth);\r\n shapePts[7] = shapePts[0].clone();\r\n return shapePts;\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"EditManipulator.js","sourceRoot":"","sources":["../../../src/tools/EditManipulator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ElementSetTool.js","sourceRoot":"","sources":["../../../src/tools/ElementSetTool.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 Tools\r\n */\r\n\r\nimport { BentleyStatus, CompressedId64Set, Id64, Id64Arg, Id64Array, Id64String, OrderedId64Array } from \"@itwin/core-bentley\";\r\nimport { ColorDef, GeometryContainmentRequestProps, QueryRowFormat } from \"@itwin/core-common\";\r\nimport { ClipPlane, ClipPlaneContainment, ClipPrimitive, ClipUtilities, ClipVector, ConvexClipPlaneSet, Point2d, Point3d, Range2d, Vector3d, XAndY } from \"@itwin/core-geometry\";\r\nimport { AccuDrawHintBuilder } from \"../AccuDraw\";\r\nimport { LocateFilterStatus, LocateResponse } from \"../ElementLocateManager\";\r\nimport { HitDetail } from \"../HitDetail\";\r\nimport { IModelApp } from \"../IModelApp\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { NotifyMessageDetails, OutputMessagePriority } from \"../NotificationManager\";\r\nimport { Pixel } from \"../render/Pixel\";\r\nimport { SelectionSet } from \"../SelectionSet\";\r\nimport { DecorateContext } from \"../ViewContext\";\r\nimport { Viewport } from \"../Viewport\";\r\nimport { ViewRect } from \"../common/ViewRect\";\r\nimport { PrimitiveTool } from \"./PrimitiveTool\";\r\nimport { SelectionMethod } from \"./SelectTool\";\r\nimport { BeButton, BeButtonEvent, BeModifierKeys, CoreTools, EventHandled } from \"./Tool\";\r\nimport { ToolAssistance, ToolAssistanceImage, ToolAssistanceInputMethod, ToolAssistanceInstruction, ToolAssistanceSection } from \"./ToolAssistance\";\r\nimport { ToolSettings } from \"./ToolSettings\";\r\n\r\n/** Identifies the source of the elements in the agenda.\r\n * @public\r\n */\r\nexport enum ModifyElementSource {\r\n /** The source for the element is unknown - not caused by a modification command. */\r\n Unknown = 0,\r\n /** The element is selected by the user. */\r\n Selected = 1,\r\n /** The element is processed because it is in the selection set. */\r\n SelectionSet = 2, // eslint-disable-line @typescript-eslint/no-shadow\r\n /** The element is selected by the user using drag box or crossing line selection. */\r\n DragSelect = 3,\r\n}\r\n\r\n/** Identifies groups of elements added to agenda along with the source.\r\n * @public\r\n */\r\nexport interface GroupMark {\r\n start: number;\r\n source: ModifyElementSource;\r\n}\r\n\r\n/** The ElementAgenda class is used by [[ElementSetTool]] to hold the collection of elements it will operate on\r\n * and to manage their hilite state.\r\n * @see [[ElementSetTool]]\r\n * @public\r\n*/\r\nexport class ElementAgenda {\r\n /** The IDs of the elements in this agenda.\r\n * @note Prefer methods like [[ElementAgenda.add]] instead of modifying directly.\r\n */\r\n public readonly elements: Id64Array = [];\r\n /** The group source identifiers for the elements in this agenda.\r\n * @note Prefer methods like [[ElementAgenda.add]] instead of modifying directly.\r\n */\r\n public readonly groupMarks: GroupMark[] = [];\r\n public manageHiliteState = true; // Whether entries are hilited/unhilited as they are added/removed...\r\n public constructor(public iModel: IModelConnection) { }\r\n\r\n /** Get the source for the last group added to this agenda, if applicable. The \"source\" is merely an indication of what the collection of elements represents. */\r\n public getSource() {\r\n return this.groupMarks.length === 0 ? ModifyElementSource.Unknown : this.groupMarks[this.groupMarks.length - 1].source;\r\n }\r\n\r\n /** Set the source for the last group added to this agenda. */\r\n public setSource(val: ModifyElementSource) {\r\n if (this.groupMarks.length > 0)\r\n this.groupMarks[this.groupMarks.length - 1].source = val;\r\n }\r\n\r\n public get isEmpty() { return this.length === 0; }\r\n public get count() { return this.length; }\r\n public get length() { return this.elements.length; }\r\n\r\n /** Create [[OrderedId64Array]] from agenda. */\r\n public orderIds(): OrderedId64Array {\r\n const ids = new OrderedId64Array();\r\n this.elements.forEach((id) => ids.insert(id));\r\n return ids;\r\n }\r\n\r\n /** Create [[CompressedId64Set]] from agenda. */\r\n public compressIds(): CompressedId64Set {\r\n const ids = this.orderIds();\r\n return CompressedId64Set.compressIds(ids);\r\n }\r\n\r\n /** Empties the agenda and clears hilite state when manageHiliteState is true. */\r\n public clear() {\r\n this.setEntriesHiliteState(false);\r\n this.elements.length = 0;\r\n this.groupMarks.length = 0;\r\n }\r\n\r\n private setEntriesHiliteState(onOff: boolean, groupStart = 0, groupEnd = 0) {\r\n if (!this.manageHiliteState)\r\n return;\r\n\r\n const ss = this.iModel.selectionSet.elements.size > 0 ? this.iModel.selectionSet.elements : undefined;\r\n if (undefined === ss && 0 === groupEnd) {\r\n this.iModel.hilited[onOff ? \"add\" : \"remove\"]({ elements: this.elements });\r\n return;\r\n }\r\n\r\n const shouldChangeHilite = (id: string, index: number) => {\r\n if (undefined !== ss && ss.has(id))\r\n return false; // Don't turn hilite on/off for elements in current selection set...\r\n return (0 === groupEnd || (index >= groupStart && index < groupEnd));\r\n };\r\n\r\n const group = this.elements.filter((id, index) => shouldChangeHilite(id, index));\r\n this.iModel.hilited[onOff ? \"add\" : \"remove\"]({ elements: group });\r\n }\r\n\r\n /** Removes the last group of elements added to this agenda. */\r\n public popGroup() {\r\n if (this.groupMarks.length <= 1) {\r\n this.clear();\r\n return;\r\n }\r\n const group = this.groupMarks.pop();\r\n if (undefined === group)\r\n return;\r\n\r\n this.setEntriesHiliteState(false, group.start, this.length); // make sure removed entries aren't left hilited...\r\n this.elements.splice(group.start);\r\n }\r\n\r\n /** Return true if elementId is already in this agenda. */\r\n public has(id: string) { return this.elements.some((entry) => id === entry); }\r\n\r\n /** Return true if elementId is already in this agenda. */\r\n public find(id: Id64String) { return this.has(id); }\r\n\r\n /** Add elements to this agenda. */\r\n public add(arg: Id64Arg) {\r\n const groupStart = this.length;\r\n for (const id of Id64.iterable(arg))\r\n if (!this.has(id))\r\n this.elements.push(id);\r\n\r\n if (groupStart === this.length)\r\n return false;\r\n\r\n this.groupMarks.push({ start: groupStart, source: ModifyElementSource.Unknown });\r\n this.setEntriesHiliteState(true, groupStart, this.length);\r\n\r\n return true;\r\n }\r\n\r\n private removeOne(id: string) {\r\n let pos = -1;\r\n const elements = this.elements;\r\n const groupMarks = this.groupMarks;\r\n\r\n elements.some((entry, index) => {\r\n if (id !== entry)\r\n return false;\r\n\r\n pos = index;\r\n return true;\r\n });\r\n\r\n if (pos === -1)\r\n return false;\r\n\r\n if (1 === elements.length || (1 === groupMarks.length && ModifyElementSource.DragSelect !== groupMarks[groupMarks.length - 1].source)) {\r\n this.clear();\r\n return true;\r\n }\r\n\r\n const groupIndex = pos;\r\n let groupStart = 0, groupEnd = 0;\r\n let markToErase = 0;\r\n let removeSingleEntry = false;\r\n\r\n for (let iMark = 0; iMark < groupMarks.length; ++iMark) {\r\n if (0 === groupEnd) {\r\n if (iMark + 1 === groupMarks.length) {\r\n markToErase = iMark;\r\n removeSingleEntry = (ModifyElementSource.DragSelect === groupMarks[iMark].source);\r\n groupStart = groupMarks[iMark].start;\r\n groupEnd = elements.length;\r\n } else if (groupMarks[iMark].start <= groupIndex && groupMarks[iMark + 1].start > groupIndex) {\r\n markToErase = iMark;\r\n removeSingleEntry = (ModifyElementSource.DragSelect === groupMarks[iMark].source);\r\n groupStart = groupMarks[iMark].start;\r\n groupEnd = groupMarks[iMark + 1].start;\r\n }\r\n\r\n continue;\r\n }\r\n\r\n if (removeSingleEntry)\r\n groupMarks[iMark].start -= 1; // Only removing single entry, not entire group...\r\n else\r\n groupMarks[iMark].start -= (groupEnd - groupStart); // Adjust indices...\r\n }\r\n\r\n if (removeSingleEntry) { // Only remove single entry...\r\n this.setEntriesHiliteState(false, groupIndex, groupIndex + 1); // make sure removed entry isn't left hilited...\r\n\r\n elements.splice(groupIndex, 1);\r\n\r\n if (groupEnd === groupStart + 1)\r\n groupMarks.splice(markToErase, 1);\r\n\r\n return true;\r\n }\r\n\r\n this.setEntriesHiliteState(false, groupStart, groupEnd); // make sure removed entries aren't left hilited...\r\n\r\n elements.splice(groupStart, groupEnd - groupStart);\r\n groupMarks.splice(markToErase, 1);\r\n return true;\r\n }\r\n\r\n public remove(arg: Id64Arg) {\r\n if (0 === this.length)\r\n return false;\r\n\r\n if (0 === Id64.sizeOf(arg))\r\n return false;\r\n\r\n let changed = false;\r\n for (const elId of Id64.iterable(arg))\r\n if (this.removeOne(elId))\r\n changed = true; // NOTE: Removes group associated with this element, not just a single entry...\r\n\r\n return changed;\r\n }\r\n\r\n /** Add elements not currently in the agenda and remove elements currently in the agenda. */\r\n public invert(arg: Id64Arg) {\r\n if (0 === this.length)\r\n return this.add(arg);\r\n\r\n if (0 === Id64.sizeOf(arg))\r\n return false;\r\n\r\n const adds: string[] = [];\r\n const removes: string[] = [];\r\n for (const id of Id64.iterable(arg)) {\r\n if (this.has(id))\r\n removes.push(id);\r\n else\r\n adds.push(id);\r\n }\r\n\r\n if (adds.length === 0 && removes.length === 0)\r\n return false;\r\n\r\n removes.forEach((id) => this.removeOne(id));\r\n\r\n if (adds.length > 0) {\r\n const groupStart = this.length;\r\n adds.forEach((id) => this.elements.push(id));\r\n this.groupMarks.push({ start: groupStart, source: ModifyElementSource.Unknown });\r\n\r\n this.setEntriesHiliteState(true, groupStart, this.length); // make sure added entries are hilited (when not also removing)...\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n\r\n/** The ElementSetTool class is a specialization of [[PrimitiveTool]] designed to unify operations on sets of elements.\r\n * Use to query or modify existing elements as well as to create new elements from existing elements.\r\n * Basic tool sequence:\r\n * - Populate [[ElementSetTool.agenda]] with the element ids to query or modify.\r\n * - Gather any additional input and if requested, enable dynamics to preview result.\r\n * - Call [[ElementSetTool.processAgenda]] to apply operation to [[ElementSetTool.agenda]].\r\n * - Call [[ElementSetTool.onProcessComplete]] to restart or exit.\r\n * Common element sources:\r\n * - Pre-selected elements from an active [[SelectionSet]].\r\n * - Clicking in a view to identify elements using [[ElementLocateManager]].\r\n * - Drag box and crossing line selection.\r\n * Default behavior:\r\n * - Identify a single element with left-click.\r\n * - Immediately apply operation.\r\n * - Restart.\r\n * Sub-classes are required to opt-in to additional element sources, dynamics, AccuSnap, additional input, etc.\r\n * @public\r\n */\r\nexport abstract class ElementSetTool extends PrimitiveTool {\r\n private _agenda?: ElementAgenda;\r\n private _useSelectionSet: boolean = false;\r\n private _processDataButtonUp: boolean = false;\r\n /** The accept point for a selection set, drag select, or final located element. */\r\n protected anchorPoint?: Point3d;\r\n /** The button down location that initiated box or crossing line selection. */\r\n protected dragStartPoint?: Point3d;\r\n\r\n /** Get the [[ElementAgenda]] the tool will operate on. */\r\n protected get agenda(): ElementAgenda {\r\n if (undefined === this._agenda)\r\n this._agenda = new ElementAgenda(this.iModel);\r\n return this._agenda;\r\n }\r\n\r\n /** Convenience method to get current count from [[ElementSetTool.agenda]]. */\r\n protected get currentElementCount(): number { return undefined !== this._agenda ? this._agenda.count : 0; }\r\n\r\n /** Minimum required number of elements for tool to be able to complete.\r\n * @return number to compare with [[ElementSetTool.currentElementCount]] to determine if more elements remain to be identified.\r\n * @note A tool to subtract elements is an example where returning 2 would be necessary.\r\n */\r\n protected get requiredElementCount(): number { return 1; }\r\n\r\n /** Whether to allow element identification by drag box or crossing line selection.\r\n * @return true to allow drag select as an element source when the ctrl key is down.\r\n * @note Use ctrl+left drag for box selection. Inside/overlap is based on left/right direction (shift key inverts).\r\n * @note Use ctrl+right drag for crossing line selection.\r\n */\r\n protected get allowDragSelect(): boolean { return false; }\r\n\r\n /** Support operations on groups/assemblies independent of selection scope.\r\n * @return true to add or remove all members of an assembly from [[ElementSetTool.agenda]] when any single member is identified.\r\n * @note Applies to [[ElementSetTool.getLocateCandidates]] only.\r\n */\r\n protected get allowGroups(): boolean { return false; }\r\n\r\n /** Whether [[ElementSetTool.agenda]] should be populated from an active selection set.\r\n * @return true to allow selection sets as an element source.\r\n * @note A selection set must have at least [[ElementSetTool.requiredElementCount]] elements to be considered.\r\n */\r\n protected get allowSelectionSet(): boolean { return false; }\r\n\r\n /** Whether to clear the active selection set for tools that return false for [[ElementSetTool.allowSelectionSet]].\r\n * @return true to clear unsupported selection sets (desired default behavior).\r\n * @note It is expected that the selection set be cleared before using [[ElementLocateManager]] to identify elements.\r\n * This allows the element hilite to be a visual representation of the [[ElementSetTool.agenda]] contents.\r\n */\r\n protected get clearSelectionSet(): boolean { return !this.allowSelectionSet; }\r\n\r\n /** Whether a selection set should be processed immediately upon installation or require a data button to accept.\r\n * @return false only for tools without settings or a need for confirmation.\r\n * @note A tool to delete elements is an example where returning false could be desirable.\r\n */\r\n protected get requireAcceptForSelectionSetOperation(): boolean { return true; }\r\n\r\n /** Whether to begin dynamics for a selection set immediately or wait for a data button.\r\n * @return false for tools that can start showing dynamics without any additional input.\r\n * @note A tool to rotate elements by an active angle setting is an example where returning false could be desirable.\r\n */\r\n protected get requireAcceptForSelectionSetDynamics(): boolean { return true; }\r\n\r\n /** Whether original source of elements being modified was the active selection set.\r\n * @return true when [[ElementSetTool.allowSelectionSet]] and active selection set count >= [[ElementSetTool.requiredElementCount]].\r\n */\r\n protected get isSelectionSetModify(): boolean { return this._useSelectionSet; }\r\n\r\n /** Whether drag box or crossing line selection is currently active.\r\n * @return true when [[ElementSetTool.allowDragSelect]] and corner points are currently being defined.\r\n */\r\n protected get isSelectByPoints(): boolean { return undefined !== this.dragStartPoint; }\r\n\r\n /** Whether to continue selection of additional elements by holding the ctrl key down.\r\n * @return true to continue the element identification phase beyond [[ElementSetTool.requiredElementCount]] by holding down the ctrl key.\r\n */\r\n protected get controlKeyContinuesSelection(): boolean { return false; }\r\n\r\n /** Whether to invert selection of elements identified with the ctrl key held down.\r\n * @return true to allow ctrl to deselect already selected elements.\r\n */\r\n protected get controlKeyInvertsSelection(): boolean { return this.controlKeyContinuesSelection; }\r\n\r\n /** Whether [[ElementSetTool.setupAndPromptForNextAction]] should call [[AccuSnap.enableSnap]] for current tool phase.\r\n * @return true to enable snapping to elements.\r\n * @note A tool that just needs to identify elements and doesn't care about location should not enable snapping.\r\n */\r\n protected get wantAccuSnap(): boolean { return false; }\r\n\r\n /** Whether to automatically start element dynamics after all required elements have been identified.\r\n * @return true if tool will implement [[InteractiveTool.onDynamicFrame]] to show element dynamics.\r\n */\r\n protected get wantDynamics(): boolean { return false; }\r\n\r\n /** Whether tool is done identifying elements and is ready to move to the next phase.\r\n * @return true when [[ElementSetTool.requiredElementCount]] is not yet satisfied or ctrl key is being used to extend selection.\r\n */\r\n protected get wantAdditionalElements(): boolean {\r\n if (this.isSelectionSetModify)\r\n return false;\r\n\r\n if (this.currentElementCount < this.requiredElementCount)\r\n return true;\r\n\r\n // A defined anchor indicates input collection phase has begun and ctrl should no longer extend selection...\r\n return undefined === this.anchorPoint && this.controlKeyContinuesSelection && this.isControlDown;\r\n }\r\n\r\n /** Whether the tool has gathered enough input to call [[ElementSetTool.processAgenda]].\r\n * Sub-classes should override to check for additional point input they collected in [[ElementSetTool.wantProcessAgenda]].\r\n * @return true if tool does not yet have enough information to complete.\r\n * @note When [[ElementSetTool.wantDynamics]] is true an additional point is automatically required to support the dynamic preview.\r\n */\r\n protected get wantAdditionalInput(): boolean { return (!this.isDynamicsStarted && this.wantDynamics); }\r\n\r\n /** Whether the tool is ready for [[ElementSetTool.processAgenda]] to be called to complete the tool operation.\r\n * Sub-classes should override to collect additional point input before calling super or [[ElementSetTool.wantAdditionalInput]].\r\n * @return true if tool has enough information and is ready to complete.\r\n */\r\n protected wantProcessAgenda(_ev: BeButtonEvent): boolean { return !this.wantAdditionalInput; }\r\n\r\n /** Whether tool should operate on an existing selection set or instead prompt user to identity elements.\r\n * Unsupported selection sets will be cleared when [[ElementSetTool.clearSelectionSet]] is true.\r\n */\r\n protected setPreferredElementSource(): void {\r\n this._useSelectionSet = false;\r\n if (!this.iModel.selectionSet.isActive)\r\n return;\r\n\r\n const isSelectionSetValid = (): boolean => {\r\n if (0 === this.iModel.selectionSet.elements.size) {\r\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, CoreTools.translate(\"ElementSet.Error.ActiveSSWithoutElems\")));\r\n return false;\r\n }\r\n\r\n return (this.iModel.selectionSet.elements.size >= this.requiredElementCount);\r\n };\r\n\r\n if (this.allowSelectionSet && isSelectionSetValid())\r\n this._useSelectionSet = true;\r\n else if (this.clearSelectionSet)\r\n this.iModel.selectionSet.emptyAll();\r\n }\r\n\r\n /** Get element ids to process from the active selection set.\r\n * Sub-classes may override to support selection scopes or apply tool specific filtering.\r\n */\r\n protected async getSelectionSetCandidates(ss: SelectionSet): Promise<Id64Arg> {\r\n const ids = new Set<Id64String>();\r\n ss.elements.forEach((val) => {\r\n if (this.isElementIdValid(val, ModifyElementSource.SelectionSet))\r\n ids.add(val);\r\n });\r\n\r\n return ids;\r\n }\r\n\r\n /** Populate [[ElementSetTool.agenda]] from a [[SelectionSet]].\r\n * @see [[ElementSetTool.getSelectionSetCandidates]] to filter or augment the set of elements.\r\n */\r\n protected async buildSelectionSetAgenda(ss: SelectionSet): Promise<boolean> {\r\n const candidates = await this.getSelectionSetCandidates(ss);\r\n\r\n if (Id64.sizeOf(candidates) < this.requiredElementCount || !this.agenda.add(candidates)) {\r\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, CoreTools.translate(\"ElementSet.Error.NoSSElems\")));\r\n return false;\r\n }\r\n\r\n this.agenda.setSource(ModifyElementSource.SelectionSet);\r\n await this.onAgendaModified();\r\n return true;\r\n }\r\n\r\n /** If the supplied element is part of an assembly, return all member ids. */\r\n protected async getGroupIds(id: Id64String): Promise<Id64Arg> {\r\n const ids = new Set<Id64String>();\r\n ids.add(id);\r\n\r\n try {\r\n // When assembly parent is selected, pick all geometric elements with it as the parent.\r\n // When assembly member is selected, pick the parent as well as all the other members.\r\n const ecsql = `SELECT ECInstanceId as id, Parent.Id as parentId FROM BisCore.GeometricElement WHERE Parent.Id IN (SELECT Parent.Id as parentId FROM BisCore.GeometricElement WHERE (parent.Id IS NOT NULL AND ECInstanceId IN (${id})) OR parent.Id IN (${id}))`;\r\n for await (const row of this.iModel.createQueryReader(ecsql, undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames })) {\r\n ids.add(row.parentId as Id64String);\r\n ids.add(row.id as Id64String);\r\n }\r\n } catch { }\r\n\r\n return ids;\r\n }\r\n\r\n /** Get element id(s) to process from a [[HitDetail]] already accepted by [[ElementSetTool.isElementValidForOperation]].\r\n * Sub-classes may override to support selection scopes.\r\n */\r\n protected async getLocateCandidates(hit: HitDetail): Promise<Id64Arg> {\r\n if (!this.allowGroups)\r\n return hit.sourceId;\r\n\r\n return this.getGroupIds(hit.sourceId);\r\n }\r\n\r\n /** Populate [[ElementSetTool.agenda]] from a [[HitDetail]].\r\n * @see [[ElementSetTool.getLocateCandidates]] to add additional elements.\r\n */\r\n protected async buildLocateAgenda(hit: HitDetail): Promise<boolean> {\r\n if (this.agenda.find(hit.sourceId)) {\r\n if (this.isControlDown && this.controlKeyInvertsSelection && this.agenda.remove(hit.sourceId)) {\r\n await this.onAgendaModified();\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n const candidates = await this.getLocateCandidates(hit);\r\n\r\n if (!this.agenda.add(candidates))\r\n return false;\r\n\r\n this.agenda.setSource(ModifyElementSource.Selected);\r\n await this.onAgendaModified();\r\n return true;\r\n }\r\n\r\n /** Get ids of spatial elements to process from a clip volume created by drag box selection. */\r\n private static async getVolumeSelectionCandidates(vp: Viewport, origin: XAndY, corner: XAndY, allowOverlaps: boolean, filter?: (id: Id64String) => boolean): Promise<Set<Id64String>> {\r\n const contents = new Set<Id64String>();\r\n if (!vp.view.isSpatialView())\r\n return contents;\r\n\r\n const boxRange = Range2d.createXYXY(origin.x, origin.y, corner.x, corner.y);\r\n if (boxRange.isNull || boxRange.isAlmostZeroX || boxRange.isAlmostZeroY)\r\n return contents;\r\n\r\n const getClipPlane = (viewPt: Point2d, viewDir: Vector3d, negate: boolean): ClipPlane | undefined => {\r\n const point = vp.viewToWorld(Point3d.createFrom(viewPt));\r\n const boresite = AccuDrawHintBuilder.getBoresite(point, vp);\r\n const normal = viewDir.crossProduct(boresite.direction);\r\n\r\n if (negate)\r\n normal.negate(normal);\r\n\r\n return ClipPlane.createNormalAndPoint(normal, point)\r\n };\r\n\r\n const planeSet = ConvexClipPlaneSet.createEmpty();\r\n\r\n planeSet.addPlaneToConvexSet(getClipPlane(boxRange.low, vp.rotation.rowX(), true));\r\n planeSet.addPlaneToConvexSet(getClipPlane(boxRange.low, vp.rotation.rowY(), true));\r\n planeSet.addPlaneToConvexSet(getClipPlane(boxRange.high, vp.rotation.rowX(), false));\r\n planeSet.addPlaneToConvexSet(getClipPlane(boxRange.high, vp.rotation.rowY(), false));\r\n\r\n if (0 === planeSet.planes.length)\r\n return contents;\r\n\r\n const clip = ClipVector.createCapture([ClipPrimitive.createCapture(planeSet)]);\r\n const viewRange = vp.computeViewRange();\r\n const range = ClipUtilities.rangeOfClipperIntersectionWithRange(clip, viewRange);\r\n\r\n if (range.isNull)\r\n return contents;\r\n\r\n // TODO: Possible to make UnionOfComplexClipPlaneSets from view clip and planes work and remove 2nd containment check?\r\n const viewClip = (vp.viewFlags.clipVolume ? vp.view.getViewClip()?.clone() : undefined);\r\n if (viewClip) {\r\n const viewClipRange = ClipUtilities.rangeOfClipperIntersectionWithRange(viewClip, viewRange);\r\n if (viewClipRange.isNull || !viewClipRange.intersectsRange(range))\r\n return contents;\r\n }\r\n\r\n const candidates: Id64Array = [];\r\n const categories = new Set<Id64String>();\r\n\r\n try {\r\n const viewedModels = [...vp.view.modelSelector.models].join(\",\");\r\n const viewedCategories = [...vp.view.categorySelector.categories].join(\",\");\r\n const ecsql = `SELECT e.ECInstanceId, Category.Id as category FROM bis.SpatialElement e JOIN bis.SpatialIndex i ON e.ECInstanceId=i.ECInstanceId WHERE Model.Id IN (${viewedModels}) AND Category.Id IN (${viewedCategories}) AND i.MinX <= ${range.xHigh} AND i.MinY <= ${range.yHigh} AND i.MinZ <= ${range.zHigh} AND i.MaxX >= ${range.xLow} AND i.MaxY >= ${range.yLow} AND i.MaxZ >= ${range.zLow}`;\r\n const reader = vp.iModel.createQueryReader(ecsql, undefined, { rowFormat: QueryRowFormat.UseECSqlPropertyNames });\r\n\r\n for await (const row of reader) {\r\n candidates.push(row.ECInstanceId);\r\n categories.add(row.category);\r\n }\r\n } catch { }\r\n\r\n if (0 === candidates.length)\r\n return contents;\r\n\r\n let offSubCategories: Id64Array | undefined;\r\n if (0 !== categories.size) {\r\n for (const categoryId of categories) {\r\n const subcategories = vp.iModel.subcategories.getSubCategories(categoryId);\r\n if (undefined === subcategories)\r\n continue;\r\n\r\n for (const subCategoryId of subcategories) {\r\n const appearance = vp.iModel.subcategories.getSubCategoryAppearance(subCategoryId);\r\n if (undefined === appearance || (!appearance.invisible && !appearance.dontLocate))\r\n continue;\r\n\r\n if (undefined === offSubCategories)\r\n offSubCategories = new Array<Id64String>;\r\n offSubCategories.push(subCategoryId);\r\n }\r\n }\r\n }\r\n\r\n const requestProps: GeometryContainmentRequestProps = {\r\n candidates,\r\n clip: clip.toJSON(),\r\n allowOverlaps,\r\n viewFlags: vp.viewFlags.toJSON(),\r\n offSubCategories,\r\n };\r\n\r\n const result = await vp.iModel.getGeometryContainment(requestProps);\r\n if (BentleyStatus.SUCCESS !== result.status || undefined === result.candidatesContainment)\r\n return contents;\r\n\r\n result.candidatesContainment.forEach((status: ClipPlaneContainment, index: number) => {\r\n if (ClipPlaneContainment.StronglyOutside !== status && (undefined === filter || filter(candidates[index])))\r\n contents.add(candidates[index]);\r\n });\r\n\r\n if (0 !== contents.size && viewClip) {\r\n requestProps.clip = viewClip.toJSON();\r\n requestProps.candidates.length = 0;\r\n for (const id of contents)\r\n requestProps.candidates.push(id);\r\n contents.clear();\r\n\r\n const resultViewClip = await vp.iModel.getGeometryContainment(requestProps);\r\n if (BentleyStatus.SUCCESS !== resultViewClip.status || undefined === resultViewClip.candidatesContainment)\r\n return contents;\r\n\r\n resultViewClip.candidatesContainment.forEach((status: ClipPlaneContainment, index: number) => {\r\n if (ClipPlaneContainment.StronglyOutside !== status)\r\n contents.add(candidates[index]);\r\n });\r\n }\r\n\r\n return contents;\r\n }\r\n\r\n /** Get ids of visible elements to process from drag box or crossing line selection. */\r\n private static getAreaSelectionCandidates(vp: Viewport, origin: XAndY, corner: XAndY, method: SelectionMethod, allowOverlaps: boolean, filter?: (id: Id64String) => boolean): Set<Id64String> {\r\n let contents = new Set<Id64String>();\r\n\r\n const pts: Point2d[] = [];\r\n pts[0] = new Point2d(Math.floor(origin.x + 0.5), Math.floor(origin.y + 0.5));\r\n pts[1] = new Point2d(Math.floor(corner.x + 0.5), Math.floor(corner.y + 0.5));\r\n const range = Range2d.createArray(pts);\r\n\r\n const rect = new ViewRect();\r\n rect.initFromRange(range);\r\n vp.readPixels(rect, Pixel.Selector.Feature, (pixels) => {\r\n if (undefined === pixels)\r\n return;\r\n\r\n const sRange = Range2d.createNull();\r\n sRange.extendPoint(Point2d.create(vp.cssPixelsToDevicePixels(range.low.x), vp.cssPixelsToDevicePixels(range.low.y)));\r\n sRange.extendPoint(Point2d.create(vp.cssPixelsToDevicePixels(range.high.x), vp.cssPixelsToDevicePixels(range.high.y)));\r\n\r\n pts[0].x = vp.cssPixelsToDevicePixels(pts[0].x);\r\n pts[0].y = vp.cssPixelsToDevicePixels(pts[0].y);\r\n\r\n pts[1].x = vp.cssPixelsToDevicePixels(pts[1].x);\r\n pts[1].y = vp.cssPixelsToDevicePixels(pts[1].y);\r\n\r\n const testPoint = Point2d.createZero();\r\n\r\n const getPixelElementId = (pixel: Pixel.Data) => {\r\n if (undefined === pixel.elementId || Id64.isInvalid(pixel.elementId))\r\n return undefined; // no geometry at this location...\r\n\r\n if (!vp.isPixelSelectable(pixel))\r\n return undefined; // reality model, terrain, etc - not selectable\r\n\r\n if (undefined !== filter && !filter(pixel.elementId))\r\n return undefined;\r\n\r\n return pixel.elementId;\r\n };\r\n\r\n if (SelectionMethod.Box === method) {\r\n const outline = allowOverlaps ? undefined : new Set<string>();\r\n const offset = sRange.clone();\r\n offset.expandInPlace(-2);\r\n for (testPoint.x = sRange.low.x; testPoint.x <= sRange.high.x; ++testPoint.x) {\r\n for (testPoint.y = sRange.low.y; testPoint.y <= sRange.high.y; ++testPoint.y) {\r\n const pixel = pixels.getPixel(testPoint.x, testPoint.y);\r\n const elementId = getPixelElementId(pixel);\r\n if (undefined === elementId)\r\n continue;\r\n\r\n if (undefined !== outline && !offset.containsPoint(testPoint))\r\n outline.add(elementId.toString());\r\n else\r\n contents.add(elementId.toString());\r\n }\r\n }\r\n if (undefined !== outline && 0 !== outline.size) {\r\n const inside = new Set<string>();\r\n contents.forEach((id) => {\r\n if (!outline.has(id))\r\n inside.add(id);\r\n });\r\n\r\n contents = inside;\r\n }\r\n } else {\r\n const closePoint = Point2d.createZero();\r\n for (testPoint.x = sRange.low.x; testPoint.x <= sRange.high.x; ++testPoint.x) {\r\n for (testPoint.y = sRange.low.y; testPoint.y <= sRange.high.y; ++testPoint.y) {\r\n const pixel = pixels.getPixel(testPoint.x, testPoint.y);\r\n const elementId = getPixelElementId(pixel);\r\n if (undefined === elementId)\r\n continue;\r\n\r\n const fraction = testPoint.fractionOfProjectionToLine(pts[0], pts[1], 0.0);\r\n pts[0].interpolate(fraction, pts[1], closePoint);\r\n if (closePoint.distance(testPoint) < 1.5)\r\n contents.add(elementId.toString());\r\n }\r\n }\r\n }\r\n }, true);\r\n\r\n return contents;\r\n }\r\n\r\n /** Get ids of elements to process from drag box or crossing line selection using either the depth buffer or clip vector...\r\n * @internal\r\n */\r\n public static async getAreaOrVolumeSelectionCandidates(vp: Viewport, origin: XAndY, corner: XAndY, method: SelectionMethod, allowOverlaps: boolean, filter?: (id: Id64String) => boolean, includeDecorationsForVolume?: boolean): Promise<Set<Id64String>> {\r\n let contents;\r\n\r\n if (ToolSettings.enableVolumeSelection && SelectionMethod.Box === method && vp.view.isSpatialView()) {\r\n contents = await ElementSetTool.getVolumeSelectionCandidates(vp, origin, corner, allowOverlaps, filter);\r\n\r\n // Use area select to identify pickable transients...\r\n if (includeDecorationsForVolume) {\r\n const acceptTransientsFilter = (id: Id64String) => { return Id64.isTransient(id) && (undefined === filter || filter(id)); };\r\n const transients = ElementSetTool.getAreaSelectionCandidates(vp, origin, corner, method, allowOverlaps, acceptTransientsFilter);\r\n for (const id of transients)\r\n contents.add(id);\r\n }\r\n } else {\r\n contents = ElementSetTool.getAreaSelectionCandidates(vp, origin, corner, method, allowOverlaps, filter);\r\n }\r\n\r\n return contents;\r\n }\r\n\r\n /** Get element ids to process from drag box or crossing line selection.\r\n * Sub-classes may override to support selection scopes or apply tool specific filtering.\r\n */\r\n protected async getDragSelectCandidates(vp: Viewport, origin: Point3d, corner: Point3d, method: SelectionMethod, overlap: boolean): Promise<Id64Arg> {\r\n const filter = (id: Id64String) => { return this.isElementIdValid(id, ModifyElementSource.DragSelect); };\r\n return ElementSetTool.getAreaOrVolumeSelectionCandidates(vp, origin, corner, method, overlap, filter, IModelApp.locateManager.options.allowDecorations);\r\n }\r\n\r\n /** Populate [[ElementSetTool.agenda]] by drag box or crossing line information.\r\n * @see [[ElementSetTool.getDragSelectCandidates]] to filter or augment the set of elements.\r\n */\r\n protected async buildDragSelectAgenda(vp: Viewport, origin: Point3d, corner: Point3d, method: SelectionMethod, overlap: boolean): Promise<boolean> {\r\n const candidates = await this.getDragSelectCandidates(vp, origin, corner, method, overlap);\r\n\r\n if (!this.isControlDown || !this.controlKeyInvertsSelection) {\r\n if (!this.agenda.add(candidates))\r\n return false;\r\n } else {\r\n if (!this.agenda.invert(candidates))\r\n return false;\r\n }\r\n\r\n if (ModifyElementSource.Unknown === this.agenda.getSource())\r\n this.agenda.setSource(ModifyElementSource.DragSelect); // Don't set source if invert only removed entries...\r\n\r\n await this.onAgendaModified();\r\n return true;\r\n }\r\n\r\n /** Quick id validity check. Sub-classes that wish to allow pickable decorations from selection sets can override. */\r\n protected isElementIdValid(id: Id64String, source: ModifyElementSource): boolean {\r\n switch (source) {\r\n case ModifyElementSource.Selected:\r\n return true; // Locate options already checked prior to calling isElementValidForOperation...\r\n case ModifyElementSource.SelectionSet:\r\n return (!Id64.isInvalid(id) && !Id64.isTransient(id)); // Locate options are invalid, locate isn't enabled when processing a selection set...\r\n case ModifyElementSource.DragSelect:\r\n return (!Id64.isInvalid(id) && (IModelApp.locateManager.options.allowDecorations || !Id64.isTransient(id))); // Locate options are valid but have not yet been checked...\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n /** Sub-classes should override to apply tool specific filtering and to provide an explanation for rejection. */\r\n protected async isElementValidForOperation(hit: HitDetail, _out?: LocateResponse): Promise<boolean> {\r\n return this.isElementIdValid(hit.sourceId, ModifyElementSource.Selected);\r\n }\r\n\r\n /** Called from [[ElementSetTool.doLocate]] as well as auto-locate to accept or reject elements under the cursor. */\r\n public override async filterHit(hit: HitDetail, out?: LocateResponse): Promise<LocateFilterStatus> {\r\n // Support deselect using control key and don't show \"not\" cursor over an already selected element...\r\n if (undefined !== this._agenda && this._agenda.find(hit.sourceId)) {\r\n const status = (this.isControlDown || !this.controlKeyInvertsSelection) ? LocateFilterStatus.Accept : LocateFilterStatus.Reject;\r\n if (out && LocateFilterStatus.Reject === status)\r\n out.explanation = CoreTools.translate(`ElementSet.Error.AlreadySelected`);\r\n return status;\r\n }\r\n\r\n return await this.isElementValidForOperation(hit, out) ? LocateFilterStatus.Accept : LocateFilterStatus.Reject;\r\n }\r\n\r\n /** Identify an element and update the element agenda.\r\n * @param newSearch true to locate new elements, false to cycle between elements within locate tolerance from a previous locate.\r\n * @return true if [[ElementSetTool.agenda]] was changed.\r\n */\r\n protected async doLocate(ev: BeButtonEvent, newSearch: boolean): Promise<boolean> {\r\n const hit = await IModelApp.locateManager.doLocate(new LocateResponse(), newSearch, ev.point, ev.viewport, ev.inputSource);\r\n\r\n if (newSearch)\r\n return (undefined !== hit && this.buildLocateAgenda(hit));\r\n\r\n // If next element is already in agenda (part of a group, etc.) don't re-add group...\r\n const addNext = (undefined !== hit && !this.agenda.has(hit.sourceId));\r\n this.agenda.popGroup();\r\n\r\n if (!addNext || !await this.buildLocateAgenda(hit))\r\n await this.onAgendaModified(); // only change was popGroup...\r\n\r\n return true;\r\n }\r\n\r\n /** Whether drag box selection only identifies elements that are wholly inside or also allows those that overlap\r\n * the selection rectangle.\r\n * @note Inside/overlap is based on left/right direction of corner points (shift key inverts check).\r\n */\r\n protected useOverlapSelection(ev: BeButtonEvent): boolean {\r\n if (undefined === ev.viewport || undefined === this.dragStartPoint)\r\n return false;\r\n const pt1 = ev.viewport.worldToView(this.dragStartPoint);\r\n const pt2 = ev.viewport.worldToView(ev.point);\r\n const overlapMode = (pt1.x > pt2.x);\r\n return (ev.isShiftKey ? !overlapMode : overlapMode); // Shift inverts inside/overlap selection...\r\n }\r\n\r\n /** Initiate tool state for start of drag selection. */\r\n protected async selectByPointsStart(ev: BeButtonEvent): Promise<boolean> {\r\n if (BeButton.Data !== ev.button && BeButton.Reset !== ev.button)\r\n return false;\r\n\r\n if (!ev.isControlKey || !this.allowDragSelect || !this.wantAdditionalElements)\r\n return false;\r\n\r\n this.dragStartPoint = ev.point.clone();\r\n this.setupAndPromptForNextAction();\r\n return true;\r\n }\r\n\r\n /** Finish drag selection and update [[ElementSetTool.agenda]] with any elements that may have been identified. */\r\n protected async selectByPointsEnd(ev: BeButtonEvent): Promise<boolean> {\r\n if (undefined === this.dragStartPoint)\r\n return false;\r\n\r\n const vp = ev.viewport;\r\n if (vp === undefined) {\r\n this.dragStartPoint = undefined;\r\n this.setupAndPromptForNextAction();\r\n return false;\r\n }\r\n\r\n const origin = vp.worldToView(this.dragStartPoint);\r\n const corner = vp.worldToView(ev.point);\r\n if (BeButton.Reset === ev.button)\r\n await this.buildDragSelectAgenda(vp, origin, corner, SelectionMethod.Line, true);\r\n else\r\n await this.buildDragSelectAgenda(vp, origin, corner, SelectionMethod.Box, this.useOverlapSelection(ev));\r\n\r\n this.dragStartPoint = undefined;\r\n this.setupAndPromptForNextAction();\r\n vp.invalidateDecorations();\r\n return true;\r\n }\r\n\r\n /** Display drag box and crossing line selection graphics. */\r\n protected selectByPointsDecorate(context: DecorateContext): void {\r\n if (undefined === this.dragStartPoint)\r\n return;\r\n\r\n const ev = new BeButtonEvent();\r\n IModelApp.toolAdmin.fillEventFromCursorLocation(ev);\r\n if (undefined === ev.viewport)\r\n return;\r\n\r\n const vp = context.viewport;\r\n const bestContrastIsBlack = (ColorDef.black === vp.getContrastToBackgroundColor());\r\n const crossingLine = (BeButton.Reset === ev.button);\r\n const overlapSelection = (crossingLine || this.useOverlapSelection(ev));\r\n\r\n const position = vp.worldToView(this.dragStartPoint);\r\n position.x = Math.floor(position.x) + 0.5;\r\n position.y = Math.floor(position.y) + 0.5;\r\n const position2 = vp.worldToView(ev.point);\r\n position2.x = Math.floor(position2.x) + 0.5;\r\n position2.y = Math.floor(position2.y) + 0.5;\r\n const offset = position2.minus(position);\r\n\r\n const drawDecoration = (ctx: CanvasRenderingContext2D) => {\r\n ctx.strokeStyle = bestContrastIsBlack ? \"black\" : \"white\";\r\n ctx.lineWidth = 1;\r\n if (overlapSelection)\r\n ctx.setLineDash([5, 5]);\r\n\r\n if (crossingLine) {\r\n ctx.beginPath();\r\n ctx.moveTo(0, 0);\r\n ctx.lineTo(offset.x, offset.y);\r\n ctx.stroke();\r\n } else {\r\n ctx.strokeRect(0, 0, offset.x, offset.y);\r\n ctx.fillStyle = bestContrastIsBlack ? \"rgba(0,0,0,.06)\" : \"rgba(255,255,255,.06)\";\r\n ctx.fillRect(0, 0, offset.x, offset.y);\r\n }\r\n };\r\n context.addCanvasDecoration({ position, drawDecoration });\r\n }\r\n\r\n /** Show graphics for when drag selection is active. */\r\n public override decorate(context: DecorateContext): void { this.selectByPointsDecorate(context); }\r\n\r\n /** Make sure drag selection graphics are updated when mouse moves. */\r\n public override async onMouseMotion(ev: BeButtonEvent): Promise<void> {\r\n if (undefined !== ev.viewport && this.isSelectByPoints)\r\n ev.viewport.invalidateDecorations();\r\n }\r\n\r\n /** Support initiating drag selection on mouse start drag event when [[ElementSetTool.allowDragSelect]] is true. */\r\n public override async onMouseStartDrag(ev: BeButtonEvent): Promise<EventHandled> {\r\n if (await this.selectByPointsStart(ev))\r\n return EventHandled.Yes;\r\n return super.onMouseStartDrag(ev);\r\n }\r\n\r\n /** Support completing active drag selection on mouse end drag event and update [[ElementSetTool.agenda]]. */\r\n public override async onMouseEndDrag(ev: BeButtonEvent): Promise<EventHandled> {\r\n if (await this.selectByPointsEnd(ev))\r\n return EventHandled.Yes;\r\n return super.onMouseEndDrag(ev);\r\n }\r\n\r\n /** Update prompts, cursor, graphics, etc. as appropriate on ctrl and shift key transitions. */\r\n public override async onModifierKeyTransition(_wentDown: boolean, modifier: BeModifierKeys, _event: KeyboardEvent): Promise<EventHandled> {\r\n if (this.isSelectionSetModify)\r\n return EventHandled.No;\r\n\r\n if (this.isSelectByPoints)\r\n return (BeModifierKeys.Shift === modifier ? EventHandled.Yes : EventHandled.No);\r\n\r\n if (BeModifierKeys.Control !== modifier || undefined !== this.anchorPoint || !this.controlKeyContinuesSelection)\r\n return EventHandled.No;\r\n\r\n if (this.currentElementCount < this.requiredElementCount && !this.wantAccuSnap)\r\n return EventHandled.No; // Can only early return if AccuSnap doesn't need to be disabled for ctrl selection...\r\n\r\n this.setupAndPromptForNextAction(); // Enable/disable auto-locate, AccuSnap, update prompts...\r\n return EventHandled.Yes;\r\n }\r\n\r\n /** Allow reset to cycle between elements identified for overlapping the locate circle.\r\n * Advances to next pre-located hit from [[AccuSnap.aSnapHits]] or changes last accepted hit to next hit from [[ElementLocateManger.hitList]].\r\n * @returns EventHandled.Yes if onReinitialize was called to restart or exit tool.\r\n */\r\n protected async chooseNextHit(ev: BeButtonEvent): Promise<EventHandled> {\r\n if (this.isSelectionSetModify) {\r\n await this.onReinitialize();\r\n return EventHandled.Yes;\r\n }\r\n\r\n if (0 !== this.currentElementCount) {\r\n let autoLocateChooseNext = false;\r\n\r\n if (this.wantAdditionalElements) {\r\n const lastHit = IModelApp.locateManager.currHit;\r\n const autoHit = IModelApp.accuSnap.currHit;\r\n\r\n // Choose next using auto-locate or normal locate?\r\n if (undefined !== autoHit && (undefined === lastHit || !autoHit.isSameHit(lastHit)))\r\n autoLocateChooseNext = true;\r\n }\r\n\r\n if (!autoLocateChooseNext) {\r\n await this.doLocate(ev, false);\r\n\r\n if (this.agenda.isEmpty) {\r\n await this.onReinitialize();\r\n return EventHandled.Yes;\r\n }\r\n\r\n this.setupAndPromptForNextAction();\r\n return EventHandled.No;\r\n }\r\n }\r\n\r\n await IModelApp.accuSnap.resetButton();\r\n return EventHandled.No;\r\n }\r\n\r\n /** Orchestrates updating the internal state of the tool on a reset button event.\r\n * @returns EventHandled.Yes if onReinitialize was called to restart or exit tool.\r\n */\r\n protected async processResetButton(ev: BeButtonEvent): Promise<EventHandled> {\r\n if (ev.isDown)\r\n return EventHandled.No;\r\n\r\n return this.chooseNextHit(ev);\r\n }\r\n\r\n public override async onResetButtonUp(ev: BeButtonEvent): Promise<EventHandled> {\r\n return this.processResetButton(ev);\r\n }\r\n\r\n public override async onResetButtonDown(ev: BeButtonEvent): Promise<EventHandled> {\r\n return this.processResetButton(ev);\r\n }\r\n\r\n /** Collect element input until tool has a sufficient number to complete. */\r\n protected async gatherElements(ev: BeButtonEvent): Promise<EventHandled | undefined> {\r\n if (this.isSelectionSetModify) {\r\n if (this.agenda.isEmpty && !await this.buildSelectionSetAgenda(this.iModel.selectionSet)) {\r\n await this.onReinitialize();\r\n return EventHandled.Yes;\r\n }\r\n }\r\n\r\n if (this.wantAdditionalElements) {\r\n if (ev.isDown && ev.isControlKey && this.allowDragSelect) {\r\n this._processDataButtonUp = true;\r\n return EventHandled.No; // Defer locate to up event so that box select can be initiated while over an element...\r\n }\r\n\r\n if (!await this.doLocate(ev, true))\r\n return EventHandled.No;\r\n\r\n if (this.wantAdditionalElements) {\r\n this.setupAndPromptForNextAction();\r\n return EventHandled.No; // Continue identifying elements...\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /** Collect point input until tool has a sufficient number to complete. */\r\n protected async gatherInput(ev: BeButtonEvent): Promise<EventHandled | undefined> {\r\n if (undefined === this.anchorPoint) {\r\n this.anchorPoint = ev.point.clone();\r\n\r\n const hints = new AccuDrawHintBuilder();\r\n\r\n hints.setOriginAlways = true;\r\n hints.setOrigin(this.anchorPoint);\r\n hints.sendHints(false); // Default activation on start of dynamics...\r\n }\r\n\r\n if (!this.wantProcessAgenda(ev)) {\r\n if (this.wantDynamics)\r\n await this.initAgendaDynamics();\r\n this.setupAndPromptForNextAction();\r\n return EventHandled.No;\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /** Orchestrates advancing the internal state of the tool on a data button event.\r\n * - Collect elements: Add to the element agenda until no additional elements are requested.\r\n * - Gather input: Initiates element dynamics and accepts additional points as required.\r\n * - Complete operation: Process agenda entries, restart or exit tool.\r\n * @returns EventHandled.Yes if onReinitialize was called to restart or exit tool.\r\n */\r\n protected async processDataButton(ev: BeButtonEvent): Promise<EventHandled> {\r\n if (!ev.isDown && !this._processDataButtonUp)\r\n return EventHandled.No;\r\n this._processDataButtonUp = false;\r\n\r\n const elementStatus = await this.gatherElements(ev);\r\n if (undefined !== elementStatus)\r\n return elementStatus;\r\n\r\n const inputStatus = await this.gatherInput(ev);\r\n if (undefined !== inputStatus)\r\n return inputStatus;\r\n\r\n await this.processAgenda(ev);\r\n await this.onProcessComplete();\r\n return EventHandled.Yes;\r\n }\r\n\r\n public override async onDataButtonUp(ev: BeButtonEvent): Promise<EventHandled> {\r\n return this.processDataButton(ev);\r\n }\r\n\r\n public override async onDataButtonDown(ev: BeButtonEvent): Promise<EventHandled> {\r\n return this.processDataButton(ev);\r\n }\r\n\r\n protected async initAgendaDynamics(): Promise<boolean> {\r\n if (this.isDynamicsStarted)\r\n return false;\r\n this.beginDynamics();\r\n return true;\r\n }\r\n\r\n /** Sub-classes can override to be notified of [[ElementSetTool.agenda]] changes by other methods.\r\n * @note Tools should not modify [[ElementSetTool.agenda]] in this method, it should merely serve as a convenient place\r\n * to update information, such as element graphics once dynamics has started, ex. [[ElementSetTool.chooseNextHit]].\r\n */\r\n protected async onAgendaModified(): Promise<void> { }\r\n\r\n /** Sub-classes can override to continue with current [[ElementSetTool.agenda]] or restart after processing has completed. */\r\n protected async onProcessComplete(): Promise<void> { return this.onReinitialize(); }\r\n\r\n /** Sub-classes that return false for [[ElementSetTool.requireAcceptForSelectionSetOperation]] should override to apply the tool operation to [[ElementSetTool.agenda]]. */\r\n protected async processAgendaImmediate(): Promise<void> { }\r\n\r\n /** Sub-classes that require and use the accept point should override to apply the tool operation to [[ElementSetTool.agenda]].\r\n * @note Not called for [[ElementSetTool.isSelectionSetModify]] when [[ElementSetTool.requireAcceptForSelectionSetOperation]] is false.\r\n */\r\n protected async processAgenda(_ev: BeButtonEvent): Promise<void> { return this.processAgendaImmediate(); }\r\n\r\n /** Support either [[ElementSetTool.requireAcceptForSelectionSetOperation]] or [[ElementSetTool.requireAcceptForSelectionSetDynamics]] returning false. */\r\n protected async doProcessSelectionSetImmediate(): Promise<void> {\r\n const buildImmediate = (!this.requireAcceptForSelectionSetOperation || (this.wantDynamics && !this.requireAcceptForSelectionSetDynamics));\r\n if (!buildImmediate)\r\n return;\r\n\r\n if (!await this.buildSelectionSetAgenda(this.iModel.selectionSet))\r\n return this.onReinitialize();\r\n\r\n if (!this.requireAcceptForSelectionSetOperation) {\r\n await this.processAgendaImmediate();\r\n await this.onProcessComplete();\r\n } else {\r\n await this.initAgendaDynamics();\r\n }\r\n }\r\n\r\n /** Setup initial element state, prompts, check [[SelectionSet]], etc. */\r\n public override async onPostInstall() {\r\n await super.onPostInstall();\r\n this.setPreferredElementSource();\r\n this.setupAndPromptForNextAction();\r\n\r\n if (this.isSelectionSetModify)\r\n await this.doProcessSelectionSetImmediate();\r\n }\r\n\r\n /** Make sure elements from [[ElementSetTool.agenda]] that aren't also from [[SelectionSet]] aren't left hilited. */\r\n public override async onCleanup() {\r\n await super.onCleanup();\r\n if (undefined !== this._agenda)\r\n this._agenda.clear();\r\n }\r\n\r\n /** Exit and start default tool when [[ElementSetTool.isSelectionSetModify]] is true to allow [[SelectionSet]] to be modified,\r\n * or call [[PrimitiveTool.onRestartTool]] to install a new tool instance.\r\n */\r\n public override async onReinitialize() {\r\n if (this.isSelectionSetModify)\r\n return this.exitTool();\r\n\r\n return this.onRestartTool();\r\n }\r\n\r\n /** Restore tool assistance after no longer being suspended by either a [[ViewTool]] or [[InputCollector]]. */\r\n public override async onUnsuspend() {\r\n this.provideToolAssistance();\r\n }\r\n\r\n protected get shouldEnableLocate(): boolean { return this.isSelectByPoints ? false : this.wantAdditionalElements; }\r\n protected get shouldEnableSnap(): boolean { return this.isSelectByPoints ? false : (this.wantAccuSnap && (!this.isControlDown || !this.controlKeyContinuesSelection || !this.wantAdditionalElements)); }\r\n\r\n /** Setup auto-locate, AccuSnap, AccuDraw, and supply tool assistance. */\r\n protected setupAndPromptForNextAction(): void {\r\n this.initLocateElements(this.shouldEnableLocate, this.shouldEnableSnap);\r\n this.provideToolAssistance();\r\n }\r\n\r\n /** Sub-classes should override to provide tool specific instructions. */\r\n protected provideToolAssistance(mainInstrText?: string, additionalInstr?: ToolAssistanceInstruction[]): void {\r\n let mainMsg;\r\n let leftMsg;\r\n let rightMsg;\r\n let addDragInstr = false;\r\n\r\n if (this.isSelectionSetModify) {\r\n if (this.wantAdditionalInput) {\r\n mainMsg = \"ElementSet.Prompts.IdentifyPoint\";\r\n leftMsg = \"ElementSet.Inputs.AcceptPoint\";\r\n rightMsg = \"ElementSet.Inputs.Exit\";\r\n } else if (0 === this.currentElementCount) {\r\n mainMsg = \"ElementSet.Prompts.ConfirmSelection\";\r\n leftMsg = \"ElementSet.Inputs.AcceptSelection\";\r\n rightMsg = \"ElementSet.Inputs.RejectSelection\";\r\n } else {\r\n mainMsg = \"ElementSet.Inputs.Complete\";\r\n leftMsg = \"ElementSet.Inputs.Accept\";\r\n rightMsg = \"ElementSet.Inputs.Exit\";\r\n }\r\n } else {\r\n if (this.isSelectByPoints) {\r\n mainMsg = \"ElementSet.Prompts.OppositeCorner\";\r\n leftMsg = \"ElementSet.Inputs.BoxCorners\";\r\n rightMsg = \"ElementSet.Inputs.CrossingLine\";\r\n } else if (this.wantAdditionalElements) {\r\n mainMsg = \"ElementSet.Prompts.IdentifyElement\";\r\n leftMsg = \"ElementSet.Inputs.AcceptElement\";\r\n rightMsg = \"ElementSet.Inputs.Cancel\";\r\n addDragInstr = this.allowDragSelect;\r\n } else if (this.wantAdditionalInput) {\r\n mainMsg = \"ElementSet.Prompts.IdentifyPoint\";\r\n leftMsg = \"ElementSet.Inputs.AcceptPoint\";\r\n rightMsg = \"ElementSet.Inputs.Cancel\";\r\n } else {\r\n mainMsg = \"ElementSet.Inputs.Complete\";\r\n leftMsg = \"ElementSet.Inputs.Accept\";\r\n rightMsg = \"ElementSet.Inputs.Restart\";\r\n }\r\n }\r\n\r\n const mouseInstructions: ToolAssistanceInstruction[] = [];\r\n const touchInstructions: ToolAssistanceInstruction[] = [];\r\n\r\n if (!ToolAssistance.createTouchCursorInstructions(touchInstructions))\r\n touchInstructions.push(ToolAssistance.createInstruction(ToolAssistanceImage.OneTouchTap, CoreTools.translate(leftMsg), false, ToolAssistanceInputMethod.Touch));\r\n mouseInstructions.push(ToolAssistance.createInstruction(ToolAssistanceImage.LeftClick, CoreTools.translate(leftMsg), false, ToolAssistanceInputMethod.Mouse));\r\n\r\n touchInstructions.push(ToolAssistance.createInstruction(ToolAssistanceImage.TwoTouchTap, CoreTools.translate(rightMsg), false, ToolAssistanceInputMethod.Touch));\r\n mouseInstructions.push(ToolAssistance.createInstruction(ToolAssistanceImage.RightClick, CoreTools.translate(rightMsg), false, ToolAssistanceInputMethod.Mouse));\r\n\r\n if (addDragInstr) {\r\n mouseInstructions.push(ToolAssistance.createModifierKeyInstruction(ToolAssistance.ctrlKey, ToolAssistanceImage.LeftClickDrag, CoreTools.translate(\"ElementSet.Inputs.BoxCorners\"), false, ToolAssistanceInputMethod.Mouse));\r\n mouseInstructions.push(ToolAssistance.createModifierKeyInstruction(ToolAssistance.ctrlKey, ToolAssistanceImage.RightClickDrag, CoreTools.translate(\"ElementSet.Inputs.CrossingLine\"), false, ToolAssistanceInputMethod.Mouse));\r\n mouseInstructions.push(ToolAssistance.createModifierKeyInstruction(ToolAssistance.shiftKey, ToolAssistanceImage.LeftClickDrag, CoreTools.translate(\"ElementSet.Inputs.OverlapSelection\"), false, ToolAssistanceInputMethod.Mouse));\r\n }\r\n\r\n if (undefined !== additionalInstr) {\r\n for (const instr of additionalInstr) {\r\n if (ToolAssistanceInputMethod.Touch === instr.inputMethod)\r\n touchInstructions.push(instr);\r\n else\r\n mouseInstructions.push(instr);\r\n }\r\n }\r\n\r\n const sections: ToolAssistanceSection[] = [];\r\n sections.push(ToolAssistance.createSection(mouseInstructions, ToolAssistance.inputsLabel));\r\n sections.push(ToolAssistance.createSection(touchInstructions, ToolAssistance.inputsLabel));\r\n\r\n const mainInstruction = ToolAssistance.createInstruction(this.iconSpec, undefined !== mainInstrText ? mainInstrText : CoreTools.translate(mainMsg));\r\n const instructions = ToolAssistance.createInstructions(mainInstruction, sections);\r\n IModelApp.notifications.setToolAssistance(instructions);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ElementSetTool.js","sourceRoot":"","sources":["../../../src/tools/ElementSetTool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EventController.js","sourceRoot":"","sources":["../../../src/tools/EventController.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,2CAAwC;AAExC;;;;;GAKG;AACH,MAAa,eAAe;IAGP;IAFF,SAAS,GAAmB,EAAE,CAAC;IAEhD,YAAmB,EAAkB;QAAlB,OAAE,GAAF,EAAE,CAAgB;QACnC,MAAM,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;QAC7B,IAAI,OAAO,KAAK,SAAS;YACvB,OAAO;QAET,2KAA2K;QAC3K,IAAI,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;QAE7J,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC;IAC9D,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,OAAiB,EAAE,OAAoB;QAC7D,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,CAAC,EAAS,EAAE,EAAE;YAC7B,EAAE,CAAC,cAAc,EAAE,CAAC;YACpB,qBAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACvB,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AApCD,0CAoCC","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 Tools\r\n */\r\n\r\nimport { ScreenViewport } from \"../Viewport\";\r\nimport { ToolAdmin } from \"./ToolAdmin\";\r\n\r\n/**\r\n * An EventController maps user input events from a Viewport to the ToolAdmin so that tools can process them.\r\n * Viewports are assigned an EventController when they are registered with ViewManager.addViewport and they are destroyed with ViewManager.dropViewport.\r\n * @public\r\n * @extensions\r\n */\r\nexport class EventController {\r\n private readonly _removals: VoidFunction[] = [];\r\n\r\n constructor(public vp: ScreenViewport) {\r\n const element = vp.parentDiv;\r\n if (element === undefined)\r\n return;\r\n\r\n // Put events on the parentDiv to allows us to stopPropagation of events to the view canvas when they are meant for a sibling of view canvas (markup canvas, for example).\r\n this.addDomListeners([\"mousedown\", \"mouseup\", \"mousemove\", \"mouseover\", \"mouseout\", \"wheel\", \"touchstart\", \"touchend\", \"touchcancel\", \"touchmove\"], element);\r\n\r\n element.oncontextmenu = element.onselectstart = () => false;\r\n }\r\n\r\n public destroy() {\r\n this._removals.forEach((remove) => remove());\r\n this._removals.length = 0;\r\n }\r\n\r\n /**\r\n * Call element.addEventListener for each type of DOM event supplied. Creates a listener that will forward the HTML event to ToolAdmin.addEvent.\r\n * Records the listener in the [[removals]] member so they are removed when this EventController is destroyed.\r\n * @param domType An array of DOM event types to pass to element.addEventListener\r\n * @param element The HTML element to which the listeners are added\r\n */\r\n private addDomListeners(domType: string[], element: HTMLElement) {\r\n const vp = this.vp;\r\n const listener = (ev: Event) => {\r\n ev.preventDefault();\r\n ToolAdmin.addEvent(ev, vp);\r\n };\r\n domType.forEach((type) => {\r\n element.addEventListener(type, listener, false);\r\n this._removals.push(() => element.removeEventListener(type, listener, false));\r\n });\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"EventController.js","sourceRoot":"","sources":["../../../src/tools/EventController.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,2CAAwC;AAExC;;;;;GAKG;AACH,MAAa,eAAe;IAGP;IAFF,SAAS,GAAmB,EAAE,CAAC;IAEhD,YAAmB,EAAkB;QAAlB,OAAE,GAAF,EAAE,CAAgB;QACnC,MAAM,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;QAC7B,IAAI,OAAO,KAAK,SAAS;YACvB,OAAO;QAET,2KAA2K;QAC3K,IAAI,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;QAE7J,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC;IAC9D,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,OAAiB,EAAE,OAAoB;QAC7D,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,CAAC,EAAS,EAAE,EAAE;YAC7B,EAAE,CAAC,cAAc,EAAE,CAAC;YACpB,qBAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACvB,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AApCD,0CAoCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"IdleTool.js","sourceRoot":"","sources":["../../../src/tools/IdleTool.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 Tools\r\n */\r\n\r\nimport { IModelApp } from \"../IModelApp\";\r\nimport { BeButton, BeButtonEvent, BeTouchEvent, BeWheelEvent, EventHandled, InteractiveTool } from \"./Tool\";\r\nimport { DefaultViewTouchTool, FitViewTool, ViewHandleType, ViewManip } from \"./ViewTool\";\r\n\r\n/**\r\n * The default \"idle\" tool. If no tool is active, or the active tool does not respond to a given\r\n * event, input events are forwarded to the idle tool. The default idle tool converts middle mouse button events\r\n * and touch gestures into view navigation operations like pan, zoom, rotate, and fit.\r\n *\r\n * Controls are as follows:\r\n * - Mouse/keyboard:\r\n * - mmb: pan\r\n * - shift-mmb: rotate\r\n * - wheel: zoom in/out\r\n * - double-mmb: fit view\r\n * - Touch:\r\n * - single-finger drag: rotate\r\n * - two-finger drag: pan\r\n * - pinch: zoom in/out\r\n * - double-tap: fit view\r\n *\r\n * Touch inputs can be combined e.g. drag two fingers while moving them closer together => pan + zoom in\r\n * @public\r\n */\r\nexport class IdleTool extends InteractiveTool {\r\n public static override toolId = \"Idle\";\r\n public static override hidden = true;\r\n\r\n public override async onMouseStartDrag(ev: BeButtonEvent): Promise<EventHandled> {\r\n if (!ev.viewport)\r\n return EventHandled.No;\r\n\r\n let toolId: string;\r\n let handleId: ViewHandleType;\r\n\r\n switch (ev.button) {\r\n case BeButton.Middle:\r\n if (ev.isControlKey) {\r\n toolId = ev.viewport.view.allow3dManipulations() ? \"View.Look\" : \"View.Scroll\";\r\n handleId = ev.viewport.view.allow3dManipulations() ? ViewHandleType.Look : ViewHandleType.Scroll;\r\n } else if (ev.isShiftKey) {\r\n toolId = \"View.Rotate\";\r\n handleId = ViewHandleType.Rotate;\r\n } else {\r\n toolId = \"View.Pan\";\r\n handleId = ViewHandleType.Pan;\r\n }\r\n break;\r\n\r\n case BeButton.Data:\r\n // When no active tool is present install rotate view tool on drag of data button\r\n if (undefined !== IModelApp.toolAdmin.activeTool)\r\n return EventHandled.No;\r\n toolId = \"View.Rotate\";\r\n handleId = ViewHandleType.Rotate;\r\n break;\r\n\r\n default:\r\n // When no active tool is present install pan view tool on drag of reset button\r\n if (undefined !== IModelApp.toolAdmin.activeTool)\r\n return EventHandled.No;\r\n toolId = \"View.Pan\";\r\n handleId = ViewHandleType.Pan;\r\n break;\r\n }\r\n\r\n const currTool = IModelApp.toolAdmin.viewTool;\r\n if (currTool) {\r\n if (currTool instanceof ViewManip)\r\n return currTool.startHandleDrag(ev, handleId); // See if current view tool can drag using this handle, leave it active regardless...\r\n return EventHandled.No;\r\n }\r\n const viewTool = IModelApp.tools.create(toolId, ev.viewport, true, true) as ViewManip | undefined;\r\n if (viewTool && await viewTool.run())\r\n return viewTool.startHandleDrag(ev);\r\n return EventHandled.Yes;\r\n }\r\n\r\n public override async onMiddleButtonUp(ev: BeButtonEvent): Promise<EventHandled> {\r\n if (!ev.viewport)\r\n return EventHandled.No;\r\n\r\n if (ev.isDoubleClick) {\r\n const viewTool = new FitViewTool(ev.viewport, true);\r\n return await viewTool.run() ? EventHandled.Yes : EventHandled.No;\r\n }\r\n\r\n if (ev.isControlKey || ev.isShiftKey)\r\n return EventHandled.No;\r\n\r\n IModelApp.tentativePoint.process(ev);\r\n return EventHandled.Yes;\r\n }\r\n\r\n public override async onMouseWheel(ev: BeWheelEvent) { return IModelApp.toolAdmin.processWheelEvent(ev, true); }\r\n\r\n public override async onTouchMoveStart(ev: BeTouchEvent, startEv: BeTouchEvent): Promise<EventHandled> {\r\n const tool = new DefaultViewTouchTool(startEv, ev);\r\n return await tool.run() ? EventHandled.Yes : EventHandled.No;\r\n }\r\n\r\n public override async onTouchTap(ev: BeTouchEvent): Promise<EventHandled> {\r\n if (ev.isSingleTap) {\r\n // Send data down/up for single finger tap.\r\n await IModelApp.toolAdmin.convertTouchTapToButtonDownAndUp(ev, BeButton.Data);\r\n return EventHandled.Yes;\r\n } else if (ev.isTwoFingerTap) {\r\n // Send reset down/up for two finger tap.\r\n await IModelApp.toolAdmin.convertTouchTapToButtonDownAndUp(ev, BeButton.Reset);\r\n return EventHandled.Yes;\r\n } else if (ev.isDoubleTap) {\r\n const vp = ev.viewport;\r\n if (undefined === vp)\r\n return EventHandled.No;\r\n // Fit view on single finger double tap.\r\n const tool = new FitViewTool(vp, true);\r\n return await tool.run() ? EventHandled.Yes : EventHandled.No;\r\n }\r\n return EventHandled.No;\r\n }\r\n\r\n public async exitTool() { }\r\n public override async run() { return true; }\r\n}\r\n"]}
1
+ {"version":3,"file":"IdleTool.js","sourceRoot":"","sources":["../../../src/tools/IdleTool.ts"],"names":[],"mappings":"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"}