@realsee/dnalogel 2.1.0-alpha.5 → 2.1.0-alpha.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 (221) hide show
  1. package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +1 -1
  2. package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  3. package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +1 -1
  4. package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  5. package/dist/CruisePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +1 -1
  6. package/dist/CruisePlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  7. package/dist/GuideLinePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +1 -1
  8. package/dist/GuideLinePlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  9. package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +1 -1
  10. package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  11. package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +1 -1
  12. package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  13. package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +1 -1
  14. package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  15. package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +1 -1
  16. package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  17. package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +1 -1
  18. package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  19. package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +1 -1
  20. package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  21. package/dist/ModelViewPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +1 -1
  22. package/dist/ModelViewPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  23. package/dist/Object3DHelperPlugin/index.js +8 -4
  24. package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +1 -1
  25. package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  26. package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +1 -1
  27. package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  28. package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +1 -1
  29. package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  30. package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +1 -1
  31. package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  32. package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +1 -1
  33. package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  34. package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +1 -1
  35. package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  36. package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +1 -1
  37. package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  38. package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +1 -1
  39. package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  40. package/dist/PanoTagPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +1 -1
  41. package/dist/PanoTagPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  42. package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +1 -1
  43. package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  44. package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +1 -1
  45. package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  46. package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +1 -1
  47. package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  48. package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +1 -1
  49. package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  50. package/dist/index.es.js +8 -4
  51. package/dist/index.js +8 -4
  52. package/dist/index.umd.js +8 -4
  53. package/dist/shared-utils/Object3DHelper/Base/BaseController.d.ts +1 -1
  54. package/dist/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  55. package/docs/classes/CruisePluginController.html +14 -14
  56. package/docs/classes/Magnifier.html +4 -4
  57. package/docs/classes/ModelRoomLabelController.html +4 -4
  58. package/docs/classes/Object3DHelperController.html +9 -9
  59. package/docs/classes/PanoTagPluginController.html +25 -25
  60. package/docs/enums/CameraMovementEffect.html +2 -2
  61. package/docs/enums/ContentType.html +7 -7
  62. package/docs/enums/DIRECTION.html +1 -1
  63. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +1 -1
  64. package/docs/enums/DimensionType.html +1 -1
  65. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +1 -1
  66. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +1 -1
  67. package/docs/enums/LinkType.html +1 -1
  68. package/docs/enums/PointType.html +1 -1
  69. package/docs/enums/Rotation.html +2 -2
  70. package/docs/index.html +1 -1
  71. package/docs/interfaces/CSS3DRenderPluginEventMap.html +2 -2
  72. package/docs/interfaces/CSS3DRenderPluginState.html +2 -2
  73. package/docs/interfaces/CameraMovementPluginExportType.html +2 -2
  74. package/docs/interfaces/FloorplanBounding.html +4 -4
  75. package/docs/interfaces/FloorplanData.html +2 -2
  76. package/docs/interfaces/FloorplanEntrance.html +7 -7
  77. package/docs/interfaces/FloorplanExtraObject.html +3 -3
  78. package/docs/interfaces/FloorplanExtraObject3D.html +2 -2
  79. package/docs/interfaces/FloorplanFloorData.html +2 -2
  80. package/docs/interfaces/FloorplanImagePosition.html +2 -2
  81. package/docs/interfaces/FloorplanObserver.html +2 -2
  82. package/docs/interfaces/FloorplanOutlineItem.html +2 -2
  83. package/docs/interfaces/FloorplanPosition.html +2 -2
  84. package/docs/interfaces/FloorplanRoomItem.html +6 -6
  85. package/docs/interfaces/FloorplanRoomLabelItem.html +3 -3
  86. package/docs/interfaces/FloorplanServerBounding.html +4 -4
  87. package/docs/interfaces/FloorplanServerComputedData.html +1 -1
  88. package/docs/interfaces/FloorplanServerData.html +2 -2
  89. package/docs/interfaces/FloorplanServerDoorItem.html +1 -1
  90. package/docs/interfaces/FloorplanServerDoorPosition.html +1 -1
  91. package/docs/interfaces/FloorplanServerEntrance.html +7 -7
  92. package/docs/interfaces/FloorplanServerFloorData.html +2 -2
  93. package/docs/interfaces/FloorplanServerImagePosition.html +2 -2
  94. package/docs/interfaces/FloorplanServerObserver.html +2 -2
  95. package/docs/interfaces/FloorplanServerOutlineItem.html +2 -2
  96. package/docs/interfaces/FloorplanServerPosition.html +2 -2
  97. package/docs/interfaces/FloorplanServerRoomItem.html +7 -7
  98. package/docs/interfaces/FloorplanServerRoomLabelItem.html +3 -3
  99. package/docs/interfaces/ItemLabelPluginData.html +1 -1
  100. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +1 -1
  101. package/docs/interfaces/ItemLabelPluginParametersType.html +1 -1
  102. package/docs/interfaces/LineJson.html +1 -1
  103. package/docs/interfaces/ModelChassisCompassPluginData.html +1 -1
  104. package/docs/interfaces/ModelChassisCompassPluginExportType.html +1 -1
  105. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +1 -1
  106. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +1 -1
  107. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +1 -1
  108. package/docs/interfaces/ModelItemLabelPluginData.html +1 -1
  109. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +1 -1
  110. package/docs/interfaces/ModelItemLabelPluginParametersType.html +1 -1
  111. package/docs/interfaces/ModelRoomLabelPluginData.html +1 -1
  112. package/docs/interfaces/ModelTVVideoPluginData.html +1 -1
  113. package/docs/interfaces/ModelTVVideoPluginExportType.html +1 -1
  114. package/docs/interfaces/ModelTVVideoPluginParameterType.html +1 -1
  115. package/docs/interfaces/ModelViewPluginExportType.html +1 -1
  116. package/docs/interfaces/Object3DHelperState.html +1 -1
  117. package/docs/interfaces/OpenParameter.html +2 -2
  118. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +6 -6
  119. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -1
  120. package/docs/interfaces/PanoMeasureParameterType.html +1 -1
  121. package/docs/interfaces/PanoRulerPluginExportType.html +1 -1
  122. package/docs/interfaces/PanoRulerPluginOptions.html +1 -1
  123. package/docs/interfaces/PanoRulerPluginParameterType.html +1 -1
  124. package/docs/interfaces/PanoRulerProPluginExportType.html +1 -1
  125. package/docs/interfaces/PanoRulerProPluginOptions.html +1 -1
  126. package/docs/interfaces/PanoRulerProPluginParameterType.html +1 -1
  127. package/docs/interfaces/PanoRulerProPluginState.html +1 -1
  128. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -1
  129. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -1
  130. package/docs/interfaces/PanoSpatialTagPluginData.html +1 -1
  131. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +1 -1
  132. package/docs/interfaces/PanoSpatialTagPluginExportType.html +1 -1
  133. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +1 -1
  134. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +1 -1
  135. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +1 -1
  136. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +1 -1
  137. package/docs/interfaces/Point.html +1 -1
  138. package/docs/interfaces/PointJson.html +1 -1
  139. package/docs/interfaces/Room.html +1 -1
  140. package/docs/interfaces/RoomInfo.html +1 -1
  141. package/docs/interfaces/RoomLabel.html +7 -7
  142. package/docs/interfaces/RoomRules.html +1 -1
  143. package/docs/interfaces/Rooms.html +1 -1
  144. package/docs/interfaces/Scissor.html +5 -5
  145. package/docs/interfaces/TagConfig.html +3 -3
  146. package/docs/interfaces/Tags.html +3 -3
  147. package/docs/modules.html +21 -21
  148. package/libs/ItemLabelPlugin/Plugin.js +1 -1
  149. package/libs/ItemLabelPlugin/typings.d.ts +1 -1
  150. package/libs/ModelItemLabelPlugin/ModelItemLabelPlugin.js +1 -1
  151. package/libs/ModelItemLabelPlugin/typings.d.ts +1 -1
  152. package/libs/ModelRoomLabelPlugin/Controller.js +1 -1
  153. package/libs/PanoDoorLabelPlugin/Controller.js +1 -1
  154. package/libs/PanoRulerProPlugin/Controller.js +1 -1
  155. package/libs/PanoSpatialTagPlugin/Plugin.js +2 -2
  156. package/libs/PanoTagPlugin/controller/index.js +5 -5
  157. package/libs/PanoTagPlugin/typings/controller.d.ts +1 -1
  158. package/libs/floorplan/MapviewFloorplanPlugin/Controller.js +1 -1
  159. package/libs/floorplan/ModelFloorplanPlugin/Controller.js +1 -1
  160. package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.js +1 -1
  161. package/libs/floorplan/TopviewFloorplanPlugin/Controller.js +1 -1
  162. package/libs/shared-utils/Object3DHelper/Base/BaseController.d.ts +1 -1
  163. package/libs/shared-utils/Object3DHelper/Base/BaseController.js +1 -1
  164. package/libs/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  165. package/libs/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.js +4 -0
  166. package/libs/shared-utils/Object3DHelper/index.js +3 -3
  167. package/package.json +1 -1
  168. package/libs/ItemLabelPlugin/ItemLabelComponent.svelte +0 -251
  169. package/libs/ItemLabelPlugin/ItemLabelItem.svelte +0 -183
  170. package/libs/ModelItemLabelPlugin/ItemLabelComponent.svelte +0 -155
  171. package/libs/ModelItemLabelPlugin/ItemLabelItem.svelte +0 -100
  172. package/libs/ModelRoomLabelPlugin/RoomLabelItem.svelte +0 -63
  173. package/libs/ModelRoomLabelPlugin/RoomLabelItems.svelte +0 -94
  174. package/libs/PanoDoorLabelPlugin/DoorLabelItem.svelte +0 -200
  175. package/libs/PanoRulerProPlugin/RulerItem.svelte +0 -166
  176. package/libs/PanoRulerProPlugin/RulerItems.svelte +0 -212
  177. package/libs/PanoSpatialTagPlugin/Components/origins.svelte +0 -58
  178. package/libs/PanoSpatialTagPlugin/Components/tag.svelte +0 -292
  179. package/libs/PanoTagPlugin/Components/Common/Arrow.svelte +0 -56
  180. package/libs/PanoTagPlugin/Components/Common/Audio.svelte +0 -82
  181. package/libs/PanoTagPlugin/Components/Common/Line/Polyline.svelte +0 -36
  182. package/libs/PanoTagPlugin/Components/Common/Line/Straight.svelte +0 -36
  183. package/libs/PanoTagPlugin/Components/Common/Media.svelte +0 -70
  184. package/libs/PanoTagPlugin/Components/Common/MultiLineText.svelte +0 -56
  185. package/libs/PanoTagPlugin/Components/Common/Point/CustomPoint.svelte +0 -120
  186. package/libs/PanoTagPlugin/Components/Common/Point/DefaultPoint.svelte +0 -81
  187. package/libs/PanoTagPlugin/Components/Common/Point/PointSwitch.svelte +0 -30
  188. package/libs/PanoTagPlugin/Components/Common/Shadow.svelte +0 -46
  189. package/libs/PanoTagPlugin/Components/Common/Text.svelte +0 -69
  190. package/libs/PanoTagPlugin/Components/Common/TextItem.svelte +0 -42
  191. package/libs/PanoTagPlugin/Components/PointTag.svelte +0 -55
  192. package/libs/PanoTagPlugin/Components/Tag/AudioTag.svelte +0 -105
  193. package/libs/PanoTagPlugin/Components/Tag/CustomTag.svelte +0 -33
  194. package/libs/PanoTagPlugin/Components/Tag/ImageTextTag.svelte +0 -63
  195. package/libs/PanoTagPlugin/Components/Tag/LinkTag.svelte +0 -166
  196. package/libs/PanoTagPlugin/Components/Tag/MarketingTag.svelte +0 -234
  197. package/libs/PanoTagPlugin/Components/Tag/MediaPlane.svelte +0 -30
  198. package/libs/PanoTagPlugin/Components/Tag/TextTag.svelte +0 -63
  199. package/libs/PanoTagPlugin/Components/Tag/index.svelte +0 -145
  200. package/libs/PanoTagPlugin/Components/TagWrapper.svelte +0 -69
  201. package/libs/floorplan/Components/BaseImage.svelte +0 -26
  202. package/libs/floorplan/Components/Camera.svelte +0 -46
  203. package/libs/floorplan/Components/Compass.svelte +0 -51
  204. package/libs/floorplan/Components/CurrentFloor.svelte +0 -46
  205. package/libs/floorplan/Components/Main.svelte +0 -51
  206. package/libs/floorplan/Components/Normalmage.svelte +0 -11
  207. package/libs/floorplan/Components/RoomHighlight/Room.svelte +0 -27
  208. package/libs/floorplan/Components/RoomHighlight/RoomHighlight.svelte +0 -29
  209. package/libs/floorplan/Components/RoomLabels/RoomLabel.svelte +0 -119
  210. package/libs/floorplan/Components/RoomLabels/RoomLabels.svelte +0 -35
  211. package/libs/floorplan/Components/RoomMaterials/RoomMaterial.svelte +0 -42
  212. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_0.svelte +0 -7
  213. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.svelte +0 -24
  214. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.svelte +0 -33
  215. package/libs/floorplan/Components/RuleLabels/RuleItem.svelte +0 -174
  216. package/libs/floorplan/Components/RuleLabels/RuleLabels.svelte +0 -32
  217. package/libs/floorplan/Components/SvgImage.svelte +0 -28
  218. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.svelte +0 -85
  219. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.svelte +0 -18
  220. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.svelte +0 -40
  221. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.svelte +0 -64
