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,61 +1,61 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DelayQueue = void 0;
4
- /**
5
- * Controls the flow of method calls.
6
- * If you have a method that may be called often, but you don't want it to run often, use this.
7
- */
8
- var DelayQueue = /** @class */ (function () {
9
- function DelayQueue(callback, delay) {
10
- if (delay === void 0) { delay = 200; }
11
- // Millisecond delay.
12
- this.delay = 200;
13
- // Date-time stamp for the last callback call.
14
- this.lastCallTime = null;
15
- this.callback = callback;
16
- this.delay = delay;
17
- }
18
- DelayQueue.prototype.Call = function (force) {
19
- var _this = this;
20
- if (force === void 0) { force = false; }
21
- if (this.lastCallTime == null) {
22
- force = true;
23
- }
24
- if (force) {
25
- var endDate = new Date().getTime();
26
- this.doCall(endDate);
27
- }
28
- else {
29
- var endDate = new Date().getTime();
30
- var seconds = (endDate - this.lastCallTime) / 1000;
31
- var delay = this.delay / 1000;
32
- if (seconds > delay) {
33
- this.doCall(endDate);
34
- }
35
- else if (this.delayTimeout == null) {
36
- var diff = (delay - seconds) * 1000;
37
- this.delayTimeout = setTimeout(function () {
38
- _this.delayTimeout = null;
39
- _this.Call();
40
- }, diff + 0.02);
41
- }
42
- }
43
- };
44
- DelayQueue.prototype.doCall = function (endDate) {
45
- if (this.delayTimeout != null) {
46
- clearTimeout(this.delayTimeout);
47
- this.delayTimeout = null;
48
- }
49
- this.lastCallTime = endDate;
50
- this.callback();
51
- };
52
- DelayQueue.prototype.Dispose = function () {
53
- if (this.delayTimeout != null) {
54
- clearTimeout(this.delayTimeout);
55
- this.delayTimeout = null;
56
- }
57
- };
58
- return DelayQueue;
59
- }());
60
- exports.DelayQueue = DelayQueue;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DelayQueue = void 0;
4
+ /**
5
+ * Controls the flow of method calls.
6
+ * If you have a method that may be called often, but you don't want it to run often, use this.
7
+ */
8
+ var DelayQueue = /** @class */ (function () {
9
+ function DelayQueue(callback, delay) {
10
+ if (delay === void 0) { delay = 200; }
11
+ // Millisecond delay.
12
+ this.delay = 200;
13
+ // Date-time stamp for the last callback call.
14
+ this.lastCallTime = null;
15
+ this.callback = callback;
16
+ this.delay = delay;
17
+ }
18
+ DelayQueue.prototype.Call = function (force) {
19
+ var _this = this;
20
+ if (force === void 0) { force = false; }
21
+ if (this.lastCallTime == null) {
22
+ force = true;
23
+ }
24
+ if (force) {
25
+ var endDate = new Date().getTime();
26
+ this.doCall(endDate);
27
+ }
28
+ else {
29
+ var endDate = new Date().getTime();
30
+ var seconds = (endDate - this.lastCallTime) / 1000;
31
+ var delay = this.delay / 1000;
32
+ if (seconds > delay) {
33
+ this.doCall(endDate);
34
+ }
35
+ else if (this.delayTimeout == null) {
36
+ var diff = (delay - seconds) * 1000;
37
+ this.delayTimeout = setTimeout(function () {
38
+ _this.delayTimeout = null;
39
+ _this.Call();
40
+ }, diff + 0.02);
41
+ }
42
+ }
43
+ };
44
+ DelayQueue.prototype.doCall = function (endDate) {
45
+ if (this.delayTimeout != null) {
46
+ clearTimeout(this.delayTimeout);
47
+ this.delayTimeout = null;
48
+ }
49
+ this.lastCallTime = endDate;
50
+ this.callback();
51
+ };
52
+ DelayQueue.prototype.Dispose = function () {
53
+ if (this.delayTimeout != null) {
54
+ clearTimeout(this.delayTimeout);
55
+ this.delayTimeout = null;
56
+ }
57
+ };
58
+ return DelayQueue;
59
+ }());
60
+ exports.DelayQueue = DelayQueue;
61
61
  //# sourceMappingURL=delay-queue.js.map
