@realsee/dnalogel 2.1.0-alpha.6 → 2.1.0-alpha.7

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 (211) hide show
  1. package/dist/CSS3DRenderPlugin/index.js +8 -1
  2. package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
  3. package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  4. package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  5. package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  6. package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
  7. package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  8. package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  9. package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  10. package/dist/CruisePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
  11. package/dist/CruisePlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  12. package/dist/CruisePlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  13. package/dist/CruisePlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  14. package/dist/GuideLinePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
  15. package/dist/GuideLinePlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  16. package/dist/GuideLinePlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  17. package/dist/GuideLinePlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  18. package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
  19. package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  20. package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  21. package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  22. package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
  23. package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  24. package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  25. package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  26. package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
  27. package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  28. package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  29. package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  30. package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
  31. package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  32. package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  33. package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  34. package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
  35. package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  36. package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  37. package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  38. package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
  39. package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  40. package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  41. package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  42. package/dist/ModelViewPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
  43. package/dist/ModelViewPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  44. package/dist/ModelViewPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  45. package/dist/ModelViewPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  46. package/dist/Object3DHelperPlugin/index.js +126 -109
  47. package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
  48. package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  49. package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  50. package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  51. package/dist/PanoCompassPlugin/index.js +8 -1
  52. package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
  53. package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  54. package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  55. package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  56. package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
  57. package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  58. package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  59. package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  60. package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
  61. package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  62. package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  63. package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  64. package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
  65. package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  66. package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  67. package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  68. package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
  69. package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  70. package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  71. package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  72. package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
  73. package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  74. package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  75. package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  76. package/dist/PanoSpatialTagPlugin/index.js +8 -1
  77. package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
  78. package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  79. package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  80. package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  81. package/dist/PanoTagPlugin/index.js +25 -18
  82. package/dist/PanoTagPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
  83. package/dist/PanoTagPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  84. package/dist/PanoTagPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  85. package/dist/PanoTagPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  86. package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
  87. package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  88. package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  89. package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  90. package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
  91. package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  92. package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  93. package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  94. package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
  95. package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  96. package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  97. package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  98. package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
  99. package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  100. package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  101. package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  102. package/dist/index.es.js +143 -126
  103. package/dist/index.js +143 -126
  104. package/dist/index.umd.js +143 -126
  105. package/dist/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
  106. package/dist/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  107. package/dist/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  108. package/dist/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  109. package/docs/classes/CruisePluginController.html +14 -14
  110. package/docs/classes/Magnifier.html +4 -4
  111. package/docs/classes/ModelRoomLabelController.html +4 -4
  112. package/docs/classes/Object3DHelperController.html +9 -9
  113. package/docs/classes/PanoTagPluginController.html +25 -25
  114. package/docs/enums/CameraMovementEffect.html +1 -1
  115. package/docs/enums/ContentType.html +7 -7
  116. package/docs/enums/DIRECTION.html +1 -1
  117. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +1 -1
  118. package/docs/enums/DimensionType.html +1 -1
  119. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +1 -1
  120. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +1 -1
  121. package/docs/enums/LinkType.html +1 -1
  122. package/docs/enums/PointType.html +1 -1
  123. package/docs/enums/Rotation.html +1 -1
  124. package/docs/interfaces/CSS3DRenderPluginEventMap.html +2 -2
  125. package/docs/interfaces/CSS3DRenderPluginState.html +2 -2
  126. package/docs/interfaces/CameraMovementPluginExportType.html +2 -2
  127. package/docs/interfaces/FloorplanBounding.html +3 -3
  128. package/docs/interfaces/FloorplanData.html +1 -1
  129. package/docs/interfaces/FloorplanEntrance.html +6 -6
  130. package/docs/interfaces/FloorplanExtraObject.html +2 -2
  131. package/docs/interfaces/FloorplanExtraObject3D.html +1 -1
  132. package/docs/interfaces/FloorplanFloorData.html +1 -1
  133. package/docs/interfaces/FloorplanImagePosition.html +1 -1
  134. package/docs/interfaces/FloorplanObserver.html +1 -1
  135. package/docs/interfaces/FloorplanOutlineItem.html +1 -1
  136. package/docs/interfaces/FloorplanPosition.html +1 -1
  137. package/docs/interfaces/FloorplanRoomItem.html +5 -5
  138. package/docs/interfaces/FloorplanRoomLabelItem.html +2 -2
  139. package/docs/interfaces/FloorplanServerBounding.html +3 -3
  140. package/docs/interfaces/FloorplanServerComputedData.html +1 -1
  141. package/docs/interfaces/FloorplanServerData.html +1 -1
  142. package/docs/interfaces/FloorplanServerDoorItem.html +1 -1
  143. package/docs/interfaces/FloorplanServerDoorPosition.html +1 -1
  144. package/docs/interfaces/FloorplanServerEntrance.html +6 -6
  145. package/docs/interfaces/FloorplanServerFloorData.html +1 -1
  146. package/docs/interfaces/FloorplanServerImagePosition.html +1 -1
  147. package/docs/interfaces/FloorplanServerObserver.html +1 -1
  148. package/docs/interfaces/FloorplanServerOutlineItem.html +1 -1
  149. package/docs/interfaces/FloorplanServerPosition.html +1 -1
  150. package/docs/interfaces/FloorplanServerRoomItem.html +6 -6
  151. package/docs/interfaces/FloorplanServerRoomLabelItem.html +2 -2
  152. package/docs/interfaces/ItemLabelPluginData.html +1 -1
  153. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +1 -1
  154. package/docs/interfaces/ItemLabelPluginParametersType.html +1 -1
  155. package/docs/interfaces/LineJson.html +1 -1
  156. package/docs/interfaces/ModelChassisCompassPluginData.html +1 -1
  157. package/docs/interfaces/ModelChassisCompassPluginExportType.html +1 -1
  158. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +1 -1
  159. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +1 -1
  160. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +1 -1
  161. package/docs/interfaces/ModelItemLabelPluginData.html +1 -1
  162. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +1 -1
  163. package/docs/interfaces/ModelItemLabelPluginParametersType.html +1 -1
  164. package/docs/interfaces/ModelRoomLabelPluginData.html +1 -1
  165. package/docs/interfaces/ModelTVVideoPluginData.html +1 -1
  166. package/docs/interfaces/ModelTVVideoPluginExportType.html +1 -1
  167. package/docs/interfaces/ModelTVVideoPluginParameterType.html +1 -1
  168. package/docs/interfaces/ModelViewPluginExportType.html +1 -1
  169. package/docs/interfaces/Object3DHelperState.html +1 -1
  170. package/docs/interfaces/OpenParameter.html +1 -1
  171. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +6 -6
  172. package/docs/interfaces/PanoMeasureParameterType.html +1 -1
  173. package/docs/interfaces/PanoRulerPluginExportType.html +1 -1
  174. package/docs/interfaces/PanoRulerPluginOptions.html +1 -1
  175. package/docs/interfaces/PanoRulerPluginParameterType.html +1 -1
  176. package/docs/interfaces/PanoRulerProPluginExportType.html +1 -1
  177. package/docs/interfaces/PanoRulerProPluginOptions.html +1 -1
  178. package/docs/interfaces/PanoRulerProPluginParameterType.html +1 -1
  179. package/docs/interfaces/PanoRulerProPluginState.html +1 -1
  180. package/docs/interfaces/PanoSpatialTagPluginData.html +1 -1
  181. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +1 -1
  182. package/docs/interfaces/PanoSpatialTagPluginExportType.html +1 -1
  183. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +1 -1
  184. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +1 -1
  185. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +1 -1
  186. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +1 -1
  187. package/docs/interfaces/Point.html +1 -1
  188. package/docs/interfaces/PointJson.html +1 -1
  189. package/docs/interfaces/Room.html +1 -1
  190. package/docs/interfaces/RoomInfo.html +1 -1
  191. package/docs/interfaces/RoomLabel.html +7 -7
  192. package/docs/interfaces/Scissor.html +4 -4
  193. package/docs/interfaces/TagConfig.html +3 -3
  194. package/docs/interfaces/Tags.html +3 -3
  195. package/docs/modules.html +21 -21
  196. package/libs/CSS3DRenderPlugin/CSS3DRender.js +7 -1
  197. package/libs/CSS3DRenderPlugin/utils/CSS3DObjectPlus.js +1 -0
  198. package/libs/Object3DHelperPlugin/Controller.js +3 -2
  199. package/libs/PanoTagPlugin/Components/Tag/MarketingTag.js +15 -15
  200. package/libs/PanoTagPlugin/controller/index.js +1 -1
  201. package/libs/PanoTagPlugin/tag.config.js +1 -1
  202. package/libs/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
  203. package/libs/shared-utils/Object3DHelper/Base/BaseController.js +8 -2
  204. package/libs/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  205. package/libs/shared-utils/Object3DHelper/Controller/RectangleScaleController.js +92 -86
  206. package/libs/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  207. package/libs/shared-utils/Object3DHelper/Controller/RotateController.js +17 -8
  208. package/libs/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.js +1 -7
  209. package/libs/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  210. package/libs/shared-utils/Object3DHelper/utils/finiteNumber.js +9 -0
  211. package/package.json +1 -1
