@itwin/core-frontend 5.1.0-dev.61 → 5.1.0-dev.64

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 (113) 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/core-frontend.d.ts +1 -1
  9. package/lib/cjs/core-frontend.d.ts.map +1 -1
  10. package/lib/cjs/core-frontend.js.map +1 -1
  11. package/lib/cjs/internal/tile/RealityModelTileTree.d.ts +6 -4
  12. package/lib/cjs/internal/tile/RealityModelTileTree.d.ts.map +1 -1
  13. package/lib/cjs/internal/tile/RealityModelTileTree.js +9 -7
  14. package/lib/cjs/internal/tile/RealityModelTileTree.js.map +1 -1
  15. package/lib/cjs/internal/tile/RealityTileLoader.d.ts +2 -2
  16. package/lib/cjs/internal/tile/RealityTileLoader.d.ts.map +1 -1
  17. package/lib/cjs/internal/tile/RealityTileLoader.js +10 -2
  18. package/lib/cjs/internal/tile/RealityTileLoader.js.map +1 -1
  19. package/lib/cjs/tile/RealityTile.d.ts +4 -0
  20. package/lib/cjs/tile/RealityTile.d.ts.map +1 -1
  21. package/lib/cjs/tile/RealityTile.js +7 -0
  22. package/lib/cjs/tile/RealityTile.js.map +1 -1
  23. package/lib/cjs/tile/RealityTileTree.d.ts +4 -0
  24. package/lib/cjs/tile/RealityTileTree.d.ts.map +1 -1
  25. package/lib/cjs/tile/RealityTileTree.js +4 -0
  26. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  27. package/lib/cjs/tile/TileGeometryCollector.d.ts +5 -0
  28. package/lib/cjs/tile/TileGeometryCollector.d.ts.map +1 -1
  29. package/lib/cjs/tile/TileGeometryCollector.js.map +1 -1
  30. package/lib/cjs/tile/TileTreeReference.d.ts +16 -2
  31. package/lib/cjs/tile/TileTreeReference.d.ts.map +1 -1
  32. package/lib/cjs/tile/TileTreeReference.js +10 -4
  33. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  34. package/lib/cjs/tools/ClipViewTool.d.ts.map +1 -1
  35. package/lib/cjs/tools/ClipViewTool.js +18 -7
  36. package/lib/cjs/tools/ClipViewTool.js.map +1 -1
  37. package/lib/cjs/tools/ElementSetTool.d.ts.map +1 -1
  38. package/lib/cjs/tools/ElementSetTool.js +2 -0
  39. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  40. package/lib/cjs/tools/IdleTool.d.ts.map +1 -1
  41. package/lib/cjs/tools/IdleTool.js +4 -1
  42. package/lib/cjs/tools/IdleTool.js.map +1 -1
  43. package/lib/cjs/tools/MeasureTool.d.ts.map +1 -1
  44. package/lib/cjs/tools/MeasureTool.js +4 -2
  45. package/lib/cjs/tools/MeasureTool.js.map +1 -1
  46. package/lib/cjs/tools/PrimitiveTool.d.ts.map +1 -1
  47. package/lib/cjs/tools/PrimitiveTool.js +2 -1
  48. package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
  49. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  50. package/lib/cjs/tools/ToolAdmin.js +51 -16
  51. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  52. package/lib/cjs/tools/ToolAssistance.d.ts +1 -1
  53. package/lib/cjs/tools/ToolAssistance.js.map +1 -1
  54. package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
  55. package/lib/cjs/tools/ViewTool.js +133 -37
  56. package/lib/cjs/tools/ViewTool.js.map +1 -1
  57. package/lib/esm/AccuDraw.js +2 -2
  58. package/lib/esm/AccuDraw.js.map +1 -1
  59. package/lib/esm/AccuSnap.d.ts.map +1 -1
  60. package/lib/esm/AccuSnap.js +13 -4
  61. package/lib/esm/AccuSnap.js.map +1 -1
  62. package/lib/esm/AuxCoordSys.js +1 -1
  63. package/lib/esm/AuxCoordSys.js.map +1 -1
  64. package/lib/esm/core-frontend.d.ts +1 -1
  65. package/lib/esm/core-frontend.d.ts.map +1 -1
  66. package/lib/esm/core-frontend.js.map +1 -1
  67. package/lib/esm/internal/tile/RealityModelTileTree.d.ts +6 -4
  68. package/lib/esm/internal/tile/RealityModelTileTree.d.ts.map +1 -1
  69. package/lib/esm/internal/tile/RealityModelTileTree.js +10 -8
  70. package/lib/esm/internal/tile/RealityModelTileTree.js.map +1 -1
  71. package/lib/esm/internal/tile/RealityTileLoader.d.ts +2 -2
  72. package/lib/esm/internal/tile/RealityTileLoader.d.ts.map +1 -1
  73. package/lib/esm/internal/tile/RealityTileLoader.js +10 -2
  74. package/lib/esm/internal/tile/RealityTileLoader.js.map +1 -1
  75. package/lib/esm/tile/RealityTile.d.ts +4 -0
  76. package/lib/esm/tile/RealityTile.d.ts.map +1 -1
  77. package/lib/esm/tile/RealityTile.js +7 -0
  78. package/lib/esm/tile/RealityTile.js.map +1 -1
  79. package/lib/esm/tile/RealityTileTree.d.ts +4 -0
  80. package/lib/esm/tile/RealityTileTree.d.ts.map +1 -1
  81. package/lib/esm/tile/RealityTileTree.js +4 -0
  82. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  83. package/lib/esm/tile/TileGeometryCollector.d.ts +5 -0
  84. package/lib/esm/tile/TileGeometryCollector.d.ts.map +1 -1
  85. package/lib/esm/tile/TileGeometryCollector.js.map +1 -1
  86. package/lib/esm/tile/TileTreeReference.d.ts +16 -2
  87. package/lib/esm/tile/TileTreeReference.d.ts.map +1 -1
  88. package/lib/esm/tile/TileTreeReference.js +10 -4
  89. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  90. package/lib/esm/tools/ClipViewTool.d.ts.map +1 -1
  91. package/lib/esm/tools/ClipViewTool.js +18 -7
  92. package/lib/esm/tools/ClipViewTool.js.map +1 -1
  93. package/lib/esm/tools/ElementSetTool.d.ts.map +1 -1
  94. package/lib/esm/tools/ElementSetTool.js +2 -0
  95. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  96. package/lib/esm/tools/IdleTool.d.ts.map +1 -1
  97. package/lib/esm/tools/IdleTool.js +4 -1
  98. package/lib/esm/tools/IdleTool.js.map +1 -1
  99. package/lib/esm/tools/MeasureTool.d.ts.map +1 -1
  100. package/lib/esm/tools/MeasureTool.js +4 -2
  101. package/lib/esm/tools/MeasureTool.js.map +1 -1
  102. package/lib/esm/tools/PrimitiveTool.d.ts.map +1 -1
  103. package/lib/esm/tools/PrimitiveTool.js +2 -1
  104. package/lib/esm/tools/PrimitiveTool.js.map +1 -1
  105. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  106. package/lib/esm/tools/ToolAdmin.js +51 -16
  107. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  108. package/lib/esm/tools/ToolAssistance.d.ts +1 -1
  109. package/lib/esm/tools/ToolAssistance.js.map +1 -1
  110. package/lib/esm/tools/ViewTool.d.ts.map +1 -1
  111. package/lib/esm/tools/ViewTool.js +133 -37
  112. package/lib/esm/tools/ViewTool.js.map +1 -1
  113. package/package.json +20 -20