File without changes
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=dictionary.js.map
File without changes
@@ -1,121 +1,121 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Geometry = void 0;
4
- /**
5
- * Describes vector geometry that Bruce uses.
6
- */
7
- var Geometry;
8
- (function (Geometry) {
9
- var EPolygonRingType;
10
- (function (EPolygonRingType) {
11
- EPolygonRingType["Boundaries"] = "out";
12
- EPolygonRingType["Hole"] = "in";
13
- })(EPolygonRingType = Geometry.EPolygonRingType || (Geometry.EPolygonRingType = {}));
14
- /**
15
- * Turns an array of points into string vector geometry that Bruce can use.
16
- * This is used for saving polyline and polygon data.
17
- * @param points
18
- * @returns
19
- */
20
- function LineStrFromPoints(points) {
21
- if (!points.length) {
22
- throw ("points is empty.");
23
- }
24
- var carto = points[0];
25
- var lineString = carto.longitude + "," + carto.latitude + (carto.altitude != null ? "," + carto.altitude : "");
26
- for (var i = 1; i < points.length; i++) {
27
- carto = points[i];
28
- lineString += " " + carto.longitude + "," + carto.latitude + (carto.altitude != null ? "," + carto.altitude : "");
29
- }
30
- return lineString;
31
- }
32
- Geometry.LineStrFromPoints = LineStrFromPoints;
33
- /**
34
- * Removes same points that occur in a row.
35
- * This will not modify the original array.
36
- * @param positions
37
- * @returns
38
- */
39
- function RemoveRepeatPoints(positions) {
40
- var filteredList = [];
41
- for (var i = 0; i < positions.length; i++) {
42
- var pos = positions[i];
43
- var lastPos = filteredList.length > 0 ? filteredList[filteredList.length - 1] : null;
44
- if (!lastPos || (pos.latitude != lastPos.latitude || pos.longitude != lastPos.longitude || pos.altitude != lastPos.altitude)) {
45
- filteredList.push(pos);
46
- }
47
- }
48
- return filteredList;
49
- }
50
- Geometry.RemoveRepeatPoints = RemoveRepeatPoints;
51
- function ParsePoints(data) {
52
- data = data.replace(/[^\d.,-\s]/g, "");
53
- var splitterCoordinates = " ";
54
- var splitterAxis = ",";
55
- var commaIndex = data.indexOf(",");
56
- var spaceIndex = data.indexOf(" ");
57
- if ((spaceIndex > -1 && commaIndex > spaceIndex) || commaIndex <= -1) {
58
- splitterCoordinates = ",";
59
- splitterAxis = " ";
60
- }
61
- var points = data.trim().split(splitterCoordinates);
62
- points = points.filter(function (a) { return a != ""; });
63
- var result = [];
64
- for (var i = 0; i < points.length; i++) {
65
- var pointData = points[i];
66
- var coords = pointData.trim().split(splitterAxis);
67
- if (coords.length == 2 || coords.length == 3) {
68
- var longitude = +coords[0];
69
- var latitude = +coords[1];
70
- var altitude = coords.length >= 3 ? +coords[2] : 0;
71
- if (longitude != null && latitude != null) {
72
- result.push({
73
- altitude: altitude,
74
- latitude: latitude,
75
- longitude: longitude
76
- });
77
- }
78
- else {
79
- console.warn("Invalid point data detected.", pointData);
80
- }
81
- }
82
- }
83
- return result;
84
- }
85
- Geometry.ParsePoints = ParsePoints;
86
- /**
87
- * Parses both string and object Bruce geometry.
88
- * String geometry is legacy Bruce data.
89
- * @param geometry
90
- * @returns
91
- */
92
- function ParseGeometry(geometry) {
93
- if (typeof geometry == "string") {
94
- var positions = [];
95
- var geometryParsed = (geometry || "").split(";");
96
- for (var i = 0; i < geometryParsed.length; i++) {
97
- var data = geometryParsed[i];
98
- var points = ParsePoints(data);
99
- if (points && points.length > 0) {
100
- positions = positions.concat(points);
101
- }
102
- }
103
- positions = RemoveRepeatPoints(positions);
104
- var newGeometry = {};
105
- if (positions.length > 0) {
106
- var topPoint = positions[0];
107
- newGeometry.Point = topPoint.latitude + "," + topPoint.longitude + (topPoint.altitude != null ? "," + topPoint.altitude : "");
108
- if (positions.length > 1) {
109
- newGeometry.Polygon = [{ Facing: EPolygonRingType.Boundaries, LinearRing: LineStrFromPoints(positions) }];
110
- }
111
- if (positions.length > 2) {
112
- newGeometry.LineString = LineStrFromPoints(positions);
113
- }
114
- }
115
- return newGeometry;
116
- }
117
- return geometry;
118
- }
119
- Geometry.ParseGeometry = ParseGeometry;
120
- })(Geometry = exports.Geometry || (exports.Geometry = {}));
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Geometry = void 0;
4
+ /**
5
+ * Describes vector geometry that Bruce uses.
6
+ */
7
+ var Geometry;
8
+ (function (Geometry) {
9
+ var EPolygonRingType;
10
+ (function (EPolygonRingType) {
11
+ EPolygonRingType["Boundaries"] = "out";
12
+ EPolygonRingType["Hole"] = "in";
13
+ })(EPolygonRingType = Geometry.EPolygonRingType || (Geometry.EPolygonRingType = {}));
14
+ /**
15
+ * Turns an array of points into string vector geometry that Bruce can use.
16
+ * This is used for saving polyline and polygon data.
17
+ * @param points
18
+ * @returns
19
+ */
20
+ function LineStrFromPoints(points) {
21
+ if (!points.length) {
22
+ throw ("points is empty.");
23
+ }
24
+ var carto = points[0];
25
+ var lineString = carto.longitude + "," + carto.latitude + (carto.altitude != null ? "," + carto.altitude : "");
26
+ for (var i = 1; i < points.length; i++) {
27
+ carto = points[i];
28
+ lineString += " " + carto.longitude + "," + carto.latitude + (carto.altitude != null ? "," + carto.altitude : "");
29
+ }
30
+ return lineString;
31
+ }
32
+ Geometry.LineStrFromPoints = LineStrFromPoints;
33
+ /**
34
+ * Removes same points that occur in a row.
35
+ * This will not modify the original array.
36
+ * @param positions
37
+ * @returns
38
+ */
39
+ function RemoveRepeatPoints(positions) {
40
+ var filteredList = [];
41
+ for (var i = 0; i < positions.length; i++) {
42
+ var pos = positions[i];
43
+ var lastPos = filteredList.length > 0 ? filteredList[filteredList.length - 1] : null;
44
+ if (!lastPos || (pos.latitude != lastPos.latitude || pos.longitude != lastPos.longitude || pos.altitude != lastPos.altitude)) {
45
+ filteredList.push(pos);
46
+ }
47
+ }
48
+ return filteredList;
49
+ }
50
+ Geometry.RemoveRepeatPoints = RemoveRepeatPoints;
51
+ function ParsePoints(data) {
52
+ data = data.replace(/[^\d.,-\s]/g, "");
53
+ var splitterCoordinates = " ";
54
+ var splitterAxis = ",";
55
+ var commaIndex = data.indexOf(",");
56
+ var spaceIndex = data.indexOf(" ");
57
+ if ((spaceIndex > -1 && commaIndex > spaceIndex) || commaIndex <= -1) {
58
+ splitterCoordinates = ",";
59
+ splitterAxis = " ";
60
+ }
61
+ var points = data.trim().split(splitterCoordinates);
62
+ points = points.filter(function (a) { return a != ""; });
63
+ var result = [];
64
+ for (var i = 0; i < points.length; i++) {
65
+ var pointData = points[i];
66
+ var coords = pointData.trim().split(splitterAxis);
67
+ if (coords.length == 2 || coords.length == 3) {
68
+ var longitude = +coords[0];
69
+ var latitude = +coords[1];
70
+ var altitude = coords.length >= 3 ? +coords[2] : 0;
71
+ if (longitude != null && latitude != null) {
72
+ result.push({
73
+ altitude: altitude,
74
+ latitude: latitude,
75
+ longitude: longitude
76
+ });
77
+ }
78
+ else {
79
+ console.warn("Invalid point data detected.", pointData);
80
+ }
81
+ }
82
+ }
83
+ return result;
84
+ }
85
+ Geometry.ParsePoints = ParsePoints;
86
+ /**
87
+ * Parses both string and object Bruce geometry.
88
+ * String geometry is legacy Bruce data.
89
+ * @param geometry
90
+ * @returns
91
+ */
92
+ function ParseGeometry(geometry) {
93
+ if (typeof geometry == "string") {
94
+ var positions = [];
95
+ var geometryParsed = (geometry || "").split(";");
96
+ for (var i = 0; i < geometryParsed.length; i++) {
97
+ var data = geometryParsed[i];
98
+ var points = ParsePoints(data);
99
+ if (points && points.length > 0) {
100
+ positions = positions.concat(points);
101
+ }
102
+ }
103
+ positions = RemoveRepeatPoints(positions);
104
+ var newGeometry = {};
105
+ if (positions.length > 0) {
106
+ var topPoint = positions[0];
107
+ newGeometry.Point = topPoint.latitude + "," + topPoint.longitude + (topPoint.altitude != null ? "," + topPoint.altitude : "");
108
+ if (positions.length > 1) {
109
+ newGeometry.Polygon = [{ Facing: EPolygonRingType.Boundaries, LinearRing: LineStrFromPoints(positions) }];
110
+ }
111
+ if (positions.length > 2) {
112
+ newGeometry.LineString = LineStrFromPoints(positions);
113
+ }
114
+ }
115
+ return newGeometry;
116
+ }
117
+ return geometry;
118
+ }
119
+ Geometry.ParseGeometry = ParseGeometry;
120
+ })(Geometry = exports.Geometry || (exports.Geometry = {}));
121
121
  //# sourceMappingURL=geometry.js.map