@@ -289,8 +289,10 @@ export class CSS3DRender {
289
289
  configurable: true,
290
290
  writable: true,
291
291
  value: (element, resizeHandler, fireImmediately = true) => {
292
- if (!element || !ResizeObserver)
292
+ if (!element) {
293
+ console.error('createResizeObserver: element is undefined');
293
294
  return { observe: () => { }, unobserve: () => { } };
295
+ }
294
296
  const resizeObserverHandler = () => {
295
297
  /**
296
298
  * 这里evenNumber策略是遇到奇数会加1,在某些浏览器中会触发滚动条显示,导致fiveElement变小,fiveElement变小又触发了这里的resize,宽高变小,滚动条消失,然后又触发resize。。。无限循环
@@ -300,6 +302,10 @@ export class CSS3DRender {
300
302
  const height = evenNumber(element.clientHeight, { smaller: true });
301
303
  resizeHandler(width, height);
302
304
  };
305
+ if (typeof ResizeObserver === 'undefined' || !ResizeObserver) {
306
+ console.warn('createResizeObserver: ResizeObserver is undefined');
307
+ return { observe: () => resizeObserverHandler(), unobserve: () => { } };
308
+ }
303
309
  const observer = new ResizeObserver(resizeObserverHandler);
304
310
  if (fireImmediately)
305
311
  resizeObserverHandler();
@@ -8,6 +8,7 @@ const NAME = `CSS3DObjectPlus@${VERSION}`;
8
8
  export const MinRatio = 0.00216;
9
9
  export const DefaultRatio = 0.003;
10
10
  export class CSS3DObjectPlus extends CSS3DObject {
11
+ // eslint-disable-next-line max-params
11
12
  constructor(container, cornerPoints, ratio = DefaultRatio, dpr = 1) {
12
13
  const realRatio = Math.max(MinRatio, ratio);
13
14
  const planeWidth = cornerPoints[0].distanceTo(cornerPoints[1]);
@@ -50,6 +50,7 @@ export class Object3DHelperController extends BasePlugin.Controller {
50
50
  });
51
51
  this.five = five;
52
52
  Object.assign(window, { [`__${PLUGIN_NAME.toUpperCase()}_DEBUG__`]: this });
53
+ // Object.assign(window, { THREE: THREE })
53
54
  }
54
55
  /**
55
56
  * @description Show guide line
@@ -115,6 +116,8 @@ export class Object3DHelperController extends BasePlugin.Controller {
115
116
  */
116
117
  addObject3DHelper(object3D, config = {}) {
117
118
  var _a;
119
+ if (!object3D)
120
+ return console.error('Object3D is undefined');
118
121
  if (this.objectHelperMap.has(object3D)) {
119
122
  console.warn(`Object3DHelperPlugin: object3D ${object3D.name} already has helper`);
120
123
  return;
@@ -162,7 +165,6 @@ export class Object3DHelperController extends BasePlugin.Controller {
162
165
  helper.dispose();
163
166
  }
164
167
  handleEnable(enabled, userAction = true) {
165
- console.log({ enabled });
166
168
  if (enabled) {
167
169
  this.everyHelperDo((helper) => helper.enable());
168
170
  this.hooks.emit('enable', { userAction });
@@ -174,7 +176,6 @@ export class Object3DHelperController extends BasePlugin.Controller {
174
176
  this.state.enabled = enabled;
175
177
  }
176
178
  handleVisible(visible, userAction = true) {
177
- console.log({ visible });
178
179
  if (visible) {
179
180
  this.everyHelperDo((helper) => helper.show());
180
181
  this.actionIfStateIsEnabled(() => this.hooks.emit('show', { userAction }));
@@ -27,7 +27,7 @@ import {
27
27
  import Shadow from '../Common/Shadow';
28
28
 
29
29
  function add_css(target) {
30
- append_styles(target, "svelte-xgzc8c", ".svelte-xgzc8c.svelte-xgzc8c{box-sizing:border-box}.marketing.svelte-xgzc8c.svelte-xgzc8c{transform:translateY(-100%)}.content.svelte-xgzc8c .headerImage.svelte-xgzc8c{position:absolute;width:100%;top:0.25rem;transform:translateY(-100%);border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.line.svelte-xgzc8c.svelte-xgzc8c{position:absolute;height:2.0625rem;width:0.0625rem;left:50%;transform:translateX(-50%);background-color:white;bottom:0;transform-origin:bottom;transition:all 500ms}.content.svelte-xgzc8c.svelte-xgzc8c{background-color:white;position:relative;display:flex;flex-direction:column;min-width:11.125rem;width:-webkit-max-content;width:-moz-max-content;width:max-content;height:-webkit-max-content;height:-moz-max-content;height:max-content;border-radius:0.25rem;top:-1.875rem;left:-1rem;padding:0.5rem 0rem 0.5625rem;transition:all 500ms}.title.svelte-xgzc8c.svelte-xgzc8c{position:absolute;background-color:white;border-radius:0.25rem;width:100%;top:0.5rem;padding-left:0.75rem;padding-right:0.75rem}.title.svelte-xgzc8c .text.svelte-xgzc8c{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:0.75rem;font-weight:bold;line-height:1.125rem;color:#000}.footer.svelte-xgzc8c.svelte-xgzc8c{position:relative;padding-left:0.75rem;padding-right:0.75rem;width:100%;height:1.375rem;display:flex;align-items:center}.footer.svelte-xgzc8c .goto-button.svelte-xgzc8c{flex-shrink:0;white-space:nowrap;background-image:linear-gradient(to right, rgba(87, 144, 253, 1) 0, rgba(42, 114, 254, 1) 100%);color:#fff;font-size:0.625rem;border-radius:0.875rem;font-weight:bold;padding-left:0.5rem;padding-right:0.5rem;height:1.25rem;margin-left:auto;display:flex;align-items:center}.footer.svelte-xgzc8c .goto-icon.svelte-xgzc8c::after{content:'';display:inline-block;width:0.75rem;height:0.75rem;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAeFBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////GqOSsAAAAJ3RSTlMAFNO2pYt4bErz8uP6ysawgVtBPDcR5C4s2L6ZmJBzZGJXUyEeDws/0G2zAAAAkklEQVQ4y+3TRw6DMBAF0OAeJ3QCpCe0uf8NwRILLBYfiS1/aT3JoymnI+sERZ5VCH0iVto3QDfBLmeSSMUTogRV9bBEpJAKaYpGijn13aTSLeraeG9D0NZFZv4/rRL5FDHnITlllqjv6tykWsmX4JHr05y7j6oFKq2P8He48B0tAM0EY0EDxquClw6vLz6EI35GmwwSZpe+WOgAAAAASUVORK5CYII=);background-size:100% auto;background-repeat:no-repeat}.price.svelte-xgzc8c.svelte-xgzc8c{flex-shrink:0;margin-right:0.75rem;white-space:nowrap;color:#ff6600;display:flex;align-items:baseline}.price.svelte-xgzc8c .value.svelte-xgzc8c{position:relative;top:0.0625rem;font-size:1.125rem;line-height:1.375rem;font-family:TG-TYPE, PingFangSC, Segoe UI, Rototo, sans-serif;letter-spacing:0rem}.price.svelte-xgzc8c .unit.svelte-xgzc8c{padding-left:0.125rem;font-size:0.625rem}.tag.svelte-xgzc8c.svelte-xgzc8c{position:relative;background-color:white;display:flex;width:-webkit-max-content;width:-moz-max-content;width:max-content;padding-left:0.75rem;padding-right:0.75rem}.tag.svelte-xgzc8c .base-tag.svelte-xgzc8c{height:1rem;margin-top:1.375rem;margin-bottom:0.5rem;margin-right:0.25rem;font-size:0.625rem;line-height:0.875rem;padding:0.0625rem 0.25rem;border-radius:0.125rem;overflow:hidden}.tag.svelte-xgzc8c .primary-tag.svelte-xgzc8c{background:#e5eefe;color:#0055ff}.tag.svelte-xgzc8c .secondary-tag.svelte-xgzc8c{background:rgba(255, 102, 0, 0.08);color:rgba(255, 102, 0, 1)}.unfolded.svelte-xgzc8c .line.svelte-xgzc8c{transform:translateX(-50%) scale(1, 1)}.folded.svelte-xgzc8c .line.svelte-xgzc8c{transform:translateX(-50%) scale(1, 0);transition-timing-function:ease-in}.unfolded.svelte-xgzc8c .content.svelte-xgzc8c{opacity:1}.folded.svelte-xgzc8c .content.svelte-xgzc8c{opacity:0;transform:translateY(0.425rem);transition-timing-function:ease-in}");
30
+ append_styles(target, "svelte-1dqrka8", ".svelte-1dqrka8.svelte-1dqrka8{box-sizing:border-box}.marketing.svelte-1dqrka8.svelte-1dqrka8{transform:translateY(-100%)}.content.svelte-1dqrka8 .headerImage.svelte-1dqrka8{position:absolute;width:100%;top:0.25rem;transform:translateY(-100%);border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.line.svelte-1dqrka8.svelte-1dqrka8{position:absolute;height:2.0625rem;width:0.0625rem;left:50%;transform:translateX(-50%);background-color:white;bottom:0;transform-origin:bottom;transition:all 500ms}.content.svelte-1dqrka8.svelte-1dqrka8{background-color:white;position:relative;display:flex;flex-direction:column;min-width:11.125rem;width:-webkit-max-content;width:-moz-max-content;width:max-content;height:-webkit-max-content;height:-moz-max-content;height:max-content;border-radius:0.25rem;top:-1.875rem;left:-1rem;padding:0.5rem 0rem 0.5625rem;transition:all 500ms}.title.svelte-1dqrka8.svelte-1dqrka8{position:absolute;background-color:white;border-radius:0.25rem;width:100%;top:0.5rem;padding-left:0.75rem;padding-right:0.75rem}.title.svelte-1dqrka8 .text.svelte-1dqrka8{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:0.75rem;font-weight:bold;line-height:1.125rem;color:#000}.footer.svelte-1dqrka8.svelte-1dqrka8{position:relative;padding-left:0.75rem;padding-right:0.75rem;width:100%;height:1.375rem;display:flex;align-items:center}.footer.svelte-1dqrka8 .goto-button.svelte-1dqrka8{flex-shrink:0;white-space:nowrap;background-image:linear-gradient(to right, rgba(87, 144, 253, 1) 0, rgba(42, 114, 254, 1) 100%);color:#fff;font-size:0.625rem;border-radius:0.875rem;font-weight:bold;padding-left:0.5rem;padding-right:0.5rem;height:1.25rem;margin-left:auto;display:flex;align-items:center}.footer.svelte-1dqrka8 .goto-icon.svelte-1dqrka8::after{content:'';display:inline-block;width:0.75rem;height:0.75rem;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAeFBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////GqOSsAAAAJ3RSTlMAFNO2pYt4bErz8uP6ysawgVtBPDcR5C4s2L6ZmJBzZGJXUyEeDws/0G2zAAAAkklEQVQ4y+3TRw6DMBAF0OAeJ3QCpCe0uf8NwRILLBYfiS1/aT3JoymnI+sERZ5VCH0iVto3QDfBLmeSSMUTogRV9bBEpJAKaYpGijn13aTSLeraeG9D0NZFZv4/rRL5FDHnITlllqjv6tykWsmX4JHr05y7j6oFKq2P8He48B0tAM0EY0EDxquClw6vLz6EI35GmwwSZpe+WOgAAAAASUVORK5CYII=);background-size:100% auto;background-repeat:no-repeat}.price.svelte-1dqrka8.svelte-1dqrka8{flex-shrink:0;margin-right:0.75rem;white-space:nowrap;color:#ff6600;display:flex;align-items:baseline}.price.svelte-1dqrka8 .value.svelte-1dqrka8{position:relative;top:0.0625rem;font-size:1.125rem;line-height:1.375rem;font-family:TG-TYPE, PingFangSC, Segoe UI, Rototo, sans-serif;letter-spacing:0rem}.price.svelte-1dqrka8 .unit.svelte-1dqrka8{padding-left:0.125rem;font-size:0.625rem}.tag.svelte-1dqrka8.svelte-1dqrka8{position:relative;background-color:white;display:flex;width:-webkit-max-content;width:-moz-max-content;width:max-content;padding-left:0.75rem;padding-right:0.75rem;min-height:1.75rem}.tag.svelte-1dqrka8 .base-tag.svelte-1dqrka8{height:1rem;margin-top:1.375rem;margin-bottom:0.5rem;margin-right:0.25rem;font-size:0.625rem;line-height:0.875rem;padding:0.0625rem 0.25rem;border-radius:0.125rem;overflow:hidden}.tag.svelte-1dqrka8 .primary-tag.svelte-1dqrka8{background:#e5eefe;color:#0055ff}.tag.svelte-1dqrka8 .secondary-tag.svelte-1dqrka8{background:rgba(255, 102, 0, 0.08);color:rgba(255, 102, 0, 1)}.unfolded.svelte-1dqrka8 .line.svelte-1dqrka8{transform:translateX(-50%) scale(1, 1)}.folded.svelte-1dqrka8 .line.svelte-1dqrka8{transform:translateX(-50%) scale(1, 0);transition-timing-function:ease-in}.unfolded.svelte-1dqrka8 .content.svelte-1dqrka8{opacity:1}.folded.svelte-1dqrka8 .content.svelte-1dqrka8{opacity:0;transform:translateY(0.425rem);transition-timing-function:ease-in}");
31
31
  }
32
32
 
33
33
  function get_each_context(ctx, list, i) {
@@ -52,7 +52,7 @@ function create_if_block_4(ctx) {
52
52
  c() {
53
53
  div = element("div");
54
54
  t = text(t_value);
55
- attr(div, "class", "base-tag primary-tag svelte-xgzc8c");
55
+ attr(div, "class", "base-tag primary-tag svelte-1dqrka8");
56
56
  },
57
57
  m(target, anchor) {
58
58
  insert(target, div, anchor);
@@ -112,7 +112,7 @@ function create_if_block_3(ctx) {
112
112
  c() {
113
113
  div = element("div");
114
114
  t = text(t_value);
115
- attr(div, "class", "base-tag secondary-tag svelte-xgzc8c");
115
+ attr(div, "class", "base-tag secondary-tag svelte-1dqrka8");
116
116
  },
117
117
  m(target, anchor) {
118
118
  insert(target, div, anchor);
@@ -178,8 +178,8 @@ function create_if_block_1(ctx) {
178
178
  t0 = text(t0_value);
179
179
  t1 = space();
180
180
  if (if_block) if_block.c();
181
- attr(span, "class", "value svelte-xgzc8c");
182
- attr(div, "class", "price svelte-xgzc8c");
181
+ attr(span, "class", "value svelte-1dqrka8");
182
+ attr(div, "class", "price svelte-1dqrka8");
183
183
  },
184
184
  m(target, anchor) {
185
185
  insert(target, div, anchor);
@@ -221,7 +221,7 @@ function create_if_block_2(ctx) {
221
221
  c() {
222
222
  span = element("span");
223
223
  t = text(t_value);
224
- attr(span, "class", "unit svelte-xgzc8c");
224
+ attr(span, "class", "unit svelte-1dqrka8");
225
225
  },
226
226
  m(target, anchor) {
227
227
  insert(target, span, anchor);
@@ -246,7 +246,7 @@ function create_if_block(ctx) {
246
246
  c() {
247
247
  div = element("div");
248
248
  t = text(t_value);
249
- attr(div, "class", "goto-button goto-icon svelte-xgzc8c");
249
+ attr(div, "class", "goto-button goto-icon svelte-1dqrka8");
250
250
  },
251
251
  m(target, anchor) {
252
252
  insert(target, div, anchor);
@@ -342,7 +342,7 @@ function create_fragment(ctx) {
342
342
  if (if_block0) if_block0.c();
343
343
  t7 = space();
344
344
  if (if_block1) if_block1.c();
345
- attr(div0, "class", "line svelte-xgzc8c");
345
+ attr(div0, "class", "line svelte-1dqrka8");
346
346
 
347
347
  set_style(
348
348
  div0,
@@ -353,13 +353,13 @@ function create_fragment(ctx) {
353
353
  false
354
354
  );
355
355
 
356
- attr(img, "class", "headerImage svelte-xgzc8c");
356
+ attr(img, "class", "headerImage svelte-1dqrka8");
357
357
  if (!src_url_equal(img.src, img_src_value = /*data*/ ctx[2].headerPictureUrl)) attr(img, "src", img_src_value);
358
358
  attr(img, "alt", "");
359
- attr(div1, "class", "tag svelte-xgzc8c");
360
- attr(div2, "class", "text svelte-xgzc8c");
361
- attr(div3, "class", "title svelte-xgzc8c");
362
- attr(div4, "class", "footer svelte-xgzc8c");
359
+ attr(div1, "class", "tag svelte-1dqrka8");
360
+ attr(div2, "class", "text svelte-1dqrka8");
361
+ attr(div3, "class", "title svelte-1dqrka8");
362
+ attr(div4, "class", "footer svelte-1dqrka8");
363
363
 
364
364
  set_style(
365
365
  div4,
@@ -370,7 +370,7 @@ function create_fragment(ctx) {
370
370
  false
371
371
  );
372
372
 
373
- attr(div5, "class", "content svelte-xgzc8c");
373
+ attr(div5, "class", "content svelte-1dqrka8");
374
374
 
375
375
  set_style(
376
376
  div5,
@@ -381,7 +381,7 @@ function create_fragment(ctx) {
381
381
  false
382
382
  );
383
383
 
384
- attr(div6, "class", "marketing svelte-xgzc8c");
384
+ attr(div6, "class", "marketing svelte-1dqrka8");
385
385
  toggle_class(div6, "unfolded", /*unfolded*/ ctx[1]);
386
386
  toggle_class(div6, "folded", /*folded*/ ctx[3]);
387
387
  },
@@ -9,7 +9,7 @@ import { TagComputer } from './TagComputer';
9
9
  import { CSS3DRenderPlugin } from '../../CSS3DRenderPlugin';
10
10
  import { DimensionType, PointType } from '../typings';
11
11
  // declare const __APP_VERSION__: string
12
- const VERSION = '0.3.4';
12
+ const VERSION = '0.3.6';
13
13
  const PLUGIN_NAME = `DnalogelPlugin-PanoTagPlugin@${VERSION}`;
14
14
  const TAG_INITIAL_UNFOLDED = true;
15
15
  export const pluginFlag = (name) => `${PLUGIN_NAME}--${name}`;
@@ -14,7 +14,7 @@ const DefaultConfig = {
14
14
  },
15
15
  tag3DConfig: {
16
16
  ratio: 0.0035,
17
- devicePixelRatio: window.devicePixelRatio,
17
+ // devicePixelRatio: window.devicePixelRatio,
18
18
  },
19
19
  },
20
20
  contentTypeConfig: {
@@ -16,6 +16,8 @@ export declare abstract class BaseController<T extends BaseHelper = BaseHelper,
16
16
  protected needsRender: () => void;
17
17
  protected enabled: boolean;
18
18
  constructor(camera: THREE.Camera, model: THREE.Object3D, originObject3D: K, helperObject3D: T, container: HTMLElement, scene: THREE.Scene, needsRender?: () => void);
19
+ initialHelperPosition(): void;
20
+ initialHelperQuaternion(): void;
19
21
  enable(): void;
20
22
  disable(): void;
21
23
  show(): void;
@@ -89,10 +89,16 @@ export class BaseController {
89
89
  this.scene = scene;
90
90
  this.domEvents = new DomEvents(camera, container);
91
91
  this.needsRender = needsRender !== null && needsRender !== void 0 ? needsRender : (() => { });
92
- this.updateHelperQuaternion();
93
- this.updateHelperPosition();
92
+ this.initialHelperPosition();
93
+ this.initialHelperQuaternion();
94
94
  this.enable();
95
95
  }
96
+ initialHelperPosition() {
97
+ this.helperObject3D.updatePosition();
98
+ }
99
+ initialHelperQuaternion() {
100
+ this.helperObject3D.updateQuaternion();
101
+ }
96
102
  enable() {
97
103
  if (this.enabled)
98
104
  return;
@@ -8,8 +8,8 @@ interface StartInfo {
8
8
  position: Vector3;
9
9
  direction: Direction4;
10
10
  };
11
- nsMoveIsNegative?: boolean | null;
12
- ewMoveIsNegative?: boolean | null;
11
+ dragPointInCenterBottom?: boolean | null;
12
+ dragPointInCenterLeft?: boolean | null;
13
13
  plane: THREE.Plane;
14
14
  }
15
15
  export declare abstract class RectangleScaleController<OriginObject3D extends THREE.Object3D, PointType extends THREE.Object3D | HTMLElement> extends BaseController<RectangleScaleHelperAbstract<OriginObject3D, PointType>> {
@@ -2,8 +2,9 @@ import { BaseController } from '../Base/BaseController';
2
2
  import * as THREE from 'three';
3
3
  import { getMouseRaycaster, vectorIsEqual } from '../utils';
4
4
  import { Vector3 } from 'three';
5
- import { negateScale } from '../utils/negateScale';
5
+ import '../utils/negateScale';
6
6
  import '../utils/getPoint';
7
+ import '../utils/finiteNumber';
7
8
  export class RectangleScaleController extends BaseController {
8
9
  constructor(...params) {
9
10
  super(...params);
@@ -40,10 +41,6 @@ export class RectangleScaleController extends BaseController {
40
41
  plane.setFromNormalAndCoplanarPoint(this.originObject3D.getWorldDirection(new Vector3()), positions[0]);
41
42
  else
42
43
  plane.setFromCoplanarPoints(positions[0], positions[1], positions[2]);
43
- // const p0 = getPoint(positions[0]!, 0)
44
- // const p1 = getPoint(positions[1]!, 1)
45
- // const p2 = getPoint(positions[2]!, 2)
46
- // this.scene.add(p0, p1, p2)
47
44
  return plane;
48
45
  }
49
46
  dragStart(mousePoint, point) {
@@ -53,6 +50,7 @@ export class RectangleScaleController extends BaseController {
53
50
  if (!plane)
54
51
  return this.dragEnd();
55
52
  this.startInfo = { startPoint: { position: point.position.clone(), direction: point.direction }, plane };
53
+ // this.scene.add(getPoint(point.position.clone(), 3))
56
54
  this.hooks.emit('scaleStart');
57
55
  this.needsRender();
58
56
  this.isDragging = true;
@@ -65,7 +63,7 @@ export class RectangleScaleController extends BaseController {
65
63
  if (!raycaster)
66
64
  return this.dragEnd();
67
65
  this.scale(raycaster);
68
- console.log('%c RectangleScaleController dragging', 'color: #49de1b');
66
+ // console.log('%c RectangleScaleController dragging', 'color: #49de1b')
69
67
  }
70
68
  scale(raycaster) {
71
69
  var _a, _b;
@@ -81,100 +79,108 @@ export class RectangleScaleController extends BaseController {
81
79
  return;
82
80
  if (vectorIsEqual(planeIntersection, this.camera.position))
83
81
  return;
84
- const referencePosition = cornerPositions[0].clone();
85
82
  const planeCenter = new Vector3().addVectors(cornerPositions[0], cornerPositions[2]).divideScalar(2);
86
83
  const { position: startPosition, direction } = startPoint;
87
- const ewVector = new Vector3().subVectors(cornerPositions[1], referencePosition); // west -> east vector
88
- const nsVector = new Vector3().subVectors(cornerPositions[3], referencePosition); // south -> north vector
84
+ const ewVector = new Vector3().subVectors(cornerPositions[1], cornerPositions[0]); // west -> east vector
85
+ const nsVector = new Vector3().subVectors(cornerPositions[3], cornerPositions[0]); // south -> north vector
89
86
  // eslint-disable-next-line complexity
90
- const getScale = (direction) => {
87
+ const getOffset = (direction) => {
88
+ const defaultVector = new Vector3(0, 0, 0);
89
+ if (!this.startInfo)
90
+ return defaultVector;
91
91
  const baseVector = (direction === 'ew' ? ewVector : nsVector).clone();
92
92
  const startPositionProject = startPosition.clone().projectOnVector(baseVector);
93
93
  const nowPositionProject = planeIntersection.clone().projectOnVector(baseVector);
94
94
  const planeCenterProject = planeCenter.clone().projectOnVector(baseVector);
95
- if (this.startInfo) {
96
- if (direction === 'ns' && typeof this.startInfo.nsMoveIsNegative !== 'boolean') {
97
- const offset = new Vector3().subVectors(nowPositionProject, planeCenterProject);
98
- const xIsNegative = offset.x < 0 && baseVector.x >= 0;
99
- const yIsNegative = offset.y < 0 && baseVector.y >= 0;
100
- const zIsNegative = offset.z < 0 && baseVector.z >= 0;
101
- this.startInfo.nsMoveIsNegative = xIsNegative || yIsNegative || zIsNegative;
95
+ // this.scene.add(getPoint(startPosition, 0))
96
+ // this.scene.add(getPoint(planeIntersection, 0))
97
+ if (nowPositionProject.equals(startPositionProject))
98
+ return defaultVector;
99
+ if (direction === 'ns' && typeof this.startInfo.dragPointInCenterBottom !== 'boolean') {
100
+ const offset = new Vector3().subVectors(nowPositionProject, planeCenterProject);
101
+ const xIsNegative = offset.x < 0 && baseVector.x >= 0;
102
+ const yIsNegative = offset.y < 0 && baseVector.y >= 0;
103
+ const zIsNegative = offset.z < 0 && baseVector.z >= 0;
104
+ this.startInfo.dragPointInCenterBottom = xIsNegative || yIsNegative || zIsNegative;
105
+ }
106
+ if (direction === 'ew' && typeof this.startInfo.dragPointInCenterLeft !== 'boolean') {
107
+ const offset = new Vector3().subVectors(nowPositionProject, planeCenterProject);
108
+ const xIsNegative = offset.x < 0 && baseVector.x >= 0;
109
+ const yIsNegative = offset.y < 0 && baseVector.y >= 0;
110
+ const zIsNegative = offset.z < 0 && baseVector.z >= 0;
111
+ this.startInfo.dragPointInCenterLeft = xIsNegative || yIsNegative || zIsNegative;
112
+ }
113
+ const offset = new Vector3().subVectors(nowPositionProject, startPositionProject);
114
+ // TODO
115
+ if (offset.length() > 0.1)
116
+ return defaultVector;
117
+ return offset;
118
+ };
119
+ const ewOffset = getOffset('ew');
120
+ const nsOffset = getOffset('ns');
121
+ const setEWScale = () => {
122
+ const offset = ewOffset;
123
+ this.helperObject3D.cornerPositions.forEach((position, index) => {
124
+ var _a;
125
+ if ((_a = this.startInfo) === null || _a === void 0 ? void 0 : _a.dragPointInCenterLeft) {
126
+ if (index === 0 || index === 3)
127
+ position.add(offset); // 拖左边,只改左边点
102
128
  }
103
- if (direction === 'ew' && typeof this.startInfo.ewMoveIsNegative !== 'boolean') {
104
- const offset = new Vector3().subVectors(nowPositionProject, planeCenterProject);
105
- const xIsNegative = offset.x < 0 && baseVector.x >= 0;
106
- const yIsNegative = offset.y < 0 && baseVector.y >= 0;
107
- const zIsNegative = offset.z < 0 && baseVector.z >= 0;
108
- this.startInfo.ewMoveIsNegative = xIsNegative || yIsNegative || zIsNegative;
129
+ else {
130
+ if (index === 1 || index === 2)
131
+ position.add(offset); // 拖右边,只改右边点
109
132
  }
110
- }
111
- if (nowPositionProject.equals(startPositionProject))
112
- return;
113
- const startPositionProjectOffset = new Vector3().subVectors(startPositionProject, planeCenterProject);
114
- const nowPositionProjectOffset = new Vector3().subVectors(nowPositionProject, planeCenterProject);
115
- const scale = nowPositionProjectOffset.clone().divide(startPositionProjectOffset);
116
- scale.x = isNaN(scale.x) ? 1 : scale.x;
117
- scale.y = isNaN(scale.y) ? 1 : scale.y;
118
- scale.z = isNaN(scale.z) ? 1 : scale.z;
119
- return scale;
133
+ });
120
134
  };
121
- const nsScale = (_a = getScale('ns')) !== null && _a !== void 0 ? _a : new Vector3(1, 1, 1);
122
- const ewScale = (_b = getScale('ew')) !== null && _b !== void 0 ? _b : new Vector3(1, 1, 1);
123
- const scale = (() => {
124
- switch (direction) {
125
- case 'ew':
126
- return ewScale;
127
- case 'ns':
128
- return nsScale;
129
- case 'nesw':
130
- case 'nwse':
131
- return new Vector3().multiplyVectors(nsScale, ewScale);
132
- }
133
- })();
134
- const halfScale = scale.clone().sub(new Vector3(1, 1, 1)).multiplyScalar(0.5).add(new Vector3(1, 1, 1));
135
- const scaleMatrix = new THREE.Matrix4().scale(halfScale);
135
+ const setNSScale = () => {
136
+ const offset = nsOffset;
137
+ this.helperObject3D.cornerPositions.forEach((position, index) => {
138
+ var _a;
139
+ if ((_a = this.startInfo) === null || _a === void 0 ? void 0 : _a.dragPointInCenterBottom) {
140
+ if (index === 0 || index === 1)
141
+ position.add(offset); // 拖下边,只改下边点
142
+ }
143
+ else {
144
+ if (index === 2 || index === 3)
145
+ position.add(offset); // 拖上边,只改上边点
146
+ }
147
+ });
148
+ };
149
+ switch (direction) {
150
+ case 'ew':
151
+ setEWScale();
152
+ break;
153
+ case 'ns':
154
+ setNSScale();
155
+ break;
156
+ case 'nesw':
157
+ case 'nwse':
158
+ setEWScale();
159
+ setNSScale();
160
+ }
161
+ (_b = (_a = this.helperObject3D).updatePoints) === null || _b === void 0 ? void 0 : _b.call(_a);
162
+ // this.helperObject3D.cornerPositions.forEach((position, index) => {
163
+ // this.scene.add(getPoint(position, index))
164
+ // })
165
+ const scaleX = new Vector3().subVectors(cornerPositions[1], cornerPositions[0]).length() / ewVector.length();
166
+ const scaleY = new Vector3().subVectors(cornerPositions[3], cornerPositions[0]).length() / nsVector.length();
167
+ const scaleXY = new Vector3(scaleX, scaleY, 1);
168
+ console.log(scaleXY);
169
+ const scaleMatrix = new THREE.Matrix4().scale(scaleXY);
136
170
  const newScale = object.scale.clone().applyMatrix4(scaleMatrix);
137
- // const minScale = 0.000001
138
- // newScale.x = Math.max(newScale.x, minScale)
139
- // newScale.y = Math.max(newScale.y, minScale)
140
- // newScale.z = Math.max(newScale.z, minScale)
141
- // if (direction === 'ew' || direction === 'ns') {
142
- // if (newScale.x === minScale || newScale.y === minScale || newScale.z === minScale) return
143
- // }
144
- // if (direction === 'nesw' || direction === 'nwse') {
145
- // if (newScale.x === minScale && newScale.y === minScale) return
146
- // if (newScale.x === minScale && newScale.z === minScale) return
147
- // if (newScale.y === minScale && newScale.z === minScale) return
148
- // }
149
171
  object.scale.copy(newScale); // 或者 object.scale.applyMatrix4(scaleMatrix)
150
- startPoint.position.copy(planeIntersection);
151
172
  this.hooks.emit('scaleUpdate', { matrix4: scaleMatrix, helperOrigin: planeCenter });
173
+ startPoint.position.copy(planeIntersection);
174
+ // =================================================================================================================================================================
175
+ // =================================================================================================================================================================
152
176
  // 移动位置
153
- if (referencePosition) {
154
- const ewMoveScale = this.startInfo.ewMoveIsNegative ? negateScale(ewScale) : ewScale;
155
- const nsMoveScale = this.startInfo.nsMoveIsNegative ? negateScale(nsScale) : nsScale;
156
- const moveScale = (() => {
157
- switch (direction) {
158
- case 'ew':
159
- return ewMoveScale;
160
- case 'ns':
161
- return nsMoveScale;
162
- case 'nesw':
163
- case 'nwse':
164
- return new Vector3().multiplyVectors(ewMoveScale, nsMoveScale);
165
- }
166
- })();
167
- const halfMoveScale = moveScale.clone().sub(new Vector3(1, 1, 1)).multiplyScalar(0.5).add(new Vector3(1, 1, 1));
168
- const objectPosition = object.position.clone();
169
- const newPosition = new Vector3()
170
- .subVectors(objectPosition, referencePosition)
171
- .multiply(halfMoveScale)
172
- .add(referencePosition)
173
- .sub(objectPosition);
174
- const transform = new THREE.Matrix4().setPosition(newPosition);
175
- object.applyMatrix4(transform);
176
- this.hooks.emit('positionUpdate', { matrix4: transform });
177
- }
177
+ const centerPosition = new Vector3().addVectors(cornerPositions[0], cornerPositions[2]).divideScalar(2);
178
+ const offset = new Vector3().subVectors(centerPosition, planeCenter);
179
+ const transform = new THREE.Matrix4().setPosition(offset);
180
+ object.applyMatrix4(transform);
181
+ // this.hooks.emit('scaleUpdate', { matrix4: scaleMatrix, helperOrigin: planeCenter })
182
+ this.hooks.emit('positionUpdate', { matrix4: transform });
183
+ // 移动位置end
178
184
  this.needsRender();
179
185
  }
180
186
  dragEnd() {
@@ -3,10 +3,11 @@ import type { RotateHelperAbstract } from '../Helper';
3
3
  export declare class RotateController<T extends RotateHelperAbstract = RotateHelperAbstract> extends BaseController<T> {
4
4
  private startInfo?;
5
5
  private lastRotation?;
6
+ private a?;
6
7
  private rotations;
7
- private a;
8
8
  private helperObject3DQuaternion;
9
9
  constructor(...params: ConstructorParameters<typeof BaseController<T>>);
10
+ initialHelperQuaternion(): void;
10
11
  /**
11
12
  * @description: 拖动开始,找出拖的Direction
12
13
  */
@@ -17,23 +17,23 @@ export class RotateController extends BaseController {
17
17
  writable: true,
18
18
  value: void 0
19
19
  });
20
- Object.defineProperty(this, "rotations", {
20
+ Object.defineProperty(this, "a", {
21
21
  enumerable: true,
22
22
  configurable: true,
23
23
  writable: true,
24
- value: []
24
+ value: void 0
25
25
  });
26
- Object.defineProperty(this, "a", {
26
+ Object.defineProperty(this, "rotations", {
27
27
  enumerable: true,
28
28
  configurable: true,
29
29
  writable: true,
30
- value: void 0
30
+ value: []
31
31
  });
32
32
  Object.defineProperty(this, "helperObject3DQuaternion", {
33
33
  enumerable: true,
34
34
  configurable: true,
35
35
  writable: true,
36
- value: this.helperObject3D.quaternion.clone()
36
+ value: this.originObject3D.quaternion.clone()
37
37
  });
38
38
  // add hover listener
39
39
  const helper = this.helperObject3D;
@@ -45,6 +45,10 @@ export class RotateController extends BaseController {
45
45
  document.addEventListener('mousemove', dragging);
46
46
  document.addEventListener('mouseup', dragEnd);
47
47
  }
48
+ initialHelperQuaternion() {
49
+ this.helperObject3D.updateAngleHelperQuaternion();
50
+ this.helperObject3D.applyHelperQuaternion(this.originObject3D.quaternion);
51
+ }
48
52
  /**
49
53
  * @description: 拖动开始,找出拖的Direction
50
54
  */
@@ -69,9 +73,9 @@ export class RotateController extends BaseController {
69
73
  this.setTipsPosition(tipsPosition);
70
74
  // end
71
75
  // init plane
72
- const directionX = new THREE.Vector3(1, 0, 0).applyQuaternion(this.helperObject3DQuaternion.clone());
73
- const directionY = new THREE.Vector3(0, 1, 0).applyQuaternion(this.helperObject3DQuaternion.clone());
74
- const directionZ = new THREE.Vector3(0, 0, 1).applyQuaternion(this.helperObject3DQuaternion.clone());
76
+ const directionX = new THREE.Vector3(1, 0, 0).applyQuaternion(this.helperObject3DQuaternion);
77
+ const directionY = new THREE.Vector3(0, 1, 0).applyQuaternion(this.helperObject3DQuaternion);
78
+ const directionZ = new THREE.Vector3(0, 0, 1).applyQuaternion(this.helperObject3DQuaternion);
75
79
  const directionVector = (() => {
76
80
  switch (direction) {
77
81
  case 'x':
@@ -83,6 +87,11 @@ export class RotateController extends BaseController {
83
87
  }
84
88
  })();
85
89
  const plane = new THREE.Plane().setFromNormalAndCoplanarPoint(directionVector, startIntersect);
90
+ // this.a && this.scene.remove(this.a)
91
+ // const h = new THREE.PlaneHelper(plane, 1)
92
+ // console.log(h.position)
93
+ // this.scene.add(h)
94
+ // this.a = h
86
95
  // end
87
96
  // init startVectorProject
88
97
  const projectPoint = new THREE.Vector3();
@@ -4,6 +4,7 @@ import { RectangleScaleHelperAbstract } from '.';
4
4
  import { CSS3DObject } from 'three/examples/jsm/renderers/CSS3DRenderer';
5
5
  import { rectangleScaleDom } from './HTML/rectangleScaleDom';
6
6
  import { CSS3DObjectPlus } from '../../../CSS3DRenderPlugin/utils/CSS3DObjectPlus';
7
+ import '../utils/getPoint';
7
8
  export class RectangleScaleHelper extends RectangleScaleHelperAbstract {
8
9
  constructor(originObject3D, container, camera, scene) {
9
10
  super(originObject3D);
@@ -98,13 +99,6 @@ export class RectangleScaleHelper extends RectangleScaleHelperAbstract {
98
99
  var _a, _b;
99
100
  (_a = this.css3DInstance) === null || _a === void 0 ? void 0 : _a.css3DObject.scale.applyMatrix4(matrix);
100
101
  (_b = this.plane) === null || _b === void 0 ? void 0 : _b.scale.applyMatrix4(matrix);
101
- const { origin, helperOrigin } = params !== null && params !== void 0 ? params : {};
102
- if (!helperOrigin)
103
- return;
104
- this.cornerPositions.forEach((position) => {
105
- position.subVectors(position, helperOrigin).applyMatrix4(matrix).add(helperOrigin);
106
- });
107
- this.updatePoints();
108
102
  }
109
103
  updatePoints() {
110
104
  const position8 = this.calculatePointPosition(this.cornerPositions);
@@ -0,0 +1 @@
1
+ export default function finiteNumber(value: number | undefined | null | void, defaultValue?: number): number;
@@ -0,0 +1,9 @@
1
+ export default function finiteNumber(value, defaultValue = 0) {
2
+ if (typeof value === 'undefined' || value === null)
3
+ return defaultValue;
4
+ if (typeof value === 'number') {
5
+ if (Number.isNaN(value) || !Number.isFinite(value))
6
+ return defaultValue;
7
+ }
8
+ return value;
9
+ }
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "repository": "https://github.com/realsee-developer/dnalogel.git",
9
9
  "description": "如视 VR 看房插件合集",
10
10
  "private": false,
11
- "version": "2.1.0-alpha.6",
11
+ "version": "2.1.0-alpha.7",
12
12
  "license": "SEE LICENSE IN TERMS.txt",
13
13
  "scripts": {
14
14
  "build": "yarn run tsb && yarn run build:rollup && yarn run build:components && yarn build:docs",