@itwin/core-frontend 5.11.0-dev.8 → 5.12.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -1
- package/lib/cjs/AccuDraw.d.ts +2 -0
- package/lib/cjs/AccuDraw.d.ts.map +1 -1
- package/lib/cjs/AccuDraw.js +9 -1
- package/lib/cjs/AccuDraw.js.map +1 -1
- package/lib/cjs/BingLocation.d.ts +4 -0
- package/lib/cjs/BingLocation.d.ts.map +1 -1
- package/lib/cjs/BingLocation.js +6 -1
- package/lib/cjs/BingLocation.js.map +1 -1
- package/lib/cjs/CesiumAccessClient.d.ts +52 -0
- package/lib/cjs/CesiumAccessClient.d.ts.map +1 -0
- package/lib/cjs/CesiumAccessClient.js +10 -0
- package/lib/cjs/CesiumAccessClient.js.map +1 -0
- package/lib/cjs/DisplayStyleState.js +2 -2
- package/lib/cjs/DisplayStyleState.js.map +1 -1
- package/lib/cjs/GeoProviders.d.ts +45 -0
- package/lib/cjs/GeoProviders.d.ts.map +1 -0
- package/lib/cjs/GeoProviders.js +49 -0
- package/lib/cjs/GeoProviders.js.map +1 -0
- package/lib/cjs/GraphicalEditingScope.d.ts +21 -0
- package/lib/cjs/GraphicalEditingScope.d.ts.map +1 -1
- package/lib/cjs/GraphicalEditingScope.js +26 -0
- package/lib/cjs/GraphicalEditingScope.js.map +1 -1
- package/lib/cjs/HitDetail.d.ts.map +1 -1
- package/lib/cjs/HitDetail.js +10 -7
- package/lib/cjs/HitDetail.js.map +1 -1
- package/lib/cjs/IModelApp.d.ts +33 -0
- package/lib/cjs/IModelApp.d.ts.map +1 -1
- package/lib/cjs/IModelApp.js +33 -0
- package/lib/cjs/IModelApp.js.map +1 -1
- package/lib/cjs/IModelConnection.d.ts +3 -3
- package/lib/cjs/IModelConnection.d.ts.map +1 -1
- package/lib/cjs/IModelConnection.js +15 -8
- package/lib/cjs/IModelConnection.js.map +1 -1
- package/lib/cjs/NativeApp.d.ts.map +1 -1
- package/lib/cjs/NativeApp.js +1 -3
- package/lib/cjs/NativeApp.js.map +1 -1
- package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.d.ts +1 -1
- package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.d.ts.map +1 -1
- package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js +23 -5
- package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
- package/lib/cjs/SubCategoriesCache.d.ts +15 -3
- package/lib/cjs/SubCategoriesCache.d.ts.map +1 -1
- package/lib/cjs/SubCategoriesCache.js +98 -26
- package/lib/cjs/SubCategoriesCache.js.map +1 -1
- package/lib/cjs/ViewGlobalLocation.d.ts +1 -1
- package/lib/cjs/ViewGlobalLocation.d.ts.map +1 -1
- package/lib/cjs/ViewGlobalLocation.js +3 -6
- package/lib/cjs/ViewGlobalLocation.js.map +1 -1
- package/lib/cjs/Viewport.d.ts +1 -0
- package/lib/cjs/Viewport.d.ts.map +1 -1
- package/lib/cjs/Viewport.js +13 -1
- package/lib/cjs/Viewport.js.map +1 -1
- package/lib/cjs/core-frontend.d.ts +3 -0
- package/lib/cjs/core-frontend.d.ts.map +1 -1
- package/lib/cjs/core-frontend.js +4 -0
- package/lib/cjs/core-frontend.js.map +1 -1
- package/lib/cjs/internal/tile/DynamicIModelTile.d.ts +3 -3
- package/lib/cjs/internal/tile/DynamicIModelTile.d.ts.map +1 -1
- package/lib/cjs/internal/tile/DynamicIModelTile.js +26 -6
- package/lib/cjs/internal/tile/DynamicIModelTile.js.map +1 -1
- package/lib/cjs/internal/tile/IModelTileTree.d.ts.map +1 -1
- package/lib/cjs/internal/tile/IModelTileTree.js +4 -2
- package/lib/cjs/internal/tile/IModelTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/RealityModelTileTree.d.ts.map +1 -1
- package/lib/cjs/internal/tile/RealityModelTileTree.js +6 -2
- package/lib/cjs/internal/tile/RealityModelTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/RealityTileLoader.d.ts +22 -0
- package/lib/cjs/internal/tile/RealityTileLoader.d.ts.map +1 -1
- package/lib/cjs/internal/tile/RealityTileLoader.js +53 -5
- package/lib/cjs/internal/tile/RealityTileLoader.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.d.ts +1 -0
- package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.js +1 -0
- package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
- package/lib/cjs/properties/AngleDescription.d.ts +1 -0
- package/lib/cjs/properties/AngleDescription.d.ts.map +1 -1
- package/lib/cjs/properties/AngleDescription.js +3 -0
- package/lib/cjs/properties/AngleDescription.js.map +1 -1
- package/lib/cjs/properties/FormattedQuantityDescription.d.ts +29 -1
- package/lib/cjs/properties/FormattedQuantityDescription.d.ts.map +1 -1
- package/lib/cjs/properties/FormattedQuantityDescription.js +35 -0
- package/lib/cjs/properties/FormattedQuantityDescription.js.map +1 -1
- package/lib/cjs/properties/LengthDescription.d.ts +3 -0
- package/lib/cjs/properties/LengthDescription.d.ts.map +1 -1
- package/lib/cjs/properties/LengthDescription.js +9 -0
- package/lib/cjs/properties/LengthDescription.js.map +1 -1
- package/lib/cjs/render/RenderSystem.d.ts +1 -1
- package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
- package/lib/cjs/render/RenderSystem.js +1 -1
- package/lib/cjs/render/RenderSystem.js.map +1 -1
- package/lib/cjs/tile/RealityTile.d.ts +5 -0
- package/lib/cjs/tile/RealityTile.d.ts.map +1 -1
- package/lib/cjs/tile/RealityTile.js +4 -0
- package/lib/cjs/tile/RealityTile.js.map +1 -1
- package/lib/cjs/tile/TileAdmin.d.ts +23 -1
- package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
- package/lib/cjs/tile/TileAdmin.js +17 -1
- package/lib/cjs/tile/TileAdmin.js.map +1 -1
- package/lib/cjs/tile/map/BingElevation.d.ts +16 -4
- package/lib/cjs/tile/map/BingElevation.d.ts.map +1 -1
- package/lib/cjs/tile/map/BingElevation.js +18 -8
- package/lib/cjs/tile/map/BingElevation.js.map +1 -1
- package/lib/cjs/tile/map/CesiumTerrainProvider.d.ts +16 -1
- package/lib/cjs/tile/map/CesiumTerrainProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/CesiumTerrainProvider.js +57 -17
- package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts +6 -1
- package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts +1 -0
- package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapLayerImageryFormats.js +3 -0
- package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
- package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapTileTree.js +19 -8
- package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
- package/lib/cjs/tile/map/TerrainMeshProvider.d.ts +6 -0
- package/lib/cjs/tile/map/TerrainMeshProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/TerrainMeshProvider.js.map +1 -1
- package/lib/cjs/tools/AccuDrawShortcutTool.d.ts +29 -0
- package/lib/cjs/tools/AccuDrawShortcutTool.d.ts.map +1 -0
- package/lib/cjs/tools/AccuDrawShortcutTool.js +139 -0
- package/lib/cjs/tools/AccuDrawShortcutTool.js.map +1 -0
- package/lib/cjs/tools/AccuDrawTool.d.ts +13 -68
- package/lib/cjs/tools/AccuDrawTool.d.ts.map +1 -1
- package/lib/cjs/tools/AccuDrawTool.js +103 -129
- package/lib/cjs/tools/AccuDrawTool.js.map +1 -1
- package/lib/cjs/tools/SetupCameraTools.d.ts +89 -0
- package/lib/cjs/tools/SetupCameraTools.d.ts.map +1 -0
- package/lib/cjs/tools/SetupCameraTools.js +444 -0
- package/lib/cjs/tools/SetupCameraTools.js.map +1 -0
- package/lib/cjs/tools/ToolAdmin.d.ts +5 -2
- package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
- package/lib/cjs/tools/ToolAdmin.js +30 -7
- package/lib/cjs/tools/ToolAdmin.js.map +1 -1
- package/lib/cjs/tools/ViewTool.d.ts +1 -81
- package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
- package/lib/cjs/tools/ViewTool.js +13 -410
- package/lib/cjs/tools/ViewTool.js.map +1 -1
- package/lib/esm/AccuDraw.d.ts +2 -0
- package/lib/esm/AccuDraw.d.ts.map +1 -1
- package/lib/esm/AccuDraw.js +9 -1
- package/lib/esm/AccuDraw.js.map +1 -1
- package/lib/esm/BingLocation.d.ts +4 -0
- package/lib/esm/BingLocation.d.ts.map +1 -1
- package/lib/esm/BingLocation.js +6 -1
- package/lib/esm/BingLocation.js.map +1 -1
- package/lib/esm/CesiumAccessClient.d.ts +52 -0
- package/lib/esm/CesiumAccessClient.d.ts.map +1 -0
- package/lib/esm/CesiumAccessClient.js +9 -0
- package/lib/esm/CesiumAccessClient.js.map +1 -0
- package/lib/esm/DisplayStyleState.js +2 -2
- package/lib/esm/DisplayStyleState.js.map +1 -1
- package/lib/esm/GeoProviders.d.ts +45 -0
- package/lib/esm/GeoProviders.d.ts.map +1 -0
- package/lib/esm/GeoProviders.js +45 -0
- package/lib/esm/GeoProviders.js.map +1 -0
- package/lib/esm/GraphicalEditingScope.d.ts +21 -0
- package/lib/esm/GraphicalEditingScope.d.ts.map +1 -1
- package/lib/esm/GraphicalEditingScope.js +26 -0
- package/lib/esm/GraphicalEditingScope.js.map +1 -1
- package/lib/esm/HitDetail.d.ts.map +1 -1
- package/lib/esm/HitDetail.js +11 -8
- package/lib/esm/HitDetail.js.map +1 -1
- package/lib/esm/IModelApp.d.ts +33 -0
- package/lib/esm/IModelApp.d.ts.map +1 -1
- package/lib/esm/IModelApp.js +34 -1
- package/lib/esm/IModelApp.js.map +1 -1
- package/lib/esm/IModelConnection.d.ts +3 -3
- package/lib/esm/IModelConnection.d.ts.map +1 -1
- package/lib/esm/IModelConnection.js +15 -8
- package/lib/esm/IModelConnection.js.map +1 -1
- package/lib/esm/NativeApp.d.ts.map +1 -1
- package/lib/esm/NativeApp.js +1 -3
- package/lib/esm/NativeApp.js.map +1 -1
- package/lib/esm/RealityDataSourceCesiumIonAssetImpl.d.ts +1 -1
- package/lib/esm/RealityDataSourceCesiumIonAssetImpl.d.ts.map +1 -1
- package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js +24 -6
- package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
- package/lib/esm/SubCategoriesCache.d.ts +15 -3
- package/lib/esm/SubCategoriesCache.d.ts.map +1 -1
- package/lib/esm/SubCategoriesCache.js +99 -27
- package/lib/esm/SubCategoriesCache.js.map +1 -1
- package/lib/esm/ViewGlobalLocation.d.ts +1 -1
- package/lib/esm/ViewGlobalLocation.d.ts.map +1 -1
- package/lib/esm/ViewGlobalLocation.js +3 -6
- package/lib/esm/ViewGlobalLocation.js.map +1 -1
- package/lib/esm/Viewport.d.ts +1 -0
- package/lib/esm/Viewport.d.ts.map +1 -1
- package/lib/esm/Viewport.js +13 -1
- package/lib/esm/Viewport.js.map +1 -1
- package/lib/esm/core-frontend.d.ts +3 -0
- package/lib/esm/core-frontend.d.ts.map +1 -1
- package/lib/esm/core-frontend.js +6 -1
- package/lib/esm/core-frontend.js.map +1 -1
- package/lib/esm/internal/tile/DynamicIModelTile.d.ts +3 -3
- package/lib/esm/internal/tile/DynamicIModelTile.d.ts.map +1 -1
- package/lib/esm/internal/tile/DynamicIModelTile.js +26 -6
- package/lib/esm/internal/tile/DynamicIModelTile.js.map +1 -1
- package/lib/esm/internal/tile/IModelTileTree.d.ts.map +1 -1
- package/lib/esm/internal/tile/IModelTileTree.js +4 -2
- package/lib/esm/internal/tile/IModelTileTree.js.map +1 -1
- package/lib/esm/internal/tile/RealityModelTileTree.d.ts.map +1 -1
- package/lib/esm/internal/tile/RealityModelTileTree.js +6 -2
- package/lib/esm/internal/tile/RealityModelTileTree.js.map +1 -1
- package/lib/esm/internal/tile/RealityTileLoader.d.ts +22 -0
- package/lib/esm/internal/tile/RealityTileLoader.d.ts.map +1 -1
- package/lib/esm/internal/tile/RealityTileLoader.js +54 -6
- package/lib/esm/internal/tile/RealityTileLoader.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.d.ts +1 -0
- package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.js +1 -0
- package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
- package/lib/esm/properties/AngleDescription.d.ts +1 -0
- package/lib/esm/properties/AngleDescription.d.ts.map +1 -1
- package/lib/esm/properties/AngleDescription.js +3 -0
- package/lib/esm/properties/AngleDescription.js.map +1 -1
- package/lib/esm/properties/FormattedQuantityDescription.d.ts +29 -1
- package/lib/esm/properties/FormattedQuantityDescription.d.ts.map +1 -1
- package/lib/esm/properties/FormattedQuantityDescription.js +35 -1
- package/lib/esm/properties/FormattedQuantityDescription.js.map +1 -1
- package/lib/esm/properties/LengthDescription.d.ts +3 -0
- package/lib/esm/properties/LengthDescription.d.ts.map +1 -1
- package/lib/esm/properties/LengthDescription.js +9 -0
- package/lib/esm/properties/LengthDescription.js.map +1 -1
- package/lib/esm/render/RenderSystem.d.ts +1 -1
- package/lib/esm/render/RenderSystem.d.ts.map +1 -1
- package/lib/esm/render/RenderSystem.js +1 -1
- package/lib/esm/render/RenderSystem.js.map +1 -1
- package/lib/esm/tile/RealityTile.d.ts +5 -0
- package/lib/esm/tile/RealityTile.d.ts.map +1 -1
- package/lib/esm/tile/RealityTile.js +4 -0
- package/lib/esm/tile/RealityTile.js.map +1 -1
- package/lib/esm/tile/TileAdmin.d.ts +23 -1
- package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
- package/lib/esm/tile/TileAdmin.js +17 -1
- package/lib/esm/tile/TileAdmin.js.map +1 -1
- package/lib/esm/tile/map/BingElevation.d.ts +16 -4
- package/lib/esm/tile/map/BingElevation.d.ts.map +1 -1
- package/lib/esm/tile/map/BingElevation.js +18 -8
- package/lib/esm/tile/map/BingElevation.js.map +1 -1
- package/lib/esm/tile/map/CesiumTerrainProvider.d.ts +16 -1
- package/lib/esm/tile/map/CesiumTerrainProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/CesiumTerrainProvider.js +55 -17
- package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
- package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts +6 -1
- package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
- package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
- package/lib/esm/tile/map/MapLayerImageryFormats.d.ts +1 -0
- package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
- package/lib/esm/tile/map/MapLayerImageryFormats.js +3 -0
- package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
- package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
- package/lib/esm/tile/map/MapTileTree.js +20 -9
- package/lib/esm/tile/map/MapTileTree.js.map +1 -1
- package/lib/esm/tile/map/TerrainMeshProvider.d.ts +6 -0
- package/lib/esm/tile/map/TerrainMeshProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/TerrainMeshProvider.js.map +1 -1
- package/lib/esm/tools/AccuDrawShortcutTool.d.ts +29 -0
- package/lib/esm/tools/AccuDrawShortcutTool.d.ts.map +1 -0
- package/lib/esm/tools/AccuDrawShortcutTool.js +134 -0
- package/lib/esm/tools/AccuDrawShortcutTool.js.map +1 -0
- package/lib/esm/tools/AccuDrawTool.d.ts +13 -68
- package/lib/esm/tools/AccuDrawTool.d.ts.map +1 -1
- package/lib/esm/tools/AccuDrawTool.js +102 -128
- package/lib/esm/tools/AccuDrawTool.js.map +1 -1
- package/lib/esm/tools/SetupCameraTools.d.ts +89 -0
- package/lib/esm/tools/SetupCameraTools.d.ts.map +1 -0
- package/lib/esm/tools/SetupCameraTools.js +439 -0
- package/lib/esm/tools/SetupCameraTools.js.map +1 -0
- package/lib/esm/tools/ToolAdmin.d.ts +5 -2
- package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
- package/lib/esm/tools/ToolAdmin.js +30 -7
- package/lib/esm/tools/ToolAdmin.js.map +1 -1
- package/lib/esm/tools/ViewTool.d.ts +1 -81
- package/lib/esm/tools/ViewTool.d.ts.map +1 -1
- package/lib/esm/tools/ViewTool.js +14 -409
- package/lib/esm/tools/ViewTool.js.map +1 -1
- package/lib/public/locales/en/iModelJs.json +2 -1
- package/lib/public/scripts/parse-imdl-worker.js +1 -1
- package/lib/workers/webpack/parse-imdl-worker.js +1 -1
- package/package.json +24 -23
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
/** @packageDocumentation
|
|
7
|
+
* @module Tools
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.AccuDrawShortcutTool = exports.AccuDrawShortcutImplementation = void 0;
|
|
11
|
+
const AccuDraw_1 = require("../AccuDraw");
|
|
12
|
+
const IModelApp_1 = require("../IModelApp");
|
|
13
|
+
const Tool_1 = require("./Tool");
|
|
14
|
+
const ViewTool_1 = require("./ViewTool");
|
|
15
|
+
/** @internal */
|
|
16
|
+
class AccuDrawShortcutImplementation {
|
|
17
|
+
_complete = false;
|
|
18
|
+
get allowShortcut() { return true; }
|
|
19
|
+
get wantAdditionalInput() { return true; } // Whether additional input is required from user...
|
|
20
|
+
onInitialize() { }
|
|
21
|
+
onComplete() { return AccuDraw_1.AccuDrawFlags.SetRMatrix; }
|
|
22
|
+
onProvideToolAssistance() { }
|
|
23
|
+
doDecorate(_context) { }
|
|
24
|
+
doDataButtonDown(ev) {
|
|
25
|
+
return (this._complete = this.doManipulation(ev, false));
|
|
26
|
+
}
|
|
27
|
+
doUnsuspend() {
|
|
28
|
+
this.onProvideToolAssistance();
|
|
29
|
+
}
|
|
30
|
+
doPostInstall() {
|
|
31
|
+
this.onInitialize();
|
|
32
|
+
this.onProvideToolAssistance();
|
|
33
|
+
}
|
|
34
|
+
doCleanup() {
|
|
35
|
+
return this._complete ? this.onComplete() : undefined;
|
|
36
|
+
}
|
|
37
|
+
doProcessImmediate() {
|
|
38
|
+
if (!this.allowShortcut)
|
|
39
|
+
return true;
|
|
40
|
+
if (this.wantAdditionalInput)
|
|
41
|
+
return false;
|
|
42
|
+
this.onInitialize();
|
|
43
|
+
return this.doManipulation(undefined, false);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.AccuDrawShortcutImplementation = AccuDrawShortcutImplementation;
|
|
47
|
+
/** @internal */
|
|
48
|
+
class AccuDrawShortcutInputCollector extends Tool_1.InputCollector {
|
|
49
|
+
_impl;
|
|
50
|
+
constructor(_impl) {
|
|
51
|
+
super();
|
|
52
|
+
this._impl = _impl;
|
|
53
|
+
}
|
|
54
|
+
async onPostInstall() {
|
|
55
|
+
await super.onPostInstall();
|
|
56
|
+
this._impl.doPostInstall();
|
|
57
|
+
IModelApp_1.IModelApp.locateManager.initLocateOptions();
|
|
58
|
+
this.changeLocateState(false, true, undefined, Tool_1.CoordinateLockOverrides.None);
|
|
59
|
+
this._impl.doManipulation(undefined, true);
|
|
60
|
+
}
|
|
61
|
+
async onCleanup() {
|
|
62
|
+
const flags = this._impl.doCleanup();
|
|
63
|
+
if (undefined !== flags)
|
|
64
|
+
IModelApp_1.IModelApp.accuDraw.savedStateInputCollector.ignoreFlags = flags;
|
|
65
|
+
return super.onCleanup();
|
|
66
|
+
}
|
|
67
|
+
async exitTool() {
|
|
68
|
+
await super.exitTool();
|
|
69
|
+
IModelApp_1.IModelApp.accuDraw.requestInputFocus(); // re-grab focus when auto-focus tool setting set...
|
|
70
|
+
}
|
|
71
|
+
async onDataButtonDown(ev) {
|
|
72
|
+
if (this._impl.doDataButtonDown(ev))
|
|
73
|
+
await this.exitTool();
|
|
74
|
+
return Tool_1.EventHandled.No;
|
|
75
|
+
}
|
|
76
|
+
async onUnsuspend() {
|
|
77
|
+
this._impl.doUnsuspend();
|
|
78
|
+
}
|
|
79
|
+
async onMouseMotion(ev) {
|
|
80
|
+
this._impl.doManipulation(ev, true);
|
|
81
|
+
}
|
|
82
|
+
decorate(context) {
|
|
83
|
+
this._impl.doDecorate(context);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/** @internal */
|
|
87
|
+
class AccuDrawShortcutViewTool extends ViewTool_1.ViewTool {
|
|
88
|
+
_impl;
|
|
89
|
+
constructor(_impl) {
|
|
90
|
+
super();
|
|
91
|
+
this._impl = _impl;
|
|
92
|
+
}
|
|
93
|
+
async onPostInstall() {
|
|
94
|
+
await super.onPostInstall();
|
|
95
|
+
this._impl.doPostInstall();
|
|
96
|
+
IModelApp_1.IModelApp.locateManager.initLocateOptions();
|
|
97
|
+
this.changeLocateState(false, true, undefined, Tool_1.CoordinateLockOverrides.None);
|
|
98
|
+
this._impl.doManipulation(undefined, true);
|
|
99
|
+
}
|
|
100
|
+
async onCleanup() {
|
|
101
|
+
const flags = this._impl.doCleanup();
|
|
102
|
+
if (undefined !== flags)
|
|
103
|
+
IModelApp_1.IModelApp.accuDraw.savedStateViewTool.ignoreFlags = flags;
|
|
104
|
+
return super.onCleanup();
|
|
105
|
+
}
|
|
106
|
+
async exitTool() {
|
|
107
|
+
await super.exitTool();
|
|
108
|
+
IModelApp_1.IModelApp.accuDraw.requestInputFocus(); // re-grab focus when auto-focus tool setting set...
|
|
109
|
+
}
|
|
110
|
+
async onDataButtonDown(ev) {
|
|
111
|
+
if (this._impl.doDataButtonDown(ev))
|
|
112
|
+
await this.exitTool();
|
|
113
|
+
return Tool_1.EventHandled.No;
|
|
114
|
+
}
|
|
115
|
+
async onUnsuspend() {
|
|
116
|
+
this._impl.doUnsuspend();
|
|
117
|
+
}
|
|
118
|
+
async onMouseMotion(ev) {
|
|
119
|
+
this._impl.doManipulation(ev, true);
|
|
120
|
+
}
|
|
121
|
+
decorate(context) {
|
|
122
|
+
this._impl.doDecorate(context);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/** @internal */
|
|
126
|
+
class AccuDrawShortcutTool extends Tool_1.Tool {
|
|
127
|
+
get useViewTool() {
|
|
128
|
+
// Support interactive shortcut when another InputCollector is active (ex. EditManipulator.HandleTool)...
|
|
129
|
+
return IModelApp_1.IModelApp.toolAdmin.activeTool instanceof Tool_1.InputCollector;
|
|
130
|
+
}
|
|
131
|
+
async run(..._args) {
|
|
132
|
+
const impl = this.createImplementation();
|
|
133
|
+
if (impl.doProcessImmediate())
|
|
134
|
+
return true; // Only install interactive tool when additional user input is required...
|
|
135
|
+
return this.useViewTool ? new AccuDrawShortcutViewTool(impl).run() : new AccuDrawShortcutInputCollector(impl).run();
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
exports.AccuDrawShortcutTool = AccuDrawShortcutTool;
|
|
139
|
+
//# sourceMappingURL=AccuDrawShortcutTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccuDrawShortcutTool.js","sourceRoot":"","sources":["../../../src/tools/AccuDrawShortcutTool.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tools\r\n */\r\n\r\nimport { AccuDrawFlags } from \"../AccuDraw\";\r\nimport { IModelApp } from \"../IModelApp\";\r\nimport { DecorateContext } from \"../ViewContext\";\r\nimport { BeButtonEvent, CoordinateLockOverrides, EventHandled, InputCollector, Tool } from \"./Tool\";\r\nimport { ViewTool } from \"./ViewTool\";\r\n\r\n/** @internal */\r\nexport abstract class AccuDrawShortcutImplementation {\r\n protected _complete = false;\r\n\r\n protected get allowShortcut(): boolean { return true; }\r\n protected get wantAdditionalInput(): boolean { return true; } // Whether additional input is required from user...\r\n\r\n protected onInitialize(): void { }\r\n protected onComplete(): AccuDrawFlags { return AccuDrawFlags.SetRMatrix; }\r\n protected onProvideToolAssistance(): void { }\r\n\r\n public doDecorate(_context: DecorateContext): void { }\r\n public abstract doManipulation(ev: BeButtonEvent | undefined, isMotion: boolean): boolean;\r\n\r\n public doDataButtonDown(ev: BeButtonEvent): boolean {\r\n return (this._complete = this.doManipulation(ev, false));\r\n }\r\n\r\n public doUnsuspend(): void {\r\n this.onProvideToolAssistance();\r\n }\r\n\r\n public doPostInstall(): void {\r\n this.onInitialize();\r\n this.onProvideToolAssistance();\r\n }\r\n\r\n public doCleanup(): AccuDrawFlags | undefined {\r\n return this._complete ? this.onComplete() : undefined;\r\n }\r\n\r\n public doProcessImmediate(): boolean {\r\n if (!this.allowShortcut)\r\n return true;\r\n\r\n if (this.wantAdditionalInput)\r\n return false;\r\n\r\n this.onInitialize();\r\n return this.doManipulation(undefined, false);\r\n }\r\n}\r\n\r\n/** @internal */\r\nclass AccuDrawShortcutInputCollector extends InputCollector {\r\n public constructor(private readonly _impl: AccuDrawShortcutImplementation) {\r\n super();\r\n }\r\n\r\n public override async onPostInstall(): Promise<void> {\r\n await super.onPostInstall();\r\n this._impl.doPostInstall();\r\n\r\n IModelApp.locateManager.initLocateOptions();\r\n this.changeLocateState(false, true, undefined, CoordinateLockOverrides.None);\r\n this._impl.doManipulation(undefined, true);\r\n }\r\n\r\n public override async onCleanup(): Promise<void> {\r\n const flags = this._impl.doCleanup();\r\n if (undefined !== flags)\r\n IModelApp.accuDraw.savedStateInputCollector.ignoreFlags = flags;\r\n return super.onCleanup();\r\n }\r\n\r\n public override async exitTool(): Promise<void> {\r\n await super.exitTool();\r\n IModelApp.accuDraw.requestInputFocus(); // re-grab focus when auto-focus tool setting set...\r\n }\r\n\r\n public override async onDataButtonDown(ev: BeButtonEvent): Promise<EventHandled> {\r\n if (this._impl.doDataButtonDown(ev))\r\n await this.exitTool();\r\n return EventHandled.No;\r\n }\r\n\r\n public override async onUnsuspend(): Promise<void> {\r\n this._impl.doUnsuspend();\r\n }\r\n\r\n public override async onMouseMotion(ev: BeButtonEvent): Promise<void> {\r\n this._impl.doManipulation(ev, true);\r\n }\r\n\r\n public override decorate(context: DecorateContext): void {\r\n this._impl.doDecorate(context);\r\n }\r\n}\r\n\r\n/** @internal */\r\nclass AccuDrawShortcutViewTool extends ViewTool {\r\n public constructor(private readonly _impl: AccuDrawShortcutImplementation) {\r\n super();\r\n }\r\n\r\n public override async onPostInstall(): Promise<void> {\r\n await super.onPostInstall();\r\n this._impl.doPostInstall();\r\n\r\n IModelApp.locateManager.initLocateOptions();\r\n this.changeLocateState(false, true, undefined, CoordinateLockOverrides.None);\r\n this._impl.doManipulation(undefined, true);\r\n }\r\n\r\n public override async onCleanup(): Promise<void> {\r\n const flags = this._impl.doCleanup();\r\n if (undefined !== flags)\r\n IModelApp.accuDraw.savedStateViewTool.ignoreFlags = flags;\r\n return super.onCleanup();\r\n }\r\n\r\n public override async exitTool(): Promise<void> {\r\n await super.exitTool();\r\n IModelApp.accuDraw.requestInputFocus(); // re-grab focus when auto-focus tool setting set...\r\n }\r\n\r\n public override async onDataButtonDown(ev: BeButtonEvent): Promise<EventHandled> {\r\n if (this._impl.doDataButtonDown(ev))\r\n await this.exitTool();\r\n return EventHandled.No;\r\n }\r\n\r\n public override async onUnsuspend(): Promise<void> {\r\n this._impl.doUnsuspend();\r\n }\r\n\r\n public override async onMouseMotion(ev: BeButtonEvent): Promise<void> {\r\n this._impl.doManipulation(ev, true);\r\n }\r\n\r\n public override decorate(context: DecorateContext): void {\r\n this._impl.doDecorate(context);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport abstract class AccuDrawShortcutTool extends Tool {\r\n protected abstract createImplementation(): AccuDrawShortcutImplementation;\r\n\r\n protected get useViewTool(): boolean {\r\n // Support interactive shortcut when another InputCollector is active (ex. EditManipulator.HandleTool)...\r\n return IModelApp.toolAdmin.activeTool instanceof InputCollector;\r\n }\r\n\r\n public override async run(..._args: any[]): Promise<boolean> {\r\n const impl = this.createImplementation();\r\n if (impl.doProcessImmediate())\r\n return true; // Only install interactive tool when additional user input is required...\r\n\r\n return this.useViewTool ? new AccuDrawShortcutViewTool(impl).run() : new AccuDrawShortcutInputCollector(impl).run();\r\n }\r\n}"]}
|
|
@@ -3,12 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { BentleyStatus } from "@itwin/core-bentley";
|
|
5
5
|
import { Point3d } from "@itwin/core-geometry";
|
|
6
|
-
import {
|
|
6
|
+
import { ItemField, RotationMode } from "../AccuDraw";
|
|
7
7
|
import { AuxCoordSystemState } from "../AuxCoordSys";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import { BeButtonEvent, EventHandled, InputCollector, Tool } from "./Tool";
|
|
8
|
+
import { Viewport } from "../Viewport";
|
|
9
|
+
import { Tool } from "./Tool";
|
|
10
|
+
import { AccuDrawShortcutImplementation, AccuDrawShortcutTool } from "./AccuDrawShortcutTool";
|
|
12
11
|
/**
|
|
13
12
|
* A shortcut may require no user input (immediate) or it may install a tool to collect the needed input. AccuDrawShortcuts are how users control AccuDraw.
|
|
14
13
|
* A tool implementor should not use this class to setup AccuDraw, instead use AccuDrawHintBuilder to provide hints.
|
|
@@ -151,86 +150,32 @@ export declare class AccuDrawRotate90AboutZTool extends Tool {
|
|
|
151
150
|
static toolId: string;
|
|
152
151
|
run(): Promise<boolean>;
|
|
153
152
|
}
|
|
154
|
-
/** @
|
|
155
|
-
declare
|
|
156
|
-
private _complete;
|
|
157
|
-
protected get allowShortcut(): boolean;
|
|
158
|
-
protected get wantActivateOnStart(): boolean;
|
|
159
|
-
protected get wantClearSnapOnStart(): boolean;
|
|
160
|
-
protected get wantManipulationImmediate(): boolean;
|
|
161
|
-
protected get wantExitOnDataButtonUp(): boolean;
|
|
162
|
-
onInstall(): Promise<boolean>;
|
|
163
|
-
onPostInstall(): Promise<void>;
|
|
164
|
-
onCleanup(): Promise<void>;
|
|
165
|
-
exitTool(): Promise<void>;
|
|
166
|
-
onDataButtonDown(ev: BeButtonEvent): Promise<EventHandled>;
|
|
167
|
-
onDataButtonUp(_ev: BeButtonEvent): Promise<EventHandled>;
|
|
168
|
-
onMouseMotion(ev: BeButtonEvent): Promise<void>;
|
|
169
|
-
protected onManipulationStart(): void;
|
|
170
|
-
protected onManipulationComplete(): AccuDrawFlags;
|
|
171
|
-
protected abstract doManipulation(ev: BeButtonEvent | undefined, isMotion: boolean): boolean;
|
|
172
|
-
}
|
|
173
|
-
/** @beta */
|
|
174
|
-
export declare class AccuDrawRotateAxesTool extends AccuDrawShortcutsTool {
|
|
153
|
+
/** @beta */
|
|
154
|
+
export declare class AccuDrawRotateAxesTool extends AccuDrawShortcutTool {
|
|
175
155
|
aboutCurrentZ: boolean;
|
|
176
156
|
static toolId: string;
|
|
177
157
|
static get maxArgs(): number;
|
|
178
158
|
constructor(aboutCurrentZ?: boolean);
|
|
179
159
|
/** @internal */
|
|
180
|
-
protected
|
|
181
|
-
/** @internal */
|
|
182
|
-
protected get wantActivateOnStart(): boolean;
|
|
183
|
-
/** @internal */
|
|
184
|
-
protected get wantManipulationImmediate(): boolean;
|
|
185
|
-
/** @internal */
|
|
186
|
-
protected onManipulationStart(): void;
|
|
187
|
-
/** @internal */
|
|
188
|
-
protected doManipulation(ev: BeButtonEvent | undefined, isMotion: boolean): boolean;
|
|
160
|
+
protected createImplementation(): AccuDrawShortcutImplementation;
|
|
189
161
|
parseAndRun(...args: any[]): Promise<boolean>;
|
|
190
162
|
}
|
|
191
163
|
/** @beta */
|
|
192
|
-
export declare class AccuDrawRotateElementTool extends
|
|
164
|
+
export declare class AccuDrawRotateElementTool extends AccuDrawShortcutTool {
|
|
193
165
|
static toolId: string;
|
|
194
|
-
private _moveOrigin;
|
|
195
|
-
/** @internal */
|
|
196
|
-
protected get wantActivateOnStart(): boolean;
|
|
197
|
-
/** @internal */
|
|
198
|
-
protected get wantManipulationImmediate(): boolean;
|
|
199
|
-
/** @internal */
|
|
200
|
-
protected onManipulationStart(): void;
|
|
201
166
|
/** @internal */
|
|
202
|
-
protected
|
|
203
|
-
/** @internal */
|
|
204
|
-
protected updateOrientation(snap: SnapDetail, viewport: ScreenViewport, _isMotion: boolean): boolean;
|
|
205
|
-
/** @internal */
|
|
206
|
-
protected doManipulation(ev: BeButtonEvent | undefined, isMotion: boolean): boolean;
|
|
167
|
+
protected createImplementation(): AccuDrawShortcutImplementation;
|
|
207
168
|
}
|
|
208
169
|
/** @beta */
|
|
209
|
-
export declare class DefineACSByElementTool extends
|
|
170
|
+
export declare class DefineACSByElementTool extends AccuDrawShortcutTool {
|
|
210
171
|
static toolId: string;
|
|
211
|
-
private _origin;
|
|
212
|
-
private _rMatrix;
|
|
213
|
-
private _acs?;
|
|
214
|
-
/** @internal */
|
|
215
|
-
protected onManipulationStart(): void;
|
|
216
|
-
/** @internal */
|
|
217
|
-
protected updateOrientation(snap: SnapDetail, vp: Viewport): boolean;
|
|
218
172
|
/** @internal */
|
|
219
|
-
protected
|
|
220
|
-
/** @internal */
|
|
221
|
-
decorate(context: DecorateContext): void;
|
|
173
|
+
protected createImplementation(): AccuDrawShortcutImplementation;
|
|
222
174
|
}
|
|
223
175
|
/** @beta */
|
|
224
|
-
export declare class DefineACSByPointsTool extends
|
|
176
|
+
export declare class DefineACSByPointsTool extends AccuDrawShortcutTool {
|
|
225
177
|
static toolId: string;
|
|
226
|
-
private readonly _points;
|
|
227
|
-
private _acs?;
|
|
228
|
-
/** @internal */
|
|
229
|
-
protected onManipulationStart(): void;
|
|
230
|
-
/** @internal */
|
|
231
|
-
protected doManipulation(ev: BeButtonEvent | undefined, isMotion: boolean): boolean;
|
|
232
178
|
/** @internal */
|
|
233
|
-
|
|
179
|
+
protected createImplementation(): AccuDrawShortcutImplementation;
|
|
234
180
|
}
|
|
235
|
-
export {};
|
|
236
181
|
//# sourceMappingURL=AccuDrawTool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccuDrawTool.d.ts","sourceRoot":"","sources":["../../../src/tools/AccuDrawTool.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAsB,OAAO,EAAuB,MAAM,sBAAsB,CAAC;AACxF,OAAO,
|
|
1
|
+
{"version":3,"file":"AccuDrawTool.d.ts","sourceRoot":"","sources":["../../../src/tools/AccuDrawTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ const AccuSnap_1 = require("../AccuSnap");
|
|
|
15
15
|
const AuxCoordSys_1 = require("../AuxCoordSys");
|
|
16
16
|
const IModelApp_1 = require("../IModelApp");
|
|
17
17
|
const Tool_1 = require("./Tool");
|
|
18
|
+
const AccuDrawShortcutTool_1 = require("./AccuDrawShortcutTool");
|
|
18
19
|
// cSpell:ignore dont unlockedz
|
|
19
20
|
function normalizedDifference(point1, point2, out) {
|
|
20
21
|
return point2.vectorTo(point1).normalizeWithLength(out).mag;
|
|
@@ -132,13 +133,11 @@ class AccuDrawShortcuts {
|
|
|
132
133
|
}
|
|
133
134
|
return accept;
|
|
134
135
|
}
|
|
135
|
-
static processPendingHints() {
|
|
136
|
+
static processPendingHints() {
|
|
137
|
+
IModelApp_1.IModelApp.accuDraw.processHints();
|
|
138
|
+
}
|
|
136
139
|
static requestInputFocus() {
|
|
137
|
-
|
|
138
|
-
if (!accudraw.isEnabled)
|
|
139
|
-
return;
|
|
140
|
-
accudraw.grabInputFocus();
|
|
141
|
-
accudraw.refreshDecorationsAndDynamics();
|
|
140
|
+
IModelApp_1.IModelApp.accuDraw.requestInputFocus();
|
|
142
141
|
}
|
|
143
142
|
// Helper method for GUI implementation...
|
|
144
143
|
static async itemFieldNavigate(index, str, forward) {
|
|
@@ -1002,99 +1001,34 @@ class AccuDrawRotate90AboutZTool extends Tool_1.Tool {
|
|
|
1002
1001
|
}
|
|
1003
1002
|
exports.AccuDrawRotate90AboutZTool = AccuDrawRotate90AboutZTool;
|
|
1004
1003
|
/** @internal */
|
|
1005
|
-
class
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
get wantActivateOnStart() { return false; } // Whether to automatically enable AccuDraw before the 1st data button...
|
|
1009
|
-
get wantClearSnapOnStart() { return false; } // Whether to preserve active Tentative/AccuSnap on install...
|
|
1010
|
-
get wantManipulationImmediate() { return false; } // Whether additional input is required to process on install...
|
|
1011
|
-
get wantExitOnDataButtonUp() { return false; } // Whether to exit on button up instead of down...
|
|
1012
|
-
async onInstall() {
|
|
1013
|
-
if (!this.allowShortcut)
|
|
1014
|
-
return false;
|
|
1015
|
-
return super.onInstall();
|
|
1016
|
-
}
|
|
1017
|
-
async onPostInstall() {
|
|
1018
|
-
await super.onPostInstall();
|
|
1019
|
-
if (this.wantActivateOnStart)
|
|
1020
|
-
IModelApp_1.IModelApp.accuDraw.activate();
|
|
1021
|
-
this.onManipulationStart();
|
|
1022
|
-
if (this.wantManipulationImmediate && this.doManipulation(undefined, false)) {
|
|
1023
|
-
this._complete = true;
|
|
1024
|
-
return this.exitTool();
|
|
1025
|
-
}
|
|
1026
|
-
// NOTE: InputCollector inherits suspended primitive's state, set everything...
|
|
1027
|
-
if (this.wantClearSnapOnStart) {
|
|
1028
|
-
this.initLocateElements(false, true, undefined, Tool_1.CoordinateLockOverrides.None); // This clears the active Tentative/AccuSnap, some shortcuts have special behavior when invoked with an active snap...
|
|
1029
|
-
}
|
|
1030
|
-
else {
|
|
1031
|
-
IModelApp_1.IModelApp.locateManager.initLocateOptions();
|
|
1032
|
-
this.changeLocateState(false, true, undefined, Tool_1.CoordinateLockOverrides.None);
|
|
1033
|
-
}
|
|
1034
|
-
this.doManipulation(undefined, true);
|
|
1035
|
-
;
|
|
1036
|
-
}
|
|
1037
|
-
async onCleanup() {
|
|
1038
|
-
if (this._complete)
|
|
1039
|
-
IModelApp_1.IModelApp.accuDraw.savedStateInputCollector.ignoreFlags = this.onManipulationComplete();
|
|
1040
|
-
}
|
|
1041
|
-
async exitTool() {
|
|
1042
|
-
await super.exitTool();
|
|
1043
|
-
AccuDrawShortcuts.requestInputFocus(); // re-grab focus when auto-focus tool setting set...
|
|
1044
|
-
}
|
|
1045
|
-
async onDataButtonDown(ev) {
|
|
1046
|
-
if (this.doManipulation(ev, false)) {
|
|
1047
|
-
this._complete = true;
|
|
1048
|
-
if (!this.wantExitOnDataButtonUp)
|
|
1049
|
-
await this.exitTool();
|
|
1050
|
-
}
|
|
1051
|
-
return Tool_1.EventHandled.No;
|
|
1052
|
-
}
|
|
1053
|
-
async onDataButtonUp(_ev) {
|
|
1054
|
-
if (this._complete && this.wantExitOnDataButtonUp)
|
|
1055
|
-
await this.exitTool();
|
|
1056
|
-
return Tool_1.EventHandled.No;
|
|
1057
|
-
}
|
|
1058
|
-
async onMouseMotion(ev) {
|
|
1059
|
-
this.doManipulation(ev, true);
|
|
1060
|
-
}
|
|
1061
|
-
onManipulationStart() { }
|
|
1062
|
-
onManipulationComplete() { return AccuDraw_1.AccuDrawFlags.SetRMatrix; }
|
|
1063
|
-
}
|
|
1064
|
-
/** @beta */
|
|
1065
|
-
class AccuDrawRotateAxesTool extends AccuDrawShortcutsTool {
|
|
1066
|
-
aboutCurrentZ;
|
|
1067
|
-
static toolId = "AccuDraw.RotateAxes";
|
|
1068
|
-
static get maxArgs() { return 1; }
|
|
1069
|
-
constructor(aboutCurrentZ = true) {
|
|
1004
|
+
class RotateAxesImplementation extends AccuDrawShortcutTool_1.AccuDrawShortcutImplementation {
|
|
1005
|
+
_aboutCurrentZ;
|
|
1006
|
+
constructor(_aboutCurrentZ) {
|
|
1070
1007
|
super();
|
|
1071
|
-
this.
|
|
1008
|
+
this._aboutCurrentZ = _aboutCurrentZ;
|
|
1072
1009
|
}
|
|
1073
|
-
/** @internal */
|
|
1074
1010
|
get allowShortcut() { return IModelApp_1.IModelApp.accuDraw.isActive; } // Require compass to already be active for this shortcut...
|
|
1075
|
-
|
|
1076
|
-
get wantActivateOnStart() { return true; } // State is demoted to inactive when a tool install, still need this...
|
|
1077
|
-
/** @internal */
|
|
1078
|
-
get wantManipulationImmediate() {
|
|
1011
|
+
get wantAdditionalInput() {
|
|
1079
1012
|
if (AccuSnap_1.TentativeOrAccuSnap.isHot)
|
|
1080
|
-
return
|
|
1013
|
+
return false;
|
|
1081
1014
|
const accudraw = IModelApp_1.IModelApp.accuDraw;
|
|
1082
1015
|
if (AccuDraw_1.CompassMode.Polar === accudraw.compassMode)
|
|
1083
|
-
return accudraw.getFieldLock(AccuDraw_1.ItemField.ANGLE_Item);
|
|
1084
|
-
return accudraw.getFieldLock(AccuDraw_1.ItemField.X_Item) && accudraw.getFieldLock(AccuDraw_1.ItemField.Y_Item);
|
|
1016
|
+
return !accudraw.getFieldLock(AccuDraw_1.ItemField.ANGLE_Item);
|
|
1017
|
+
return !(accudraw.getFieldLock(AccuDraw_1.ItemField.X_Item) && accudraw.getFieldLock(AccuDraw_1.ItemField.Y_Item));
|
|
1085
1018
|
}
|
|
1086
|
-
|
|
1087
|
-
onManipulationStart() {
|
|
1088
|
-
if (this.aboutCurrentZ)
|
|
1089
|
-
IModelApp_1.IModelApp.accuDraw.changeBaseRotationMode(AccuDraw_1.RotationMode.Context); // Establish current orientation as base for when defining compass rotation by x axis...
|
|
1019
|
+
onProvideToolAssistance() {
|
|
1090
1020
|
Tool_1.CoreTools.outputPromptByKey("AccuDraw.RotateAxes.Prompts.FirstPoint");
|
|
1091
1021
|
}
|
|
1092
|
-
|
|
1022
|
+
onInitialize() {
|
|
1023
|
+
IModelApp_1.IModelApp.accuDraw.activate(); // State demoted to inactive by tool install...
|
|
1024
|
+
if (this._aboutCurrentZ)
|
|
1025
|
+
IModelApp_1.IModelApp.accuDraw.changeBaseRotationMode(AccuDraw_1.RotationMode.Context); // Establish current orientation as base for when defining compass rotation by x axis...
|
|
1026
|
+
}
|
|
1093
1027
|
doManipulation(ev, isMotion) {
|
|
1094
1028
|
const vp = ev ? ev.viewport : IModelApp_1.IModelApp.accuDraw.currentView;
|
|
1095
1029
|
if (!vp)
|
|
1096
1030
|
return false;
|
|
1097
|
-
if (!AccuDrawShortcuts.rotateAxesByPoint(AccuSnap_1.TentativeOrAccuSnap.isHot, this.
|
|
1031
|
+
if (!AccuDrawShortcuts.rotateAxesByPoint(AccuSnap_1.TentativeOrAccuSnap.isHot, this._aboutCurrentZ))
|
|
1098
1032
|
return false;
|
|
1099
1033
|
vp.invalidateDecorations();
|
|
1100
1034
|
if (!isMotion) {
|
|
@@ -1103,37 +1037,48 @@ class AccuDrawRotateAxesTool extends AccuDrawShortcutsTool {
|
|
|
1103
1037
|
}
|
|
1104
1038
|
return true;
|
|
1105
1039
|
}
|
|
1040
|
+
}
|
|
1041
|
+
/** @beta */
|
|
1042
|
+
class AccuDrawRotateAxesTool extends AccuDrawShortcutTool_1.AccuDrawShortcutTool {
|
|
1043
|
+
aboutCurrentZ;
|
|
1044
|
+
static toolId = "AccuDraw.RotateAxes";
|
|
1045
|
+
static get maxArgs() { return 1; }
|
|
1046
|
+
constructor(aboutCurrentZ = true) {
|
|
1047
|
+
super();
|
|
1048
|
+
this.aboutCurrentZ = aboutCurrentZ;
|
|
1049
|
+
}
|
|
1050
|
+
/** @internal */
|
|
1051
|
+
createImplementation() {
|
|
1052
|
+
return new RotateAxesImplementation(this.aboutCurrentZ);
|
|
1053
|
+
}
|
|
1106
1054
|
async parseAndRun(...args) {
|
|
1107
1055
|
for (const arg of args) {
|
|
1108
1056
|
if (arg.toLowerCase() === "unlockedz")
|
|
1109
1057
|
this.aboutCurrentZ = false;
|
|
1110
1058
|
}
|
|
1111
|
-
return this.run(
|
|
1059
|
+
return this.run();
|
|
1112
1060
|
}
|
|
1113
1061
|
}
|
|
1114
1062
|
exports.AccuDrawRotateAxesTool = AccuDrawRotateAxesTool;
|
|
1115
|
-
/** @
|
|
1116
|
-
class
|
|
1117
|
-
static toolId = "AccuDraw.RotateElement";
|
|
1063
|
+
/** @internal */
|
|
1064
|
+
class RotateElementImplementation extends AccuDrawShortcutTool_1.AccuDrawShortcutImplementation {
|
|
1118
1065
|
_moveOrigin = !IModelApp_1.IModelApp.accuDraw.isActive || IModelApp_1.IModelApp.tentativePoint.isActive; // Preserve current origin if AccuDraw already active and not tentative snap...
|
|
1119
|
-
|
|
1120
|
-
get
|
|
1121
|
-
|
|
1122
|
-
get wantManipulationImmediate() { return IModelApp_1.IModelApp.tentativePoint.isSnapped; }
|
|
1123
|
-
/** @internal */
|
|
1124
|
-
onManipulationStart() {
|
|
1125
|
-
IModelApp_1.IModelApp.accuDraw.setContext(AccuDraw_1.AccuDrawFlags.FixedOrigin); // Don't move compass when updateOrientation returns false...
|
|
1066
|
+
get allowShortcut() { return IModelApp_1.IModelApp.accuDraw.isEnabled; } // Require AccuDraw to be enabled by the application for this shortcut...
|
|
1067
|
+
get wantAdditionalInput() { return !IModelApp_1.IModelApp.tentativePoint.isSnapped; }
|
|
1068
|
+
onProvideToolAssistance() {
|
|
1126
1069
|
Tool_1.CoreTools.outputPromptByKey("AccuDraw.RotateElement.Prompts.FirstPoint");
|
|
1127
1070
|
}
|
|
1128
|
-
|
|
1129
|
-
|
|
1071
|
+
onInitialize() {
|
|
1072
|
+
IModelApp_1.IModelApp.accuDraw.activate();
|
|
1073
|
+
IModelApp_1.IModelApp.accuDraw.setContext(AccuDraw_1.AccuDrawFlags.FixedOrigin); // Don't move compass when updateOrientation returns false...
|
|
1074
|
+
}
|
|
1075
|
+
onComplete() {
|
|
1130
1076
|
let ignoreFlags = AccuDraw_1.AccuDrawFlags.SetRMatrix | AccuDraw_1.AccuDrawFlags.Disable; // If AccuDraw wasn't active when the shortcut started, let it remain active for suspended tool when shortcut completes...
|
|
1131
1077
|
if (this._moveOrigin)
|
|
1132
1078
|
ignoreFlags |= AccuDraw_1.AccuDrawFlags.SetOrigin;
|
|
1133
1079
|
return ignoreFlags;
|
|
1134
1080
|
}
|
|
1135
|
-
|
|
1136
|
-
updateOrientation(snap, viewport, _isMotion) {
|
|
1081
|
+
updateOrientation(snap, viewport) {
|
|
1137
1082
|
const accudraw = IModelApp_1.IModelApp.accuDraw;
|
|
1138
1083
|
const rMatrix = AccuDraw_1.AccuDraw.getSnapRotation(snap, viewport);
|
|
1139
1084
|
if (undefined === rMatrix)
|
|
@@ -1142,31 +1087,40 @@ class AccuDrawRotateElementTool extends AccuDrawShortcutsTool {
|
|
|
1142
1087
|
accudraw.setContext(AccuDraw_1.AccuDrawFlags.SetRMatrix | AccuDraw_1.AccuDrawFlags.AlwaysSetOrigin, point, rMatrix);
|
|
1143
1088
|
return true;
|
|
1144
1089
|
}
|
|
1145
|
-
/** @internal */
|
|
1146
1090
|
doManipulation(ev, isMotion) {
|
|
1147
1091
|
const viewport = ev ? ev.viewport : IModelApp_1.IModelApp.accuDraw.currentView;
|
|
1148
1092
|
if (!viewport)
|
|
1149
1093
|
return false;
|
|
1150
1094
|
const snap = AccuSnap_1.TentativeOrAccuSnap.getCurrentSnap(false);
|
|
1151
|
-
if (undefined === snap || !this.updateOrientation(snap, viewport
|
|
1095
|
+
if (undefined === snap || !this.updateOrientation(snap, viewport))
|
|
1152
1096
|
return false;
|
|
1153
1097
|
if (undefined === ev)
|
|
1154
1098
|
AccuDrawShortcuts.processPendingHints(); // Would normally be processed after button down, necessary when called from post install...
|
|
1099
|
+
const vp = ev ? ev.viewport : IModelApp_1.IModelApp.accuDraw.currentView;
|
|
1100
|
+
if (vp)
|
|
1101
|
+
vp.invalidateDecorations();
|
|
1155
1102
|
if (!isMotion)
|
|
1156
1103
|
IModelApp_1.IModelApp.accuDraw.changeBaseRotationMode(AccuDraw_1.RotationMode.Context); // Hold temporary rotation for tool duration...
|
|
1157
1104
|
return true;
|
|
1158
1105
|
}
|
|
1159
1106
|
}
|
|
1160
|
-
exports.AccuDrawRotateElementTool = AccuDrawRotateElementTool;
|
|
1161
1107
|
/** @beta */
|
|
1162
|
-
class
|
|
1163
|
-
static toolId = "AccuDraw.
|
|
1108
|
+
class AccuDrawRotateElementTool extends AccuDrawShortcutTool_1.AccuDrawShortcutTool {
|
|
1109
|
+
static toolId = "AccuDraw.RotateElement";
|
|
1110
|
+
/** @internal */
|
|
1111
|
+
createImplementation() {
|
|
1112
|
+
return new RotateElementImplementation();
|
|
1113
|
+
}
|
|
1114
|
+
}
|
|
1115
|
+
exports.AccuDrawRotateElementTool = AccuDrawRotateElementTool;
|
|
1116
|
+
/** @internal */
|
|
1117
|
+
class DefineACSByElementImplementation extends AccuDrawShortcutTool_1.AccuDrawShortcutImplementation {
|
|
1164
1118
|
_origin = core_geometry_1.Point3d.create();
|
|
1165
1119
|
_rMatrix = core_geometry_1.Matrix3d.createIdentity();
|
|
1166
1120
|
_acs;
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1121
|
+
onProvideToolAssistance() {
|
|
1122
|
+
Tool_1.CoreTools.outputPromptByKey("AccuDraw.DefineACSByElement.Prompts.FirstPoint");
|
|
1123
|
+
}
|
|
1170
1124
|
updateOrientation(snap, vp) {
|
|
1171
1125
|
const rMatrix = AccuDraw_1.AccuDraw.getSnapRotation(snap, vp);
|
|
1172
1126
|
if (undefined === rMatrix)
|
|
@@ -1175,7 +1129,6 @@ class DefineACSByElementTool extends AccuDrawShortcutsTool {
|
|
|
1175
1129
|
this._rMatrix = rMatrix;
|
|
1176
1130
|
return true;
|
|
1177
1131
|
}
|
|
1178
|
-
/** @internal */
|
|
1179
1132
|
doManipulation(ev, isMotion) {
|
|
1180
1133
|
const vp = ev ? ev.viewport : undefined;
|
|
1181
1134
|
if (!vp)
|
|
@@ -1194,8 +1147,7 @@ class DefineACSByElementTool extends AccuDrawShortcutsTool {
|
|
|
1194
1147
|
AccuDrawShortcuts.rotateToACS();
|
|
1195
1148
|
return true;
|
|
1196
1149
|
}
|
|
1197
|
-
|
|
1198
|
-
decorate(context) {
|
|
1150
|
+
doDecorate(context) {
|
|
1199
1151
|
const vp = context.viewport;
|
|
1200
1152
|
if (!this._acs)
|
|
1201
1153
|
this._acs = vp.view.auxiliaryCoordinateSystem.clone();
|
|
@@ -1204,25 +1156,40 @@ class DefineACSByElementTool extends AccuDrawShortcutsTool {
|
|
|
1204
1156
|
this._acs.display(context, AuxCoordSys_1.ACSDisplayOptions.Active | AuxCoordSys_1.ACSDisplayOptions.Dynamics);
|
|
1205
1157
|
}
|
|
1206
1158
|
}
|
|
1207
|
-
exports.DefineACSByElementTool = DefineACSByElementTool;
|
|
1208
1159
|
/** @beta */
|
|
1209
|
-
class
|
|
1210
|
-
static toolId = "AccuDraw.
|
|
1160
|
+
class DefineACSByElementTool extends AccuDrawShortcutTool_1.AccuDrawShortcutTool {
|
|
1161
|
+
static toolId = "AccuDraw.DefineACSByElement";
|
|
1162
|
+
/** @internal */
|
|
1163
|
+
createImplementation() {
|
|
1164
|
+
return new DefineACSByElementImplementation();
|
|
1165
|
+
}
|
|
1166
|
+
}
|
|
1167
|
+
exports.DefineACSByElementTool = DefineACSByElementTool;
|
|
1168
|
+
/** @internal */
|
|
1169
|
+
class DefineACSByPointsImplementation extends AccuDrawShortcutTool_1.AccuDrawShortcutImplementation {
|
|
1211
1170
|
_points = [];
|
|
1212
1171
|
_acs;
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1172
|
+
_origin = IModelApp_1.IModelApp.tentativePoint.isActive ? IModelApp_1.IModelApp.tentativePoint.getPoint().clone() : undefined;
|
|
1173
|
+
onProvideToolAssistance() {
|
|
1174
|
+
switch (this._points.length) {
|
|
1175
|
+
case 0:
|
|
1176
|
+
Tool_1.CoreTools.outputPromptByKey("AccuDraw.DefineACSByPoints.Prompts.FirstPoint");
|
|
1177
|
+
break;
|
|
1178
|
+
case 1:
|
|
1179
|
+
Tool_1.CoreTools.outputPromptByKey("AccuDraw.DefineACSByPoints.Prompts.SecondPoint");
|
|
1180
|
+
break;
|
|
1181
|
+
default:
|
|
1182
|
+
Tool_1.CoreTools.outputPromptByKey("AccuDraw.DefineACSByPoints.Prompts.NextPoint");
|
|
1183
|
+
break;
|
|
1218
1184
|
}
|
|
1219
|
-
const origin = IModelApp_1.IModelApp.tentativePoint.getPoint().clone();
|
|
1220
|
-
Tool_1.CoreTools.outputPromptByKey("AccuDraw.DefineACSByPoints.Prompts.SecondPoint");
|
|
1221
|
-
IModelApp_1.IModelApp.accuDraw.setContext(AccuDraw_1.AccuDrawFlags.SetOrigin | AccuDraw_1.AccuDrawFlags.FixedOrigin, origin);
|
|
1222
|
-
this._points.push(origin);
|
|
1223
|
-
IModelApp_1.IModelApp.tentativePoint.clear(true);
|
|
1224
1185
|
}
|
|
1225
|
-
|
|
1186
|
+
onInitialize() {
|
|
1187
|
+
if (undefined === this._origin)
|
|
1188
|
+
return;
|
|
1189
|
+
IModelApp_1.IModelApp.accuDraw.setContext(AccuDraw_1.AccuDrawFlags.SetOrigin | AccuDraw_1.AccuDrawFlags.FixedOrigin, this._origin);
|
|
1190
|
+
this._points.push(this._origin);
|
|
1191
|
+
IModelApp_1.IModelApp.tentativePoint.clear(true); // Necessary when installed as an InputCollector...
|
|
1192
|
+
}
|
|
1226
1193
|
doManipulation(ev, isMotion) {
|
|
1227
1194
|
if (!ev || !ev.viewport)
|
|
1228
1195
|
return false;
|
|
@@ -1239,11 +1206,10 @@ class DefineACSByPointsTool extends AccuDrawShortcutsTool {
|
|
|
1239
1206
|
AccuDrawShortcuts.rotateToACS();
|
|
1240
1207
|
return true;
|
|
1241
1208
|
}
|
|
1242
|
-
|
|
1209
|
+
this.onProvideToolAssistance();
|
|
1243
1210
|
return false;
|
|
1244
1211
|
}
|
|
1245
|
-
|
|
1246
|
-
decorate(context) {
|
|
1212
|
+
doDecorate(context) {
|
|
1247
1213
|
const tmpPoints = [];
|
|
1248
1214
|
this._points.forEach((pt) => tmpPoints.push(pt));
|
|
1249
1215
|
const ev = new Tool_1.BeButtonEvent();
|
|
@@ -1256,5 +1222,13 @@ class DefineACSByPointsTool extends AccuDrawShortcutsTool {
|
|
|
1256
1222
|
this._acs.display(context, AuxCoordSys_1.ACSDisplayOptions.Active | AuxCoordSys_1.ACSDisplayOptions.Dynamics);
|
|
1257
1223
|
}
|
|
1258
1224
|
}
|
|
1225
|
+
/** @beta */
|
|
1226
|
+
class DefineACSByPointsTool extends AccuDrawShortcutTool_1.AccuDrawShortcutTool {
|
|
1227
|
+
static toolId = "AccuDraw.DefineACSByPoints";
|
|
1228
|
+
/** @internal */
|
|
1229
|
+
createImplementation() {
|
|
1230
|
+
return new DefineACSByPointsImplementation();
|
|
1231
|
+
}
|
|
1232
|
+
}
|
|
1259
1233
|
exports.DefineACSByPointsTool = DefineACSByPointsTool;
|
|
1260
1234
|
//# sourceMappingURL=AccuDrawTool.js.map
|