bruce-cesium 2.2.6 → 2.2.7
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/dist/bruce-cesium.es5.js +3289 -107
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +3288 -104
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/bruce-cesium.js +3 -1
- package/dist/lib/bruce-cesium.js.map +1 -1
- package/dist/lib/rendering/view-render-engine.js +24 -16
- package/dist/lib/rendering/view-render-engine.js.map +1 -1
- package/dist/lib/rendering/visuals-register.js +5 -0
- package/dist/lib/rendering/visuals-register.js.map +1 -1
- package/dist/lib/utils/drawing-utils.js +86 -0
- package/dist/lib/utils/drawing-utils.js.map +1 -1
- package/dist/lib/utils/view-utils.js +37 -0
- package/dist/lib/utils/view-utils.js.map +1 -1
- package/dist/lib/viewer/viewer-utils.js +71 -1
- package/dist/lib/viewer/viewer-utils.js.map +1 -1
- package/dist/lib/widgets/common/draw-3d-polygon.js +466 -0
- package/dist/lib/widgets/common/draw-3d-polygon.js.map +1 -0
- package/dist/lib/widgets/common/draw-3d-polyline.js +405 -0
- package/dist/lib/widgets/common/draw-3d-polyline.js.map +1 -0
- package/dist/lib/widgets/common/measure-creator.js +418 -0
- package/dist/lib/widgets/common/measure-creator.js.map +1 -0
- package/dist/lib/widgets/widget-bookmarks.js +346 -0
- package/dist/lib/widgets/widget-bookmarks.js.map +1 -0
- package/dist/lib/widgets/widget-branding.js +176 -0
- package/dist/lib/widgets/widget-branding.js.map +1 -0
- package/dist/lib/widgets/widget-cursorbar.js +291 -0
- package/dist/lib/widgets/widget-cursorbar.js.map +1 -0
- package/dist/lib/widgets/widget-info-view.js +476 -0
- package/dist/lib/widgets/widget-info-view.js.map +1 -0
- package/dist/lib/widgets/widget-nav-compass.js +250 -0
- package/dist/lib/widgets/widget-nav-compass.js.map +1 -0
- package/dist/lib/widgets/widget-searchbar.js +409 -0
- package/dist/lib/widgets/widget-searchbar.js.map +1 -0
- package/dist/lib/widgets/widget.js +50 -0
- package/dist/lib/widgets/widget.js.map +1 -0
- package/dist/types/bruce-cesium.d.ts +3 -1
- package/dist/types/rendering/visuals-register.d.ts +2 -1
- package/dist/types/utils/drawing-utils.d.ts +13 -0
- package/dist/types/utils/view-utils.d.ts +7 -0
- package/dist/types/viewer/viewer-utils.d.ts +21 -0
- package/dist/types/widgets/common/draw-3d-polygon.d.ts +62 -0
- package/dist/types/widgets/common/draw-3d-polyline.d.ts +47 -0
- package/dist/types/widgets/common/measure-creator.d.ts +60 -0
- package/dist/types/widgets/widget-bookmarks.d.ts +39 -0
- package/dist/types/widgets/widget-branding.d.ts +14 -0
- package/dist/types/widgets/widget-cursorbar.d.ts +27 -0
- package/dist/types/widgets/widget-info-view.d.ts +21 -0
- package/dist/types/widgets/widget-nav-compass.d.ts +27 -0
- package/dist/types/widgets/widget-searchbar.d.ts +17 -0
- package/dist/types/widgets/widget.d.ts +26 -0
- package/package.json +2 -2
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.WidgetNavCompass = void 0;
|
|
19
|
+
var widget_1 = require("./widget");
|
|
20
|
+
var Cesium = require("cesium");
|
|
21
|
+
var BEngine = require("../bruce-cesium");
|
|
22
|
+
var WidgetNavCompass = /** @class */ (function (_super) {
|
|
23
|
+
__extends(WidgetNavCompass, _super);
|
|
24
|
+
function WidgetNavCompass(params) {
|
|
25
|
+
var _this = _super.call(this, params) || this;
|
|
26
|
+
_this.ZOOM_DISTANCE = 0.85;
|
|
27
|
+
_this.ZOOM_TIME = 0.2;
|
|
28
|
+
_this.TURN_SPEED = 0.04;
|
|
29
|
+
_this.MIN_ZOOM_DISTANCE = 0.3;
|
|
30
|
+
_this.STYLESHEET_ID = "nextspace-nav-compass-stylesheet";
|
|
31
|
+
_this._generateStyles();
|
|
32
|
+
_this._generateElement();
|
|
33
|
+
_this._listenToRenders();
|
|
34
|
+
return _this;
|
|
35
|
+
}
|
|
36
|
+
WidgetNavCompass.prototype._getIs2d = function () {
|
|
37
|
+
return this._viewer.camera.frustum instanceof Cesium.OrthographicFrustum;
|
|
38
|
+
};
|
|
39
|
+
WidgetNavCompass.prototype._listenToRenders = function () {
|
|
40
|
+
var _this = this;
|
|
41
|
+
if (this._renderRemoval) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
this._renderRemoval = this._viewer.scene.postRender.addEventListener(function () {
|
|
45
|
+
_this._updateAxis();
|
|
46
|
+
_this._update2d3d();
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
WidgetNavCompass.prototype.Dispose = function () {
|
|
50
|
+
if (this._renderRemoval) {
|
|
51
|
+
this._renderRemoval();
|
|
52
|
+
this._renderRemoval = null;
|
|
53
|
+
}
|
|
54
|
+
_super.prototype.Dispose.call(this);
|
|
55
|
+
};
|
|
56
|
+
WidgetNavCompass.prototype._generateStyles = function () {
|
|
57
|
+
if (document.getElementById(this.STYLESHEET_ID)) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
var style = document.createElement("style");
|
|
61
|
+
style.id = this.STYLESHEET_ID;
|
|
62
|
+
style.innerHTML = "\n .NextspaceNavCompass {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 85px;\n min-height: 150px;\n background: rgba(33, 39, 42, 0.75);\n box-shadow: 0px 0px 1px rgba(18, 22, 25, 0.18), 0px 18px 36px -4px rgba(18, 22, 25, 0.36);\n backdrop-filter: blur(20px);\n border-radius: 102px 102px 9px 9px;\n overflow: hidden;\n padding-top: 85px;\n padding-bottom: 5px;\n position: absolute;\n bottom: 10px;\n right: 10px;\n box-sizing: border-box;\n }\n\n .NextspaceNavCompass * {\n box-sizing: border-box;\n }\n\n .NextspaceNavCompassTop {\n position: absolute;\n height: 85px;\n width: 85px;\n top: -2px;\n border-radius: 50%;\n border: 1px solid #4D5358;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .NextspaceNavCompassAxis {\n background: #181d20;\n border: 1px solid rgba(255, 255, 255, 0.15);\n width: 60px;\n height: 60px;\n border-radius: 50%;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n }\n\n .NextspaceNavCompassAxis >svg {\n transition: 0.3s ease;\n opacity: 0.9;\n position: absolute;\n }\n\n .NextspaceNavCompassArrow {\n margin-bottom: 6px;\n }\n\n .NextspaceNavCompassAxis:hover .NextspaceNavCompassArrow {\n opacity: 1;\n transform: scale(1.1);\n }\n\n .NextspaceNavCompassRow {\n display: flex;\n align-items: center;\n }\n\n .NextspaceNavCompassCol {\n display: flex;\n flex-direction: column;\n }\n\n .NextspaceNavCompassButt {\n width: 40px;\n height: 35px;\n flex-shrink: 1;\n flex-grow: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: 0.3s ease;\n }\n\n .NextspaceNavCompassButt[is-disabled=\"true\"] {\n opacity: 0.4;\n cursor: default;\n pointer-events: none;\n }\n\n .NextspaceNavCompassButt:hover {\n transform: scale(1.2);\n }\n\n .NextspaceNavCompassHorDash {\n background-color: rgba(255, 255, 255, 0.12);\n width: calc(100% - 10px);\n height: 1px;\n flex-shrink: 0;\n flex-grow: 0;\n margin-top: 5px;\n margin-bottom: 5px;\n }\n\n .NextspaceNavCompassVerDash {\n background-color: rgba(255, 255, 255, 0.12);\n width: 1px;\n height: 50px;\n flex-shrink: 0;\n flex-grow: 0;\n margin-top: 5px;\n margin-bottom: 5px;\n margin-left: 1px;\n margin-right: 1px;\n }\n\n .NextspaceNavCompassDimToggle {\n background: #121619;\n border-radius: 6px;\n width: calc(100% - 10px);\n height: 24px;\n flex-grow: 0;\n flex-shrink: 1;\n padding: 2px;\n display: flex;\n }\n\n .NextspaceNavCompassDimToggleButt {\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 4px;\n flex-grow: 1;\n flex-shrink: 1;\n width: 100%;\n transition: 0.3s ease;\n cursor: pointer;\n opacity: 0.4;\n color: white;\n font-size: 12px;\n font-family: Arial, Helvetica, sans-serif;\n }\n\n .NextspaceNavCompassDimToggleButt[is-selected=\"true\"] {\n opacity: 1;\n background-color: #4D5358;\n box-shadow: inset 0px 1px 0px rgba(255, 255, 255, 0.12);\n }\n ";
|
|
63
|
+
document.head.appendChild(style);
|
|
64
|
+
};
|
|
65
|
+
WidgetNavCompass.prototype._generateElement = function () {
|
|
66
|
+
var _this = this;
|
|
67
|
+
var element = document.createElement("div");
|
|
68
|
+
element.className = "NextspaceNavCompass";
|
|
69
|
+
var top = document.createElement("div");
|
|
70
|
+
top.className = "NextspaceNavCompassTop";
|
|
71
|
+
element.appendChild(top);
|
|
72
|
+
var axis = document.createElement("div");
|
|
73
|
+
axis.className = "NextspaceNavCompassAxis";
|
|
74
|
+
axis.setAttribute("title", "Click to reset north");
|
|
75
|
+
top.appendChild(axis);
|
|
76
|
+
axis.addEventListener("click", function () {
|
|
77
|
+
_this._clickResetNorth();
|
|
78
|
+
});
|
|
79
|
+
axis.innerHTML = "\n <svg width=\"72\" height=\"72\" viewBox=\"0 0 94 94\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"46\" width=\"2\" height=\"8\" rx=\"1\" fill=\"#FF3D00\"/>\n <rect x=\"46\" y=\"86\" width=\"2\" height=\"8\" rx=\"1\" fill=\"#4D5254\"/>\n <rect x=\"94\" y=\"46\" width=\"2\" height=\"8\" rx=\"1\" transform=\"rotate(90 94 46)\" fill=\"#4D5254\"/>\n <rect x=\"8\" y=\"46\" width=\"2\" height=\"8\" rx=\"1\" transform=\"rotate(90 8 46)\" fill=\"#4D5254\"/>\n <rect x=\"79.5269\" y=\"13.0589\" width=\"2\" height=\"8\" rx=\"1\" transform=\"rotate(45 79.5269 13.0589)\" fill=\"#4D5254\"/>\n <rect x=\"18.7157\" y=\"73.8701\" width=\"2\" height=\"8\" rx=\"1\" transform=\"rotate(45 18.7157 73.8701)\" fill=\"#4D5254\"/>\n <rect x=\"80.9412\" y=\"79.5269\" width=\"2\" height=\"8\" rx=\"1\" transform=\"rotate(135 80.9412 79.5269)\" fill=\"#4D5254\"/>\n <rect x=\"20.1299\" y=\"18.7157\" width=\"2\" height=\"8\" rx=\"1\" transform=\"rotate(135 20.1299 18.7157)\" fill=\"#4D5254\"/>\n <rect x=\"28.8555\" y=\"5.80811\" width=\"2\" height=\"4\" rx=\"1\" transform=\"rotate(-22.5 28.8555 5.80811)\" fill=\"#505456\"/>\n <rect x=\"61.7662\" y=\"85.2617\" width=\"2\" height=\"4\" rx=\"1\" transform=\"rotate(-22.5 61.7662 85.2617)\" fill=\"#505456\"/>\n <rect x=\"88.1919\" y=\"28.8553\" width=\"2\" height=\"4\" rx=\"1\" transform=\"rotate(67.5 88.1919 28.8553)\" fill=\"#505456\"/>\n <rect x=\"8.73828\" y=\"61.7661\" width=\"2\" height=\"4\" rx=\"1\" transform=\"rotate(67.5 8.73828 61.7661)\" fill=\"#505456\"/>\n <rect x=\"63.2969\" y=\"5.04272\" width=\"2\" height=\"4\" rx=\"1\" transform=\"rotate(22.5 63.2969 5.04272)\" fill=\"#505456\"/>\n <rect x=\"30.386\" y=\"84.4963\" width=\"2\" height=\"4\" rx=\"1\" transform=\"rotate(22.5 30.386 84.4963)\" fill=\"#505456\"/>\n <rect x=\"88.9572\" y=\"63.2969\" width=\"2\" height=\"4\" rx=\"1\" transform=\"rotate(112.5 88.9572 63.2969)\" fill=\"#505456\"/>\n <rect x=\"9.50354\" y=\"30.3861\" width=\"2\" height=\"4\" rx=\"1\" transform=\"rotate(112.5 9.50354 30.3861)\" fill=\"#505456\"/>\n </svg>\n\n <svg class=\"NextspaceNavCompassArrow\" width=\"28\" height=\"35\" viewBox=\"0 0 32 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M31.544 39.666C31.969 39.29 32.114 38.682 31.905 38.15L17.229 0.845C17.028 0.334 16.542 0 16.001 0C15.46 0 14.974 0.335 14.773 0.846L0.0950303 38.155C-0.11397 38.687 0.0310303 39.295 0.45603 39.67C0.88103 40.046 1.49303 40.106 1.98203 39.821L14.699 32.401C15.515 31.925 16.518 31.925 17.333 32.401L30.019 39.816C30.507 40.101 31.12 40.041 31.545 39.665L31.544 39.666Z\" fill=\"url(#paint0_linear_363_9865)\"/>\n <path d=\"M16.001 0C15.46 0 14.974 0.335 14.773 0.846L0.0950303 38.155C-0.11397 38.687 0.0310303 39.295 0.45603 39.67C0.88103 40.046 1.49303 40.106 1.98203 39.821L14.699 32.401C15.103 32.165 15.552 32.047 16.002 32.045V0H16.001Z\" fill=\"#1192E8\"/>\n <path d=\"M0.454956 39.67C0.879956 40.046 1.49196 40.106 1.98096 39.821L14.698 32.401C15.102 32.165 15.551 32.047 16.001 32.045V24.844L0.454956 39.67Z\" fill=\"url(#paint1_linear_363_9865)\"/>\n <path d=\"M31.546 39.67C31.121 40.046 30.509 40.106 30.02 39.821L17.303 32.401C16.899 32.165 16.45 32.047 16 32.045V24.844L31.546 39.67Z\" fill=\"url(#paint2_linear_363_9865)\"/>\n <defs>\n <linearGradient id=\"paint0_linear_363_9865\" x1=\"16\" y1=\"0\" x2=\"16\" y2=\"39.9997\" gradientUnits=\"userSpaceOnUse\">\n <stop stop-color=\"#0072C3\"/>\n <stop offset=\"1\" stop-color=\"#00539A\"/>\n </linearGradient>\n <linearGradient id=\"paint1_linear_363_9865\" x1=\"8.22796\" y1=\"24.844\" x2=\"8.22796\" y2=\"39.9997\" gradientUnits=\"userSpaceOnUse\">\n <stop stop-color=\"#0072C3\"/>\n <stop offset=\"1\" stop-color=\"#00539A\"/>\n </linearGradient>\n <linearGradient id=\"paint2_linear_363_9865\" x1=\"23.773\" y1=\"24.844\" x2=\"23.773\" y2=\"39.9997\" gradientUnits=\"userSpaceOnUse\">\n <stop stop-color=\"#00539A\"/>\n <stop offset=\"1\" stop-color=\"#003A6D\"/>\n </linearGradient>\n </defs>\n </svg>\n ";
|
|
80
|
+
this._axis = axis;
|
|
81
|
+
var rotateRow = document.createElement("div");
|
|
82
|
+
rotateRow.className = "NextspaceNavCompassRow";
|
|
83
|
+
rotateRow.innerHTML = "\n <div class=\"NextspaceNavCompassButt\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8 12.5C8 16.743 10.5205 20.389 14.1445 22.043C14.6875 22.291 15.3286 22.0152 15.5176 21.4492C15.6776 20.9702 15.4522 20.4473 14.9922 20.2383C12.0482 18.9023 10 15.943 10 12.5C10 10.3219 10.8297 8.34307 12.1777 6.83983L15.1465 9.80858C15.3415 10.0036 15.6585 10.0036 15.8535 9.80858C15.9505 9.71058 16 9.58306 16 9.45506L16 2.95506C16 2.68985 15.8946 2.43549 15.7071 2.24795C15.5196 2.06042 15.2652 1.95506 15 1.95506L8.5 1.95506C8.372 1.95506 8.24348 2.00355 8.14648 2.10155C7.95148 2.29655 7.95148 2.61358 8.14648 2.80858L10.7695 5.43163C9.05703 7.29483 8 9.76796 8 12.5Z\" fill=\"#A2A9B0\"/>\n </svg>\n </div>\n\n <div class=\"NextspaceNavCompassButt\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M16 12.5C16 16.743 13.4795 20.389 9.85547 22.043C9.31247 22.291 8.67142 22.0152 8.48242 21.4492C8.32242 20.9702 8.54781 20.4473 9.00781 20.2383C11.9518 18.9023 14 15.943 14 12.5C14 10.3219 13.1703 8.34307 11.8223 6.83983L8.85352 9.80858C8.65852 10.0036 8.34149 10.0036 8.14648 9.80858C8.04948 9.71058 8 9.58306 8 9.45506L8 2.95506C8 2.68985 8.10536 2.43549 8.29289 2.24795C8.48043 2.06042 8.73478 1.95506 9 1.95506L15.5 1.95506C15.628 1.95506 15.7565 2.00355 15.8535 2.10155C16.0485 2.29655 16.0485 2.61358 15.8535 2.80858L13.2305 5.43163C14.943 7.29483 16 9.76796 16 12.5Z\" fill=\"#A2A9B0\"/>\n </svg>\n </div>\n ";
|
|
84
|
+
element.appendChild(rotateRow);
|
|
85
|
+
var rotateLeft = rotateRow.children[0];
|
|
86
|
+
var rotateRight = rotateRow.children[1];
|
|
87
|
+
rotateLeft.addEventListener("click", function () {
|
|
88
|
+
_this._doRotate(-Math.PI * 0.25);
|
|
89
|
+
});
|
|
90
|
+
rotateRight.addEventListener("click", function () {
|
|
91
|
+
_this._doRotate(Math.PI * 0.25);
|
|
92
|
+
});
|
|
93
|
+
var horDash = document.createElement("div");
|
|
94
|
+
horDash.className = "NextspaceNavCompassHorDash";
|
|
95
|
+
element.appendChild(horDash);
|
|
96
|
+
var etcRow = document.createElement("div");
|
|
97
|
+
etcRow.className = "NextspaceNavCompassRow";
|
|
98
|
+
etcRow.innerHTML = "\n <div class=\"NextspaceNavCompassCol\">\n <div class=\"NextspaceNavCompassButt\">\n <svg width=\"16\" height=\"9\" viewBox=\"0 0 16 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M1 8L8 1L15 8\" stroke=\"#A2A9B0\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n </svg>\n </div>\n\n <div class=\"NextspaceNavCompassButt\">\n <svg width=\"16\" height=\"9\" viewBox=\"0 0 16 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M15 1L8 8L1 1\" stroke=\"#A2A9B0\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n </svg>\n </div>\n </div>\n <div class=\"NextspaceNavCompassVerDash\"></div>\n <div class=\"NextspaceNavCompassCol\">\n <div class=\"NextspaceNavCompassButt\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8 1V15\" stroke=\"#A2A9B0\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n <path d=\"M15 8L1 8\" stroke=\"#A2A9B0\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n </svg>\n </div>\n\n <div class=\"NextspaceNavCompassButt\">\n <svg width=\"16\" height=\"2\" viewBox=\"0 0 16 2\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M15 1L1 0.999999\" stroke=\"#A2A9B0\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n </svg>\n </div>\n </div>\n ";
|
|
99
|
+
element.appendChild(etcRow);
|
|
100
|
+
var lookUp = etcRow.children[0].children[0];
|
|
101
|
+
this._up = lookUp;
|
|
102
|
+
var lookDown = etcRow.children[0].children[1];
|
|
103
|
+
lookUp.addEventListener("click", function () {
|
|
104
|
+
_this._doLook(true);
|
|
105
|
+
});
|
|
106
|
+
this._down = lookDown;
|
|
107
|
+
lookDown.addEventListener("click", function () {
|
|
108
|
+
_this._doLook(false);
|
|
109
|
+
});
|
|
110
|
+
var zoomIn = etcRow.children[2].children[0];
|
|
111
|
+
var zoomOut = etcRow.children[2].children[1];
|
|
112
|
+
zoomIn.addEventListener("click", function () {
|
|
113
|
+
_this._doZoom(true);
|
|
114
|
+
});
|
|
115
|
+
zoomOut.addEventListener("click", function () {
|
|
116
|
+
_this._doZoom(false);
|
|
117
|
+
});
|
|
118
|
+
var dimToggle = document.createElement("div");
|
|
119
|
+
dimToggle.className = "NextspaceNavCompassDimToggle";
|
|
120
|
+
dimToggle.innerHTML = "\n <div class=\"NextspaceNavCompassDimToggleButt\" is-selected=\"false\">\n 3D\n </div>\n\n <div class=\"NextspaceNavCompassDimToggleButt\" is-selected=\"false\">\n 2D\n </div>\n ";
|
|
121
|
+
element.appendChild(dimToggle);
|
|
122
|
+
var butt2d = dimToggle.children[1];
|
|
123
|
+
this._2d = butt2d;
|
|
124
|
+
butt2d.addEventListener("click", function () {
|
|
125
|
+
_this._toggle2d3d();
|
|
126
|
+
});
|
|
127
|
+
var butt3d = dimToggle.children[0];
|
|
128
|
+
this._3d = butt3d;
|
|
129
|
+
butt3d.addEventListener("click", function () {
|
|
130
|
+
_this._toggle2d3d();
|
|
131
|
+
});
|
|
132
|
+
this.Container.appendChild(element);
|
|
133
|
+
this._element = element;
|
|
134
|
+
this._update2d3d();
|
|
135
|
+
};
|
|
136
|
+
WidgetNavCompass.prototype._updateAxis = function () {
|
|
137
|
+
var heading = this._viewer.camera.heading;
|
|
138
|
+
var axis = this._axis;
|
|
139
|
+
axis.style.transform = "rotate(".concat(heading, "rad)");
|
|
140
|
+
};
|
|
141
|
+
WidgetNavCompass.prototype._clickResetNorth = function () {
|
|
142
|
+
var viewer = this._viewer;
|
|
143
|
+
var h = viewer.camera.heading;
|
|
144
|
+
var north = h < Math.PI ? h : h - Math.PI * 2;
|
|
145
|
+
this._doRotate(north);
|
|
146
|
+
};
|
|
147
|
+
WidgetNavCompass.prototype._doRotate = function (radians) {
|
|
148
|
+
var viewer = this._viewer;
|
|
149
|
+
var TURN_SPEED = this.TURN_SPEED;
|
|
150
|
+
var left = radians < 0;
|
|
151
|
+
radians = Math.abs(radians);
|
|
152
|
+
var camera = viewer.camera;
|
|
153
|
+
var is2d = this._getIs2d();
|
|
154
|
+
var isLookingStraightDown = camera.pitch === -Math.PI / 2;
|
|
155
|
+
if (is2d || isLookingStraightDown) {
|
|
156
|
+
camera.flyTo({
|
|
157
|
+
destination: camera.position,
|
|
158
|
+
orientation: {
|
|
159
|
+
heading: camera.heading + (left ? radians : -radians),
|
|
160
|
+
pitch: camera.pitch,
|
|
161
|
+
roll: camera.roll
|
|
162
|
+
},
|
|
163
|
+
duration: 0.2
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
var c = viewer.canvas;
|
|
168
|
+
var center = new Cesium.Cartesian2(c.width / 2, c.height / 2);
|
|
169
|
+
var ground_1 = BEngine.DrawingUtils.GetAccuratePosition(viewer, center);
|
|
170
|
+
if (!(ground_1 === null || ground_1 === void 0 ? void 0 : ground_1.x)) {
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
var offset_1 = Cesium.Cartesian3.distance(camera.position, ground_1);
|
|
174
|
+
var r_1 = 0;
|
|
175
|
+
var unsub_1 = viewer.clock.onTick.addEventListener(function () {
|
|
176
|
+
var inc = Math.PI * TURN_SPEED;
|
|
177
|
+
if (r_1 + inc >= radians) {
|
|
178
|
+
unsub_1();
|
|
179
|
+
inc = radians - r_1;
|
|
180
|
+
}
|
|
181
|
+
camera.lookAt(ground_1, new Cesium.HeadingPitchRange(camera.heading, camera.pitch, offset_1));
|
|
182
|
+
left ? camera.rotateLeft(inc) : camera.rotateRight(inc);
|
|
183
|
+
camera.lookAtTransform(Cesium.Matrix4.IDENTITY);
|
|
184
|
+
r_1 += inc;
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
WidgetNavCompass.prototype._doZoom = function (zoomIn) {
|
|
189
|
+
var viewer = this._viewer;
|
|
190
|
+
var c = viewer.canvas;
|
|
191
|
+
var center = new Cesium.Cartesian2(c.width / 2, c.height / 2);
|
|
192
|
+
var camera = viewer.camera;
|
|
193
|
+
var ground = BEngine.DrawingUtils.GetAccuratePosition(viewer, center);
|
|
194
|
+
if (!(ground === null || ground === void 0 ? void 0 : ground.x)) {
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
var p = camera.position;
|
|
198
|
+
var height = Cesium.Cartesian3.distance(p, ground);
|
|
199
|
+
var mag = this.ZOOM_DISTANCE / Math.max(1, 4 - Math.log10(height));
|
|
200
|
+
var zoom = zoomIn ? 1 - mag : 1 + mag;
|
|
201
|
+
var offset = Cesium.Cartesian3.multiplyByScalar(Cesium.Cartesian3.subtract(p, ground, new Cesium.Cartesian3), zoom, new Cesium.Cartesian3);
|
|
202
|
+
if (zoomIn && Cesium.Cartesian3.magnitude(offset) <= this.MIN_ZOOM_DISTANCE) {
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
var to = Cesium.Cartesian3.add(ground, offset, new Cesium.Cartesian3);
|
|
206
|
+
camera.flyTo({
|
|
207
|
+
destination: to,
|
|
208
|
+
orientation: { heading: camera.heading, pitch: camera.pitch, roll: camera.roll },
|
|
209
|
+
duration: this.ZOOM_TIME,
|
|
210
|
+
easingFunction: Cesium.EasingFunction.QUADRATIC_IN_OUT
|
|
211
|
+
});
|
|
212
|
+
};
|
|
213
|
+
WidgetNavCompass.prototype._doLook = function (tiltUp) {
|
|
214
|
+
var viewer = this._viewer;
|
|
215
|
+
var diff = 6.26 / 32;
|
|
216
|
+
if (!tiltUp) {
|
|
217
|
+
diff *= -1;
|
|
218
|
+
}
|
|
219
|
+
var current = viewer.camera.pitch;
|
|
220
|
+
current += diff;
|
|
221
|
+
viewer.camera.flyTo({
|
|
222
|
+
destination: viewer.camera.position,
|
|
223
|
+
orientation: {
|
|
224
|
+
heading: viewer.camera.heading,
|
|
225
|
+
pitch: current,
|
|
226
|
+
roll: viewer.camera.roll
|
|
227
|
+
},
|
|
228
|
+
duration: 0.2
|
|
229
|
+
});
|
|
230
|
+
};
|
|
231
|
+
WidgetNavCompass.prototype._update2d3d = function () {
|
|
232
|
+
var is2d = this._getIs2d();
|
|
233
|
+
this._2d.setAttribute("is-selected", is2d ? "true" : "false");
|
|
234
|
+
this._3d.setAttribute("is-selected", is2d ? "false" : "true");
|
|
235
|
+
this._up.setAttribute("is-disabled", is2d ? "true" : "false");
|
|
236
|
+
this._down.setAttribute("is-disabled", is2d ? "true" : "false");
|
|
237
|
+
};
|
|
238
|
+
WidgetNavCompass.prototype._toggle2d3d = function () {
|
|
239
|
+
var shouldBe2d = !this._getIs2d();
|
|
240
|
+
BEngine.ViewUtils.Set2dStatus({
|
|
241
|
+
status: shouldBe2d,
|
|
242
|
+
viewer: this._viewer,
|
|
243
|
+
moveCamera: true
|
|
244
|
+
});
|
|
245
|
+
this._update2d3d();
|
|
246
|
+
};
|
|
247
|
+
return WidgetNavCompass;
|
|
248
|
+
}(widget_1.Widget.AWidget));
|
|
249
|
+
exports.WidgetNavCompass = WidgetNavCompass;
|
|
250
|
+
//# sourceMappingURL=widget-nav-compass.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget-nav-compass.js","sourceRoot":"","sources":["../../../src/widgets/widget-nav-compass.ts"],"names":[],"mappings":"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"}
|