@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
|
@@ -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;
|
|
@@ -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>;
|
|
@@ -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,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;
|
|
@@ -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;
|
|
@@ -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>;
|
|
@@ -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,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;
|
|
@@ -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;
|
|
@@ -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>;
|
|
@@ -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,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;
|
|
@@ -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;
|
|
@@ -252,10 +252,10 @@ const AXIS_NUMBER_OF_VERTEX = 3; // 每个顶点有三个轴坐标
|
|
|
252
252
|
const UV_NUMBER_OF_VERTEX = 2; // 每个顶点有两个 UV 轴坐标
|
|
253
253
|
function getLineGeometry(positionList) {
|
|
254
254
|
if (positionList.length < 2)
|
|
255
|
-
return;
|
|
256
|
-
const lineWidth =
|
|
257
|
-
const halfLineWidth =
|
|
258
|
-
const aspect =
|
|
255
|
+
return console.warn('positionList length must be greater than 1');
|
|
256
|
+
const lineWidth = 0.6;
|
|
257
|
+
const halfLineWidth = lineWidth / 2;
|
|
258
|
+
const aspect = 0.67; // 纵横比 width / height
|
|
259
259
|
// 点位向量数组
|
|
260
260
|
const keyPoints = positionList;
|
|
261
261
|
// 点位组成的平滑曲线
|
|
@@ -310,7 +310,12 @@ function getLineGeometry(positionList) {
|
|
|
310
310
|
|
|
311
311
|
function getArrowMaterial(params) {
|
|
312
312
|
var _a;
|
|
313
|
-
const texture = new
|
|
313
|
+
// const texture = new THREE.TextureLoader().load(params?.textureUrl ?? '//vrlab-static.ljcdn.com/release/web/arrow.c5d028e4.png')
|
|
314
|
+
// const texture = new THREE.TextureLoader().load(params?.textureUrl ?? '//vrlab-static.ljcdn.com/release/web/arrow2.aa1762e4.png')
|
|
315
|
+
// const texture = new THREE.TextureLoader().load(params?.textureUrl ?? '//vrlab-static.ljcdn.com/release/web/arrow3.06c5b657.png')
|
|
316
|
+
// const texture = new THREE.TextureLoader().load(params?.textureUrl ?? '//vrlab-static.ljcdn.com/release/web/arrow4.b1427685.png')
|
|
317
|
+
// const texture = new THREE.TextureLoader().load(params?.textureUrl ?? '//vrlab-static.ljcdn.com/release/web/arrow5.ae49f3c8.png')
|
|
318
|
+
const texture = new THREE__namespace.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');
|
|
314
319
|
texture.wrapS = texture.wrapT = THREE__namespace.RepeatWrapping;
|
|
315
320
|
texture.encoding = THREE__namespace.sRGBEncoding;
|
|
316
321
|
const arrowMaterial = new THREE__namespace.MeshBasicMaterial({
|
|
@@ -498,7 +503,7 @@ class Controller extends Controller$1 {
|
|
|
498
503
|
this.five.scene.remove(this.linesGroup);
|
|
499
504
|
const linesGroup = this.getLinesGroup(data.routes);
|
|
500
505
|
if (!linesGroup)
|
|
501
|
-
return
|
|
506
|
+
return;
|
|
502
507
|
this.linesGroup = linesGroup;
|
|
503
508
|
this.five.scene.add(linesGroup);
|
|
504
509
|
this.handleVisible(this.state.visible);
|
|
@@ -602,10 +607,10 @@ class Controller extends Controller$1 {
|
|
|
602
607
|
const geometry = getLineGeometry(positions);
|
|
603
608
|
if (!geometry)
|
|
604
609
|
return;
|
|
605
|
-
const material = getArrowMaterial({
|
|
610
|
+
const material = getArrowMaterial({ textureUrl: data.arrowTextureUrl });
|
|
606
611
|
const mesh = new THREE__namespace.Mesh(geometry, material);
|
|
607
612
|
mesh.name = pluginFlag('route-line-mesh');
|
|
608
|
-
mesh.renderOrder = 3
|
|
613
|
+
// mesh.renderOrder = 3
|
|
609
614
|
return mesh;
|
|
610
615
|
}
|
|
611
616
|
}
|
|
@@ -685,7 +690,15 @@ function linerValue(x0, v0, t1, t) {
|
|
|
685
690
|
return a * t + d;
|
|
686
691
|
}
|
|
687
692
|
|
|
688
|
-
|
|
693
|
+
function sleep(duration) {
|
|
694
|
+
return new Promise((resolve) => {
|
|
695
|
+
setTimeout(() => {
|
|
696
|
+
resolve();
|
|
697
|
+
}, duration);
|
|
698
|
+
});
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
const VERSION = 'v1.0.6';
|
|
689
702
|
const PLUGIN_NAME = 'CruisePlugin';
|
|
690
703
|
const PLUGIN = `${PLUGIN_NAME}@${VERSION}`;
|
|
691
704
|
const disposedErrorLog = () => {
|
|
@@ -715,7 +728,7 @@ class CruisePluginController extends Controller$1 {
|
|
|
715
728
|
speedConfig: {
|
|
716
729
|
rotateSpeed: 0.001,
|
|
717
730
|
rotateSpeedUnit: 'rad/ms',
|
|
718
|
-
moveSpeed: 0.
|
|
731
|
+
moveSpeed: 0.002,
|
|
719
732
|
moveSpeedUnit: 'm/ms',
|
|
720
733
|
},
|
|
721
734
|
},
|
|
@@ -931,12 +944,24 @@ class CruisePluginController extends Controller$1 {
|
|
|
931
944
|
if (data.keyframes) {
|
|
932
945
|
return {
|
|
933
946
|
keyframesId: uuid(),
|
|
934
|
-
keyframes: data.keyframes.map((keyframe, index) => {
|
|
947
|
+
keyframes: data.keyframes.map((keyframe, index) => {
|
|
948
|
+
var _a;
|
|
949
|
+
const nextKeyframe = data.keyframes[index + 1];
|
|
950
|
+
const stay = (() => {
|
|
951
|
+
if (!nextKeyframe)
|
|
952
|
+
return 0;
|
|
953
|
+
if (nextKeyframe.start === undefined || keyframe.end === undefined)
|
|
954
|
+
return 0;
|
|
955
|
+
return nextKeyframe.start - keyframe.end;
|
|
956
|
+
})();
|
|
957
|
+
return Object.assign({ id: (_a = keyframe.uuid) !== null && _a !== void 0 ? _a : uuid(), moveIndex: index, stay, index }, keyframe);
|
|
958
|
+
}),
|
|
935
959
|
};
|
|
936
960
|
}
|
|
937
961
|
else if (data.panoIndexList) {
|
|
938
962
|
let keyframes = [];
|
|
939
|
-
const moveEffect = data
|
|
963
|
+
const { moveEffect, moveToFirstPanoEffect } = data;
|
|
964
|
+
this.privateState.moveToFirstPanoEffect = moveToFirstPanoEffect;
|
|
940
965
|
data.panoIndexList
|
|
941
966
|
.filter((panoIndex, index) => panoIndex !== data.panoIndexList[index - 1])
|
|
942
967
|
.forEach((panoIndex, index) => {
|
|
@@ -957,13 +982,17 @@ class CruisePluginController extends Controller$1 {
|
|
|
957
982
|
})();
|
|
958
983
|
if (data.moveType === undefined || data.moveType === 'justMove') {
|
|
959
984
|
// move to panoIndex, latitude, longitude
|
|
960
|
-
keyframes.push({
|
|
985
|
+
keyframes.push({
|
|
986
|
+
moveIndex: index,
|
|
987
|
+
stay: data.stay,
|
|
988
|
+
data: Object.assign({ effect: 'Move', panoIndex, moveEffect }, (lookatNextPanoIndex !== null && lookatNextPanoIndex !== void 0 ? lookatNextPanoIndex : {})),
|
|
989
|
+
});
|
|
961
990
|
}
|
|
962
991
|
else if (data.moveType === 'moveAndRotate') {
|
|
963
992
|
// move to panoIndex, then rotate to latitude and longitude
|
|
964
|
-
keyframes.push({ data: { effect: 'Move', panoIndex, moveEffect } });
|
|
993
|
+
keyframes.push({ moveIndex: index, stay: data.stay, data: { effect: 'Move', panoIndex, moveEffect } });
|
|
965
994
|
if (lookatNextPanoIndex)
|
|
966
|
-
keyframes.push({ data: Object.assign({ effect: 'Rotate', panoIndex }, lookatNextPanoIndex) });
|
|
995
|
+
keyframes.push({ moveIndex: index, stay: data.stay, data: Object.assign({ effect: 'Rotate', panoIndex }, lookatNextPanoIndex) });
|
|
967
996
|
}
|
|
968
997
|
});
|
|
969
998
|
return { keyframesId: uuid(), keyframes: keyframes.map((keyframe, index) => (Object.assign({ id: uuid(), index }, keyframe))) };
|
|
@@ -1028,6 +1057,7 @@ class CruisePluginController extends Controller$1 {
|
|
|
1028
1057
|
if ((options === null || options === void 0 ? void 0 : options.notEmitEvent) !== true) {
|
|
1029
1058
|
hooks.emit('play', { userAction: (_a = options === null || options === void 0 ? void 0 : options.userAction) !== null && _a !== void 0 ? _a : true });
|
|
1030
1059
|
}
|
|
1060
|
+
let playedFirstKeyframe = false;
|
|
1031
1061
|
const getPlayFromIndex = async () => {
|
|
1032
1062
|
var _a, _b;
|
|
1033
1063
|
// play from index
|
|
@@ -1041,13 +1071,14 @@ class CruisePluginController extends Controller$1 {
|
|
|
1041
1071
|
const pausedKeyframe = (_b = this.data) === null || _b === void 0 ? void 0 : _b.keyframes.find((keyframe) => keyframe.id === pauseData.keyframeId);
|
|
1042
1072
|
// restore paused state
|
|
1043
1073
|
if (pauseData === null || pauseData === void 0 ? void 0 : pauseData.fiveState)
|
|
1044
|
-
await this.move(pauseData.fiveState);
|
|
1074
|
+
await this.move(pauseData.fiveState, { moveEffect: privateState.moveToFirstPanoEffect });
|
|
1045
1075
|
if (pausedKeyframe) {
|
|
1046
1076
|
if (pausedKeyframe.data.effect === 'Move')
|
|
1047
1077
|
return pausedKeyframe.index;
|
|
1048
1078
|
else if (pausedKeyframe.data.effect === 'Rotate') {
|
|
1049
1079
|
const duration = pauseData.duration !== undefined ? pauseData.duration * (1 - pauseData.playedProgress) : undefined;
|
|
1050
|
-
await this.playKeyframe(pausedKeyframe, duration);
|
|
1080
|
+
await this.playKeyframe(pausedKeyframe, { duration });
|
|
1081
|
+
playedFirstKeyframe = true;
|
|
1051
1082
|
// playFromIndex += 1 cause played last part of paused keyframe
|
|
1052
1083
|
return pausedKeyframe.index + 1;
|
|
1053
1084
|
}
|
|
@@ -1069,11 +1100,19 @@ class CruisePluginController extends Controller$1 {
|
|
|
1069
1100
|
try {
|
|
1070
1101
|
console.log('playIndexChange', keyframe.index);
|
|
1071
1102
|
hooks.emit('playIndexChange', keyframe.index, keyframe);
|
|
1072
|
-
|
|
1103
|
+
console.log({ playFromIndex });
|
|
1104
|
+
await this.playKeyframe(keyframe, {
|
|
1105
|
+
moveEffect: playedFirstKeyframe === false ? privateState.moveToFirstPanoEffect : undefined,
|
|
1106
|
+
duration: 800,
|
|
1107
|
+
});
|
|
1108
|
+
if (keyframe.stay)
|
|
1109
|
+
await sleep(keyframe.stay);
|
|
1110
|
+
if (playedFirstKeyframe === false)
|
|
1111
|
+
playedFirstKeyframe = true;
|
|
1073
1112
|
}
|
|
1074
1113
|
catch (error) {
|
|
1075
1114
|
return Promise.resolve('broke');
|
|
1076
|
-
// if think play be interupted by five gesture is an error, return Promise.reject(error)
|
|
1115
|
+
// if think the play be interupted by five gesture is an error, return Promise.reject(error)
|
|
1077
1116
|
// return Promise.reject(error)
|
|
1078
1117
|
}
|
|
1079
1118
|
}
|
|
@@ -1105,12 +1144,12 @@ class CruisePluginController extends Controller$1 {
|
|
|
1105
1144
|
/**
|
|
1106
1145
|
* @description Play single keyframe
|
|
1107
1146
|
*/
|
|
1108
|
-
async playKeyframe(keyframe,
|
|
1147
|
+
async playKeyframe(keyframe, params) {
|
|
1109
1148
|
var _a;
|
|
1110
1149
|
const { privateState } = this;
|
|
1111
1150
|
if (((_a = this.privateState.currentPlayKeyframe) === null || _a === void 0 ? void 0 : _a.keyframe.id) !== keyframe.id)
|
|
1112
1151
|
this.privateState.currentPlayKeyframe = { keyframe };
|
|
1113
|
-
privateState.currentPlayQueue.push(this.getPlayPromise(keyframe,
|
|
1152
|
+
privateState.currentPlayQueue.push(this.getPlayPromise(keyframe, params));
|
|
1114
1153
|
return this.actionPromiseQueue();
|
|
1115
1154
|
}
|
|
1116
1155
|
/**
|
|
@@ -1127,9 +1166,10 @@ class CruisePluginController extends Controller$1 {
|
|
|
1127
1166
|
/**
|
|
1128
1167
|
* @description: getPlayPromise
|
|
1129
1168
|
*/
|
|
1130
|
-
async getPlayPromise(keyframe,
|
|
1169
|
+
async getPlayPromise(keyframe, params) {
|
|
1170
|
+
var _a;
|
|
1131
1171
|
const data = keyframe.data;
|
|
1132
|
-
|
|
1172
|
+
(_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);
|
|
1133
1173
|
if (!data)
|
|
1134
1174
|
return;
|
|
1135
1175
|
return new Promise((resolve, reject) => {
|
|
@@ -1153,13 +1193,13 @@ class CruisePluginController extends Controller$1 {
|
|
|
1153
1193
|
};
|
|
1154
1194
|
switch (data.effect) {
|
|
1155
1195
|
case 'Move':
|
|
1156
|
-
this.move(data,
|
|
1196
|
+
this.move(data, params).then(res);
|
|
1157
1197
|
break;
|
|
1158
1198
|
case 'Rotate':
|
|
1159
|
-
this.rotate(data,
|
|
1199
|
+
this.rotate(data, params).then(res);
|
|
1160
1200
|
break;
|
|
1161
1201
|
default:
|
|
1162
|
-
this.rotate(data,
|
|
1202
|
+
this.rotate(data, params).then(res);
|
|
1163
1203
|
}
|
|
1164
1204
|
}
|
|
1165
1205
|
catch (e) { }
|
|
@@ -1190,13 +1230,13 @@ class CruisePluginController extends Controller$1 {
|
|
|
1190
1230
|
/**
|
|
1191
1231
|
* @description Action move keyframe
|
|
1192
1232
|
*/
|
|
1193
|
-
async move(data,
|
|
1233
|
+
async move(data, params) {
|
|
1194
1234
|
console.log('--move--', data.panoIndex);
|
|
1195
1235
|
if (data.mode && data.mode !== this.five.currentMode) {
|
|
1196
1236
|
await this.changeMode(data);
|
|
1197
1237
|
}
|
|
1198
1238
|
else if (data.panoIndex !== this.five.panoIndex) {
|
|
1199
|
-
await this.changePano(data,
|
|
1239
|
+
await this.changePano(data, params);
|
|
1200
1240
|
}
|
|
1201
1241
|
else {
|
|
1202
1242
|
return Promise.resolve();
|
|
@@ -1206,15 +1246,15 @@ class CruisePluginController extends Controller$1 {
|
|
|
1206
1246
|
/**
|
|
1207
1247
|
* @description Action rotate keyframe
|
|
1208
1248
|
*/
|
|
1209
|
-
async rotate(data,
|
|
1249
|
+
async rotate(data, params) {
|
|
1210
1250
|
console.log('--rotate--', data);
|
|
1211
1251
|
if (data.mode && data.mode !== this.five.currentMode) {
|
|
1212
1252
|
await this.changeMode({ mode: data.mode, panoIndex: data.panoIndex });
|
|
1213
1253
|
}
|
|
1214
1254
|
else if (data.panoIndex && data.panoIndex !== this.five.panoIndex) {
|
|
1215
|
-
return await this.changePano(data,
|
|
1255
|
+
return await this.changePano(data, params);
|
|
1216
1256
|
}
|
|
1217
|
-
await this.updateCamera(data, duration);
|
|
1257
|
+
await this.updateCamera(data, params === null || params === void 0 ? void 0 : params.duration);
|
|
1218
1258
|
}
|
|
1219
1259
|
/**
|
|
1220
1260
|
* @description Update five camera
|
|
@@ -1249,13 +1289,14 @@ class CruisePluginController extends Controller$1 {
|
|
|
1249
1289
|
/**
|
|
1250
1290
|
* @description: Change five pano
|
|
1251
1291
|
*/
|
|
1252
|
-
async changePano(data,
|
|
1292
|
+
async changePano(data, params) {
|
|
1293
|
+
var _a;
|
|
1253
1294
|
const { five, privateState, state } = this;
|
|
1254
1295
|
if (typeof data.panoIndex !== 'number')
|
|
1255
1296
|
return;
|
|
1256
1297
|
if (data.panoIndex === five.panoIndex)
|
|
1257
1298
|
return;
|
|
1258
|
-
let originDuration =
|
|
1299
|
+
let originDuration = (_a = params === null || params === void 0 ? void 0 : params.duration) !== null && _a !== void 0 ? _a : 800;
|
|
1259
1300
|
const speed = (() => {
|
|
1260
1301
|
var _a, _b;
|
|
1261
1302
|
const speedConfig = (_a = state.config) === null || _a === void 0 ? void 0 : _a.speedConfig;
|
|
@@ -1276,13 +1317,13 @@ class CruisePluginController extends Controller$1 {
|
|
|
1276
1317
|
privateState.currentPlayKeyframe.originDuration = originDuration;
|
|
1277
1318
|
const duration = this.getSpeededDuration(originDuration);
|
|
1278
1319
|
return new Promise((resolve) => {
|
|
1279
|
-
var _a, _b;
|
|
1320
|
+
var _a, _b, _c;
|
|
1280
1321
|
five.moveToPano(data.panoIndex, {
|
|
1281
1322
|
latitude: data.latitude,
|
|
1282
1323
|
longitude: data.longitude,
|
|
1283
1324
|
fov: data.fov,
|
|
1284
1325
|
duration,
|
|
1285
|
-
effect: (
|
|
1326
|
+
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,
|
|
1286
1327
|
moveCancelCallback: () => resolve(),
|
|
1287
1328
|
moveEndCallback: () => resolve(),
|
|
1288
1329
|
});
|
|
@@ -1299,7 +1340,7 @@ class CruisePluginController extends Controller$1 {
|
|
|
1299
1340
|
try {
|
|
1300
1341
|
const duration = currentPlayKeyframe.originDuration !== undefined ? currentPlayKeyframe.originDuration * (1 - this.getProgress()) : undefined;
|
|
1301
1342
|
console.log('--speedChange--', speed, { duration });
|
|
1302
|
-
const promise = this.playKeyframe(currentPlayKeyframe.keyframe, duration);
|
|
1343
|
+
const promise = this.playKeyframe(currentPlayKeyframe.keyframe, { duration });
|
|
1303
1344
|
privateState.currentPlayQueue.push(promise);
|
|
1304
1345
|
}
|
|
1305
1346
|
catch (e) { }
|
|
@@ -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>;
|
|
@@ -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;
|
|
@@ -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>;
|
|
@@ -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,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;
|