bruce-models 0.7.8 → 0.8.0
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-models.es5.js +167 -8
- package/dist/bruce-models.es5.js.map +1 -1
- package/dist/bruce-models.umd.js +165 -7
- package/dist/bruce-models.umd.js.map +1 -1
- package/dist/lib/account/account.js +244 -244
- package/dist/lib/ann-document/ann-document.js +116 -116
- package/dist/lib/api/abstract-api.js +269 -269
- package/dist/lib/api/api.js +85 -85
- package/dist/lib/api/bruce-api.js +243 -228
- package/dist/lib/api/bruce-api.js.map +1 -1
- package/dist/lib/api/cam-api.js +132 -132
- package/dist/lib/api/global-api.js +131 -131
- package/dist/lib/api/idm-api.js +132 -132
- package/dist/lib/bruce-models.js +85 -84
- package/dist/lib/bruce-models.js.map +1 -1
- package/dist/lib/calculator/calculator.js +159 -158
- package/dist/lib/calculator/calculator.js.map +1 -1
- package/dist/lib/client-file/client-file.js +188 -188
- package/dist/lib/common/bounds.js +2 -2
- package/dist/lib/common/bruce-event.js +48 -48
- package/dist/lib/common/bruce-variable.js +54 -54
- package/dist/lib/common/cache.js +86 -86
- package/dist/lib/common/camera.js +11 -11
- package/dist/lib/common/cartes.js +55 -55
- package/dist/lib/common/carto.js +60 -60
- package/dist/lib/common/color.js +86 -86
- package/dist/lib/common/delay-queue.js +60 -60
- package/dist/lib/common/dictionary.js +2 -2
- package/dist/lib/common/geometry.js +120 -120
- package/dist/lib/common/transform.js +2 -2
- package/dist/lib/common/utc.js +39 -39
- package/dist/lib/custom-form/custom-form.js +136 -136
- package/dist/lib/data-lab/data-lab.js +90 -90
- package/dist/lib/entity/entity-attachment-type.js +132 -132
- package/dist/lib/entity/entity-attachment.js +208 -208
- package/dist/lib/entity/entity-comment.js +132 -132
- package/dist/lib/entity/entity-coords.js +181 -181
- package/dist/lib/entity/entity-link.js +132 -132
- package/dist/lib/entity/entity-lod.js +189 -189
- package/dist/lib/entity/entity-relation-type.js +150 -150
- package/dist/lib/entity/entity-relation.js +189 -189
- package/dist/lib/entity/entity-source.js +176 -176
- package/dist/lib/entity/entity-tag.js +229 -229
- package/dist/lib/entity/entity-type.js +163 -163
- package/dist/lib/entity/entity.js +358 -358
- package/dist/lib/entity/getters/batched-data-getter.js +91 -91
- package/dist/lib/entity/getters/entity-filter-getter.js +344 -344
- package/dist/lib/entity/getters/entity-globe.js +135 -135
- package/dist/lib/entity/getters/view-monitor.js +2 -2
- package/dist/lib/import/import-cad.js +82 -82
- package/dist/lib/import/import-csv.js +51 -51
- package/dist/lib/import/import-json.js +51 -51
- package/dist/lib/import/import-kml.js +51 -51
- package/dist/lib/import/imported-file.js +121 -121
- package/dist/lib/import/imported-file.js.map +1 -1
- package/dist/lib/markup/markup.js +40 -40
- package/dist/lib/program-key/program-key.js +152 -152
- package/dist/lib/project/menu-item.js +115 -115
- package/dist/lib/project/project-view-bookmark.js +183 -183
- package/dist/lib/project/project-view-legacy-tile.js +115 -115
- package/dist/lib/project/project-view-tile.js +119 -119
- package/dist/lib/project/project-view-tile.js.map +1 -1
- package/dist/lib/project/project-view.js +177 -177
- package/dist/lib/project/zoom-control.js +17 -17
- package/dist/lib/server/message-broker.js +159 -0
- package/dist/lib/server/message-broker.js.map +1 -0
- package/dist/lib/server/pending-action.js +106 -106
- package/dist/lib/server/task.js +113 -113
- package/dist/lib/style/style.js +152 -152
- package/dist/lib/tileset/tileset-cad.js +2 -2
- package/dist/lib/tileset/tileset-entities-map-tiles.js +18 -18
- package/dist/lib/tileset/tileset-entities.js +2 -2
- package/dist/lib/tileset/tileset-ext-map-tiles.js +17 -17
- package/dist/lib/tileset/tileset-ext-terrain-tiles.js +2 -2
- package/dist/lib/tileset/tileset-map-tiles.js +2 -2
- package/dist/lib/tileset/tileset-pointcloud.js +2 -2
- package/dist/lib/tileset/tileset-terrain-tiles.js +2 -2
- package/dist/lib/tileset/tileset.js +403 -403
- package/dist/lib/user/permission.js +20 -20
- package/dist/lib/user/session.js +160 -160
- package/dist/lib/user/user-group.js +139 -139
- package/dist/lib/user/user.js +451 -451
- package/dist/lib/util/encrypt-utils.js +20 -20
- package/dist/lib/util/math-utils.js +41 -41
- package/dist/lib/util/object-utils.js +17 -17
- package/dist/lib/util/path-utils.js +61 -61
- package/dist/lib/util/url-utils.js +107 -107
- package/dist/types/api/bruce-api.d.ts +9 -1
- package/dist/types/bruce-models.d.ts +1 -0
- package/dist/types/project/project-view-tile.d.ts +2 -6
- package/dist/types/server/message-broker.d.ts +108 -0
- package/package.json +1 -1
|
@@ -1,159 +1,160 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Calculator = void 0;
|
|
4
|
-
var color_1 = require("../common/color");
|
|
5
|
-
var entity_1 = require("../entity/entity");
|
|
6
|
-
var bruce_variable_1 = require("../common/bruce-variable");
|
|
7
|
-
var path_utils_1 = require("../util/path-utils");
|
|
8
|
-
/**
|
|
9
|
-
* Utility for calculating values from Bruce fields.
|
|
10
|
-
* These fields are typically found in entity styles.
|
|
11
|
-
*/
|
|
12
|
-
var Calculator;
|
|
13
|
-
(function (Calculator) {
|
|
14
|
-
var EValueType;
|
|
15
|
-
(function (EValueType) {
|
|
16
|
-
EValueType[EValueType["Color"] = 0] = "Color";
|
|
17
|
-
EValueType[EValueType["Input"] = 1] = "Input";
|
|
18
|
-
EValueType[EValueType["Gradient"] = 2] = "Gradient";
|
|
19
|
-
EValueType[EValueType["Mapping"] = 3] = "Mapping";
|
|
20
|
-
EValueType[EValueType["TagColor"] = 4] = "TagColor";
|
|
21
|
-
EValueType[EValueType["RandomColor"] = 5] = "RandomColor";
|
|
22
|
-
})(EValueType = Calculator.EValueType || (Calculator.EValueType = {}));
|
|
23
|
-
/**
|
|
24
|
-
* Calculates the value of arbitrary field options.
|
|
25
|
-
* The context calling this should validate results and parse stuff if needed.
|
|
26
|
-
* @param fields
|
|
27
|
-
* @param entity
|
|
28
|
-
* @param tags
|
|
29
|
-
* @returns
|
|
30
|
-
*/
|
|
31
|
-
function GetValue(fields, entity, tags) {
|
|
32
|
-
if (!tags) {
|
|
33
|
-
tags = [];
|
|
34
|
-
}
|
|
35
|
-
if (!entity) {
|
|
36
|
-
entity = {};
|
|
37
|
-
}
|
|
38
|
-
for (var i = 0; i < fields.length; i++) {
|
|
39
|
-
var field = fields[i];
|
|
40
|
-
var value = void 0;
|
|
41
|
-
switch (field.type) {
|
|
42
|
-
case EValueType.Color:
|
|
43
|
-
value = field.value;
|
|
44
|
-
if (value) {
|
|
45
|
-
value = color_1.Color.ColorFromStr(value);
|
|
46
|
-
}
|
|
47
|
-
break;
|
|
48
|
-
case EValueType.Gradient:
|
|
49
|
-
value = GetGradientValue(field.value, entity);
|
|
50
|
-
break;
|
|
51
|
-
case EValueType.Input:
|
|
52
|
-
value = GetInputValue(field.value, entity);
|
|
53
|
-
break;
|
|
54
|
-
case EValueType.Mapping:
|
|
55
|
-
value = GetMappingValue(field.value, entity);
|
|
56
|
-
break;
|
|
57
|
-
case EValueType.RandomColor:
|
|
58
|
-
value = color_1.Color.RandomColor();
|
|
59
|
-
break;
|
|
60
|
-
case EValueType.TagColor:
|
|
61
|
-
for (var i_1 = 0; i_1 < tags.length; i_1++) {
|
|
62
|
-
var tag = tags[i_1];
|
|
63
|
-
if (tag.Color) {
|
|
64
|
-
value = color_1.Color.ColorFromStr(tag.Color);
|
|
65
|
-
break;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
break;
|
|
69
|
-
}
|
|
70
|
-
if (value || value == 0) {
|
|
71
|
-
return value;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
return null;
|
|
75
|
-
}
|
|
76
|
-
Calculator.GetValue = GetValue;
|
|
77
|
-
function GetMappingValue(value, entity) {
|
|
78
|
-
var attrPath = path_utils_1.PathUtils.Parse(value.field);
|
|
79
|
-
var eValue = +entity_1.Entity.GetValue(entity, attrPath);
|
|
80
|
-
for (var i = 0; i < value.values.length; i++) {
|
|
81
|
-
var option = value.values[i];
|
|
82
|
-
var mapValue = option.fieldValue;
|
|
83
|
-
if (+mapValue == eValue) {
|
|
84
|
-
return option.appliedValue;
|
|
85
|
-
}
|
|
86
|
-
var mapSplit = mapValue.split("-");
|
|
87
|
-
if (mapSplit.length == 2) {
|
|
88
|
-
var min = mapSplit[0];
|
|
89
|
-
var max = mapSplit[1];
|
|
90
|
-
if (min != "") {
|
|
91
|
-
if (eValue < +min) {
|
|
92
|
-
continue;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
if (max != "") {
|
|
96
|
-
if (eValue > +max) {
|
|
97
|
-
continue;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
if (min == "" && max == "") {
|
|
101
|
-
continue;
|
|
102
|
-
}
|
|
103
|
-
return option.appliedValue;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
return null;
|
|
107
|
-
}
|
|
108
|
-
Calculator.GetMappingValue = GetMappingValue;
|
|
109
|
-
function GetGradientValue(value, entity) {
|
|
110
|
-
var attrPath = path_utils_1.PathUtils.Parse(value.field);
|
|
111
|
-
var eValue = entity_1.Entity.GetValue(entity, attrPath);
|
|
112
|
-
eValue = Math.min(Math.max(eValue, value.min), value.max);
|
|
113
|
-
if (eValue < value.points[0].position) {
|
|
114
|
-
return color_1.Color.ColorFromStr(value.points[0].color);
|
|
115
|
-
}
|
|
116
|
-
for (var i = 0; i < value.points.length - 1; i++) {
|
|
117
|
-
var pointA = value.points[i];
|
|
118
|
-
var pointB = value.points[i + 1];
|
|
119
|
-
if (eValue >= pointA.position && eValue <= pointB.position) {
|
|
120
|
-
if (pointA.position == pointB.position) {
|
|
121
|
-
return color_1.Color.ColorFromStr(pointA.color);
|
|
122
|
-
}
|
|
123
|
-
var distance = (eValue - pointA.position) / (pointB.position - pointA.position);
|
|
124
|
-
var colorA = color_1.Color.ColorFromStr(pointA.color);
|
|
125
|
-
var colorB = color_1.Color.ColorFromStr(pointB.color);
|
|
126
|
-
return {
|
|
127
|
-
red: colorA.red + (colorB.red - colorA.red) * distance,
|
|
128
|
-
green: colorA.green + (colorB.green - colorA.green) * distance,
|
|
129
|
-
blue: colorA.blue + (colorB.blue - colorA.blue) * distance,
|
|
130
|
-
alpha: colorA.alpha + (colorB.alpha - colorA.alpha) * distance
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
return color_1.Color.ColorFromStr(value.points[value.points.length - 1].color);
|
|
135
|
-
}
|
|
136
|
-
Calculator.GetGradientValue = GetGradientValue;
|
|
137
|
-
function GetInputValue(value, entity) {
|
|
138
|
-
if (typeof value == "string") {
|
|
139
|
-
try {
|
|
140
|
-
value = bruce_variable_1.BruceVariable.SwapValues(value, entity);
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
var
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Calculator = void 0;
|
|
4
|
+
var color_1 = require("../common/color");
|
|
5
|
+
var entity_1 = require("../entity/entity");
|
|
6
|
+
var bruce_variable_1 = require("../common/bruce-variable");
|
|
7
|
+
var path_utils_1 = require("../util/path-utils");
|
|
8
|
+
/**
|
|
9
|
+
* Utility for calculating values from Bruce fields.
|
|
10
|
+
* These fields are typically found in entity styles.
|
|
11
|
+
*/
|
|
12
|
+
var Calculator;
|
|
13
|
+
(function (Calculator) {
|
|
14
|
+
var EValueType;
|
|
15
|
+
(function (EValueType) {
|
|
16
|
+
EValueType[EValueType["Color"] = 0] = "Color";
|
|
17
|
+
EValueType[EValueType["Input"] = 1] = "Input";
|
|
18
|
+
EValueType[EValueType["Gradient"] = 2] = "Gradient";
|
|
19
|
+
EValueType[EValueType["Mapping"] = 3] = "Mapping";
|
|
20
|
+
EValueType[EValueType["TagColor"] = 4] = "TagColor";
|
|
21
|
+
EValueType[EValueType["RandomColor"] = 5] = "RandomColor";
|
|
22
|
+
})(EValueType = Calculator.EValueType || (Calculator.EValueType = {}));
|
|
23
|
+
/**
|
|
24
|
+
* Calculates the value of arbitrary field options.
|
|
25
|
+
* The context calling this should validate results and parse stuff if needed.
|
|
26
|
+
* @param fields
|
|
27
|
+
* @param entity
|
|
28
|
+
* @param tags
|
|
29
|
+
* @returns
|
|
30
|
+
*/
|
|
31
|
+
function GetValue(fields, entity, tags) {
|
|
32
|
+
if (!tags) {
|
|
33
|
+
tags = [];
|
|
34
|
+
}
|
|
35
|
+
if (!entity) {
|
|
36
|
+
entity = {};
|
|
37
|
+
}
|
|
38
|
+
for (var i = 0; i < fields.length; i++) {
|
|
39
|
+
var field = fields[i];
|
|
40
|
+
var value = void 0;
|
|
41
|
+
switch (field.type) {
|
|
42
|
+
case EValueType.Color:
|
|
43
|
+
value = field.value;
|
|
44
|
+
if (value) {
|
|
45
|
+
value = color_1.Color.ColorFromStr(value);
|
|
46
|
+
}
|
|
47
|
+
break;
|
|
48
|
+
case EValueType.Gradient:
|
|
49
|
+
value = GetGradientValue(field.value, entity);
|
|
50
|
+
break;
|
|
51
|
+
case EValueType.Input:
|
|
52
|
+
value = GetInputValue(field.value, entity);
|
|
53
|
+
break;
|
|
54
|
+
case EValueType.Mapping:
|
|
55
|
+
value = GetMappingValue(field.value, entity);
|
|
56
|
+
break;
|
|
57
|
+
case EValueType.RandomColor:
|
|
58
|
+
value = color_1.Color.RandomColor();
|
|
59
|
+
break;
|
|
60
|
+
case EValueType.TagColor:
|
|
61
|
+
for (var i_1 = 0; i_1 < tags.length; i_1++) {
|
|
62
|
+
var tag = tags[i_1];
|
|
63
|
+
if (tag.Color) {
|
|
64
|
+
value = color_1.Color.ColorFromStr(tag.Color);
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
if (value || value == 0) {
|
|
71
|
+
return value;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
Calculator.GetValue = GetValue;
|
|
77
|
+
function GetMappingValue(value, entity) {
|
|
78
|
+
var attrPath = path_utils_1.PathUtils.Parse(value.field);
|
|
79
|
+
var eValue = +entity_1.Entity.GetValue(entity, attrPath);
|
|
80
|
+
for (var i = 0; i < value.values.length; i++) {
|
|
81
|
+
var option = value.values[i];
|
|
82
|
+
var mapValue = option.fieldValue;
|
|
83
|
+
if (+mapValue == eValue) {
|
|
84
|
+
return option.appliedValue;
|
|
85
|
+
}
|
|
86
|
+
var mapSplit = mapValue.split("-");
|
|
87
|
+
if (mapSplit.length == 2) {
|
|
88
|
+
var min = mapSplit[0];
|
|
89
|
+
var max = mapSplit[1];
|
|
90
|
+
if (min != "") {
|
|
91
|
+
if (eValue < +min) {
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
if (max != "") {
|
|
96
|
+
if (eValue > +max) {
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
if (min == "" && max == "") {
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
return option.appliedValue;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
Calculator.GetMappingValue = GetMappingValue;
|
|
109
|
+
function GetGradientValue(value, entity) {
|
|
110
|
+
var attrPath = path_utils_1.PathUtils.Parse(value.field);
|
|
111
|
+
var eValue = entity_1.Entity.GetValue(entity, attrPath);
|
|
112
|
+
eValue = Math.min(Math.max(eValue, value.min), value.max);
|
|
113
|
+
if (eValue < value.points[0].position) {
|
|
114
|
+
return color_1.Color.ColorFromStr(value.points[0].color);
|
|
115
|
+
}
|
|
116
|
+
for (var i = 0; i < value.points.length - 1; i++) {
|
|
117
|
+
var pointA = value.points[i];
|
|
118
|
+
var pointB = value.points[i + 1];
|
|
119
|
+
if (eValue >= pointA.position && eValue <= pointB.position) {
|
|
120
|
+
if (pointA.position == pointB.position) {
|
|
121
|
+
return color_1.Color.ColorFromStr(pointA.color);
|
|
122
|
+
}
|
|
123
|
+
var distance = (eValue - pointA.position) / (pointB.position - pointA.position);
|
|
124
|
+
var colorA = color_1.Color.ColorFromStr(pointA.color);
|
|
125
|
+
var colorB = color_1.Color.ColorFromStr(pointB.color);
|
|
126
|
+
return {
|
|
127
|
+
red: colorA.red + (colorB.red - colorA.red) * distance,
|
|
128
|
+
green: colorA.green + (colorB.green - colorA.green) * distance,
|
|
129
|
+
blue: colorA.blue + (colorB.blue - colorA.blue) * distance,
|
|
130
|
+
alpha: colorA.alpha + (colorB.alpha - colorA.alpha) * distance
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return color_1.Color.ColorFromStr(value.points[value.points.length - 1].color);
|
|
135
|
+
}
|
|
136
|
+
Calculator.GetGradientValue = GetGradientValue;
|
|
137
|
+
function GetInputValue(value, entity) {
|
|
138
|
+
if (typeof value == "string") {
|
|
139
|
+
try {
|
|
140
|
+
value = bruce_variable_1.BruceVariable.SwapValues(value, entity);
|
|
141
|
+
var eval2 = eval; // https://rollupjs.org/guide/en/#avoiding-eval
|
|
142
|
+
return eval2(value);
|
|
143
|
+
}
|
|
144
|
+
catch (exception) {
|
|
145
|
+
var e = exception;
|
|
146
|
+
var suppress = false;
|
|
147
|
+
if (e && typeof e == "object") {
|
|
148
|
+
var msg = e.message;
|
|
149
|
+
suppress = !!msg && msg.includes("Unexpected end");
|
|
150
|
+
}
|
|
151
|
+
if (!suppress) {
|
|
152
|
+
console.error(e);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return value;
|
|
157
|
+
}
|
|
158
|
+
Calculator.GetInputValue = GetInputValue;
|
|
159
|
+
})(Calculator = exports.Calculator || (exports.Calculator = {}));
|
|
159
160
|
//# sourceMappingURL=calculator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculator.js","sourceRoot":"","sources":["../../../src/calculator/calculator.ts"],"names":[],"mappings":";;;AAAA,yCAAwC;AACxC,2CAA0C;AAC1C,2DAAyD;AACzD,iDAA+C;AAE/C;;;GAGG;AACH,IAAiB,UAAU,
|
|
1
|
+
{"version":3,"file":"calculator.js","sourceRoot":"","sources":["../../../src/calculator/calculator.ts"],"names":[],"mappings":"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"}
|