@realsee/dnalogel 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/dist/CSS3DRenderPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  2. package/dist/CameraMovementPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  3. package/dist/CruisePlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  4. package/dist/CruisePlugin/index.js +188 -5
  5. package/dist/GuideLinePlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  6. package/dist/GuideLinePlugin/index.js +188 -5
  7. package/dist/ItemLabelPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  8. package/dist/ItemLabelPlugin/index.js +2 -2
  9. package/dist/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  10. package/dist/ModelChassisCompassPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  11. package/dist/ModelEntryDoorGuidePlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  12. package/dist/ModelItemLabelPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  13. package/dist/ModelItemLabelPlugin/index.js +2 -2
  14. package/dist/ModelRoomLabelPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  15. package/dist/ModelRoomLabelPlugin/index.js +2 -2
  16. package/dist/ModelTVVideoPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  17. package/dist/ModelViewPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  18. package/dist/PanoCompassPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  19. package/dist/PanoCursorRaycasterPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  20. package/dist/PanoDoorLabelPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  21. package/dist/PanoDoorLabelPlugin/index.js +1 -1
  22. package/dist/PanoMeasurePlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  23. package/dist/PanoRulerPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  24. package/dist/PanoRulerProPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  25. package/dist/PanoRulerProPlugin/index.js +2 -2
  26. package/dist/PanoSpatialTagPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  27. package/dist/PanoSpatialTagPlugin/index.js +2 -2
  28. package/dist/floorplan/MapviewFloorplanPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  29. package/dist/floorplan/MapviewFloorplanPlugin/index.js +17 -17
  30. package/dist/floorplan/ModelFloorplanPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  31. package/dist/floorplan/ModelFloorplanPlugin/index.js +17 -17
  32. package/dist/floorplan/PanoFloorplanRadarPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  33. package/dist/floorplan/PanoFloorplanRadarPlugin/index.js +9 -9
  34. package/dist/floorplan/TopviewFloorplanPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  35. package/dist/floorplan/TopviewFloorplanPlugin/index.js +17 -17
  36. package/dist/index.es.js +220 -34
  37. package/dist/index.js +220 -35
  38. package/dist/index.umd.js +224 -38
  39. package/docs/classes/CruisePluginController.html +1 -1
  40. package/docs/classes/Magnifier.html +1 -1
  41. package/docs/classes/ModelRoomLabelController.html +1 -1
  42. package/docs/enums/CameraMovementEffect.html +1 -1
  43. package/docs/enums/DIRECTION.html +1 -1
  44. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +1 -1
  45. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +1 -1
  46. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +1 -1
  47. package/docs/enums/Rotation.html +1 -1
  48. package/docs/index.html +1 -1
  49. package/docs/interfaces/CSS3DRenderPluginExportType.html +1 -1
  50. package/docs/interfaces/CameraMovementPluginExportType.html +1 -1
  51. package/docs/interfaces/FloorplanBounding.html +1 -1
  52. package/docs/interfaces/FloorplanData.html +1 -1
  53. package/docs/interfaces/FloorplanEntrance.html +1 -1
  54. package/docs/interfaces/FloorplanExtraObject.html +1 -1
  55. package/docs/interfaces/FloorplanExtraObject3D.html +1 -1
  56. package/docs/interfaces/FloorplanFloorData.html +1 -1
  57. package/docs/interfaces/FloorplanImagePosition.html +1 -1
  58. package/docs/interfaces/FloorplanObserver.html +1 -1
  59. package/docs/interfaces/FloorplanOutlineItem.html +1 -1
  60. package/docs/interfaces/FloorplanPosition.html +1 -1
  61. package/docs/interfaces/FloorplanRoomItem.html +1 -1
  62. package/docs/interfaces/FloorplanRoomLabelItem.html +1 -1
  63. package/docs/interfaces/FloorplanServerBounding.html +1 -1
  64. package/docs/interfaces/FloorplanServerComputedData.html +1 -1
  65. package/docs/interfaces/FloorplanServerData.html +1 -1
  66. package/docs/interfaces/FloorplanServerDoorItem.html +1 -1
  67. package/docs/interfaces/FloorplanServerDoorPosition.html +1 -1
  68. package/docs/interfaces/FloorplanServerEntrance.html +1 -1
  69. package/docs/interfaces/FloorplanServerFloorData.html +1 -1
  70. package/docs/interfaces/FloorplanServerImagePosition.html +1 -1
  71. package/docs/interfaces/FloorplanServerObserver.html +1 -1
  72. package/docs/interfaces/FloorplanServerOutlineItem.html +1 -1
  73. package/docs/interfaces/FloorplanServerPosition.html +1 -1
  74. package/docs/interfaces/FloorplanServerRoomItem.html +1 -1
  75. package/docs/interfaces/FloorplanServerRoomLabelItem.html +1 -1
  76. package/docs/interfaces/ItemLabelPluginData.html +1 -1
  77. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +1 -1
  78. package/docs/interfaces/ItemLabelPluginParametersType.html +1 -1
  79. package/docs/interfaces/LineJson.html +1 -1
  80. package/docs/interfaces/ModelChassisCompassPluginData.html +1 -1
  81. package/docs/interfaces/ModelChassisCompassPluginExportType.html +1 -1
  82. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +1 -1
  83. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +1 -1
  84. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +1 -1
  85. package/docs/interfaces/ModelItemLabelPluginData.html +1 -1
  86. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +1 -1
  87. package/docs/interfaces/ModelItemLabelPluginParametersType.html +1 -1
  88. package/docs/interfaces/ModelRoomLabelPluginData.html +1 -1
  89. package/docs/interfaces/ModelTVVideoPluginData.html +1 -1
  90. package/docs/interfaces/ModelTVVideoPluginExportType.html +1 -1
  91. package/docs/interfaces/ModelTVVideoPluginParameterType.html +1 -1
  92. package/docs/interfaces/ModelViewPluginExportType.html +1 -1
  93. package/docs/interfaces/OpenParameter.html +1 -1
  94. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +1 -1
  95. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -1
  96. package/docs/interfaces/PanoMeasureParameterType.html +1 -1
  97. package/docs/interfaces/PanoRulerPluginExportType.html +1 -1
  98. package/docs/interfaces/PanoRulerPluginOptions.html +1 -1
  99. package/docs/interfaces/PanoRulerPluginParameterType.html +1 -1
  100. package/docs/interfaces/PanoRulerProPluginExportType.html +1 -1
  101. package/docs/interfaces/PanoRulerProPluginOptions.html +1 -1
  102. package/docs/interfaces/PanoRulerProPluginParameterType.html +1 -1
  103. package/docs/interfaces/PanoRulerProPluginState.html +1 -1
  104. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -1
  105. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -1
  106. package/docs/interfaces/PanoSpatialTagPluginData.html +1 -1
  107. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +1 -1
  108. package/docs/interfaces/PanoSpatialTagPluginExportType.html +1 -1
  109. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +1 -1
  110. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +1 -1
  111. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +1 -1
  112. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +1 -1
  113. package/docs/interfaces/Point.html +1 -1
  114. package/docs/interfaces/PointJson.html +1 -1
  115. package/docs/interfaces/Room.html +1 -1
  116. package/docs/interfaces/RoomInfo.html +1 -1
  117. package/docs/interfaces/RoomLabel.html +1 -1
  118. package/docs/interfaces/RoomRules.html +1 -1
  119. package/docs/interfaces/Rooms.html +1 -1
  120. package/docs/modules.html +1 -1
  121. package/libs/ItemLabelPlugin/ItemLabelComponent.js +1 -1
  122. package/libs/ItemLabelPlugin/ItemLabelItem.js +1 -1
  123. package/libs/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  124. package/libs/ModelItemLabelPlugin/ItemLabelComponent.js +1 -1
  125. package/libs/ModelItemLabelPlugin/ItemLabelItem.js +1 -1
  126. package/libs/ModelRoomLabelPlugin/RoomLabelItem.js +1 -1
  127. package/libs/ModelRoomLabelPlugin/RoomLabelItems.js +1 -1
  128. package/libs/PanoDoorLabelPlugin/DoorLabelItem.js +1 -1
  129. package/libs/PanoRulerProPlugin/RulerItem.js +1 -1
  130. package/libs/PanoRulerProPlugin/RulerItems.js +1 -1
  131. package/libs/PanoSpatialTagPlugin/Components/origins.js +1 -1
  132. package/libs/PanoSpatialTagPlugin/Components/tag.js +1 -1
  133. package/libs/floorplan/Components/BaseImage.js +1 -1
  134. package/libs/floorplan/Components/Camera.js +1 -1
  135. package/libs/floorplan/Components/Compass.js +1 -1
  136. package/libs/floorplan/Components/CurrentFloor.js +1 -1
  137. package/libs/floorplan/Components/Main.js +1 -1
  138. package/libs/floorplan/Components/Normalmage.js +1 -1
  139. package/libs/floorplan/Components/RoomHighlight/Room.js +1 -1
  140. package/libs/floorplan/Components/RoomHighlight/RoomHighlight.js +1 -1
  141. package/libs/floorplan/Components/RoomLabels/RoomLabel.js +1 -1
  142. package/libs/floorplan/Components/RoomLabels/RoomLabels.js +1 -1
  143. package/libs/floorplan/Components/RoomMaterials/RoomMaterial.js +1 -1
  144. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_0.js +1 -1
  145. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.js +1 -1
  146. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.js +1 -1
  147. package/libs/floorplan/Components/RuleLabels/RuleItem.js +1 -1
  148. package/libs/floorplan/Components/RuleLabels/RuleLabels.js +1 -1
  149. package/libs/floorplan/Components/SvgImage.js +1 -1
  150. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.js +1 -1
  151. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.js +1 -1
  152. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.js +1 -1
  153. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.js +1 -1
  154. package/package.json +1 -1
