@itwin/core-frontend 5.1.0-dev.60 → 5.1.0-dev.62

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 (191) hide show
  1. package/lib/cjs/AccuDraw.js +2 -2
  2. package/lib/cjs/AccuDraw.js.map +1 -1
  3. package/lib/cjs/AccuSnap.d.ts.map +1 -1
  4. package/lib/cjs/AccuSnap.js +13 -4
  5. package/lib/cjs/AccuSnap.js.map +1 -1
  6. package/lib/cjs/AuxCoordSys.js +1 -1
  7. package/lib/cjs/AuxCoordSys.js.map +1 -1
  8. package/lib/cjs/DrawingViewState.d.ts.map +1 -1
  9. package/lib/cjs/DrawingViewState.js +1 -0
  10. package/lib/cjs/DrawingViewState.js.map +1 -1
  11. package/lib/cjs/core-frontend.d.ts +1 -1
  12. package/lib/cjs/core-frontend.d.ts.map +1 -1
  13. package/lib/cjs/core-frontend.js.map +1 -1
  14. package/lib/cjs/internal/render/webgl/BatchUniforms.js +1 -1
  15. package/lib/cjs/internal/render/webgl/BatchUniforms.js.map +1 -1
  16. package/lib/cjs/internal/render/webgl/BranchStack.d.ts +2 -2
  17. package/lib/cjs/internal/render/webgl/BranchStack.d.ts.map +1 -1
  18. package/lib/cjs/internal/render/webgl/BranchStack.js +3 -2
  19. package/lib/cjs/internal/render/webgl/BranchStack.js.map +1 -1
  20. package/lib/cjs/internal/render/webgl/BranchState.d.ts +4 -2
  21. package/lib/cjs/internal/render/webgl/BranchState.d.ts.map +1 -1
  22. package/lib/cjs/internal/render/webgl/BranchState.js +4 -1
  23. package/lib/cjs/internal/render/webgl/BranchState.js.map +1 -1
  24. package/lib/cjs/internal/render/webgl/BranchUniforms.d.ts +2 -2
  25. package/lib/cjs/internal/render/webgl/BranchUniforms.d.ts.map +1 -1
  26. package/lib/cjs/internal/render/webgl/BranchUniforms.js +2 -2
  27. package/lib/cjs/internal/render/webgl/BranchUniforms.js.map +1 -1
  28. package/lib/cjs/internal/render/webgl/ContourUniforms.d.ts.map +1 -1
  29. package/lib/cjs/internal/render/webgl/ContourUniforms.js +2 -3
  30. package/lib/cjs/internal/render/webgl/ContourUniforms.js.map +1 -1
  31. package/lib/cjs/internal/render/webgl/Contours.js +8 -8
  32. package/lib/cjs/internal/render/webgl/Contours.js.map +1 -1
  33. package/lib/cjs/internal/render/webgl/Graphic.d.ts +2 -1
  34. package/lib/cjs/internal/render/webgl/Graphic.d.ts.map +1 -1
  35. package/lib/cjs/internal/render/webgl/Graphic.js +2 -0
  36. package/lib/cjs/internal/render/webgl/Graphic.js.map +1 -1
  37. package/lib/cjs/internal/render/webgl/SceneCompositor.js +2 -1
  38. package/lib/cjs/internal/render/webgl/SceneCompositor.js.map +1 -1
  39. package/lib/cjs/internal/render/webgl/Target.d.ts +2 -1
  40. package/lib/cjs/internal/render/webgl/Target.d.ts.map +1 -1
  41. package/lib/cjs/internal/render/webgl/Target.js +3 -1
  42. package/lib/cjs/internal/render/webgl/Target.js.map +1 -1
  43. package/lib/cjs/internal/tile/RealityModelTileTree.d.ts +6 -4
  44. package/lib/cjs/internal/tile/RealityModelTileTree.d.ts.map +1 -1
  45. package/lib/cjs/internal/tile/RealityModelTileTree.js +9 -7
  46. package/lib/cjs/internal/tile/RealityModelTileTree.js.map +1 -1
  47. package/lib/cjs/internal/tile/RealityTileLoader.d.ts +2 -2
  48. package/lib/cjs/internal/tile/RealityTileLoader.d.ts.map +1 -1
  49. package/lib/cjs/internal/tile/RealityTileLoader.js +10 -2
  50. package/lib/cjs/internal/tile/RealityTileLoader.js.map +1 -1
  51. package/lib/cjs/render/GraphicBranch.d.ts +3 -1
  52. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  53. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  54. package/lib/cjs/render/RenderSystem.d.ts +1 -1
  55. package/lib/cjs/render/RenderSystem.js.map +1 -1
  56. package/lib/cjs/render/ScreenSpaceEffectBuilder.d.ts +1 -1
  57. package/lib/cjs/render/ScreenSpaceEffectBuilder.js.map +1 -1
  58. package/lib/cjs/tile/RealityTile.d.ts +4 -0
  59. package/lib/cjs/tile/RealityTile.d.ts.map +1 -1
  60. package/lib/cjs/tile/RealityTile.js +7 -0
  61. package/lib/cjs/tile/RealityTile.js.map +1 -1
  62. package/lib/cjs/tile/RealityTileTree.d.ts +4 -0
  63. package/lib/cjs/tile/RealityTileTree.d.ts.map +1 -1
  64. package/lib/cjs/tile/RealityTileTree.js +4 -0
  65. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  66. package/lib/cjs/tile/TileGeometryCollector.d.ts +5 -0
  67. package/lib/cjs/tile/TileGeometryCollector.d.ts.map +1 -1
  68. package/lib/cjs/tile/TileGeometryCollector.js.map +1 -1
  69. package/lib/cjs/tile/TileTreeReference.d.ts +16 -2
  70. package/lib/cjs/tile/TileTreeReference.d.ts.map +1 -1
  71. package/lib/cjs/tile/TileTreeReference.js +10 -4
  72. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  73. package/lib/cjs/tools/ClipViewTool.d.ts.map +1 -1
  74. package/lib/cjs/tools/ClipViewTool.js +18 -7
  75. package/lib/cjs/tools/ClipViewTool.js.map +1 -1
  76. package/lib/cjs/tools/ElementSetTool.d.ts.map +1 -1
  77. package/lib/cjs/tools/ElementSetTool.js +2 -0
  78. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  79. package/lib/cjs/tools/IdleTool.d.ts.map +1 -1
  80. package/lib/cjs/tools/IdleTool.js +4 -1
  81. package/lib/cjs/tools/IdleTool.js.map +1 -1
  82. package/lib/cjs/tools/MeasureTool.d.ts.map +1 -1
  83. package/lib/cjs/tools/MeasureTool.js +4 -2
  84. package/lib/cjs/tools/MeasureTool.js.map +1 -1
  85. package/lib/cjs/tools/PrimitiveTool.d.ts.map +1 -1
  86. package/lib/cjs/tools/PrimitiveTool.js +2 -1
  87. package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
  88. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  89. package/lib/cjs/tools/ToolAdmin.js +51 -16
  90. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  91. package/lib/cjs/tools/ToolAssistance.d.ts +1 -1
  92. package/lib/cjs/tools/ToolAssistance.js.map +1 -1
  93. package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
  94. package/lib/cjs/tools/ViewTool.js +133 -37
  95. package/lib/cjs/tools/ViewTool.js.map +1 -1
  96. package/lib/esm/AccuDraw.js +2 -2
  97. package/lib/esm/AccuDraw.js.map +1 -1
  98. package/lib/esm/AccuSnap.d.ts.map +1 -1
  99. package/lib/esm/AccuSnap.js +13 -4
  100. package/lib/esm/AccuSnap.js.map +1 -1
  101. package/lib/esm/AuxCoordSys.js +1 -1
  102. package/lib/esm/AuxCoordSys.js.map +1 -1
  103. package/lib/esm/DrawingViewState.d.ts.map +1 -1
  104. package/lib/esm/DrawingViewState.js +1 -0
  105. package/lib/esm/DrawingViewState.js.map +1 -1
  106. package/lib/esm/core-frontend.d.ts +1 -1
  107. package/lib/esm/core-frontend.d.ts.map +1 -1
  108. package/lib/esm/core-frontend.js.map +1 -1
  109. package/lib/esm/internal/render/webgl/BatchUniforms.js +1 -1
  110. package/lib/esm/internal/render/webgl/BatchUniforms.js.map +1 -1
  111. package/lib/esm/internal/render/webgl/BranchStack.d.ts +2 -2
  112. package/lib/esm/internal/render/webgl/BranchStack.d.ts.map +1 -1
  113. package/lib/esm/internal/render/webgl/BranchStack.js +3 -2
  114. package/lib/esm/internal/render/webgl/BranchStack.js.map +1 -1
  115. package/lib/esm/internal/render/webgl/BranchState.d.ts +4 -2
  116. package/lib/esm/internal/render/webgl/BranchState.d.ts.map +1 -1
  117. package/lib/esm/internal/render/webgl/BranchState.js +4 -1
  118. package/lib/esm/internal/render/webgl/BranchState.js.map +1 -1
  119. package/lib/esm/internal/render/webgl/BranchUniforms.d.ts +2 -2
  120. package/lib/esm/internal/render/webgl/BranchUniforms.d.ts.map +1 -1
  121. package/lib/esm/internal/render/webgl/BranchUniforms.js +2 -2
  122. package/lib/esm/internal/render/webgl/BranchUniforms.js.map +1 -1
  123. package/lib/esm/internal/render/webgl/ContourUniforms.d.ts.map +1 -1
  124. package/lib/esm/internal/render/webgl/ContourUniforms.js +2 -3
  125. package/lib/esm/internal/render/webgl/ContourUniforms.js.map +1 -1
  126. package/lib/esm/internal/render/webgl/Contours.js +8 -8
  127. package/lib/esm/internal/render/webgl/Contours.js.map +1 -1
  128. package/lib/esm/internal/render/webgl/Graphic.d.ts +2 -1
  129. package/lib/esm/internal/render/webgl/Graphic.d.ts.map +1 -1
  130. package/lib/esm/internal/render/webgl/Graphic.js +2 -0
  131. package/lib/esm/internal/render/webgl/Graphic.js.map +1 -1
  132. package/lib/esm/internal/render/webgl/SceneCompositor.js +2 -1
  133. package/lib/esm/internal/render/webgl/SceneCompositor.js.map +1 -1
  134. package/lib/esm/internal/render/webgl/Target.d.ts +2 -1
  135. package/lib/esm/internal/render/webgl/Target.d.ts.map +1 -1
  136. package/lib/esm/internal/render/webgl/Target.js +3 -1
  137. package/lib/esm/internal/render/webgl/Target.js.map +1 -1
  138. package/lib/esm/internal/tile/RealityModelTileTree.d.ts +6 -4
  139. package/lib/esm/internal/tile/RealityModelTileTree.d.ts.map +1 -1
  140. package/lib/esm/internal/tile/RealityModelTileTree.js +10 -8
  141. package/lib/esm/internal/tile/RealityModelTileTree.js.map +1 -1
  142. package/lib/esm/internal/tile/RealityTileLoader.d.ts +2 -2
  143. package/lib/esm/internal/tile/RealityTileLoader.d.ts.map +1 -1
  144. package/lib/esm/internal/tile/RealityTileLoader.js +10 -2
  145. package/lib/esm/internal/tile/RealityTileLoader.js.map +1 -1
  146. package/lib/esm/render/GraphicBranch.d.ts +3 -1
  147. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  148. package/lib/esm/render/GraphicBranch.js.map +1 -1
  149. package/lib/esm/render/RenderSystem.d.ts +1 -1
  150. package/lib/esm/render/RenderSystem.js.map +1 -1
  151. package/lib/esm/render/ScreenSpaceEffectBuilder.d.ts +1 -1
  152. package/lib/esm/render/ScreenSpaceEffectBuilder.js.map +1 -1
  153. package/lib/esm/tile/RealityTile.d.ts +4 -0
  154. package/lib/esm/tile/RealityTile.d.ts.map +1 -1
  155. package/lib/esm/tile/RealityTile.js +7 -0
  156. package/lib/esm/tile/RealityTile.js.map +1 -1
  157. package/lib/esm/tile/RealityTileTree.d.ts +4 -0
  158. package/lib/esm/tile/RealityTileTree.d.ts.map +1 -1
  159. package/lib/esm/tile/RealityTileTree.js +4 -0
  160. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  161. package/lib/esm/tile/TileGeometryCollector.d.ts +5 -0
  162. package/lib/esm/tile/TileGeometryCollector.d.ts.map +1 -1
  163. package/lib/esm/tile/TileGeometryCollector.js.map +1 -1
  164. package/lib/esm/tile/TileTreeReference.d.ts +16 -2
  165. package/lib/esm/tile/TileTreeReference.d.ts.map +1 -1
  166. package/lib/esm/tile/TileTreeReference.js +10 -4
  167. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  168. package/lib/esm/tools/ClipViewTool.d.ts.map +1 -1
  169. package/lib/esm/tools/ClipViewTool.js +18 -7
  170. package/lib/esm/tools/ClipViewTool.js.map +1 -1
  171. package/lib/esm/tools/ElementSetTool.d.ts.map +1 -1
  172. package/lib/esm/tools/ElementSetTool.js +2 -0
  173. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  174. package/lib/esm/tools/IdleTool.d.ts.map +1 -1
  175. package/lib/esm/tools/IdleTool.js +4 -1
  176. package/lib/esm/tools/IdleTool.js.map +1 -1
  177. package/lib/esm/tools/MeasureTool.d.ts.map +1 -1
  178. package/lib/esm/tools/MeasureTool.js +4 -2
  179. package/lib/esm/tools/MeasureTool.js.map +1 -1
  180. package/lib/esm/tools/PrimitiveTool.d.ts.map +1 -1
  181. package/lib/esm/tools/PrimitiveTool.js +2 -1
  182. package/lib/esm/tools/PrimitiveTool.js.map +1 -1
  183. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  184. package/lib/esm/tools/ToolAdmin.js +51 -16
  185. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  186. package/lib/esm/tools/ToolAssistance.d.ts +1 -1
  187. package/lib/esm/tools/ToolAssistance.js.map +1 -1
  188. package/lib/esm/tools/ViewTool.d.ts.map +1 -1
  189. package/lib/esm/tools/ViewTool.js +133 -37
  190. package/lib/esm/tools/ViewTool.js.map +1 -1
  191. package/package.json +23 -22
