@realsee/vreo 2.5.0 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/lib/PlayController/createHTMLAudioElement.js +5 -12
  2. package/lib/PlayController/index.js +27 -34
  3. package/lib/Player/App.js +25 -34
  4. package/lib/Player/Controller.js +66 -74
  5. package/lib/Player/custom/SpatialScenePanel/index.js +20 -31
  6. package/lib/Player/hooks.js +6 -15
  7. package/lib/Player/index.js +36 -44
  8. package/lib/Player/modules/Drawer/index.js +8 -17
  9. package/lib/Player/modules/PopUp/index.js +8 -17
  10. package/lib/Player/modules/ResizeObserver/index.js +10 -17
  11. package/lib/Player/modules/VideoAgent/VideoAgentMesh.js +33 -41
  12. package/lib/Player/modules/VideoAgent/VideoAgentScene.js +16 -25
  13. package/lib/Player/modules/VideoAgent/index.js +8 -17
  14. package/lib/Player/modules/Wave/index.js +24 -33
  15. package/lib/Player/modules/keyframes/BgMusic/index.js +13 -22
  16. package/lib/Player/modules/keyframes/CameraMovement/index.js +17 -26
  17. package/lib/Player/modules/keyframes/InfoPanel/index.js +13 -21
  18. package/lib/Player/modules/keyframes/ModelVideo/index.js +17 -26
  19. package/lib/Player/modules/keyframes/PanoEffect/index.js +21 -30
  20. package/lib/Player/modules/keyframes/PanoEffect/lineAnime.js +6 -14
  21. package/lib/Player/modules/keyframes/PanoTag/index.js +10 -18
  22. package/lib/Player/modules/keyframes/PanoTextLabel/index.js +19 -28
  23. package/lib/Player/modules/keyframes/Prompter/index.js +13 -22
  24. package/lib/Player/modules/keyframes/UpdateVRPanorama/index.js +16 -24
  25. package/lib/Player/modules/keyframes/VideoEffect/index.js +17 -27
  26. package/lib/Player/typings.js +1 -5
  27. package/lib/fivePlugins/CSS3DRenderPlugin/centerPoint.js +3 -9
  28. package/lib/fivePlugins/CSS3DRenderPlugin/createResizeObserver.js +1 -7
  29. package/lib/fivePlugins/CSS3DRenderPlugin/evenNumber.js +1 -7
  30. package/lib/fivePlugins/CSS3DRenderPlugin/index.js +27 -37
  31. package/lib/fivePlugins/CSS3DRenderPlugin/transformPositionToVector3.js +3 -9
  32. package/lib/fivePlugins/CameraMovementPlugin/index.js +15 -22
  33. package/lib/fivePlugins/CameraMovementPlugin/typings.js +6 -10
  34. package/lib/fivePlugins/ModelTVVideoPlugin/index.js +9 -18
  35. package/lib/index.js +1 -12
  36. package/lib/react/index.js +12 -24
  37. package/lib/shared-utils/Audio.js +27 -37
  38. package/lib/shared-utils/AudioLike.js +22 -29
  39. package/lib/shared-utils/Preloader.js +1 -7
  40. package/lib/shared-utils/addResizeListener.js +4 -11
  41. package/lib/shared-utils/animationFrame/BetterTween.js +23 -33
  42. package/lib/shared-utils/animationFrame/index.js +4 -13
  43. package/lib/shared-utils/animationFrame/tween.js +9 -17
  44. package/lib/shared-utils/createTransMatrix.js +5 -14
  45. package/lib/shared-utils/getFileExpandedName.js +1 -7
  46. package/lib/shared-utils/getMediaInfo.js +8 -19
  47. package/lib/shared-utils/setElementDataset.js +1 -7
  48. package/lib/typings/VreoUnit.js +15 -17
  49. package/package.json +58 -5
