bruce-models 0.6.4 → 0.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/README.md +0 -0
  2. package/dist/bruce-models.es5.js +13 -3
  3. package/dist/bruce-models.es5.js.map +1 -1
  4. package/dist/bruce-models.umd.js +13 -3
  5. package/dist/bruce-models.umd.js.map +1 -1
  6. package/dist/lib/account/account.js +240 -230
  7. package/dist/lib/account/account.js.map +1 -1
  8. package/dist/lib/ann-document/ann-document.js +116 -116
  9. package/dist/lib/ann-document/ann-document.js.map +0 -0
  10. package/dist/lib/api/abstract-api.js +267 -267
  11. package/dist/lib/api/abstract-api.js.map +0 -0
  12. package/dist/lib/api/api.js +85 -85
  13. package/dist/lib/api/api.js.map +0 -0
  14. package/dist/lib/api/bruce-api.js +140 -140
  15. package/dist/lib/api/bruce-api.js.map +0 -0
  16. package/dist/lib/api/cam-api.js +132 -132
  17. package/dist/lib/api/cam-api.js.map +0 -0
  18. package/dist/lib/api/global-api.js +131 -131
  19. package/dist/lib/api/global-api.js.map +0 -0
  20. package/dist/lib/api/idm-api.js +132 -132
  21. package/dist/lib/api/idm-api.js.map +0 -0
  22. package/dist/lib/bruce-models.js +78 -78
  23. package/dist/lib/bruce-models.js.map +0 -0
  24. package/dist/lib/calculator/calculator.js +158 -158
  25. package/dist/lib/calculator/calculator.js.map +0 -0
  26. package/dist/lib/client-file/client-file.js +185 -185
  27. package/dist/lib/client-file/client-file.js.map +0 -0
  28. package/dist/lib/common/bounds.js +2 -2
  29. package/dist/lib/common/bounds.js.map +0 -0
  30. package/dist/lib/common/bruce-event.js +48 -48
  31. package/dist/lib/common/bruce-event.js.map +0 -0
  32. package/dist/lib/common/bruce-variable.js +54 -54
  33. package/dist/lib/common/bruce-variable.js.map +0 -0
  34. package/dist/lib/common/cache.js +86 -86
  35. package/dist/lib/common/cache.js.map +0 -0
  36. package/dist/lib/common/camera.js +11 -11
  37. package/dist/lib/common/camera.js.map +0 -0
  38. package/dist/lib/common/cartes.js +55 -55
  39. package/dist/lib/common/cartes.js.map +0 -0
  40. package/dist/lib/common/carto.js +60 -60
  41. package/dist/lib/common/carto.js.map +0 -0
  42. package/dist/lib/common/color.js +86 -86
  43. package/dist/lib/common/color.js.map +0 -0
  44. package/dist/lib/common/delay-queue.js +60 -60
  45. package/dist/lib/common/delay-queue.js.map +0 -0
  46. package/dist/lib/common/dictionary.js +2 -2
  47. package/dist/lib/common/dictionary.js.map +0 -0
  48. package/dist/lib/common/geometry.js +120 -120
  49. package/dist/lib/common/geometry.js.map +0 -0
  50. package/dist/lib/common/transform.js +2 -2
  51. package/dist/lib/common/transform.js.map +0 -0
  52. package/dist/lib/common/utc.js +39 -39
  53. package/dist/lib/common/utc.js.map +0 -0
  54. package/dist/lib/custom-form/custom-form.js +136 -136
  55. package/dist/lib/custom-form/custom-form.js.map +0 -0
  56. package/dist/lib/data-lab/data-lab.js +90 -90
  57. package/dist/lib/data-lab/data-lab.js.map +0 -0
  58. package/dist/lib/entity/entity-attachment-type.js +132 -132
  59. package/dist/lib/entity/entity-attachment-type.js.map +0 -0
  60. package/dist/lib/entity/entity-attachment.js +208 -208
  61. package/dist/lib/entity/entity-attachment.js.map +0 -0
  62. package/dist/lib/entity/entity-comment.js +132 -132
  63. package/dist/lib/entity/entity-comment.js.map +0 -0
  64. package/dist/lib/entity/entity-link.js +132 -132
  65. package/dist/lib/entity/entity-link.js.map +0 -0
  66. package/dist/lib/entity/entity-lod.js +189 -189
  67. package/dist/lib/entity/entity-lod.js.map +1 -1
  68. package/dist/lib/entity/entity-relation-type.js +150 -150
  69. package/dist/lib/entity/entity-relation-type.js.map +0 -0
  70. package/dist/lib/entity/entity-relation.js +189 -189
  71. package/dist/lib/entity/entity-relation.js.map +0 -0
  72. package/dist/lib/entity/entity-source.js +176 -176
  73. package/dist/lib/entity/entity-source.js.map +0 -0
  74. package/dist/lib/entity/entity-tag.js +229 -229
  75. package/dist/lib/entity/entity-tag.js.map +0 -0
  76. package/dist/lib/entity/entity-type.js +163 -163
  77. package/dist/lib/entity/entity-type.js.map +0 -0
  78. package/dist/lib/entity/entity.js +349 -349
  79. package/dist/lib/entity/entity.js.map +0 -0
  80. package/dist/lib/entity/getters/batched-data-getter.js +91 -91
  81. package/dist/lib/entity/getters/batched-data-getter.js.map +0 -0
  82. package/dist/lib/entity/getters/entity-filter-getter.js +344 -344
  83. package/dist/lib/entity/getters/entity-filter-getter.js.map +0 -0
  84. package/dist/lib/entity/getters/entity-globe.js +135 -135
  85. package/dist/lib/entity/getters/entity-globe.js.map +0 -0
  86. package/dist/lib/entity/getters/view-monitor.js +2 -2
  87. package/dist/lib/entity/getters/view-monitor.js.map +0 -0
  88. package/dist/lib/import/imported-file.js +121 -121
  89. package/dist/lib/import/imported-file.js.map +0 -0
  90. package/dist/lib/markup/markup.js +40 -40
  91. package/dist/lib/markup/markup.js.map +0 -0
  92. package/dist/lib/program-key/program-key.js +152 -152
  93. package/dist/lib/program-key/program-key.js.map +0 -0
  94. package/dist/lib/project/menu-item.js +115 -115
  95. package/dist/lib/project/menu-item.js.map +0 -0
  96. package/dist/lib/project/project-view-bookmark.js +172 -172
  97. package/dist/lib/project/project-view-bookmark.js.map +0 -0
  98. package/dist/lib/project/project-view-tile-source.js +115 -115
  99. package/dist/lib/project/project-view-tile-source.js.map +0 -0
  100. package/dist/lib/project/project-view.js +166 -166
  101. package/dist/lib/project/project-view.js.map +0 -0
  102. package/dist/lib/project/zoom-control.js +17 -17
  103. package/dist/lib/project/zoom-control.js.map +0 -0
  104. package/dist/lib/server/pending-action.js +106 -106
  105. package/dist/lib/server/pending-action.js.map +0 -0
  106. package/dist/lib/server/task.js +113 -113
  107. package/dist/lib/server/task.js.map +0 -0
  108. package/dist/lib/style/style.js +152 -152
  109. package/dist/lib/style/style.js.map +0 -0
  110. package/dist/lib/tileset/tileset-cad.js +2 -2
  111. package/dist/lib/tileset/tileset-cad.js.map +0 -0
  112. package/dist/lib/tileset/tileset-entities-map-tiles.js +18 -18
  113. package/dist/lib/tileset/tileset-entities-map-tiles.js.map +0 -0
  114. package/dist/lib/tileset/tileset-entities.js +2 -2
  115. package/dist/lib/tileset/tileset-entities.js.map +0 -0
  116. package/dist/lib/tileset/tileset-ext-map-tiles.js +17 -17
  117. package/dist/lib/tileset/tileset-ext-map-tiles.js.map +0 -0
  118. package/dist/lib/tileset/tileset-ext-terrain-tiles.js +2 -2
  119. package/dist/lib/tileset/tileset-ext-terrain-tiles.js.map +0 -0
  120. package/dist/lib/tileset/tileset-map-tiles.js +2 -2
  121. package/dist/lib/tileset/tileset-map-tiles.js.map +0 -0
  122. package/dist/lib/tileset/tileset-pointcloud.js +2 -2
  123. package/dist/lib/tileset/tileset-pointcloud.js.map +0 -0
  124. package/dist/lib/tileset/tileset-terrain-tiles.js +2 -2
  125. package/dist/lib/tileset/tileset-terrain-tiles.js.map +0 -0
  126. package/dist/lib/tileset/tileset.js +397 -397
  127. package/dist/lib/tileset/tileset.js.map +0 -0
  128. package/dist/lib/ucs/ucs.js +135 -135
  129. package/dist/lib/ucs/ucs.js.map +0 -0
  130. package/dist/lib/user/permission.js +20 -20
  131. package/dist/lib/user/permission.js.map +0 -0
  132. package/dist/lib/user/session.js +160 -160
  133. package/dist/lib/user/session.js.map +0 -0
  134. package/dist/lib/user/user-group.js +139 -139
  135. package/dist/lib/user/user-group.js.map +0 -0
  136. package/dist/lib/user/user.js +451 -451
  137. package/dist/lib/user/user.js.map +0 -0
  138. package/dist/lib/util/encrypt-utils.js +20 -20
  139. package/dist/lib/util/encrypt-utils.js.map +0 -0
  140. package/dist/lib/util/math-utils.js +41 -41
  141. package/dist/lib/util/math-utils.js.map +0 -0
  142. package/dist/lib/util/object-utils.js +17 -17
  143. package/dist/lib/util/object-utils.js.map +0 -0
  144. package/dist/lib/util/path-utils.js +61 -61
  145. package/dist/lib/util/path-utils.js.map +0 -0
  146. package/dist/lib/util/url-utils.js +107 -107
  147. package/dist/lib/util/url-utils.js.map +0 -0
  148. package/dist/types/account/account.d.ts +6 -1
  149. package/dist/types/ann-document/ann-document.d.ts +0 -0
  150. package/dist/types/api/abstract-api.d.ts +0 -0
  151. package/dist/types/api/api.d.ts +0 -0
  152. package/dist/types/api/bruce-api.d.ts +0 -0
  153. package/dist/types/api/cam-api.d.ts +0 -0
  154. package/dist/types/api/global-api.d.ts +0 -0
  155. package/dist/types/api/idm-api.d.ts +0 -0
  156. package/dist/types/bruce-models.d.ts +0 -0
  157. package/dist/types/calculator/calculator.d.ts +0 -0
  158. package/dist/types/client-file/client-file.d.ts +0 -0
  159. package/dist/types/common/bounds.d.ts +0 -0
  160. package/dist/types/common/bruce-event.d.ts +0 -0
  161. package/dist/types/common/bruce-variable.d.ts +0 -0
  162. package/dist/types/common/cache.d.ts +0 -0
  163. package/dist/types/common/camera.d.ts +0 -0
  164. package/dist/types/common/cartes.d.ts +0 -0
  165. package/dist/types/common/carto.d.ts +0 -0
  166. package/dist/types/common/color.d.ts +0 -0
  167. package/dist/types/common/delay-queue.d.ts +0 -0
  168. package/dist/types/common/dictionary.d.ts +0 -0
  169. package/dist/types/common/geometry.d.ts +0 -0
  170. package/dist/types/common/transform.d.ts +0 -0
  171. package/dist/types/common/utc.d.ts +0 -0
  172. package/dist/types/custom-form/custom-form.d.ts +0 -0
  173. package/dist/types/data-lab/data-lab.d.ts +0 -0
  174. package/dist/types/entity/entity-attachment-type.d.ts +0 -0
  175. package/dist/types/entity/entity-attachment.d.ts +0 -0
  176. package/dist/types/entity/entity-comment.d.ts +0 -0
  177. package/dist/types/entity/entity-link.d.ts +0 -0
  178. package/dist/types/entity/entity-lod.d.ts +0 -0
  179. package/dist/types/entity/entity-relation-type.d.ts +0 -0
  180. package/dist/types/entity/entity-relation.d.ts +0 -0
  181. package/dist/types/entity/entity-source.d.ts +0 -0
  182. package/dist/types/entity/entity-tag.d.ts +0 -0
  183. package/dist/types/entity/entity-type.d.ts +0 -0
  184. package/dist/types/entity/entity.d.ts +0 -0
  185. package/dist/types/entity/getters/batched-data-getter.d.ts +0 -0
  186. package/dist/types/entity/getters/entity-filter-getter.d.ts +0 -0
  187. package/dist/types/entity/getters/entity-globe.d.ts +0 -0
  188. package/dist/types/entity/getters/view-monitor.d.ts +0 -0
  189. package/dist/types/import/imported-file.d.ts +0 -0
  190. package/dist/types/markup/markup.d.ts +0 -0
  191. package/dist/types/program-key/program-key.d.ts +0 -0
  192. package/dist/types/project/menu-item.d.ts +0 -0
  193. package/dist/types/project/project-view-bookmark.d.ts +0 -0
  194. package/dist/types/project/project-view-tile-source.d.ts +0 -0
  195. package/dist/types/project/project-view.d.ts +0 -0
  196. package/dist/types/project/zoom-control.d.ts +0 -0
  197. package/dist/types/server/pending-action.d.ts +0 -0
  198. package/dist/types/server/task.d.ts +0 -0
  199. package/dist/types/style/style.d.ts +0 -0
  200. package/dist/types/tileset/tileset-cad.d.ts +0 -0
  201. package/dist/types/tileset/tileset-entities-map-tiles.d.ts +0 -0
  202. package/dist/types/tileset/tileset-entities.d.ts +0 -0
  203. package/dist/types/tileset/tileset-ext-map-tiles.d.ts +0 -0
  204. package/dist/types/tileset/tileset-ext-terrain-tiles.d.ts +0 -0
  205. package/dist/types/tileset/tileset-map-tiles.d.ts +0 -0
  206. package/dist/types/tileset/tileset-pointcloud.d.ts +0 -0
  207. package/dist/types/tileset/tileset-terrain-tiles.d.ts +0 -0
  208. package/dist/types/tileset/tileset.d.ts +0 -0
  209. package/dist/types/ucs/ucs.d.ts +0 -0
  210. package/dist/types/user/permission.d.ts +0 -0
  211. package/dist/types/user/session.d.ts +0 -0
  212. package/dist/types/user/user-group.d.ts +0 -0
  213. package/dist/types/user/user.d.ts +0 -0
  214. package/dist/types/util/encrypt-utils.d.ts +0 -0
  215. package/dist/types/util/math-utils.d.ts +0 -0
  216. package/dist/types/util/object-utils.d.ts +0 -0
  217. package/dist/types/util/path-utils.d.ts +0 -0
  218. package/dist/types/util/url-utils.d.ts +0 -0
  219. package/package.json +1 -1
@@ -1,159 +1,159 @@
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
- return eval(value);
142
- }
143
- catch (exception) {
144
- var e = exception;
145
- var suppress = false;
146
- if (e && typeof e == "object") {
147
- var msg = e.message;
148
- suppress = !!msg && msg.includes("Unexpected end");
149
- }
150
- if (!suppress) {
151
- console.error(e);
152
- }
153
- }
154
- }
155
- return value;
156
- }
157
- Calculator.GetInputValue = GetInputValue;
158
- })(Calculator = exports.Calculator || (exports.Calculator = {}));
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
+ return eval(value);
142
+ }
143
+ catch (exception) {
144
+ var e = exception;
145
+ var suppress = false;
146
+ if (e && typeof e == "object") {
147
+ var msg = e.message;
148
+ suppress = !!msg && msg.includes("Unexpected end");
149
+ }
150
+ if (!suppress) {
151
+ console.error(e);
152
+ }
153
+ }
154
+ }
155
+ return value;
156
+ }
157
+ Calculator.GetInputValue = GetInputValue;
158
+ })(Calculator = exports.Calculator || (exports.Calculator = {}));
159
159
  //# sourceMappingURL=calculator.js.map
File without changes