@@ -1,6 +1,8 @@
1
1
  import * as THREE from 'three';
2
2
  import type { Five } from "@realsee/five";
3
+ declare const Vector3: typeof THREE.Vector3;
3
4
  /**
4
5
  * 碰撞检测可见性
5
6
  * */
6
7
  export declare const isImpacted: (five: Five, sourceVector: THREE.Vector3, targetVector: THREE.Vector3, distance: number) => boolean;
8
+ export {};
@@ -1,6 +1,8 @@
1
1
  import * as THREE from 'three';
2
2
  import type { Five } from "@realsee/five";
3
+ declare const Vector3: typeof THREE.Vector3;
3
4
  /**
4
5
  * 碰撞检测可见性
5
6
  * */
6
7
  export declare const isImpacted: (five: Five, sourceVector: THREE.Vector3, targetVector: THREE.Vector3, distance: number) => boolean;
8
+ export {};
@@ -1,6 +1,8 @@
1
1
  import * as THREE from 'three';
2
2
  import type { Five } from "@realsee/five";
3
+ declare const Vector3: typeof THREE.Vector3;
3
4
  /**
4
5
  * 碰撞检测可见性
5
6
  * */
6
7
  export declare const isImpacted: (five: Five, sourceVector: THREE.Vector3, targetVector: THREE.Vector3, distance: number) => boolean;