@@ -1,20 +1,11 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.PanoTextLabel = PanoTextLabel;
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
- var React = _interopRequireWildcard(require("react"));
11
- var _three = _interopRequireWildcard(require("three"));
12
- var THREE = _three;
13
- var _reactDom = _interopRequireDefault(require("react-dom"));
14
- var _hooks = require("../../../hooks");
15
- var _CSS3DRenderPlugin = require("../../../../fivePlugins/CSS3DRenderPlugin");
16
- var _VreoUnit = require("../../../../typings/VreoUnit");
17
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) { "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); } return f; })(e, t); }
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import * as React from 'react';
3
+ import * as THREE from 'three';
4
+ import ReactDOM from 'react-dom';
5
+ import { Vector3, Quaternion } from 'three';
6
+ import { useController, useFiveInstance } from "../../../hooks.js";
7
+ import { CSS3DRenderPlugin } from "../../../../fivePlugins/CSS3DRenderPlugin/index.js";
8
+ import { VreoKeyframeEnum } from "../../../../typings/VreoUnit.js";
18
9
  /**
19
10
  * 通过传入中心点确定矩形框架容器的四个点:
20
11
  * 1. 已知矩形长宽和中心点
@@ -48,7 +39,7 @@ var calcPoints = function calcPoints(centerPoint, normal, wrapperLength, wrapper
48
39
  plane.position.copy(v0);
49
40
 
50
41
  // 计算传入的四个点的坐标
51
- var _plane$geometry$verti = (0, _slicedToArray2["default"])(plane.geometry.vertices, 4),
42
+ var _plane$geometry$verti = _slicedToArray(plane.geometry.vertices, 4),
52
43
  v1 = _plane$geometry$verti[0],
53
44
  v2 = _plane$geometry$verti[1],
54
45
  v3 = _plane$geometry$verti[2],
@@ -65,10 +56,10 @@ var calcPoints = function calcPoints(centerPoint, normal, wrapperLength, wrapper
65
56
  /**
66
57
  * 空间文本标签。
67
58
  */
68
- function PanoTextLabel() {
59
+ export function PanoTextLabel() {
69
60
  var timeoutRef = React.useRef();
70
- var controller = (0, _hooks.useController)();
71
- var five = (0, _hooks.useFiveInstance)();
61
+ var controller = useController();
62
+ var five = useFiveInstance();
72
63
  var ref = React.useRef();
73
64
  React.useEffect(function () {
74
65
  var _controller$configs;
@@ -87,21 +78,21 @@ function PanoTextLabel() {
87
78
  x = _panoTextLabelData$ve.x,
88
79
  y = _panoTextLabelData$ve.y,
89
80
  z = _panoTextLabelData$ve.z;
90
- var centerPoint = new _three.Vector3(x, y, z);
91
- var normal = new _three.Vector3((_panoTextLabelData$no = panoTextLabelData.normal) === null || _panoTextLabelData$no === void 0 ? void 0 : _panoTextLabelData$no.x, (_panoTextLabelData$no2 = panoTextLabelData.normal) === null || _panoTextLabelData$no2 === void 0 ? void 0 : _panoTextLabelData$no2.y, (_panoTextLabelData$no3 = panoTextLabelData.normal) === null || _panoTextLabelData$no3 === void 0 ? void 0 : _panoTextLabelData$no3.z);
81
+ var centerPoint = new Vector3(x, y, z);
82
+ var normal = new Vector3((_panoTextLabelData$no = panoTextLabelData.normal) === null || _panoTextLabelData$no === void 0 ? void 0 : _panoTextLabelData$no.x, (_panoTextLabelData$no2 = panoTextLabelData.normal) === null || _panoTextLabelData$no2 === void 0 ? void 0 : _panoTextLabelData$no2.y, (_panoTextLabelData$no3 = panoTextLabelData.normal) === null || _panoTextLabelData$no3 === void 0 ? void 0 : _panoTextLabelData$no3.z);
92
83
  // 生成传入的四个点,将文本框最大宽度定在200px,最高高度在30px
93
84
  var wrapperLength = 200;
94
85
  var wrapperWidth = 30;
95
86
  var points = calcPoints(centerPoint, panoTextLabelData.normal && normal, wrapperLength, wrapperWidth);
96
- if (!ref.current) ref.current = (0, _CSS3DRenderPlugin.CSS3DRenderPlugin)(five);
87
+ if (!ref.current) ref.current = CSS3DRenderPlugin(five);
97
88
  var container = ref.current.create3DDomContainer(points);
98
89
  var css3DObject = container === null || container === void 0 ? void 0 : container.css3DObject;
99
90
  // 将获取的mesh进行旋转操作,根据欧拉角去进行mesh的变换
100
91
  if (data.quaternion) {
101
- var quaternion = new _three.Quaternion(data.quaternion.x, data.quaternion.y, data.quaternion.z, data.quaternion.w);
92
+ var quaternion = new Quaternion(data.quaternion.x, data.quaternion.y, data.quaternion.z, data.quaternion.w);
102
93
  css3DObject === null || css3DObject === void 0 ? void 0 : css3DObject.quaternion.copy(quaternion);
103
94
  }
104
- if (container !== null && container !== void 0 && container.container) _reactDom["default"].render(/*#__PURE__*/React.createElement("div", {
95
+ if (container !== null && container !== void 0 && container.container) ReactDOM.render(/*#__PURE__*/React.createElement("div", {
105
96
  className: "PanoTextLabel PanoTextLabel--notHidden"
106
97
  }, /*#__PURE__*/React.createElement("div", {
107
98
  className: "PanoTextLabel-wrapper"
@@ -116,9 +107,9 @@ function PanoTextLabel() {
116
107
  (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.disposeAll();
117
108
  }, end - start);
118
109
  };
119
- controller.on(_VreoUnit.VreoKeyframeEnum.PanoTextLabel, callback);
110
+ controller.on(VreoKeyframeEnum.PanoTextLabel, callback);
120
111
  return function () {
121
- controller.off(_VreoUnit.VreoKeyframeEnum.PanoTextLabel, callback);
112
+ controller.off(VreoKeyframeEnum.PanoTextLabel, callback);
122
113
  if (timeoutRef.current) {
123
114
  clearTimeout(timeoutRef.current);
124
115
  }
@@ -1,29 +1,20 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.Prompter = Prompter;
9
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
- var React = _interopRequireWildcard(require("react"));
12
- var _classnames = _interopRequireDefault(require("classnames"));
13
- var _hooks = require("../../../hooks");
14
- var _VreoUnit = require("../../../../typings/VreoUnit");
15
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) { "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); } return f; })(e, t); }
16
- function Prompter() {
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+ import * as React from 'react';
4
+ import classNames from 'classnames';
5
+ import { useController } from "../../../hooks.js";
6
+ import { VreoKeyframeEnum } from "../../../../typings/VreoUnit.js";
7
+ export function Prompter() {
17
8
  var _React$useState = React.useState(''),
18
- _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
9
+ _React$useState2 = _slicedToArray(_React$useState, 2),
19
10
  text = _React$useState2[0],
20
11
  setText = _React$useState2[1];
21
12
  var _React$useState3 = React.useState(true),
22
- _React$useState4 = (0, _slicedToArray2["default"])(_React$useState3, 2),
13
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
23
14
  hidden = _React$useState4[0],
24
15
  setHidden = _React$useState4[1];
25
16
  var ref = React.useRef(null);
26
- var controller = (0, _hooks.useController)();
17
+ var controller = useController();
27
18
  React.useEffect(function () {
28
19
  var _controller$configs;
29
20
  if (((_controller$configs = controller.configs) === null || _controller$configs === void 0 ? void 0 : _controller$configs.keyframeMap.Prompter) === false) {
@@ -48,13 +39,13 @@ function Prompter() {
48
39
  ref.current = null;
49
40
  }, end - start);
50
41
  };
51
- controller.on(_VreoUnit.VreoKeyframeEnum.Prompter, callback);
42
+ controller.on(VreoKeyframeEnum.Prompter, callback);
52
43
  return function () {
53
- controller.off(_VreoUnit.VreoKeyframeEnum.Prompter, callback);
44
+ controller.off(VreoKeyframeEnum.Prompter, callback);
54
45
  };
55
46
  }, [controller]);
56
47
  return /*#__PURE__*/React.createElement("div", {
57
- className: (0, _classnames["default"])('vreo-prompter', (0, _defineProperty2["default"])({
48
+ className: classNames('vreo-prompter', _defineProperty({
58
49
  'vreo-prompter--hidden': hidden
59
50
  }, "vreo-prompter-left--".concat(controller.agentType), true))
60
51
  }, /*#__PURE__*/React.createElement("div", {
@@ -1,18 +1,10 @@
1
- "use strict";
2
-
3
- var _typeof = require("@babel/runtime/helpers/typeof");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.UpdateVRPanorama = UpdateVRPanorama;
8
- var React = _interopRequireWildcard(require("react"));
9
- var _five = require("@realsee/five");
10
- var _hooks = require("../../../hooks");
11
- var _VreoUnit = require("../../../../typings/VreoUnit");
12
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) { "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); } return f; })(e, t); }
13
- function UpdateVRPanorama() {
14
- var controller = (0, _hooks.useController)();
15
- var five = (0, _hooks.useFiveInstance)();
1
+ import * as React from 'react';
2
+ import { parseWork } from '@realsee/five';
3
+ import { useController, useFiveInstance } from "../../../hooks.js";
4
+ import { VreoKeyframeEnum } from "../../../../typings/VreoUnit.js";
5
+ export function UpdateVRPanorama() {
6
+ var controller = useController();
7
+ var five = useFiveInstance();
16
8
  var deafultWorkRef = React.useRef(null);
17
9
  var updateWorkRef = React.useRef(null);
18
10
 
@@ -21,7 +13,7 @@ function UpdateVRPanorama() {
21
13
  // 先清理掉 之前的 VR 数据备份
22
14
  updateWorkRef.current = null;
23
15
  if (deafultWorkRef.current) {
24
- var work = (0, _five.parseWork)(deafultWorkRef.current);
16
+ var work = parseWork(deafultWorkRef.current);
25
17
  five.load(work);
26
18
  }
27
19
  }, []);
@@ -29,7 +21,7 @@ function UpdateVRPanorama() {
29
21
  // 暂停时: 恢复默认 VR
30
22
  var pausedCallback = React.useCallback(function () {
31
23
  if (deafultWorkRef.current) {
32
- var work = (0, _five.parseWork)(deafultWorkRef.current);
24
+ var work = parseWork(deafultWorkRef.current);
33
25
  Object.assign(window, {
34
26
  $rawWork: work
35
27
  });
@@ -54,7 +46,7 @@ function UpdateVRPanorama() {
54
46
 
55
47
  // 如果数据中有新 work 数据,则直接载入
56
48
  if (data.work) {
57
- updateWorkRef.current = (0, _five.parseWork)(data.work);
49
+ updateWorkRef.current = parseWork(data.work);
58
50
  five.load(updateWorkRef.current);
59
51
  return;
60
52
  }
@@ -76,15 +68,15 @@ function UpdateVRPanorama() {
76
68
  Object.assign(window, {
77
69
  $work1: JSON.parse(lastRawWork),
78
70
  $work2: data,
79
- parseWork: _five.parseWork
71
+ parseWork: parseWork
80
72
  });
81
- updateWorkRef.current = (0, _five.parseWork)([lastRawWork, data]);
73
+ updateWorkRef.current = parseWork([lastRawWork, data]);
82
74
  five.load(updateWorkRef.current);
83
75
  };
84
- controller.on(_VreoUnit.VreoKeyframeEnum.UpdateVRPanorama, callback);
76
+ controller.on(VreoKeyframeEnum.UpdateVRPanorama, callback);
85
77
 
86
78
  // 离开 将之前的内容清空
87
- controller.on(_VreoUnit.VreoKeyframeEnum.Exit, restoreCallback);
79
+ controller.on(VreoKeyframeEnum.Exit, restoreCallback);
88
80
 
89
81
  // 新载入数据 将之前的内容清空
90
82
  controller.on('loaded', restoreCallback);
@@ -95,8 +87,8 @@ function UpdateVRPanorama() {
95
87
  controller.on('playing', playingCallback);
96
88
  return function () {
97
89
  // 清理事件监听
98
- controller.off(_VreoUnit.VreoKeyframeEnum.UpdateVRPanorama, callback);
99
- controller.off(_VreoUnit.VreoKeyframeEnum.Exit, restoreCallback);
90
+ controller.off(VreoKeyframeEnum.UpdateVRPanorama, callback);
91
+ controller.off(VreoKeyframeEnum.Exit, restoreCallback);
100
92
  controller.off('loaded', restoreCallback);
101
93
  controller.off('paused', pausedCallback);
102
94
  controller.off('playing', playingCallback);
@@ -1,21 +1,11 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.VideoEffect = VideoEffect;
9
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
- var _classnames = _interopRequireDefault(require("classnames"));
13
- var React = _interopRequireWildcard(require("react"));
14
- var _VreoUnit = require("../../../../typings/VreoUnit");
15
- var _hooks = require("../../../hooks");
16
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) { "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); } return f; })(e, t); }
1
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
2
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
4
+ import classNames from 'classnames';
5
+ import * as React from 'react';
17
6
  // import { Preloader } from '../../../../shared-utils/Preloader'
18
-
7
+ import { VreoKeyframeEnum } from "../../../../typings/VreoUnit.js";
8
+ import { useController, useFiveInstance } from "../../../hooks.js";
19
9
  var inlinePlay = function inlinePlay(videoInstance) {
20
10
  if (!videoInstance) return;
21
11
  var canplaythrough = function canplaythrough() {
@@ -31,25 +21,25 @@ var inlinePlay = function inlinePlay(videoInstance) {
31
21
  // const emptyVideo = '//vr-static.realsee-cdn.cn/release/web/leisure.69fd3522.mov'
32
22
  var PI = Math.PI;
33
23
  var PI_2 = PI * 2;
34
- function VideoEffect() {
24
+ export function VideoEffect() {
35
25
  var ref = React.useRef(null);
36
26
  var videoRef = React.useRef();
37
- var controller = (0, _hooks.useController)();
27
+ var controller = useController();
38
28
  var timeoutRef = React.useRef();
39
29
  var _React$useState = React.useState(false),
40
- _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
30
+ _React$useState2 = _slicedToArray(_React$useState, 2),
41
31
  visible = _React$useState2[0],
42
32
  setVisible = _React$useState2[1];
43
- var five = (0, _hooks.useFiveInstance)();
33
+ var five = useFiveInstance();
44
34
  var setBlobSrc = function setBlobSrc(blob) {
45
35
  if (!videoRef.current) return;
46
36
  videoRef.current.src = blob;
47
37
  };
48
38
  React.useEffect(function () {
49
39
  var callback = /*#__PURE__*/function () {
50
- var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(keyframe) {
40
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(keyframe) {
51
41
  var start, end, _ref2, videoSrc, fov, direction, panoIndex, vector, _ref3, _ref4, longitude, latitude;
52
- return _regenerator["default"].wrap(function _callee$(_context) {
42
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
53
43
  while (1) {
54
44
  switch (_context.prev = _context.next) {
55
45
  case 0:
@@ -66,7 +56,7 @@ function VideoEffect() {
66
56
  longitude = (longitude % PI_2 + PI_2) % PI_2;
67
57
  var latitude = -Math.asin(direction.y / 1);
68
58
  return [longitude, latitude];
69
- }(), _ref4 = (0, _slicedToArray2["default"])(_ref3, 2), longitude = _ref4[0], latitude = _ref4[1];
59
+ }(), _ref4 = _slicedToArray(_ref3, 2), longitude = _ref4[0], latitude = _ref4[1];
70
60
  five.setState({
71
61
  fov: fov,
72
62
  panoIndex: panoIndex,
@@ -93,7 +83,7 @@ function VideoEffect() {
93
83
  return _ref.apply(this, arguments);
94
84
  };
95
85
  }();
96
- controller.on(_VreoUnit.VreoKeyframeEnum.VideoEffect, callback);
86
+ controller.on(VreoKeyframeEnum.VideoEffect, callback);
97
87
  var destroy = function destroy() {
98
88
  var _videoRef$current2;
99
89
  if (timeoutRef.current) {
@@ -110,7 +100,7 @@ function VideoEffect() {
110
100
  return destroy();
111
101
  });
112
102
  return function () {
113
- controller.off(_VreoUnit.VreoKeyframeEnum.VideoEffect, callback);
103
+ controller.off(VreoKeyframeEnum.VideoEffect, callback);
114
104
  if (timeoutRef.current) {
115
105
  clearTimeout(timeoutRef.current);
116
106
  }
@@ -141,7 +131,7 @@ function VideoEffect() {
141
131
  }, []);
142
132
  return /*#__PURE__*/React.createElement("div", {
143
133
  ref: ref,
144
- className: (0, _classnames["default"])('VideoEffect', {
134
+ className: classNames('VideoEffect', {
145
135
  'VideoEffect--visible': visible
146
136
  })
147
137
  });
@@ -1,5 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
1
+ export {};
@@ -1,10 +1,4 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = centerPoint;
7
- var _three = require("three");
8
- function centerPoint(point1, point2) {
9
- return new _three.Vector3((point1.x + point2.x) / 2, (point1.y + point2.y) / 2, (point1.z + point2.z) / 2);
1
+ import { Vector3 } from 'three';
2
+ export default function centerPoint(point1, point2) {
3
+ return new Vector3((point1.x + point2.x) / 2, (point1.y + point2.y) / 2, (point1.z + point2.z) / 2);
10
4
  }
@@ -1,13 +1,7 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = createResizeObserver;
7
1
  /**
8
2
  * @description: 简陋的 ResizeObserver polyfill
9
3
  */
10
- function createResizeObserver(func, element) {
4
+ export default function createResizeObserver(func, element) {
11
5
  if (!element || typeof ResizeObserver === 'undefined') {
12
6
  return {
13
7
  observe: function observe() {
@@ -1,10 +1,4 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = evenNumber;
7
- function evenNumber(num, config) {
1
+ export default function evenNumber(num, config) {
8
2
  var roundNum = Math.round(num);
9
3
  return roundNum % 2 === 0 ? roundNum : roundNum + Number(config !== null && config !== void 0 && config.smaller ? -1 : 1);
10
4
  }
@@ -1,30 +1,20 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = exports.CSS3DRenderPlugin = void 0;
9
- var _three = _interopRequireWildcard(require("three"));
10
- var THREE = _three;
11
- var _CSS3DRenderer = require("three/examples/jsm/renderers/CSS3DRenderer");
12
- var _evenNumber = _interopRequireDefault(require("./evenNumber"));
13
- var _centerPoint = _interopRequireDefault(require("./centerPoint"));
14
- var _transformPositionToVector = _interopRequireDefault(require("./transformPositionToVector3"));
15
- var _createResizeObserver = _interopRequireDefault(require("./createResizeObserver"));
16
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) { "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); } return f; })(e, t); }
1
+ import * as THREE from 'three';
2
+ import { Scene, Vector3 } from 'three';
3
+ import { CSS3DObject, CSS3DRenderer } from 'three/examples/jsm/renderers/CSS3DRenderer';
4
+ import evenNumber from "./evenNumber.js";
5
+ import centerPoint from "./centerPoint.js";
6
+ import transformPositionToVector3 from "./transformPositionToVector3.js";
7
+ import createResizeObserver from "./createResizeObserver.js";
17
8
  /**
18
9
  * 三维向量
19
10
  */
20
-
21
11
  /**
22
12
  * **CSS3DRenderPlugin** 提供矩形区域(三维空间四个坐标点),你可以在此矩形区域中渲染 DOM 内容。
23
13
  * 实现原理参考[CSS3DRenderer](https://threejs.org/docs/index.html?q=CSS3D#examples/en/renderers/CSS3DRenderer)。
24
14
  *
25
15
  * @returns
26
16
  */
27
- var CSS3DRenderPlugin = exports.CSS3DRenderPlugin = function CSS3DRenderPlugin(five) {
17
+ export var CSS3DRenderPlugin = function CSS3DRenderPlugin(five) {
28
18
  var state = {
29
19
  disposeCallbacks: []
30
20
  };
@@ -34,7 +24,7 @@ var CSS3DRenderPlugin = exports.CSS3DRenderPlugin = function CSS3DRenderPlugin(f
34
24
  params[_key] = arguments[_key];
35
25
  }
36
26
  var points = params[0].map(function (point) {
37
- return point instanceof _three.Vector3 ? point : (0, _transformPositionToVector["default"])(point);
27
+ return point instanceof Vector3 ? point : transformPositionToVector3(point);
38
28
  });
39
29
  var config = params[1];
40
30
  if ((points === null || points === void 0 ? void 0 : points.length) < 4) return console.error('points must be equal or greater than than 4');
@@ -70,14 +60,14 @@ var CSS3DRenderPlugin = exports.CSS3DRenderPlugin = function CSS3DRenderPlugin(f
70
60
  var requestAnimationFrameId = null;
71
61
  if (behindModeUnInited) {
72
62
  state.behindMode = {
73
- scene: new _three.Scene(),
74
- css3DRenderer: new _CSS3DRenderer.CSS3DRenderer()
63
+ scene: new Scene(),
64
+ css3DRenderer: new CSS3DRenderer()
75
65
  };
76
66
  }
77
67
  if (frontModeUnInited) {
78
68
  state.frontMode = {
79
- scene: new _three.Scene(),
80
- css3DRenderer: new _CSS3DRenderer.CSS3DRenderer()
69
+ scene: new Scene(),
70
+ css3DRenderer: new CSS3DRenderer()
81
71
  };
82
72
  }
83
73
  var _ref = mode === 'behind' ? state.behindMode : state.frontMode,
@@ -88,16 +78,16 @@ var CSS3DRenderPlugin = exports.CSS3DRenderPlugin = function CSS3DRenderPlugin(f
88
78
  var css3DRendererSetSize = function css3DRendererSetSize() {
89
79
  // 这里evenNumber策略是遇到奇数会加1,不知道为啥会触发滚动条显示,导致fiveElement变小,fiveElement变小又触发了这里的resize,宽高变小,滚动条消失,然后又触发resize。。。无限循环
90
80
  // 为了规避上面这种情况,evenNumber设置了一个参数,遇到奇数可选择减一
91
- var rendererWidth = (0, _evenNumber["default"])(fiveElement.clientWidth, {
81
+ var rendererWidth = evenNumber(fiveElement.clientWidth, {
92
82
  smaller: true
93
83
  });
94
- var rendererHeight = (0, _evenNumber["default"])(fiveElement.clientHeight, {
84
+ var rendererHeight = evenNumber(fiveElement.clientHeight, {
95
85
  smaller: true
96
86
  });
97
87
  css3DRenderer.setSize(rendererWidth, rendererHeight);
98
88
  };
99
89
  css3DRendererSetSize();
100
- resizeObserver = (0, _createResizeObserver["default"])(css3DRendererSetSize, fiveElement);
90
+ resizeObserver = createResizeObserver(css3DRendererSetSize, fiveElement);
101
91
  css3DRenderer.domElement.style.position = 'absolute';
102
92
  css3DRenderer.domElement.style.top = '0';
103
93
  css3DRenderer.domElement.style.userSelect = 'none';
@@ -176,21 +166,21 @@ var CSS3DRenderPlugin = exports.CSS3DRenderPlugin = function CSS3DRenderPlugin(f
176
166
  mode = config.mode;
177
167
  var planeWidth = points[0].distanceTo(points[1]);
178
168
  var planeHeight = points[1].distanceTo(points[2]);
179
- var domWidthPx = (0, _evenNumber["default"])(planeWidth / ratio * dpr);
180
- var domHeightPx = (0, _evenNumber["default"])(planeHeight / ratio * dpr);
181
- var css3DObject = new _CSS3DRenderer.CSS3DObject(element);
169
+ var domWidthPx = evenNumber(planeWidth / ratio * dpr);
170
+ var domHeightPx = evenNumber(planeHeight / ratio * dpr);
171
+ var css3DObject = new CSS3DObject(element);
182
172
  css3DObject.scale.set(ratio, ratio, ratio);
183
173
  element.style.width = domWidthPx + 'px';
184
174
  element.style.height = domHeightPx + 'px';
185
175
  element.style.pointerEvents = 'none';
186
- var centerPosition = (0, _centerPoint["default"])(points[0], points[2]);
176
+ var centerPosition = centerPoint(points[0], points[2]);
187
177
  var vector01 = points[1].clone().sub(points[0]); // 点0 -> 点1 的向量
188
178
  var vector12 = points[2].clone().sub(points[1]); // 点1 -> 点2 的向量
189
179
 
190
180
  // 旋转
191
- var rotateXAngle = new _three.Vector3(0, 1, 0).angleTo(new _three.Vector3(0, vector12.y, vector12.z));
192
- var rotateYAngle = new _three.Vector3(1, 0, 0).angleTo(new _three.Vector3(vector01.x, 0, vector01.z));
193
- var rotateZAngle = vector01.angleTo(new _three.Vector3(vector01.x, 0, vector01.z));
181
+ var rotateXAngle = new Vector3(0, 1, 0).angleTo(new Vector3(0, vector12.y, vector12.z));
182
+ var rotateYAngle = new Vector3(1, 0, 0).angleTo(new Vector3(vector01.x, 0, vector01.z));
183
+ var rotateZAngle = vector01.angleTo(new Vector3(vector01.x, 0, vector01.z));
194
184
  /**
195
185
  * [0,1,0] => [0,0,1] 为rolate Worldx正方向
196
186
  * [0,0,1] => [0,1,0] 为rolate Worldy正方向
@@ -199,9 +189,9 @@ var CSS3DRenderPlugin = exports.CSS3DRenderPlugin = function CSS3DRenderPlugin(f
199
189
  var rotateX = (vector12.z > 0 ? -1 : 1) * rotateXAngle;
200
190
  var rotateY = (vector01.z < 0 ? 1 : -1) * rotateYAngle;
201
191
  var rotateZ = (vector01.x > 0 && vector01.y < 0 || vector01.x < 0 && vector01.y > 0 ? -1 : 1) * rotateZAngle;
202
- css3DObject.rotateOnWorldAxis(new _three.Vector3(1, 0, 0), rotateX); // x
203
- css3DObject.rotateOnWorldAxis(new _three.Vector3(0, 1, 0), rotateY); // y
204
- css3DObject.rotateOnWorldAxis(new _three.Vector3(0, 0, 1), rotateZ); // z
192
+ css3DObject.rotateOnWorldAxis(new Vector3(1, 0, 0), rotateX); // x
193
+ css3DObject.rotateOnWorldAxis(new Vector3(0, 1, 0), rotateY); // y
194
+ css3DObject.rotateOnWorldAxis(new Vector3(0, 0, 1), rotateZ); // z
205
195
 
206
196
  css3DObject.position.set(centerPosition.x, centerPosition.y, centerPosition.z);
207
197
  var mesh;
@@ -233,4 +223,4 @@ var CSS3DRenderPlugin = exports.CSS3DRenderPlugin = function CSS3DRenderPlugin(f
233
223
  }
234
224
  };
235
225
  };
236
- var _default = exports["default"] = CSS3DRenderPlugin;
226
+ export default CSS3DRenderPlugin;
@@ -1,14 +1,8 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var _three = require("three");
1
+ import { Vector3 } from 'three';
8
2
  var transformPositionToVector3 = function transformPositionToVector3(_ref) {
9
3
  var x = _ref.x,
10
4
  y = _ref.y,
11
5
  z = _ref.z;
12
- return new _three.Vector3(x, y, z);
6
+ return new Vector3(x, y, z);
13
7
  };
14
- var _default = exports["default"] = transformPositionToVector3;
8
+ export default transformPositionToVector3;
@@ -1,14 +1,7 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.CameraMovementPlugin = void 0;
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
- var _five = require("@realsee/five");
11
- var _typings = require("./typings");
1
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { Five } from '@realsee/five';
4
+ import { Rotation } from "./typings.js";
12
5
  var PI = Math.PI;
13
6
  var PI_2 = PI * 2;
14
7
  var moving = false; // five 6 神秘bug, move 的时候不能 setState
@@ -18,7 +11,7 @@ function progressNumber(from, to, pst) {
18
11
  return from + (to - from) * pst;
19
12
  }
20
13
  function progressLongitude(fromLongitude, toLongitude, rotation, progress) {
21
- var clockwise = rotation === _typings.Rotation.Clockwise;
14
+ var clockwise = rotation === Rotation.Clockwise;
22
15
  var delta = clockwise ? fromLongitude - toLongitude : toLongitude - fromLongitude;
23
16
  var deltaMod = delta % PI_2;
24
17
  var deltaMod2 = deltaMod < 0 ? deltaMod + PI_2 : deltaMod;
@@ -30,16 +23,16 @@ function progressLongitude(fromLongitude, toLongitude, rotation, progress) {
30
23
  /**
31
24
  * **运镜插件** 模拟类似于电影运镜效果。
32
25
  */
33
- var CameraMovementPlugin = exports.CameraMovementPlugin = function CameraMovementPlugin(five) {
26
+ export var CameraMovementPlugin = function CameraMovementPlugin(five) {
34
27
  var move = function move(args, duration) {
35
28
  var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
36
29
  preload: true
37
30
  };
38
31
  return new Promise(/*#__PURE__*/function () {
39
- var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(resolve, reject) {
32
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(resolve, reject) {
40
33
  var _opts$asyncEndCallbac;
41
34
  var panoIndex, start, movePanoOptions;
42
- return _regenerator["default"].wrap(function _callee$(_context) {
35
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
43
36
  while (1) {
44
37
  switch (_context.prev = _context.next) {
45
38
  case 0:
@@ -62,7 +55,7 @@ var CameraMovementPlugin = exports.CameraMovementPlugin = function CameraMovemen
62
55
  case 7:
63
56
  return _context.abrupt("return", resolve(true));
64
57
  case 8:
65
- if (!(args.mode === _five.Five.Mode.Floorplan)) {
58
+ if (!(args.mode === Five.Mode.Floorplan)) {
66
59
  _context.next = 10;
67
60
  break;
68
61
  }
@@ -124,7 +117,7 @@ var CameraMovementPlugin = exports.CameraMovementPlugin = function CameraMovemen
124
117
  }());
125
118
  };
126
119
  var rotate = /*#__PURE__*/function () {
127
- var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(args, duration) {
120
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(args, duration) {
128
121
  var _opts$asyncStartCallb, _opts$asyncEndCallbac2;
129
122
  var opts,
130
123
  from,
@@ -134,7 +127,7 @@ var CameraMovementPlugin = exports.CameraMovementPlugin = function CameraMovemen
134
127
  animeDuration,
135
128
  onFiveRenderFrame,
136
129
  _args2 = arguments;
137
- return _regenerator["default"].wrap(function _callee2$(_context2) {
130
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
138
131
  while (1) {
139
132
  switch (_context2.prev = _context2.next) {
140
133
  case 0:
@@ -148,11 +141,11 @@ var CameraMovementPlugin = exports.CameraMovementPlugin = function CameraMovemen
148
141
  break;
149
142
  }
150
143
  _context2.next = 6;
151
- return five.changeMode(args.mode, args.mode === _five.Five.Mode.Panorama ? {
144
+ return five.changeMode(args.mode, args.mode === Five.Mode.Panorama ? {
152
145
  latitude: 0
153
146
  } : undefined);
154
147
  case 6:
155
- if (!(args.mode === _five.Five.Mode.Panorama && five.currentMode === _five.Five.Mode.Panorama && args.panoIndex !== undefined && args.panoIndex !== five.panoIndex)) {
148
+ if (!(args.mode === Five.Mode.Panorama && five.currentMode === Five.Mode.Panorama && args.panoIndex !== undefined && args.panoIndex !== five.panoIndex)) {
156
149
  _context2.next = 12;
157
150
  break;
158
151
  }
@@ -191,7 +184,7 @@ var CameraMovementPlugin = exports.CameraMovementPlugin = function CameraMovemen
191
184
  timeEnd = false; // 开始时间
192
185
  start = performance.now();
193
186
  animeDuration = duration;
194
- if (args.rotation === _typings.Rotation.Loop) {
187
+ if (args.rotation === Rotation.Loop) {
195
188
  animeDuration = args.rotateSpeed ? Math.ceil(Math.abs(to.longitude - from.longitude) / args.rotateSpeed * 1000) : duration;
196
189
  animeDuration = Math.min(duration, animeDuration);
197
190
  }
@@ -201,7 +194,7 @@ var CameraMovementPlugin = exports.CameraMovementPlugin = function CameraMovemen
201
194
  return;
202
195
  }
203
196
  var targetState = {};
204
- if (args.rotation !== _typings.Rotation.Loop) {
197
+ if (args.rotation !== Rotation.Loop) {
205
198
  var progress = (performance.now() - start) / duration;
206
199
  targetState = {
207
200
  fov: progressNumber(from.fov, to.fov, progress),