@@ -1 +1 @@
1
- {"version":3,"file":"PrimitiveTool.d.ts","sourceRoot":"","sources":["../../../src/tools/PrimitiveTool.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAY,aAAa,EAAsC,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEtG;;;;GAIG;AACH,8BAAsB,aAAc,SAAQ,eAAe;IACzD;;OAEG;IACI,UAAU,CAAC,EAAE,QAAQ,CAAC;IAC7B,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,IAAW,aAAa,IACI,MAAM,GAAG,SAAS,CADY;IAC1D,IAAW,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAA8B;IACrE,cAAc,EAAE,OAAO,CAAS;IAEvC;;OAEG;IACH,IAAW,MAAM,IAAI,gBAAgB,CAGpC;IAED,sIAAsI;IACtI,IAAW,SAAS,IAAI,mBAAmB,GAAG,SAAS,CAGtD;IAED;;;;OAIG;IACmB,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAU5D;;OAEG;IACa,oBAAoB,CAAC,EAAE,EAAE,QAAQ,GAAG,SAAS,EAAE,oBAAoB,EAAE,OAAO,GAAG,OAAO;IAkCtG;;;;;OAKG;IACa,eAAe,CAAC,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,GAAG,OAAO;IA8BnF,qFAAqF;IAC9E,cAAc,IAAI,IAAI;IAO7B,6DAA6D;IACtD,SAAS,IAAI,MAAM;IAE1B,8IAA8I;IACvI,sBAAsB,IAAI,OAAO;IAExC;;;;OAIG;IACmB,yBAAyB,CAAC,SAAS,EAAE,QAAQ,GAAG,SAAS,EAAE,OAAO,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAM9H;;;;;;;;;OASG;aACa,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9C;;OAEG;IACmB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAExC,QAAQ;IAErB;;;OAGG;IACU,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAEnD,gBAAgB;IACH,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAWjD;;;OAGG;IACU,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAEnD,gBAAgB;IACH,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAWjD,gJAAgJ;IACnI,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAI1C"}
1
+ {"version":3,"file":"PrimitiveTool.d.ts","sourceRoot":"","sources":["../../../src/tools/PrimitiveTool.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAY,aAAa,EAAsC,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEtG;;;;GAIG;AACH,8BAAsB,aAAc,SAAQ,eAAe;IACzD;;OAEG;IACI,UAAU,CAAC,EAAE,QAAQ,CAAC;IAC7B,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,IAAW,aAAa,IACI,MAAM,GAAG,SAAS,CADY;IAC1D,IAAW,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAA8B;IACrE,cAAc,EAAE,OAAO,CAAS;IAEvC;;OAEG;IACH,IAAW,MAAM,IAAI,gBAAgB,CAGpC;IAED,sIAAsI;IACtI,IAAW,SAAS,IAAI,mBAAmB,GAAG,SAAS,CAGtD;IAED;;;;OAIG;IACmB,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAU5D;;OAEG;IACa,oBAAoB,CAAC,EAAE,EAAE,QAAQ,GAAG,SAAS,EAAE,oBAAoB,EAAE,OAAO,GAAG,OAAO;IAmCtG;;;;;OAKG;IACa,eAAe,CAAC,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,GAAG,OAAO;IA8BnF,qFAAqF;IAC9E,cAAc,IAAI,IAAI;IAO7B,6DAA6D;IACtD,SAAS,IAAI,MAAM;IAE1B,8IAA8I;IACvI,sBAAsB,IAAI,OAAO;IAExC;;;;OAIG;IACmB,yBAAyB,CAAC,SAAS,EAAE,QAAQ,GAAG,SAAS,EAAE,OAAO,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAM9H;;;;;;;;;OASG;aACa,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9C;;OAEG;IACmB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAExC,QAAQ;IAErB;;;OAGG;IACU,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAEnD,gBAAgB;IACH,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAWjD;;;OAGG;IACU,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAEnD,gBAAgB;IACH,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAWjD,gJAAgJ;IACnI,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAI1C"}
@@ -70,8 +70,9 @@ export class PrimitiveTool extends InteractiveTool {
70
70
  if (view.isSpatialView() && this.targetView.view.isSpatialView())
71
71
  return true; // No specific target, two spatial views are considered compatible.
72
72
  let allowView = false;
73
+ const targetView = this.targetView;
73
74
  view.forEachModel((model) => {
74
- if (!allowView && this.targetView.view.viewsModel(model.id))
75
+ if (!allowView && targetView.view.viewsModel(model.id))
75
76
  allowView = true;
76
77
  });
77
78
  return allowView; // Accept if this view shares a model in common with target.
@@ -1 +1 @@
1
- {"version":3,"file":"PrimitiveTool.js","sourceRoot":"","sources":["../../../src/tools/PrimitiveTool.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 Tools\n */\n\nimport { assert } from \"@itwin/core-bentley\";\nimport { BriefcaseConnection } from \"../BriefcaseConnection\";\nimport { IModelApp } from \"../IModelApp\";\nimport { IModelConnection } from \"../IModelConnection\";\nimport { NotifyMessageDetails, OutputMessagePriority } from \"../NotificationManager\";\nimport { Viewport } from \"../Viewport\";\nimport { AccuDrawShortcuts } from \"./AccuDrawTool\";\nimport { BeButton, BeButtonEvent, CoordinateLockOverrides, CoreTools, InteractiveTool } from \"./Tool\";\n\n/** The PrimitiveTool class can be used to implement tools to create or modify geometric elements.\n * @see [Writing a PrimitiveTool]($docs/learning/frontend/primitivetools.md)\n * @public\n * @extensions\n */\nexport abstract class PrimitiveTool extends InteractiveTool {\n /** The viewport within which the tool operates.\n * @note This property is only initialized if [[run]] returns `true`, causing the tool to be installed.\n */\n public targetView?: Viewport;\n private _targetModelId?: string;\n public get targetModelId() { return this._targetModelId; }\n public set targetModelId(v: string | undefined) { this._targetModelId = v; }\n public targetIsLocked: boolean = false; // If target model is known, set this to true in constructor and override getTargetModel.\n\n /** Get the iModel on which this tool operates.\n * @note The iModel is obtained from [[targetView]], so should only be invoked if the tool installed successfully.\n */\n public get iModel(): IModelConnection {\n assert(undefined !== this.targetView);\n return this.targetView.view.iModel;\n }\n\n /** Get the briefcase on which this tool operates, if the tool has successfully installed and the target [[iModel]] is a briefcase. */\n public get briefcase(): BriefcaseConnection | undefined {\n const iModel = this.targetView?.view.iModel;\n return iModel?.isBriefcaseConnection() ? iModel : undefined;\n }\n\n /**\n * Establish this tool as the active PrimitiveTool.\n * @return true if this tool was installed (though it may have exited too)\n * @note If you override this method you **must** call `super.run` and return false if it returns false.\n */\n public override async run(..._args: any[]): Promise<boolean> {\n const { toolAdmin, viewManager } = IModelApp;\n if (!this.isCompatibleViewport(viewManager.selectedView, false) || !await toolAdmin.onInstallTool(this))\n return false;\n\n await toolAdmin.startPrimitiveTool(this);\n await toolAdmin.onPostInstallTool(this);\n return true;\n }\n\n /** Determine whether the supplied Viewport is compatible with this tool.\n * @param vp the Viewport to check\n */\n public override isCompatibleViewport(vp: Viewport | undefined, isSelectedViewChange: boolean): boolean {\n if (undefined === vp)\n return false; // No views are open...\n\n const view = vp.view;\n const iModel = view.iModel;\n\n if (this.requireWriteableTarget() && iModel.isReadonly)\n return false; // this Tool can't be used when iModel is read only.\n\n if (undefined === this.targetView || (!this.targetIsLocked && isSelectedViewChange))\n this.targetView = vp; // Update target to new view if undefined or still free to change.\n\n if (undefined === this.targetModelId && (!this.targetIsLocked || vp === this.targetView))\n return true; // Accept if this view is current target or any type of model/view is still ok as target is still free to change.\n\n if (iModel !== this.iModel)\n return false; // Once a ViewState has been established, only accept viewport showing the same iModel.\n\n if (this.targetModelId)\n return view.viewsModel(this.targetModelId); // If a specific target model is specified, only allow view that shows it.\n\n if (view.isSpatialView() && this.targetView.view.isSpatialView())\n return true; // No specific target, two spatial views are considered compatible.\n\n let allowView = false;\n view.forEachModel((model) => {\n if (!allowView && this.targetView!.view.viewsModel(model.id))\n allowView = true;\n });\n\n return allowView; // Accept if this view shares a model in common with target.\n }\n\n /**\n * Checks that the adjusted point from the supplied button event is within the project extents for spatial views. The range of physical geometry\n * should always be fully inside the project extents. Only checking the adjusted point won't absolutely guarantee that a tool doesn't create/move geometry\n * outside the project extents, but it will be sufficient to handle most cases and provide good feedback to the user.\n * @return true if ev is acceptable.\n */\n public override isValidLocation(ev: BeButtonEvent, isButtonEvent: boolean): boolean {\n const vp = ev.viewport;\n if (undefined === vp)\n return false;\n\n if (isButtonEvent && BeButton.Data !== ev.button)\n return true;\n\n const view = vp.view;\n if (!view.isSpatialView())\n return true;\n\n // NOTE: If points aren't being adjusted then the tool shouldn't be creating geometry currently (ex. locating elements) and we shouldn't filter point...\n if (0 !== (IModelApp.toolAdmin.toolState.coordLockOvr & CoordinateLockOverrides.ACS))\n return true;\n\n // We know the tool isn't doing a locate, we don't know what it will do with this point. Minimize erroneous filtering by restricting the check to when AccuSnap is tool enable (not user enabled)...\n if (!IModelApp.accuSnap.isSnapEnabled)\n return true;\n\n const extents = view.iModel.projectExtents;\n if (extents.containsPoint(ev.point))\n return true;\n\n if (isButtonEvent && ev.isDown)\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, CoreTools.translate(\"ElementSet.Error.ProjectExtents\")));\n\n return false;\n }\n\n /** Called on data button down event to lock the tool to its current target model. */\n public autoLockTarget(): void {\n if (undefined === this.targetView)\n return;\n\n this.targetIsLocked = true;\n }\n\n /** Returns the prompt based on the tool's current state. */\n public getPrompt(): string { return \"\"; }\n\n /** Called from isCompatibleViewport to check for a read only iModel, which is not a valid target for tools that create or modify elements. */\n public requireWriteableTarget(): boolean { return true; }\n\n /**\n * Called when active view changes. Tool may choose to restart or exit based on current view type.\n * @param _previous The previously active view.\n * @param current The new active view.\n */\n public override async onSelectedViewportChanged(_previous: Viewport | undefined, current: Viewport | undefined): Promise<void> {\n if (this.isCompatibleViewport(current, true))\n return;\n return this.onRestartTool();\n }\n\n /**\n * Called when an external event may invalidate the current tool's state.\n * Examples are undo, which may invalidate any references to elements, or an incompatible active view change.\n * The active tool is expected to call installTool with a new instance, or exitTool to start the default tool.\n * ```ts\n * const tool = new MyPrimitiveTool();\n * if (!await tool.run())\n * return this.exitTool(); // Don't leave current instance active if new instance rejects install...\n * ```\n */\n public abstract onRestartTool(): Promise<void>;\n\n /**\n * Called to reset tool to initial state. PrimitiveTool implements this method to call onRestartTool.\n */\n public override async onReinitialize(): Promise<void> { return this.onRestartTool(); }\n\n public async exitTool() { return IModelApp.toolAdmin.startDefaultTool(); }\n\n /**\n * Called to reverse to a previous tool state (ex. undo last data button).\n * @return false to instead reverse the most recent transaction.\n */\n public async onUndoPreviousStep(): Promise<boolean> { return false; }\n\n /** @internal */\n public async undoPreviousStep(): Promise<boolean> {\n if (!await this.onUndoPreviousStep())\n return false;\n\n AccuDrawShortcuts.processPendingHints(); // Process pending hints from onUndoPreviousStep before calling updateDynamics...\n IModelApp.viewManager.invalidateDecorationsAllViews();\n IModelApp.toolAdmin.updateDynamics(undefined, undefined, true); // Don't wait for motion to update dynamics...\n\n return true;\n }\n\n /**\n * Called to reinstate to a previous tool state (ex. redo last data button).\n * @return false to instead reinstate the most recent transaction.\n */\n public async onRedoPreviousStep(): Promise<boolean> { return false; }\n\n /** @internal */\n public async redoPreviousStep(): Promise<boolean> {\n if (!await this.onRedoPreviousStep())\n return false;\n\n AccuDrawShortcuts.processPendingHints(); // Process pending hints from onRedoPreviousStep before calling updateDynamics...\n IModelApp.viewManager.invalidateDecorationsAllViews();\n IModelApp.toolAdmin.updateDynamics(undefined, undefined, true); // Don't wait for motion to update dynamics...\n\n return true;\n }\n\n /** If this tool is editing a briefcase, commits any elements that the tool has changed, supplying the tool flyover for the undo description. */\n public async saveChanges(): Promise<void> {\n if (this.iModel.isBriefcaseConnection())\n return this.iModel.saveChanges(this.flyover);\n }\n}\n"]}
1
+ {"version":3,"file":"PrimitiveTool.js","sourceRoot":"","sources":["../../../src/tools/PrimitiveTool.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 Tools\n */\n\nimport { assert } from \"@itwin/core-bentley\";\nimport { BriefcaseConnection } from \"../BriefcaseConnection\";\nimport { IModelApp } from \"../IModelApp\";\nimport { IModelConnection } from \"../IModelConnection\";\nimport { NotifyMessageDetails, OutputMessagePriority } from \"../NotificationManager\";\nimport { Viewport } from \"../Viewport\";\nimport { AccuDrawShortcuts } from \"./AccuDrawTool\";\nimport { BeButton, BeButtonEvent, CoordinateLockOverrides, CoreTools, InteractiveTool } from \"./Tool\";\n\n/** The PrimitiveTool class can be used to implement tools to create or modify geometric elements.\n * @see [Writing a PrimitiveTool]($docs/learning/frontend/primitivetools.md)\n * @public\n * @extensions\n */\nexport abstract class PrimitiveTool extends InteractiveTool {\n /** The viewport within which the tool operates.\n * @note This property is only initialized if [[run]] returns `true`, causing the tool to be installed.\n */\n public targetView?: Viewport;\n private _targetModelId?: string;\n public get targetModelId() { return this._targetModelId; }\n public set targetModelId(v: string | undefined) { this._targetModelId = v; }\n public targetIsLocked: boolean = false; // If target model is known, set this to true in constructor and override getTargetModel.\n\n /** Get the iModel on which this tool operates.\n * @note The iModel is obtained from [[targetView]], so should only be invoked if the tool installed successfully.\n */\n public get iModel(): IModelConnection {\n assert(undefined !== this.targetView);\n return this.targetView.view.iModel;\n }\n\n /** Get the briefcase on which this tool operates, if the tool has successfully installed and the target [[iModel]] is a briefcase. */\n public get briefcase(): BriefcaseConnection | undefined {\n const iModel = this.targetView?.view.iModel;\n return iModel?.isBriefcaseConnection() ? iModel : undefined;\n }\n\n /**\n * Establish this tool as the active PrimitiveTool.\n * @return true if this tool was installed (though it may have exited too)\n * @note If you override this method you **must** call `super.run` and return false if it returns false.\n */\n public override async run(..._args: any[]): Promise<boolean> {\n const { toolAdmin, viewManager } = IModelApp;\n if (!this.isCompatibleViewport(viewManager.selectedView, false) || !await toolAdmin.onInstallTool(this))\n return false;\n\n await toolAdmin.startPrimitiveTool(this);\n await toolAdmin.onPostInstallTool(this);\n return true;\n }\n\n /** Determine whether the supplied Viewport is compatible with this tool.\n * @param vp the Viewport to check\n */\n public override isCompatibleViewport(vp: Viewport | undefined, isSelectedViewChange: boolean): boolean {\n if (undefined === vp)\n return false; // No views are open...\n\n const view = vp.view;\n const iModel = view.iModel;\n\n if (this.requireWriteableTarget() && iModel.isReadonly)\n return false; // this Tool can't be used when iModel is read only.\n\n if (undefined === this.targetView || (!this.targetIsLocked && isSelectedViewChange))\n this.targetView = vp; // Update target to new view if undefined or still free to change.\n\n if (undefined === this.targetModelId && (!this.targetIsLocked || vp === this.targetView))\n return true; // Accept if this view is current target or any type of model/view is still ok as target is still free to change.\n\n if (iModel !== this.iModel)\n return false; // Once a ViewState has been established, only accept viewport showing the same iModel.\n\n if (this.targetModelId)\n return view.viewsModel(this.targetModelId); // If a specific target model is specified, only allow view that shows it.\n\n if (view.isSpatialView() && this.targetView.view.isSpatialView())\n return true; // No specific target, two spatial views are considered compatible.\n\n let allowView = false;\n const targetView = this.targetView;\n view.forEachModel((model) => {\n if (!allowView && targetView.view.viewsModel(model.id))\n allowView = true;\n });\n\n return allowView; // Accept if this view shares a model in common with target.\n }\n\n /**\n * Checks that the adjusted point from the supplied button event is within the project extents for spatial views. The range of physical geometry\n * should always be fully inside the project extents. Only checking the adjusted point won't absolutely guarantee that a tool doesn't create/move geometry\n * outside the project extents, but it will be sufficient to handle most cases and provide good feedback to the user.\n * @return true if ev is acceptable.\n */\n public override isValidLocation(ev: BeButtonEvent, isButtonEvent: boolean): boolean {\n const vp = ev.viewport;\n if (undefined === vp)\n return false;\n\n if (isButtonEvent && BeButton.Data !== ev.button)\n return true;\n\n const view = vp.view;\n if (!view.isSpatialView())\n return true;\n\n // NOTE: If points aren't being adjusted then the tool shouldn't be creating geometry currently (ex. locating elements) and we shouldn't filter point...\n if (0 !== (IModelApp.toolAdmin.toolState.coordLockOvr & CoordinateLockOverrides.ACS))\n return true;\n\n // We know the tool isn't doing a locate, we don't know what it will do with this point. Minimize erroneous filtering by restricting the check to when AccuSnap is tool enable (not user enabled)...\n if (!IModelApp.accuSnap.isSnapEnabled)\n return true;\n\n const extents = view.iModel.projectExtents;\n if (extents.containsPoint(ev.point))\n return true;\n\n if (isButtonEvent && ev.isDown)\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, CoreTools.translate(\"ElementSet.Error.ProjectExtents\")));\n\n return false;\n }\n\n /** Called on data button down event to lock the tool to its current target model. */\n public autoLockTarget(): void {\n if (undefined === this.targetView)\n return;\n\n this.targetIsLocked = true;\n }\n\n /** Returns the prompt based on the tool's current state. */\n public getPrompt(): string { return \"\"; }\n\n /** Called from isCompatibleViewport to check for a read only iModel, which is not a valid target for tools that create or modify elements. */\n public requireWriteableTarget(): boolean { return true; }\n\n /**\n * Called when active view changes. Tool may choose to restart or exit based on current view type.\n * @param _previous The previously active view.\n * @param current The new active view.\n */\n public override async onSelectedViewportChanged(_previous: Viewport | undefined, current: Viewport | undefined): Promise<void> {\n if (this.isCompatibleViewport(current, true))\n return;\n return this.onRestartTool();\n }\n\n /**\n * Called when an external event may invalidate the current tool's state.\n * Examples are undo, which may invalidate any references to elements, or an incompatible active view change.\n * The active tool is expected to call installTool with a new instance, or exitTool to start the default tool.\n * ```ts\n * const tool = new MyPrimitiveTool();\n * if (!await tool.run())\n * return this.exitTool(); // Don't leave current instance active if new instance rejects install...\n * ```\n */\n public abstract onRestartTool(): Promise<void>;\n\n /**\n * Called to reset tool to initial state. PrimitiveTool implements this method to call onRestartTool.\n */\n public override async onReinitialize(): Promise<void> { return this.onRestartTool(); }\n\n public async exitTool() { return IModelApp.toolAdmin.startDefaultTool(); }\n\n /**\n * Called to reverse to a previous tool state (ex. undo last data button).\n * @return false to instead reverse the most recent transaction.\n */\n public async onUndoPreviousStep(): Promise<boolean> { return false; }\n\n /** @internal */\n public async undoPreviousStep(): Promise<boolean> {\n if (!await this.onUndoPreviousStep())\n return false;\n\n AccuDrawShortcuts.processPendingHints(); // Process pending hints from onUndoPreviousStep before calling updateDynamics...\n IModelApp.viewManager.invalidateDecorationsAllViews();\n IModelApp.toolAdmin.updateDynamics(undefined, undefined, true); // Don't wait for motion to update dynamics...\n\n return true;\n }\n\n /**\n * Called to reinstate to a previous tool state (ex. redo last data button).\n * @return false to instead reinstate the most recent transaction.\n */\n public async onRedoPreviousStep(): Promise<boolean> { return false; }\n\n /** @internal */\n public async redoPreviousStep(): Promise<boolean> {\n if (!await this.onRedoPreviousStep())\n return false;\n\n AccuDrawShortcuts.processPendingHints(); // Process pending hints from onRedoPreviousStep before calling updateDynamics...\n IModelApp.viewManager.invalidateDecorationsAllViews();\n IModelApp.toolAdmin.updateDynamics(undefined, undefined, true); // Don't wait for motion to update dynamics...\n\n return true;\n }\n\n /** If this tool is editing a briefcase, commits any elements that the tool has changed, supplying the tool flyover for the undo description. */\n public async saveChanges(): Promise<void> {\n if (this.iModel.isBriefcaseConnection())\n return this.iModel.saveChanges(this.flyover);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ToolAdmin.d.ts","sourceRoot":"","sources":["../../../src/tools/ToolAdmin.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAA0B,OAAO,EAAqC,MAAM,qBAAqB,CAAC;AACzG,OAAO,EAAY,OAAO,EAAE,OAAO,EAAuB,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EAAU,mBAAmB,EAAa,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAIpG,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAOzC,OAAO,EAAE,eAAe,EAAmB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EACL,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,uBAAuB,EAAe,YAAY,EACtI,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EACnD,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;GAGG;AACH,oBAAY,aAAa;IAAG,KAAK,IAAI;IAAE,MAAM,IAAI;CAAE;AAEnD;;;GAGG;AACH,oBAAY,oBAAoB;IAAG,KAAK,IAAI;IAAE,IAAI,IAAI;IAAE,OAAO,IAAI;IAAE,SAAS,IAAI;CAAE;AAIpF;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,qEAAqE;IAC9D,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IASpG,2GAA2G;IACpG,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE,GAAG,SAAS;IAa7G,0DAA0D;IACnD,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,IAAI;IAM9E,+DAA+D;IACxD,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,IAAI;CAGtF;AAED,gBAAgB;AAChB,qBAAa,SAAS;IACb,YAAY,0BAAgC;IAC5C,cAAc,UAAS;IACvB,OAAO,CAAC,KAAK,EAAE,SAAS;IAKxB,KAAK,IAAI,SAAS;CAK1B;AAED,gBAAgB;AAChB,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAS;IACtC,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,aAAa,CAAS;;IAcvB,IAAI;CAeZ;AAED,gBAAgB;AAChB,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0B;IAC9C,UAAU,iBAAuB;IACjC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,MAAM,EAAE,aAAa,EAAE,CAAmE;IAC1F,UAAU,EAAE,QAAQ,CAAiB;IACrC,WAAW,EAAE,WAAW,CAAuB;IAC/C,UAAU,UAAiB;IAC3B,eAAe,CAAC,EAAE,aAAa,CAAC;IAChC,cAAc,CAAC,EAAE,YAAY,CAAC;IAC9B,cAAc,CAAC,EAAE,YAAY,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IAE9B,IAAW,QAAQ,IACK,OAAO,CADiB;IAChD,IAAW,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAiC;IAChE,IAAW,KAAK,IACK,OAAO,CADc;IAC1C,IAAW,KAAK,CAAC,EAAE,EAAE,OAAO,EAA8B;IAC1D,IAAW,SAAS,IACK,OAAO,CADkB;IAClD,IAAW,SAAS,CAAC,EAAE,EAAE,OAAO,EAAkC;IAClE,IAAW,WAAW,YAA6D;IACnF,IAAW,aAAa,YAA+D;IACvF,IAAW,SAAS,YAA2D;IAExE,UAAU,CAAC,MAAM,EAAE,QAAQ;IAC3B,WAAW,CAAC,MAAM,EAAE,QAAQ;IAC5B,aAAa;IAMb,kBAAkB;IAClB,aAAa,CAAC,EAAE,EAAE,QAAQ;IAKjC,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,eAAe;IAIhB,gBAAgB,CAAC,EAAE,EAAE,UAAU,GAAG,aAAa,GAAG,UAAU,GAAG,IAAI;IAMnE,QAAQ,CAAC,IAAI,EAAE,KAAK;IAKpB,uBAAuB,CAAC,EAAE,EAAE,aAAa;IAQzC,eAAe,CAAC,EAAE,EAAE,aAAa;IAEjC,YAAY,CAAC,MAAM,EAAE,QAAQ;IAY7B,UAAU,CAAC,MAAM,EAAE,QAAQ;IAM3B,OAAO,CAAC,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO;IA2B3C,mBAAmB,CAAC,EAAE,EAAE,aAAa;IAOrC,wBAAwB,CAAC,EAAE,EAAE,aAAa;IAY1C,SAAS,CAAC,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW;IAU5D,UAAU,CAAC,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO;IAYlF,WAAW,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO;CAkB9C;AAQD;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAClC;AAED;;;;GAIG;AACH,qBAAa,SAAS;IACb,UAAU,CAAC,EAAE,cAAc,CAAC;IACnC,gBAAgB;IAChB,SAAgB,iBAAiB,oBAA2B;IAC5D,gBAAgB;IAChB,SAAgB,SAAS,YAAmB;IAC5C,+EAA+E;IAC/E,SAAgB,iBAAiB,oBAA2B;IAC5D,OAAO,CAAC,iBAAiB,CAAC,CAAmB;IAC7C,OAAO,CAAC,oBAAoB,CAAC,CAAqB;IAClD,OAAO,CAAC,0BAA0B,CAAC,CAAqB;IACxD,OAAO,CAAC,SAAS,CAAC,CAAW;IAC7B,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,SAAS,CAAC,CAAkB;IACpC,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,cAAc,CAAY;IAClC,OAAO,CAAC,gBAAgB,CAAC,CAAQ;IACjC,OAAO,CAAC,sBAAsB,CAAC,CAAc;IAC7C,OAAO,CAAC,qBAAqB,CAAC,CAAiB;IAC/C,OAAO,CAAC,mBAAmB,CAAC,CAAqB;IAEjD;;;;;OAKG;IACH,IAAW,aAAa,IAAI,MAAM,CAEjC;IACD,IAAW,aAAa,CAAC,MAAM,EAAE,MAAM,EAEtC;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,GAAG,EAAE,GAAG,SAAS,CAE9C;IACD,IAAW,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,SAAS,EAEjD;IAED,wFAAwF;IACjF,YAAY,UAAS;IAC5B,uDAAuD;IAChD,QAAQ,UAAS;IACxB,oEAAoE;IAC7D,gBAAgB,UAAS;IAChC,kGAAkG;IAC3F,cAAc,UAAS;IAE9B,+FAA+F;IAC/F,OAAc,gBAAgB;QAC5B,+BAA+B;;QAE/B,4DAA4D;;QAE5D,sEAAsE;;QAEtE,qEAAqE;;MAErE;IAEF;;;;;;;;OAQG;WACiB,gBAAgB,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAwBlE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAEvD;;OAEG;IACH,OAAO,CAAC,0BAA0B,CAA+F;IAEjI,yHAAyH;IACzH,IAAW,yBAAyB,IACU,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,sBAAsB,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAD5C;IAClF,IAAW,yBAAyB,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,sBAAsB,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,EAE7H;IAED;;KAEC;IACD,OAAO,CAAC,0BAA0B,CAAuC;IAEzE,yHAAyH;IACzH,IAAW,yBAAyB,IACU,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CADY;IAClF,IAAW,yBAAyB,CAAC,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,EAErE;IAED;;OAEG;IACH,OAAO,CAAC,0BAA0B,CAA0F;IAE5H,gJAAgJ;IAChJ,IAAW,yBAAyB,IACU,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CADvC;IAClF,IAAW,yBAAyB,CAAC,OAAO,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,EAExH;IAED,mCAAmC;IACnC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAG7B;IAEF,gBAAgB;IACT,aAAa;IAcpB,gBAAgB;IACT,UAAU;IAQjB,oEAAoE;IACpE,IAAW,UAAU,IAAI,cAAc,GAAG,SAAS,CAA4C;IAE/F;;OAEG;IACI,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI;IAe/C,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,cAAc;YAQR,aAAa;YAUb,OAAO;YA0CP,YAAY;YAgBZ,gBAAgB;YAiBhB,OAAO;IAkIrB,gDAAgD;IAChD,OAAO,CAAC,MAAM,CAAC,WAAW,CAAmB;IAC7C,OAAO,CAAC,MAAM,CAAC,UAAU;IAYzB,gBAAgB;IAChB,OAAO,CAAC,MAAM,CAAC,YAAY;IAO3B;;OAEG;WACW,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,cAAc,GAAG,IAAI;IAO5D,yDAAyD;YAC3C,gBAAgB;IAqB9B,OAAO,CAAC,gBAAgB,CAAS;IACjC;;;OAGG;IACU,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAc1C,oEAAoE;IACpE,IAAW,QAAQ,IAAI,eAAe,CAGrC;IACD,IAAW,QAAQ,CAAC,QAAQ,EAAE,eAAe,EAE5C;IAED,kEAAkE;IAClE,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc;IAQ3C,gBAAgB;IACH,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAKnE,gBAAgB;IACH,iBAAiB,CAAC,IAAI,EAAE,eAAe;IAEpD,IAAW,QAAQ,IAAI,QAAQ,GAAG,SAAS,CAA2B;IACtE,IAAW,aAAa,IAAI,aAAa,GAAG,SAAS,CAAgC;IAErF,gIAAgI;IAChI,IAAW,UAAU,IAAI,eAAe,GAAG,SAAS,CAEnD;IAED,8GAA8G;IAC9G,IAAW,WAAW,IAAI,eAAe,CAA8D;IAEvG,yEAAyE;IAClE,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;IAE5C,mFAAmF;IACtE,UAAU,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC;IAEtE;;;OAGG;IACH,SAAgB,iBAAiB,iBAAsB,IAAI,SAAS,aAAa,KAAK,IAAI,EAAI;IAE9F;;;OAGG;IACH,SAAgB,oBAAoB,iBAAsB,IAAI,SAAS,oBAAoB,KAAK,IAAI,EAAI;YAE1F,YAAY;IAwB1B,gBAAgB;IACT,YAAY,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI;IAU7C,gBAAgB;IACT,cAAc,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI;IAwDhF,gBAAgB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC;IAiB9D,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,oBAAoB;IAO5B,sCAAsC;IACtC,OAAO,CAAC,kBAAkB,CAAC,CAAmB;IAC9C,mDAAmD;IACnD,OAAO,CAAC,kBAAkB,CAAC,CAAgB;IAE3C,OAAO,CAAC,mBAAmB;YAIb,iBAAiB;YAOjB,YAAY;YAYZ,kBAAkB;IAUhC,OAAO,CAAC,sBAAsB;YAYhB,WAAW;YAQX,QAAQ;YAqFR,WAAW;YAUX,WAAW;IAclB,gBAAgB,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI;IA0BlF,iBAAiB,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ;IAOpD,WAAW,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE,YAAY,GAAE,OAAc,EAAE,UAAU,GAAE,OAAc,GAAG,IAAI;IA8BrH,eAAe,CAAC,aAAa,GAAE,OAAc,GAAG,IAAI;IAsB3D,gBAAgB;IACH,eAAe,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC;YAsF/C,YAAY;YAkBZ,UAAU;IAkBxB,sFAAsF;YACxE,uBAAuB;IAUrC,OAAO,CAAC,MAAM,CAAC,cAAc;IAS7B,4DAA4D;IAC/C,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IAwBtG,kCAAkC;IACrB,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/F,kDAAkD;YACpC,eAAe;IA2B7B,4FAA4F;IAC/E,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAehD,4FAA4F;IAC/E,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAehD,OAAO,CAAC,mBAAmB;YAKb,eAAe;IAS7B,gBAAgB;IACH,iBAAiB,CAAC,OAAO,CAAC,EAAE,cAAc;IAQvD,gBAAgB;IACH,kBAAkB;IAmB/B,gBAAgB;IACH,mBAAmB,CAAC,OAAO,EAAE,cAAc;IAqBxD,gBAAgB;IACH,WAAW,CAAC,OAAO,CAAC,EAAE,QAAQ;IAQ3C,gBAAgB;IACH,YAAY;IAmBzB,gBAAgB;IACH,aAAa,CAAC,OAAO,EAAE,QAAQ;IA4B5C,gBAAgB;IACT,qBAAqB,CAAC,OAAO,CAAC,EAAE,kBAAkB;IAIzD,gBAAgB;IACH,gBAAgB,CAAC,OAAO,CAAC,EAAE,aAAa;IAUrD,gBAAgB;IACH,kBAAkB,CAAC,OAAO,CAAC,EAAE,aAAa;IA4BvD;;OAEG;IACI,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,sBAAsB,EAAE,GAAG,IAAI;IAKjG;;OAEG;IACI,4BAA4B,IAAI,IAAI;IAK3C;;;;OAIG;IACU,eAAe,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrE;;;;;OAKG;IACI,4BAA4B,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAYxF;;;;;OAKG;IACI,mBAAmB,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAY/E;;;;;;;;OAQG;IACU,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAa9C;;;;;;OAMG;IACU,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAOlD,gBAAgB;IACT,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAE7C,gBAAgB;IACT,qBAAqB,CAAC,GAAG,EAAE,SAAS,GAAG,mBAAmB,GAAG,SAAS;IAE7E,gBAAgB;IACT,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAuB/C,IAAW,gBAAgB,IAAI,OAAO,CAQrC;IAED,gBAAgB;IACT,aAAa,IAAI,IAAI;IAM5B,gBAAgB;IACT,WAAW,IAAI,IAAI;IAM1B,uEAAuE;IAChE,2BAA2B,CAAC,EAAE,EAAE,aAAa,EAAE,OAAO,UAAO;IACpE,yEAAyE;IAClE,2BAA2B,CAAC,EAAE,EAAE,aAAa;IACpD,gBAAgB;IACT,oBAAoB,CAAC,EAAE,EAAE,aAAa;IAE7C,8FAA8F;IACjF,gCAAgC,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,GAAE,QAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhH;;OAEG;IACU,0CAA0C,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,GAAE,QAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjJ,kHAAkH;IACrG,6BAA6B,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,GAAE,QAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7G;;OAEG;IACU,yBAAyB,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,GAAE,QAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzG,wFAAwF;IAC3E,wBAAwB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAItE,yHAAyH;IAClH,mBAAmB,IAAI,IAAI;IAKlC,gBAAgB;IACT,6BAA6B,CAAC,OAAO,EAAE,OAAO;IAoBrD,mEAAmE;IACtD,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IAO1F,gBAAgB;IACH,yBAAyB,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,SAAS;IAgBzG,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAO1C,eAAe,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI;IAOnD,6EAA6E;IAC7E,IAAW,uBAAuB,IAAI,uBAAuB,CAAwC;IACrG,IAAW,uBAAuB,CAAC,YAAY,EAAE,uBAAuB,EAAiD;IAEzH,gBAAgB;IACH,aAAa;CAM3B;AAED;;;GAGG;AACH,qBAAa,mBAAmB;WACV,OAAO,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;mBAa1D,MAAM;CA4F5B"}
1
+ {"version":3,"file":"ToolAdmin.d.ts","sourceRoot":"","sources":["../../../src/tools/ToolAdmin.ts"],"names":[],"mappings":"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"}
@@ -182,11 +182,15 @@ export class CurrentInputState {
182
182
  }
183
183
  updateDownPoint(ev) { this.button[ev.button].downUorPt = ev.point; }
184
184
  onButtonDown(button) {
185
- const viewPt = this.viewport.worldToView(this.button[button].downRawPt);
186
- const center = this.viewport.npcToView(NpcCenter);
187
- viewPt.z = center.z;
185
+ let isDoubleClick = false;
188
186
  const now = Date.now();
189
- const isDoubleClick = ((now - this.button[button].downTime) < ToolSettings.doubleClickTimeout.milliseconds) && (viewPt.distance(this.viewPoint) < this.viewport.pixelsFromInches(ToolSettings.doubleClickToleranceInches));
187
+ const vp = this.viewport;
188
+ if (undefined !== vp) {
189
+ const viewPt = vp.worldToView(this.button[button].downRawPt);
190
+ const center = vp.npcToView(NpcCenter);
191
+ viewPt.z = center.z;
192
+ isDoubleClick = ((now - this.button[button].downTime) < ToolSettings.doubleClickTimeout.milliseconds) && (viewPt.distance(this.viewPoint) < vp.pixelsFromInches(ToolSettings.doubleClickToleranceInches));
193
+ }
190
194
  this.button[button].init(this.point, this.rawPoint, now, true, isDoubleClick, false, this.inputSource);
191
195
  this.lastButton = button;
192
196
  }
@@ -265,10 +269,13 @@ export class CurrentInputState {
265
269
  return false;
266
270
  if ((Date.now() - state.downTime) <= ToolSettings.startDragDelay.milliseconds)
267
271
  return false;
268
- const viewPt = this.viewport.worldToView(state.downRawPt);
272
+ const vp = this.viewport;
273
+ if (undefined === vp)
274
+ return false;
275
+ const viewPt = vp.worldToView(state.downRawPt);
269
276
  const deltaX = Math.abs(this._viewPoint.x - viewPt.x);
270
277
  const deltaY = Math.abs(this._viewPoint.y - viewPt.y);
271
- return ((deltaX + deltaY) > this.viewport.pixelsFromInches(ToolSettings.startDragDistanceInches));
278
+ return ((deltaX + deltaY) > vp.pixelsFromInches(ToolSettings.startDragDistanceInches));
272
279
  }
273
280
  }
274
281
  /** Controls the operation of [[Tool]]s, administering the current [[ViewTool]], [[PrimitiveTool]], and [[IdleTool]] and forwarding events to the appropriate tool.
@@ -435,9 +442,11 @@ export class ToolAdmin {
435
442
  ToolAdmin._toolEvents = ToolAdmin._toolEvents.filter((ev) => ev.vp !== vp);
436
443
  }
437
444
  getMousePosition(event) {
445
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
438
446
  return event.vp.mousePosFromEvent(event.ev);
439
447
  }
440
448
  getMouseMovement(event) {
449
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
441
450
  return event.vp.mouseMovementFromEvent(event.ev);
442
451
  }
443
452
  getMouseButton(button) {
@@ -449,6 +458,7 @@ export class ToolAdmin {
449
458
  }
450
459
  async onMouseButton(event, isDown) {
451
460
  const ev = event.ev;
461
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
452
462
  const vp = event.vp;
453
463
  const pos = this.getMousePosition(event);
454
464
  const button = this.getMouseButton(ev.button);
@@ -458,7 +468,7 @@ export class ToolAdmin {
458
468
  async onWheel(event) {
459
469
  const ev = event.ev;
460
470
  const vp = event.vp;
461
- if (this.filterViewport(vp))
471
+ if (undefined === vp || this.filterViewport(vp))
462
472
  return EventHandled.Yes;
463
473
  const current = this.currentInputState;
464
474
  current.setKeyQualifiers(ev);
@@ -491,7 +501,9 @@ export class ToolAdmin {
491
501
  return EventHandled.Yes;
492
502
  }
493
503
  async sendTapEvent(touchEv) {
494
- touchEv.viewport.setAnimator();
504
+ const vp = touchEv.viewport;
505
+ if (undefined !== vp)
506
+ vp.setAnimator();
495
507
  const overlayHit = this.pickCanvasDecoration(touchEv);
496
508
  if (undefined !== overlayHit && undefined !== overlayHit.onMouseButton && overlayHit.onMouseButton(touchEv))
497
509
  return EventHandled.Yes;
@@ -518,7 +530,7 @@ export class ToolAdmin {
518
530
  async onTouch(event) {
519
531
  const touchEvent = event.ev;
520
532
  const vp = event.vp;
521
- if (this.filterViewport(vp))
533
+ if (undefined === vp || this.filterViewport(vp))
522
534
  return;
523
535
  const ev = new BeTouchEvent({ touchEvent });
524
536
  const current = this.currentInputState;
@@ -657,6 +669,7 @@ export class ToolAdmin {
657
669
  case "mouseup": return this.onMouseButton(event, false);
658
670
  case "mousemove": return this.onMouseMove(event);
659
671
  case "mouseover": return this.onMouseEnter(event);
672
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
660
673
  case "mouseout": return this.onMouseLeave(event.vp);
661
674
  case "wheel": return this.onWheel(event);
662
675
  case "keydown": return this.onKeyTransition(event, true);
@@ -833,6 +846,8 @@ export class ToolAdmin {
833
846
  }
834
847
  pickCanvasDecoration(ev) {
835
848
  const vp = ev.viewport;
849
+ if (undefined === vp)
850
+ return undefined;
836
851
  const decoration = (undefined === this.viewTool) ? vp.pickCanvasDecoration(ev.viewPoint) : undefined;
837
852
  this.setCanvasDecoration(vp, decoration, ev);
838
853
  return decoration;
@@ -958,6 +973,8 @@ export class ToolAdmin {
958
973
  }
959
974
  async onMouseMove(event) {
960
975
  const vp = event.vp;
976
+ if (undefined === vp)
977
+ return;
961
978
  const pos = this.getMousePosition(event);
962
979
  const mov = this.getMouseMovement(event);
963
980
  // Sometimes the mouse goes down in a view, but we lose focus while its down so we never receive the up event.
@@ -1509,30 +1526,48 @@ export class ToolAdmin {
1509
1526
  setAdjustedDataPoint(ev) { this.currentInputState.adjustLastDataPoint(ev); }
1510
1527
  /** Can be called by tools that wish to emulate mouse button down/up events for onTouchTap. */
1511
1528
  async convertTouchTapToButtonDownAndUp(ev, button = BeButton.Data) {
1529
+ const vp = ev.viewport;
1530
+ if (undefined === vp)
1531
+ return;
1512
1532
  const pt2d = ev.viewPoint;
1513
- await this.onButtonDown(ev.viewport, pt2d, button, InputSource.Touch);
1514
- return this.onButtonUp(ev.viewport, pt2d, button, InputSource.Touch);
1533
+ await this.onButtonDown(vp, pt2d, button, InputSource.Touch);
1534
+ return this.onButtonUp(vp, pt2d, button, InputSource.Touch);
1515
1535
  }
1516
1536
  /** Can be called by tools that wish to emulate moving the mouse with a button depressed for onTouchMoveStart.
1517
1537
  * @note Calls the tool's onMouseStartDrag method from onMotion.
1518
1538
  */
1519
1539
  async convertTouchMoveStartToButtonDownAndMotion(startEv, ev, button = BeButton.Data) {
1520
- await this.onButtonDown(startEv.viewport, startEv.viewPoint, button, InputSource.Touch);
1521
- return this.onMotion(ev.viewport, ev.viewPoint, InputSource.Touch, true);
1540
+ const startVp = startEv.viewport;
1541
+ if (undefined === startVp)
1542
+ return;
1543
+ const vp = ev.viewport;
1544
+ if (undefined === vp)
1545
+ return;
1546
+ await this.onButtonDown(startVp, startEv.viewPoint, button, InputSource.Touch);
1547
+ return this.onMotion(vp, ev.viewPoint, InputSource.Touch, true);
1522
1548
  }
1523
1549
  /** Can be called by tools that wish to emulate pressing the mouse button for onTouchStart or onTouchMoveStart. */
1524
1550
  async convertTouchStartToButtonDown(ev, button = BeButton.Data) {
1525
- return this.onButtonDown(ev.viewport, ev.viewPoint, button, InputSource.Touch);
1551
+ const vp = ev.viewport;
1552
+ if (undefined === vp)
1553
+ return;
1554
+ return this.onButtonDown(vp, ev.viewPoint, button, InputSource.Touch);
1526
1555
  }
1527
1556
  /** Can be called by tools that wish to emulate releasing the mouse button for onTouchEnd or onTouchComplete.
1528
1557
  * @note Calls the tool's onMouseEndDrag method if convertTouchMoveStartToButtonDownAndMotion was called for onTouchMoveStart.
1529
1558
  */
1530
1559
  async convertTouchEndToButtonUp(ev, button = BeButton.Data) {
1531
- return this.onButtonUp(ev.viewport, ev.viewPoint, button, InputSource.Touch);
1560
+ const vp = ev.viewport;
1561
+ if (undefined === vp)
1562
+ return;
1563
+ return this.onButtonUp(vp, ev.viewPoint, button, InputSource.Touch);
1532
1564
  }
1533
1565
  /** Can be called by tools that wish to emulate a mouse motion event for onTouchMove. */
1534
1566
  async convertTouchMoveToMotion(ev) {
1535
- return this.onMotion(ev.viewport, ev.viewPoint, InputSource.Touch);
1567
+ const vp = ev.viewport;
1568
+ if (undefined === vp)
1569
+ return;
1570
+ return this.onMotion(vp, ev.viewPoint, InputSource.Touch);
1536
1571
  }
1537
1572
  /** Can be called by tools to invoke their [[InteractiveTool.onDynamicFrame]] method without requiring a motion event. */
1538
1573
  simulateMotionEvent() {