@realsee/dnalogel 2.0.0-alpha.53 → 2.0.0-alpha.54
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/CruisePlugin/index.d.ts +2 -2
- package/dist/CSS3DRenderPlugin/CruisePlugin/typing.d.ts +11 -1
- package/dist/CSS3DRenderPlugin/CruisePlugin/utils/sleep.d.ts +1 -0
- package/dist/CSS3DRenderPlugin/GuideLinePlugin/index.d.ts +1 -1
- package/dist/CSS3DRenderPlugin/GuideLinePlugin/utils/getArrowMaterial.d.ts +1 -1
- package/dist/CSS3DRenderPlugin/GuideLinePlugin/utils/getLineGeometry.d.ts +1 -1
- package/dist/CameraMovementPlugin/CruisePlugin/index.d.ts +2 -2
- package/dist/CameraMovementPlugin/CruisePlugin/typing.d.ts +11 -1
- package/dist/CameraMovementPlugin/CruisePlugin/utils/sleep.d.ts +1 -0
- package/dist/CameraMovementPlugin/GuideLinePlugin/index.d.ts +1 -1
- package/dist/CameraMovementPlugin/GuideLinePlugin/utils/getArrowMaterial.d.ts +1 -1
- package/dist/CameraMovementPlugin/GuideLinePlugin/utils/getLineGeometry.d.ts +1 -1
- package/dist/CruisePlugin/CruisePlugin/index.d.ts +2 -2
- package/dist/CruisePlugin/CruisePlugin/typing.d.ts +11 -1
- package/dist/CruisePlugin/CruisePlugin/utils/sleep.d.ts +1 -0
- package/dist/CruisePlugin/GuideLinePlugin/index.d.ts +1 -1
- package/dist/CruisePlugin/GuideLinePlugin/utils/getArrowMaterial.d.ts +1 -1
- package/dist/CruisePlugin/GuideLinePlugin/utils/getLineGeometry.d.ts +1 -1
- package/dist/CruisePlugin/index.d.ts +2 -2
- package/dist/CruisePlugin/index.js +77 -36
- package/dist/CruisePlugin/typing.d.ts +11 -1
- package/dist/CruisePlugin/utils/sleep.d.ts +1 -0
- package/dist/GuideLinePlugin/CruisePlugin/index.d.ts +2 -2
- package/dist/GuideLinePlugin/CruisePlugin/typing.d.ts +11 -1
- package/dist/GuideLinePlugin/CruisePlugin/utils/sleep.d.ts +1 -0
- package/dist/GuideLinePlugin/GuideLinePlugin/index.d.ts +1 -1
- package/dist/GuideLinePlugin/GuideLinePlugin/utils/getArrowMaterial.d.ts +1 -1
- package/dist/GuideLinePlugin/GuideLinePlugin/utils/getLineGeometry.d.ts +1 -1
- package/dist/GuideLinePlugin/index.d.ts +1 -1
- package/dist/GuideLinePlugin/index.js +13 -8
- package/dist/GuideLinePlugin/utils/getArrowMaterial.d.ts +1 -1
- package/dist/GuideLinePlugin/utils/getLineGeometry.d.ts +1 -1
- package/dist/ItemLabelPlugin/CruisePlugin/index.d.ts +2 -2
- package/dist/ItemLabelPlugin/CruisePlugin/typing.d.ts +11 -1
- package/dist/ItemLabelPlugin/CruisePlugin/utils/sleep.d.ts +1 -0
- package/dist/ItemLabelPlugin/GuideLinePlugin/index.d.ts +1 -1
- package/dist/ItemLabelPlugin/GuideLinePlugin/utils/getArrowMaterial.d.ts +1 -1
- package/dist/ItemLabelPlugin/GuideLinePlugin/utils/getLineGeometry.d.ts +1 -1
- package/dist/ModelChassisCompassPlugin/CruisePlugin/index.d.ts +2 -2
- package/dist/ModelChassisCompassPlugin/CruisePlugin/typing.d.ts +11 -1
- package/dist/ModelChassisCompassPlugin/CruisePlugin/utils/sleep.d.ts +1 -0
- package/dist/ModelChassisCompassPlugin/GuideLinePlugin/index.d.ts +1 -1
- package/dist/ModelChassisCompassPlugin/GuideLinePlugin/utils/getArrowMaterial.d.ts +1 -1
- package/dist/ModelChassisCompassPlugin/GuideLinePlugin/utils/getLineGeometry.d.ts +1 -1
- package/dist/ModelEntryDoorGuidePlugin/CruisePlugin/index.d.ts +2 -2
- package/dist/ModelEntryDoorGuidePlugin/CruisePlugin/typing.d.ts +11 -1
- package/dist/ModelEntryDoorGuidePlugin/CruisePlugin/utils/sleep.d.ts +1 -0
- package/dist/ModelEntryDoorGuidePlugin/GuideLinePlugin/index.d.ts +1 -1
- package/dist/ModelEntryDoorGuidePlugin/GuideLinePlugin/utils/getArrowMaterial.d.ts +1 -1
- package/dist/ModelEntryDoorGuidePlugin/GuideLinePlugin/utils/getLineGeometry.d.ts +1 -1
- package/dist/ModelItemLabelPlugin/CruisePlugin/index.d.ts +2 -2
- package/dist/ModelItemLabelPlugin/CruisePlugin/typing.d.ts +11 -1
- package/dist/ModelItemLabelPlugin/CruisePlugin/utils/sleep.d.ts +1 -0
- package/dist/ModelItemLabelPlugin/GuideLinePlugin/index.d.ts +1 -1
- package/dist/ModelItemLabelPlugin/GuideLinePlugin/utils/getArrowMaterial.d.ts +1 -1
- package/dist/ModelItemLabelPlugin/GuideLinePlugin/utils/getLineGeometry.d.ts +1 -1
- package/dist/ModelRoomLabelPlugin/CruisePlugin/index.d.ts +2 -2
- package/dist/ModelRoomLabelPlugin/CruisePlugin/typing.d.ts +11 -1
- package/dist/ModelRoomLabelPlugin/CruisePlugin/utils/sleep.d.ts +1 -0
- package/dist/ModelRoomLabelPlugin/GuideLinePlugin/index.d.ts +1 -1
- package/dist/ModelRoomLabelPlugin/GuideLinePlugin/utils/getArrowMaterial.d.ts +1 -1
- package/dist/ModelRoomLabelPlugin/GuideLinePlugin/utils/getLineGeometry.d.ts +1 -1
- package/dist/ModelTVVideoPlugin/CruisePlugin/index.d.ts +2 -2
- package/dist/ModelTVVideoPlugin/CruisePlugin/typing.d.ts +11 -1
- package/dist/ModelTVVideoPlugin/CruisePlugin/utils/sleep.d.ts +1 -0
- package/dist/ModelTVVideoPlugin/GuideLinePlugin/index.d.ts +1 -1
- package/dist/ModelTVVideoPlugin/GuideLinePlugin/utils/getArrowMaterial.d.ts +1 -1
- package/dist/ModelTVVideoPlugin/GuideLinePlugin/utils/getLineGeometry.d.ts +1 -1
- package/dist/ModelViewPlugin/CruisePlugin/index.d.ts +2 -2
- package/dist/ModelViewPlugin/CruisePlugin/typing.d.ts +11 -1
- package/dist/ModelViewPlugin/CruisePlugin/utils/sleep.d.ts +1 -0
- package/dist/ModelViewPlugin/GuideLinePlugin/index.d.ts +1 -1
- package/dist/ModelViewPlugin/GuideLinePlugin/utils/getArrowMaterial.d.ts +1 -1
- package/dist/ModelViewPlugin/GuideLinePlugin/utils/getLineGeometry.d.ts +1 -1
- package/dist/PanoCompassPlugin/CruisePlugin/index.d.ts +2 -2
- package/dist/PanoCompassPlugin/CruisePlugin/typing.d.ts +11 -1
- package/dist/PanoCompassPlugin/CruisePlugin/utils/sleep.d.ts +1 -0
- package/dist/PanoCompassPlugin/GuideLinePlugin/index.d.ts +1 -1
- package/dist/PanoCompassPlugin/GuideLinePlugin/utils/getArrowMaterial.d.ts +1 -1
- package/dist/PanoCompassPlugin/GuideLinePlugin/utils/getLineGeometry.d.ts +1 -1
- package/dist/PanoCursorRaycasterPlugin/CruisePlugin/index.d.ts +2 -2
- package/dist/PanoCursorRaycasterPlugin/CruisePlugin/typing.d.ts +11 -1
- package/dist/PanoCursorRaycasterPlugin/CruisePlugin/utils/sleep.d.ts +1 -0
- package/dist/PanoCursorRaycasterPlugin/GuideLinePlugin/index.d.ts +1 -1
- package/dist/PanoCursorRaycasterPlugin/GuideLinePlugin/utils/getArrowMaterial.d.ts +1 -1
- package/dist/PanoCursorRaycasterPlugin/GuideLinePlugin/utils/getLineGeometry.d.ts +1 -1
- package/dist/PanoDoorLabelPlugin/CruisePlugin/index.d.ts +2 -2
- package/dist/PanoDoorLabelPlugin/CruisePlugin/typing.d.ts +11 -1
- package/dist/PanoDoorLabelPlugin/CruisePlugin/utils/sleep.d.ts +1 -0
- package/dist/PanoDoorLabelPlugin/GuideLinePlugin/index.d.ts +1 -1
- package/dist/PanoDoorLabelPlugin/GuideLinePlugin/utils/getArrowMaterial.d.ts +1 -1
- package/dist/PanoDoorLabelPlugin/GuideLinePlugin/utils/getLineGeometry.d.ts +1 -1
- package/dist/PanoMeasurePlugin/CruisePlugin/index.d.ts +2 -2
- package/dist/PanoMeasurePlugin/CruisePlugin/typing.d.ts +11 -1
- package/dist/PanoMeasurePlugin/CruisePlugin/utils/sleep.d.ts +1 -0
- package/dist/PanoMeasurePlugin/GuideLinePlugin/index.d.ts +1 -1
- package/dist/PanoMeasurePlugin/GuideLinePlugin/utils/getArrowMaterial.d.ts +1 -1
- package/dist/PanoMeasurePlugin/GuideLinePlugin/utils/getLineGeometry.d.ts +1 -1
- package/dist/PanoRulerPlugin/CruisePlugin/index.d.ts +2 -2
- package/dist/PanoRulerPlugin/CruisePlugin/typing.d.ts +11 -1
- package/dist/PanoRulerPlugin/CruisePlugin/utils/sleep.d.ts +1 -0
- package/dist/PanoRulerPlugin/GuideLinePlugin/index.d.ts +1 -1
- package/dist/PanoRulerPlugin/GuideLinePlugin/utils/getArrowMaterial.d.ts +1 -1
- package/dist/PanoRulerPlugin/GuideLinePlugin/utils/getLineGeometry.d.ts +1 -1
- package/dist/PanoRulerProPlugin/CruisePlugin/index.d.ts +2 -2
- package/dist/PanoRulerProPlugin/CruisePlugin/typing.d.ts +11 -1
- package/dist/PanoRulerProPlugin/CruisePlugin/utils/sleep.d.ts +1 -0
- package/dist/PanoRulerProPlugin/GuideLinePlugin/index.d.ts +1 -1
- package/dist/PanoRulerProPlugin/GuideLinePlugin/utils/getArrowMaterial.d.ts +1 -1
- package/dist/PanoRulerProPlugin/GuideLinePlugin/utils/getLineGeometry.d.ts +1 -1
- package/dist/PanoSpatialTagPlugin/CruisePlugin/index.d.ts +2 -2
- package/dist/PanoSpatialTagPlugin/CruisePlugin/typing.d.ts +11 -1
- package/dist/PanoSpatialTagPlugin/CruisePlugin/utils/sleep.d.ts +1 -0
- package/dist/PanoSpatialTagPlugin/GuideLinePlugin/index.d.ts +1 -1
- package/dist/PanoSpatialTagPlugin/GuideLinePlugin/utils/getArrowMaterial.d.ts +1 -1
- package/dist/PanoSpatialTagPlugin/GuideLinePlugin/utils/getLineGeometry.d.ts +1 -1
- package/dist/floorplan/MapviewFloorplanPlugin/CruisePlugin/index.d.ts +2 -2
- package/dist/floorplan/MapviewFloorplanPlugin/CruisePlugin/typing.d.ts +11 -1
- package/dist/floorplan/MapviewFloorplanPlugin/CruisePlugin/utils/sleep.d.ts +1 -0
- package/dist/floorplan/MapviewFloorplanPlugin/GuideLinePlugin/index.d.ts +1 -1
- package/dist/floorplan/MapviewFloorplanPlugin/GuideLinePlugin/utils/getArrowMaterial.d.ts +1 -1
- package/dist/floorplan/MapviewFloorplanPlugin/GuideLinePlugin/utils/getLineGeometry.d.ts +1 -1
- package/dist/floorplan/ModelFloorplanPlugin/CruisePlugin/index.d.ts +2 -2
- package/dist/floorplan/ModelFloorplanPlugin/CruisePlugin/typing.d.ts +11 -1
- package/dist/floorplan/ModelFloorplanPlugin/CruisePlugin/utils/sleep.d.ts +1 -0
- package/dist/floorplan/ModelFloorplanPlugin/GuideLinePlugin/index.d.ts +1 -1
- package/dist/floorplan/ModelFloorplanPlugin/GuideLinePlugin/utils/getArrowMaterial.d.ts +1 -1
- package/dist/floorplan/ModelFloorplanPlugin/GuideLinePlugin/utils/getLineGeometry.d.ts +1 -1
- package/dist/floorplan/PanoFloorplanRadarPlugin/CruisePlugin/index.d.ts +2 -2
- package/dist/floorplan/PanoFloorplanRadarPlugin/CruisePlugin/typing.d.ts +11 -1
- package/dist/floorplan/PanoFloorplanRadarPlugin/CruisePlugin/utils/sleep.d.ts +1 -0
- package/dist/floorplan/PanoFloorplanRadarPlugin/GuideLinePlugin/index.d.ts +1 -1
- package/dist/floorplan/PanoFloorplanRadarPlugin/GuideLinePlugin/utils/getArrowMaterial.d.ts +1 -1
- package/dist/floorplan/PanoFloorplanRadarPlugin/GuideLinePlugin/utils/getLineGeometry.d.ts +1 -1
- package/dist/floorplan/TopviewFloorplanPlugin/CruisePlugin/index.d.ts +2 -2
- package/dist/floorplan/TopviewFloorplanPlugin/CruisePlugin/typing.d.ts +11 -1
- package/dist/floorplan/TopviewFloorplanPlugin/CruisePlugin/utils/sleep.d.ts +1 -0
- package/dist/floorplan/TopviewFloorplanPlugin/GuideLinePlugin/index.d.ts +1 -1
- package/dist/floorplan/TopviewFloorplanPlugin/GuideLinePlugin/utils/getArrowMaterial.d.ts +1 -1
- package/dist/floorplan/TopviewFloorplanPlugin/GuideLinePlugin/utils/getLineGeometry.d.ts +1 -1
- package/dist/index.es.js +77 -36
- package/dist/index.js +77 -36
- package/dist/index.umd.js +77 -36
- package/docs/assets/search.js +1 -1
- package/docs/classes/CruisePluginController.html +14 -14
- package/docs/classes/Magnifier.html +4 -4
- package/docs/classes/ModelRoomLabelController.html +4 -4
- package/docs/enums/CameraMovementEffect.html +2 -2
- package/docs/enums/DIRECTION.html +1 -1
- package/docs/enums/DISPLAY_STRATEGY_TYPE.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/Rotation.html +2 -2
- package/docs/index.html +2 -2
- package/docs/interfaces/CSS3DRenderPluginExportType.html +2 -2
- package/docs/interfaces/CameraMovementPluginExportType.html +2 -2
- package/docs/interfaces/EventMap.html +15 -0
- package/docs/interfaces/FloorplanBounding.html +4 -4
- package/docs/interfaces/FloorplanData.html +2 -2
- package/docs/interfaces/FloorplanEntrance.html +7 -7
- package/docs/interfaces/FloorplanExtraObject.html +3 -3
- package/docs/interfaces/FloorplanExtraObject3D.html +2 -2
- package/docs/interfaces/FloorplanFloorData.html +2 -2
- package/docs/interfaces/FloorplanImagePosition.html +2 -2
- package/docs/interfaces/FloorplanObserver.html +2 -2
- package/docs/interfaces/FloorplanOutlineItem.html +2 -2
- package/docs/interfaces/FloorplanPosition.html +2 -2
- package/docs/interfaces/FloorplanRoomItem.html +6 -6
- package/docs/interfaces/FloorplanRoomLabelItem.html +3 -3
- package/docs/interfaces/FloorplanServerBounding.html +4 -4
- package/docs/interfaces/FloorplanServerComputedData.html +1 -1
- package/docs/interfaces/FloorplanServerData.html +2 -2
- package/docs/interfaces/FloorplanServerDoorItem.html +1 -1
- package/docs/interfaces/FloorplanServerDoorPosition.html +1 -1
- package/docs/interfaces/FloorplanServerEntrance.html +7 -7
- package/docs/interfaces/FloorplanServerFloorData.html +2 -2
- package/docs/interfaces/FloorplanServerImagePosition.html +2 -2
- package/docs/interfaces/FloorplanServerObserver.html +2 -2
- package/docs/interfaces/FloorplanServerOutlineItem.html +2 -2
- package/docs/interfaces/FloorplanServerPosition.html +2 -2
- package/docs/interfaces/FloorplanServerRoomItem.html +7 -7
- package/docs/interfaces/FloorplanServerRoomLabelItem.html +3 -3
- 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/OpenParameter.html +2 -2
- package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +6 -6
- package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -1
- 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/PanoSpatialTagPluginContentEvent.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginContentReplacement.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/PluginData.html +1 -0
- package/docs/interfaces/PluginServerData.html +3 -0
- package/docs/interfaces/PluginState.html +5 -0
- 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/RoomRules.html +1 -1
- package/docs/interfaces/Rooms.html +1 -1
- package/docs/interfaces/Route.html +1 -0
- package/docs/modules.html +18 -18
- package/libs/CruisePlugin/Controller.js +57 -28
- package/libs/CruisePlugin/index.d.ts +2 -2
- package/libs/CruisePlugin/index.js +1 -2
- package/libs/CruisePlugin/typing.d.ts +11 -1
- package/libs/CruisePlugin/utils/sleep.d.ts +1 -0
- package/libs/CruisePlugin/utils/sleep.js +7 -0
- package/libs/GuideLinePlugin/Controller.js +3 -3
- package/libs/GuideLinePlugin/index.d.ts +1 -1
- package/libs/GuideLinePlugin/index.js +1 -0
- package/libs/GuideLinePlugin/utils/getArrowMaterial.d.ts +1 -1
- package/libs/GuideLinePlugin/utils/getArrowMaterial.js +6 -1
- package/libs/GuideLinePlugin/utils/getLineGeometry.d.ts +1 -1
- package/libs/GuideLinePlugin/utils/getLineGeometry.js +4 -4
- package/package.json +1 -1
|
@@ -7,7 +7,8 @@ import equal from '../shared-utils/equal';
|
|
|
7
7
|
import { vectorToCoordinates } from './utils/vectorToCoordinates';
|
|
8
8
|
import * as THREE from 'three';
|
|
9
9
|
import linerValue from './utils/linerValue';
|
|
10
|
-
|
|
10
|
+
import { sleep } from './utils/sleep';
|
|
11
|
+
const VERSION = 'v1.0.6';
|
|
11
12
|
const PLUGIN_NAME = 'CruisePlugin';
|
|
12
13
|
const PLUGIN = `${PLUGIN_NAME}@${VERSION}`;
|
|
13
14
|
export const pluginFlag = (name) => `${PLUGIN}--${name}`;
|
|
@@ -38,7 +39,7 @@ export default class CruisePluginController extends BasePluginWithData.Controlle
|
|
|
38
39
|
speedConfig: {
|
|
39
40
|
rotateSpeed: 0.001,
|
|
40
41
|
rotateSpeedUnit: 'rad/ms',
|
|
41
|
-
moveSpeed: 0.
|
|
42
|
+
moveSpeed: 0.002,
|
|
42
43
|
moveSpeedUnit: 'm/ms',
|
|
43
44
|
},
|
|
44
45
|
},
|
|
@@ -254,12 +255,24 @@ export default class CruisePluginController extends BasePluginWithData.Controlle
|
|
|
254
255
|
if (data.keyframes) {
|
|
255
256
|
return {
|
|
256
257
|
keyframesId: uuid(),
|
|
257
|
-
keyframes: data.keyframes.map((keyframe, index) => {
|
|
258
|
+
keyframes: data.keyframes.map((keyframe, index) => {
|
|
259
|
+
var _a;
|
|
260
|
+
const nextKeyframe = data.keyframes[index + 1];
|
|
261
|
+
const stay = (() => {
|
|
262
|
+
if (!nextKeyframe)
|
|
263
|
+
return 0;
|
|
264
|
+
if (nextKeyframe.start === undefined || keyframe.end === undefined)
|
|
265
|
+
return 0;
|
|
266
|
+
return nextKeyframe.start - keyframe.end;
|
|
267
|
+
})();
|
|
268
|
+
return Object.assign({ id: (_a = keyframe.uuid) !== null && _a !== void 0 ? _a : uuid(), moveIndex: index, stay, index }, keyframe);
|
|
269
|
+
}),
|
|
258
270
|
};
|
|
259
271
|
}
|
|
260
272
|
else if (data.panoIndexList) {
|
|
261
273
|
let keyframes = [];
|
|
262
|
-
const moveEffect = data
|
|
274
|
+
const { moveEffect, moveToFirstPanoEffect } = data;
|
|
275
|
+
this.privateState.moveToFirstPanoEffect = moveToFirstPanoEffect;
|
|
263
276
|
data.panoIndexList
|
|
264
277
|
.filter((panoIndex, index) => panoIndex !== data.panoIndexList[index - 1])
|
|
265
278
|
.forEach((panoIndex, index) => {
|
|
@@ -280,13 +293,17 @@ export default class CruisePluginController extends BasePluginWithData.Controlle
|
|
|
280
293
|
})();
|
|
281
294
|
if (data.moveType === undefined || data.moveType === 'justMove') {
|
|
282
295
|
// move to panoIndex, latitude, longitude
|
|
283
|
-
keyframes.push({
|
|
296
|
+
keyframes.push({
|
|
297
|
+
moveIndex: index,
|
|
298
|
+
stay: data.stay,
|
|
299
|
+
data: Object.assign({ effect: 'Move', panoIndex, moveEffect }, (lookatNextPanoIndex !== null && lookatNextPanoIndex !== void 0 ? lookatNextPanoIndex : {})),
|
|
300
|
+
});
|
|
284
301
|
}
|
|
285
302
|
else if (data.moveType === 'moveAndRotate') {
|
|
286
303
|
// move to panoIndex, then rotate to latitude and longitude
|
|
287
|
-
keyframes.push({ data: { effect: 'Move', panoIndex, moveEffect } });
|
|
304
|
+
keyframes.push({ moveIndex: index, stay: data.stay, data: { effect: 'Move', panoIndex, moveEffect } });
|
|
288
305
|
if (lookatNextPanoIndex)
|
|
289
|
-
keyframes.push({ data: Object.assign({ effect: 'Rotate', panoIndex }, lookatNextPanoIndex) });
|
|
306
|
+
keyframes.push({ moveIndex: index, stay: data.stay, data: Object.assign({ effect: 'Rotate', panoIndex }, lookatNextPanoIndex) });
|
|
290
307
|
}
|
|
291
308
|
});
|
|
292
309
|
return { keyframesId: uuid(), keyframes: keyframes.map((keyframe, index) => (Object.assign({ id: uuid(), index }, keyframe))) };
|
|
@@ -351,6 +368,7 @@ export default class CruisePluginController extends BasePluginWithData.Controlle
|
|
|
351
368
|
if ((options === null || options === void 0 ? void 0 : options.notEmitEvent) !== true) {
|
|
352
369
|
hooks.emit('play', { userAction: (_a = options === null || options === void 0 ? void 0 : options.userAction) !== null && _a !== void 0 ? _a : true });
|
|
353
370
|
}
|
|
371
|
+
let playedFirstKeyframe = false;
|
|
354
372
|
const getPlayFromIndex = async () => {
|
|
355
373
|
var _a, _b;
|
|
356
374
|
// play from index
|
|
@@ -364,13 +382,14 @@ export default class CruisePluginController extends BasePluginWithData.Controlle
|
|
|
364
382
|
const pausedKeyframe = (_b = this.data) === null || _b === void 0 ? void 0 : _b.keyframes.find((keyframe) => keyframe.id === pauseData.keyframeId);
|
|
365
383
|
// restore paused state
|
|
366
384
|
if (pauseData === null || pauseData === void 0 ? void 0 : pauseData.fiveState)
|
|
367
|
-
await this.move(pauseData.fiveState);
|
|
385
|
+
await this.move(pauseData.fiveState, { moveEffect: privateState.moveToFirstPanoEffect });
|
|
368
386
|
if (pausedKeyframe) {
|
|
369
387
|
if (pausedKeyframe.data.effect === 'Move')
|
|
370
388
|
return pausedKeyframe.index;
|
|
371
389
|
else if (pausedKeyframe.data.effect === 'Rotate') {
|
|
372
390
|
const duration = pauseData.duration !== undefined ? pauseData.duration * (1 - pauseData.playedProgress) : undefined;
|
|
373
|
-
await this.playKeyframe(pausedKeyframe, duration);
|
|
391
|
+
await this.playKeyframe(pausedKeyframe, { duration });
|
|
392
|
+
playedFirstKeyframe = true;
|
|
374
393
|
// playFromIndex += 1 cause played last part of paused keyframe
|
|
375
394
|
return pausedKeyframe.index + 1;
|
|
376
395
|
}
|
|
@@ -392,11 +411,19 @@ export default class CruisePluginController extends BasePluginWithData.Controlle
|
|
|
392
411
|
try {
|
|
393
412
|
console.log('playIndexChange', keyframe.index);
|
|
394
413
|
hooks.emit('playIndexChange', keyframe.index, keyframe);
|
|
395
|
-
|
|
414
|
+
console.log({ playFromIndex });
|
|
415
|
+
await this.playKeyframe(keyframe, {
|
|
416
|
+
moveEffect: playedFirstKeyframe === false ? privateState.moveToFirstPanoEffect : undefined,
|
|
417
|
+
duration: 800,
|
|
418
|
+
});
|
|
419
|
+
if (keyframe.stay)
|
|
420
|
+
await sleep(keyframe.stay);
|
|
421
|
+
if (playedFirstKeyframe === false)
|
|
422
|
+
playedFirstKeyframe = true;
|
|
396
423
|
}
|
|
397
424
|
catch (error) {
|
|
398
425
|
return Promise.resolve('broke');
|
|
399
|
-
// if think play be interupted by five gesture is an error, return Promise.reject(error)
|
|
426
|
+
// if think the play be interupted by five gesture is an error, return Promise.reject(error)
|
|
400
427
|
// return Promise.reject(error)
|
|
401
428
|
}
|
|
402
429
|
}
|
|
@@ -428,12 +455,12 @@ export default class CruisePluginController extends BasePluginWithData.Controlle
|
|
|
428
455
|
/**
|
|
429
456
|
* @description Play single keyframe
|
|
430
457
|
*/
|
|
431
|
-
async playKeyframe(keyframe,
|
|
458
|
+
async playKeyframe(keyframe, params) {
|
|
432
459
|
var _a;
|
|
433
460
|
const { privateState } = this;
|
|
434
461
|
if (((_a = this.privateState.currentPlayKeyframe) === null || _a === void 0 ? void 0 : _a.keyframe.id) !== keyframe.id)
|
|
435
462
|
this.privateState.currentPlayKeyframe = { keyframe };
|
|
436
|
-
privateState.currentPlayQueue.push(this.getPlayPromise(keyframe,
|
|
463
|
+
privateState.currentPlayQueue.push(this.getPlayPromise(keyframe, params));
|
|
437
464
|
return this.actionPromiseQueue();
|
|
438
465
|
}
|
|
439
466
|
/**
|
|
@@ -450,9 +477,10 @@ export default class CruisePluginController extends BasePluginWithData.Controlle
|
|
|
450
477
|
/**
|
|
451
478
|
* @description: getPlayPromise
|
|
452
479
|
*/
|
|
453
|
-
async getPlayPromise(keyframe,
|
|
480
|
+
async getPlayPromise(keyframe, params) {
|
|
481
|
+
var _a;
|
|
454
482
|
const data = keyframe.data;
|
|
455
|
-
const duration =
|
|
483
|
+
const duration = (_a = params === null || params === void 0 ? void 0 : params.duration) !== null && _a !== void 0 ? _a : (keyframe.start !== undefined && keyframe.end !== undefined ? keyframe.end - keyframe.start : undefined);
|
|
456
484
|
if (!data)
|
|
457
485
|
return;
|
|
458
486
|
return new Promise((resolve, reject) => {
|
|
@@ -476,13 +504,13 @@ export default class CruisePluginController extends BasePluginWithData.Controlle
|
|
|
476
504
|
};
|
|
477
505
|
switch (data.effect) {
|
|
478
506
|
case 'Move':
|
|
479
|
-
this.move(data,
|
|
507
|
+
this.move(data, params).then(res);
|
|
480
508
|
break;
|
|
481
509
|
case 'Rotate':
|
|
482
|
-
this.rotate(data,
|
|
510
|
+
this.rotate(data, params).then(res);
|
|
483
511
|
break;
|
|
484
512
|
default:
|
|
485
|
-
this.rotate(data,
|
|
513
|
+
this.rotate(data, params).then(res);
|
|
486
514
|
}
|
|
487
515
|
}
|
|
488
516
|
catch (e) { }
|
|
@@ -513,13 +541,13 @@ export default class CruisePluginController extends BasePluginWithData.Controlle
|
|
|
513
541
|
/**
|
|
514
542
|
* @description Action move keyframe
|
|
515
543
|
*/
|
|
516
|
-
async move(data,
|
|
544
|
+
async move(data, params) {
|
|
517
545
|
console.log('--move--', data.panoIndex);
|
|
518
546
|
if (data.mode && data.mode !== this.five.currentMode) {
|
|
519
547
|
await this.changeMode(data);
|
|
520
548
|
}
|
|
521
549
|
else if (data.panoIndex !== this.five.panoIndex) {
|
|
522
|
-
await this.changePano(data,
|
|
550
|
+
await this.changePano(data, params);
|
|
523
551
|
}
|
|
524
552
|
else {
|
|
525
553
|
return Promise.resolve();
|
|
@@ -529,15 +557,15 @@ export default class CruisePluginController extends BasePluginWithData.Controlle
|
|
|
529
557
|
/**
|
|
530
558
|
* @description Action rotate keyframe
|
|
531
559
|
*/
|
|
532
|
-
async rotate(data,
|
|
560
|
+
async rotate(data, params) {
|
|
533
561
|
console.log('--rotate--', data);
|
|
534
562
|
if (data.mode && data.mode !== this.five.currentMode) {
|
|
535
563
|
await this.changeMode({ mode: data.mode, panoIndex: data.panoIndex });
|
|
536
564
|
}
|
|
537
565
|
else if (data.panoIndex && data.panoIndex !== this.five.panoIndex) {
|
|
538
|
-
return await this.changePano(data,
|
|
566
|
+
return await this.changePano(data, params);
|
|
539
567
|
}
|
|
540
|
-
await this.updateCamera(data, duration);
|
|
568
|
+
await this.updateCamera(data, params === null || params === void 0 ? void 0 : params.duration);
|
|
541
569
|
}
|
|
542
570
|
/**
|
|
543
571
|
* @description Update five camera
|
|
@@ -572,13 +600,14 @@ export default class CruisePluginController extends BasePluginWithData.Controlle
|
|
|
572
600
|
/**
|
|
573
601
|
* @description: Change five pano
|
|
574
602
|
*/
|
|
575
|
-
async changePano(data,
|
|
603
|
+
async changePano(data, params) {
|
|
604
|
+
var _a;
|
|
576
605
|
const { five, privateState, state } = this;
|
|
577
606
|
if (typeof data.panoIndex !== 'number')
|
|
578
607
|
return;
|
|
579
608
|
if (data.panoIndex === five.panoIndex)
|
|
580
609
|
return;
|
|
581
|
-
let originDuration =
|
|
610
|
+
let originDuration = (_a = params === null || params === void 0 ? void 0 : params.duration) !== null && _a !== void 0 ? _a : 800;
|
|
582
611
|
const speed = (() => {
|
|
583
612
|
var _a, _b;
|
|
584
613
|
const speedConfig = (_a = state.config) === null || _a === void 0 ? void 0 : _a.speedConfig;
|
|
@@ -599,13 +628,13 @@ export default class CruisePluginController extends BasePluginWithData.Controlle
|
|
|
599
628
|
privateState.currentPlayKeyframe.originDuration = originDuration;
|
|
600
629
|
const duration = this.getSpeededDuration(originDuration);
|
|
601
630
|
return new Promise((resolve) => {
|
|
602
|
-
var _a, _b;
|
|
631
|
+
var _a, _b, _c;
|
|
603
632
|
five.moveToPano(data.panoIndex, {
|
|
604
633
|
latitude: data.latitude,
|
|
605
634
|
longitude: data.longitude,
|
|
606
635
|
fov: data.fov,
|
|
607
636
|
duration,
|
|
608
|
-
effect: (
|
|
637
|
+
effect: (_c = (_a = params === null || params === void 0 ? void 0 : params.moveEffect) !== null && _a !== void 0 ? _a : (_b = this.state.config) === null || _b === void 0 ? void 0 : _b.moveEffect) !== null && _c !== void 0 ? _c : data.moveEffect,
|
|
609
638
|
moveCancelCallback: () => resolve(),
|
|
610
639
|
moveEndCallback: () => resolve(),
|
|
611
640
|
});
|
|
@@ -622,7 +651,7 @@ export default class CruisePluginController extends BasePluginWithData.Controlle
|
|
|
622
651
|
try {
|
|
623
652
|
const duration = currentPlayKeyframe.originDuration !== undefined ? currentPlayKeyframe.originDuration * (1 - this.getProgress()) : undefined;
|
|
624
653
|
console.log('--speedChange--', speed, { duration });
|
|
625
|
-
const promise = this.playKeyframe(currentPlayKeyframe.keyframe, duration);
|
|
654
|
+
const promise = this.playKeyframe(currentPlayKeyframe.keyframe, { duration });
|
|
626
655
|
privateState.currentPlayQueue.push(promise);
|
|
627
656
|
}
|
|
628
657
|
catch (e) { }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { FivePlugin } from '@realsee/five';
|
|
2
2
|
import CruisePluginController from './Controller';
|
|
3
3
|
export { CruisePluginController };
|
|
4
|
-
declare const CruisePlugin: FivePlugin<void, InstanceType<typeof CruisePluginController>>;
|
|
5
|
-
export {
|
|
4
|
+
export declare const CruisePlugin: FivePlugin<void, InstanceType<typeof CruisePluginController>>;
|
|
5
|
+
export type { CruisePluginExportType } from './typing';
|
|
6
6
|
export default CruisePlugin;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import CruisePluginController from './Controller';
|
|
2
2
|
export { CruisePluginController };
|
|
3
|
-
const CruisePlugin = (five) => new CruisePluginController(five);
|
|
4
|
-
export { CruisePlugin };
|
|
3
|
+
export const CruisePlugin = (five) => new CruisePluginController(five);
|
|
5
4
|
export default CruisePlugin;
|
|
@@ -2,7 +2,7 @@ import type { MovePanoOptions, Pose, State } from '@realsee/five';
|
|
|
2
2
|
import type CruisePlugin from '.';
|
|
3
3
|
import type * as BasePluginWithData from '../base/BasePluginWithData';
|
|
4
4
|
declare type FivePoseAndState = Partial<Pose> & Partial<State>;
|
|
5
|
-
declare type MoveEffect = MovePanoOptions['effect'];
|
|
5
|
+
export declare type MoveEffect = MovePanoOptions['effect'];
|
|
6
6
|
export declare type CruiseData = {
|
|
7
7
|
/** 移动/旋转 */
|
|
8
8
|
effect: 'Move' | 'Rotate';
|
|
@@ -16,6 +16,8 @@ export declare type CruiseData = {
|
|
|
16
16
|
export interface CruiseKeyframe {
|
|
17
17
|
id: string;
|
|
18
18
|
index: number;
|
|
19
|
+
moveIndex: number;
|
|
20
|
+
stay?: number;
|
|
19
21
|
start?: number;
|
|
20
22
|
end?: number;
|
|
21
23
|
data: CruiseData;
|
|
@@ -39,13 +41,21 @@ export interface PluginServerData extends BasePluginWithData.ServerData {
|
|
|
39
41
|
moveEffect?: undefined;
|
|
40
42
|
/** for ts check, no care */
|
|
41
43
|
moveType?: undefined;
|
|
44
|
+
/** for ts check, no care */
|
|
45
|
+
moveToFirstPanoEffect?: undefined;
|
|
46
|
+
/** for ts check, no care */
|
|
47
|
+
stay?: undefined;
|
|
42
48
|
} | {
|
|
43
49
|
/** 点位列表 */
|
|
44
50
|
panoIndexList: number[];
|
|
45
51
|
/** five走点动画 */
|
|
46
52
|
moveEffect?: MoveEffect;
|
|
53
|
+
/** 到第一个点的走点动画 / 续播到暂停处的走点动画 */
|
|
54
|
+
moveToFirstPanoEffect?: MoveEffect;
|
|
47
55
|
/** 漫游方式:justMove 为移动到指定点位,且朝向为下一个点的朝向;moveAndRotate 为先移动到指定点位且朝向不变,然后旋转到下一个点的朝向 */
|
|
48
56
|
moveType?: 'justMove' | 'moveAndRotate';
|
|
57
|
+
/** 停留时长 */
|
|
58
|
+
stay?: number;
|
|
49
59
|
/** for ts check, no care */
|
|
50
60
|
keyframes?: undefined;
|
|
51
61
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function sleep(duration: number): Promise<void>;
|
|
@@ -63,7 +63,7 @@ export default class Controller extends BasePluginWithData.Controller {
|
|
|
63
63
|
this.five.scene.remove(this.linesGroup);
|
|
64
64
|
const linesGroup = this.getLinesGroup(data.routes);
|
|
65
65
|
if (!linesGroup)
|
|
66
|
-
return
|
|
66
|
+
return;
|
|
67
67
|
this.linesGroup = linesGroup;
|
|
68
68
|
this.five.scene.add(linesGroup);
|
|
69
69
|
this.handleVisible(this.state.visible);
|
|
@@ -167,10 +167,10 @@ export default class Controller extends BasePluginWithData.Controller {
|
|
|
167
167
|
const geometry = getLineGeometry(positions);
|
|
168
168
|
if (!geometry)
|
|
169
169
|
return;
|
|
170
|
-
const material = getArrowMaterial({
|
|
170
|
+
const material = getArrowMaterial({ textureUrl: data.arrowTextureUrl });
|
|
171
171
|
const mesh = new THREE.Mesh(geometry, material);
|
|
172
172
|
mesh.name = pluginFlag('route-line-mesh');
|
|
173
|
-
mesh.renderOrder = 3
|
|
173
|
+
// mesh.renderOrder = 3
|
|
174
174
|
return mesh;
|
|
175
175
|
}
|
|
176
176
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { FivePlugin } from '@realsee/five';
|
|
2
2
|
import Controller from './Controller';
|
|
3
|
+
export * from './typing';
|
|
3
4
|
export declare const GuideLinePlugin: FivePlugin<void, InstanceType<typeof Controller>>;
|
|
4
|
-
export type { GuideLinePluginExportType } from './typing';
|
|
5
5
|
export default GuideLinePlugin;
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import * as THREE from 'three';
|
|
2
2
|
export function getArrowMaterial(params) {
|
|
3
3
|
var _a;
|
|
4
|
-
const texture = new THREE.TextureLoader().load(
|
|
4
|
+
// const texture = new THREE.TextureLoader().load(params?.textureUrl ?? '//vrlab-static.ljcdn.com/release/web/arrow.c5d028e4.png')
|
|
5
|
+
// const texture = new THREE.TextureLoader().load(params?.textureUrl ?? '//vrlab-static.ljcdn.com/release/web/arrow2.aa1762e4.png')
|
|
6
|
+
// const texture = new THREE.TextureLoader().load(params?.textureUrl ?? '//vrlab-static.ljcdn.com/release/web/arrow3.06c5b657.png')
|
|
7
|
+
// const texture = new THREE.TextureLoader().load(params?.textureUrl ?? '//vrlab-static.ljcdn.com/release/web/arrow4.b1427685.png')
|
|
8
|
+
// const texture = new THREE.TextureLoader().load(params?.textureUrl ?? '//vrlab-static.ljcdn.com/release/web/arrow5.ae49f3c8.png')
|
|
9
|
+
const texture = new THREE.TextureLoader().load((_a = params === null || params === void 0 ? void 0 : params.textureUrl) !== null && _a !== void 0 ? _a : '//vrlab-static.ljcdn.com/release/web/arrow6.b6ce0c62.png');
|
|
5
10
|
texture.wrapS = texture.wrapT = THREE.RepeatWrapping;
|
|
6
11
|
texture.encoding = THREE.sRGBEncoding;
|
|
7
12
|
const arrowMaterial = new THREE.MeshBasicMaterial({
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import * as THREE from 'three';
|
|
2
|
-
export default function getLineGeometry(positionList: THREE.Vector3[]): THREE.BufferGeometry;
|
|
2
|
+
export default function getLineGeometry(positionList: THREE.Vector3[]): void | THREE.BufferGeometry;
|
|
@@ -7,10 +7,10 @@ const AXIS_NUMBER_OF_VERTEX = 3; // 每个顶点有三个轴坐标
|
|
|
7
7
|
const UV_NUMBER_OF_VERTEX = 2; // 每个顶点有两个 UV 轴坐标
|
|
8
8
|
export default function getLineGeometry(positionList) {
|
|
9
9
|
if (positionList.length < 2)
|
|
10
|
-
return;
|
|
11
|
-
const lineWidth =
|
|
12
|
-
const halfLineWidth =
|
|
13
|
-
const aspect =
|
|
10
|
+
return console.warn('positionList length must be greater than 1');
|
|
11
|
+
const lineWidth = 0.6;
|
|
12
|
+
const halfLineWidth = lineWidth / 2;
|
|
13
|
+
const aspect = 0.67; // 纵横比 width / height
|
|
14
14
|
// 点位向量数组
|
|
15
15
|
const keyPoints = positionList;
|
|
16
16
|
// 点位组成的平滑曲线
|
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.0.0-alpha.
|
|
11
|
+
"version": "2.0.0-alpha.54",
|
|
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",
|