@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,444 @@
|
|
|
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.SetupWalkCameraTool = exports.SetupCameraTool = void 0;
|
|
11
|
+
const core_geometry_1 = require("@itwin/core-geometry");
|
|
12
|
+
const core_common_1 = require("@itwin/core-common");
|
|
13
|
+
const appui_abstract_1 = require("@itwin/appui-abstract");
|
|
14
|
+
const AccuDraw_1 = require("../AccuDraw");
|
|
15
|
+
const IModelApp_1 = require("../IModelApp");
|
|
16
|
+
const FormattedQuantityDescription_1 = require("../properties/FormattedQuantityDescription");
|
|
17
|
+
const ViewStatus_1 = require("../ViewStatus");
|
|
18
|
+
const Tool_1 = require("./Tool");
|
|
19
|
+
const PrimitiveTool_1 = require("./PrimitiveTool");
|
|
20
|
+
const ToolAssistance_1 = require("./ToolAssistance");
|
|
21
|
+
const ToolSettings_1 = require("./ToolSettings");
|
|
22
|
+
const ViewTool_1 = require("./ViewTool");
|
|
23
|
+
const EditManipulator_1 = require("./EditManipulator");
|
|
24
|
+
const GraphicType_1 = require("../common/render/GraphicType");
|
|
25
|
+
const viewHandleWeight = {
|
|
26
|
+
normal: 2,
|
|
27
|
+
bold: 3,
|
|
28
|
+
thin: 1,
|
|
29
|
+
fatDot: 8,
|
|
30
|
+
};
|
|
31
|
+
/** A tool that sets the view camera by two points. This is a PrimitiveTool and not a ViewTool to allow the view to be panned, zoomed, and rotated while defining the points.
|
|
32
|
+
* To show tool settings for specifying camera and target heights above the snap point, make sure formatting and parsing data are cached before the tool starts
|
|
33
|
+
* by calling QuantityFormatter.onInitialized at app startup.
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
36
|
+
class SetupCameraTool extends PrimitiveTool_1.PrimitiveTool {
|
|
37
|
+
static toolId = "View.SetupCamera";
|
|
38
|
+
static iconSpec = "icon-camera-location";
|
|
39
|
+
viewport;
|
|
40
|
+
_haveEyePt = false;
|
|
41
|
+
_eyePtWorld = core_geometry_1.Point3d.create();
|
|
42
|
+
_targetPtWorld = core_geometry_1.Point3d.create();
|
|
43
|
+
isCompatibleViewport(vp, isSelectedViewChange) { return (super.isCompatibleViewport(vp, isSelectedViewChange) && undefined !== vp && vp.view.allow3dManipulations()); }
|
|
44
|
+
isValidLocation(_ev, _isButtonEvent) { return true; }
|
|
45
|
+
requireWriteableTarget() { return false; }
|
|
46
|
+
async onPostInstall() {
|
|
47
|
+
await super.onPostInstall();
|
|
48
|
+
this.setupAndPromptForNextAction();
|
|
49
|
+
}
|
|
50
|
+
async onUnsuspend() { this.provideToolAssistance(); }
|
|
51
|
+
setupAndPromptForNextAction() {
|
|
52
|
+
IModelApp_1.IModelApp.accuSnap.enableSnap(true);
|
|
53
|
+
this.provideToolAssistance();
|
|
54
|
+
}
|
|
55
|
+
async onResetButtonUp(_ev) {
|
|
56
|
+
if (this._haveEyePt)
|
|
57
|
+
await this.onReinitialize();
|
|
58
|
+
else
|
|
59
|
+
await this.exitTool();
|
|
60
|
+
return Tool_1.EventHandled.Yes;
|
|
61
|
+
}
|
|
62
|
+
provideToolAssistance() {
|
|
63
|
+
const mainInstruction = ToolAssistance_1.ToolAssistance.createInstruction(this.iconSpec, ViewTool_1.ViewTool.translate(this._haveEyePt ? "SetupCamera.Prompts.NextPoint" : "SetupCamera.Prompts.FirstPoint"));
|
|
64
|
+
const mouseInstructions = [];
|
|
65
|
+
const touchInstructions = [];
|
|
66
|
+
const acceptMsg = Tool_1.CoreTools.translate("ElementSet.Inputs.AcceptPoint");
|
|
67
|
+
const rejectMsg = Tool_1.CoreTools.translate(this._haveEyePt ? "ElementSet.Inputs.Restart" : "ElementSet.Inputs.Exit");
|
|
68
|
+
if (!ToolAssistance_1.ToolAssistance.createTouchCursorInstructions(touchInstructions))
|
|
69
|
+
touchInstructions.push(ToolAssistance_1.ToolAssistance.createInstruction(ToolAssistance_1.ToolAssistanceImage.OneTouchTap, acceptMsg, false, ToolAssistance_1.ToolAssistanceInputMethod.Touch));
|
|
70
|
+
mouseInstructions.push(ToolAssistance_1.ToolAssistance.createInstruction(ToolAssistance_1.ToolAssistanceImage.LeftClick, acceptMsg, false, ToolAssistance_1.ToolAssistanceInputMethod.Mouse));
|
|
71
|
+
touchInstructions.push(ToolAssistance_1.ToolAssistance.createInstruction(ToolAssistance_1.ToolAssistanceImage.TwoTouchTap, rejectMsg, false, ToolAssistance_1.ToolAssistanceInputMethod.Touch));
|
|
72
|
+
mouseInstructions.push(ToolAssistance_1.ToolAssistance.createInstruction(ToolAssistance_1.ToolAssistanceImage.RightClick, rejectMsg, false, ToolAssistance_1.ToolAssistanceInputMethod.Mouse));
|
|
73
|
+
const sections = [];
|
|
74
|
+
sections.push(ToolAssistance_1.ToolAssistance.createSection(mouseInstructions, ToolAssistance_1.ToolAssistance.inputsLabel));
|
|
75
|
+
sections.push(ToolAssistance_1.ToolAssistance.createSection(touchInstructions, ToolAssistance_1.ToolAssistance.inputsLabel));
|
|
76
|
+
const instructions = ToolAssistance_1.ToolAssistance.createInstructions(mainInstruction, sections);
|
|
77
|
+
IModelApp_1.IModelApp.notifications.setToolAssistance(instructions);
|
|
78
|
+
}
|
|
79
|
+
async onRestartTool() {
|
|
80
|
+
const tool = new SetupCameraTool();
|
|
81
|
+
if (!await tool.run())
|
|
82
|
+
return this.exitTool();
|
|
83
|
+
}
|
|
84
|
+
getAdjustedEyePoint() { return this.useCameraHeight ? this._eyePtWorld.plusScaled(core_geometry_1.Vector3d.unitZ(), this.cameraHeight) : this._eyePtWorld; }
|
|
85
|
+
getAdjustedTargetPoint() { return this.useTargetHeight ? this._targetPtWorld.plusScaled(core_geometry_1.Vector3d.unitZ(), this.targetHeight) : this._targetPtWorld; }
|
|
86
|
+
async onDataButtonDown(ev) {
|
|
87
|
+
if (undefined === ev.viewport) {
|
|
88
|
+
return Tool_1.EventHandled.Yes;
|
|
89
|
+
}
|
|
90
|
+
else if (undefined === this.viewport) {
|
|
91
|
+
if (!ev.viewport.view.allow3dManipulations())
|
|
92
|
+
return Tool_1.EventHandled.Yes;
|
|
93
|
+
this.viewport = ev.viewport;
|
|
94
|
+
}
|
|
95
|
+
else if (this.viewport.view.iModel !== ev.viewport.view.iModel) {
|
|
96
|
+
if (this._haveEyePt)
|
|
97
|
+
return Tool_1.EventHandled.Yes;
|
|
98
|
+
this.viewport = ev.viewport;
|
|
99
|
+
return Tool_1.EventHandled.Yes;
|
|
100
|
+
}
|
|
101
|
+
if (this._haveEyePt) {
|
|
102
|
+
this._targetPtWorld.setFrom(ev.point);
|
|
103
|
+
this.doManipulation();
|
|
104
|
+
await this.onReinitialize();
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
this._eyePtWorld.setFrom(ev.point);
|
|
108
|
+
this._targetPtWorld.setFrom(this._eyePtWorld);
|
|
109
|
+
this._haveEyePt = true;
|
|
110
|
+
this.setupAndPromptForNextAction();
|
|
111
|
+
}
|
|
112
|
+
return Tool_1.EventHandled.Yes;
|
|
113
|
+
}
|
|
114
|
+
async onMouseMotion(ev) {
|
|
115
|
+
if (!this._haveEyePt)
|
|
116
|
+
return;
|
|
117
|
+
this._targetPtWorld.setFrom(ev.point);
|
|
118
|
+
IModelApp_1.IModelApp.viewManager.invalidateDecorationsAllViews();
|
|
119
|
+
}
|
|
120
|
+
static drawCameraFrustum(context, vp, eyePtWorld, targetPtWorld, eyeSnapPtWorld, targetSnapPtWorld) {
|
|
121
|
+
if (!vp.view.is3d() || vp.view.iModel !== context.viewport.view.iModel)
|
|
122
|
+
return;
|
|
123
|
+
const zVec = core_geometry_1.Vector3d.createStartEnd(eyePtWorld, targetPtWorld);
|
|
124
|
+
const focusDist = zVec.normalizeWithLength(zVec).mag;
|
|
125
|
+
if (focusDist <= core_geometry_1.Constant.oneMillimeter) // eye and target are too close together
|
|
126
|
+
return;
|
|
127
|
+
const xVec = new core_geometry_1.Vector3d();
|
|
128
|
+
const yVec = core_geometry_1.Vector3d.unitZ();
|
|
129
|
+
if (yVec.crossProduct(zVec).normalizeWithLength(xVec).mag < core_geometry_1.Geometry.smallMetricDistance)
|
|
130
|
+
return;
|
|
131
|
+
if (zVec.crossProduct(xVec).normalizeWithLength(yVec).mag < core_geometry_1.Geometry.smallMetricDistance)
|
|
132
|
+
return;
|
|
133
|
+
const lensAngle = ToolSettings_1.ToolSettings.walkCameraAngle;
|
|
134
|
+
const extentX = Math.tan(lensAngle.radians / 2.0) * focusDist;
|
|
135
|
+
const extentY = extentX * (vp.view.extents.y / vp.view.extents.x);
|
|
136
|
+
const pt1 = targetPtWorld.plusScaled(xVec, -extentX);
|
|
137
|
+
pt1.plusScaled(yVec, extentY, pt1);
|
|
138
|
+
const pt2 = targetPtWorld.plusScaled(xVec, extentX);
|
|
139
|
+
pt2.plusScaled(yVec, extentY, pt2);
|
|
140
|
+
const pt3 = targetPtWorld.plusScaled(xVec, extentX);
|
|
141
|
+
pt3.plusScaled(yVec, -extentY, pt3);
|
|
142
|
+
const pt4 = targetPtWorld.plusScaled(xVec, -extentX);
|
|
143
|
+
pt4.plusScaled(yVec, -extentY, pt4);
|
|
144
|
+
const color = EditManipulator_1.EditManipulator.HandleUtils.adjustForBackgroundColor(core_common_1.ColorDef.black, vp);
|
|
145
|
+
const builderHid = context.createGraphicBuilder(GraphicType_1.GraphicType.WorldOverlay);
|
|
146
|
+
builderHid.setSymbology(color, color, viewHandleWeight.bold);
|
|
147
|
+
builderHid.addLineString([eyePtWorld, targetPtWorld]);
|
|
148
|
+
builderHid.setSymbology(color, color, viewHandleWeight.thin, core_common_1.LinePixels.Code2);
|
|
149
|
+
builderHid.addLineString([eyePtWorld, pt1]);
|
|
150
|
+
builderHid.addLineString([eyePtWorld, pt2]);
|
|
151
|
+
builderHid.addLineString([eyePtWorld, pt3]);
|
|
152
|
+
builderHid.addLineString([eyePtWorld, pt4]);
|
|
153
|
+
builderHid.addLineString([pt1, pt2, pt3, pt4, pt1]);
|
|
154
|
+
if (eyeSnapPtWorld)
|
|
155
|
+
builderHid.addLineString([eyeSnapPtWorld, eyePtWorld]);
|
|
156
|
+
if (targetSnapPtWorld)
|
|
157
|
+
builderHid.addLineString([targetSnapPtWorld, targetPtWorld]);
|
|
158
|
+
builderHid.setSymbology(color, color, viewHandleWeight.fatDot);
|
|
159
|
+
builderHid.addPointString([eyePtWorld, targetPtWorld]);
|
|
160
|
+
if (eyeSnapPtWorld)
|
|
161
|
+
builderHid.addPointString([eyeSnapPtWorld]);
|
|
162
|
+
if (targetSnapPtWorld)
|
|
163
|
+
builderHid.addPointString([targetSnapPtWorld]);
|
|
164
|
+
context.addDecorationFromBuilder(builderHid);
|
|
165
|
+
const backColor = core_common_1.ColorDef.from(0, 0, 255, 200);
|
|
166
|
+
const sideColor = context.viewport.hilite.color.withAlpha(25);
|
|
167
|
+
const builderVis = context.createGraphicBuilder(GraphicType_1.GraphicType.WorldDecoration);
|
|
168
|
+
builderVis.setSymbology(color, color, viewHandleWeight.normal);
|
|
169
|
+
builderVis.addLineString([eyePtWorld, pt1]);
|
|
170
|
+
builderVis.addLineString([eyePtWorld, pt2]);
|
|
171
|
+
builderVis.addLineString([eyePtWorld, pt3]);
|
|
172
|
+
builderVis.addLineString([eyePtWorld, pt4]);
|
|
173
|
+
builderVis.addLineString([pt1, pt2, pt3, pt4, pt1]);
|
|
174
|
+
builderVis.setSymbology(color, backColor, viewHandleWeight.thin);
|
|
175
|
+
builderVis.addShape([pt1, pt2, pt3, pt4]);
|
|
176
|
+
builderVis.setSymbology(color, sideColor, viewHandleWeight.thin);
|
|
177
|
+
builderVis.addShape([eyePtWorld, pt1, pt2]);
|
|
178
|
+
builderVis.addShape([eyePtWorld, pt2, pt3]);
|
|
179
|
+
builderVis.addShape([eyePtWorld, pt3, pt4]);
|
|
180
|
+
builderVis.addShape([eyePtWorld, pt4, pt1]);
|
|
181
|
+
context.addDecorationFromBuilder(builderVis);
|
|
182
|
+
}
|
|
183
|
+
decorate(context) {
|
|
184
|
+
if (!this._haveEyePt || undefined === this.viewport)
|
|
185
|
+
return;
|
|
186
|
+
SetupCameraTool.drawCameraFrustum(context, this.viewport, this.getAdjustedEyePoint(), this.getAdjustedTargetPoint(), this.useCameraHeight ? this._eyePtWorld : undefined, this.useTargetHeight ? this._targetPtWorld : undefined);
|
|
187
|
+
}
|
|
188
|
+
decorateSuspended(context) { this.decorate(context); }
|
|
189
|
+
doManipulation() {
|
|
190
|
+
const vp = this.viewport;
|
|
191
|
+
if (undefined === vp)
|
|
192
|
+
return;
|
|
193
|
+
const view = vp.view;
|
|
194
|
+
if (!view.is3d() || !view.allow3dManipulations())
|
|
195
|
+
return;
|
|
196
|
+
const eyePoint = this.getAdjustedEyePoint();
|
|
197
|
+
const targetPoint = this.getAdjustedTargetPoint();
|
|
198
|
+
const lensAngle = ToolSettings_1.ToolSettings.walkCameraAngle;
|
|
199
|
+
if (ViewStatus_1.ViewStatus.Success !== view.lookAt({ eyePoint, targetPoint, upVector: core_geometry_1.Vector3d.unitZ(), lensAngle }))
|
|
200
|
+
return;
|
|
201
|
+
vp.synchWithView({ animateFrustumChange: true });
|
|
202
|
+
}
|
|
203
|
+
_useCameraHeightProperty;
|
|
204
|
+
get useCameraHeightProperty() {
|
|
205
|
+
if (!this._useCameraHeightProperty)
|
|
206
|
+
this._useCameraHeightProperty = new appui_abstract_1.DialogProperty(appui_abstract_1.PropertyDescriptionHelper.buildLockPropertyDescription("useCameraHeight"), false, undefined, false);
|
|
207
|
+
return this._useCameraHeightProperty;
|
|
208
|
+
}
|
|
209
|
+
get useCameraHeight() { return this.useCameraHeightProperty.value; }
|
|
210
|
+
set useCameraHeight(option) { this.useCameraHeightProperty.value = option; }
|
|
211
|
+
_cameraHeightProperty;
|
|
212
|
+
get cameraHeightProperty() {
|
|
213
|
+
if (!this._cameraHeightProperty)
|
|
214
|
+
this._cameraHeightProperty = new appui_abstract_1.DialogProperty((0, FormattedQuantityDescription_1.createQuantityDescription)({
|
|
215
|
+
name: "cameraHeight",
|
|
216
|
+
displayLabel: ViewTool_1.ViewTool.translate("SetupCamera.Labels.CameraHeight"),
|
|
217
|
+
kindOfQuantityName: "DefaultToolsUnits.LENGTH",
|
|
218
|
+
persistenceUnitName: "Units.M",
|
|
219
|
+
}), 0.0);
|
|
220
|
+
return this._cameraHeightProperty;
|
|
221
|
+
}
|
|
222
|
+
get cameraHeight() { return this.cameraHeightProperty.value; }
|
|
223
|
+
set cameraHeight(value) { this.cameraHeightProperty.value = value; }
|
|
224
|
+
_useTargetHeightProperty;
|
|
225
|
+
get useTargetHeightProperty() {
|
|
226
|
+
if (!this._useTargetHeightProperty)
|
|
227
|
+
this._useTargetHeightProperty = new appui_abstract_1.DialogProperty(appui_abstract_1.PropertyDescriptionHelper.buildLockPropertyDescription("useTargetHeight"), false, undefined, false);
|
|
228
|
+
return this._useTargetHeightProperty;
|
|
229
|
+
}
|
|
230
|
+
get useTargetHeight() { return this.useTargetHeightProperty.value; }
|
|
231
|
+
set useTargetHeight(value) { this.useTargetHeightProperty.value = value; }
|
|
232
|
+
_targetHeightProperty;
|
|
233
|
+
get targetHeightProperty() {
|
|
234
|
+
if (!this._targetHeightProperty)
|
|
235
|
+
this._targetHeightProperty = new appui_abstract_1.DialogProperty((0, FormattedQuantityDescription_1.createQuantityDescription)({
|
|
236
|
+
name: "targetHeight",
|
|
237
|
+
displayLabel: ViewTool_1.ViewTool.translate("SetupCamera.Labels.TargetHeight"),
|
|
238
|
+
kindOfQuantityName: "DefaultToolsUnits.LENGTH",
|
|
239
|
+
persistenceUnitName: "Units.M",
|
|
240
|
+
}), 0.0);
|
|
241
|
+
return this._targetHeightProperty;
|
|
242
|
+
}
|
|
243
|
+
get targetHeight() { return this.targetHeightProperty.value; }
|
|
244
|
+
set targetHeight(value) { this.targetHeightProperty.value = value; }
|
|
245
|
+
getToolSettingLockProperty(property) {
|
|
246
|
+
if (property === this.cameraHeightProperty)
|
|
247
|
+
return this.useCameraHeightProperty;
|
|
248
|
+
else if (property === this.targetHeightProperty)
|
|
249
|
+
return this.useTargetHeightProperty;
|
|
250
|
+
return undefined;
|
|
251
|
+
}
|
|
252
|
+
async applyToolSettingPropertyChange(updatedValue) {
|
|
253
|
+
return this.changeToolSettingPropertyValue(updatedValue);
|
|
254
|
+
}
|
|
255
|
+
supplyToolSettingsProperties() {
|
|
256
|
+
this.initializeToolSettingPropertyValues([this.useCameraHeightProperty, this.useTargetHeightProperty, this.cameraHeightProperty, this.targetHeightProperty]);
|
|
257
|
+
const cameraHeightLock = this.useCameraHeightProperty.toDialogItem({ rowPriority: 1, columnIndex: 0 });
|
|
258
|
+
const targetHeightLock = this.useTargetHeightProperty.toDialogItem({ rowPriority: 2, columnIndex: 0 });
|
|
259
|
+
const toolSettings = new Array();
|
|
260
|
+
toolSettings.push(this.cameraHeightProperty.toDialogItem({ rowPriority: 1, columnIndex: 1 }, cameraHeightLock));
|
|
261
|
+
toolSettings.push(this.targetHeightProperty.toDialogItem({ rowPriority: 2, columnIndex: 1 }, targetHeightLock));
|
|
262
|
+
return toolSettings;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
exports.SetupCameraTool = SetupCameraTool;
|
|
266
|
+
/** A tool that sets a walk tool starting position by a floor point and look direction. This is a PrimitiveTool and not a ViewTool to allow the view to be panned, zoomed, and rotated while defining the points.
|
|
267
|
+
* @public
|
|
268
|
+
*/
|
|
269
|
+
class SetupWalkCameraTool extends PrimitiveTool_1.PrimitiveTool {
|
|
270
|
+
static toolId = "View.SetupWalkCamera";
|
|
271
|
+
static iconSpec = "icon-camera-location";
|
|
272
|
+
viewport;
|
|
273
|
+
_haveEyePt = false;
|
|
274
|
+
_eyePtWorld = core_geometry_1.Point3d.create();
|
|
275
|
+
_targetPtWorld = core_geometry_1.Point3d.create();
|
|
276
|
+
isCompatibleViewport(vp, isSelectedViewChange) { return (super.isCompatibleViewport(vp, isSelectedViewChange) && undefined !== vp && vp.view.allow3dManipulations()); }
|
|
277
|
+
isValidLocation(_ev, _isButtonEvent) { return true; }
|
|
278
|
+
requireWriteableTarget() { return false; }
|
|
279
|
+
async onPostInstall() {
|
|
280
|
+
await super.onPostInstall();
|
|
281
|
+
this.setupAndPromptForNextAction();
|
|
282
|
+
}
|
|
283
|
+
async onUnsuspend() { this.provideToolAssistance(); }
|
|
284
|
+
setupAndPromptForNextAction() {
|
|
285
|
+
IModelApp_1.IModelApp.accuSnap.enableSnap(true);
|
|
286
|
+
this.provideToolAssistance();
|
|
287
|
+
}
|
|
288
|
+
async onResetButtonUp(_ev) {
|
|
289
|
+
if (this._haveEyePt)
|
|
290
|
+
await this.onReinitialize();
|
|
291
|
+
else
|
|
292
|
+
await this.exitTool();
|
|
293
|
+
return Tool_1.EventHandled.Yes;
|
|
294
|
+
}
|
|
295
|
+
provideToolAssistance() {
|
|
296
|
+
const mainInstruction = ToolAssistance_1.ToolAssistance.createInstruction(this.iconSpec, ViewTool_1.ViewTool.translate(this._haveEyePt ? "SetupWalkCamera.Prompts.NextPoint" : "SetupWalkCamera.Prompts.FirstPoint"));
|
|
297
|
+
const mouseInstructions = [];
|
|
298
|
+
const touchInstructions = [];
|
|
299
|
+
const acceptMsg = Tool_1.CoreTools.translate("ElementSet.Inputs.AcceptPoint");
|
|
300
|
+
const rejectMsg = Tool_1.CoreTools.translate(this._haveEyePt ? "ElementSet.Inputs.Restart" : "ElementSet.Inputs.Exit");
|
|
301
|
+
if (!ToolAssistance_1.ToolAssistance.createTouchCursorInstructions(touchInstructions))
|
|
302
|
+
touchInstructions.push(ToolAssistance_1.ToolAssistance.createInstruction(ToolAssistance_1.ToolAssistanceImage.OneTouchTap, acceptMsg, false, ToolAssistance_1.ToolAssistanceInputMethod.Touch));
|
|
303
|
+
mouseInstructions.push(ToolAssistance_1.ToolAssistance.createInstruction(ToolAssistance_1.ToolAssistanceImage.LeftClick, acceptMsg, false, ToolAssistance_1.ToolAssistanceInputMethod.Mouse));
|
|
304
|
+
touchInstructions.push(ToolAssistance_1.ToolAssistance.createInstruction(ToolAssistance_1.ToolAssistanceImage.TwoTouchTap, rejectMsg, false, ToolAssistance_1.ToolAssistanceInputMethod.Touch));
|
|
305
|
+
mouseInstructions.push(ToolAssistance_1.ToolAssistance.createInstruction(ToolAssistance_1.ToolAssistanceImage.RightClick, rejectMsg, false, ToolAssistance_1.ToolAssistanceInputMethod.Mouse));
|
|
306
|
+
const sections = [];
|
|
307
|
+
sections.push(ToolAssistance_1.ToolAssistance.createSection(mouseInstructions, ToolAssistance_1.ToolAssistance.inputsLabel));
|
|
308
|
+
sections.push(ToolAssistance_1.ToolAssistance.createSection(touchInstructions, ToolAssistance_1.ToolAssistance.inputsLabel));
|
|
309
|
+
const instructions = ToolAssistance_1.ToolAssistance.createInstructions(mainInstruction, sections);
|
|
310
|
+
IModelApp_1.IModelApp.notifications.setToolAssistance(instructions);
|
|
311
|
+
}
|
|
312
|
+
async onRestartTool() {
|
|
313
|
+
const tool = new SetupWalkCameraTool();
|
|
314
|
+
if (!await tool.run())
|
|
315
|
+
return this.exitTool();
|
|
316
|
+
}
|
|
317
|
+
getAdjustedEyePoint() { return this._eyePtWorld.plusScaled(core_geometry_1.Vector3d.unitZ(), ToolSettings_1.ToolSettings.walkEyeHeight); }
|
|
318
|
+
getAdjustedTargetPoint() { return core_geometry_1.Point3d.create(this._targetPtWorld.x, this._targetPtWorld.y, this.getAdjustedEyePoint().z); }
|
|
319
|
+
async onDataButtonDown(ev) {
|
|
320
|
+
if (undefined === ev.viewport) {
|
|
321
|
+
return Tool_1.EventHandled.Yes;
|
|
322
|
+
}
|
|
323
|
+
else if (undefined === this.viewport) {
|
|
324
|
+
if (!ev.viewport.view.allow3dManipulations())
|
|
325
|
+
return Tool_1.EventHandled.Yes;
|
|
326
|
+
this.viewport = ev.viewport;
|
|
327
|
+
}
|
|
328
|
+
else if (this.viewport.view.iModel !== ev.viewport.view.iModel) {
|
|
329
|
+
if (this._haveEyePt)
|
|
330
|
+
return Tool_1.EventHandled.Yes;
|
|
331
|
+
this.viewport = ev.viewport;
|
|
332
|
+
return Tool_1.EventHandled.Yes;
|
|
333
|
+
}
|
|
334
|
+
if (this._haveEyePt) {
|
|
335
|
+
this._targetPtWorld.setFrom(ev.point);
|
|
336
|
+
this.doManipulation();
|
|
337
|
+
await this.onReinitialize();
|
|
338
|
+
}
|
|
339
|
+
else {
|
|
340
|
+
this._eyePtWorld.setFrom(ev.point);
|
|
341
|
+
this._targetPtWorld.setFrom(this._eyePtWorld);
|
|
342
|
+
this._haveEyePt = true;
|
|
343
|
+
this.setupAndPromptForNextAction();
|
|
344
|
+
}
|
|
345
|
+
return Tool_1.EventHandled.Yes;
|
|
346
|
+
}
|
|
347
|
+
async onMouseMotion(ev) {
|
|
348
|
+
if (!this._haveEyePt)
|
|
349
|
+
return;
|
|
350
|
+
this._targetPtWorld.setFrom(ev.point);
|
|
351
|
+
IModelApp_1.IModelApp.viewManager.invalidateDecorationsAllViews();
|
|
352
|
+
}
|
|
353
|
+
static getFigurePoints() {
|
|
354
|
+
const figurePts = [];
|
|
355
|
+
figurePts.push(core_geometry_1.Point3d.create(1.064, -0.014));
|
|
356
|
+
figurePts.push(core_geometry_1.Point3d.create(1.051, 0.039));
|
|
357
|
+
figurePts.push(core_geometry_1.Point3d.create(1.008, 0.058));
|
|
358
|
+
figurePts.push(core_geometry_1.Point3d.create(0.962, 0.048));
|
|
359
|
+
figurePts.push(core_geometry_1.Point3d.create(0.920, 0.026));
|
|
360
|
+
figurePts.push(core_geometry_1.Point3d.create(0.898, 0.026));
|
|
361
|
+
figurePts.push(core_geometry_1.Point3d.create(0.853, 0.094));
|
|
362
|
+
figurePts.push(core_geometry_1.Point3d.create(0.741, 0.120));
|
|
363
|
+
figurePts.push(core_geometry_1.Point3d.create(0.652, 0.091));
|
|
364
|
+
figurePts.push(core_geometry_1.Point3d.create(0.514, 0.107));
|
|
365
|
+
figurePts.push(core_geometry_1.Point3d.create(0.304, 0.108));
|
|
366
|
+
figurePts.push(core_geometry_1.Point3d.create(0.040, 0.135));
|
|
367
|
+
figurePts.push(core_geometry_1.Point3d.create(-0.023, 0.133));
|
|
368
|
+
figurePts.push(core_geometry_1.Point3d.create(-0.031, 0.088));
|
|
369
|
+
figurePts.push(core_geometry_1.Point3d.create(0.041, 0.068));
|
|
370
|
+
figurePts.push(core_geometry_1.Point3d.create(0.299, 0.035));
|
|
371
|
+
figurePts.push(core_geometry_1.Point3d.create(0.447, -0.015));
|
|
372
|
+
figurePts.push(core_geometry_1.Point3d.create(0.267, -0.042));
|
|
373
|
+
figurePts.push(core_geometry_1.Point3d.create(0.019, -0.036));
|
|
374
|
+
figurePts.push(core_geometry_1.Point3d.create(-0.027, -0.146));
|
|
375
|
+
figurePts.push(core_geometry_1.Point3d.create(-0.005, -0.179));
|
|
376
|
+
figurePts.push(core_geometry_1.Point3d.create(0.056, -0.108));
|
|
377
|
+
figurePts.push(core_geometry_1.Point3d.create(0.270, -0.122));
|
|
378
|
+
figurePts.push(core_geometry_1.Point3d.create(0.483, -0.120));
|
|
379
|
+
figurePts.push(core_geometry_1.Point3d.create(0.649, -0.145));
|
|
380
|
+
figurePts.push(core_geometry_1.Point3d.create(0.715, -0.186));
|
|
381
|
+
figurePts.push(core_geometry_1.Point3d.create(0.865, -0.135));
|
|
382
|
+
figurePts.push(core_geometry_1.Point3d.create(0.905, -0.039));
|
|
383
|
+
figurePts.push(core_geometry_1.Point3d.create(0.948, -0.035));
|
|
384
|
+
figurePts.push(core_geometry_1.Point3d.create(0.979, -0.051));
|
|
385
|
+
figurePts.push(core_geometry_1.Point3d.create(1.037, -0.046));
|
|
386
|
+
figurePts.push(figurePts[0].clone());
|
|
387
|
+
return figurePts;
|
|
388
|
+
}
|
|
389
|
+
static getFigureTransform(vp, base, direction, scale) {
|
|
390
|
+
const boresite = AccuDraw_1.AccuDrawHintBuilder.getBoresite(base, vp);
|
|
391
|
+
if (Math.abs(direction.dotProduct(boresite.direction)) >= 0.9999)
|
|
392
|
+
return undefined;
|
|
393
|
+
const matrix = core_geometry_1.Matrix3d.createRigidFromColumns(direction, boresite.direction, core_geometry_1.AxisOrder.XZY);
|
|
394
|
+
if (undefined === matrix)
|
|
395
|
+
return undefined;
|
|
396
|
+
matrix.scaleColumnsInPlace(scale, scale, scale);
|
|
397
|
+
return core_geometry_1.Transform.createRefs(base.clone(), matrix);
|
|
398
|
+
}
|
|
399
|
+
static drawFigure(context, vp, groundPt, eyeHeight) {
|
|
400
|
+
if (!vp.view.is3d() || vp.view.iModel !== context.viewport.view.iModel)
|
|
401
|
+
return;
|
|
402
|
+
const transform = this.getFigureTransform(context.viewport, groundPt, core_geometry_1.Vector3d.unitZ(), eyeHeight);
|
|
403
|
+
if (undefined === transform)
|
|
404
|
+
return;
|
|
405
|
+
const figurePts = this.getFigurePoints();
|
|
406
|
+
const color = EditManipulator_1.EditManipulator.HandleUtils.adjustForBackgroundColor(core_common_1.ColorDef.black, vp);
|
|
407
|
+
const fill = core_common_1.ColorDef.from(255, 245, 225, 100);
|
|
408
|
+
const builderShadow = context.createGraphicBuilder(GraphicType_1.GraphicType.WorldOverlay);
|
|
409
|
+
builderShadow.setSymbology(color, core_common_1.ColorDef.black.withAlpha(30), viewHandleWeight.thin);
|
|
410
|
+
builderShadow.addArc(core_geometry_1.Arc3d.createXY(groundPt, eyeHeight * 0.22), true, true);
|
|
411
|
+
context.addDecorationFromBuilder(builderShadow);
|
|
412
|
+
const builderHid = context.createGraphicBuilder(GraphicType_1.GraphicType.WorldDecoration, transform);
|
|
413
|
+
builderHid.setSymbology(color, fill, viewHandleWeight.thin);
|
|
414
|
+
builderHid.addShape(figurePts); // Copies points...
|
|
415
|
+
context.addDecorationFromBuilder(builderHid);
|
|
416
|
+
const builderVis = context.createGraphicBuilder(GraphicType_1.GraphicType.WorldOverlay, transform);
|
|
417
|
+
builderVis.setSymbology(color, color, viewHandleWeight.normal);
|
|
418
|
+
builderVis.addLineString(figurePts); // Owns points...
|
|
419
|
+
context.addDecorationFromBuilder(builderVis);
|
|
420
|
+
}
|
|
421
|
+
decorate(context) {
|
|
422
|
+
if (!this._haveEyePt || undefined === this.viewport)
|
|
423
|
+
return;
|
|
424
|
+
SetupWalkCameraTool.drawFigure(context, this.viewport, this._eyePtWorld, ToolSettings_1.ToolSettings.walkEyeHeight);
|
|
425
|
+
SetupCameraTool.drawCameraFrustum(context, this.viewport, this.getAdjustedEyePoint(), this.getAdjustedTargetPoint(), this._eyePtWorld, this._targetPtWorld);
|
|
426
|
+
}
|
|
427
|
+
decorateSuspended(context) { this.decorate(context); }
|
|
428
|
+
doManipulation() {
|
|
429
|
+
const vp = this.viewport;
|
|
430
|
+
if (undefined === vp)
|
|
431
|
+
return;
|
|
432
|
+
const view = vp.view;
|
|
433
|
+
if (!view.is3d() || !view.allow3dManipulations())
|
|
434
|
+
return;
|
|
435
|
+
const eyePoint = this.getAdjustedEyePoint();
|
|
436
|
+
const targetPoint = this.getAdjustedTargetPoint();
|
|
437
|
+
const lensAngle = ToolSettings_1.ToolSettings.walkCameraAngle;
|
|
438
|
+
if (ViewStatus_1.ViewStatus.Success !== view.lookAt({ eyePoint, targetPoint, upVector: core_geometry_1.Vector3d.unitZ(), lensAngle }))
|
|
439
|
+
return;
|
|
440
|
+
vp.synchWithView({ animateFrustumChange: true });
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
exports.SetupWalkCameraTool = SetupWalkCameraTool;
|
|
444
|
+
//# sourceMappingURL=SetupCameraTools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SetupCameraTools.js","sourceRoot":"","sources":["../../../src/tools/SetupCameraTools.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 { Arc3d, AxisOrder, Constant, Geometry, Matrix3d, Point3d, Transform, Vector3d } from \"@itwin/core-geometry\";\r\nimport { ColorDef, LinePixels } from \"@itwin/core-common\";\r\nimport { DialogItem, DialogProperty, DialogPropertySyncItem, PropertyDescriptionHelper } from \"@itwin/appui-abstract\";\r\nimport { AccuDrawHintBuilder } from \"../AccuDraw\";\r\nimport { IModelApp } from \"../IModelApp\";\r\nimport { createQuantityDescription } from \"../properties/FormattedQuantityDescription\";\r\nimport { DecorateContext } from \"../ViewContext\";\r\nimport { ScreenViewport, Viewport } from \"../Viewport\";\r\nimport { ViewStatus } from \"../ViewStatus\";\r\nimport { BeButtonEvent, CoreTools, EventHandled } from \"./Tool\";\r\nimport { PrimitiveTool } from \"./PrimitiveTool\";\r\nimport { ToolAssistance, ToolAssistanceImage, ToolAssistanceInputMethod, ToolAssistanceInstruction, ToolAssistanceSection } from \"./ToolAssistance\";\r\nimport { ToolSettings } from \"./ToolSettings\";\r\nimport { ViewTool } from \"./ViewTool\";\r\nimport { EditManipulator } from \"./EditManipulator\";\r\nimport { GraphicType } from \"../common/render/GraphicType\";\r\n\r\nconst viewHandleWeight = {\r\n normal: 2,\r\n bold: 3,\r\n thin: 1,\r\n fatDot: 8,\r\n};\r\n\r\n/** A tool that sets the view camera by two points. This is a PrimitiveTool and not a ViewTool to allow the view to be panned, zoomed, and rotated while defining the points.\r\n * To show tool settings for specifying camera and target heights above the snap point, make sure formatting and parsing data are cached before the tool starts\r\n * by calling QuantityFormatter.onInitialized at app startup.\r\n * @public\r\n */\r\nexport class SetupCameraTool extends PrimitiveTool {\r\n public static override toolId = \"View.SetupCamera\";\r\n public static override iconSpec = \"icon-camera-location\";\r\n public viewport?: ScreenViewport;\r\n protected _haveEyePt: boolean = false;\r\n protected _eyePtWorld: Point3d = Point3d.create();\r\n protected _targetPtWorld: Point3d = Point3d.create();\r\n\r\n public override isCompatibleViewport(vp: Viewport | undefined, isSelectedViewChange: boolean): boolean { return (super.isCompatibleViewport(vp, isSelectedViewChange) && undefined !== vp && vp.view.allow3dManipulations()); }\r\n public override isValidLocation(_ev: BeButtonEvent, _isButtonEvent: boolean): boolean { return true; }\r\n public override requireWriteableTarget(): boolean { return false; }\r\n public override async onPostInstall() {\r\n await super.onPostInstall();\r\n this.setupAndPromptForNextAction();\r\n }\r\n\r\n public override async onUnsuspend() { this.provideToolAssistance(); }\r\n protected setupAndPromptForNextAction(): void {\r\n IModelApp.accuSnap.enableSnap(true);\r\n this.provideToolAssistance();\r\n }\r\n\r\n public override async onResetButtonUp(_ev: BeButtonEvent): Promise<EventHandled> {\r\n if (this._haveEyePt)\r\n await this.onReinitialize();\r\n else\r\n await this.exitTool();\r\n\r\n return EventHandled.Yes;\r\n }\r\n\r\n protected provideToolAssistance(): void {\r\n const mainInstruction = ToolAssistance.createInstruction(this.iconSpec, ViewTool.translate(this._haveEyePt ? \"SetupCamera.Prompts.NextPoint\" : \"SetupCamera.Prompts.FirstPoint\"));\r\n const mouseInstructions: ToolAssistanceInstruction[] = [];\r\n const touchInstructions: ToolAssistanceInstruction[] = [];\r\n\r\n const acceptMsg = CoreTools.translate(\"ElementSet.Inputs.AcceptPoint\");\r\n const rejectMsg = CoreTools.translate(this._haveEyePt ? \"ElementSet.Inputs.Restart\" : \"ElementSet.Inputs.Exit\");\r\n if (!ToolAssistance.createTouchCursorInstructions(touchInstructions))\r\n touchInstructions.push(ToolAssistance.createInstruction(ToolAssistanceImage.OneTouchTap, acceptMsg, false, ToolAssistanceInputMethod.Touch));\r\n mouseInstructions.push(ToolAssistance.createInstruction(ToolAssistanceImage.LeftClick, acceptMsg, false, ToolAssistanceInputMethod.Mouse));\r\n touchInstructions.push(ToolAssistance.createInstruction(ToolAssistanceImage.TwoTouchTap, rejectMsg, false, ToolAssistanceInputMethod.Touch));\r\n mouseInstructions.push(ToolAssistance.createInstruction(ToolAssistanceImage.RightClick, rejectMsg, false, ToolAssistanceInputMethod.Mouse));\r\n\r\n const sections: ToolAssistanceSection[] = [];\r\n sections.push(ToolAssistance.createSection(mouseInstructions, ToolAssistance.inputsLabel));\r\n sections.push(ToolAssistance.createSection(touchInstructions, ToolAssistance.inputsLabel));\r\n\r\n const instructions = ToolAssistance.createInstructions(mainInstruction, sections);\r\n IModelApp.notifications.setToolAssistance(instructions);\r\n }\r\n\r\n public async onRestartTool(): Promise<void> {\r\n const tool = new SetupCameraTool();\r\n if (!await tool.run())\r\n return this.exitTool();\r\n }\r\n\r\n protected getAdjustedEyePoint() { return this.useCameraHeight ? this._eyePtWorld.plusScaled(Vector3d.unitZ(), this.cameraHeight) : this._eyePtWorld; }\r\n protected getAdjustedTargetPoint() { return this.useTargetHeight ? this._targetPtWorld.plusScaled(Vector3d.unitZ(), this.targetHeight) : this._targetPtWorld; }\r\n\r\n public override async onDataButtonDown(ev: BeButtonEvent): Promise<EventHandled> {\r\n if (undefined === ev.viewport) {\r\n return EventHandled.Yes;\r\n } else if (undefined === this.viewport) {\r\n if (!ev.viewport.view.allow3dManipulations())\r\n return EventHandled.Yes;\r\n this.viewport = ev.viewport;\r\n } else if (this.viewport.view.iModel !== ev.viewport.view.iModel) {\r\n if (this._haveEyePt)\r\n return EventHandled.Yes;\r\n this.viewport = ev.viewport;\r\n return EventHandled.Yes;\r\n }\r\n\r\n if (this._haveEyePt) {\r\n this._targetPtWorld.setFrom(ev.point);\r\n this.doManipulation();\r\n await this.onReinitialize();\r\n } else {\r\n this._eyePtWorld.setFrom(ev.point);\r\n this._targetPtWorld.setFrom(this._eyePtWorld);\r\n this._haveEyePt = true;\r\n this.setupAndPromptForNextAction();\r\n }\r\n\r\n return EventHandled.Yes;\r\n }\r\n\r\n public override async onMouseMotion(ev: BeButtonEvent) {\r\n if (!this._haveEyePt)\r\n return;\r\n this._targetPtWorld.setFrom(ev.point);\r\n IModelApp.viewManager.invalidateDecorationsAllViews();\r\n }\r\n\r\n public static drawCameraFrustum(context: DecorateContext, vp: ScreenViewport, eyePtWorld: Point3d, targetPtWorld: Point3d, eyeSnapPtWorld?: Point3d, targetSnapPtWorld?: Point3d) {\r\n if (!vp.view.is3d() || vp.view.iModel !== context.viewport.view.iModel)\r\n return;\r\n\r\n const zVec = Vector3d.createStartEnd(eyePtWorld, targetPtWorld);\r\n const focusDist = zVec.normalizeWithLength(zVec).mag;\r\n if (focusDist <= Constant.oneMillimeter) // eye and target are too close together\r\n return;\r\n\r\n const xVec = new Vector3d();\r\n const yVec = Vector3d.unitZ();\r\n if (yVec.crossProduct(zVec).normalizeWithLength(xVec).mag < Geometry.smallMetricDistance)\r\n return;\r\n if (zVec.crossProduct(xVec).normalizeWithLength(yVec).mag < Geometry.smallMetricDistance)\r\n return;\r\n\r\n const lensAngle = ToolSettings.walkCameraAngle;\r\n const extentX = Math.tan(lensAngle.radians / 2.0) * focusDist;\r\n const extentY = extentX * (vp.view.extents.y / vp.view.extents.x);\r\n\r\n const pt1 = targetPtWorld.plusScaled(xVec, -extentX);\r\n pt1.plusScaled(yVec, extentY, pt1);\r\n const pt2 = targetPtWorld.plusScaled(xVec, extentX);\r\n pt2.plusScaled(yVec, extentY, pt2);\r\n const pt3 = targetPtWorld.plusScaled(xVec, extentX);\r\n pt3.plusScaled(yVec, -extentY, pt3);\r\n const pt4 = targetPtWorld.plusScaled(xVec, -extentX);\r\n pt4.plusScaled(yVec, -extentY, pt4);\r\n\r\n const color = EditManipulator.HandleUtils.adjustForBackgroundColor(ColorDef.black, vp);\r\n const builderHid = context.createGraphicBuilder(GraphicType.WorldOverlay);\r\n\r\n builderHid.setSymbology(color, color, viewHandleWeight.bold);\r\n builderHid.addLineString([eyePtWorld, targetPtWorld]);\r\n\r\n builderHid.setSymbology(color, color, viewHandleWeight.thin, LinePixels.Code2);\r\n builderHid.addLineString([eyePtWorld, pt1]);\r\n builderHid.addLineString([eyePtWorld, pt2]);\r\n builderHid.addLineString([eyePtWorld, pt3]);\r\n builderHid.addLineString([eyePtWorld, pt4]);\r\n builderHid.addLineString([pt1, pt2, pt3, pt4, pt1]);\r\n\r\n if (eyeSnapPtWorld)\r\n builderHid.addLineString([eyeSnapPtWorld, eyePtWorld]);\r\n if (targetSnapPtWorld)\r\n builderHid.addLineString([targetSnapPtWorld, targetPtWorld]);\r\n\r\n builderHid.setSymbology(color, color, viewHandleWeight.fatDot);\r\n builderHid.addPointString([eyePtWorld, targetPtWorld]);\r\n\r\n if (eyeSnapPtWorld)\r\n builderHid.addPointString([eyeSnapPtWorld]);\r\n if (targetSnapPtWorld)\r\n builderHid.addPointString([targetSnapPtWorld]);\r\n\r\n context.addDecorationFromBuilder(builderHid);\r\n\r\n const backColor = ColorDef.from(0, 0, 255, 200);\r\n const sideColor = context.viewport.hilite.color.withAlpha(25);\r\n const builderVis = context.createGraphicBuilder(GraphicType.WorldDecoration);\r\n\r\n builderVis.setSymbology(color, color, viewHandleWeight.normal);\r\n builderVis.addLineString([eyePtWorld, pt1]);\r\n builderVis.addLineString([eyePtWorld, pt2]);\r\n builderVis.addLineString([eyePtWorld, pt3]);\r\n builderVis.addLineString([eyePtWorld, pt4]);\r\n builderVis.addLineString([pt1, pt2, pt3, pt4, pt1]);\r\n\r\n builderVis.setSymbology(color, backColor, viewHandleWeight.thin);\r\n builderVis.addShape([pt1, pt2, pt3, pt4]);\r\n\r\n builderVis.setSymbology(color, sideColor, viewHandleWeight.thin);\r\n builderVis.addShape([eyePtWorld, pt1, pt2]);\r\n builderVis.addShape([eyePtWorld, pt2, pt3]);\r\n builderVis.addShape([eyePtWorld, pt3, pt4]);\r\n builderVis.addShape([eyePtWorld, pt4, pt1]);\r\n\r\n context.addDecorationFromBuilder(builderVis);\r\n }\r\n\r\n public override decorate(context: DecorateContext): void {\r\n if (!this._haveEyePt || undefined === this.viewport)\r\n return;\r\n SetupCameraTool.drawCameraFrustum(context, this.viewport, this.getAdjustedEyePoint(), this.getAdjustedTargetPoint(), this.useCameraHeight ? this._eyePtWorld : undefined, this.useTargetHeight ? this._targetPtWorld : undefined);\r\n }\r\n\r\n public override decorateSuspended(context: DecorateContext): void { this.decorate(context); }\r\n\r\n private doManipulation(): void {\r\n const vp = this.viewport;\r\n if (undefined === vp)\r\n return;\r\n\r\n const view = vp.view;\r\n if (!view.is3d() || !view.allow3dManipulations())\r\n return;\r\n\r\n const eyePoint = this.getAdjustedEyePoint();\r\n const targetPoint = this.getAdjustedTargetPoint();\r\n const lensAngle = ToolSettings.walkCameraAngle;\r\n if (ViewStatus.Success !== view.lookAt({ eyePoint, targetPoint, upVector: Vector3d.unitZ(), lensAngle }))\r\n return;\r\n\r\n vp.synchWithView({ animateFrustumChange: true });\r\n }\r\n\r\n private _useCameraHeightProperty: DialogProperty<boolean> | undefined;\r\n public get useCameraHeightProperty() {\r\n if (!this._useCameraHeightProperty)\r\n this._useCameraHeightProperty = new DialogProperty<boolean>(\r\n PropertyDescriptionHelper.buildLockPropertyDescription(\"useCameraHeight\"), false, undefined, false);\r\n return this._useCameraHeightProperty;\r\n }\r\n public get useCameraHeight(): boolean { return this.useCameraHeightProperty.value; }\r\n public set useCameraHeight(option: boolean) { this.useCameraHeightProperty.value = option; }\r\n\r\n private _cameraHeightProperty: DialogProperty<number> | undefined;\r\n public get cameraHeightProperty() {\r\n if (!this._cameraHeightProperty)\r\n this._cameraHeightProperty = new DialogProperty<number>(createQuantityDescription({\r\n name: \"cameraHeight\",\r\n displayLabel: ViewTool.translate(\"SetupCamera.Labels.CameraHeight\"),\r\n kindOfQuantityName: \"DefaultToolsUnits.LENGTH\",\r\n persistenceUnitName: \"Units.M\",\r\n }), 0.0);\r\n return this._cameraHeightProperty;\r\n }\r\n public get cameraHeight(): number { return this.cameraHeightProperty.value; }\r\n public set cameraHeight(value: number) { this.cameraHeightProperty.value = value; }\r\n\r\n private _useTargetHeightProperty: DialogProperty<boolean> | undefined;\r\n public get useTargetHeightProperty() {\r\n if (!this._useTargetHeightProperty)\r\n this._useTargetHeightProperty = new DialogProperty<boolean>(\r\n PropertyDescriptionHelper.buildLockPropertyDescription(\"useTargetHeight\"), false, undefined, false);\r\n return this._useTargetHeightProperty;\r\n }\r\n public get useTargetHeight(): boolean { return this.useTargetHeightProperty.value; }\r\n public set useTargetHeight(value: boolean) { this.useTargetHeightProperty.value = value; }\r\n\r\n private _targetHeightProperty: DialogProperty<number> | undefined;\r\n public get targetHeightProperty() {\r\n if (!this._targetHeightProperty)\r\n this._targetHeightProperty = new DialogProperty<number>(createQuantityDescription({\r\n name: \"targetHeight\",\r\n displayLabel: ViewTool.translate(\"SetupCamera.Labels.TargetHeight\"),\r\n kindOfQuantityName: \"DefaultToolsUnits.LENGTH\",\r\n persistenceUnitName: \"Units.M\",\r\n }), 0.0);\r\n return this._targetHeightProperty;\r\n }\r\n public get targetHeight(): number { return this.targetHeightProperty.value; }\r\n public set targetHeight(value: number) { this.targetHeightProperty.value = value; }\r\n\r\n protected override getToolSettingLockProperty(property: DialogProperty<any>): DialogProperty<boolean> | undefined {\r\n if (property === this.cameraHeightProperty)\r\n return this.useCameraHeightProperty;\r\n else if (property === this.targetHeightProperty)\r\n return this.useTargetHeightProperty;\r\n return undefined;\r\n }\r\n\r\n public override async applyToolSettingPropertyChange(updatedValue: DialogPropertySyncItem): Promise<boolean> {\r\n return this.changeToolSettingPropertyValue(updatedValue);\r\n }\r\n\r\n public override supplyToolSettingsProperties(): DialogItem[] | undefined {\r\n this.initializeToolSettingPropertyValues([this.useCameraHeightProperty, this.useTargetHeightProperty, this.cameraHeightProperty, this.targetHeightProperty]);\r\n\r\n const cameraHeightLock = this.useCameraHeightProperty.toDialogItem({ rowPriority: 1, columnIndex: 0 });\r\n const targetHeightLock = this.useTargetHeightProperty.toDialogItem({ rowPriority: 2, columnIndex: 0 });\r\n\r\n const toolSettings = new Array<DialogItem>();\r\n toolSettings.push(this.cameraHeightProperty.toDialogItem({ rowPriority: 1, columnIndex: 1 }, cameraHeightLock));\r\n toolSettings.push(this.targetHeightProperty.toDialogItem({ rowPriority: 2, columnIndex: 1 }, targetHeightLock));\r\n return toolSettings;\r\n }\r\n}\r\n\r\n/** A tool that sets a walk tool starting position by a floor point and look direction. This is a PrimitiveTool and not a ViewTool to allow the view to be panned, zoomed, and rotated while defining the points.\r\n * @public\r\n */\r\nexport class SetupWalkCameraTool extends PrimitiveTool {\r\n public static override toolId = \"View.SetupWalkCamera\";\r\n public static override iconSpec = \"icon-camera-location\";\r\n public viewport?: ScreenViewport;\r\n protected _haveEyePt: boolean = false;\r\n protected _eyePtWorld: Point3d = Point3d.create();\r\n protected _targetPtWorld: Point3d = Point3d.create();\r\n\r\n public override isCompatibleViewport(vp: Viewport | undefined, isSelectedViewChange: boolean): boolean { return (super.isCompatibleViewport(vp, isSelectedViewChange) && undefined !== vp && vp.view.allow3dManipulations()); }\r\n public override isValidLocation(_ev: BeButtonEvent, _isButtonEvent: boolean): boolean { return true; }\r\n public override requireWriteableTarget(): boolean { return false; }\r\n public override async onPostInstall() {\r\n await super.onPostInstall();\r\n this.setupAndPromptForNextAction();\r\n }\r\n\r\n public override async onUnsuspend() { this.provideToolAssistance(); }\r\n protected setupAndPromptForNextAction(): void {\r\n IModelApp.accuSnap.enableSnap(true);\r\n this.provideToolAssistance();\r\n }\r\n\r\n public override async onResetButtonUp(_ev: BeButtonEvent): Promise<EventHandled> {\r\n if (this._haveEyePt)\r\n await this.onReinitialize();\r\n else\r\n await this.exitTool();\r\n\r\n return EventHandled.Yes;\r\n }\r\n\r\n protected provideToolAssistance(): void {\r\n const mainInstruction = ToolAssistance.createInstruction(this.iconSpec, ViewTool.translate(this._haveEyePt ? \"SetupWalkCamera.Prompts.NextPoint\" : \"SetupWalkCamera.Prompts.FirstPoint\"));\r\n const mouseInstructions: ToolAssistanceInstruction[] = [];\r\n const touchInstructions: ToolAssistanceInstruction[] = [];\r\n\r\n const acceptMsg = CoreTools.translate(\"ElementSet.Inputs.AcceptPoint\");\r\n const rejectMsg = CoreTools.translate(this._haveEyePt ? \"ElementSet.Inputs.Restart\" : \"ElementSet.Inputs.Exit\");\r\n if (!ToolAssistance.createTouchCursorInstructions(touchInstructions))\r\n touchInstructions.push(ToolAssistance.createInstruction(ToolAssistanceImage.OneTouchTap, acceptMsg, false, ToolAssistanceInputMethod.Touch));\r\n mouseInstructions.push(ToolAssistance.createInstruction(ToolAssistanceImage.LeftClick, acceptMsg, false, ToolAssistanceInputMethod.Mouse));\r\n touchInstructions.push(ToolAssistance.createInstruction(ToolAssistanceImage.TwoTouchTap, rejectMsg, false, ToolAssistanceInputMethod.Touch));\r\n mouseInstructions.push(ToolAssistance.createInstruction(ToolAssistanceImage.RightClick, rejectMsg, false, ToolAssistanceInputMethod.Mouse));\r\n\r\n const sections: ToolAssistanceSection[] = [];\r\n sections.push(ToolAssistance.createSection(mouseInstructions, ToolAssistance.inputsLabel));\r\n sections.push(ToolAssistance.createSection(touchInstructions, ToolAssistance.inputsLabel));\r\n\r\n const instructions = ToolAssistance.createInstructions(mainInstruction, sections);\r\n IModelApp.notifications.setToolAssistance(instructions);\r\n }\r\n\r\n public async onRestartTool(): Promise<void> {\r\n const tool = new SetupWalkCameraTool();\r\n if (!await tool.run())\r\n return this.exitTool();\r\n }\r\n\r\n protected getAdjustedEyePoint() { return this._eyePtWorld.plusScaled(Vector3d.unitZ(), ToolSettings.walkEyeHeight); }\r\n protected getAdjustedTargetPoint() { return Point3d.create(this._targetPtWorld.x, this._targetPtWorld.y, this.getAdjustedEyePoint().z); }\r\n\r\n public override async onDataButtonDown(ev: BeButtonEvent): Promise<EventHandled> {\r\n if (undefined === ev.viewport) {\r\n return EventHandled.Yes;\r\n } else if (undefined === this.viewport) {\r\n if (!ev.viewport.view.allow3dManipulations())\r\n return EventHandled.Yes;\r\n this.viewport = ev.viewport;\r\n } else if (this.viewport.view.iModel !== ev.viewport.view.iModel) {\r\n if (this._haveEyePt)\r\n return EventHandled.Yes;\r\n this.viewport = ev.viewport;\r\n return EventHandled.Yes;\r\n }\r\n\r\n if (this._haveEyePt) {\r\n this._targetPtWorld.setFrom(ev.point);\r\n this.doManipulation();\r\n await this.onReinitialize();\r\n } else {\r\n this._eyePtWorld.setFrom(ev.point);\r\n this._targetPtWorld.setFrom(this._eyePtWorld);\r\n this._haveEyePt = true;\r\n this.setupAndPromptForNextAction();\r\n }\r\n\r\n return EventHandled.Yes;\r\n }\r\n\r\n public override async onMouseMotion(ev: BeButtonEvent) {\r\n if (!this._haveEyePt)\r\n return;\r\n this._targetPtWorld.setFrom(ev.point);\r\n IModelApp.viewManager.invalidateDecorationsAllViews();\r\n }\r\n\r\n private static getFigurePoints(): Point3d[] {\r\n const figurePts: Point3d[] = [];\r\n figurePts.push(Point3d.create(1.064, -0.014));\r\n figurePts.push(Point3d.create(1.051, 0.039));\r\n figurePts.push(Point3d.create(1.008, 0.058));\r\n figurePts.push(Point3d.create(0.962, 0.048));\r\n figurePts.push(Point3d.create(0.920, 0.026));\r\n figurePts.push(Point3d.create(0.898, 0.026));\r\n figurePts.push(Point3d.create(0.853, 0.094));\r\n figurePts.push(Point3d.create(0.741, 0.120));\r\n figurePts.push(Point3d.create(0.652, 0.091));\r\n figurePts.push(Point3d.create(0.514, 0.107));\r\n figurePts.push(Point3d.create(0.304, 0.108));\r\n figurePts.push(Point3d.create(0.040, 0.135));\r\n figurePts.push(Point3d.create(-0.023, 0.133));\r\n figurePts.push(Point3d.create(-0.031, 0.088));\r\n figurePts.push(Point3d.create(0.041, 0.068));\r\n figurePts.push(Point3d.create(0.299, 0.035));\r\n figurePts.push(Point3d.create(0.447, -0.015));\r\n figurePts.push(Point3d.create(0.267, -0.042));\r\n figurePts.push(Point3d.create(0.019, -0.036));\r\n figurePts.push(Point3d.create(-0.027, -0.146));\r\n figurePts.push(Point3d.create(-0.005, -0.179));\r\n figurePts.push(Point3d.create(0.056, -0.108));\r\n figurePts.push(Point3d.create(0.270, -0.122));\r\n figurePts.push(Point3d.create(0.483, -0.120));\r\n figurePts.push(Point3d.create(0.649, -0.145));\r\n figurePts.push(Point3d.create(0.715, -0.186));\r\n figurePts.push(Point3d.create(0.865, -0.135));\r\n figurePts.push(Point3d.create(0.905, -0.039));\r\n figurePts.push(Point3d.create(0.948, -0.035));\r\n figurePts.push(Point3d.create(0.979, -0.051));\r\n figurePts.push(Point3d.create(1.037, -0.046));\r\n figurePts.push(figurePts[0].clone());\r\n return figurePts;\r\n }\r\n\r\n private static getFigureTransform(vp: Viewport, base: Point3d, direction: Vector3d, scale: number): Transform | undefined {\r\n const boresite = AccuDrawHintBuilder.getBoresite(base, vp);\r\n if (Math.abs(direction.dotProduct(boresite.direction)) >= 0.9999)\r\n return undefined;\r\n\r\n const matrix = Matrix3d.createRigidFromColumns(direction, boresite.direction, AxisOrder.XZY);\r\n if (undefined === matrix)\r\n return undefined;\r\n\r\n matrix.scaleColumnsInPlace(scale, scale, scale);\r\n return Transform.createRefs(base.clone(), matrix);\r\n }\r\n\r\n public static drawFigure(context: DecorateContext, vp: Viewport, groundPt: Point3d, eyeHeight: number): void {\r\n if (!vp.view.is3d() || vp.view.iModel !== context.viewport.view.iModel)\r\n return;\r\n\r\n const transform = this.getFigureTransform(context.viewport, groundPt, Vector3d.unitZ(), eyeHeight);\r\n if (undefined === transform)\r\n return;\r\n\r\n const figurePts = this.getFigurePoints();\r\n const color = EditManipulator.HandleUtils.adjustForBackgroundColor(ColorDef.black, vp);\r\n const fill = ColorDef.from(255, 245, 225, 100);\r\n\r\n const builderShadow = context.createGraphicBuilder(GraphicType.WorldOverlay);\r\n builderShadow.setSymbology(color, ColorDef.black.withAlpha(30), viewHandleWeight.thin);\r\n builderShadow.addArc(Arc3d.createXY(groundPt, eyeHeight * 0.22), true, true);\r\n context.addDecorationFromBuilder(builderShadow);\r\n\r\n const builderHid = context.createGraphicBuilder(GraphicType.WorldDecoration, transform);\r\n builderHid.setSymbology(color, fill, viewHandleWeight.thin);\r\n builderHid.addShape(figurePts); // Copies points...\r\n context.addDecorationFromBuilder(builderHid);\r\n\r\n const builderVis = context.createGraphicBuilder(GraphicType.WorldOverlay, transform);\r\n builderVis.setSymbology(color, color, viewHandleWeight.normal);\r\n builderVis.addLineString(figurePts); // Owns points...\r\n context.addDecorationFromBuilder(builderVis);\r\n }\r\n\r\n public override decorate(context: DecorateContext): void {\r\n if (!this._haveEyePt || undefined === this.viewport)\r\n return;\r\n SetupWalkCameraTool.drawFigure(context, this.viewport, this._eyePtWorld, ToolSettings.walkEyeHeight);\r\n SetupCameraTool.drawCameraFrustum(context, this.viewport, this.getAdjustedEyePoint(), this.getAdjustedTargetPoint(), this._eyePtWorld, this._targetPtWorld);\r\n }\r\n\r\n public override decorateSuspended(context: DecorateContext): void { this.decorate(context); }\r\n\r\n private doManipulation(): void {\r\n const vp = this.viewport;\r\n if (undefined === vp)\r\n return;\r\n\r\n const view = vp.view;\r\n if (!view.is3d() || !view.allow3dManipulations())\r\n return;\r\n\r\n const eyePoint = this.getAdjustedEyePoint();\r\n const targetPoint = this.getAdjustedTargetPoint();\r\n const lensAngle = ToolSettings.walkCameraAngle;\r\n if (ViewStatus.Success !== view.lookAt({ eyePoint, targetPoint, upVector: Vector3d.unitZ(), lensAngle }))\r\n return;\r\n\r\n vp.synchWithView({ animateFrustumChange: true });\r\n }\r\n}\r\n"]}
|
|
@@ -308,8 +308,11 @@ export declare class ToolAdmin {
|
|
|
308
308
|
private onButtonUp;
|
|
309
309
|
/** Called when any *modifier* (Shift, Alt, or Control) key is pressed or released. */
|
|
310
310
|
private onModifierKeyTransition;
|
|
311
|
-
private
|
|
312
|
-
private
|
|
311
|
+
private static isFocusHome;
|
|
312
|
+
private static setFocusHome;
|
|
313
|
+
private static isContextMenuOpen;
|
|
314
|
+
private static isElement;
|
|
315
|
+
private static isEditable;
|
|
313
316
|
private static getModifierKey;
|
|
314
317
|
/** Process key down events while the Ctrl key is pressed */
|
|
315
318
|
onCtrlKeyPressed(keyEvent: KeyboardEvent): Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolAdmin.d.ts","sourceRoot":"","sources":["../../../src/tools/ToolAdmin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ToolAdmin.d.ts","sourceRoot":"","sources":["../../../src/tools/ToolAdmin.ts"],"names":[],"mappings":"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"}
|