@@ -1,69 +0,0 @@
1
- <script>var _a, _b, _c, _d, _e;
2
- import { noTypecheck } from '../utils';
3
- import { DimensionType, ContentType, PointType } from '../typings';
4
- import TagContent from './Tag/index.svelte';
5
- import TagPoint from './Common/Point/PointSwitch.svelte';
6
- import { onMount } from 'svelte';
7
- export let withAnimation = false;
8
- export let tag;
9
- export let hooks;
10
- export let state;
11
- export let mediaStore;
12
- export let temporaryState;
13
- $: hide = !((_a = tag.state) === null || _a === void 0 ? void 0 : _a.visible);
14
- $: unfolded = (_b = tag.state) === null || _b === void 0 ? void 0 : _b.unfolded;
15
- $: left = ((_c = tag.pointTagStyle) === null || _c === void 0 ? void 0 : _c.leftPercent) + '%';
16
- $: top = ((_d = tag.pointTagStyle) === null || _d === void 0 ? void 0 : _d.topPercent) + '%';
17
- $: zIndex = tag.contentType === ContentType.Link ? 20 : ((_e = tag.state) === null || _e === void 0 ? void 0 : _e.unfolded) ? 10 : 0;
18
- let timeout;
19
- let animating = false;
20
- function setAnimating(trigger) {
21
- if (timeout !== undefined)
22
- clearTimeout(timeout);
23
- animating = true;
24
- timeout = setTimeout(() => {
25
- animating = false;
26
- }, 800);
27
- }
28
- $: setAnimating(unfolded);
29
- const handlePointClick = (event) => {
30
- if (animating)
31
- return;
32
- hooks.emit('click', { event, target: 'TagPoint', tag });
33
- };
34
- onMount(() => {
35
- hooks.emit('exposure', { id: tag.id, type: 'start' });
36
- return () => {
37
- hooks.emit('exposure', { id: tag.id, type: 'end' });
38
- };
39
- });
40
- </script>
41
-
42
- <div class="wrapper" class:hide class:unfolded style:left style:top style:z-index={zIndex} data-id={tag.id}>
43
- {#if tag.dimensionType === DimensionType.Two}
44
- <TagContent {mediaStore} {withAnimation} tag={noTypecheck(tag)} {hooks} {state} {temporaryState} />
45
- {/if}
46
- {#if tag.pointType === PointType.PointTag && tag.style?.point?.style !== 'noPoint'}
47
- <div class="point" on:click|stopPropagation={handlePointClick}>
48
- <TagPoint {tag} />
49
- </div>
50
- {/if}
51
- </div>
52
-
53
- <style>
54
- .wrapper {
55
- position: absolute;
56
- width: 0px;
57
- height: 0px;
58
- overflow: visible;
59
- pointer-events: auto;
60
- }
61
-
62
- .point {
63
- -webkit-tap-highlight-color: transparent;
64
- position: absolute;
65
- transform: translate(-50%, -50%);
66
- left: 50%;
67
- top: 50%;
68
- }
69
- </style>
@@ -1,26 +0,0 @@
1
- <script>var _a, _b;
2
- import NormalImage from './Normalmage.svelte';
3
- import SvgImage from './SvgImage.svelte';
4
- export let floorIndex;
5
- export let floorplanData;
6
- $: imageData = floorplanData.outlines[floorIndex];
7
- $: svgContent = (_b = (_a = floorplanData.outlines) === null || _a === void 0 ? void 0 : _a[floorIndex]) === null || _b === void 0 ? void 0 : _b.svgContent;
8
- </script>
9
-
10
- <div class="floorplan-plugin__base-image">
11
- {#if svgContent}
12
- <SvgImage content={svgContent} />
13
- {:else if imageData}
14
- <NormalImage url={imageData.url} />
15
- {/if}
16
- </div>
17
-
18
- <style>
19
- .floorplan-plugin__base-image {
20
- position: absolute;
21
- z-index: 10;
22
- width: 100%;
23
- height: 100%;
24
- pointer-events: none;
25
- }
26
- </style>
@@ -1,46 +0,0 @@
1
- <script>import { CAMERA_IMAGE } from '../Assets/camera';
2
- import rad2Deg from '../../shared-utils/math/rad2Deg';
3
- export let panoIndex;
4
- export let floorplanData;
5
- export let lastPanoramaLongitude;
6
- export let cameraImageUrl;
7
- const { observers } = floorplanData;
8
- const observer = observers[panoIndex];
9
- const leftRatio = observer.positionInImage.x;
10
- const topRatio = observer.positionInImage.y;
11
- const positionLeft = leftRatio * 100 + '%';
12
- const positionTop = topRatio * 100 + '%';
13
- const rotate = -rad2Deg(lastPanoramaLongitude) + 45;
14
- // TODO: 统一这里的判断条件,目前写了多处
15
- const bodyWidth = document.body.clientWidth;
16
- const bodyHeight = document.body.clientHeight;
17
- const size = bodyWidth < 500 || bodyHeight < 500 ? 17 : 37;
18
- const domSizeStyle = `${size / 16}rem`;
19
- </script>
20
-
21
- <div class="floorplan__camera-position" style:left={positionLeft} style:top={positionTop}>
22
- <div
23
- class="floorplan__camera-rotate"
24
- style:width={domSizeStyle}
25
- style:height={domSizeStyle}
26
- style:left={'-' + domSizeStyle}
27
- style:top={'-' + domSizeStyle}
28
- style:transform={`rotate(${rotate}deg)`}
29
- style:transform-origin={`${domSizeStyle} ${domSizeStyle}`}
30
- style="background-image: {`url(${cameraImageUrl || CAMERA_IMAGE})`}"
31
- />
32
- </div>
33
-
34
- <style lang="postcss">
35
- .floorplan__camera-position {
36
- position: absolute;
37
- width: 0;
38
- height: 0;
39
- }
40
-
41
- .floorplan__camera-rotate {
42
- position: absolute;
43
- background-repeat: no-repeat;
44
- background-size: 100%;
45
- }
46
- </style>
@@ -1,51 +0,0 @@
1
- <script>var _a;
2
- import { COMPASS_IMAGE } from '../Assets/compass';
3
- function rad2Deg(rad) {
4
- return (rad / Math.PI) * 180;
5
- }
6
- export let floorplanData;
7
- export let northDesc;
8
- const northRad = (_a = floorplanData.entrance) === null || _a === void 0 ? void 0 : _a.northRad;
9
- const canCompassShow = typeof northRad === 'number';
10
- const rotate = !northRad ? 0 : rad2Deg(northRad);
11
- const compassTransformStyle = `translateX(-50%) translateZ(10px) rotate(${-rotate + 90}deg)`;
12
- </script>
13
-
14
- {#if canCompassShow}
15
- <div class="floorplan-plugin__compass" style:transform={compassTransformStyle}>
16
- <div class="floorplan-plugin__compass-image" style="background-image: {`url(${COMPASS_IMAGE})`}" />
17
- <span class="floorplan-plugin__compass-text"> {northDesc} </span>
18
- </div>
19
- {/if}
20
-
21
- <style>
22
- .floorplan-plugin__compass {
23
- position: absolute;
24
- left: 50%;
25
- top: -46px;
26
- width: 231px;
27
- height: 41px;
28
- will-change: opacity;
29
- transform-origin: center 184px;
30
- }
31
- .floorplan-plugin__compass-image {
32
- width: 100%;
33
- height: 100%;
34
- position: absolute;
35
- left: 0;
36
- top: 0;
37
- opacity: 0.1;
38
- background-repeat: no-repeat;
39
- background-size: 100% 100%;
40
- }
41
- .floorplan-plugin__compass-text {
42
- position: absolute;
43
- left: 50%;
44
- top: 15px;
45
- transform: translateX(-50%);
46
- opacity: 0.2;
47
- font-weight: bold;
48
- font-size: 10px;
49
- color: #fff;
50
- }
51
- </style>
@@ -1,46 +0,0 @@
1
- <script>import { writable } from 'svelte/store';
2
- import BaseImage from './BaseImage.svelte';
3
- import RoomLabels from './RoomLabels/RoomLabels.svelte';
4
- import RuleLabels from './RuleLabels/RuleLabels.svelte';
5
- import RoomMaterial from './RoomMaterials/RoomMaterial.svelte';
6
- import RoomHighlight from './RoomHighlight/RoomHighlight.svelte';
7
- export let isCurrent;
8
- export let floorIndex;
9
- export let hoverEnable;
10
- export let roomLabelsEnable;
11
- export let ruleLabelsEnable;
12
- export let floorplanData;
13
- export let getLabelElement;
14
- export let adaptiveRoomLabelVisibleEnable;
15
- const hoveredRoom = writable(undefined);
16
- </script>
17
-
18
- <div class={`floorplan-plugin__floor${isCurrent ? ' floorplan-plugin__floor--is-current' : ''}`}>
19
- <RoomMaterial {...{ floorIndex, floorplanData }} />
20
- {#if hoverEnable}
21
- <RoomHighlight {...{ floorIndex, floorplanData, hoveredRoom }} />
22
- {/if}
23
- <BaseImage {...{ floorplanData, floorIndex }} />
24
- {#if roomLabelsEnable}
25
- <RoomLabels {...{ floorplanData, floorIndex, getLabelElement, hoveredRoom, adaptiveRoomLabelVisibleEnable }} />
26
- {/if}
27
- {#if ruleLabelsEnable}
28
- <RuleLabels {...{ floorplanData, floorIndex }} />
29
- {/if}
30
- </div>
31
-
32
- <style>
33
- .floorplan-plugin__floor {
34
- position: absolute;
35
- left: 0;
36
- top: 0;
37
- width: 100%;
38
- height: 100%;
39
- opacity: 0;
40
- pointer-events: none;
41
- }
42
- .floorplan-plugin__floor--is-current {
43
- opacity: 1;
44
- pointer-events: auto;
45
- }
46
- </style>
@@ -1,51 +0,0 @@
1
- <script>import { linear } from 'svelte/easing';
2
- import { fade } from 'svelte/transition';
3
- import Camera from './Camera.svelte';
4
- import Compass from './Compass.svelte';
5
- import CurrentFloor from './CurrentFloor.svelte';
6
- export let duration = 0;
7
- export let visible;
8
- export let northDesc;
9
- export let panoIndex;
10
- export let floorIndex;
11
- export let hoverEnable;
12
- export let compassEnable;
13
- export let roomLabelsEnable;
14
- export let ruleLabelsEnable;
15
- export let floorplanData;
16
- export let lastPanoramaLongitude;
17
- export let cameraImageUrl;
18
- export let getLabelElement;
19
- export let adaptiveRoomLabelVisibleEnable;
20
- </script>
21
-
22
- {#if visible}
23
- <div class="floorplan-main" in:fade={{ duration, easing: linear }}>
24
- {#each floorplanData.floorDatas as floorData}
25
- <CurrentFloor
26
- {...{
27
- hoverEnable,
28
- floorplanData,
29
- getLabelElement,
30
- roomLabelsEnable,
31
- ruleLabelsEnable,
32
- adaptiveRoomLabelVisibleEnable,
33
- }}
34
- floorIndex={floorData.floorIndex}
35
- isCurrent={floorData.floorIndex === floorIndex}
36
- />
37
- {/each}
38
- <Camera {...{ panoIndex, floorplanData, lastPanoramaLongitude, cameraImageUrl }} />
39
- {#if compassEnable}
40
- <Compass {floorplanData} {northDesc} />
41
- {/if}
42
- </div>
43
- {/if}
44
-
45
- <style>
46
- .floorplan-main {
47
- width: 100%;
48
- height: 100%;
49
- pointer-events: none;
50
- }
51
- </style>
@@ -1,11 +0,0 @@
1
- <script>export let url;
2
- </script>
3
-
4
- <img src={url} alt="floorplan iamge" />
5
-
6
- <style>
7
- img {
8
- width: 100%;
9
- height: 100%;
10
- }
11
- </style>
@@ -1,27 +0,0 @@
1
- <script>import formatFloorplanPoint, { pathD } from '../../utils/formatPosition';
2
- export let room;
3
- export let floorplanData;
4
- export let hoveredRoom;
5
- function onMouseEnter() {
6
- hoveredRoom.set(room);
7
- }
8
- function onMouseLeave() {
9
- hoveredRoom.set(undefined);
10
- }
11
- const { bounding } = floorplanData;
12
- const _pathD = pathD(room.path, {
13
- needZ: true,
14
- format: (vector) => formatFloorplanPoint(vector, bounding),
15
- });
16
- </script>
17
-
18
- <path d={_pathD} fill={`#fff`} on:mouseenter={onMouseEnter} on:mouseleave={onMouseLeave} />
19
-
20
- <style>
21
- path {
22
- opacity: 0;
23
- }
24
- path:hover {
25
- opacity: 0.1;
26
- }
27
- </style>
@@ -1,29 +0,0 @@
1
- <script>import Room from './Room.svelte';
2
- export let floorIndex;
3
- export let floorplanData;
4
- export let hoveredRoom;
5
- const boundingWidth = floorplanData.bounding.max.x - floorplanData.bounding.min.x;
6
- const boundingHeight = floorplanData.bounding.max.y - floorplanData.bounding.min.y;
7
- </script>
8
-
9
- <div class="floorplan-plugin__room-highlight">
10
- <svg width="100%" height="100%" viewBox={`0 0 ${boundingWidth} ${boundingHeight}`}>
11
- {#each floorplanData.floorDatas[floorIndex].rooms as room (room.id)}
12
- <Room {...{ room, floorplanData, hoveredRoom }} />
13
- {/each}
14
- </svg>
15
- </div>
16
-
17
- <style>
18
- .floorplan-plugin__room-highlight {
19
- position: absolute;
20
- width: 100%;
21
- height: 100%;
22
- }
23
-
24
- svg {
25
- width: 100%;
26
- height: 100%;
27
- overflow: visible;
28
- }
29
- </style>
@@ -1,119 +0,0 @@
1
- <script>import { onMount } from 'svelte';
2
- export let pxmm;
3
- export let room;
4
- export let hoveredRoom;
5
- export let getLabelElement;
6
- export let adaptiveRoomLabelVisibleEnable;
7
- // https://wrf.ecse.rpi.edu//Research/Short_Notes/pnpoly.html
8
- // https://github.com/substack/point-in-polygon
9
- function isPointInPolygon(point, polygon) {
10
- const x = point[0];
11
- const y = point[1];
12
- let inside = false;
13
- for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
14
- const xi = polygon[i][0];
15
- const yi = polygon[i][1];
16
- const xj = polygon[j][0];
17
- const yj = polygon[j][1];
18
- const intersect = yi > y !== yj > y && x < ((xj - xi) * (y - yi)) / (yj - yi) + xi;
19
- if (intersect)
20
- inside = !inside;
21
- }
22
- return inside;
23
- }
24
- function isLabelInRoomCurry(room, labelElementSize) {
25
- if (labelElementSize.width === 0 || labelElementSize.height === 0)
26
- return () => false;
27
- const polygon = room.path.map(({ x, y }) => [x, y]);
28
- const labelPosition = room.roomLabel.position;
29
- const { x, y } = labelPosition;
30
- const { width, height } = labelElementSize;
31
- const halfWidth = width / 2;
32
- const halfHeight = height / 2;
33
- return function isLabelInRoom(pxmm) {
34
- const clientX = x * pxmm;
35
- const clientY = y * pxmm;
36
- const clientPolygon = polygon.map(([x, y]) => [x * pxmm, y * pxmm]);
37
- // const
38
- /** 围成 labelRect 的四个点
39
- * 1----0
40
- * | |
41
- * 2----3
42
- */
43
- const labelRectClientPoints = [
44
- [clientX + halfWidth, clientY - halfHeight],
45
- [clientX - halfWidth, clientY - halfHeight],
46
- [clientX - halfWidth, clientY + halfHeight],
47
- [clientX + halfWidth, clientY + halfHeight],
48
- ];
49
- return labelRectClientPoints.every((point) => isPointInPolygon(point, clientPolygon));
50
- };
51
- }
52
- // ========== 获取设备宽高像素 ==========
53
- // TODO: 统一这里的判断条件,目前写了多处
54
- const bodyWidth = document.body.clientWidth;
55
- const bodyHeight = document.body.clientHeight;
56
- const roomSizeDes = room.size ? (room.size / 1000000).toFixed(1) + '㎡' : '';
57
- // ====================================
58
- const roomLabel = room.roomLabel;
59
- const left = roomLabel.positionInImage.x * 100 + '%';
60
- const top = roomLabel.positionInImage.y * 100 + '%';
61
- // 屏幕宽或高小于 500px 时,用 10px 字体,否则用 14px
62
- const fontSize = (bodyWidth < 500 || bodyHeight < 500 ? 10 : 14) / 16 + 'rem';
63
- let isHoverd = false;
64
- let labelElement;
65
- let labelElementSize;
66
- $: isLabelInRoom = labelElementSize ? isLabelInRoomCurry(room, labelElementSize) : undefined;
67
- $: userConfigElement = getLabelElement === null || getLabelElement === void 0 ? void 0 : getLabelElement(room);
68
- $: labelVisible = adaptiveRoomLabelVisibleEnable ? (isHoverd ? true : !!(isLabelInRoom === null || isLabelInRoom === void 0 ? void 0 : isLabelInRoom(pxmm))) : true;
69
- hoveredRoom.subscribe(function onHoverdRoomUpdate(_room) {
70
- isHoverd = !!_room && _room.id === room.id;
71
- });
72
- onMount(() => {
73
- // Label 能不能展示只跟房间大小有关
74
- // 计算 LabelElement 宽高
75
- const labelDomRect = labelElement === null || labelElement === void 0 ? void 0 : labelElement.getClientRects()[0];
76
- labelElementSize = { width: labelDomRect.width, height: labelDomRect.height };
77
- });
78
- </script>
79
-
80
- <div
81
- bind:this={labelElement}
82
- class="floorplan-plugin__room-label-item"
83
- style:left
84
- style:top
85
- style:font-size={fontSize}
86
- style:opacity={labelVisible ? '1' : '0'}
87
- >
88
- <!-- 用户没有配置自定义 DOM 时,使用默认 DOM -->
89
- {#if getLabelElement === undefined}
90
- <span class="floorplan-plugin__room-name">
91
- {room.name}
92
- </span>
93
- <span class="floorplan-plugin__room-size">{roomSizeDes}</span>
94
- <!-- 用户配置自定义 DOM 时,使用用户 DOM -->
95
- {:else if userConfigElement}
96
- <!-- TODO: @html 是一个很不好的语法,但是目前没有好的方式去配置 User DOM -->
97
- <!-- TODO: 看一下能不能改成在 reactive segment 里动态插入 DOM -->
98
- <!-- eslint-disable-next-line svelte/no-at-html-tags -->
99
- {@html userConfigElement.outerHTML}
100
- {/if}
101
- </div>
102
-
103
- <style>
104
- .floorplan-plugin__room-label-item {
105
- position: absolute;
106
- display: flex;
107
- flex-flow: column;
108
- align-items: center;
109
- line-height: 1;
110
- color: #fff;
111
- transform: translate(-50%, -50%);
112
- white-space: nowrap;
113
- will-change: opacity;
114
- transition: opacity 300ms;
115
- }
116
- .floorplan-plugin__room-size {
117
- opacity: 0.45;
118
- }
119
- </style>
@@ -1,35 +0,0 @@
1
- <script>import RoomLabel from './RoomLabel.svelte';
2
- export let floorIndex;
3
- export let floorplanData;
4
- export let hoveredRoom;
5
- export let getLabelElement;
6
- export let adaptiveRoomLabelVisibleEnable;
7
- $: rooms = floorplanData.floorDatas[floorIndex].rooms;
8
- let clientWidth = 0;
9
- let pxmm = 0;
10
- $: {
11
- const { max, min } = floorplanData.bounding;
12
- const boundingWidth = max.x - min.x;
13
- pxmm = clientWidth / boundingWidth;
14
- }
15
- </script>
16
-
17
- {#if rooms}
18
- <div class="floorplan-plugin__room-labels" bind:clientWidth>
19
- {#each rooms as room (room.id)}
20
- <RoomLabel {...{ pxmm, room, getLabelElement, hoveredRoom, adaptiveRoomLabelVisibleEnable }} />
21
- {/each}
22
- </div>
23
- {/if}
24
-
25
- <style>
26
- .floorplan-plugin__room-labels {
27
- width: 100%;
28
- height: 100%;
29
- position: absolute;
30
- left: 0;
31
- top: 0;
32
- z-index: 20;
33
- pointer-events: none;
34
- }
35
- </style>
@@ -1,42 +0,0 @@
1
- <script>import formatFloorplanPoint from '../../utils/formatPosition';
2
- import RoomMaterial_0 from './RoomMaterial_0.svelte';
3
- import RoomMaterial_1 from './RoomMaterial_1.svelte';
4
- import RoomMaterial_2 from './RoomMaterial_2.svelte';
5
- export let floorIndex;
6
- export let floorplanData;
7
- const boundingWidth = floorplanData.bounding.max.x - floorplanData.bounding.min.x;
8
- const boundingHeight = floorplanData.bounding.max.y - floorplanData.bounding.min.y;
9
- $: rooms = floorplanData.floorDatas[floorIndex].rooms.map((room) => (Object.assign(Object.assign({}, room), { path: room.path.map((p) => formatFloorplanPoint(p, floorplanData.bounding)) })));
10
- </script>
11
-
12
- <div class="floorplan-plugin__room-material">
13
- {#each rooms as room}
14
- <svg width="100%" height="100%" viewBox={`0 0 ${boundingWidth} ${boundingHeight}`}>
15
- {#if room.floorType === 1}
16
- <RoomMaterial_0 path={room.path} />
17
- {:else if room.floorType === 0}
18
- <RoomMaterial_2 path={room.path} />
19
- {:else}
20
- <RoomMaterial_1 path={room.path} />
21
- {/if}
22
- </svg>
23
- {/each}
24
- </div>
25
-
26
- <style>
27
- .floorplan-plugin__room-material {
28
- position: absolute;
29
- left: 0;
30
- top: 0;
31
- width: 100%;
32
- height: 100%;
33
- }
34
- svg {
35
- position: absolute;
36
- left: 0;
37
- top: 0;
38
- width: 100%;
39
- height: 100%;
40
- overflow: visible;
41
- }
42
- </style>
@@ -1,7 +0,0 @@
1
- <script>import { pathD } from '../../utils/formatPosition';
2
- export let path;
3
- $: d = pathD(path, { needZ: true });
4
- </script>
5
-
6
- <!-- 纯色背景 -->
7
- <path {d} fill="#2F313A" />
@@ -1,24 +0,0 @@
1
- <script>import { pathD } from '../../utils/formatPosition';
2
- export let path;
3
- $: d = pathD(path, { needZ: true });
4
- const halfWidth = 6;
5
- const width = halfWidth * 2;
6
- const patternPathD = `M0 ${halfWidth} h ${width} M${halfWidth} 0 v ${width}`;
7
- </script>
8
-
9
- <!-- 瓷砖地板, 偏蓝的格格 -->
10
- <defs>
11
- <pattern
12
- id="fpm-room-pattern-0"
13
- x="0"
14
- y="0"
15
- {width}
16
- height={width}
17
- patternUnits="userSpaceOnUse"
18
- patternTransform="scale(50 50)"
19
- >
20
- <rect x="0" y="0" {width} height={width} fill="#323747" />
21
- <path d={patternPathD} stroke="#ffffff" stroke-opacity="0.06" stroke-width="0.5" fill="none" />
22
- </pattern>
23
- </defs>
24
- <path {d} fill="url(#fpm-room-pattern-0)" />
@@ -1,33 +0,0 @@
1
- <script>import { pathD } from '../../utils/formatPosition';
2
- export let path;
3
- $: d = pathD(path, { needZ: true });
4
- </script>
5
-
6
- <!-- 木地板,偏灰的格格 -->
7
- <defs>
8
- <pattern
9
- id="room-material-pattern-1"
10
- x="0"
11
- y="0"
12
- width="12"
13
- height="50"
14
- patternUnits="userSpaceOnUse"
15
- patternTransform="scale(50 50)"
16
- >
17
- <rect x="0" y="0" width="6" height="50" fill="none" stroke="#4B4B57" stroke-width="0.5" />
18
- </pattern>
19
- <pattern
20
- id="room-material-pattern-2"
21
- x="6"
22
- y="25"
23
- width="12"
24
- height="50"
25
- patternUnits="userSpaceOnUse"
26
- patternTransform="scale(50 50)"
27
- >
28
- <rect x="0" y="0" width="6" height="50" fill="none" stroke="#4B4B57" stroke-width="0.5" />
29
- </pattern>
30
- </defs>
31
- <path {d} fill="#43434D" />
32
- <path {d} fill="url(#room-material-pattern-1)" />
33
- <path {d} fill="url(#room-material-pattern-2)" />