@@ -1 +1 @@
1
- {"version":3,"file":"AuxCoordSys.js","sourceRoot":"","sources":["../../src/AuxCoordSys.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Views\n */\n\nimport { JsonUtils } from \"@itwin/core-bentley\";\nimport { Angle, AngleSweep, Arc3d, Matrix3d, Point2d, Point3d, Transform, Vector3d, XAndY, XYAndZ, YawPitchRollAngles } from \"@itwin/core-geometry\";\nimport {\n AuxCoordSystem2dProps, AuxCoordSystem3dProps, AuxCoordSystemProps, BisCodeSpec, Code, ColorDef, IModel, LinePixels, Npc,\n} from \"@itwin/core-common\";\nimport { ElementState } from \"./EntityState\";\nimport { IModelConnection } from \"./IModelConnection\";\nimport { GraphicBuilder } from \"./render/GraphicBuilder\";\nimport { DecorateContext } from \"./ViewContext\";\nimport { CoordSystem } from \"./CoordSystem\";\nimport { Viewport } from \"./Viewport\";\nimport { ViewState } from \"./ViewState\";\nimport { GraphicType } from \"./common/render/GraphicType\";\n\n/**\n * @public\n * @extensions\n */\nexport enum ACSType {\n None = 0,\n Rectangular = 1,\n Cylindrical = 2,\n Spherical = 3,\n}\n\n/**\n * @public\n * @extensions\n */\nexport enum ACSDisplayOptions {\n None = 0, // used for testing individual bits.\n Active = (1 << 0),\n Deemphasized = (1 << 1),\n Hilite = (1 << 2),\n CheckVisible = (1 << 3),\n Dynamics = (1 << 4),\n}\n\nconst enum ACSDisplaySizes { // eslint-disable-line no-restricted-syntax\n TriadSizeInches = 0.6,\n ArrowBaseStart = 0.3,\n ArrowBaseWidth = 0.2,\n ArrowTipEnd = 1.25,\n ArrowTipStart = 0.85,\n ArrowTipFlange = 0.75,\n ArrowTipWidth = 0.4,\n ZAxisLength = 0.65,\n LabelStart = 0.4, // eslint-disable-line @typescript-eslint/no-duplicate-enum-values\n LabelEnd = 0.8,\n LabelWidth = 0.15,\n}\n\n/** The state of an AuxCoordSystem element in the frontend\n * @public\n * @extensions\n */\nexport abstract class AuxCoordSystemState extends ElementState implements AuxCoordSystemProps {\n public static override get className() { return \"AuxCoordSystem\"; }\n public type: number;\n public description?: string;\n\n public static fromProps(props: AuxCoordSystemProps, iModel: IModelConnection): AuxCoordSystemState {\n const name = props.classFullName.toLowerCase();\n if (name.endsWith(\"system2d\"))\n return new AuxCoordSystem2dState(props, iModel);\n\n if (name.endsWith(\"system3d\"))\n return new AuxCoordSystem3dState(props, iModel);\n\n return new AuxCoordSystemSpatialState(props, iModel);\n }\n\n /** Create a new AuxCoordSystemState.\n * @param acsName the name for the new AuxCoordSystem\n * @param iModel the iModel for which the ACS applies.\n * @note call this method with the appropriate subclass (e.g. AuxCoordSystemSpatialState, AuxCoordSystem2dState, etc), not on AuxCoordSystemState directly\n */\n public static createNew(acsName: string, iModel: IModelConnection): AuxCoordSystemState {\n const myCode = new Code({ spec: BisCodeSpec.auxCoordSystemSpatial, scope: IModel.dictionaryId.toString(), value: acsName });\n return new AuxCoordSystemSpatialState({ model: IModel.dictionaryId, code: myCode, classFullName: this.classFullName }, iModel);\n }\n\n public constructor(props: AuxCoordSystemProps, iModel: IModelConnection) {\n super(props, iModel);\n this.type = JsonUtils.asInt(props.type, ACSType.None);\n this.description = props.description;\n }\n public override toJSON(): AuxCoordSystemProps {\n const val = super.toJSON() as AuxCoordSystemProps;\n val.type = this.type;\n val.description = this.description;\n return val;\n }\n\n public isValidForView(view: ViewState): boolean {\n if (view.isSpatialView())\n return this instanceof AuxCoordSystemSpatialState;\n return (view.is3d() === this.is3d);\n }\n\n public abstract getOrigin(result?: Point3d): Point3d;\n public abstract setOrigin(val: XYAndZ | XAndY): void;\n /** get a *copy of* the rotation matrix for this ACS. */\n public abstract getRotation(result?: Matrix3d): Matrix3d;\n public abstract setRotation(val: Matrix3d): void;\n public get is3d(): boolean { return this instanceof AuxCoordSystem3dState; }\n\n public drawGrid(context: DecorateContext): void {\n // Called for active ACS when grid orientation is GridOrientationType::ACS.\n const view = context.viewport.view;\n const fixedRepsAuto = Point2d.create(); // limit grid to project extents\n context.drawStandardGrid(this.getOrigin(), this.getRotation(), view.getGridSpacing(), view.getGridsPerRef(), false, fixedRepsAuto);\n }\n\n /** Returns the value, clamped to the supplied range. */\n private static limitRange(min: number, max: number, val: number): number { return Math.max(min, Math.min(max, val)); }\n\n /**\n * Given an origin point, returns whether the point falls within the view or not. If adjustOrigin is set to true, a point outside\n * the view will be modified to fall within the appropriate range.\n */\n public static isOriginInView(drawOrigin: Point3d, viewport: Viewport, adjustOrigin: boolean): boolean {\n const testPtView = viewport.worldToView(drawOrigin);\n const frustum = viewport.getFrustum(CoordSystem.View);\n const screenRange = Point3d.create();\n screenRange.x = frustum.points[Npc._000].distance(frustum.points[Npc._100]);\n screenRange.y = frustum.points[Npc._000].distance(frustum.points[Npc._010]);\n screenRange.z = frustum.points[Npc._000].distance(frustum.points[Npc._001]);\n\n // Check if current acs origin is outside view...\n const inView = (!((testPtView.x < 0 || testPtView.x > screenRange.x) || (testPtView.y < 0 || testPtView.y > screenRange.y)));\n\n if (!adjustOrigin)\n return inView;\n\n if (!inView) {\n const offset = viewport.pixelsFromInches(ACSDisplaySizes.TriadSizeInches);\n testPtView.x = AuxCoordSystemState.limitRange(offset, screenRange.x - offset, testPtView.x);\n testPtView.y = AuxCoordSystemState.limitRange(offset, screenRange.y - offset, testPtView.y);\n }\n\n // Limit point to NPC box to prevent triad from being clipped from display...\n const originPtNpc = viewport.viewToNpc(testPtView);\n originPtNpc.x = AuxCoordSystemState.limitRange(0, 1, originPtNpc.x);\n originPtNpc.y = AuxCoordSystemState.limitRange(0, 1, originPtNpc.y);\n originPtNpc.z = AuxCoordSystemState.limitRange(0, 1, originPtNpc.z);\n viewport.npcToView(originPtNpc, testPtView);\n viewport.viewToWorld(testPtView, drawOrigin);\n\n return inView;\n }\n\n private getAdjustedColor(inColor: ColorDef, isFill: boolean, viewport: Viewport, options: ACSDisplayOptions): ColorDef {\n let color;\n if ((options & ACSDisplayOptions.Hilite) !== ACSDisplayOptions.None) {\n color = viewport.hilite.color;\n } else if ((options & ACSDisplayOptions.Active) !== ACSDisplayOptions.None) {\n color = inColor.equals(ColorDef.white) ? viewport.getContrastToBackgroundColor() : inColor;\n } else {\n color = ColorDef.from(150, 150, 150, 0);\n }\n\n color = color.adjustedForContrast(viewport.view.backgroundColor);\n\n if (isFill)\n color = color.withTransparency((options & (ACSDisplayOptions.Deemphasized | ACSDisplayOptions.Dynamics)) !== ACSDisplayOptions.None ? 225 : 200);\n else\n color = color.withTransparency((options & ACSDisplayOptions.Deemphasized) !== ACSDisplayOptions.None ? 150 : 75);\n\n return color;\n }\n\n private addAxisLabel(builder: GraphicBuilder, axis: number, options: ACSDisplayOptions, vp: Viewport) {\n const color = ColorDef.white;\n const lineColor = this.getAdjustedColor(color, false, vp, options);\n builder.setSymbology(lineColor, lineColor, 2);\n\n const linePts1: Point3d[] = [];\n if (0 === axis) {\n linePts1[0] = Point3d.create(ACSDisplaySizes.LabelStart, -ACSDisplaySizes.LabelWidth);\n linePts1[1] = Point3d.create(ACSDisplaySizes.LabelEnd, ACSDisplaySizes.LabelWidth);\n } else {\n linePts1[0] = Point3d.create(0.0, ACSDisplaySizes.LabelStart);\n linePts1[1] = Point3d.create(0.0, (ACSDisplaySizes.LabelStart + ACSDisplaySizes.LabelEnd) * 0.5);\n }\n builder.addLineString(linePts1);\n\n const linePts2: Point3d[] = []; // NOTE: Don't use same point array, addPointString/addLineString don't deep copy...\n if (0 === axis) {\n linePts2[0] = Point3d.create(ACSDisplaySizes.LabelStart, ACSDisplaySizes.LabelWidth);\n linePts2[1] = Point3d.create(ACSDisplaySizes.LabelEnd, -ACSDisplaySizes.LabelWidth);\n } else {\n linePts2[0] = Point3d.create(ACSDisplaySizes.LabelWidth, ACSDisplaySizes.LabelEnd);\n linePts2[1] = Point3d.create(0.0, (ACSDisplaySizes.LabelStart + ACSDisplaySizes.LabelEnd) * 0.5);\n linePts2[2] = Point3d.create(-ACSDisplaySizes.LabelWidth, ACSDisplaySizes.LabelEnd);\n }\n builder.addLineString(linePts2);\n }\n\n private addAxis(builder: GraphicBuilder, axis: number, options: ACSDisplayOptions, vp: Viewport) {\n const color = (0 === axis ? ColorDef.red : (1 === axis ? ColorDef.green : ColorDef.blue));\n const lineColor = this.getAdjustedColor(color, false, vp, options);\n const fillColor = this.getAdjustedColor(color, true, vp, options);\n\n if (axis === 2) {\n builder.setSymbology(lineColor, lineColor, 6);\n builder.addPointString([Point3d.create(0.0, 0.0, ACSDisplaySizes.ZAxisLength)]); // NOTE: ACS origin point will be drawn separately as a pickable world decoration...\n\n const linePts2: Point3d[] = [Point3d.create(), Point3d.create()]; // NOTE: Don't use same point array, addPointString/addLineString don't deep copy...\n linePts2[1].z = ACSDisplaySizes.ZAxisLength;\n builder.setSymbology(lineColor, lineColor, 1, (options & ACSDisplayOptions.Dynamics) === ACSDisplayOptions.None ? LinePixels.Solid : LinePixels.Code2);\n builder.addLineString(linePts2);\n\n const scale = ACSDisplaySizes.ArrowTipWidth / 2;\n const center = Point3d.create();\n const viewRMatrix = vp.rotation;\n\n const xVec = viewRMatrix.getRow(0);\n const yVec = viewRMatrix.getRow(1);\n\n builder.placement.matrix.multiplyTransposeVectorInPlace(xVec);\n builder.placement.matrix.multiplyTransposeVectorInPlace(yVec);\n\n xVec.normalize(xVec);\n yVec.normalize(yVec);\n\n const ellipse = Arc3d.createScaledXYColumns(center, Matrix3d.createColumns(xVec, yVec, Vector3d.create()), scale, scale, AngleSweep.createStartEnd(Angle.createRadians(0), Angle.createRadians(Math.PI * 2)));\n builder.addArc(ellipse, false, false);\n\n builder.setBlankingFill(fillColor);\n builder.addArc(ellipse, true, true);\n return;\n }\n\n const shapePts: Point3d[] = [];\n shapePts[0] = Point3d.create(ACSDisplaySizes.ArrowTipEnd, 0.0);\n shapePts[1] = Point3d.create(ACSDisplaySizes.ArrowTipFlange, ACSDisplaySizes.ArrowTipWidth);\n shapePts[2] = Point3d.create(ACSDisplaySizes.ArrowTipStart, ACSDisplaySizes.ArrowBaseWidth);\n shapePts[3] = Point3d.create(ACSDisplaySizes.ArrowBaseStart, ACSDisplaySizes.ArrowBaseWidth);\n shapePts[4] = Point3d.create(ACSDisplaySizes.ArrowBaseStart, -ACSDisplaySizes.ArrowBaseWidth);\n shapePts[5] = Point3d.create(ACSDisplaySizes.ArrowTipStart, -ACSDisplaySizes.ArrowBaseWidth);\n shapePts[6] = Point3d.create(ACSDisplaySizes.ArrowTipFlange, -ACSDisplaySizes.ArrowTipWidth);\n shapePts[7] = shapePts[0].clone();\n if (1 === axis)\n shapePts.forEach((tmpPt) => tmpPt.set(tmpPt.y, tmpPt.x));\n\n builder.setSymbology(lineColor, lineColor, 1, (options & ACSDisplayOptions.Dynamics) === ACSDisplayOptions.None ? LinePixels.Solid : LinePixels.Code2);\n builder.addLineString(shapePts);\n\n this.addAxisLabel(builder, axis, options, vp);\n\n builder.setBlankingFill(fillColor);\n builder.addShape(shapePts);\n }\n\n /** Returns a GraphicBuilder for this AuxCoordSystemState. */\n private createGraphicBuilder(context: DecorateContext, options: ACSDisplayOptions): GraphicBuilder {\n const checkOutOfView = (options & ACSDisplayOptions.CheckVisible) !== ACSDisplayOptions.None;\n const drawOrigin = this.getOrigin();\n\n if (checkOutOfView && !AuxCoordSystemState.isOriginInView(drawOrigin, context.viewport, true))\n options = options | ACSDisplayOptions.Deemphasized;\n\n let pixelSize = context.viewport.pixelsFromInches(ACSDisplaySizes.TriadSizeInches);\n\n if ((options & ACSDisplayOptions.Deemphasized) !== ACSDisplayOptions.None)\n pixelSize *= 0.8;\n else if ((options & ACSDisplayOptions.Active) !== ACSDisplayOptions.None)\n pixelSize *= 0.9;\n\n const exaggerate = context.viewport.view.getAspectRatioSkew();\n const scale = context.getPixelSizeAtPoint(drawOrigin) * pixelSize;\n const rMatrix = this.getRotation();\n\n rMatrix.transposeInPlace();\n rMatrix.scaleColumns(scale, scale / exaggerate, scale, rMatrix);\n const transform = Transform.createRefs(drawOrigin, rMatrix);\n\n const builder = context.createGraphicBuilder(GraphicType.WorldOverlay, transform);\n const vp = context.viewport;\n this.addAxis(builder, 0, options, vp);\n this.addAxis(builder, 1, options, vp);\n this.addAxis(builder, 2, options, vp);\n return builder;\n }\n\n public display(context: DecorateContext, options: ACSDisplayOptions) {\n const builder = this.createGraphicBuilder(context, options);\n if (undefined !== builder)\n context.addDecorationFromBuilder(builder);\n }\n}\n\n/** The state of an AuxCoordSystem2d element in the frontend\n * @public\n * @extensions\n */\nexport class AuxCoordSystem2dState extends AuxCoordSystemState implements AuxCoordSystem2dProps {\n public static override get className() { return \"AuxCoordSystem2d\"; }\n public readonly origin: Point2d;\n public angle: number; // in degrees\n private readonly _rMatrix: Matrix3d;\n\n constructor(props: AuxCoordSystem2dProps, iModel: IModelConnection) {\n super(props, iModel);\n this.origin = Point2d.fromJSON(props.origin);\n this.angle = JsonUtils.asDouble(props.angle);\n this._rMatrix = Matrix3d.createRotationAroundVector(Vector3d.unitZ(), Angle.createDegrees(this.angle))!;\n }\n\n public override toJSON(): AuxCoordSystem2dProps {\n const val = super.toJSON() as AuxCoordSystem2dProps;\n val.origin = this.origin;\n val.angle = this.angle;\n return val;\n }\n\n public getOrigin(result?: Point3d): Point3d { return Point3d.createFrom(this.origin, result); }\n public setOrigin(val: XYAndZ | XAndY): void { this.origin.setFrom(val); }\n public getRotation(result?: Matrix3d): Matrix3d { return this._rMatrix.clone(result); }\n public setRotation(val: Matrix3d): void {\n this._rMatrix.setFrom(val);\n const angle = YawPitchRollAngles.createFromMatrix3d(val);\n this.angle = (undefined !== angle ? angle.yaw.degrees : 0.0);\n }\n}\n\n/** The state of an AuxCoordSystem3d element in the frontend\n * @public\n * @extensions\n */\nexport class AuxCoordSystem3dState extends AuxCoordSystemState implements AuxCoordSystem3dProps {\n public static override get className() { return \"AuxCoordSystem3d\"; }\n public readonly origin: Point3d;\n public yaw: number; // in degrees\n public pitch: number; // in degrees\n public roll: number; // in degrees\n private readonly _rMatrix: Matrix3d;\n\n constructor(props: AuxCoordSystem3dProps, iModel: IModelConnection) {\n super(props, iModel);\n this.origin = Point3d.fromJSON(props.origin);\n this.yaw = JsonUtils.asDouble(props.yaw);\n this.pitch = JsonUtils.asDouble(props.pitch);\n this.roll = JsonUtils.asDouble(props.roll);\n const angles = new YawPitchRollAngles(Angle.createDegrees(this.yaw), Angle.createDegrees(this.pitch), Angle.createDegrees(this.roll));\n this._rMatrix = angles.toMatrix3d();\n }\n\n public override toJSON(): AuxCoordSystem3dProps {\n const val = super.toJSON() as AuxCoordSystem3dProps;\n val.origin = this.origin;\n val.yaw = this.yaw;\n val.pitch = this.pitch;\n val.roll = this.roll;\n return val;\n }\n\n public getOrigin(result?: Point3d): Point3d { return Point3d.createFrom(this.origin, result); }\n public setOrigin(val: XYAndZ | XAndY): void { this.origin.setFrom(val); }\n public getRotation(result?: Matrix3d): Matrix3d { return this._rMatrix.clone(result); }\n public setRotation(rMatrix: Matrix3d): void {\n this._rMatrix.setFrom(rMatrix);\n const angles = YawPitchRollAngles.createFromMatrix3d(rMatrix);\n this.yaw = (undefined !== angles ? angles.yaw.degrees : 0.0);\n this.pitch = (undefined !== angles ? angles.pitch.degrees : 0.0);\n this.roll = (undefined !== angles ? angles.roll.degrees : 0.0);\n }\n}\n\n/** The state of an AuxCoordSystemSpatial element in the frontend\n * @public\n * @extensions\n */\nexport class AuxCoordSystemSpatialState extends AuxCoordSystem3dState {\n public static override get className() { return \"AuxCoordSystemSpatial\"; }\n}\n"]}
1
+ {"version":3,"file":"AuxCoordSys.js","sourceRoot":"","sources":["../../src/AuxCoordSys.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Views\n */\n\nimport { JsonUtils } from \"@itwin/core-bentley\";\nimport { Angle, AngleSweep, Arc3d, Matrix3d, Point2d, Point3d, Transform, Vector3d, XAndY, XYAndZ, YawPitchRollAngles } from \"@itwin/core-geometry\";\nimport {\n AuxCoordSystem2dProps, AuxCoordSystem3dProps, AuxCoordSystemProps, BisCodeSpec, Code, ColorDef, IModel, LinePixels, Npc,\n} from \"@itwin/core-common\";\nimport { ElementState } from \"./EntityState\";\nimport { IModelConnection } from \"./IModelConnection\";\nimport { GraphicBuilder } from \"./render/GraphicBuilder\";\nimport { DecorateContext } from \"./ViewContext\";\nimport { CoordSystem } from \"./CoordSystem\";\nimport { Viewport } from \"./Viewport\";\nimport { ViewState } from \"./ViewState\";\nimport { GraphicType } from \"./common/render/GraphicType\";\n\n/**\n * @public\n * @extensions\n */\nexport enum ACSType {\n None = 0,\n Rectangular = 1,\n Cylindrical = 2,\n Spherical = 3,\n}\n\n/**\n * @public\n * @extensions\n */\nexport enum ACSDisplayOptions {\n None = 0, // used for testing individual bits.\n Active = (1 << 0),\n Deemphasized = (1 << 1),\n Hilite = (1 << 2),\n CheckVisible = (1 << 3),\n Dynamics = (1 << 4),\n}\n\nconst enum ACSDisplaySizes { // eslint-disable-line no-restricted-syntax\n TriadSizeInches = 0.6,\n ArrowBaseStart = 0.3,\n ArrowBaseWidth = 0.2,\n ArrowTipEnd = 1.25,\n ArrowTipStart = 0.85,\n ArrowTipFlange = 0.75,\n ArrowTipWidth = 0.4,\n ZAxisLength = 0.65,\n LabelStart = 0.4, // eslint-disable-line @typescript-eslint/no-duplicate-enum-values\n LabelEnd = 0.8,\n LabelWidth = 0.15,\n}\n\n/** The state of an AuxCoordSystem element in the frontend\n * @public\n * @extensions\n */\nexport abstract class AuxCoordSystemState extends ElementState implements AuxCoordSystemProps {\n public static override get className() { return \"AuxCoordSystem\"; }\n public type: number;\n public description?: string;\n\n public static fromProps(props: AuxCoordSystemProps, iModel: IModelConnection): AuxCoordSystemState {\n const name = props.classFullName.toLowerCase();\n if (name.endsWith(\"system2d\"))\n return new AuxCoordSystem2dState(props, iModel);\n\n if (name.endsWith(\"system3d\"))\n return new AuxCoordSystem3dState(props, iModel);\n\n return new AuxCoordSystemSpatialState(props, iModel);\n }\n\n /** Create a new AuxCoordSystemState.\n * @param acsName the name for the new AuxCoordSystem\n * @param iModel the iModel for which the ACS applies.\n * @note call this method with the appropriate subclass (e.g. AuxCoordSystemSpatialState, AuxCoordSystem2dState, etc), not on AuxCoordSystemState directly\n */\n public static createNew(acsName: string, iModel: IModelConnection): AuxCoordSystemState {\n const myCode = new Code({ spec: BisCodeSpec.auxCoordSystemSpatial, scope: IModel.dictionaryId.toString(), value: acsName });\n return new AuxCoordSystemSpatialState({ model: IModel.dictionaryId, code: myCode, classFullName: this.classFullName }, iModel);\n }\n\n public constructor(props: AuxCoordSystemProps, iModel: IModelConnection) {\n super(props, iModel);\n this.type = JsonUtils.asInt(props.type, ACSType.None);\n this.description = props.description;\n }\n public override toJSON(): AuxCoordSystemProps {\n const val = super.toJSON() as AuxCoordSystemProps;\n val.type = this.type;\n val.description = this.description;\n return val;\n }\n\n public isValidForView(view: ViewState): boolean {\n if (view.isSpatialView())\n return this instanceof AuxCoordSystemSpatialState;\n return (view.is3d() === this.is3d);\n }\n\n public abstract getOrigin(result?: Point3d): Point3d;\n public abstract setOrigin(val: XYAndZ | XAndY): void;\n /** get a *copy of* the rotation matrix for this ACS. */\n public abstract getRotation(result?: Matrix3d): Matrix3d;\n public abstract setRotation(val: Matrix3d): void;\n public get is3d(): boolean { return this instanceof AuxCoordSystem3dState; }\n\n public drawGrid(context: DecorateContext): void {\n // Called for active ACS when grid orientation is GridOrientationType::ACS.\n const view = context.viewport.view;\n const fixedRepsAuto = Point2d.create(); // limit grid to project extents\n context.drawStandardGrid(this.getOrigin(), this.getRotation(), view.getGridSpacing(), view.getGridsPerRef(), false, fixedRepsAuto);\n }\n\n /** Returns the value, clamped to the supplied range. */\n private static limitRange(min: number, max: number, val: number): number { return Math.max(min, Math.min(max, val)); }\n\n /**\n * Given an origin point, returns whether the point falls within the view or not. If adjustOrigin is set to true, a point outside\n * the view will be modified to fall within the appropriate range.\n */\n public static isOriginInView(drawOrigin: Point3d, viewport: Viewport, adjustOrigin: boolean): boolean {\n const testPtView = viewport.worldToView(drawOrigin);\n const frustum = viewport.getFrustum(CoordSystem.View);\n const screenRange = Point3d.create();\n screenRange.x = frustum.points[Npc._000].distance(frustum.points[Npc._100]);\n screenRange.y = frustum.points[Npc._000].distance(frustum.points[Npc._010]);\n screenRange.z = frustum.points[Npc._000].distance(frustum.points[Npc._001]);\n\n // Check if current acs origin is outside view...\n const inView = (!((testPtView.x < 0 || testPtView.x > screenRange.x) || (testPtView.y < 0 || testPtView.y > screenRange.y)));\n\n if (!adjustOrigin)\n return inView;\n\n if (!inView) {\n const offset = viewport.pixelsFromInches(ACSDisplaySizes.TriadSizeInches);\n testPtView.x = AuxCoordSystemState.limitRange(offset, screenRange.x - offset, testPtView.x);\n testPtView.y = AuxCoordSystemState.limitRange(offset, screenRange.y - offset, testPtView.y);\n }\n\n // Limit point to NPC box to prevent triad from being clipped from display...\n const originPtNpc = viewport.viewToNpc(testPtView);\n originPtNpc.x = AuxCoordSystemState.limitRange(0, 1, originPtNpc.x);\n originPtNpc.y = AuxCoordSystemState.limitRange(0, 1, originPtNpc.y);\n originPtNpc.z = AuxCoordSystemState.limitRange(0, 1, originPtNpc.z);\n viewport.npcToView(originPtNpc, testPtView);\n viewport.viewToWorld(testPtView, drawOrigin);\n\n return inView;\n }\n\n private getAdjustedColor(inColor: ColorDef, isFill: boolean, viewport: Viewport, options: ACSDisplayOptions): ColorDef {\n let color;\n if ((options & ACSDisplayOptions.Hilite) !== ACSDisplayOptions.None) {\n color = viewport.hilite.color;\n } else if ((options & ACSDisplayOptions.Active) !== ACSDisplayOptions.None) {\n color = inColor.equals(ColorDef.white) ? viewport.getContrastToBackgroundColor() : inColor;\n } else {\n color = ColorDef.from(150, 150, 150, 0);\n }\n\n color = color.adjustedForContrast(viewport.view.backgroundColor);\n\n if (isFill)\n color = color.withTransparency((options & (ACSDisplayOptions.Deemphasized | ACSDisplayOptions.Dynamics)) !== ACSDisplayOptions.None ? 225 : 200);\n else\n color = color.withTransparency((options & ACSDisplayOptions.Deemphasized) !== ACSDisplayOptions.None ? 150 : 75);\n\n return color;\n }\n\n private addAxisLabel(builder: GraphicBuilder, axis: number, options: ACSDisplayOptions, vp: Viewport) {\n const color = ColorDef.white;\n const lineColor = this.getAdjustedColor(color, false, vp, options);\n builder.setSymbology(lineColor, lineColor, 2);\n\n const linePts1: Point3d[] = [];\n if (0 === axis) {\n linePts1[0] = Point3d.create(ACSDisplaySizes.LabelStart, -ACSDisplaySizes.LabelWidth);\n linePts1[1] = Point3d.create(ACSDisplaySizes.LabelEnd, ACSDisplaySizes.LabelWidth);\n } else {\n linePts1[0] = Point3d.create(0.0, ACSDisplaySizes.LabelStart);\n linePts1[1] = Point3d.create(0.0, (ACSDisplaySizes.LabelStart + ACSDisplaySizes.LabelEnd) * 0.5);\n }\n builder.addLineString(linePts1);\n\n const linePts2: Point3d[] = []; // NOTE: Don't use same point array, addPointString/addLineString don't deep copy...\n if (0 === axis) {\n linePts2[0] = Point3d.create(ACSDisplaySizes.LabelStart, ACSDisplaySizes.LabelWidth);\n linePts2[1] = Point3d.create(ACSDisplaySizes.LabelEnd, -ACSDisplaySizes.LabelWidth);\n } else {\n linePts2[0] = Point3d.create(ACSDisplaySizes.LabelWidth, ACSDisplaySizes.LabelEnd);\n linePts2[1] = Point3d.create(0.0, (ACSDisplaySizes.LabelStart + ACSDisplaySizes.LabelEnd) * 0.5);\n linePts2[2] = Point3d.create(-ACSDisplaySizes.LabelWidth, ACSDisplaySizes.LabelEnd);\n }\n builder.addLineString(linePts2);\n }\n\n private addAxis(builder: GraphicBuilder, axis: number, options: ACSDisplayOptions, vp: Viewport) {\n const color = (0 === axis ? ColorDef.red : (1 === axis ? ColorDef.green : ColorDef.blue));\n const lineColor = this.getAdjustedColor(color, false, vp, options);\n const fillColor = this.getAdjustedColor(color, true, vp, options);\n\n if (axis === 2) {\n builder.setSymbology(lineColor, lineColor, 6);\n builder.addPointString([Point3d.create(0.0, 0.0, ACSDisplaySizes.ZAxisLength)]); // NOTE: ACS origin point will be drawn separately as a pickable world decoration...\n\n const linePts2: Point3d[] = [Point3d.create(), Point3d.create()]; // NOTE: Don't use same point array, addPointString/addLineString don't deep copy...\n linePts2[1].z = ACSDisplaySizes.ZAxisLength;\n builder.setSymbology(lineColor, lineColor, 1, (options & ACSDisplayOptions.Dynamics) === ACSDisplayOptions.None ? LinePixels.Solid : LinePixels.Code2);\n builder.addLineString(linePts2);\n\n const scale = ACSDisplaySizes.ArrowTipWidth / 2;\n const center = Point3d.create();\n const viewRMatrix = vp.rotation;\n\n const xVec = viewRMatrix.getRow(0);\n const yVec = viewRMatrix.getRow(1);\n\n builder.placement.matrix.multiplyTransposeVectorInPlace(xVec);\n builder.placement.matrix.multiplyTransposeVectorInPlace(yVec);\n\n xVec.normalize(xVec);\n yVec.normalize(yVec);\n\n const ellipse = Arc3d.createScaledXYColumns(center, Matrix3d.createColumns(xVec, yVec, Vector3d.create()), scale, scale, AngleSweep.createStartEnd(Angle.createRadians(0), Angle.createRadians(Math.PI * 2)));\n builder.addArc(ellipse, false, false);\n\n builder.setBlankingFill(fillColor);\n builder.addArc(ellipse, true, true);\n return;\n }\n\n const shapePts: Point3d[] = [];\n shapePts[0] = Point3d.create(ACSDisplaySizes.ArrowTipEnd, 0.0);\n shapePts[1] = Point3d.create(ACSDisplaySizes.ArrowTipFlange, ACSDisplaySizes.ArrowTipWidth);\n shapePts[2] = Point3d.create(ACSDisplaySizes.ArrowTipStart, ACSDisplaySizes.ArrowBaseWidth);\n shapePts[3] = Point3d.create(ACSDisplaySizes.ArrowBaseStart, ACSDisplaySizes.ArrowBaseWidth);\n shapePts[4] = Point3d.create(ACSDisplaySizes.ArrowBaseStart, -ACSDisplaySizes.ArrowBaseWidth);\n shapePts[5] = Point3d.create(ACSDisplaySizes.ArrowTipStart, -ACSDisplaySizes.ArrowBaseWidth);\n shapePts[6] = Point3d.create(ACSDisplaySizes.ArrowTipFlange, -ACSDisplaySizes.ArrowTipWidth);\n shapePts[7] = shapePts[0].clone();\n if (1 === axis)\n shapePts.forEach((tmpPt) => tmpPt.set(tmpPt.y, tmpPt.x));\n\n builder.setSymbology(lineColor, lineColor, 1, (options & ACSDisplayOptions.Dynamics) === ACSDisplayOptions.None ? LinePixels.Solid : LinePixels.Code2);\n builder.addLineString(shapePts);\n\n this.addAxisLabel(builder, axis, options, vp);\n\n builder.setBlankingFill(fillColor);\n builder.addShape(shapePts);\n }\n\n /** Returns a GraphicBuilder for this AuxCoordSystemState. */\n private createGraphicBuilder(context: DecorateContext, options: ACSDisplayOptions): GraphicBuilder {\n const checkOutOfView = (options & ACSDisplayOptions.CheckVisible) !== ACSDisplayOptions.None;\n const drawOrigin = this.getOrigin();\n\n if (checkOutOfView && !AuxCoordSystemState.isOriginInView(drawOrigin, context.viewport, true))\n options = options | ACSDisplayOptions.Deemphasized;\n\n let pixelSize = context.viewport.pixelsFromInches(ACSDisplaySizes.TriadSizeInches);\n\n if ((options & ACSDisplayOptions.Deemphasized) !== ACSDisplayOptions.None)\n pixelSize *= 0.8;\n else if ((options & ACSDisplayOptions.Active) !== ACSDisplayOptions.None)\n pixelSize *= 0.9;\n\n const exaggerate = context.viewport.view.getAspectRatioSkew();\n const scale = context.getPixelSizeAtPoint(drawOrigin) * pixelSize;\n const rMatrix = this.getRotation();\n\n rMatrix.transposeInPlace();\n rMatrix.scaleColumns(scale, scale / exaggerate, scale, rMatrix);\n const transform = Transform.createRefs(drawOrigin, rMatrix);\n\n const builder = context.createGraphicBuilder(GraphicType.WorldOverlay, transform);\n const vp = context.viewport;\n this.addAxis(builder, 0, options, vp);\n this.addAxis(builder, 1, options, vp);\n this.addAxis(builder, 2, options, vp);\n return builder;\n }\n\n public display(context: DecorateContext, options: ACSDisplayOptions) {\n const builder = this.createGraphicBuilder(context, options);\n if (undefined !== builder)\n context.addDecorationFromBuilder(builder);\n }\n}\n\n/** The state of an AuxCoordSystem2d element in the frontend\n * @public\n * @extensions\n */\nexport class AuxCoordSystem2dState extends AuxCoordSystemState implements AuxCoordSystem2dProps {\n public static override get className() { return \"AuxCoordSystem2d\"; }\n public readonly origin: Point2d;\n public angle: number; // in degrees\n private readonly _rMatrix: Matrix3d;\n\n constructor(props: AuxCoordSystem2dProps, iModel: IModelConnection) {\n super(props, iModel);\n this.origin = Point2d.fromJSON(props.origin);\n this.angle = JsonUtils.asDouble(props.angle);\n this._rMatrix = Matrix3d.createRotationAroundVector(Vector3d.unitZ(), Angle.createDegrees(this.angle)) ?? Matrix3d.createIdentity();\n }\n\n public override toJSON(): AuxCoordSystem2dProps {\n const val = super.toJSON() as AuxCoordSystem2dProps;\n val.origin = this.origin;\n val.angle = this.angle;\n return val;\n }\n\n public getOrigin(result?: Point3d): Point3d { return Point3d.createFrom(this.origin, result); }\n public setOrigin(val: XYAndZ | XAndY): void { this.origin.setFrom(val); }\n public getRotation(result?: Matrix3d): Matrix3d { return this._rMatrix.clone(result); }\n public setRotation(val: Matrix3d): void {\n this._rMatrix.setFrom(val);\n const angle = YawPitchRollAngles.createFromMatrix3d(val);\n this.angle = (undefined !== angle ? angle.yaw.degrees : 0.0);\n }\n}\n\n/** The state of an AuxCoordSystem3d element in the frontend\n * @public\n * @extensions\n */\nexport class AuxCoordSystem3dState extends AuxCoordSystemState implements AuxCoordSystem3dProps {\n public static override get className() { return \"AuxCoordSystem3d\"; }\n public readonly origin: Point3d;\n public yaw: number; // in degrees\n public pitch: number; // in degrees\n public roll: number; // in degrees\n private readonly _rMatrix: Matrix3d;\n\n constructor(props: AuxCoordSystem3dProps, iModel: IModelConnection) {\n super(props, iModel);\n this.origin = Point3d.fromJSON(props.origin);\n this.yaw = JsonUtils.asDouble(props.yaw);\n this.pitch = JsonUtils.asDouble(props.pitch);\n this.roll = JsonUtils.asDouble(props.roll);\n const angles = new YawPitchRollAngles(Angle.createDegrees(this.yaw), Angle.createDegrees(this.pitch), Angle.createDegrees(this.roll));\n this._rMatrix = angles.toMatrix3d();\n }\n\n public override toJSON(): AuxCoordSystem3dProps {\n const val = super.toJSON() as AuxCoordSystem3dProps;\n val.origin = this.origin;\n val.yaw = this.yaw;\n val.pitch = this.pitch;\n val.roll = this.roll;\n return val;\n }\n\n public getOrigin(result?: Point3d): Point3d { return Point3d.createFrom(this.origin, result); }\n public setOrigin(val: XYAndZ | XAndY): void { this.origin.setFrom(val); }\n public getRotation(result?: Matrix3d): Matrix3d { return this._rMatrix.clone(result); }\n public setRotation(rMatrix: Matrix3d): void {\n this._rMatrix.setFrom(rMatrix);\n const angles = YawPitchRollAngles.createFromMatrix3d(rMatrix);\n this.yaw = (undefined !== angles ? angles.yaw.degrees : 0.0);\n this.pitch = (undefined !== angles ? angles.pitch.degrees : 0.0);\n this.roll = (undefined !== angles ? angles.roll.degrees : 0.0);\n }\n}\n\n/** The state of an AuxCoordSystemSpatial element in the frontend\n * @public\n * @extensions\n */\nexport class AuxCoordSystemSpatialState extends AuxCoordSystem3dState {\n public static override get className() { return \"AuxCoordSystemSpatial\"; }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DrawingViewState.d.ts","sourceRoot":"","sources":["../../src/DrawingViewState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DrawingViewState.d.ts","sourceRoot":"","sources":["../../src/DrawingViewState.ts"],"names":[],"mappings":"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"}
@@ -170,6 +170,7 @@ class SectionAttachment {
170
170
  is3d: true,
171
171
  scale: { x: 1, y: 1 },
172
172
  },
173
+ contours: view.getDisplayStyle3d().settings.contours
173
174
  };
174
175
  this._viewFlagOverrides = { ...view.viewFlags, lighting: false, shadows: false };
175
176
  // Save off the original frustum (potentially adjusted by viewport).
@@ -1 +1 @@
1
- {"version":3,"file":"DrawingViewState.js","sourceRoot":"","sources":["../../src/DrawingViewState.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Views\n */\n\nimport { assert, dispose, Id64, Id64String } from \"@itwin/core-bentley\";\nimport {\n AxisAlignedBox3d, Frustum, HydrateViewStateRequestProps, HydrateViewStateResponseProps, QueryRowFormat, SectionDrawingViewProps, ViewDefinition2dProps, ViewFlagOverrides, ViewStateProps,\n} from \"@itwin/core-common\";\nimport { Constant, Range3d, Transform, TransformProps, Vector3d } from \"@itwin/core-geometry\";\nimport { CategorySelectorState } from \"./CategorySelectorState\";\nimport { CoordSystem } from \"./CoordSystem\";\nimport { DisplayStyle2dState } from \"./DisplayStyleState\";\nimport { Frustum2d } from \"./Frustum2d\";\nimport { IModelApp } from \"./IModelApp\";\nimport { IModelConnection } from \"./IModelConnection\";\nimport { FeatureSymbology } from \"./render/FeatureSymbology\";\nimport { GraphicBranch, GraphicBranchOptions } from \"./render/GraphicBranch\";\nimport { MockRender } from \"./internal/render/MockRender\";\nimport { RenderGraphic } from \"./render/RenderGraphic\";\nimport { Scene } from \"./render/Scene\";\nimport { DisclosedTileTreeSet, TileGraphicType } from \"./tile/internal\";\nimport { SceneContext } from \"./ViewContext\";\nimport { OffScreenViewport, Viewport } from \"./Viewport\";\nimport { ViewRect } from \"./common/ViewRect\";\nimport { AttachToViewportArgs, ComputeDisplayTransformArgs, ExtentLimits, GetAttachmentViewportArgs, ViewState2d, ViewState3d } from \"./ViewState\";\n\n/** Strictly for testing.\n * @internal\n */\nexport interface SectionDrawingInfo {\n readonly spatialView: Id64String;\n readonly drawingToSpatialTransform: Transform;\n}\n\n/** The information required to instantiate a [[SectionAttachment]]. This information is supplied to DrawingViewState constructor via ViewStateProps.\n * The spatial view is obtained asynchronously in DrawingViewState.load(). The SectionAttachment is created in DrawingViewState.attachToViewport and\n * disposed of in DrawingViewState.detachFromViewport.\n */\nclass SectionAttachmentInfo {\n private _spatialView: Id64String | ViewState3d;\n private readonly _drawingToSpatialTransform: Transform;\n private readonly _displaySpatialView: boolean;\n\n public get spatialView(): Id64String | ViewState3d { return this._spatialView; }\n public get wantDisplayed(): boolean {\n return this._displaySpatialView || DrawingViewState.alwaysDisplaySpatialView;\n }\n\n private constructor(spatialView: Id64String | ViewState3d, drawingToSpatialTransform: Transform, displaySpatialView: boolean) {\n this._spatialView = spatialView;\n this._drawingToSpatialTransform = drawingToSpatialTransform;\n this._displaySpatialView = displaySpatialView;\n }\n\n public static fromJSON(props?: SectionDrawingViewProps): SectionAttachmentInfo {\n if (!props)\n return new SectionAttachmentInfo(Id64.invalid, Transform.createIdentity(), false);\n\n return new SectionAttachmentInfo(props.spatialView, Transform.fromJSON(props.drawingToSpatialTransform), true === props.displaySpatialView);\n }\n\n public toJSON(): SectionDrawingViewProps | undefined {\n if (\"string\" === typeof this._spatialView && !Id64.isValidId64(this._spatialView))\n return undefined;\n\n return {\n spatialView: (this._spatialView instanceof ViewState3d) ? this._spatialView.id : this._spatialView,\n drawingToSpatialTransform: this._drawingToSpatialTransform.isIdentity ? undefined : this._drawingToSpatialTransform.toJSON(),\n displaySpatialView: this._displaySpatialView,\n };\n }\n\n public clone(iModel: IModelConnection): SectionAttachmentInfo {\n let spatialView = this._spatialView;\n if (spatialView instanceof ViewState3d)\n spatialView = spatialView.clone(iModel);\n\n return new SectionAttachmentInfo(spatialView, this._drawingToSpatialTransform, this._displaySpatialView);\n }\n\n public preload(options: HydrateViewStateRequestProps): void {\n if (!this.wantDisplayed)\n return;\n\n if (this._spatialView instanceof ViewState3d)\n return;\n\n if (!Id64.isValidId64(this._spatialView))\n return;\n\n options.spatialViewId = this._spatialView;\n options.viewStateLoadProps = {\n displayStyle: {\n omitScheduleScriptElementIds: !IModelApp.tileAdmin.enableFrontendScheduleScripts,\n compressExcludedElementIds: true,\n },\n };\n }\n\n public async load(iModel: IModelConnection): Promise<void> {\n if (!this.wantDisplayed)\n return;\n\n if (this._spatialView instanceof ViewState3d)\n return;\n\n if (!Id64.isValidId64(this._spatialView))\n return;\n\n const spatialView = await iModel.views.load(this._spatialView);\n if (spatialView instanceof ViewState3d)\n this._spatialView = spatialView;\n }\n\n public async postload(options: HydrateViewStateResponseProps, iModel: IModelConnection): Promise<void> {\n let spatialView;\n if (options.spatialViewProps) {\n spatialView = await iModel.views.convertViewStatePropsToViewState(options.spatialViewProps);\n }\n\n if (spatialView instanceof ViewState3d)\n this._spatialView = spatialView;\n }\n\n public createAttachment(toSheet: Transform | undefined): SectionAttachment | undefined {\n if (!this.wantDisplayed || !(this._spatialView instanceof ViewState3d))\n return undefined;\n\n const spatialToDrawing = this._drawingToSpatialTransform.inverse();\n return spatialToDrawing ? new SectionAttachment(this._spatialView, spatialToDrawing, this._drawingToSpatialTransform, toSheet) : undefined;\n }\n\n public get sectionDrawingInfo(): SectionDrawingInfo {\n return {\n drawingToSpatialTransform: this._drawingToSpatialTransform,\n spatialView: this._spatialView instanceof ViewState3d ? this._spatialView.id : this._spatialView,\n };\n }\n}\n\n/** A mostly no-op [[RenderTarget]] for a [[SectionAttachment]]. It allocates no webgl resources. */\nclass SectionTarget extends MockRender.OffScreenTarget {\n private readonly _attachment: SectionAttachment;\n\n public constructor(attachment: SectionAttachment) {\n super(IModelApp.renderSystem, new ViewRect(0, 0, 1, 1));\n this._attachment = attachment;\n }\n\n public override changeScene(scene: Scene): void {\n this._attachment.scene = scene;\n }\n\n public override overrideFeatureSymbology(ovrs: FeatureSymbology.Overrides): void {\n this._attachment.symbologyOverrides = ovrs;\n }\n}\n\n/** Draws the contents of an orthographic [[ViewState3d]] directly into a [[DrawingViewState]], if the associated [SectionDrawing]($backend)\n * specifies it should be. We select tiles for the view in the context of a lightweight offscreen viewport with a no-op [[RenderTarget]], then\n * add the resultant graphics to the drawing view's scene. The attachment is created in DrawingViewState.attachToViewport and disposed of in\n * DrawingViewState.detachFromViewport.\n */\nclass SectionAttachment {\n private readonly _viewFlagOverrides: ViewFlagOverrides;\n public readonly toDrawing: Transform;\n private readonly _fromDrawing: Transform;\n private readonly _viewRect = new ViewRect(0, 0, 1, 1);\n private readonly _originalFrustum = new Frustum();\n private readonly _drawingExtents: Vector3d;\n public readonly viewport: OffScreenViewport;\n private readonly _branchOptions: GraphicBranchOptions;\n public scene?: Scene;\n public symbologyOverrides: FeatureSymbology.Overrides;\n\n public get view(): ViewState3d {\n assert(this.viewport.view instanceof ViewState3d);\n return this.viewport.view;\n }\n\n public get zDepth(): number {\n return this._drawingExtents.z;\n }\n\n public get drawingRange() {\n const frustum3d = this._originalFrustum.transformBy(this.toDrawing);\n return frustum3d.toRange();\n }\n\n public constructor(view: ViewState3d, toDrawing: Transform, fromDrawing: Transform, toSheet: Transform | undefined) {\n // Save the input for clone(). Attach a copy to the viewport.\n this.toDrawing = toDrawing;\n this._fromDrawing = fromDrawing;\n\n this.viewport = OffScreenViewport.createViewport(view, new SectionTarget(this), true);\n\n this.symbologyOverrides = new FeatureSymbology.Overrides(view);\n let clipVolume;\n let clip = this.view.getViewClip();\n if (clip) {\n clip = clip.clone();\n const clipTransform = toSheet ? toSheet.multiplyTransformTransform(this.toDrawing) : this.toDrawing;\n clip.transformInPlace(clipTransform);\n clipVolume = IModelApp.renderSystem.createClipVolume(clip);\n }\n\n this._branchOptions = {\n clipVolume,\n hline: view.getDisplayStyle3d().settings.hiddenLineSettings,\n inSectionDrawingAttachment: true,\n frustum: {\n is3d: true,\n scale: { x: 1, y: 1 },\n },\n };\n\n this._viewFlagOverrides = { ...view.viewFlags, lighting: false, shadows: false };\n\n // Save off the original frustum (potentially adjusted by viewport).\n this.viewport.setupFromView();\n this.viewport.viewingSpace.getFrustum(CoordSystem.World, true, this._originalFrustum);\n\n const drawingFrustum = this._originalFrustum.transformBy(this.toDrawing);\n const drawingRange = drawingFrustum.toRange();\n this._drawingExtents = drawingRange.diagonal();\n this._drawingExtents.z = Math.abs(this._drawingExtents.z);\n }\n\n public [Symbol.dispose](): void {\n this.viewport[Symbol.dispose]();\n }\n\n public addToScene(context: SceneContext): void {\n if (context.viewport.freezeScene)\n return;\n\n const pixelSize = context.viewport.getPixelSizeAtPoint();\n if (0 === pixelSize)\n return;\n\n // Adjust offscreen viewport's frustum based on intersection with drawing view frustum.\n const frustum3d = this._originalFrustum.transformBy(this.toDrawing);\n const frustumRange3d = frustum3d.toRange();\n const frustum2d = context.viewport.getWorldFrustum();\n const frustumRange2d = frustum2d.toRange();\n const intersect = frustumRange3d.intersect(frustumRange2d);\n if (intersect.isNull)\n return;\n\n frustum3d.initFromRange(intersect);\n frustum3d.transformBy(this._fromDrawing, frustum3d);\n this.viewport.setupViewFromFrustum(frustum3d);\n\n // Adjust view rect based on size of attachment on screen so tiles of appropriate LOD are selected.\n const width = this._drawingExtents.x * intersect.xLength() / frustumRange3d.xLength();\n const height = this._drawingExtents.y * intersect.yLength() / frustumRange3d.yLength();\n this._viewRect.width = Math.max(1, Math.round(width / pixelSize));\n this._viewRect.height = Math.max(1, Math.round(height / pixelSize));\n this.viewport.setRect(this._viewRect);\n\n // Propagate settings from drawing viewport.\n this.viewport.debugBoundingBoxes = context.viewport.debugBoundingBoxes;\n this.viewport.setTileSizeModifier(context.viewport.tileSizeModifier);\n\n // Create the scene.\n this.viewport.renderFrame();\n const scene = this.scene;\n if (!scene)\n return;\n\n // Extract graphics and insert into drawing's scene context.\n const outputGraphics = (source: RenderGraphic[]) => {\n if (0 === source.length)\n return;\n\n const graphics = new GraphicBranch();\n graphics.setViewFlagOverrides(this._viewFlagOverrides);\n graphics.symbologyOverrides = this.symbologyOverrides;\n\n for (const graphic of source)\n graphics.entries.push(graphic);\n\n const branch = context.createGraphicBranch(graphics, this.toDrawing, this._branchOptions);\n context.outputGraphic(branch);\n };\n\n outputGraphics(scene.foreground);\n context.withGraphicType(TileGraphicType.BackgroundMap, () => outputGraphics(scene.background));\n context.withGraphicType(TileGraphicType.Overlay, () => outputGraphics(scene.overlay));\n\n // Report tile statistics to drawing viewport.\n const tileAdmin = IModelApp.tileAdmin;\n const selectedAndReady = tileAdmin.getTilesForUser(this.viewport);\n const requested = tileAdmin.getRequestsForUser(this.viewport);\n tileAdmin.addExternalTilesForUser(context.viewport, {\n requested: requested?.size ?? 0,\n selected: selectedAndReady?.selected.size ?? 0,\n ready: selectedAndReady?.ready.size ?? 0,\n });\n }\n}\n\n/** A view of a [DrawingModel]($backend)\n * @public\n * @extensions\n */\nexport class DrawingViewState extends ViewState2d {\n public static override get className() { return \"DrawingViewDefinition\"; }\n\n /** Exposed strictly for testing and debugging. Indicates that when loading the view, the spatial view should be displayed even\n * if `SectionDrawing.displaySpatialView` is not `true`.\n * @internal\n */\n public static alwaysDisplaySpatialView = false;\n\n /** Exposed strictly for testing and debugging. Indicates that the 2d graphics should not be displayed.\n * @internal\n */\n public static hideDrawingGraphics = false;\n\n private readonly _viewedExtents: AxisAlignedBox3d;\n private _attachmentInfo: SectionAttachmentInfo;\n private _attachment?: SectionAttachment;\n\n /** Strictly for testing. @internal */\n public get sectionDrawingProps(): SectionDrawingViewProps | undefined {\n return this._attachmentInfo.toJSON();\n }\n\n /** Strictly for testing. @internal */\n public get sectionDrawingInfo() {\n return this._attachmentInfo.sectionDrawingInfo;\n }\n\n /** Strictly for testing. @internal */\n public get attachment(): object | undefined {\n return this._attachment;\n }\n\n /** Strictly for testing. @internal */\n public get attachmentInfo(): { spatialView: Id64String | ViewState3d } {\n return this._attachmentInfo;\n }\n\n public constructor(props: ViewDefinition2dProps, iModel: IModelConnection, categories: CategorySelectorState, displayStyle: DisplayStyle2dState, extents: AxisAlignedBox3d, sectionDrawing?: SectionDrawingViewProps) {\n super(props, iModel, categories, displayStyle);\n if (categories instanceof DrawingViewState) {\n this._viewedExtents = categories._viewedExtents.clone();\n this._attachmentInfo = categories._attachmentInfo.clone(iModel);\n } else {\n this._viewedExtents = extents;\n this._attachmentInfo = SectionAttachmentInfo.fromJSON(sectionDrawing);\n }\n }\n\n /** See [[ViewState.attachToViewport]]. */\n public override attachToViewport(args: AttachToViewportArgs): void {\n super.attachToViewport(args);\n assert(undefined === this._attachment);\n this._attachment = this._attachmentInfo.createAttachment(args.drawingToSheetTransform);\n }\n\n /** See [[ViewState.detachFromViewport]]. */\n public override detachFromViewport(): void {\n super.detachFromViewport();\n this._attachment = dispose(this._attachment);\n }\n\n public override async changeViewedModel(modelId: Id64String): Promise<void> {\n await super.changeViewedModel(modelId);\n const props = await this.querySectionDrawingProps();\n this._attachmentInfo = SectionAttachmentInfo.fromJSON(props);\n\n // super.changeViewedModel() throws if attached to viewport, and attachment only allocated while attached to viewport\n assert(undefined === this._attachment);\n }\n\n private async querySectionDrawingProps(): Promise<SectionDrawingViewProps> {\n let spatialView = Id64.invalid;\n let drawingToSpatialTransform: TransformProps | undefined;\n let displaySpatialView = false;\n try {\n const ecsql = `\n SELECT spatialView,\n json_extract(jsonProperties, '$.drawingToSpatialTransform') as drawingToSpatialTransform,\n CAST(json_extract(jsonProperties, '$.displaySpatialView') as BOOLEAN) as displaySpatialView\n FROM bis.SectionDrawing\n WHERE ECInstanceId=${this.baseModelId}`;\n\n for await (const row of this.iModel.createQueryReader(ecsql, undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames })) {\n spatialView = Id64.fromJSON(row.spatialView?.id);\n displaySpatialView = !!row.displaySpatialView;\n try {\n drawingToSpatialTransform = JSON.parse(row.drawingToSpatialTransform);\n } catch {\n // We'll use identity transform.\n }\n\n break;\n }\n } catch {\n // The version of BisCore ECSchema in the iModel is probably too old to contain the SectionDrawing ECClass.\n }\n\n return { spatialView, displaySpatialView, drawingToSpatialTransform };\n }\n\n /** @internal */\n protected override preload(hydrateRequest: HydrateViewStateRequestProps): void {\n assert(!this.isAttachedToViewport);\n super.preload(hydrateRequest);\n this._attachmentInfo.preload(hydrateRequest);\n }\n\n /** @internal */\n protected override async postload(hydrateResponse: HydrateViewStateResponseProps): Promise<void> {\n const promises = [];\n promises.push(super.postload(hydrateResponse));\n promises.push(this._attachmentInfo.postload(hydrateResponse, this.iModel));\n await Promise.all(promises);\n }\n\n public static override createFromProps(props: ViewStateProps, iModel: IModelConnection): DrawingViewState {\n const cat = new CategorySelectorState(props.categorySelectorProps, iModel);\n const displayStyleState = new DisplayStyle2dState(props.displayStyleProps, iModel);\n const extents = props.modelExtents ? Range3d.fromJSON(props.modelExtents) : new Range3d();\n\n // use \"new this\" so subclasses are correct\n return new this(props.viewDefinitionProps as ViewDefinition2dProps, iModel, cat, displayStyleState, extents, props.sectionDrawing);\n }\n\n public override toProps(): ViewStateProps {\n const props = super.toProps();\n props.modelExtents = this._viewedExtents.toJSON();\n props.sectionDrawing = this._attachmentInfo.toJSON();\n return props;\n }\n\n public getViewedExtents(): AxisAlignedBox3d {\n const extents = this._viewedExtents.clone();\n if (this._attachment) {\n extents.extendRange(this._attachment.drawingRange);\n }\n\n return extents;\n }\n\n public get defaultExtentLimits(): ExtentLimits {\n return {\n min: Constant.oneMillimeter,\n max: 3 * Constant.diameterOfEarth,\n };\n }\n\n public override isDrawingView(): this is DrawingViewState { return true; }\n\n /** See [[ViewState.getOrigin]]. */\n public override getOrigin() {\n const origin = super.getOrigin();\n if (this._attachment)\n origin.z = -this._attachment.zDepth;\n\n return origin;\n }\n\n /** See [[ViewState.getExtents]]. */\n public override getExtents() {\n const extents = super.getExtents();\n if (this._attachment)\n extents.z = this._attachment.zDepth + Frustum2d.minimumZDistance;\n\n return extents;\n }\n\n /** @internal */\n public override discloseTileTrees(trees: DisclosedTileTreeSet): void {\n super.discloseTileTrees(trees);\n if (this._attachment)\n trees.disclose(this._attachment.viewport);\n }\n\n /** @internal */\n public override createScene(context: SceneContext): void {\n if (!DrawingViewState.hideDrawingGraphics)\n super.createScene(context);\n\n if (this._attachment)\n this._attachment.addToScene(context);\n }\n\n public override get areAllTileTreesLoaded(): boolean {\n return super.areAllTileTreesLoaded && (!this._attachment || this._attachment.view.areAllTileTreesLoaded);\n }\n\n /** @internal */\n public override get secondaryViewports() {\n return this._attachment ? [this._attachment.viewport] : super.secondaryViewports;\n }\n\n /** @internal */\n public override getAttachmentViewport(args: GetAttachmentViewportArgs): Viewport | undefined {\n const attach = args.inSectionDrawingAttachment ? this._attachment : undefined;\n return attach?.viewport;\n }\n\n /** @beta */\n public override computeDisplayTransform(args: ComputeDisplayTransformArgs): Transform | undefined {\n // ###TODO we're currently ignoring model and element Id in args, assuming irrelevant for drawings.\n // Should probably call super or have super call us.\n const attach = args.inSectionDrawingAttachment ? this._attachment : undefined;\n return attach?.toDrawing.clone(args.output);\n }\n}\n"]}
1
+ {"version":3,"file":"DrawingViewState.js","sourceRoot":"","sources":["../../src/DrawingViewState.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Views\n */\n\nimport { assert, dispose, Id64, Id64String } from \"@itwin/core-bentley\";\nimport {\n AxisAlignedBox3d, Frustum, HydrateViewStateRequestProps, HydrateViewStateResponseProps, QueryRowFormat, SectionDrawingViewProps, ViewDefinition2dProps, ViewFlagOverrides, ViewStateProps,\n} from \"@itwin/core-common\";\nimport { Constant, Range3d, Transform, TransformProps, Vector3d } from \"@itwin/core-geometry\";\nimport { CategorySelectorState } from \"./CategorySelectorState\";\nimport { CoordSystem } from \"./CoordSystem\";\nimport { DisplayStyle2dState } from \"./DisplayStyleState\";\nimport { Frustum2d } from \"./Frustum2d\";\nimport { IModelApp } from \"./IModelApp\";\nimport { IModelConnection } from \"./IModelConnection\";\nimport { FeatureSymbology } from \"./render/FeatureSymbology\";\nimport { GraphicBranch, GraphicBranchOptions } from \"./render/GraphicBranch\";\nimport { MockRender } from \"./internal/render/MockRender\";\nimport { RenderGraphic } from \"./render/RenderGraphic\";\nimport { Scene } from \"./render/Scene\";\nimport { DisclosedTileTreeSet, TileGraphicType } from \"./tile/internal\";\nimport { SceneContext } from \"./ViewContext\";\nimport { OffScreenViewport, Viewport } from \"./Viewport\";\nimport { ViewRect } from \"./common/ViewRect\";\nimport { AttachToViewportArgs, ComputeDisplayTransformArgs, ExtentLimits, GetAttachmentViewportArgs, ViewState2d, ViewState3d } from \"./ViewState\";\n\n/** Strictly for testing.\n * @internal\n */\nexport interface SectionDrawingInfo {\n readonly spatialView: Id64String;\n readonly drawingToSpatialTransform: Transform;\n}\n\n/** The information required to instantiate a [[SectionAttachment]]. This information is supplied to DrawingViewState constructor via ViewStateProps.\n * The spatial view is obtained asynchronously in DrawingViewState.load(). The SectionAttachment is created in DrawingViewState.attachToViewport and\n * disposed of in DrawingViewState.detachFromViewport.\n */\nclass SectionAttachmentInfo {\n private _spatialView: Id64String | ViewState3d;\n private readonly _drawingToSpatialTransform: Transform;\n private readonly _displaySpatialView: boolean;\n\n public get spatialView(): Id64String | ViewState3d { return this._spatialView; }\n public get wantDisplayed(): boolean {\n return this._displaySpatialView || DrawingViewState.alwaysDisplaySpatialView;\n }\n\n private constructor(spatialView: Id64String | ViewState3d, drawingToSpatialTransform: Transform, displaySpatialView: boolean) {\n this._spatialView = spatialView;\n this._drawingToSpatialTransform = drawingToSpatialTransform;\n this._displaySpatialView = displaySpatialView;\n }\n\n public static fromJSON(props?: SectionDrawingViewProps): SectionAttachmentInfo {\n if (!props)\n return new SectionAttachmentInfo(Id64.invalid, Transform.createIdentity(), false);\n\n return new SectionAttachmentInfo(props.spatialView, Transform.fromJSON(props.drawingToSpatialTransform), true === props.displaySpatialView);\n }\n\n public toJSON(): SectionDrawingViewProps | undefined {\n if (\"string\" === typeof this._spatialView && !Id64.isValidId64(this._spatialView))\n return undefined;\n\n return {\n spatialView: (this._spatialView instanceof ViewState3d) ? this._spatialView.id : this._spatialView,\n drawingToSpatialTransform: this._drawingToSpatialTransform.isIdentity ? undefined : this._drawingToSpatialTransform.toJSON(),\n displaySpatialView: this._displaySpatialView,\n };\n }\n\n public clone(iModel: IModelConnection): SectionAttachmentInfo {\n let spatialView = this._spatialView;\n if (spatialView instanceof ViewState3d)\n spatialView = spatialView.clone(iModel);\n\n return new SectionAttachmentInfo(spatialView, this._drawingToSpatialTransform, this._displaySpatialView);\n }\n\n public preload(options: HydrateViewStateRequestProps): void {\n if (!this.wantDisplayed)\n return;\n\n if (this._spatialView instanceof ViewState3d)\n return;\n\n if (!Id64.isValidId64(this._spatialView))\n return;\n\n options.spatialViewId = this._spatialView;\n options.viewStateLoadProps = {\n displayStyle: {\n omitScheduleScriptElementIds: !IModelApp.tileAdmin.enableFrontendScheduleScripts,\n compressExcludedElementIds: true,\n },\n };\n }\n\n public async load(iModel: IModelConnection): Promise<void> {\n if (!this.wantDisplayed)\n return;\n\n if (this._spatialView instanceof ViewState3d)\n return;\n\n if (!Id64.isValidId64(this._spatialView))\n return;\n\n const spatialView = await iModel.views.load(this._spatialView);\n if (spatialView instanceof ViewState3d)\n this._spatialView = spatialView;\n }\n\n public async postload(options: HydrateViewStateResponseProps, iModel: IModelConnection): Promise<void> {\n let spatialView;\n if (options.spatialViewProps) {\n spatialView = await iModel.views.convertViewStatePropsToViewState(options.spatialViewProps);\n }\n\n if (spatialView instanceof ViewState3d)\n this._spatialView = spatialView;\n }\n\n public createAttachment(toSheet: Transform | undefined): SectionAttachment | undefined {\n if (!this.wantDisplayed || !(this._spatialView instanceof ViewState3d))\n return undefined;\n\n const spatialToDrawing = this._drawingToSpatialTransform.inverse();\n return spatialToDrawing ? new SectionAttachment(this._spatialView, spatialToDrawing, this._drawingToSpatialTransform, toSheet) : undefined;\n }\n\n public get sectionDrawingInfo(): SectionDrawingInfo {\n return {\n drawingToSpatialTransform: this._drawingToSpatialTransform,\n spatialView: this._spatialView instanceof ViewState3d ? this._spatialView.id : this._spatialView,\n };\n }\n}\n\n/** A mostly no-op [[RenderTarget]] for a [[SectionAttachment]]. It allocates no webgl resources. */\nclass SectionTarget extends MockRender.OffScreenTarget {\n private readonly _attachment: SectionAttachment;\n\n public constructor(attachment: SectionAttachment) {\n super(IModelApp.renderSystem, new ViewRect(0, 0, 1, 1));\n this._attachment = attachment;\n }\n\n public override changeScene(scene: Scene): void {\n this._attachment.scene = scene;\n }\n\n public override overrideFeatureSymbology(ovrs: FeatureSymbology.Overrides): void {\n this._attachment.symbologyOverrides = ovrs;\n }\n}\n\n/** Draws the contents of an orthographic [[ViewState3d]] directly into a [[DrawingViewState]], if the associated [SectionDrawing]($backend)\n * specifies it should be. We select tiles for the view in the context of a lightweight offscreen viewport with a no-op [[RenderTarget]], then\n * add the resultant graphics to the drawing view's scene. The attachment is created in DrawingViewState.attachToViewport and disposed of in\n * DrawingViewState.detachFromViewport.\n */\nclass SectionAttachment {\n private readonly _viewFlagOverrides: ViewFlagOverrides;\n public readonly toDrawing: Transform;\n private readonly _fromDrawing: Transform;\n private readonly _viewRect = new ViewRect(0, 0, 1, 1);\n private readonly _originalFrustum = new Frustum();\n private readonly _drawingExtents: Vector3d;\n public readonly viewport: OffScreenViewport;\n private readonly _branchOptions: GraphicBranchOptions;\n public scene?: Scene;\n public symbologyOverrides: FeatureSymbology.Overrides;\n\n public get view(): ViewState3d {\n assert(this.viewport.view instanceof ViewState3d);\n return this.viewport.view;\n }\n\n public get zDepth(): number {\n return this._drawingExtents.z;\n }\n\n public get drawingRange() {\n const frustum3d = this._originalFrustum.transformBy(this.toDrawing);\n return frustum3d.toRange();\n }\n\n public constructor(view: ViewState3d, toDrawing: Transform, fromDrawing: Transform, toSheet: Transform | undefined) {\n // Save the input for clone(). Attach a copy to the viewport.\n this.toDrawing = toDrawing;\n this._fromDrawing = fromDrawing;\n\n this.viewport = OffScreenViewport.createViewport(view, new SectionTarget(this), true);\n\n this.symbologyOverrides = new FeatureSymbology.Overrides(view);\n let clipVolume;\n let clip = this.view.getViewClip();\n if (clip) {\n clip = clip.clone();\n const clipTransform = toSheet ? toSheet.multiplyTransformTransform(this.toDrawing) : this.toDrawing;\n clip.transformInPlace(clipTransform);\n clipVolume = IModelApp.renderSystem.createClipVolume(clip);\n }\n\n this._branchOptions = {\n clipVolume,\n hline: view.getDisplayStyle3d().settings.hiddenLineSettings,\n inSectionDrawingAttachment: true,\n frustum: {\n is3d: true,\n scale: { x: 1, y: 1 },\n },\n contours: view.getDisplayStyle3d().settings.contours\n };\n\n this._viewFlagOverrides = { ...view.viewFlags, lighting: false, shadows: false };\n\n // Save off the original frustum (potentially adjusted by viewport).\n this.viewport.setupFromView();\n this.viewport.viewingSpace.getFrustum(CoordSystem.World, true, this._originalFrustum);\n\n const drawingFrustum = this._originalFrustum.transformBy(this.toDrawing);\n const drawingRange = drawingFrustum.toRange();\n this._drawingExtents = drawingRange.diagonal();\n this._drawingExtents.z = Math.abs(this._drawingExtents.z);\n }\n\n public [Symbol.dispose](): void {\n this.viewport[Symbol.dispose]();\n }\n\n public addToScene(context: SceneContext): void {\n if (context.viewport.freezeScene)\n return;\n\n const pixelSize = context.viewport.getPixelSizeAtPoint();\n if (0 === pixelSize)\n return;\n\n // Adjust offscreen viewport's frustum based on intersection with drawing view frustum.\n const frustum3d = this._originalFrustum.transformBy(this.toDrawing);\n const frustumRange3d = frustum3d.toRange();\n const frustum2d = context.viewport.getWorldFrustum();\n const frustumRange2d = frustum2d.toRange();\n const intersect = frustumRange3d.intersect(frustumRange2d);\n if (intersect.isNull)\n return;\n\n frustum3d.initFromRange(intersect);\n frustum3d.transformBy(this._fromDrawing, frustum3d);\n this.viewport.setupViewFromFrustum(frustum3d);\n\n // Adjust view rect based on size of attachment on screen so tiles of appropriate LOD are selected.\n const width = this._drawingExtents.x * intersect.xLength() / frustumRange3d.xLength();\n const height = this._drawingExtents.y * intersect.yLength() / frustumRange3d.yLength();\n this._viewRect.width = Math.max(1, Math.round(width / pixelSize));\n this._viewRect.height = Math.max(1, Math.round(height / pixelSize));\n this.viewport.setRect(this._viewRect);\n\n // Propagate settings from drawing viewport.\n this.viewport.debugBoundingBoxes = context.viewport.debugBoundingBoxes;\n this.viewport.setTileSizeModifier(context.viewport.tileSizeModifier);\n\n // Create the scene.\n this.viewport.renderFrame();\n const scene = this.scene;\n if (!scene)\n return;\n\n // Extract graphics and insert into drawing's scene context.\n const outputGraphics = (source: RenderGraphic[]) => {\n if (0 === source.length)\n return;\n\n const graphics = new GraphicBranch();\n graphics.setViewFlagOverrides(this._viewFlagOverrides);\n graphics.symbologyOverrides = this.symbologyOverrides;\n\n for (const graphic of source)\n graphics.entries.push(graphic);\n\n const branch = context.createGraphicBranch(graphics, this.toDrawing, this._branchOptions);\n context.outputGraphic(branch);\n };\n\n outputGraphics(scene.foreground);\n context.withGraphicType(TileGraphicType.BackgroundMap, () => outputGraphics(scene.background));\n context.withGraphicType(TileGraphicType.Overlay, () => outputGraphics(scene.overlay));\n\n // Report tile statistics to drawing viewport.\n const tileAdmin = IModelApp.tileAdmin;\n const selectedAndReady = tileAdmin.getTilesForUser(this.viewport);\n const requested = tileAdmin.getRequestsForUser(this.viewport);\n tileAdmin.addExternalTilesForUser(context.viewport, {\n requested: requested?.size ?? 0,\n selected: selectedAndReady?.selected.size ?? 0,\n ready: selectedAndReady?.ready.size ?? 0,\n });\n }\n}\n\n/** A view of a [DrawingModel]($backend)\n * @public\n * @extensions\n */\nexport class DrawingViewState extends ViewState2d {\n public static override get className() { return \"DrawingViewDefinition\"; }\n\n /** Exposed strictly for testing and debugging. Indicates that when loading the view, the spatial view should be displayed even\n * if `SectionDrawing.displaySpatialView` is not `true`.\n * @internal\n */\n public static alwaysDisplaySpatialView = false;\n\n /** Exposed strictly for testing and debugging. Indicates that the 2d graphics should not be displayed.\n * @internal\n */\n public static hideDrawingGraphics = false;\n\n private readonly _viewedExtents: AxisAlignedBox3d;\n private _attachmentInfo: SectionAttachmentInfo;\n private _attachment?: SectionAttachment;\n\n /** Strictly for testing. @internal */\n public get sectionDrawingProps(): SectionDrawingViewProps | undefined {\n return this._attachmentInfo.toJSON();\n }\n\n /** Strictly for testing. @internal */\n public get sectionDrawingInfo() {\n return this._attachmentInfo.sectionDrawingInfo;\n }\n\n /** Strictly for testing. @internal */\n public get attachment(): object | undefined {\n return this._attachment;\n }\n\n /** Strictly for testing. @internal */\n public get attachmentInfo(): { spatialView: Id64String | ViewState3d } {\n return this._attachmentInfo;\n }\n\n public constructor(props: ViewDefinition2dProps, iModel: IModelConnection, categories: CategorySelectorState, displayStyle: DisplayStyle2dState, extents: AxisAlignedBox3d, sectionDrawing?: SectionDrawingViewProps) {\n super(props, iModel, categories, displayStyle);\n if (categories instanceof DrawingViewState) {\n this._viewedExtents = categories._viewedExtents.clone();\n this._attachmentInfo = categories._attachmentInfo.clone(iModel);\n } else {\n this._viewedExtents = extents;\n this._attachmentInfo = SectionAttachmentInfo.fromJSON(sectionDrawing);\n }\n }\n\n /** See [[ViewState.attachToViewport]]. */\n public override attachToViewport(args: AttachToViewportArgs): void {\n super.attachToViewport(args);\n assert(undefined === this._attachment);\n this._attachment = this._attachmentInfo.createAttachment(args.drawingToSheetTransform);\n }\n\n /** See [[ViewState.detachFromViewport]]. */\n public override detachFromViewport(): void {\n super.detachFromViewport();\n this._attachment = dispose(this._attachment);\n }\n\n public override async changeViewedModel(modelId: Id64String): Promise<void> {\n await super.changeViewedModel(modelId);\n const props = await this.querySectionDrawingProps();\n this._attachmentInfo = SectionAttachmentInfo.fromJSON(props);\n\n // super.changeViewedModel() throws if attached to viewport, and attachment only allocated while attached to viewport\n assert(undefined === this._attachment);\n }\n\n private async querySectionDrawingProps(): Promise<SectionDrawingViewProps> {\n let spatialView = Id64.invalid;\n let drawingToSpatialTransform: TransformProps | undefined;\n let displaySpatialView = false;\n try {\n const ecsql = `\n SELECT spatialView,\n json_extract(jsonProperties, '$.drawingToSpatialTransform') as drawingToSpatialTransform,\n CAST(json_extract(jsonProperties, '$.displaySpatialView') as BOOLEAN) as displaySpatialView\n FROM bis.SectionDrawing\n WHERE ECInstanceId=${this.baseModelId}`;\n\n for await (const row of this.iModel.createQueryReader(ecsql, undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames })) {\n spatialView = Id64.fromJSON(row.spatialView?.id);\n displaySpatialView = !!row.displaySpatialView;\n try {\n drawingToSpatialTransform = JSON.parse(row.drawingToSpatialTransform);\n } catch {\n // We'll use identity transform.\n }\n\n break;\n }\n } catch {\n // The version of BisCore ECSchema in the iModel is probably too old to contain the SectionDrawing ECClass.\n }\n\n return { spatialView, displaySpatialView, drawingToSpatialTransform };\n }\n\n /** @internal */\n protected override preload(hydrateRequest: HydrateViewStateRequestProps): void {\n assert(!this.isAttachedToViewport);\n super.preload(hydrateRequest);\n this._attachmentInfo.preload(hydrateRequest);\n }\n\n /** @internal */\n protected override async postload(hydrateResponse: HydrateViewStateResponseProps): Promise<void> {\n const promises = [];\n promises.push(super.postload(hydrateResponse));\n promises.push(this._attachmentInfo.postload(hydrateResponse, this.iModel));\n await Promise.all(promises);\n }\n\n public static override createFromProps(props: ViewStateProps, iModel: IModelConnection): DrawingViewState {\n const cat = new CategorySelectorState(props.categorySelectorProps, iModel);\n const displayStyleState = new DisplayStyle2dState(props.displayStyleProps, iModel);\n const extents = props.modelExtents ? Range3d.fromJSON(props.modelExtents) : new Range3d();\n\n // use \"new this\" so subclasses are correct\n return new this(props.viewDefinitionProps as ViewDefinition2dProps, iModel, cat, displayStyleState, extents, props.sectionDrawing);\n }\n\n public override toProps(): ViewStateProps {\n const props = super.toProps();\n props.modelExtents = this._viewedExtents.toJSON();\n props.sectionDrawing = this._attachmentInfo.toJSON();\n return props;\n }\n\n public getViewedExtents(): AxisAlignedBox3d {\n const extents = this._viewedExtents.clone();\n if (this._attachment) {\n extents.extendRange(this._attachment.drawingRange);\n }\n\n return extents;\n }\n\n public get defaultExtentLimits(): ExtentLimits {\n return {\n min: Constant.oneMillimeter,\n max: 3 * Constant.diameterOfEarth,\n };\n }\n\n public override isDrawingView(): this is DrawingViewState { return true; }\n\n /** See [[ViewState.getOrigin]]. */\n public override getOrigin() {\n const origin = super.getOrigin();\n if (this._attachment)\n origin.z = -this._attachment.zDepth;\n\n return origin;\n }\n\n /** See [[ViewState.getExtents]]. */\n public override getExtents() {\n const extents = super.getExtents();\n if (this._attachment)\n extents.z = this._attachment.zDepth + Frustum2d.minimumZDistance;\n\n return extents;\n }\n\n /** @internal */\n public override discloseTileTrees(trees: DisclosedTileTreeSet): void {\n super.discloseTileTrees(trees);\n if (this._attachment)\n trees.disclose(this._attachment.viewport);\n }\n\n /** @internal */\n public override createScene(context: SceneContext): void {\n if (!DrawingViewState.hideDrawingGraphics)\n super.createScene(context);\n\n if (this._attachment)\n this._attachment.addToScene(context);\n }\n\n public override get areAllTileTreesLoaded(): boolean {\n return super.areAllTileTreesLoaded && (!this._attachment || this._attachment.view.areAllTileTreesLoaded);\n }\n\n /** @internal */\n public override get secondaryViewports() {\n return this._attachment ? [this._attachment.viewport] : super.secondaryViewports;\n }\n\n /** @internal */\n public override getAttachmentViewport(args: GetAttachmentViewportArgs): Viewport | undefined {\n const attach = args.inSectionDrawingAttachment ? this._attachment : undefined;\n return attach?.viewport;\n }\n\n /** @beta */\n public override computeDisplayTransform(args: ComputeDisplayTransformArgs): Transform | undefined {\n // ###TODO we're currently ignoring model and element Id in args, assuming irrelevant for drawings.\n // Should probably call super or have super call us.\n const attach = args.inSectionDrawingAttachment ? this._attachment : undefined;\n return attach?.toDrawing.clone(args.output);\n }\n}\n"]}
@@ -98,7 +98,7 @@ export * from "./render/ScreenSpaceEffectBuilder";
98
98
  export * from "./render/VisibleFeature";
99
99
  export * from "./internal/render/webgl/IModelFrameLifecycle";
100
100
  export type { TxnEntityChange, TxnEntityChangeIterable, TxnEntityChangeType, TxnEntityChanges, TxnEntityChangesFilterOptions, TxnEntityMetadata, TxnEntityMetadataCriterion, } from "./TxnEntityChanges";
101
- export { type TileTreeDiscloser, DisclosedTileTreeSet, type ReadGltfGraphicsArgs, type GltfGraphic, type GltfTemplate, readGltfGraphics, readGltfTemplate, readGltf, readElementGraphics, type BatchTableProperties, RealityTileTree, type RealityTileGeometry, RealityTile, type RenderGraphicTileTreeArgs, type GpuMemoryLimit, type GpuMemoryLimits, TileAdmin, type TileContent, type TiledGraphicsProvider, type TileDrawArgParams, TileDrawArgs, type CollectTileStatus, type TileGeometryCollectorOptions, TileGeometryCollector, type GeometryTileTreeReference, type TileParams, TileRequestChannels, type TileContentDecodingStatistics, TileRequestChannelStatistics, TileRequestChannel, TileRequest, type TileTreeOwner, type TileTreeParams, TileGraphicType, TileTreeReference, type TileTreeSupplier, TileTreeLoadStatus, TileTree, Tile, TileLoadStatus, TileVisibility, TileLoadPriority, TileBoundingBoxes, TileUsageMarker, TileUser, BingElevationProvider, QuadId, type QuadIdProps, MapTilingScheme, GeographicTilingScheme, WebMercatorProjection, WebMercatorTilingScheme, type MapLayerIndex, MapTileProjection, MapTile, MapLayerTileTreeReference, MapLayerSourceStatus, type MapLayerSourceProps, MapLayerSource, MapLayerSources, MapLayerImageryProviderStatus, MapLayerImageryProvider, ImageryMapLayerFormat, MapLayerFormat, type ValidateSourceArgs, type MapLayerFormatType, type MapLayerSourceValidation, type MapLayerOptions, MapLayerFormatRegistry, type MapLayerTokenEndpoint, type MapLayerAuthenticationInfo, type MapLayerAccessToken, type MapLayerAccessTokenParams, type MapLayerAccessClient, type MapFeatureInfoOptions, MapFeatureInfoRecord, type MapFeatureInfo, type MapLayerFeatureInfo, type MapSubLayerFeatureInfo, type MapLayerFeature, type MapLayerFeatureGeometry, type MapLayerFeatureAttribute, MapLayerFeatureRecord, MapCartoRectangle, ImageryMapLayerTreeReference, EllipsoidTerrainProvider, getCesiumAssetUrl, MapTileTreeScaleRangeVisibility, MapTileTree, type TerrainMeshProviderOptions, type RequestMeshDataArgs, type ReadMeshArgs, TerrainMeshProvider, type TerrainProvider, TerrainProviderRegistry, } from "./tile/internal";
101
+ export { type TileTreeDiscloser, DisclosedTileTreeSet, type ReadGltfGraphicsArgs, type GltfGraphic, type GltfTemplate, readGltfGraphics, readGltfTemplate, readGltf, readElementGraphics, type BatchTableProperties, RealityTileTree, type RealityTileGeometry, RealityTile, type RenderGraphicTileTreeArgs, type GpuMemoryLimit, type GpuMemoryLimits, TileAdmin, type TileContent, type TiledGraphicsProvider, type TileDrawArgParams, TileDrawArgs, type CollectTileStatus, type TileGeometryCollectorOptions, TileGeometryCollector, type GeometryTileTreeReference, type GeometryTileTreeReferenceOptions, type TileParams, TileRequestChannels, type TileContentDecodingStatistics, TileRequestChannelStatistics, TileRequestChannel, TileRequest, type TileTreeOwner, type TileTreeParams, TileGraphicType, TileTreeReference, type TileTreeSupplier, TileTreeLoadStatus, TileTree, Tile, TileLoadStatus, TileVisibility, TileLoadPriority, TileBoundingBoxes, TileUsageMarker, TileUser, BingElevationProvider, QuadId, type QuadIdProps, MapTilingScheme, GeographicTilingScheme, WebMercatorProjection, WebMercatorTilingScheme, type MapLayerIndex, MapTileProjection, MapTile, MapLayerTileTreeReference, MapLayerSourceStatus, type MapLayerSourceProps, MapLayerSource, MapLayerSources, MapLayerImageryProviderStatus, MapLayerImageryProvider, ImageryMapLayerFormat, MapLayerFormat, type ValidateSourceArgs, type MapLayerFormatType, type MapLayerSourceValidation, type MapLayerOptions, MapLayerFormatRegistry, type MapLayerTokenEndpoint, type MapLayerAuthenticationInfo, type MapLayerAccessToken, type MapLayerAccessTokenParams, type MapLayerAccessClient, type MapFeatureInfoOptions, MapFeatureInfoRecord, type MapFeatureInfo, type MapLayerFeatureInfo, type MapSubLayerFeatureInfo, type MapLayerFeature, type MapLayerFeatureGeometry, type MapLayerFeatureAttribute, MapLayerFeatureRecord, MapCartoRectangle, ImageryMapLayerTreeReference, EllipsoidTerrainProvider, getCesiumAssetUrl, MapTileTreeScaleRangeVisibility, MapTileTree, type TerrainMeshProviderOptions, type RequestMeshDataArgs, type ReadMeshArgs, TerrainMeshProvider, type TerrainProvider, TerrainProviderRegistry, } from "./tile/internal";
102
102
  export * from "./tools/AccuDrawTool";
103
103
  export * from "./tools/AccuDrawViewportUI";
104
104
  export * from "./tools/ClipViewTool";
@@ -1 +1 @@
1
- {"version":3,"file":"core-frontend.d.ts","sourceRoot":"","sources":["../../src/core-frontend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-frontend.d.ts","sourceRoot":"","sources":["../../src/core-frontend.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"core-frontend.js","sourceRoot":"","sources":["../../src/core-frontend.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\nexport * from \"./AccuDraw\";\nexport * from \"./AccuSnap\";\nexport * from \"./AuxCoordSys\";\nexport * from \"./BingLocation\";\nexport * from \"./BriefcaseConnection\";\nexport * from \"./BriefcaseTxns\";\nexport * from \"./CatalogConnection\";\nexport * from \"./CategorySelectorState\";\nexport * from \"./ChangeFlags\";\nexport * from \"./CheckpointConnection\";\nexport * from \"./common\";\nexport * from \"./ContextRealityModelState\";\nexport * from \"./CoordSystem\";\nexport * from \"./DecorationsCache\";\nexport * from \"./DevTools\";\nexport * from \"./DisplayStyleState\";\nexport * from \"./DrawingViewState\";\nexport * from \"./ElementLocateManager\";\nexport * from \"./EmphasizeElements\";\nexport * from \"./EntityState\";\nexport * from \"./EnvironmentDecorations\";\nexport * from \"./FeatureOverrideProvider\";\nexport * from \"./FlashSettings\";\nexport * from \"./FrontendHubAccess\";\nexport * from \"./Frustum2d\";\nexport * from \"./FrustumAnimator\";\nexport * from \"./FuzzySearch\";\nexport * from \"./GeoServices\";\nexport * from \"./GlobeAnimator\";\nexport * from \"./GraphicalEditingScope\";\nexport * from \"./HitDetail\";\nexport * from \"./IModelApp\";\nexport * from \"./IModelConnection\";\nexport * from \"./IModelRoutingContext\";\nexport * from \"./IpcApp\";\nexport * from \"./LinePlaneIntersect\";\nexport * from \"./MarginPercent\";\nexport * from \"./Marker\";\nexport * from \"./ModelSelectorState\";\nexport * from \"./ModelState\";\nexport * from \"./NativeApp\";\nexport * from \"./NativeAppLogger\";\nexport * from \"./NoRenderApp\";\nexport * from \"./NotificationManager\";\nexport * from \"./PerModelCategoryVisibility\";\nexport * from \"./PlanarClipMaskState\";\nexport * from \"./SelectionSet\";\nexport * from \"./SheetViewState\";\nexport * from \"./SpatialClassifiersState\";\nexport * from \"./SpatialViewState\";\nexport * from \"./Sprites\";\nexport * from \"./StandardView\";\nexport * from \"./SubCategoriesCache\";\nexport * from \"./TentativePoint\";\nexport * from \"./Tiles\";\nexport * from \"./UserPreferences\";\nexport * from \"./ViewAnimation\";\nexport * from \"./ViewContext\";\nexport * from \"./ViewGlobalLocation\";\nexport * from \"./ViewingSpace\";\nexport * from \"./ViewManager\";\nexport * from \"./Viewport\";\nexport * from \"./ViewportSync\";\nexport * from \"./ViewPose\";\nexport * from \"./ViewState\";\nexport * from \"./ViewStatus\";\nexport * from \"./extension/Extension\";\nexport * from \"./extension/providers/LocalExtensionProvider\";\nexport * from \"./extension/providers/RemoteExtensionProvider\";\nexport * from \"./properties/AngleDescription\";\nexport * from \"./properties/FormattedQuantityDescription\";\nexport * from \"./properties/LengthDescription\";\nexport * from \"./quantity-formatting/QuantityFormatter\";\nexport * from \"./quantity-formatting/BaseUnitFormattingSettingsProvider\";\nexport * from \"./quantity-formatting/LocalUnitFormatProvider\";\nexport * from \"./quantity-formatting/QuantityTypesEditorSpecs\";\nexport * from \"./render/CanvasDecoration\";\nexport * from \"./render/CreateRenderMaterialArgs\";\nexport * from \"./render/CreateTextureArgs\";\nexport * from \"./render/Decorations\";\nexport * from \"./render/FeatureSymbology\";\nexport * from \"./render/FrameStats\";\nexport * from \"./render/GraphicBranch\";\nexport * from \"./render/GraphicBuilder\";\nexport * from \"./render/GraphicTemplate\";\nexport * from \"./render/MeshArgs\";\nexport * from \"./render/ParticleCollectionBuilder\";\nexport * from \"./render/Pixel\";\nexport * from \"./render/PolylineArgs\";\nexport * from \"./render/RealityMeshParams\";\nexport * from \"./render/RenderClipVolume\";\nexport * from \"./render/RenderGraphic\";\nexport * from \"./render/RenderMemory\";\nexport * from \"./render/RenderSystem\";\nexport * from \"./render/RenderTarget\";\nexport * from \"./render/Scene\";\nexport * from \"./render/ScreenSpaceEffectBuilder\";\nexport * from \"./render/VisibleFeature\";\nexport * from \"./internal/render/webgl/IModelFrameLifecycle\";\nexport type {\n TxnEntityChange,\n TxnEntityChangeIterable,\n TxnEntityChangeType,\n TxnEntityChanges,\n TxnEntityChangesFilterOptions,\n TxnEntityMetadata,\n TxnEntityMetadataCriterion,\n} from \"./TxnEntityChanges\";\nexport {\n type TileTreeDiscloser, DisclosedTileTreeSet,\n type ReadGltfGraphicsArgs, type GltfGraphic, type GltfTemplate, readGltfGraphics, readGltfTemplate, readGltf,\n readElementGraphics,\n type BatchTableProperties, RealityTileTree,\n type RealityTileGeometry, RealityTile,\n type RenderGraphicTileTreeArgs,\n type GpuMemoryLimit, type GpuMemoryLimits, TileAdmin,\n type TileContent,\n type TiledGraphicsProvider,\n type TileDrawArgParams, TileDrawArgs,\n type CollectTileStatus, type TileGeometryCollectorOptions, TileGeometryCollector, type GeometryTileTreeReference,\n type TileParams,\n TileRequestChannels,\n type TileContentDecodingStatistics, TileRequestChannelStatistics, TileRequestChannel,\n TileRequest,\n type TileTreeOwner,\n type TileTreeParams,\n TileGraphicType, TileTreeReference,\n type TileTreeSupplier,\n TileTreeLoadStatus, TileTree,\n Tile, TileLoadStatus, TileVisibility, TileLoadPriority, TileBoundingBoxes,\n TileUsageMarker,\n TileUser,\n BingElevationProvider,\n QuadId, type QuadIdProps,\n MapTilingScheme, GeographicTilingScheme, WebMercatorProjection, WebMercatorTilingScheme,\n type MapLayerIndex,\n MapTileProjection, MapTile,\n MapLayerTileTreeReference,\n MapLayerSourceStatus, type MapLayerSourceProps, MapLayerSource, MapLayerSources,\n MapLayerImageryProviderStatus, MapLayerImageryProvider,\n ImageryMapLayerFormat,\n MapLayerFormat, type ValidateSourceArgs, type MapLayerFormatType, type MapLayerSourceValidation, type MapLayerOptions, MapLayerFormatRegistry,\n type MapLayerTokenEndpoint, type MapLayerAuthenticationInfo, type MapLayerAccessToken, type MapLayerAccessTokenParams, type MapLayerAccessClient,\n type MapFeatureInfoOptions, MapFeatureInfoRecord, type MapFeatureInfo, type MapLayerFeatureInfo, type MapSubLayerFeatureInfo, type MapLayerFeature, type MapLayerFeatureGeometry, type MapLayerFeatureAttribute, MapLayerFeatureRecord,\n MapCartoRectangle,\n ImageryMapLayerTreeReference,\n EllipsoidTerrainProvider,\n getCesiumAssetUrl,\n MapTileTreeScaleRangeVisibility, MapTileTree,\n type TerrainMeshProviderOptions, type RequestMeshDataArgs, type ReadMeshArgs, TerrainMeshProvider,\n type TerrainProvider, TerrainProviderRegistry,\n} from \"./tile/internal\";\nexport * from \"./tools/AccuDrawTool\";\nexport * from \"./tools/AccuDrawViewportUI\";\nexport * from \"./tools/ClipViewTool\";\nexport * from \"./tools/EditManipulator\";\nexport * from \"./tools/ElementSetTool\";\nexport * from \"./tools/EventController\";\nexport * from \"./tools/IdleTool\";\nexport * from \"./tools/MeasureTool\";\nexport * from \"./tools/PrimitiveTool\";\nexport * from \"./tools/SelectTool\";\nexport * from \"./tools/Tool\";\nexport * from \"./tools/ToolSettings\";\nexport * from \"./tools/ToolAdmin\";\nexport * from \"./tools/ToolAssistance\";\nexport * from \"./tools/ViewTool\";\nexport * from \"./workers/RegisterWorker\";\nexport * from \"./BackgroundMapGeometry\";\nexport * from \"./ViewCreator2d\";\nexport * from \"./ViewCreator3d\";\nexport * from \"./LocalhostIpcApp\";\nexport * from \"./request/utils\";\nexport * from \"./RealityDataSource\";\n\nexport * from \"./internal/cross-package\";\n\n// TODO/FIX: \"./extension/ExtensionRuntime\" import has to be last to avoid circular dependency errors.\nimport \"./extension/ExtensionRuntime\";\n\n/** @docs-package-description\n * The core-frontend package always runs in a web browser. It contains classes for [querying iModels and showing views]($docs/learning/frontend/index.md).\n */\n\n/**\n * @docs-group-description IModelApp\n * Classes for configuring and administering an iTwin.js application.\n * See [the learning articles]($docs/learning/frontend/index.md).\n */\n/**\n * @docs-group-description IModelConnection\n * Classes for working with a connection to an [iModel briefcase]($docs/learning/IModels.md)\n */\n/**\n * @docs-group-description ElementState\n * Classes for working with the *state* of Elements in the frontend.\n * See [the learning articles]($docs/learning/frontend/index.md).\n */\n/**\n * @docs-group-description ModelState\n * Classes for working with the *state* of Models in the frontend.\n * See [the learning articles]($docs/learning/frontend/index.md).\n */\n/**\n * @docs-group-description Tools\n * Classes for [working with Tools]($docs/learning/frontend/Tools.md)\n */\n/**\n * @docs-group-description Measure\n * Classes for reporting point to point distances and mass properties of elements.\n */\n/**\n * @docs-group-description Views\n * Classes for [working with Views]($docs/learning/frontend/Views.md)\n */\n/**\n * @docs-group-description LocatingElements\n * Classes for locating and snapping to elements in views.\n * See [the learning articles]($docs/learning/frontend/index.md).\n */\n/**\n * @docs-group-description AccuDraw\n * AccuDraw provides helpful assistance for creating and modifying elements in a view.\n * See [the learning articles]($docs/learning/frontend/index.md).\n */\n/**\n * @docs-group-description Notifications\n * Notifications provide feedback to the user of something of interest.\n * See [the learning articles]($docs/learning/frontend/index.md).\n */\n/**\n * @docs-group-description Extensions\n * Classes for creating and managing Extensions.\n */\n/**\n * @docs-group-description Properties\n * Classes for working with property records and descriptions.\n */\n/**\n * @docs-group-description Rendering\n * Classes for rendering the contents of views.\n */\n/**\n * @docs-group-description SelectionSet\n * Classes for working with the set of selected elements.\n * See [the learning articles]($docs/learning/frontend/index.md).\n */\n/**\n * @docs-group-description NativeApp\n * Classes for working with Native Applications\n */\n/**\n * @docs-group-description Utils\n * Miscellaneous utility classes.\n */\n/**\n * @docs-group-description Logging\n * Logger categories used by this package\n */\n/**\n * @docs-group-description QuantityFormatting\n * Classes for formatting and parsing quantity values.\n */\n/**\n * @docs-group-description Tiles\n * Classes representing graphics as [hierarchical 3d tiles](https://github.com/CesiumGS/3d-tiles).\n */\n/**\n * @docs-group-description HubAccess\n * APIs for working with IModelHub\n */\n/**\n * @docs-group-description UserPreferences\n * APIs for working with user preferences in an iModelApp.\n * See [the learning articles]($docs/learning/frontend/preferences.md).\n */\n/**\n * @docs-group-description MapLayers\n * Classes supporting map layers display.\n */\n/**\n * @docs-group-description TileStorage\n * Class for working with cloud storage using iTwin/object-storage cloud providers\n*/"]}
1
+ {"version":3,"file":"core-frontend.js","sourceRoot":"","sources":["../../src/core-frontend.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\nexport * from \"./AccuDraw\";\nexport * from \"./AccuSnap\";\nexport * from \"./AuxCoordSys\";\nexport * from \"./BingLocation\";\nexport * from \"./BriefcaseConnection\";\nexport * from \"./BriefcaseTxns\";\nexport * from \"./CatalogConnection\";\nexport * from \"./CategorySelectorState\";\nexport * from \"./ChangeFlags\";\nexport * from \"./CheckpointConnection\";\nexport * from \"./common\";\nexport * from \"./ContextRealityModelState\";\nexport * from \"./CoordSystem\";\nexport * from \"./DecorationsCache\";\nexport * from \"./DevTools\";\nexport * from \"./DisplayStyleState\";\nexport * from \"./DrawingViewState\";\nexport * from \"./ElementLocateManager\";\nexport * from \"./EmphasizeElements\";\nexport * from \"./EntityState\";\nexport * from \"./EnvironmentDecorations\";\nexport * from \"./FeatureOverrideProvider\";\nexport * from \"./FlashSettings\";\nexport * from \"./FrontendHubAccess\";\nexport * from \"./Frustum2d\";\nexport * from \"./FrustumAnimator\";\nexport * from \"./FuzzySearch\";\nexport * from \"./GeoServices\";\nexport * from \"./GlobeAnimator\";\nexport * from \"./GraphicalEditingScope\";\nexport * from \"./HitDetail\";\nexport * from \"./IModelApp\";\nexport * from \"./IModelConnection\";\nexport * from \"./IModelRoutingContext\";\nexport * from \"./IpcApp\";\nexport * from \"./LinePlaneIntersect\";\nexport * from \"./MarginPercent\";\nexport * from \"./Marker\";\nexport * from \"./ModelSelectorState\";\nexport * from \"./ModelState\";\nexport * from \"./NativeApp\";\nexport * from \"./NativeAppLogger\";\nexport * from \"./NoRenderApp\";\nexport * from \"./NotificationManager\";\nexport * from \"./PerModelCategoryVisibility\";\nexport * from \"./PlanarClipMaskState\";\nexport * from \"./SelectionSet\";\nexport * from \"./SheetViewState\";\nexport * from \"./SpatialClassifiersState\";\nexport * from \"./SpatialViewState\";\nexport * from \"./Sprites\";\nexport * from \"./StandardView\";\nexport * from \"./SubCategoriesCache\";\nexport * from \"./TentativePoint\";\nexport * from \"./Tiles\";\nexport * from \"./UserPreferences\";\nexport * from \"./ViewAnimation\";\nexport * from \"./ViewContext\";\nexport * from \"./ViewGlobalLocation\";\nexport * from \"./ViewingSpace\";\nexport * from \"./ViewManager\";\nexport * from \"./Viewport\";\nexport * from \"./ViewportSync\";\nexport * from \"./ViewPose\";\nexport * from \"./ViewState\";\nexport * from \"./ViewStatus\";\nexport * from \"./extension/Extension\";\nexport * from \"./extension/providers/LocalExtensionProvider\";\nexport * from \"./extension/providers/RemoteExtensionProvider\";\nexport * from \"./properties/AngleDescription\";\nexport * from \"./properties/FormattedQuantityDescription\";\nexport * from \"./properties/LengthDescription\";\nexport * from \"./quantity-formatting/QuantityFormatter\";\nexport * from \"./quantity-formatting/BaseUnitFormattingSettingsProvider\";\nexport * from \"./quantity-formatting/LocalUnitFormatProvider\";\nexport * from \"./quantity-formatting/QuantityTypesEditorSpecs\";\nexport * from \"./render/CanvasDecoration\";\nexport * from \"./render/CreateRenderMaterialArgs\";\nexport * from \"./render/CreateTextureArgs\";\nexport * from \"./render/Decorations\";\nexport * from \"./render/FeatureSymbology\";\nexport * from \"./render/FrameStats\";\nexport * from \"./render/GraphicBranch\";\nexport * from \"./render/GraphicBuilder\";\nexport * from \"./render/GraphicTemplate\";\nexport * from \"./render/MeshArgs\";\nexport * from \"./render/ParticleCollectionBuilder\";\nexport * from \"./render/Pixel\";\nexport * from \"./render/PolylineArgs\";\nexport * from \"./render/RealityMeshParams\";\nexport * from \"./render/RenderClipVolume\";\nexport * from \"./render/RenderGraphic\";\nexport * from \"./render/RenderMemory\";\nexport * from \"./render/RenderSystem\";\nexport * from \"./render/RenderTarget\";\nexport * from \"./render/Scene\";\nexport * from \"./render/ScreenSpaceEffectBuilder\";\nexport * from \"./render/VisibleFeature\";\nexport * from \"./internal/render/webgl/IModelFrameLifecycle\";\nexport type {\n TxnEntityChange,\n TxnEntityChangeIterable,\n TxnEntityChangeType,\n TxnEntityChanges,\n TxnEntityChangesFilterOptions,\n TxnEntityMetadata,\n TxnEntityMetadataCriterion,\n} from \"./TxnEntityChanges\";\nexport {\n type TileTreeDiscloser, DisclosedTileTreeSet,\n type ReadGltfGraphicsArgs, type GltfGraphic, type GltfTemplate, readGltfGraphics, readGltfTemplate, readGltf,\n readElementGraphics,\n type BatchTableProperties, RealityTileTree,\n type RealityTileGeometry, RealityTile,\n type RenderGraphicTileTreeArgs,\n type GpuMemoryLimit, type GpuMemoryLimits, TileAdmin,\n type TileContent,\n type TiledGraphicsProvider,\n type TileDrawArgParams, TileDrawArgs,\n type CollectTileStatus, type TileGeometryCollectorOptions, TileGeometryCollector, type GeometryTileTreeReference,\n type GeometryTileTreeReferenceOptions,\n type TileParams,\n TileRequestChannels,\n type TileContentDecodingStatistics, TileRequestChannelStatistics, TileRequestChannel,\n TileRequest,\n type TileTreeOwner,\n type TileTreeParams,\n TileGraphicType, TileTreeReference,\n type TileTreeSupplier,\n TileTreeLoadStatus, TileTree,\n Tile, TileLoadStatus, TileVisibility, TileLoadPriority, TileBoundingBoxes,\n TileUsageMarker,\n TileUser,\n BingElevationProvider,\n QuadId, type QuadIdProps,\n MapTilingScheme, GeographicTilingScheme, WebMercatorProjection, WebMercatorTilingScheme,\n type MapLayerIndex,\n MapTileProjection, MapTile,\n MapLayerTileTreeReference,\n MapLayerSourceStatus, type MapLayerSourceProps, MapLayerSource, MapLayerSources,\n MapLayerImageryProviderStatus, MapLayerImageryProvider,\n ImageryMapLayerFormat,\n MapLayerFormat, type ValidateSourceArgs, type MapLayerFormatType, type MapLayerSourceValidation, type MapLayerOptions, MapLayerFormatRegistry,\n type MapLayerTokenEndpoint, type MapLayerAuthenticationInfo, type MapLayerAccessToken, type MapLayerAccessTokenParams, type MapLayerAccessClient,\n type MapFeatureInfoOptions, MapFeatureInfoRecord, type MapFeatureInfo, type MapLayerFeatureInfo, type MapSubLayerFeatureInfo, type MapLayerFeature, type MapLayerFeatureGeometry, type MapLayerFeatureAttribute, MapLayerFeatureRecord,\n MapCartoRectangle,\n ImageryMapLayerTreeReference,\n EllipsoidTerrainProvider,\n getCesiumAssetUrl,\n MapTileTreeScaleRangeVisibility, MapTileTree,\n type TerrainMeshProviderOptions, type RequestMeshDataArgs, type ReadMeshArgs, TerrainMeshProvider,\n type TerrainProvider, TerrainProviderRegistry,\n} from \"./tile/internal\";\nexport * from \"./tools/AccuDrawTool\";\nexport * from \"./tools/AccuDrawViewportUI\";\nexport * from \"./tools/ClipViewTool\";\nexport * from \"./tools/EditManipulator\";\nexport * from \"./tools/ElementSetTool\";\nexport * from \"./tools/EventController\";\nexport * from \"./tools/IdleTool\";\nexport * from \"./tools/MeasureTool\";\nexport * from \"./tools/PrimitiveTool\";\nexport * from \"./tools/SelectTool\";\nexport * from \"./tools/Tool\";\nexport * from \"./tools/ToolSettings\";\nexport * from \"./tools/ToolAdmin\";\nexport * from \"./tools/ToolAssistance\";\nexport * from \"./tools/ViewTool\";\nexport * from \"./workers/RegisterWorker\";\nexport * from \"./BackgroundMapGeometry\";\nexport * from \"./ViewCreator2d\";\nexport * from \"./ViewCreator3d\";\nexport * from \"./LocalhostIpcApp\";\nexport * from \"./request/utils\";\nexport * from \"./RealityDataSource\";\n\nexport * from \"./internal/cross-package\";\n\n// TODO/FIX: \"./extension/ExtensionRuntime\" import has to be last to avoid circular dependency errors.\nimport \"./extension/ExtensionRuntime\";\n\n/** @docs-package-description\n * The core-frontend package always runs in a web browser. It contains classes for [querying iModels and showing views]($docs/learning/frontend/index.md).\n */\n\n/**\n * @docs-group-description IModelApp\n * Classes for configuring and administering an iTwin.js application.\n * See [the learning articles]($docs/learning/frontend/index.md).\n */\n/**\n * @docs-group-description IModelConnection\n * Classes for working with a connection to an [iModel briefcase]($docs/learning/IModels.md)\n */\n/**\n * @docs-group-description ElementState\n * Classes for working with the *state* of Elements in the frontend.\n * See [the learning articles]($docs/learning/frontend/index.md).\n */\n/**\n * @docs-group-description ModelState\n * Classes for working with the *state* of Models in the frontend.\n * See [the learning articles]($docs/learning/frontend/index.md).\n */\n/**\n * @docs-group-description Tools\n * Classes for [working with Tools]($docs/learning/frontend/Tools.md)\n */\n/**\n * @docs-group-description Measure\n * Classes for reporting point to point distances and mass properties of elements.\n */\n/**\n * @docs-group-description Views\n * Classes for [working with Views]($docs/learning/frontend/Views.md)\n */\n/**\n * @docs-group-description LocatingElements\n * Classes for locating and snapping to elements in views.\n * See [the learning articles]($docs/learning/frontend/index.md).\n */\n/**\n * @docs-group-description AccuDraw\n * AccuDraw provides helpful assistance for creating and modifying elements in a view.\n * See [the learning articles]($docs/learning/frontend/index.md).\n */\n/**\n * @docs-group-description Notifications\n * Notifications provide feedback to the user of something of interest.\n * See [the learning articles]($docs/learning/frontend/index.md).\n */\n/**\n * @docs-group-description Extensions\n * Classes for creating and managing Extensions.\n */\n/**\n * @docs-group-description Properties\n * Classes for working with property records and descriptions.\n */\n/**\n * @docs-group-description Rendering\n * Classes for rendering the contents of views.\n */\n/**\n * @docs-group-description SelectionSet\n * Classes for working with the set of selected elements.\n * See [the learning articles]($docs/learning/frontend/index.md).\n */\n/**\n * @docs-group-description NativeApp\n * Classes for working with Native Applications\n */\n/**\n * @docs-group-description Utils\n * Miscellaneous utility classes.\n */\n/**\n * @docs-group-description Logging\n * Logger categories used by this package\n */\n/**\n * @docs-group-description QuantityFormatting\n * Classes for formatting and parsing quantity values.\n */\n/**\n * @docs-group-description Tiles\n * Classes representing graphics as [hierarchical 3d tiles](https://github.com/CesiumGS/3d-tiles).\n */\n/**\n * @docs-group-description HubAccess\n * APIs for working with IModelHub\n */\n/**\n * @docs-group-description UserPreferences\n * APIs for working with user preferences in an iModelApp.\n * See [the learning articles]($docs/learning/frontend/preferences.md).\n */\n/**\n * @docs-group-description MapLayers\n * Classes supporting map layers display.\n */\n/**\n * @docs-group-description TileStorage\n * Class for working with cloud storage using iTwin/object-storage cloud providers\n*/"]}
@@ -71,7 +71,7 @@ class BatchUniforms {
71
71
  this._sensors.bindTexture(uniform);
72
72
  }
73
73
  get wantContourLines() {
74
- const contours = this._target.plan.contours;
74
+ const contours = this._target.currentBranch.contourLine;
75
75
  return undefined !== contours && contours.displayContours && contours.groups.length > 0;
76
76
  }
77
77
  bindContourLUT(uniform) {
@@ -1 +1 @@
1
- {"version":3,"file":"BatchUniforms.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/BatchUniforms.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module WebGL\n */\n\nimport { BatchState } from \"./BatchState\";\nimport { FeatureOverrides } from \"./FeatureOverrides\";\nimport { Batch } from \"./Graphic\";\nimport { UniformHandle } from \"./UniformHandle\";\nimport { desync, sync } from \"./Sync\";\nimport { Target } from \"./Target\";\nimport { FeatureMode } from \"./TechniqueFlags\";\nimport { ThematicSensors } from \"./ThematicSensors\";\nimport { Contours } from \"./Contours\";\nimport { OvrFlags } from \"../../../common/internal/render/OvrFlags\";\n\nconst scratchRgb = new Float32Array(3);\nconst noOverrideRgb = new Float32Array([-1.0, -1.0, -1.0]);\n\n/** Maintains uniform variable state associated with the Batch currently being drawn by a Target.\n * @internal\n */\nexport class BatchUniforms {\n public readonly state: BatchState;\n private readonly _target: Target;\n private _featureMode = FeatureMode.None;\n public syncKey = 0;\n\n private _overrides?: FeatureOverrides;\n private _sensors?: ThematicSensors;\n private _contours?: Contours;\n private _batchId = new Float32Array(4);\n\n private _scratchBytes = new Uint8Array(4);\n private _scratchUint32 = new Uint32Array(this._scratchBytes.buffer);\n\n public constructor(target: Target, batchState: BatchState) {\n this.state = batchState;\n this._target = target;\n }\n\n public setCurrentBatch(batch: Batch | undefined): void {\n desync(this);\n\n if (undefined !== batch)\n this.state.push(batch, false);\n else\n this.state.pop();\n\n const batchId = this.state.currentBatchId;\n this._scratchUint32[0] = batchId;\n this._batchId[0] = this._scratchBytes[0];\n this._batchId[1] = this._scratchBytes[1];\n this._batchId[2] = this._scratchBytes[2];\n this._batchId[3] = this._scratchBytes[3];\n\n const overrides = undefined !== batch ? batch.getOverrides(this._target) : undefined;\n this._overrides = (undefined !== overrides && overrides.anyOverridden) ? overrides : undefined;\n\n let sensors: ThematicSensors | undefined;\n if (undefined !== batch && this._target.wantThematicSensors) {\n const distanceCutoff = this._target.plan.thematic!.sensorSettings.distanceCutoff;\n if (distanceCutoff > 0) // if we have a distance cutoff, we want to create per-batch sensor textures\n sensors = batch.getThematicSensors(this._target);\n }\n this._sensors = sensors;\n\n if (undefined !== this._overrides)\n this._featureMode = FeatureMode.Overrides;\n else if (0 !== batchId)\n this._featureMode = FeatureMode.Pick;\n else\n this._featureMode = FeatureMode.None;\n\n this._contours = undefined !== batch && this.wantContourLines ? batch.getContours(this._target) : undefined;\n }\n\n public resetBatchState(): void {\n this.state.reset();\n }\n\n public get featureMode(): FeatureMode { return this._featureMode; }\n\n public bindNumThematicSensors(uniform: UniformHandle): void {\n if (undefined !== this._sensors)\n this._sensors.bindNumSensors(uniform);\n }\n\n public bindThematicSensors(uniform: UniformHandle): void {\n if (undefined !== this._sensors)\n this._sensors.bindTexture(uniform);\n }\n\n public get wantContourLines(): boolean {\n const contours = this._target.plan.contours;\n return undefined !== contours && contours.displayContours && contours.groups.length > 0;\n }\n\n public bindContourLUT(uniform: UniformHandle): void {\n // Note we can't use sync() here because a different texture may have been assigned to the desired texture unit\n if (undefined !== this._contours)\n this._contours.bindContourLUT(uniform);\n }\n\n public bindContourLUTWidth(uniform: UniformHandle): void {\n if (!sync(this, uniform)) {\n if (undefined === this._contours)\n uniform.setUniform1ui(0);\n else\n this._contours.bindContourLUTWidth(uniform);\n }\n }\n\n public bindLUT(uniform: UniformHandle): void {\n // Note we can't use sync() here because a different texture may have been assigned to the desired texture unit\n if (undefined !== this._overrides)\n this._overrides.bindLUT(uniform);\n }\n\n public bindLUTParams(uniform: UniformHandle): void {\n if (undefined !== this._overrides && !sync(this, uniform))\n this._overrides.bindLUTParams(uniform);\n }\n\n public bindUniformSymbologyFlags(uniform: UniformHandle): void {\n if (sync(this, uniform))\n return;\n\n if (undefined !== this._overrides)\n this._overrides.bindUniformSymbologyFlags(uniform);\n else\n uniform.setUniform1f(0);\n }\n\n public bindBatchId(uniform: UniformHandle): void {\n if (!sync(this, uniform))\n uniform.setUniform4fv(this._batchId);\n }\n\n public bindUniformColorOverride(uniform: UniformHandle): void {\n if (sync(this, uniform))\n return;\n\n if (undefined !== this._overrides) {\n const uo = this._overrides.getUniformOverrides();\n if (uo[0] & OvrFlags.Rgb) {\n scratchRgb[0] = uo[4] / 255.0;\n scratchRgb[1] = uo[5] / 255.0;\n scratchRgb[2] = uo[6] / 255.0;\n uniform.setUniform3fv(scratchRgb);\n } else {\n uniform.setUniform3fv(noOverrideRgb);\n }\n } else {\n uniform.setUniform3fv(noOverrideRgb);\n }\n }\n\n public bindUniformTransparencyOverride(uniform: UniformHandle): void {\n if (sync(this, uniform))\n return;\n\n if (undefined !== this._overrides) {\n const uo = this._overrides.getUniformOverrides();\n if (uo[0] & OvrFlags.Alpha) {\n uniform.setUniform1f(uo[7]/255.0);\n } else {\n uniform.setUniform1f(-1.0);\n }\n } else {\n uniform.setUniform1f(-1.0);\n }\n }\n\n public bindUniformNonLocatable(uniform: UniformHandle, ignoreNonLocatable: boolean): void {\n if (sync(this, uniform))\n return;\n\n let nonLocatable = 0;\n if (!ignoreNonLocatable && undefined !== this._overrides) {\n const uo = this._overrides.getUniformOverrides();\n nonLocatable = (uo[0] & OvrFlags.NonLocatable) ? 1 : 0;\n }\n uniform.setUniform1i(nonLocatable);\n }\n}\n"]}
1
+ {"version":3,"file":"BatchUniforms.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/BatchUniforms.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module WebGL\n */\n\nimport { BatchState } from \"./BatchState\";\nimport { FeatureOverrides } from \"./FeatureOverrides\";\nimport { Batch } from \"./Graphic\";\nimport { UniformHandle } from \"./UniformHandle\";\nimport { desync, sync } from \"./Sync\";\nimport { Target } from \"./Target\";\nimport { FeatureMode } from \"./TechniqueFlags\";\nimport { ThematicSensors } from \"./ThematicSensors\";\nimport { Contours } from \"./Contours\";\nimport { OvrFlags } from \"../../../common/internal/render/OvrFlags\";\n\nconst scratchRgb = new Float32Array(3);\nconst noOverrideRgb = new Float32Array([-1.0, -1.0, -1.0]);\n\n/** Maintains uniform variable state associated with the Batch currently being drawn by a Target.\n * @internal\n */\nexport class BatchUniforms {\n public readonly state: BatchState;\n private readonly _target: Target;\n private _featureMode = FeatureMode.None;\n public syncKey = 0;\n\n private _overrides?: FeatureOverrides;\n private _sensors?: ThematicSensors;\n private _contours?: Contours;\n private _batchId = new Float32Array(4);\n\n private _scratchBytes = new Uint8Array(4);\n private _scratchUint32 = new Uint32Array(this._scratchBytes.buffer);\n\n public constructor(target: Target, batchState: BatchState) {\n this.state = batchState;\n this._target = target;\n }\n\n public setCurrentBatch(batch: Batch | undefined): void {\n desync(this);\n\n if (undefined !== batch)\n this.state.push(batch, false);\n else\n this.state.pop();\n\n const batchId = this.state.currentBatchId;\n this._scratchUint32[0] = batchId;\n this._batchId[0] = this._scratchBytes[0];\n this._batchId[1] = this._scratchBytes[1];\n this._batchId[2] = this._scratchBytes[2];\n this._batchId[3] = this._scratchBytes[3];\n\n const overrides = undefined !== batch ? batch.getOverrides(this._target) : undefined;\n this._overrides = (undefined !== overrides && overrides.anyOverridden) ? overrides : undefined;\n\n let sensors: ThematicSensors | undefined;\n if (undefined !== batch && this._target.wantThematicSensors) {\n const distanceCutoff = this._target.plan.thematic!.sensorSettings.distanceCutoff;\n if (distanceCutoff > 0) // if we have a distance cutoff, we want to create per-batch sensor textures\n sensors = batch.getThematicSensors(this._target);\n }\n this._sensors = sensors;\n\n if (undefined !== this._overrides)\n this._featureMode = FeatureMode.Overrides;\n else if (0 !== batchId)\n this._featureMode = FeatureMode.Pick;\n else\n this._featureMode = FeatureMode.None;\n\n this._contours = undefined !== batch && this.wantContourLines ? batch.getContours(this._target) : undefined;\n }\n\n public resetBatchState(): void {\n this.state.reset();\n }\n\n public get featureMode(): FeatureMode { return this._featureMode; }\n\n public bindNumThematicSensors(uniform: UniformHandle): void {\n if (undefined !== this._sensors)\n this._sensors.bindNumSensors(uniform);\n }\n\n public bindThematicSensors(uniform: UniformHandle): void {\n if (undefined !== this._sensors)\n this._sensors.bindTexture(uniform);\n }\n\n public get wantContourLines(): boolean {\n const contours = this._target.currentBranch.contourLine;\n return undefined !== contours && contours.displayContours && contours.groups.length > 0;\n }\n\n public bindContourLUT(uniform: UniformHandle): void {\n // Note we can't use sync() here because a different texture may have been assigned to the desired texture unit\n if (undefined !== this._contours)\n this._contours.bindContourLUT(uniform);\n }\n\n public bindContourLUTWidth(uniform: UniformHandle): void {\n if (!sync(this, uniform)) {\n if (undefined === this._contours)\n uniform.setUniform1ui(0);\n else\n this._contours.bindContourLUTWidth(uniform);\n }\n }\n\n public bindLUT(uniform: UniformHandle): void {\n // Note we can't use sync() here because a different texture may have been assigned to the desired texture unit\n if (undefined !== this._overrides)\n this._overrides.bindLUT(uniform);\n }\n\n public bindLUTParams(uniform: UniformHandle): void {\n if (undefined !== this._overrides && !sync(this, uniform))\n this._overrides.bindLUTParams(uniform);\n }\n\n public bindUniformSymbologyFlags(uniform: UniformHandle): void {\n if (sync(this, uniform))\n return;\n\n if (undefined !== this._overrides)\n this._overrides.bindUniformSymbologyFlags(uniform);\n else\n uniform.setUniform1f(0);\n }\n\n public bindBatchId(uniform: UniformHandle): void {\n if (!sync(this, uniform))\n uniform.setUniform4fv(this._batchId);\n }\n\n public bindUniformColorOverride(uniform: UniformHandle): void {\n if (sync(this, uniform))\n return;\n\n if (undefined !== this._overrides) {\n const uo = this._overrides.getUniformOverrides();\n if (uo[0] & OvrFlags.Rgb) {\n scratchRgb[0] = uo[4] / 255.0;\n scratchRgb[1] = uo[5] / 255.0;\n scratchRgb[2] = uo[6] / 255.0;\n uniform.setUniform3fv(scratchRgb);\n } else {\n uniform.setUniform3fv(noOverrideRgb);\n }\n } else {\n uniform.setUniform3fv(noOverrideRgb);\n }\n }\n\n public bindUniformTransparencyOverride(uniform: UniformHandle): void {\n if (sync(this, uniform))\n return;\n\n if (undefined !== this._overrides) {\n const uo = this._overrides.getUniformOverrides();\n if (uo[0] & OvrFlags.Alpha) {\n uniform.setUniform1f(uo[7]/255.0);\n } else {\n uniform.setUniform1f(-1.0);\n }\n } else {\n uniform.setUniform1f(-1.0);\n }\n }\n\n public bindUniformNonLocatable(uniform: UniformHandle, ignoreNonLocatable: boolean): void {\n if (sync(this, uniform))\n return;\n\n let nonLocatable = 0;\n if (!ignoreNonLocatable && undefined !== this._overrides) {\n const uo = this._overrides.getUniformOverrides();\n nonLocatable = (uo[0] & OvrFlags.NonLocatable) ? 1 : 0;\n }\n uniform.setUniform1i(nonLocatable);\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  /** @packageDocumentation
2
2
  * @module WebGL
3
3
  */
4
- import { HiddenLine, ViewFlags } from "@itwin/core-common";
4
+ import { ContourDisplay, HiddenLine, ViewFlags } from "@itwin/core-common";
5
5
  import { FeatureSymbology } from "../../../render/FeatureSymbology";
6
6
  import { BranchState } from "./BranchState";
7
7
  import { Branch } from "./Graphic";
@@ -23,7 +23,7 @@ export declare class BranchStack {
23
23
  pushBranch(branch: Branch): void;
24
24
  pushState(state: BranchState): void;
25
25
  pop(): void;
26
- changeRenderPlan(vf: ViewFlags, is3d: boolean, hline: HiddenLine.Settings | undefined): void;
26
+ changeRenderPlan(vf: ViewFlags, is3d: boolean, hline: HiddenLine.Settings | undefined, contour?: ContourDisplay | undefined): void;
27
27
  setSymbologyOverrides(ovrs: FeatureSymbology.Overrides): void;
28
28
  }
29
29
  //# sourceMappingURL=BranchStack.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BranchStack.d.ts","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/BranchStack.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGnC;;;;;;;GAOG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;;IAc5C,IAAW,GAAG,IAAI,WAAW,CAG5B;IAED,IAAW,MAAM,IAAI,WAAW,CAG/B;IAED,IAAW,MAAM,WAAiC;IAClD,IAAW,KAAK,YAAgC;IAEzC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKhC,SAAS,CAAC,KAAK,EAAE,WAAW;IAI5B,GAAG,IAAI,IAAI;IAOX,gBAAgB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,GAAG,SAAS,GAAG,IAAI;IAK5F,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,CAAC,SAAS;CAI9D"}
1
+ {"version":3,"file":"BranchStack.d.ts","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/BranchStack.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGnC;;;;;;;GAOG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;;IAe5C,IAAW,GAAG,IAAI,WAAW,CAG5B;IAED,IAAW,MAAM,IAAI,WAAW,CAG/B;IAED,IAAW,MAAM,WAAiC;IAClD,IAAW,KAAK,YAAgC;IAEzC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKhC,SAAS,CAAC,KAAK,EAAE,WAAW;IAI5B,GAAG,IAAI,IAAI;IAOX,gBAAgB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI;IAKlI,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,CAAC,SAAS;CAI9D"}
@@ -29,6 +29,7 @@ class BranchStack {
29
29
  viewFlags: new core_common_1.ViewFlags(),
30
30
  transform: core_geometry_1.Transform.createIdentity(),
31
31
  edgeSettings: EdgeSettings_1.EdgeSettings.create(undefined),
32
+ contourLine: undefined,
32
33
  is3d: true,
33
34
  symbologyOverrides: new FeatureSymbology_1.FeatureSymbology.Overrides(),
34
35
  });
@@ -57,9 +58,9 @@ class BranchStack {
57
58
  this._stack.pop();
58
59
  }
59
60
  }
60
- changeRenderPlan(vf, is3d, hline) {
61
+ changeRenderPlan(vf, is3d, hline, contour) {
61
62
  (0, core_bentley_1.assert)(1 === this.length);
62
- this.top.changeRenderPlan(vf, is3d, hline);
63
+ this.top.changeRenderPlan(vf, is3d, hline, contour);
63
64
  }
64
65
  setSymbologyOverrides(ovrs) {
65
66
  (0, core_bentley_1.assert)(1 === this.length);