8
+ export {};
@@ -4,9 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var five = require('@realsee/five');
6
6
  var THREE = require('three');
7
- var getNormals = require('polyline-normals');
8
-
9
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
7
 
11
8
  function _interopNamespace(e) {
12
9
  if (e && e.__esModule) return e;
@@ -27,7 +24,6 @@ function _interopNamespace(e) {
27
24
  }
28
25
 
29
26
  var THREE__namespace = /*#__PURE__*/_interopNamespace(THREE);
30
- var getNormals__default = /*#__PURE__*/_interopDefaultLegacy(getNormals);
31
27
 
32
28
  /**
33
29
  * plugin 的基本控制器
@@ -62,6 +58,193 @@ class Controller$2 {
62
58
  class Controller$1 extends Controller$2 {
63
59
  }
64
60
 
61
+ var polylineMiterUtil = {};
62
+
63
+ var add_1 = add$1;
64
+
65
+ /**
66
+ * Adds two vec2's
67
+ *
68
+ * @param {vec2} out the receiving vector
69
+ * @param {vec2} a the first operand
70
+ * @param {vec2} b the second operand
71
+ * @returns {vec2} out
72
+ */
73
+ function add$1(out, a, b) {
74
+ out[0] = a[0] + b[0];
75
+ out[1] = a[1] + b[1];
76
+ return out
77
+ }
78
+
79
+ var set_1 = set$1;
80
+
81
+ /**
82
+ * Set the components of a vec2 to the given values
83
+ *
84
+ * @param {vec2} out the receiving vector
85
+ * @param {Number} x X component
86
+ * @param {Number} y Y component
87
+ * @returns {vec2} out
88
+ */
89
+ function set$1(out, x, y) {
90
+ out[0] = x;
91
+ out[1] = y;
92
+ return out
93
+ }
94
+
95
+ var normalize_1 = normalize$1;
96
+
97
+ /**
98
+ * Normalize a vec2
99
+ *
100
+ * @param {vec2} out the receiving vector
101
+ * @param {vec2} a vector to normalize
102
+ * @returns {vec2} out
103
+ */
104
+ function normalize$1(out, a) {
105
+ var x = a[0],
106
+ y = a[1];
107
+ var len = x*x + y*y;
108
+ if (len > 0) {
109
+ //TODO: evaluate use of glm_invsqrt here?
110
+ len = 1 / Math.sqrt(len);
111
+ out[0] = a[0] * len;
112
+ out[1] = a[1] * len;
113
+ }
114
+ return out
115
+ }
116
+
117
+ var subtract_1 = subtract$1;
118
+
119
+ /**
120
+ * Subtracts vector b from vector a
121
+ *
122
+ * @param {vec2} out the receiving vector
123
+ * @param {vec2} a the first operand
124
+ * @param {vec2} b the second operand
125
+ * @returns {vec2} out
126
+ */
127
+ function subtract$1(out, a, b) {
128
+ out[0] = a[0] - b[0];
129
+ out[1] = a[1] - b[1];
130
+ return out
131
+ }
132
+
133
+ var dot_1 = dot$1;
134
+
135
+ /**
136
+ * Calculates the dot product of two vec2's
137
+ *
138
+ * @param {vec2} a the first operand
139
+ * @param {vec2} b the second operand
140
+ * @returns {Number} dot product of a and b
141
+ */
142
+ function dot$1(a, b) {
143
+ return a[0] * b[0] + a[1] * b[1]
144
+ }
145
+
146
+ var add = add_1;
147
+ var set = set_1;
148
+ var normalize = normalize_1;
149
+ var subtract = subtract_1;
150
+ var dot = dot_1;
151
+
152
+ var tmp = [0, 0];
153
+
154
+ polylineMiterUtil.computeMiter = function computeMiter(tangent, miter, lineA, lineB, halfThick) {
155
+ //get tangent line
156
+ add(tangent, lineA, lineB);
157
+ normalize(tangent, tangent);
158
+
159
+ //get miter as a unit vector
160
+ set(miter, -tangent[1], tangent[0]);
161
+ set(tmp, -lineA[1], lineA[0]);
162
+
163
+ //get the necessary length of our miter
164
+ return halfThick / dot(miter, tmp)
165
+ };
166
+
167
+ polylineMiterUtil.normal = function normal(out, dir) {
168
+ //get perpendicular
169
+ set(out, -dir[1], dir[0]);
170
+ return out
171
+ };
172
+
173
+ polylineMiterUtil.direction = function direction(out, a, b) {
174
+ //get unit dir of two lines
175
+ subtract(out, a, b);
176
+ normalize(out, out);
177
+ return out
178
+ };
179
+
180
+ var util = polylineMiterUtil;
181
+
182
+ var lineA = [0, 0];
183
+ var lineB = [0, 0];
184
+ var tangent = [0, 0];
185
+ var miter = [0, 0];
186
+
187
+ var polylineNormals = function(points, closed) {
188
+ var curNormal = null;
189
+ var out = [];
190
+ if (closed) {
191
+ points = points.slice();
192
+ points.push(points[0]);
193
+ }
194
+
195
+ var total = points.length;
196
+ for (var i=1; i<total; i++) {
197
+ var last = points[i-1];
198
+ var cur = points[i];
199
+ var next = i<points.length-1 ? points[i+1] : null;
200
+
201
+ util.direction(lineA, cur, last);
202
+ if (!curNormal) {
203
+ curNormal = [0, 0];
204
+ util.normal(curNormal, lineA);
205
+ }
206
+
207
+ if (i === 1) //add initial normals
208
+ addNext(out, curNormal, 1);
209
+
210
+ if (!next) { //no miter, simple segment
211
+ util.normal(curNormal, lineA); //reset normal
212
+ addNext(out, curNormal, 1);
213
+ } else { //miter with last
214
+ //get unit dir of next line
215
+ util.direction(lineB, next, cur);
216
+
217
+ //stores tangent & miter
218
+ var miterLen = util.computeMiter(tangent, miter, lineA, lineB, 1);
219
+ addNext(out, miter, miterLen);
220
+ }
221
+ }
222
+
223
+ //if the polyline is a closed loop, clean up the last normal
224
+ if (points.length > 2 && closed) {
225
+ var last2 = points[total-2];
226
+ var cur2 = points[0];
227
+ var next2 = points[1];
228
+
229
+ util.direction(lineA, cur2, last2);
230
+ util.direction(lineB, next2, cur2);
231
+ util.normal(curNormal, lineA);
232
+
233
+ var miterLen2 = util.computeMiter(tangent, miter, lineA, lineB, 1);
234
+ out[0][0] = miter.slice();
235
+ out[total-1][0] = miter.slice();
236
+ out[0][1] = miterLen2;
237
+ out[total-1][1] = miterLen2;
238
+ out.pop();
239
+ }
240
+
241
+ return out
242
+ };
243
+
244
+ function addNext(out, normal, length) {
245
+ out.push([[normal[0], normal[1]], length]);
246
+ }
247
+
65
248
  // 定义常量
66
249
  const TRIANGLE_NUMBER_OF_RECTANGLE = 2; // 每个矩形有两个三角形
67
250
  const VERTEX_NUMBER_OF_TRIANGLE = 3; // 每个三角形有三个顶点
@@ -179,7 +362,7 @@ function getLineGeometry(curvePoints, unitWidth, unitHeight) {
179
362
  const halfUnitWidth = unitWidth / 2;
180
363
  const aspect = unitHeight / unitWidth; // 纵横比 height / width
181
364
  const curvePointsLength = curvePoints.length;
182
- const normals = getNormals__default["default"](curvePoints.map((p) => [p.x, p.z])); // curvePoints:每个点切线的向量「二维」
365
+ const normals = polylineNormals(curvePoints.map((p) => [p.x, p.z])); // curvePoints:每个点切线的向量「二维」
183
366
  const rectangleNumber = curvePoints.length - 1; // 曲线上 N 个点,构成了 N - 1 个矩形
184
367
  const indexNumber = rectangleNumber * TRIANGLE_NUMBER_OF_RECTANGLE * VERTEX_NUMBER_OF_TRIANGLE;
185
368
  const verticesNumber = 2 * curvePointsLength; // 顶点数量(包含公用):每个曲线点对应两个顶点,N 个 点有 2N 个顶点
@@ -1,6 +1,8 @@
1
1
  import * as THREE from 'three';
2
2
  import type { Five } from "@realsee/five";
3
+ declare const Vector3: typeof THREE.Vector3;
3
4
  /**
4
5
  * 碰撞检测可见性
5
6
  * */
6
7
  export declare const isImpacted: (five: Five, sourceVector: THREE.Vector3, targetVector: THREE.Vector3, distance: number) => boolean;
8
+ export {};
@@ -4,9 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var five = require('@realsee/five');
6
6
  var THREE = require('three');
7
- var getNormals = require('polyline-normals');
8
-
9
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
7
 
11
8
  function _interopNamespace(e) {
12
9
  if (e && e.__esModule) return e;
@@ -27,7 +24,6 @@ function _interopNamespace(e) {
27
24
  }
28
25
 
29
26
  var THREE__namespace = /*#__PURE__*/_interopNamespace(THREE);
30
- var getNormals__default = /*#__PURE__*/_interopDefaultLegacy(getNormals);
31
27
 
32
28
  /**
33
29
  * plugin 的基本控制器
@@ -62,6 +58,193 @@ class Controller$2 {
62
58
  class Controller$1 extends Controller$2 {
63
59
  }
64
60
 
61
+ var polylineMiterUtil = {};
62
+
63
+ var add_1 = add$1;
64
+
65
+ /**
66
+ * Adds two vec2's
67
+ *
68
+ * @param {vec2} out the receiving vector
69
+ * @param {vec2} a the first operand
70
+ * @param {vec2} b the second operand
71
+ * @returns {vec2} out
72
+ */
73
+ function add$1(out, a, b) {
74
+ out[0] = a[0] + b[0];
75
+ out[1] = a[1] + b[1];
76
+ return out
77
+ }
78
+
79
+ var set_1 = set$1;
80
+
81
+ /**
82
+ * Set the components of a vec2 to the given values
83
+ *
84
+ * @param {vec2} out the receiving vector
85
+ * @param {Number} x X component
86
+ * @param {Number} y Y component
87
+ * @returns {vec2} out
88
+ */
89
+ function set$1(out, x, y) {
90
+ out[0] = x;
91
+ out[1] = y;
92
+ return out
93
+ }
94
+
95
+ var normalize_1 = normalize$1;
96
+
97
+ /**
98
+ * Normalize a vec2
99
+ *
100
+ * @param {vec2} out the receiving vector
101
+ * @param {vec2} a vector to normalize
102
+ * @returns {vec2} out
103
+ */
104
+ function normalize$1(out, a) {
105
+ var x = a[0],
106
+ y = a[1];
107
+ var len = x*x + y*y;
108
+ if (len > 0) {
109
+ //TODO: evaluate use of glm_invsqrt here?
110
+ len = 1 / Math.sqrt(len);
111
+ out[0] = a[0] * len;
112
+ out[1] = a[1] * len;
113
+ }
114
+ return out
115
+ }
116
+
117
+ var subtract_1 = subtract$1;
118
+
119
+ /**
120
+ * Subtracts vector b from vector a
121
+ *
122
+ * @param {vec2} out the receiving vector
123
+ * @param {vec2} a the first operand
124
+ * @param {vec2} b the second operand
125
+ * @returns {vec2} out
126
+ */
127
+ function subtract$1(out, a, b) {
128
+ out[0] = a[0] - b[0];
129
+ out[1] = a[1] - b[1];
130
+ return out
131
+ }
132
+
133
+ var dot_1 = dot$1;
134
+
135
+ /**
136
+ * Calculates the dot product of two vec2's
137
+ *
138
+ * @param {vec2} a the first operand
139
+ * @param {vec2} b the second operand
140
+ * @returns {Number} dot product of a and b
141
+ */
142
+ function dot$1(a, b) {
143
+ return a[0] * b[0] + a[1] * b[1]
144
+ }
145
+
146
+ var add = add_1;
147
+ var set = set_1;
148
+ var normalize = normalize_1;
149
+ var subtract = subtract_1;
150
+ var dot = dot_1;
151
+
152
+ var tmp = [0, 0];
153
+
154
+ polylineMiterUtil.computeMiter = function computeMiter(tangent, miter, lineA, lineB, halfThick) {
155
+ //get tangent line
156
+ add(tangent, lineA, lineB);
157
+ normalize(tangent, tangent);
158
+
159
+ //get miter as a unit vector
160
+ set(miter, -tangent[1], tangent[0]);
161
+ set(tmp, -lineA[1], lineA[0]);
162
+
163
+ //get the necessary length of our miter
164
+ return halfThick / dot(miter, tmp)
165
+ };
166
+
167
+ polylineMiterUtil.normal = function normal(out, dir) {
168
+ //get perpendicular
169
+ set(out, -dir[1], dir[0]);
170
+ return out
171
+ };
172
+
173
+ polylineMiterUtil.direction = function direction(out, a, b) {
174
+ //get unit dir of two lines
175
+ subtract(out, a, b);
176
+ normalize(out, out);
177
+ return out
178
+ };
179
+
180
+ var util = polylineMiterUtil;
181
+
182
+ var lineA = [0, 0];
183
+ var lineB = [0, 0];
184
+ var tangent = [0, 0];
185
+ var miter = [0, 0];
186
+
187
+ var polylineNormals = function(points, closed) {
188
+ var curNormal = null;
189
+ var out = [];
190
+ if (closed) {
191
+ points = points.slice();
192
+ points.push(points[0]);
193
+ }
194
+
195
+ var total = points.length;
196
+ for (var i=1; i<total; i++) {
197
+ var last = points[i-1];
198
+ var cur = points[i];
199
+ var next = i<points.length-1 ? points[i+1] : null;
200
+
201
+ util.direction(lineA, cur, last);
202
+ if (!curNormal) {
203
+ curNormal = [0, 0];
204
+ util.normal(curNormal, lineA);
205
+ }
206
+
207
+ if (i === 1) //add initial normals
208
+ addNext(out, curNormal, 1);
209
+
210
+ if (!next) { //no miter, simple segment
211
+ util.normal(curNormal, lineA); //reset normal
212
+ addNext(out, curNormal, 1);
213
+ } else { //miter with last
214
+ //get unit dir of next line
215
+ util.direction(lineB, next, cur);
216
+
217
+ //stores tangent & miter
218
+ var miterLen = util.computeMiter(tangent, miter, lineA, lineB, 1);
219
+ addNext(out, miter, miterLen);
220
+ }
221
+ }
222
+
223
+ //if the polyline is a closed loop, clean up the last normal
224
+ if (points.length > 2 && closed) {
225
+ var last2 = points[total-2];
226
+ var cur2 = points[0];
227
+ var next2 = points[1];
228
+
229
+ util.direction(lineA, cur2, last2);
230
+ util.direction(lineB, next2, cur2);
231
+ util.normal(curNormal, lineA);
232
+
233
+ var miterLen2 = util.computeMiter(tangent, miter, lineA, lineB, 1);
234
+ out[0][0] = miter.slice();
235
+ out[total-1][0] = miter.slice();
236
+ out[0][1] = miterLen2;
237
+ out[total-1][1] = miterLen2;
238
+ out.pop();
239
+ }
240
+
241
+ return out
242
+ };
243
+
244
+ function addNext(out, normal, length) {
245
+ out.push([[normal[0], normal[1]], length]);
246
+ }
247
+
65
248
  // 定义常量
66
249
  const TRIANGLE_NUMBER_OF_RECTANGLE = 2; // 每个矩形有两个三角形
67
250
  const VERTEX_NUMBER_OF_TRIANGLE = 3; // 每个三角形有三个顶点
@@ -179,7 +362,7 @@ function getLineGeometry(curvePoints, unitWidth, unitHeight) {
179
362
  const halfUnitWidth = unitWidth / 2;
180
363
  const aspect = unitHeight / unitWidth; // 纵横比 height / width
181
364
  const curvePointsLength = curvePoints.length;
182
- const normals = getNormals__default["default"](curvePoints.map((p) => [p.x, p.z])); // curvePoints:每个点切线的向量「二维」
365
+ const normals = polylineNormals(curvePoints.map((p) => [p.x, p.z])); // curvePoints:每个点切线的向量「二维」
183
366
  const rectangleNumber = curvePoints.length - 1; // 曲线上 N 个点,构成了 N - 1 个矩形
184
367
  const indexNumber = rectangleNumber * TRIANGLE_NUMBER_OF_RECTANGLE * VERTEX_NUMBER_OF_TRIANGLE;
185
368
  const verticesNumber = 2 * curvePointsLength; // 顶点数量(包含公用):每个曲线点对应两个顶点,N 个 点有 2N 个顶点
@@ -1,6 +1,8 @@
1
1
  import * as THREE from 'three';
2
2
  import type { Five } from "@realsee/five";
3
+ declare const Vector3: typeof THREE.Vector3;
3
4
  /**
4
5
  * 碰撞检测可见性
5
6
  * */
6
7
  export declare const isImpacted: (five: Five, sourceVector: THREE.Vector3, targetVector: THREE.Vector3, distance: number) => boolean;
8
+ export {};
@@ -39,7 +39,7 @@ exports.ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE = void 0;
39
39
  ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE["EXTRA_LARGE"] = "x-large";
40
40
  })(exports.ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE || (exports.ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE = {}));
41
41
 
42
- /* src/ItemLabelPlugin/ItemLabelItem.svelte generated by Svelte v3.49.0 */
42
+ /* src/ItemLabelPlugin/ItemLabelItem.svelte generated by Svelte v3.50.1 */
43
43
 
44
44
  function add_css$1(target) {
45
45
  internal.append_styles(target, "svelte-1mppr0a", ".item-label-item.svelte-1mppr0a.svelte-1mppr0a{position:absolute;z-index:0;transform:none;cursor:pointer;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-animation:svelte-1mppr0a-fadeIn .3s ease-in;animation:svelte-1mppr0a-fadeIn .3s ease-in}.item-label-item.fold.svelte-1mppr0a>.item-label-item__text-wrap.svelte-1mppr0a{visibility:hidden}.item-label-item.fold.svelte-1mppr0a>.item-label-item__bar.anchor.svelte-1mppr0a{visibility:hidden}.item-label-item.fold.svelte-1mppr0a>.item-label-item__bar.anchor.svelte-1mppr0a:after{visibility:visible}.item-label-item__text-wrap.svelte-1mppr0a.svelte-1mppr0a{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;padding:0.625rem 1.04167rem 0.625rem 0.625rem;position:absolute;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:24.63542rem;min-height:4.79167rem;background-image:linear-gradient(269deg, rgba(0, 0, 0, 0.50) 0%, rgba(0, 0, 0, 0.60) 49%, rgba(31, 38, 46, 0.70) 100%);border:1.5px solid rgba(255, 255, 255, .65);border-radius:0.15625rem;color:white;transform:translate(-50%, 0);display:flex;justify-content:flex-start;align-items:center;box-sizing:border-box;overflow:hidden;pointer-events:all}.item-label-item__custom.svelte-1mppr0a.svelte-1mppr0a{padding:0;max-width:unset;min-height:unset;background-image:unset;border:0;border-radius:0}.icon-wrap.svelte-1mppr0a.svelte-1mppr0a{width:3.54167rem;height:100%;display:flex;justify-content:center;align-content:center}.icon.svelte-1mppr0a.svelte-1mppr0a{width:3.54167rem;height:3.54167rem;background-repeat:no-repeat;background-size:contain;background-position:center}.item-label-text.svelte-1mppr0a.svelte-1mppr0a{margin-left:0.625rem;padding-left:0.625rem;min-height:3.54167rem;height:auto;display:flex;flex-flow:column;justify-content:space-around;align-content:flex-start;border-left:solid rgba(255, 255, 255, .2) 1px;border-top:solid rgba(255, 255, 255, .2) 0;border-right:solid rgba(255, 255, 255, .2) 0;border-bottom:solid rgba(255, 255, 255, .2) 0;pointer-events:auto}.item-model.svelte-1mppr0a.svelte-1mppr0a{white-space:nowrap;font-size:1.14583rem;font-weight:bold;line-height:1.5625rem}.item-name.svelte-1mppr0a.svelte-1mppr0a{height:auto;word-wrap:break-word;word-break:break-all;font-size:1.04167rem;line-height:1.45833rem}.item-label-item__bar.svelte-1mppr0a.svelte-1mppr0a{position:absolute;bottom:0;width:0.15625rem;background-image:linear-gradient(to bottom, white, rgba(255, 255, 255, 0));box-shadow:0 2px 0.41667rem 0 rgba(0, 0, 0, 0.20);pointer-events:none}.item-label-item__bar.anchor.svelte-1mppr0a.svelte-1mppr0a:after{content:'';position:absolute;bottom:0;width:1.25rem;height:1.25rem;background-image:url(\"//vrlab-public.ljcdn.com/common/file/web/67e7a198-28c9-47dc-879b-507bd3ae600c.png \");background-position:center;background-size:contain;transform:translate(-0.54688rem, 50%)}@-webkit-keyframes svelte-1mppr0a-fadeIn{from{opacity:0\n }to{opacity:1\n }}@keyframes svelte-1mppr0a-fadeIn{from{opacity:0\n }to{opacity:1\n }}");
@@ -403,7 +403,7 @@ function transform2RenderData(data) {
403
403
  return data.map(label => (Object.assign({ observerIndex: undefined, visible: false, isFold: false }, label)));
404
404
  }
405
405
 
406
- /* src/ItemLabelPlugin/ItemLabelComponent.svelte generated by Svelte v3.49.0 */
406
+ /* src/ItemLabelPlugin/ItemLabelComponent.svelte generated by Svelte v3.50.1 */
407
407
 
408
408
  function add_css(target) {
409
409
  internal.append_styles(target, "svelte-gk8s47", ".item-labels-container.svelte-gk8s47{width:100%;height:100%;position:relative}");
@@ -1,6 +1,8 @@
1
1
  import * as THREE from 'three';
2
2
  import type { Five } from "@realsee/five";
3
+ declare const Vector3: typeof THREE.Vector3;
3
4
  /**
4
5
  * 碰撞检测可见性
5
6
  * */
6
7
  export declare const isImpacted: (five: Five, sourceVector: THREE.Vector3, targetVector: THREE.Vector3, distance: number) => boolean;
8
+ export {};
@@ -1,6 +1,8 @@
1
1
  import * as THREE from 'three';
2
2
  import type { Five } from "@realsee/five";
3
+ declare const Vector3: typeof THREE.Vector3;
3
4
  /**
4
5
  * 碰撞检测可见性
5
6
  * */
6
7
  export declare const isImpacted: (five: Five, sourceVector: THREE.Vector3, targetVector: THREE.Vector3, distance: number) => boolean;
8
+ export {};
@@ -1,6 +1,8 @@
1
1
  import * as THREE from 'three';
2
2
  import type { Five } from "@realsee/five";
3
+ declare const Vector3: typeof THREE.Vector3;
3
4
  /**
4
5
  * 碰撞检测可见性
5
6
  * */
6
7
  export declare const isImpacted: (five: Five, sourceVector: THREE.Vector3, targetVector: THREE.Vector3, distance: number) => boolean;
8
+ export {};
@@ -1,6 +1,8 @@
1
1
  import * as THREE from 'three';
2
2
  import type { Five } from "@realsee/five";
3
+ declare const Vector3: typeof THREE.Vector3;
3
4
  /**
4
5
  * 碰撞检测可见性
5
6
  * */
6
7
  export declare const isImpacted: (five: Five, sourceVector: THREE.Vector3, targetVector: THREE.Vector3, distance: number) => boolean;
8
+ export {};
@@ -39,7 +39,7 @@ exports.DISPLAY_STRATEGY_TYPE = void 0;
39
39
  DISPLAY_STRATEGY_TYPE["EXTRA_LARGE"] = "x-large";
40
40
  })(exports.DISPLAY_STRATEGY_TYPE || (exports.DISPLAY_STRATEGY_TYPE = {}));
41
41
 
42
- /* src/ModelItemLabelPlugin/ItemLabelItem.svelte generated by Svelte v3.49.0 */
42
+ /* src/ModelItemLabelPlugin/ItemLabelItem.svelte generated by Svelte v3.50.1 */
43
43
 
44
44
  function add_css$1(target) {
45
45
  internal.append_styles(target, "svelte-n1c1kg", ".item-label-item.svelte-n1c1kg{position:absolute;z-index:0;transform:none;cursor:pointer;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:0}.item-label-item.visible.svelte-n1c1kg{opacity:1;-webkit-animation:svelte-n1c1kg-fadeIn .3s ease-in;animation:svelte-n1c1kg-fadeIn .3s ease-in}.item-label-item__text-wrap.svelte-n1c1kg::before{content:'';position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, .3);filter:blur(0.83333rem);z-index:-1}.item-label-item__text-wrap.svelte-n1c1kg{padding:0.3125rem 0.3125rem 0;position:absolute;height:1.04167rem;pointer-events:all;background-size:100% 100%;background-repeat:no-repeat;white-space:nowrap;line-height:0.52083rem;font-size:0.57292rem;font-weight:bold;color:#FFEAC0;transform:translate(-50%, 0);display:flex;justify-content:center;align-items:center}.item-label-item__text.svelte-n1c1kg{padding-bottom:0.20833rem;border-top:0 solid;border-left:0 solid;border-right:0 solid;border-bottom:1px solid;-o-border-image:linear-gradient(to right, rgba(234, 208, 154, 0), rgba(234, 208, 154, 100), rgba(234, 208, 154, 0)) 4.5 1 4.5;border-image:linear-gradient(to right, rgba(234, 208, 154, 0), rgba(234, 208, 154, 100), rgba(234, 208, 154, 0)) 4.5 1 4.5}.item-label-item__bar.svelte-n1c1kg{position:absolute;bottom:0;width:1px;background-image:linear-gradient(to bottom, rgba(234, 208, 154, 0), rgba(234, 208, 154, 1))}@-webkit-keyframes svelte-n1c1kg-fadeIn{from{opacity:0\n }to{opacity:1\n }}@keyframes svelte-n1c1kg-fadeIn{from{opacity:0\n }to{opacity:1\n }}");
@@ -165,7 +165,7 @@ function debounce(func, wait = 200) {
165
165
  };
166
166
  }
167
167
 
168
- /* src/ModelItemLabelPlugin/ItemLabelComponent.svelte generated by Svelte v3.49.0 */
168
+ /* src/ModelItemLabelPlugin/ItemLabelComponent.svelte generated by Svelte v3.50.1 */
169
169
 
170
170
  function add_css(target) {
171
171
  internal.append_styles(target, "svelte-gk8s47", ".item-labels-container.svelte-gk8s47{width:100%;height:100%;position:relative}");
@@ -1,6 +1,8 @@
1
1
  import * as THREE from 'three';
2
2
  import type { Five } from "@realsee/five";
3
+ declare const Vector3: typeof THREE.Vector3;
3
4
  /**
4
5
  * 碰撞检测可见性
5
6
  * */
6
7
  export declare const isImpacted: (five: Five, sourceVector: THREE.Vector3, targetVector: THREE.Vector3, distance: number) => boolean;
8
+ export {};
@@ -8,7 +8,7 @@ var three = require('three');
8
8
 
9
9
  const ROOM_LABEL_BG = 'data:image/png;base64,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';
10
10
 
11
- /* src/ModelRoomLabelPlugin/RoomLabelItem.svelte generated by Svelte v3.49.0 */
11
+ /* src/ModelRoomLabelPlugin/RoomLabelItem.svelte generated by Svelte v3.50.1 */
12
12
 
13
13
  function add_css$1(target) {
14
14
  internal.append_styles(target, "svelte-877671", ".room-label-item.svelte-877671{position:absolute;font-size:0.41667rem;z-index:0;transform:none;cursor:pointer;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.room-label-item__text.svelte-877671{position:absolute;left:0;top:-3.33333rem;transform:translate(-50%, 0);display:flex;justify-content:center;align-items:center;height:1.04167rem;min-width:1.66667rem;padding:0 0.3125rem;pointer-events:all;background-size:100% 100%;background-repeat:no-repeat;white-space:nowrap}.room-label-item__bar.svelte-877671{position:absolute;top:-2.29167rem;height:2.5rem;width:1px;background-image:linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0))}.wide.svelte-877671{font-size:0.52083rem}");
@@ -108,7 +108,7 @@ class RoomLabelItem extends internal.SvelteComponent {
108
108
  }
109
109
  }
110
110
 
111
- /* src/ModelRoomLabelPlugin/RoomLabelItems.svelte generated by Svelte v3.49.0 */
111
+ /* src/ModelRoomLabelPlugin/RoomLabelItems.svelte generated by Svelte v3.50.1 */
112
112
 
113
113
  const { Map: Map_1 } = internal.globals;
114
114
 
@@ -1,6 +1,8 @@
1
1
  import * as THREE from 'three';
2
2
  import type { Five } from "@realsee/five";
3
+ declare const Vector3: typeof THREE.Vector3;
3
4
  /**
4
5
  * 碰撞检测可见性
5
6
  * */
6
7
  export declare const isImpacted: (five: Five, sourceVector: THREE.Vector3, targetVector: THREE.Vector3, distance: number) => boolean;
8
+ export {};
@@ -1,6 +1,8 @@
1
1
  import * as THREE from 'three';
2
2
  import type { Five } from "@realsee/five";
3
+ declare const Vector3: typeof THREE.Vector3;
3
4
  /**
4
5
  * 碰撞检测可见性
5
6
  * */
6
7
  export declare const isImpacted: (five: Five, sourceVector: THREE.Vector3, targetVector: THREE.Vector3, distance: number) => boolean;
8
+ export {};
@@ -1,6 +1,8 @@
1
1
  import * as THREE from 'three';
2
2
  import type { Five } from "@realsee/five";
3
+ declare const Vector3: typeof THREE.Vector3;
3
4
  /**
4
5
  * 碰撞检测可见性
5
6
  * */
6
7
  export declare const isImpacted: (five: Five, sourceVector: THREE.Vector3, targetVector: THREE.Vector3, distance: number) => boolean;
8
+ export {};
@@ -1,6 +1,8 @@
1
1
  import * as THREE from 'three';
2
2
  import type { Five } from "@realsee/five";
3
+ declare const Vector3: typeof THREE.Vector3;
3
4
  /**
4
5
  * 碰撞检测可见性
5
6
  * */
6
7
  export declare const isImpacted: (five: Five, sourceVector: THREE.Vector3, targetVector: THREE.Vector3, distance: number) => boolean;
8
+ export {};
@@ -1,6 +1,8 @@
1
1
  import * as THREE from 'three';
2
2
  import type { Five } from "@realsee/five";
3
+ declare const Vector3: typeof THREE.Vector3;
3
4
  /**
4
5
  * 碰撞检测可见性
5
6
  * */
6
7
  export declare const isImpacted: (five: Five, sourceVector: THREE.Vector3, targetVector: THREE.Vector3, distance: number) => boolean;
8
+ export {};