File without changes
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=transform.js.map
File without changes
@@ -1,40 +1,40 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UTC = void 0;
4
- /**
5
- * Describes a Bruce stored date.
6
- */
7
- var UTC;
8
- (function (UTC) {
9
- var EMonth;
10
- (function (EMonth) {
11
- EMonth[EMonth["January"] = 1] = "January";
12
- EMonth[EMonth["February"] = 2] = "February";
13
- EMonth[EMonth["March"] = 3] = "March";
14
- EMonth[EMonth["April"] = 4] = "April";
15
- EMonth[EMonth["May"] = 5] = "May";
16
- EMonth[EMonth["June"] = 6] = "June";
17
- EMonth[EMonth["July"] = 7] = "July";
18
- EMonth[EMonth["August"] = 8] = "August";
19
- EMonth[EMonth["September"] = 9] = "September";
20
- EMonth[EMonth["October"] = 10] = "October";
21
- EMonth[EMonth["November"] = 11] = "November";
22
- EMonth[EMonth["December"] = 12] = "December";
23
- })(EMonth = UTC.EMonth || (UTC.EMonth = {}));
24
- function ToDate(utc) {
25
- return new Date(utc.y, utc.m - 1, utc.d, utc.hh, utc.mm, utc.ss, 0);
26
- }
27
- UTC.ToDate = ToDate;
28
- function FromDate(date) {
29
- return {
30
- y: date.getUTCFullYear(),
31
- m: date.getUTCMonth() + 1,
32
- d: date.getUTCDate(),
33
- hh: date.getUTCHours(),
34
- mm: date.getUTCMinutes(),
35
- ss: date.getUTCSeconds()
36
- };
37
- }
38
- UTC.FromDate = FromDate;
39
- })(UTC = exports.UTC || (exports.UTC = {}));
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UTC = void 0;
4
+ /**
5
+ * Describes a Bruce stored date.
6
+ */
7
+ var UTC;
8
+ (function (UTC) {
9
+ var EMonth;
10
+ (function (EMonth) {
11
+ EMonth[EMonth["January"] = 1] = "January";
12
+ EMonth[EMonth["February"] = 2] = "February";
13
+ EMonth[EMonth["March"] = 3] = "March";
14
+ EMonth[EMonth["April"] = 4] = "April";
15
+ EMonth[EMonth["May"] = 5] = "May";
16
+ EMonth[EMonth["June"] = 6] = "June";
17
+ EMonth[EMonth["July"] = 7] = "July";
18
+ EMonth[EMonth["August"] = 8] = "August";
19
+ EMonth[EMonth["September"] = 9] = "September";
20
+ EMonth[EMonth["October"] = 10] = "October";
21
+ EMonth[EMonth["November"] = 11] = "November";
22
+ EMonth[EMonth["December"] = 12] = "December";
23
+ })(EMonth = UTC.EMonth || (UTC.EMonth = {}));
24
+ function ToDate(utc) {
25
+ return new Date(utc.y, utc.m - 1, utc.d, utc.hh, utc.mm, utc.ss, 0);
26
+ }
27
+ UTC.ToDate = ToDate;
28
+ function FromDate(date) {
29
+ return {
30
+ y: date.getUTCFullYear(),
31
+ m: date.getUTCMonth() + 1,
32
+ d: date.getUTCDate(),
33
+ hh: date.getUTCHours(),
34
+ mm: date.getUTCMinutes(),
35
+ ss: date.getUTCSeconds()
36
+ };
37
+ }
38
+ UTC.FromDate = FromDate;
39
+ })(UTC = exports.UTC || (exports.UTC = {}));
40
40
  //# sourceMappingURL=utc.js.map
File without changes