@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.
- package/dist/CSS3DRenderPlugin/index.js +8 -1
- package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
- package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
- package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/CruisePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
- package/dist/CruisePlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/CruisePlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/CruisePlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/GuideLinePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
- package/dist/GuideLinePlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/GuideLinePlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/GuideLinePlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
- package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
- package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
- package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
- package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
- package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
- package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/ModelViewPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
- package/dist/ModelViewPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/ModelViewPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/ModelViewPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/Object3DHelperPlugin/index.js +126 -109
- package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
- package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/PanoCompassPlugin/index.js +8 -1
- package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
- package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
- package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
- package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
- package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
- package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
- package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/PanoSpatialTagPlugin/index.js +8 -1
- package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
- package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/PanoTagPlugin/index.js +25 -18
- package/dist/PanoTagPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
- package/dist/PanoTagPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/PanoTagPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/PanoTagPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
- package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
- package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
- package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
- package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/index.es.js +143 -126
- package/dist/index.js +143 -126
- package/dist/index.umd.js +143 -126
- package/dist/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
- package/dist/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/docs/classes/CruisePluginController.html +14 -14
- package/docs/classes/Magnifier.html +4 -4
- package/docs/classes/ModelRoomLabelController.html +4 -4
- package/docs/classes/Object3DHelperController.html +9 -9
- package/docs/classes/PanoTagPluginController.html +25 -25
- package/docs/enums/CameraMovementEffect.html +1 -1
- package/docs/enums/ContentType.html +7 -7
- package/docs/enums/DIRECTION.html +1 -1
- package/docs/enums/DISPLAY_STRATEGY_TYPE.html +1 -1
- package/docs/enums/DimensionType.html +1 -1
- package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +1 -1
- package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +1 -1
- package/docs/enums/LinkType.html +1 -1
- package/docs/enums/PointType.html +1 -1
- package/docs/enums/Rotation.html +1 -1
- package/docs/interfaces/CSS3DRenderPluginEventMap.html +2 -2
- package/docs/interfaces/CSS3DRenderPluginState.html +2 -2
- package/docs/interfaces/CameraMovementPluginExportType.html +2 -2
- package/docs/interfaces/FloorplanBounding.html +3 -3
- package/docs/interfaces/FloorplanData.html +1 -1
- package/docs/interfaces/FloorplanEntrance.html +6 -6
- package/docs/interfaces/FloorplanExtraObject.html +2 -2
- package/docs/interfaces/FloorplanExtraObject3D.html +1 -1
- package/docs/interfaces/FloorplanFloorData.html +1 -1
- package/docs/interfaces/FloorplanImagePosition.html +1 -1
- package/docs/interfaces/FloorplanObserver.html +1 -1
- package/docs/interfaces/FloorplanOutlineItem.html +1 -1
- package/docs/interfaces/FloorplanPosition.html +1 -1
- package/docs/interfaces/FloorplanRoomItem.html +5 -5
- package/docs/interfaces/FloorplanRoomLabelItem.html +2 -2
- package/docs/interfaces/FloorplanServerBounding.html +3 -3
- package/docs/interfaces/FloorplanServerComputedData.html +1 -1
- package/docs/interfaces/FloorplanServerData.html +1 -1
- package/docs/interfaces/FloorplanServerDoorItem.html +1 -1
- package/docs/interfaces/FloorplanServerDoorPosition.html +1 -1
- package/docs/interfaces/FloorplanServerEntrance.html +6 -6
- package/docs/interfaces/FloorplanServerFloorData.html +1 -1
- package/docs/interfaces/FloorplanServerImagePosition.html +1 -1
- package/docs/interfaces/FloorplanServerObserver.html +1 -1
- package/docs/interfaces/FloorplanServerOutlineItem.html +1 -1
- package/docs/interfaces/FloorplanServerPosition.html +1 -1
- package/docs/interfaces/FloorplanServerRoomItem.html +6 -6
- package/docs/interfaces/FloorplanServerRoomLabelItem.html +2 -2
- package/docs/interfaces/ItemLabelPluginData.html +1 -1
- package/docs/interfaces/ItemLabelPluginExportReturnsType.html +1 -1
- package/docs/interfaces/ItemLabelPluginParametersType.html +1 -1
- package/docs/interfaces/LineJson.html +1 -1
- package/docs/interfaces/ModelChassisCompassPluginData.html +1 -1
- package/docs/interfaces/ModelChassisCompassPluginExportType.html +1 -1
- package/docs/interfaces/ModelChassisCompassPluginParameterType.html +1 -1
- package/docs/interfaces/ModelEntryDoorGuidePluginData.html +1 -1
- package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +1 -1
- package/docs/interfaces/ModelItemLabelPluginData.html +1 -1
- package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +1 -1
- package/docs/interfaces/ModelItemLabelPluginParametersType.html +1 -1
- package/docs/interfaces/ModelRoomLabelPluginData.html +1 -1
- package/docs/interfaces/ModelTVVideoPluginData.html +1 -1
- package/docs/interfaces/ModelTVVideoPluginExportType.html +1 -1
- package/docs/interfaces/ModelTVVideoPluginParameterType.html +1 -1
- package/docs/interfaces/ModelViewPluginExportType.html +1 -1
- package/docs/interfaces/Object3DHelperState.html +1 -1
- package/docs/interfaces/OpenParameter.html +1 -1
- package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +6 -6
- package/docs/interfaces/PanoMeasureParameterType.html +1 -1
- package/docs/interfaces/PanoRulerPluginExportType.html +1 -1
- package/docs/interfaces/PanoRulerPluginOptions.html +1 -1
- package/docs/interfaces/PanoRulerPluginParameterType.html +1 -1
- package/docs/interfaces/PanoRulerProPluginExportType.html +1 -1
- package/docs/interfaces/PanoRulerProPluginOptions.html +1 -1
- package/docs/interfaces/PanoRulerProPluginParameterType.html +1 -1
- package/docs/interfaces/PanoRulerProPluginState.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginData.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginDataElement.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginExportType.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginParameterType.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginPointElement.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginTagElement.html +1 -1
- package/docs/interfaces/Point.html +1 -1
- package/docs/interfaces/PointJson.html +1 -1
- package/docs/interfaces/Room.html +1 -1
- package/docs/interfaces/RoomInfo.html +1 -1
- package/docs/interfaces/RoomLabel.html +7 -7
- package/docs/interfaces/Scissor.html +4 -4
- package/docs/interfaces/TagConfig.html +3 -3
- package/docs/interfaces/Tags.html +3 -3
- package/docs/modules.html +21 -21
- package/libs/CSS3DRenderPlugin/CSS3DRender.js +7 -1
- package/libs/CSS3DRenderPlugin/utils/CSS3DObjectPlus.js +1 -0
- package/libs/Object3DHelperPlugin/Controller.js +3 -2
- package/libs/PanoTagPlugin/Components/Tag/MarketingTag.js +15 -15
- package/libs/PanoTagPlugin/controller/index.js +1 -1
- package/libs/PanoTagPlugin/tag.config.js +1 -1
- package/libs/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -0
- package/libs/shared-utils/Object3DHelper/Base/BaseController.js +8 -2
- package/libs/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/libs/shared-utils/Object3DHelper/Controller/RectangleScaleController.js +92 -86
- package/libs/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/libs/shared-utils/Object3DHelper/Controller/RotateController.js +17 -8
- package/libs/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.js +1 -7
- package/libs/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/libs/shared-utils/Object3DHelper/utils/finiteNumber.js +9 -0
- 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
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
182
|
-
attr(div, "class", "price svelte-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
360
|
-
attr(div2, "class", "text svelte-
|
|
361
|
-
attr(div3, "class", "title svelte-
|
|
362
|
-
attr(div4, "class", "footer svelte-
|
|
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-
|
|
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-
|
|
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.
|
|
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}`;
|
|
@@ -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.
|
|
93
|
-
this.
|
|
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
|
-
|
|
12
|
-
|
|
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
|
|
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],
|
|
88
|
-
const nsVector = new Vector3().subVectors(cornerPositions[3],
|
|
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
|
|
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
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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
|
-
|
|
104
|
-
|
|
105
|
-
|
|
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
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
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
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
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, "
|
|
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, "
|
|
26
|
+
Object.defineProperty(this, "rotations", {
|
|
27
27
|
enumerable: true,
|
|
28
28
|
configurable: true,
|
|
29
29
|
writable: true,
|
|
30
|
-
value:
|
|
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.
|
|
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
|
|
73
|
-
const directionY = new THREE.Vector3(0, 1, 0).applyQuaternion(this.helperObject3DQuaternion
|
|
74
|
-
const directionZ = new THREE.Vector3(0, 0, 1).applyQuaternion(this.helperObject3DQuaternion
|
|
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.
|
|
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",
|