@realsee/five 5.0.0-alpha.32 → 5.0.0-alpha.36
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/docs/assets/js/search.js +1 -1
- package/docs/classes/five.Camera.html +4 -4
- package/docs/classes/five.Five.html +110 -84
- package/docs/classes/five.HashCubeTexture.html +4 -4
- package/docs/classes/five.InternalWebGLRenderer.html +4 -4
- package/docs/classes/five.Model.html +4 -4
- package/docs/classes/five.NetworkSubscribe.html +4 -4
- package/docs/classes/five.PBMContainer.html +4 -4
- package/docs/classes/five.PBMGroup.html +4 -4
- package/docs/classes/five.PBMMaterial.html +4 -4
- package/docs/classes/five.PBMMesh.html +4 -4
- package/docs/classes/five.Scene.html +4 -4
- package/docs/classes/five.Subscribe.html +4 -4
- package/docs/classes/gltf_loader.GLTFLoader.html +4 -4
- package/docs/classes/gltf_loader.GLTFObject.html +4 -4
- package/docs/classes/line.Line.html +4 -4
- package/docs/classes/line.LineGeometry.html +4 -4
- package/docs/classes/line.LineMaterial.html +4 -4
- package/docs/classes/line.LineSegmentsGeometry.html +4 -4
- package/docs/classes/line.THREE_Line2.html +4 -4
- package/docs/classes/line.THREE_LineSegments2.html +4 -4
- package/docs/classes/react.Store.html +11 -5
- package/docs/classes/server.Model.html +4 -4
- package/docs/classes/server.PBMGroup.html +4 -4
- package/docs/classes/server.PBMMesh.html +4 -4
- package/docs/classes/sticker.Sticker.html +4 -4
- package/docs/index.html +4 -4
- package/docs/interfaces/five.AddableObject.html +4 -4
- package/docs/interfaces/five.DepthPanoramaControllerCustomInitArgs.html +4 -4
- package/docs/interfaces/five.EventCallback.html +4 -4
- package/docs/interfaces/five.FiveInitArgs.html +23 -4
- package/docs/interfaces/five.FloorplanControllerCustomInitArgs.html +4 -4
- package/docs/interfaces/five.ImageOptions.html +4 -4
- package/docs/interfaces/five.IntersectMeshInterface.html +4 -4
- package/docs/interfaces/five.Intersection.html +4 -4
- package/docs/interfaces/five.ModelControllerCustomInitArgs.html +4 -4
- package/docs/interfaces/five.ModelEventCallback.html +4 -4
- package/docs/interfaces/five.MovePanoOptions.html +4 -4
- package/docs/interfaces/five.PBMParameters.html +4 -4
- package/docs/interfaces/five.PanoCircleMeshInterface.html +4 -4
- package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +4 -4
- package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +4 -4
- package/docs/interfaces/five.Pose.html +4 -4
- package/docs/interfaces/five.Scissor.html +4 -4
- package/docs/interfaces/five.State.html +4 -4
- package/docs/interfaces/five.SubscribeMixinType.emit.html +4 -4
- package/docs/interfaces/five.SubscribeMixinType.hasListener.html +4 -4
- package/docs/interfaces/five.SubscribeMixinType.off.html +4 -4
- package/docs/interfaces/five.SubscribeMixinType.on.html +4 -4
- package/docs/interfaces/five.SubscribeMixinType.once.html +4 -4
- package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +4 -4
- package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +4 -4
- package/docs/interfaces/gltf_loader.GLTF.html +4 -4
- package/docs/interfaces/react.FiveActionReactCallbacks.html +11 -5
- package/docs/interfaces/react.FiveInjectionTypes.html +55 -28
- package/docs/interfaces/{react.InjectFiveToProps.html → react.PropTypeOfFiveFeatures.html} +19 -13
- package/docs/interfaces/server.Intersection.html +4 -4
- package/docs/interfaces/server.ModelEventCallback.html +4 -4
- package/docs/interfaces/sticker.IntersectionLike.html +4 -4
- package/docs/modules/five.SubscribeMixinType.html +4 -4
- package/docs/modules/five.html +5 -5
- package/docs/modules/gltf_loader.html +4 -4
- package/docs/modules/line.html +4 -4
- package/docs/modules/react.html +96 -27
- package/docs/modules/server.html +4 -4
- package/docs/modules/sticker.html +4 -4
- package/docs/modules.html +4 -4
- package/five/index.d.ts +8 -2
- package/five/index.js +8 -8
- package/gltf-loader/index.js +2 -2
- package/line/index.js +2 -2
- package/package.json +1 -1
- package/react/index.d.ts +23 -10
- package/react/index.js +3 -3
- package/server/index.js +2 -2
- package/sticker/index.js +2 -2
- package/umd/five-react.js +1 -1
- package/umd/five.js +1 -1
package/gltf-loader/index.js
CHANGED
package/line/index.js
CHANGED
package/package.json
CHANGED
package/react/index.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ import * as THREE_2 from 'three';
|
|
|
11
11
|
import { Vector2 } from 'three';
|
|
12
12
|
import { Work } from '@realsee/five';
|
|
13
13
|
|
|
14
|
+
export declare function createFiveFeature<T extends FiveInjectionFeature>(...features: T[]): T[];
|
|
15
|
+
|
|
14
16
|
/**
|
|
15
17
|
* 创建一个 FiveProvider
|
|
16
18
|
* 在 React 的体系下,使用 Provider 的方式来组织组件结构。
|
|
@@ -36,7 +38,7 @@ export declare function createFiveProvider(fiveInitArgs?: Omit<FiveInitArgs, "re
|
|
|
36
38
|
* 在一些外部调用方面可以尝试使用
|
|
37
39
|
*/
|
|
38
40
|
five?: Five;
|
|
39
|
-
loadWork(work: Work, state?: "inherit" | "initial" | Partial<Omit<State, "offset">>, duration?: number): void
|
|
41
|
+
loadWork(work: Work, state?: "inherit" | "initial" | Partial<Omit<State, "offset">>, duration?: number, userAction?: boolean): Promise<void>;
|
|
40
42
|
shouldComponentUpdate(nextProps: FiveProviderPropTypes): boolean;
|
|
41
43
|
componentWillUnmount(): void;
|
|
42
44
|
render(): JSX.Element;
|
|
@@ -255,7 +257,7 @@ export declare const FiveCanvas: React_2.FC<{
|
|
|
255
257
|
|
|
256
258
|
export declare type FiveInjectionActionFeature = "loadWork" | "setState" | "on" | "off" | "intersectRaycaster" | "project2d" | "updateCamera" | "initBasisLoader" | "getPixels" | "render" | "needsRender" | "preloadPano" | "showFloor" | "toggleHelperVisible";
|
|
257
259
|
|
|
258
|
-
export declare type FiveInjectionDataFeature = "unsafe__fiveInstance" | "currentState" | "state" | "work" | "model" | "scene" | "cameraDirection" | "cameraRaycaster" | "modelReadyState" | "shownFloor" | "totalFloorLength" | "helperVisible";
|
|
260
|
+
export declare type FiveInjectionDataFeature = "unsafe__fiveInstance" | "currentState" | "currentObserver" | "state" | "work" | "model" | "scene" | "cameraDirection" | "cameraRaycaster" | "modelReadyState" | "shownFloor" | "totalFloorLength" | "helperVisible";
|
|
259
261
|
|
|
260
262
|
export declare type FiveInjectionFeature = FiveInjectionDataFeature | FiveInjectionActionFeature;
|
|
261
263
|
|
|
@@ -474,6 +476,7 @@ export declare type FiveProviderPropTypes = {
|
|
|
474
476
|
work?: Work;
|
|
475
477
|
initialWork?: Work | Promise<Work>;
|
|
476
478
|
initialState?: "inherit" | "initial" | Partial<Omit<State, "offset">>;
|
|
479
|
+
initialUserAction?: boolean;
|
|
477
480
|
onWorkChange?: (work: Work) => void;
|
|
478
481
|
onStateChange?: (state: State, userAction: boolean) => void;
|
|
479
482
|
onCurrentStateChange?: (state: State, userAction: boolean) => void;
|
|
@@ -483,12 +486,12 @@ export declare type FiveProviderPropTypes = {
|
|
|
483
486
|
|
|
484
487
|
export declare type FiveProviderType = ReturnType<typeof createFiveProvider>;
|
|
485
488
|
|
|
486
|
-
export declare interface InjectFiveToProps<F extends FiveInjectionFeature> {
|
|
487
|
-
[INJECTION_PROPNAME]: Pick<FiveInjectionTypes, F>;
|
|
488
|
-
}
|
|
489
|
-
|
|
490
489
|
export declare const INJECTION_PROPNAME = "$five";
|
|
491
490
|
|
|
491
|
+
export declare interface PropTypeOfFiveFeatures<F extends FiveInjectionFeature[]> {
|
|
492
|
+
[INJECTION_PROPNAME]: Pick<FiveInjectionTypes, F[number]>;
|
|
493
|
+
}
|
|
494
|
+
|
|
492
495
|
/**
|
|
493
496
|
* 监听者模式
|
|
494
497
|
* @template T - 预设的监听回调类型
|
|
@@ -640,6 +643,16 @@ export declare function useFiveCameraDirection(): THREE_2.Vector3;
|
|
|
640
643
|
*/
|
|
641
644
|
export declare function useFiveCameraRaycaster(): THREE_2.Raycaster;
|
|
642
645
|
|
|
646
|
+
/**
|
|
647
|
+
* Five React Hooks: Five 的当前观测点
|
|
648
|
+
* @returns Work.observers[number] 当前观测点, 如果 work 未加载则为 null
|
|
649
|
+
* @example
|
|
650
|
+
* ```
|
|
651
|
+
* const observer = useFiveCurrentObserver();
|
|
652
|
+
* ```
|
|
653
|
+
*/
|
|
654
|
+
export declare function useFiveCurrentObserver(): Work["observers"][number] | null;
|
|
655
|
+
|
|
643
656
|
/**
|
|
644
657
|
* Five React Hooks: Five 的实时状态
|
|
645
658
|
* @returns
|
|
@@ -651,7 +664,7 @@ export declare function useFiveCameraRaycaster(): THREE_2.Raycaster;
|
|
|
651
664
|
*/
|
|
652
665
|
export declare function useFiveCurrentState(): [
|
|
653
666
|
currentState: State,
|
|
654
|
-
setState: (state: Partial<State
|
|
667
|
+
setState: (state: Partial<State> | ((prevState: State) => Partial<State>), immediately?: boolean, userAction?: boolean) => void
|
|
655
668
|
];
|
|
656
669
|
|
|
657
670
|
/**
|
|
@@ -763,7 +776,7 @@ export declare function useFiveSceneEffect(callback: (scene: Scene) => void | ((
|
|
|
763
776
|
|
|
764
777
|
export declare function useFiveState(): [
|
|
765
778
|
state: State,
|
|
766
|
-
setState: (state: Partial<State
|
|
779
|
+
setState: (state: Partial<State> | ((prevState: State) => Partial<State>), immediately?: boolean, userAction?: boolean) => void
|
|
767
780
|
];
|
|
768
781
|
|
|
769
782
|
/**
|
|
@@ -791,9 +804,9 @@ setState: (state: Partial<State>, immediately?: boolean, userAction?: boolean) =
|
|
|
791
804
|
*/
|
|
792
805
|
export declare function useFiveWork(): [
|
|
793
806
|
work: Work | undefined,
|
|
794
|
-
loadWork: (work: Work, state?: "inherit" | "initial" | Partial<Omit<State, "offset">>, duration?: number) => void
|
|
807
|
+
loadWork: (work: Work, state?: "inherit" | "initial" | Partial<Omit<State, "offset">>, duration?: number, userAction?: boolean) => Promise<void>
|
|
795
808
|
];
|
|
796
809
|
|
|
797
|
-
export declare function withFive<F extends FiveInjectionFeature>(
|
|
810
|
+
export declare function withFive<F extends FiveInjectionFeature[]>(features: F): <P extends PropTypeOfFiveFeatures<F>, C extends React_2.ComponentClass<P, any>>(Component: C & React_2.ComponentClass<P, any>) => React_2.ForwardRefExoticComponent<React_2.PropsWithoutRef<Omit<P, "$five">> & React_2.RefAttributes<Omit<InstanceType<C>, "state" | "setState" | "render" | "componentDidMount" | "shouldComponentUpdate" | "componentWillUnmount" | "componentDidCatch" | "getSnapshotBeforeUpdate" | "componentDidUpdate" | "componentWillMount" | "UNSAFE_componentWillMount" | "componentWillReceiveProps" | "UNSAFE_componentWillReceiveProps" | "componentWillUpdate" | "UNSAFE_componentWillUpdate" | "context" | "forceUpdate" | "props" | "refs">>>;
|
|
798
811
|
|
|
799
812
|
export { }
|
package/react/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @realsee/five
|
|
3
3
|
*
|
|
4
|
-
* Generated: 2021-09-
|
|
5
|
-
* Version: 5.0.0-alpha.
|
|
4
|
+
* Generated: 2021-09-21
|
|
5
|
+
* Version: 5.0.0-alpha.36
|
|
6
6
|
*
|
|
7
7
|
* Terms:
|
|
8
8
|
* Realsee SDK License Agreement
|
|
@@ -257,4 +257,4 @@
|
|
|
257
257
|
* Agreement and all related documents shall be drafted in English.
|
|
258
258
|
*/
|
|
259
259
|
|
|
260
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),n=require("react"),r=require("three"),t=require("@realsee/five");function o(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var t=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,t.get?t:{enumerable:!0,get:function(){return e[r]}})}})),n.default=e,Object.freeze(n)}var u=o(n),i=o(r),a=[];var f=u.createContext(null);function s(){var e=u.useContext(f);if(!e)throw new Error("FiveProvider never found.");return e.five}function c(){var e=u.useContext(f);if(!e)throw new Error("FiveProvider never found.");return e.loadWork}var l={display:"inline-block",overflow:"hidden"};function d(e,n){var r=s(),t=[r];void 0!==n&&(t=t.concat(n)),u.useLayoutEffect((function(){return e(r.scene)}),t)}var v=d;function p(n){return e.__assign({},n.state)}function h(e){var n=e.camera.getWorldDirection(new i.Vector3);return new i.Raycaster(e.camera.position,n)}function m(e){return e.camera.getWorldDirection(new i.Vector3)}function y(e){return e.model.empty?"Empty":"Loaded"}function g(e,n){return n.indexOf(e)>=0}function S(e,n){for(var r=0,t=Object.keys(n);r<t.length;r++){var o=t[r];void 0!==n[o]&&(e[o]=n[o])}}function C(n,r){var t=g("state",r),o=u.useState(Symbol()),i=o[0],a=o[1],f=u.useMemo((function(){if(t)return e.__assign({},n.state)}),[n,i]);return u.useLayoutEffect((function(){if(t)return n.on("stateChange",(function(){return a(Symbol())}))}),[n]),[f,i]}function w(e,n){var r=g("currentState",n),t=u.useState(Symbol()),o=t[0],i=t[1],a=u.useMemo((function(){if(r)return e.getCurrentState()}),[e,o]);return u.useLayoutEffect((function(){if(r)return e.on("currentStateChange",(function(){return i(Symbol())}))}),[e]),[a,o]}function b(e,n){return[g("unsafe__fiveInstance",n)?e:void 0]}function E(e,n){var r=g("work",n),t=u.useState(Symbol()),o=t[0],i=t[1],a=u.useMemo((function(){if(r)return e.work}),[e,o]);return u.useLayoutEffect((function(){if(r)return e.on("load",(function(){return i(Symbol())}))}),[e]),[a,o]}function k(e,n){var r=g("model",n),t=u.useState(Symbol()),o=t[0],i=t[1],a=u.useMemo((function(){if(r)return e.model}),[e,o]);return u.useLayoutEffect((function(){if(r)return e.on("modelLoaded",(function(){return i(Symbol())}))}),[e]),[a,o]}function x(e,n){return[g("scene",n)?e.scene:void 0]}function L(e,n){var r=g("cameraDirection",n),t=u.useState(Symbol()),o=t[0],a=t[1],f=u.useMemo((function(){if(r)return e.camera.getWorldDirection(new i.Vector3)}),[e,o]);return u.useLayoutEffect((function(){if(r)return e.on("cameraUpdate",(function(){return a(Symbol())}))}),[e]),[f,o]}function _(e,n){var r=g("cameraRaycaster",n),t=u.useState(Symbol()),o=t[0],a=t[1],f=u.useMemo((function(){if(r){var n=e.camera.getWorldDirection(new i.Vector3);return new i.Raycaster(e.camera.position,n)}}),[e,o]);return u.useLayoutEffect((function(){if(r)return e.on("cameraUpdate",(function(){return a(Symbol())}))}),[e]),[f,o]}function F(e,n){var r=g("modelReadyState",n),t=u.useState(Symbol()),o=t[0],i=t[1],a=u.useMemo((function(){if(r)return e.model.empty?"Empty":"Loaded"}),[e,o]);return u.useLayoutEffect((function(){if(r)return e.on("modelLoaded",(function(){return i(Symbol())}))}),[e]),[a,o]}function P(e,n){var r=g("shownFloor",n),t=u.useState(Symbol()),o=t[0],i=t[1],a=u.useMemo((function(){if(r)return e.model.shownFloor}),[e,o]);return u.useLayoutEffect((function(){if(r)return e.on("modelShownFloorChange",(function(){return i(Symbol())}))}),[e]),[a,o]}function R(e,n){var r=g("totalFloorLength",n),t=u.useState(Symbol()),o=t[0],i=t[1],a=u.useMemo((function(){if(r)return e.model.hasFloors()}),[e,o]);return u.useLayoutEffect((function(){if(r)return e.on("modelLoaded",(function(){return i(Symbol())}))}),[e]),[a,o]}function V(e,n){var r=g("helperVisible",n),t=u.useState(Symbol()),o=t[0],i=t[1],a=u.useMemo((function(){if(r)return e.helperVisible}),[e,o]);return u.useLayoutEffect((function(){if(r)return e.on("helpersVisibleChange",(function(){return i(Symbol())}))}),[e]),[a,o]}function W(e,n){if(g("loadWork",n))return e}function M(e,n){if(g("setState",n))return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e.setState.apply(e,n)}}function O(e,n){if(g("on",n))return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e.on.apply(e,n)}}function j(e,n){if(g("on",n))return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e.once.apply(e,n)}}function N(e,n){if(g("off",n))return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e.off.apply(e,n)}}function A(e,n){if(g("intersectRaycaster",n))return function(){for(var n,r=[],t=0;t<arguments.length;t++)r[t]=arguments[t];return(n=e.model).intersectRaycaster.apply(n,r)}}function D(e,n){if(g("project2d",n))return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e.project2d.apply(e,n)}}function U(e,n){if(g("updateCamera",n))return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e.updateCamera.apply(e,n)}}function B(e,n){if(g("initBasisLoader",n))return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e.initBasisLoader.apply(e,n)}}function I(e,n){if(g("getPixels",n))return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e.getPixels.apply(e,n)}}function q(e,n){if(g("render",n))return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e.render.apply(e,n)}}function H(e,n){if(g("needsRender",n))return function(){e.needsRender=!0}}function z(e,n){if(g("preloadPano",n))return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e.preloadPano.apply(e,n)}}function G(e,n){if(g("showFloor",n))return function(n){"number"==typeof n?e.model.show(n):e.model.show()}}function T(e,n){if(g("toggleHelperVisible",n))return function(n){e.helperVisible=n}}function $(e,n){for(var r={},t=n.length,o=-1;++o<t;){var u=n[o];u in e&&(r[u]=e[u])}return r}function J(e,n){for(var r=0;r<e.length;r++)for(var t=0;r<n.length;t++)if(e[r]===n[t])return!0;return!1}var K=function(){function n(e,n){this.values=e,this.listeners=[],this.onValuesChange=n}return n.prototype.on=function(e,n){var r=this,t=[e,n];return this.listeners.push(t),function(){var e=r.listeners.indexOf(t);e>=0&&r.listeners.splice(e,1)}},n.prototype.getValues=function(e){return $(this.values,e)},n.prototype.setValues=function(n,r){var t,o,u=[];for(var i in r)n.indexOf(i)>=0&&(t=r[i],o=this.values[i],!("number"==typeof t&&"number"==typeof o&&isNaN(t)&&isNaN(o)||t===o))&&u.push(i);if(0!==u.length){for(var a=e.__assign({},this.values),f=0,s=u;f<s.length;f++){var c=s[f];this.values[c]=r[c]}this.onValuesChange&&this.onValuesChange(this.values,a);for(var l=0,d=this.listeners;l<d.length;l++){var v=d[l],p=v[0],h=v[1];if(J(p,u)){var m=$(a,p);h($(this.values,p),m)}}}},n}();exports.FiveCanvas=function(n){var r=n.width,t=n.height,o=s(),i=u.createRef(),a=e.__assign({width:r,height:t},l);return u.useLayoutEffect((function(){if(i.current&&o.renderer){if(null!==o.renderer.domElement.parentNode&&o.renderer.domElement.parentNode!==i.current)throw new Error("There are more than 2 fiveCanvas in this context.");o.renderer.domElement.parentNode!==i.current&&i.current.appendChild(o.renderer.domElement),o.camera.aspect=r/t,o.camera.updateProjectionMatrix(),o.renderer.setSize(r,t),o.needsRender=!0}}),[r,t,i.current]),u.createElement("div",{ref:i,style:a})},exports.INJECTION_PROPNAME="$five",exports.Store=K,exports.createFiveProvider=function(n){return void 0===n&&(n={}),function(r){function o(o){var u=r.call(this,o)||this;if(!o.work&&!o.initialWork)throw new Error("props 'work' or 'initialWork' is never set.");var f=function(e){var n=void 0===e?{}:e,r=n.backgroundColor,t=void 0===r?1579548:r,o=n.backgroundAlpha,u=void 0===o?1:o,f=n.pixelRatio,s=void 0===f?1:f;if("undefined"!=typeof window){var c=a.shift();return c||((c=new i.WebGLRenderer({antialias:!1,alpha:!0})).outputEncoding=i.sRGBEncoding),c.setPixelRatio(s),c.setClearColor(t,u),c.autoClear=!0,c}}({pixelRatio:1===t.getViewportScale()?window.devicePixelRatio:1});return u.five=new t.Five(e.__assign({renderer:f},n)),u.five.load(o.work||o.initialWork,o.initialState),u.five.on("load",(function(){var e;u.props.onWorkChange&&u.props.onWorkChange(null===(e=u.five)||void 0===e?void 0:e.work)})),u.five.on("stateChange",(function(e,n){u.props.onStateChange&&u.props.onStateChange(e,n)})),u.five.on("currentStateChange",(function(e,n){u.props.onCurrentStateChange&&u.props.onCurrentStateChange(e,n)})),u.five.on("error",(function(e){u.props.onError?u.props.onError(e):console.warn(e.message)})),u}return e.__extends(o,r),o.prototype.loadWork=function(e,n,r){var t;if(this.props.work)throw new Error("props 'work' is set in fiveProvider, if you need modify work internal, use 'initialWork' instead.");null===(t=this.five)||void 0===t||t.load(e,n,r)},o.prototype.shouldComponentUpdate=function(e){var n,r;return e.work&&e.work!==(null===(n=this.five)||void 0===n?void 0:n.work)&&(null===(r=this.five)||void 0===r||r.load(e.work,e.initialState)),!0},o.prototype.componentWillUnmount=function(){var e;this.five&&(this.five.dispose(),(e=this.five.renderer)&&-1===a.indexOf(e)&&a.push(e),delete this.five)},o.prototype.render=function(){var e=this;return u.createElement(f.Provider,{value:{five:this.five,loadWork:function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e.loadWork.apply(e,n)}}},this.props.children)},o}(u.Component)},exports.createStore=function(n){var r=u.createContext(null);return{useStore:function(n){var t=u.useContext(r);if(null===t)throw new Error("StoreProvider never found.");var o=u.useRef(!0),i=u.useState(t.getValues(n)),a=i[0],f=i[1],s=e.__spreadArray([t],n,!0);return u.useLayoutEffect((function(){return o.current?o.current=!1:f(t.getValues(n)),t.on(n,(function(e){return f(e)}))}),s),[a,u.useCallback((function(e){return t.setValues(n,e)}),s)]},useStoreSetter:function(n){var t=u.useContext(r);if(null===t)throw new Error("StoreProvider never found.");return u.useCallback((function(e){return t.setValues(n,e)}),e.__spreadArray([t],n,!0))},watchStore:function(n,t,o){var i=u.useContext(r);if(null===i)throw new Error("StoreProvider never found.");var a=e.__spreadArray([i],n,!0);void 0!==o&&(a=a.concat(o)),u.useLayoutEffect((function(){return i.on(n,t)}),a)},useStoreAction:function(t){var o=u.useContext(r);if(null===o)throw new Error("StoreProvider never found.");return u.useCallback((function(){for(var r=[],u=0;u<arguments.length;u++)r[u]=arguments[u];var i=n[t],a=i[0],f=i.slice(1),s=function(){return o.getValues(f)},c=function(e){return o.setValues(f,e)};return a.apply(void 0,e.__spreadArray([s,c],r,!1))}),[])},StoreProvider:function(n){function t(e){var r=n.call(this,e)||this;return r.store=new K(e.initialValue,(function(){for(var e,n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];r.props.onValuesChange&&(e=r.props).onValuesChange.apply(e,n)})),r}return e.__extends(t,n),t.prototype.shouldComponentUpdate=function(e){return e.children!==this.props.children},t.prototype.render=function(){return u.createElement(r.Provider,{value:this.store},this.props.children)},t}(u.Component)}},exports.unsafe__useFiveInstance=function(){return s()},exports.useFiveAction=function(){var e=s();return{updateCamera:u.useCallback((function(n,r){return e.updateCamera(n,r)}),[e]),initBasisLoader:u.useCallback((function(n){return e.initBasisLoader(n)}),[e]),getPixels:u.useCallback((function(n,r,t,o,u){return e.getPixels(n,r,t,o,u)}),[e]),render:u.useCallback((function(n){return e.render(n)}),[e]),needsRender:u.useCallback((function(){return e.needsRender=!0}),[e]),preloadPano:u.useCallback((function(n,r){return e.preloadPano(n,r)}),[e])}},exports.useFiveCameraDirection=function(){var e=s(),n=u.useState((function(){return m(e)})),r=n[0],t=n[1];return u.useLayoutEffect((function(){return e.on("cameraUpdate",(function(){return t(m(e))}))}),[e]),r},exports.useFiveCameraRaycaster=function(){var e=s(),n=u.useState((function(){return h(e)})),r=n[0],t=n[1];return u.useLayoutEffect((function(){return e.on("cameraUpdate",(function(){return t(h(e))}))}),[e]),r},exports.useFiveCurrentState=function(){var e=s(),n=u.useState((function(){return e.getCurrentState()})),r=n[0],t=n[1],o=u.useCallback((function(n,r,t){void 0===r&&(r=!1),void 0===t&&(t=!0),e.setState(n,r,t)}),[e]);return u.useLayoutEffect((function(){return e.on("currentStateChange",(function(){return t(e.getCurrentState())}))}),[e]),[r,o]},exports.useFiveEventCallback=function(e,n,r){var t=s(),o=[t,e];void 0!==r&&(o=o.concat(r)),u.useLayoutEffect((function(){return t.on(e,n)}),o)},exports.useFiveFloor=function(){var e=s(),n=u.useState(e.model.shownFloor),r=n[0],t=n[1],o=u.useState(e.model.floorLength),i=o[0],a=o[1],f=u.useCallback((function(n){"number"==typeof n?e.model.show(n):e.model.show()}),[e]);return u.useLayoutEffect((function(){var n=[];return n.push(e.on("modelShownFloorChange",(function(){return t(e.model.shownFloor)}))),n.push(e.on("modelLoaded",(function(){return a(e.model.floorLength)}))),function(){for(var e;e=n.shift();)e()}}),[e]),[r,i,f]},exports.useFiveHelper=function(){var e=s(),n=u.useState(e.helperVisible),r=n[0],t=n[1],o=u.useCallback((function(n){e.helperVisible=n}),[e]);return u.useLayoutEffect((function(){return e.on("helpersVisibleChange",(function(e){return t(e)}))}),[e]),[r,o]},exports.useFiveModelIntersectRaycaster=function(){var e=s();return u.useCallback((function(n){return e.model.intersectRaycaster(n)}),[e])},exports.useFiveModelReadyState=function(){var e=s(),n=u.useState((function(){return y(e)})),r=n[0],t=n[1];return u.useLayoutEffect((function(){return e.on("modelLoaded",(function(){return t(y(e))}))}),[e]),r},exports.useFiveProject2d=function(){var e=s(),n=u.useState((function(){return Symbol()}));n[0];var r=n[1];return u.useLayoutEffect((function(){return e.on("cameraUpdate",(function(){return r(Symbol())}))}),[e]),u.useCallback((function(n,r){return e.project2d(n,r)}),[e])},exports.useFiveScene=v,exports.useFiveSceneEffect=d,exports.useFiveState=function(){var e=s(),n=u.useState((function(){return p(e)})),r=n[0],t=n[1],o=u.useCallback((function(n,r,t){void 0===r&&(r=!1),void 0===t&&(t=!0),e.setState(n,r,t)}),[e]);return u.useLayoutEffect((function(){return e.on("stateChange",(function(){return t(p(e))}))}),[e]),[r,o]},exports.useFiveWork=function(){var e=s(),n=c(),r=u.useState((function(){return e.work})),t=r[0],o=r[1];return u.useLayoutEffect((function(){return e.on("load",(function(){return o(e.work)}))}),[e]),[t,n]},exports.withFive=function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return function(r){return u.forwardRef((function(t,o){var i=s(),a=c(),f=b(i,n)[0],l=C(i,n),d=l[0],v=l[1],p=w(i,n),h=p[0],m=p[1],y=E(i,n),g=y[0],$=y[1],J=k(i,n),K=J[0],Q=J[1],X=x(i,n)[0],Y=L(i,n),Z=Y[0],ee=Y[1],ne=_(i,n),re=ne[0],te=ne[1],oe=F(i,n),ue=oe[0],ie=oe[1],ae=P(i,n),fe=ae[0],se=ae[1],ce=R(i,n),le=ce[0],de=ce[1],ve=V(i,n),pe=ve[0],he=ve[1],me=u.useMemo((function(){var e={};return S(e,{setState:M(i,n),loadWork:W(a,n),on:O(i,n),once:j(i,n),off:N(i,n),intersectRaycaster:A(i,n),project2d:D(i,n),updateCamera:U(i,n),initBasisLoader:B(i,n),getPixels:I(i,n),render:q(i,n),needsRender:H(i,n),preloadPano:z(i,n),showFloor:G(i,n),toggleHelperVisible:T(i,n)}),e}),[i,a]),ye=u.useMemo((function(){var n=e.__assign({},me);return S(n,{unsafe__fiveInstance:f,state:d,currentState:h,work:g,model:K,scene:X,cameraDirection:Z,cameraRaycaster:re,modelReadyState:ue,shownFloor:fe,totalFloorLength:le,helperVisible:pe}),n}),[i,me,v,m,$,Q,ee,te,ie,se,de,he]);return u.createElement(r,e.__assign({ref:o,$five:ye},t))}))}};
|
|
260
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),r=require("react"),n=require("three"),t=require("@realsee/five");function o(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var t=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,t.get?t:{enumerable:!0,get:function(){return e[n]}})}})),r.default=e,Object.freeze(r)}var u=o(r),i=o(n),a=[];var f=u.createContext(null);function s(){var e=u.useContext(f);if(!e)throw new Error("FiveProvider never found.");return e.five}function c(){var e=u.useContext(f);if(!e)throw new Error("FiveProvider never found.");return e.loadWork}var l={display:"inline-block",overflow:"hidden"};function d(e,r){var n=s(),t=[n];void 0!==r&&(t=t.concat(r)),u.useLayoutEffect((function(){return e(n.scene)}),t)}var v=d;function p(r){return e.__assign({},r.state)}function h(e){var r=e.camera.getWorldDirection(new i.Vector3);return new i.Raycaster(e.camera.position,r)}function m(e){return e.camera.getWorldDirection(new i.Vector3)}function y(e){return e.model.empty?"Empty":"Loaded"}function S(e,r){return r.indexOf(e)>=0}function g(e,r){for(var n=0,t=Object.keys(r);n<t.length;n++){var o=t[n];void 0!==r[o]&&(e[o]=r[o])}}function C(e,r){if(S("loadWork",r))return e}function w(e,r){if(S("setState",r))return function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return e.setState.apply(e,r)}}function b(e,r){if(S("on",r))return function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return e.on.apply(e,r)}}function k(e,r){if(S("on",r))return function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return e.once.apply(e,r)}}function E(e,r){if(S("off",r))return function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return e.off.apply(e,r)}}function x(e,r){if(S("intersectRaycaster",r))return function(){for(var r,n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return(r=e.model).intersectRaycaster.apply(r,n)}}function L(e,r){if(S("project2d",r))return function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return e.project2d.apply(e,r)}}function F(e,r){if(S("updateCamera",r))return function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return e.updateCamera.apply(e,r)}}function _(e,r){if(S("initBasisLoader",r))return function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return e.initBasisLoader.apply(e,r)}}function P(e,r){if(S("getPixels",r))return function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return e.getPixels.apply(e,r)}}function R(e,r){if(S("render",r))return function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return e.render.apply(e,r)}}function V(e,r){if(S("needsRender",r))return function(){e.needsRender=!0}}function M(e,r){if(S("preloadPano",r))return function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return e.preloadPano.apply(e,r)}}function W(e,r){if(S("showFloor",r))return function(r){"number"==typeof r?e.model.show(r):e.model.show()}}function O(e,r){if(S("toggleHelperVisible",r))return function(r){e.helperVisible=r}}function j(e,r){for(var n={},t=r.length,o=-1;++o<t;){var u=r[o];u in e&&(n[u]=e[u])}return n}function N(e,r){for(var n=0;n<e.length;n++)for(var t=0;n<r.length;t++)if(e[n]===r[t])return!0;return!1}var A=function(){function r(e,r){this.values=e,this.listeners=[],this.onValuesChange=r}return r.prototype.on=function(e,r){var n=this,t=[e,r];return this.listeners.push(t),function(){var e=n.listeners.indexOf(t);e>=0&&n.listeners.splice(e,1)}},r.prototype.getValues=function(e){return j(this.values,e)},r.prototype.setValues=function(r,n){var t,o,u=[];for(var i in n)r.indexOf(i)>=0&&(t=n[i],o=this.values[i],!("number"==typeof t&&"number"==typeof o&&isNaN(t)&&isNaN(o)||t===o))&&u.push(i);if(0!==u.length){for(var a=e.__assign({},this.values),f=0,s=u;f<s.length;f++){var c=s[f];this.values[c]=n[c]}this.onValuesChange&&this.onValuesChange(this.values,a);for(var l=0,d=this.listeners;l<d.length;l++){var v=d[l],p=v[0],h=v[1];if(N(p,u)){var m=j(a,p);h(j(this.values,p),m)}}}},r}();exports.FiveCanvas=function(r){var n=r.width,t=r.height,o=s(),i=u.createRef(),a=e.__assign({width:n,height:t},l);return u.useLayoutEffect((function(){if(i.current&&o.renderer){if(null!==o.renderer.domElement.parentNode&&o.renderer.domElement.parentNode!==i.current)throw new Error("There are more than 2 fiveCanvas in this context.");o.renderer.domElement.parentNode!==i.current&&i.current.appendChild(o.renderer.domElement),o.camera.aspect=n/t,o.camera.updateProjectionMatrix(),o.renderer.setSize(n,t),o.needsRender=!0}}),[n,t,i.current]),u.createElement("div",{ref:i,style:a})},exports.INJECTION_PROPNAME="$five",exports.Store=A,exports.createFiveFeature=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return e},exports.createFiveProvider=function(r){return void 0===r&&(r={}),function(n){function o(o){var u,f=n.call(this,o)||this;if(!o.work&&!o.initialWork)throw new Error("props 'work' or 'initialWork' is never set.");var s=function(e){var r=void 0===e?{}:e,n=r.backgroundColor,t=void 0===n?1579548:n,o=r.backgroundAlpha,u=void 0===o?1:o,f=r.pixelRatio,s=void 0===f?1:f;if("undefined"!=typeof window){var c=a.shift();return c||((c=new i.WebGLRenderer({antialias:!1,alpha:!0})).outputEncoding=i.sRGBEncoding),c.setPixelRatio(s),c.setClearColor(t,u),c.autoClear=!0,c}}({pixelRatio:1===t.getViewportScale()?window.devicePixelRatio:1});return f.five=new t.Five(e.__assign({renderer:s},r)),f.five.load(o.work||o.initialWork,o.initialState,void 0,null===(u=o.initialUserAction)||void 0===u||u),f.five.on("load",(function(){var e;f.props.onWorkChange&&f.props.onWorkChange(null===(e=f.five)||void 0===e?void 0:e.work)})),f.five.on("stateChange",(function(e,r){f.props.onStateChange&&f.props.onStateChange(e,r)})),f.five.on("currentStateChange",(function(e,r){f.props.onCurrentStateChange&&f.props.onCurrentStateChange(e,r)})),f.five.on("error",(function(e){f.props.onError?f.props.onError(e):console.warn(e.message)})),f}return e.__extends(o,n),o.prototype.loadWork=function(e,r,n,t){if(void 0===t&&(t=!0),this.props.work)throw new Error("props 'work' is set in fiveProvider, if you need modify work internal, use 'initialWork' instead.");return this.five.load(e,r,n,t)},o.prototype.shouldComponentUpdate=function(e){var r,n;return e.work&&e.work!==(null===(r=this.five)||void 0===r?void 0:r.work)&&(null===(n=this.five)||void 0===n||n.load(e.work,e.initialState)),!0},o.prototype.componentWillUnmount=function(){var e;this.five&&(this.five.dispose(),(e=this.five.renderer)&&-1===a.indexOf(e)&&a.push(e),delete this.five)},o.prototype.render=function(){var e=this;return u.createElement(f.Provider,{value:{five:this.five,loadWork:function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return e.loadWork.apply(e,r)}}},this.props.children)},o}(u.Component)},exports.createStore=function(r){var n=u.createContext(null);return{useStore:function(r){var t=u.useContext(n);if(null===t)throw new Error("StoreProvider never found.");var o=u.useRef(!0),i=u.useState(t.getValues(r)),a=i[0],f=i[1],s=e.__spreadArray([t],r,!0);return u.useLayoutEffect((function(){return o.current?o.current=!1:f(t.getValues(r)),t.on(r,(function(e){return f(e)}))}),s),[a,u.useCallback((function(e){return t.setValues(r,e)}),s)]},useStoreSetter:function(r){var t=u.useContext(n);if(null===t)throw new Error("StoreProvider never found.");return u.useCallback((function(e){return t.setValues(r,e)}),e.__spreadArray([t],r,!0))},watchStore:function(r,t,o){var i=u.useContext(n);if(null===i)throw new Error("StoreProvider never found.");var a=e.__spreadArray([i],r,!0);void 0!==o&&(a=a.concat(o)),u.useLayoutEffect((function(){return i.on(r,t)}),a)},useStoreAction:function(t){var o=u.useContext(n);if(null===o)throw new Error("StoreProvider never found.");return u.useCallback((function(){for(var n=[],u=0;u<arguments.length;u++)n[u]=arguments[u];var i=r[t],a=i[0],f=i.slice(1),s=function(){return o.getValues(f)},c=function(e){return o.setValues(f,e)};return a.apply(void 0,e.__spreadArray([s,c],n,!1))}),[])},StoreProvider:function(r){function t(e){var n=r.call(this,e)||this;return n.store=new A(e.initialValue,(function(){for(var e,r=[],t=0;t<arguments.length;t++)r[t]=arguments[t];n.props.onValuesChange&&(e=n.props).onValuesChange.apply(e,r)})),n}return e.__extends(t,r),t.prototype.shouldComponentUpdate=function(e){return e.children!==this.props.children},t.prototype.render=function(){return u.createElement(n.Provider,{value:this.store},this.props.children)},t}(u.Component)}},exports.unsafe__useFiveInstance=function(){return s()},exports.useFiveAction=function(){var e=s();return{updateCamera:u.useCallback((function(r,n){return e.updateCamera(r,n)}),[e]),initBasisLoader:u.useCallback((function(r){return e.initBasisLoader(r)}),[e]),getPixels:u.useCallback((function(r,n,t,o,u){return e.getPixels(r,n,t,o,u)}),[e]),render:u.useCallback((function(r){return e.render(r)}),[e]),needsRender:u.useCallback((function(){return e.needsRender=!0}),[e]),preloadPano:u.useCallback((function(r,n){return e.preloadPano(r,n)}),[e])}},exports.useFiveCameraDirection=function(){var e=s(),r=u.useState((function(){return m(e)})),n=r[0],t=r[1];return u.useLayoutEffect((function(){return e.on("cameraUpdate",(function(){return t(m(e))}))}),[e]),n},exports.useFiveCameraRaycaster=function(){var e=s(),r=u.useState((function(){return h(e)})),n=r[0],t=r[1];return u.useLayoutEffect((function(){return e.on("cameraUpdate",(function(){return t(h(e))}))}),[e]),n},exports.useFiveCurrentObserver=function(){var e=s(),r=u.useState((function(){return e.getCurrentState()})),n=r[0],t=r[1];return u.useLayoutEffect((function(){return e.on("currentStateChange",(function(){return t(e.getCurrentState())}))}),[e]),e.work?e.work.observers[n.panoIndex]:null},exports.useFiveCurrentState=function(){var e=s(),r=u.useState((function(){return e.getCurrentState()})),n=r[0],t=r[1],o=u.useCallback((function(r,t,o){void 0===t&&(t=!1),void 0===o&&(o=!0);var u="function"==typeof r?r(n):r;e.setState(u,t,o)}),[e,n]);return u.useLayoutEffect((function(){return e.on("currentStateChange",(function(){return t(e.getCurrentState())}))}),[e]),[n,o]},exports.useFiveEventCallback=function(e,r,n){var t=s(),o=[t,e];void 0!==n&&(o=o.concat(n)),u.useLayoutEffect((function(){return t.on(e,r)}),o)},exports.useFiveFloor=function(){var e=s(),r=u.useState(e.model.shownFloor),n=r[0],t=r[1],o=u.useState(e.model.floorLength),i=o[0],a=o[1],f=u.useCallback((function(r){"number"==typeof r?e.model.show(r):e.model.show()}),[e]);return u.useLayoutEffect((function(){var r=[];return r.push(e.on("modelShownFloorChange",(function(){return t(e.model.shownFloor)}))),r.push(e.on("modelLoaded",(function(){return a(e.model.floorLength)}))),function(){for(var e;e=r.shift();)e()}}),[e]),[n,i,f]},exports.useFiveHelper=function(){var e=s(),r=u.useState(e.helperVisible),n=r[0],t=r[1],o=u.useCallback((function(r){e.helperVisible=r}),[e]);return u.useLayoutEffect((function(){return e.on("helpersVisibleChange",(function(e){return t(e)}))}),[e]),[n,o]},exports.useFiveModelIntersectRaycaster=function(){var e=s();return u.useCallback((function(r){return e.model.intersectRaycaster(r)}),[e])},exports.useFiveModelReadyState=function(){var e=s(),r=u.useState((function(){return y(e)})),n=r[0],t=r[1];return u.useLayoutEffect((function(){return e.on("modelLoaded",(function(){return t(y(e))}))}),[e]),n},exports.useFiveProject2d=function(){var e=s(),r=u.useState((function(){return Symbol()}));r[0];var n=r[1];return u.useLayoutEffect((function(){return e.on("cameraUpdate",(function(){return n(Symbol())}))}),[e]),u.useCallback((function(r,n){return e.project2d(r,n)}),[e])},exports.useFiveScene=v,exports.useFiveSceneEffect=d,exports.useFiveState=function(){var e=s(),r=u.useState((function(){return p(e)})),n=r[0],t=r[1],o=u.useCallback((function(r,t,o){void 0===t&&(t=!1),void 0===o&&(o=!0);var u="function"==typeof r?r(n):r;e.setState(u,t,o)}),[e,n]);return u.useLayoutEffect((function(){return e.on("stateChange",(function(){return t(p(e))}))}),[e]),[n,o]},exports.useFiveWork=function(){var e=s(),r=c(),n=u.useState((function(){return e.work})),t=n[0],o=n[1];return u.useLayoutEffect((function(){return e.on("load",(function(){return o(e.work)}))}),[e]),[t,r]},exports.withFive=function(r){return function(n){return u.forwardRef((function(t,o){var a=s(),f=c(),l=function(e,r){return[S("unsafe__fiveInstance",r)?e:void 0]}(a,r)[0],d=function(r,n){var t=S("state",n),o=u.useState(Symbol()),i=o[0],a=o[1],f=u.useMemo((function(){if(t)return e.__assign({},r.state)}),[r,i]);return u.useLayoutEffect((function(){if(t)return r.on("stateChange",(function(){return a(Symbol())}))}),[r]),[f,i]}(a,r),v=d[0],p=d[1],h=function(e,r){var n=S("currentState",r),t=u.useState(Symbol()),o=t[0],i=t[1],a=u.useMemo((function(){if(n)return e.getCurrentState()}),[e,o]);return u.useLayoutEffect((function(){if(n)return e.on("currentStateChange",(function(){return i(Symbol())}))}),[e]),[a,o]}(a,r),m=h[0],y=h[1],j=function(e,r){var n=S("currentObserver",r),t=u.useState(Symbol()),o=t[0],i=t[1],a=u.useMemo((function(){if(n)return e.getCurrentState()}),[e,o]);return u.useLayoutEffect((function(){if(n)return e.on("currentStateChange",(function(){return i(Symbol())}))}),[e]),[a?e.work?e.work.observers[a.panoIndex]:null:void 0,o]}(a,r),N=j[0],A=j[1],U=function(e,r){var n=S("work",r),t=u.useState(Symbol()),o=t[0],i=t[1],a=u.useMemo((function(){if(n)return e.work}),[e,o]);return u.useLayoutEffect((function(){if(n)return e.on("load",(function(){return i(Symbol())}))}),[e]),[a,o]}(a,r),D=U[0],I=U[1],B=function(e,r){var n=S("model",r),t=u.useState(Symbol()),o=t[0],i=t[1],a=u.useMemo((function(){if(n)return e.model}),[e,o]);return u.useLayoutEffect((function(){if(n)return e.on("modelLoaded",(function(){return i(Symbol())}))}),[e]),[a,o]}(a,r),q=B[0],H=B[1],z=function(e,r){return[S("scene",r)?e.scene:void 0]}(a,r)[0],G=function(e,r){var n=S("cameraDirection",r),t=u.useState(Symbol()),o=t[0],a=t[1],f=u.useMemo((function(){if(n)return e.camera.getWorldDirection(new i.Vector3)}),[e,o]);return u.useLayoutEffect((function(){if(n)return e.on("cameraUpdate",(function(){return a(Symbol())}))}),[e]),[f,o]}(a,r),T=G[0],$=G[1],J=function(e,r){var n=S("cameraRaycaster",r),t=u.useState(Symbol()),o=t[0],a=t[1],f=u.useMemo((function(){if(n){var r=e.camera.getWorldDirection(new i.Vector3);return new i.Raycaster(e.camera.position,r)}}),[e,o]);return u.useLayoutEffect((function(){if(n)return e.on("cameraUpdate",(function(){return a(Symbol())}))}),[e]),[f,o]}(a,r),K=J[0],Q=J[1],X=function(e,r){var n=S("modelReadyState",r),t=u.useState(Symbol()),o=t[0],i=t[1],a=u.useMemo((function(){if(n)return e.model.empty?"Empty":"Loaded"}),[e,o]);return u.useLayoutEffect((function(){if(n)return e.on("modelLoaded",(function(){return i(Symbol())}))}),[e]),[a,o]}(a,r),Y=X[0],Z=X[1],ee=function(e,r){var n=S("shownFloor",r),t=u.useState(Symbol()),o=t[0],i=t[1],a=u.useMemo((function(){if(n)return e.model.shownFloor}),[e,o]);return u.useLayoutEffect((function(){if(n)return e.on("modelShownFloorChange",(function(){return i(Symbol())}))}),[e]),[a,o]}(a,r),re=ee[0],ne=ee[1],te=function(e,r){var n=S("totalFloorLength",r),t=u.useState(Symbol()),o=t[0],i=t[1],a=u.useMemo((function(){if(n)return e.model.hasFloors()}),[e,o]);return u.useLayoutEffect((function(){if(n)return e.on("modelLoaded",(function(){return i(Symbol())}))}),[e]),[a,o]}(a,r),oe=te[0],ue=te[1],ie=function(e,r){var n=S("helperVisible",r),t=u.useState(Symbol()),o=t[0],i=t[1],a=u.useMemo((function(){if(n)return e.helperVisible}),[e,o]);return u.useLayoutEffect((function(){if(n)return e.on("helpersVisibleChange",(function(){return i(Symbol())}))}),[e]),[a,o]}(a,r),ae=ie[0],fe=ie[1],se=u.useMemo((function(){var e={};return g(e,{setState:w(a,r),loadWork:C(f,r),on:b(a,r),once:k(a,r),off:E(a,r),intersectRaycaster:x(a,r),project2d:L(a,r),updateCamera:F(a,r),initBasisLoader:_(a,r),getPixels:P(a,r),render:R(a,r),needsRender:V(a,r),preloadPano:M(a,r),showFloor:W(a,r),toggleHelperVisible:O(a,r)}),e}),[a,f]),ce=u.useMemo((function(){var r=e.__assign({},se);return g(r,{unsafe__fiveInstance:l,state:v,currentState:m,currentObserver:N,work:D,model:q,scene:z,cameraDirection:T,cameraRaycaster:K,modelReadyState:Y,shownFloor:re,totalFloorLength:oe,helperVisible:ae}),r}),[a,se,p,y,A,I,H,$,Q,Z,ne,ue,fe]);return u.createElement(n,e.__assign({ref:o,$five:ce},t))}))}};
|
package/server/index.js
CHANGED
package/sticker/index.js
CHANGED
package/umd/five-react.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see five-react.js.LICENSE.txt */
|
|
2
|
-
!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.FiveSDK_React=n():e.FiveSDK_React=n()}(self,(function(){return(()=>{var e={348:e=>{if(!("FiveSDK"in window))throw new Error('"FiveSDK" is not available. Please include "five" in your HTML.');e.exports=window.FiveSDK},751:e=>{if(!("React"in window))throw new Error('"React" is not available. Please include "react" in your HTML.');e.exports=window.React},438:e=>{if(!("THREE"in window))throw new Error('"THREE" is not available. Please include "three.js" in your HTML.');const n=Number(THREE.REVISION);if(n<115||n>117)throw new Error('"Five" needs "THREE.js" version between 125 - 117.');e.exports=window.THREE}},n={};function t(r){var o=n[r];if(void 0!==o)return o.exports;var u=n[r]={exports:{}};return e[r](u,u.exports,t),u.exports}t.d=(e,n)=>{for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},t.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return(()=>{"use strict";t.r(r),t.d(r,{FiveCanvas:()=>h,INJECTION_PROPNAME:()=>_,Store:()=>pe,createFiveProvider:()=>v,createStore:()=>he,unsafe__useFiveInstance:()=>y,useFiveAction:()=>k,useFiveCameraDirection:()=>x,useFiveCameraRaycaster:()=>R,useFiveCurrentState:()=>C,useFiveEventCallback:()=>E,useFiveFloor:()=>M,useFiveHelper:()=>W,useFiveModelIntersectRaycaster:()=>V,useFiveModelReadyState:()=>O,useFiveProject2d:()=>L,useFiveScene:()=>S,useFiveSceneEffect:()=>m,useFiveState:()=>b,useFiveWork:()=>w,withFive:()=>le});var e=function(n,t){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])})(n,t)};function n(n,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=n}e(n,t),n.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var o=function(){return(o=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var o in n=arguments[t])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e}).apply(this,arguments)};function u(e,n,t){if(t||2===arguments.length)for(var r,o=0,u=n.length;o<u;o++)!r&&o in n||(r||(r=Array.prototype.slice.call(n,0,o)),r[o]=n[o]);return e.concat(r||Array.prototype.slice.call(n))}Object.create,Object.create;var i=t(751),a=t(438),f=[],c=i.createContext(null);function s(){var e=i.useContext(c);if(!e)throw new Error("FiveProvider never found.");return e.five}function l(){var e=i.useContext(c);if(!e)throw new Error("FiveProvider never found.");return e.loadWork}var d=t(348);function v(e){return void 0===e&&(e={}),function(t){function r(n){var r=t.call(this,n)||this;if(!n.work&&!n.initialWork)throw new Error("props 'work' or 'initialWork' is never set.");var u=function(e){var n=void 0===e?{}:e,t=n.backgroundColor,r=void 0===t?1579548:t,o=n.backgroundAlpha,u=void 0===o?1:o,i=n.pixelRatio,c=void 0===i?1:i;if("undefined"!=typeof window){var s=f.shift();return s||((s=new a.WebGLRenderer({antialias:!1,alpha:!0})).outputEncoding=a.sRGBEncoding),s.setPixelRatio(c),s.setClearColor(r,u),s.autoClear=!0,s}}({pixelRatio:1===(0,d.getViewportScale)()?window.devicePixelRatio:1});return r.five=new d.Five(o({renderer:u},e)),r.five.load(n.work||n.initialWork,n.initialState),r.five.on("load",(function(){var e;r.props.onWorkChange&&r.props.onWorkChange(null===(e=r.five)||void 0===e?void 0:e.work)})),r.five.on("stateChange",(function(e,n){r.props.onStateChange&&r.props.onStateChange(e,n)})),r.five.on("currentStateChange",(function(e,n){r.props.onCurrentStateChange&&r.props.onCurrentStateChange(e,n)})),r.five.on("error",(function(e){r.props.onError?r.props.onError(e):console.warn(e.message)})),r}return n(r,t),r.prototype.loadWork=function(e,n,t){var r;if(this.props.work)throw new Error("props 'work' is set in fiveProvider, if you need modify work internal, use 'initialWork' instead.");null===(r=this.five)||void 0===r||r.load(e,n,t)},r.prototype.shouldComponentUpdate=function(e){var n,t;return e.work&&e.work!==(null===(n=this.five)||void 0===n?void 0:n.work)&&(null===(t=this.five)||void 0===t||t.load(e.work,e.initialState)),!0},r.prototype.componentWillUnmount=function(){var e;this.five&&(this.five.dispose(),(e=this.five.renderer)&&-1===f.indexOf(e)&&f.push(e),delete this.five)},r.prototype.render=function(){var e=this;return i.createElement(c.Provider,{value:{five:this.five,loadWork:function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return e.loadWork.apply(e,n)}}},this.props.children)},r}(i.Component)}var p={display:"inline-block",overflow:"hidden"},h=function(e){var n=e.width,t=e.height,r=s(),u=i.createRef(),a=o({width:n,height:t},p);return i.useLayoutEffect((function(){if(u.current&&r.renderer){if(null!==r.renderer.domElement.parentNode&&r.renderer.domElement.parentNode!==u.current)throw new Error("There are more than 2 fiveCanvas in this context.");r.renderer.domElement.parentNode!==u.current&&u.current.appendChild(r.renderer.domElement),r.camera.aspect=n/t,r.camera.updateProjectionMatrix(),r.renderer.setSize(n,t),r.needsRender=!0}}),[n,t,u.current]),i.createElement("div",{ref:u,style:a})};function y(){return s()}function m(e,n){var t=s(),r=[t];void 0!==n&&(r=r.concat(n)),i.useLayoutEffect((function(){return e(t.scene)}),r)}var S=m;function w(){var e=s(),n=l(),t=i.useState((function(){return e.work})),r=t[0],o=t[1];return i.useLayoutEffect((function(){return e.on("load",(function(){return o(e.work)}))}),[e]),[r,n]}function g(e){return o({},e.state)}function b(){var e=s(),n=i.useState((function(){return g(e)})),t=n[0],r=n[1],o=i.useCallback((function(n,t,r){void 0===t&&(t=!1),void 0===r&&(r=!0),e.setState(n,t,r)}),[e]);return i.useLayoutEffect((function(){return e.on("stateChange",(function(){return r(g(e))}))}),[e]),[t,o]}function C(){var e=s(),n=i.useState((function(){return e.getCurrentState()})),t=n[0],r=n[1],o=i.useCallback((function(n,t,r){void 0===t&&(t=!1),void 0===r&&(r=!0),e.setState(n,t,r)}),[e]);return i.useLayoutEffect((function(){return e.on("currentStateChange",(function(){return r(e.getCurrentState())}))}),[e]),[t,o]}function E(e,n,t){var r=s(),o=[r,e];void 0!==t&&(o=o.concat(t)),i.useLayoutEffect((function(){return r.on(e,n)}),o)}function k(){var e=s();return{updateCamera:i.useCallback((function(n,t){return e.updateCamera(n,t)}),[e]),initBasisLoader:i.useCallback((function(n){return e.initBasisLoader(n)}),[e]),getPixels:i.useCallback((function(n,t,r,o,u){return e.getPixels(n,t,r,o,u)}),[e]),render:i.useCallback((function(n){return e.render(n)}),[e]),needsRender:i.useCallback((function(){return e.needsRender=!0}),[e]),preloadPano:i.useCallback((function(n,t){return e.preloadPano(n,t)}),[e])}}function L(){var e=s(),n=i.useState((function(){return Symbol()})),t=(n[0],n[1]);return i.useLayoutEffect((function(){return e.on("cameraUpdate",(function(){return t(Symbol())}))}),[e]),i.useCallback((function(n,t){return e.project2d(n,t)}),[e])}function F(e){var n=e.camera.getWorldDirection(new a.Vector3);return new a.Raycaster(e.camera.position,n)}function R(){var e=s(),n=i.useState((function(){return F(e)})),t=n[0],r=n[1];return i.useLayoutEffect((function(){return e.on("cameraUpdate",(function(){return r(F(e))}))}),[e]),t}function P(e){return e.camera.getWorldDirection(new a.Vector3)}function x(){var e=s(),n=i.useState((function(){return P(e)})),t=n[0],r=n[1];return i.useLayoutEffect((function(){return e.on("cameraUpdate",(function(){return r(P(e))}))}),[e]),t}function V(){var e=s();return i.useCallback((function(n){return e.model.intersectRaycaster(n)}),[e])}function j(e){return e.model.empty?"Empty":"Loaded"}function O(){var e=s(),n=i.useState((function(){return j(e)})),t=n[0],r=n[1];return i.useLayoutEffect((function(){return e.on("modelLoaded",(function(){return r(j(e))}))}),[e]),t}function M(){var e=s(),n=i.useState(e.model.shownFloor),t=n[0],r=n[1],o=i.useState(e.model.floorLength),u=o[0],a=o[1],f=i.useCallback((function(n){"number"==typeof n?e.model.show(n):e.model.show()}),[e]);return i.useLayoutEffect((function(){var n=[];return n.push(e.on("modelShownFloorChange",(function(){return r(e.model.shownFloor)}))),n.push(e.on("modelLoaded",(function(){return a(e.model.floorLength)}))),function(){for(var e;e=n.shift();)e()}}),[e]),[t,u,f]}function W(){var e=s(),n=i.useState(e.helperVisible),t=n[0],r=n[1],o=i.useCallback((function(n){e.helperVisible=n}),[e]);return i.useLayoutEffect((function(){return e.on("helpersVisibleChange",(function(e){return r(e)}))}),[e]),[t,o]}var _="$five";function T(e,n){return n.indexOf(e)>=0}function D(e,n){for(var t=0,r=Object.keys(n);t<r.length;t++){var o=r[t];void 0!==n[o]&&(e[o]=n[o])}}function N(e,n){var t=T("state",n),r=i.useState(Symbol()),u=r[0],a=r[1],f=i.useMemo((function(){if(t)return o({},e.state)}),[e,u]);return i.useLayoutEffect((function(){if(t)return e.on("stateChange",(function(){return a(Symbol())}))}),[e]),[f,u]}function H(e,n){var t=T("currentState",n),r=i.useState(Symbol()),o=r[0],u=r[1],a=i.useMemo((function(){if(t)return e.getCurrentState()}),[e,o]);return i.useLayoutEffect((function(){if(t)return e.on("currentStateChange",(function(){return u(Symbol())}))}),[e]),[a,o]}function I(e,n){return[T("unsafe__fiveInstance",n)?e:void 0]}function U(e,n){var t=T("work",n),r=i.useState(Symbol()),o=r[0],u=r[1],a=i.useMemo((function(){if(t)return e.work}),[e,o]);return i.useLayoutEffect((function(){if(t)return e.on("load",(function(){return u(Symbol())}))}),[e]),[a,o]}function A(e,n){var t=T("model",n),r=i.useState(Symbol()),o=r[0],u=r[1],a=i.useMemo((function(){if(t)return e.model}),[e,o]);return i.useLayoutEffect((function(){if(t)return e.on("modelLoaded",(function(){return u(Symbol())}))}),[e]),[a,o]}function B(e,n){return[T("scene",n)?e.scene:void 0]}function K(e,n){var t=T("cameraDirection",n),r=i.useState(Symbol()),o=r[0],u=r[1],f=i.useMemo((function(){if(t)return e.camera.getWorldDirection(new a.Vector3)}),[e,o]);return i.useLayoutEffect((function(){if(t)return e.on("cameraUpdate",(function(){return u(Symbol())}))}),[e]),[f,o]}function G(e,n){var t=T("cameraRaycaster",n),r=i.useState(Symbol()),o=r[0],u=r[1],f=i.useMemo((function(){if(t){var n=e.camera.getWorldDirection(new a.Vector3);return new a.Raycaster(e.camera.position,n)}}),[e,o]);return i.useLayoutEffect((function(){if(t)return e.on("cameraUpdate",(function(){return u(Symbol())}))}),[e]),[f,o]}function $(e,n){var t=T("modelReadyState",n),r=i.useState(Symbol()),o=r[0],u=r[1],a=i.useMemo((function(){if(t)return e.model.empty?"Empty":"Loaded"}),[e,o]);return i.useLayoutEffect((function(){if(t)return e.on("modelLoaded",(function(){return u(Symbol())}))}),[e]),[a,o]}function z(e,n){var t=T("shownFloor",n),r=i.useState(Symbol()),o=r[0],u=r[1],a=i.useMemo((function(){if(t)return e.model.shownFloor}),[e,o]);return i.useLayoutEffect((function(){if(t)return e.on("modelShownFloorChange",(function(){return u(Symbol())}))}),[e]),[a,o]}function J(e,n){var t=T("totalFloorLength",n),r=i.useState(Symbol()),o=r[0],u=r[1],a=i.useMemo((function(){if(t)return e.model.hasFloors()}),[e,o]);return i.useLayoutEffect((function(){if(t)return e.on("modelLoaded",(function(){return u(Symbol())}))}),[e]),[a,o]}function q(e,n){var t=T("helperVisible",n),r=i.useState(Symbol()),o=r[0],u=r[1],a=i.useMemo((function(){if(t)return e.helperVisible}),[e,o]);return i.useLayoutEffect((function(){if(t)return e.on("helpersVisibleChange",(function(){return u(Symbol())}))}),[e]),[a,o]}function Q(e,n){if(T("loadWork",n))return e}function X(e,n){if(T("setState",n))return function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return e.setState.apply(e,n)}}function Y(e,n){if(T("on",n))return function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return e.on.apply(e,n)}}function Z(e,n){if(T("on",n))return function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return e.once.apply(e,n)}}function ee(e,n){if(T("off",n))return function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return e.off.apply(e,n)}}function ne(e,n){if(T("intersectRaycaster",n))return function(){for(var n,t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return(n=e.model).intersectRaycaster.apply(n,t)}}function te(e,n){if(T("project2d",n))return function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return e.project2d.apply(e,n)}}function re(e,n){if(T("updateCamera",n))return function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return e.updateCamera.apply(e,n)}}function oe(e,n){if(T("initBasisLoader",n))return function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return e.initBasisLoader.apply(e,n)}}function ue(e,n){if(T("getPixels",n))return function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return e.getPixels.apply(e,n)}}function ie(e,n){if(T("render",n))return function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return e.render.apply(e,n)}}function ae(e,n){if(T("needsRender",n))return function(){e.needsRender=!0}}function fe(e,n){if(T("preloadPano",n))return function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return e.preloadPano.apply(e,n)}}function ce(e,n){if(T("showFloor",n))return function(n){"number"==typeof n?e.model.show(n):e.model.show()}}function se(e,n){if(T("toggleHelperVisible",n))return function(n){e.helperVisible=n}}function le(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return function(n){return i.forwardRef((function(t,r){var u=s(),a=l(),f=I(u,e)[0],c=N(u,e),d=c[0],v=c[1],p=H(u,e),h=p[0],y=p[1],m=U(u,e),S=m[0],w=m[1],g=A(u,e),b=g[0],C=g[1],E=B(u,e)[0],k=K(u,e),L=k[0],F=k[1],R=G(u,e),P=R[0],x=R[1],V=$(u,e),j=V[0],O=V[1],M=z(u,e),W=M[0],_=M[1],T=J(u,e),le=T[0],de=T[1],ve=q(u,e),pe=ve[0],he=ve[1],ye=i.useMemo((function(){var n={};return D(n,{setState:X(u,e),loadWork:Q(a,e),on:Y(u,e),once:Z(u,e),off:ee(u,e),intersectRaycaster:ne(u,e),project2d:te(u,e),updateCamera:re(u,e),initBasisLoader:oe(u,e),getPixels:ue(u,e),render:ie(u,e),needsRender:ae(u,e),preloadPano:fe(u,e),showFloor:ce(u,e),toggleHelperVisible:se(u,e)}),n}),[u,a]),me=i.useMemo((function(){var e=o({},ye);return D(e,{unsafe__fiveInstance:f,state:d,currentState:h,work:S,model:b,scene:E,cameraDirection:L,cameraRaycaster:P,modelReadyState:j,shownFloor:W,totalFloorLength:le,helperVisible:pe}),e}),[u,ye,v,y,w,C,F,x,O,_,de,he]);return i.createElement(n,o({ref:r,$five:me},t))}))}}function de(e,n){for(var t={},r=n.length,o=-1;++o<r;){var u=n[o];u in e&&(t[u]=e[u])}return t}function ve(e,n){for(var t=0;t<e.length;t++)for(var r=0;t<n.length;r++)if(e[t]===n[r])return!0;return!1}var pe=function(){function e(e,n){this.values=e,this.listeners=[],this.onValuesChange=n}return e.prototype.on=function(e,n){var t=this,r=[e,n];return this.listeners.push(r),function(){var e=t.listeners.indexOf(r);e>=0&&t.listeners.splice(e,1)}},e.prototype.getValues=function(e){return de(this.values,e)},e.prototype.setValues=function(e,n){var t,r,u=[];for(var i in n)e.indexOf(i)>=0&&(t=n[i],r=this.values[i],!("number"==typeof t&&"number"==typeof r&&isNaN(t)&&isNaN(r)||t===r))&&u.push(i);if(0!==u.length){for(var a=o({},this.values),f=0,c=u;f<c.length;f++){var s=c[f];this.values[s]=n[s]}this.onValuesChange&&this.onValuesChange(this.values,a);for(var l=0,d=this.listeners;l<d.length;l++){var v=d[l],p=v[0],h=v[1];if(ve(p,u)){var y=de(a,p);h(de(this.values,p),y)}}}},e}();function he(e){var t=i.createContext(null);return{useStore:function(e){var n=i.useContext(t);if(null===n)throw new Error("StoreProvider never found.");var r=i.useRef(!0),o=i.useState(n.getValues(e)),a=o[0],f=o[1],c=u([n],e,!0);return i.useLayoutEffect((function(){return r.current?r.current=!1:f(n.getValues(e)),n.on(e,(function(e){return f(e)}))}),c),[a,i.useCallback((function(t){return n.setValues(e,t)}),c)]},useStoreSetter:function(e){var n=i.useContext(t);if(null===n)throw new Error("StoreProvider never found.");return i.useCallback((function(t){return n.setValues(e,t)}),u([n],e,!0))},watchStore:function(e,n,r){var o=i.useContext(t);if(null===o)throw new Error("StoreProvider never found.");var a=u([o],e,!0);void 0!==r&&(a=a.concat(r)),i.useLayoutEffect((function(){return o.on(e,n)}),a)},useStoreAction:function(n){var r=i.useContext(t);if(null===r)throw new Error("StoreProvider never found.");return i.useCallback((function(){for(var t=[],o=0;o<arguments.length;o++)t[o]=arguments[o];var i=e[n],a=i[0],f=i.slice(1),c=function(){return r.getValues(f)},s=function(e){return r.setValues(f,e)};return a.apply(void 0,u([c,s],t,!1))}),[])},StoreProvider:function(e){function r(n){var t=e.call(this,n)||this;return t.store=new pe(n.initialValue,(function(){for(var e,n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];t.props.onValuesChange&&(e=t.props).onValuesChange.apply(e,n)})),t}return n(r,e),r.prototype.shouldComponentUpdate=function(e){return e.children!==this.props.children},r.prototype.render=function(){return i.createElement(t.Provider,{value:this.store},this.props.children)},r}(i.Component)}}})(),r})()}));
|
|
2
|
+
!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.FiveSDK_React=n():e.FiveSDK_React=n()}(self,(function(){return(()=>{var e={348:e=>{if(!("FiveSDK"in window))throw new Error('"FiveSDK" is not available. Please include "five" in your HTML.');e.exports=window.FiveSDK},751:e=>{if(!("React"in window))throw new Error('"React" is not available. Please include "react" in your HTML.');e.exports=window.React},438:e=>{if(!("THREE"in window))throw new Error('"THREE" is not available. Please include "three.js" in your HTML.');const n=Number(THREE.REVISION);if(n<115||n>117)throw new Error('"Five" needs "THREE.js" version between 125 - 117.');e.exports=window.THREE}},n={};function t(r){var o=n[r];if(void 0!==o)return o.exports;var u=n[r]={exports:{}};return e[r](u,u.exports,t),u.exports}t.d=(e,n)=>{for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},t.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return(()=>{"use strict";t.r(r),t.d(r,{FiveCanvas:()=>h,INJECTION_PROPNAME:()=>T,Store:()=>oe,createFiveFeature:()=>ne,createFiveProvider:()=>v,createStore:()=>ue,unsafe__useFiveInstance:()=>y,useFiveAction:()=>L,useFiveCameraDirection:()=>V,useFiveCameraRaycaster:()=>x,useFiveCurrentObserver:()=>E,useFiveCurrentState:()=>C,useFiveEventCallback:()=>k,useFiveFloor:()=>W,useFiveHelper:()=>_,useFiveModelIntersectRaycaster:()=>O,useFiveModelReadyState:()=>M,useFiveProject2d:()=>F,useFiveScene:()=>S,useFiveSceneEffect:()=>m,useFiveState:()=>b,useFiveWork:()=>w,withFive:()=>ee});var e=function(n,t){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])})(n,t)};function n(n,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=n}e(n,t),n.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var o=function(){return(o=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var o in n=arguments[t])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e}).apply(this,arguments)};function u(e,n,t){if(t||2===arguments.length)for(var r,o=0,u=n.length;o<u;o++)!r&&o in n||(r||(r=Array.prototype.slice.call(n,0,o)),r[o]=n[o]);return e.concat(r||Array.prototype.slice.call(n))}Object.create,Object.create;var i=t(751),a=t(438),f=[],c=i.createContext(null);function s(){var e=i.useContext(c);if(!e)throw new Error("FiveProvider never found.");return e.five}function l(){var e=i.useContext(c);if(!e)throw new Error("FiveProvider never found.");return e.loadWork}var d=t(348);function v(e){return void 0===e&&(e={}),function(t){function r(n){var r,u=t.call(this,n)||this;if(!n.work&&!n.initialWork)throw new Error("props 'work' or 'initialWork' is never set.");var i=function(e){var n=void 0===e?{}:e,t=n.backgroundColor,r=void 0===t?1579548:t,o=n.backgroundAlpha,u=void 0===o?1:o,i=n.pixelRatio,c=void 0===i?1:i;if("undefined"!=typeof window){var s=f.shift();return s||((s=new a.WebGLRenderer({antialias:!1,alpha:!0})).outputEncoding=a.sRGBEncoding),s.setPixelRatio(c),s.setClearColor(r,u),s.autoClear=!0,s}}({pixelRatio:1===(0,d.getViewportScale)()?window.devicePixelRatio:1});return u.five=new d.Five(o({renderer:i},e)),u.five.load(n.work||n.initialWork,n.initialState,void 0,null===(r=n.initialUserAction)||void 0===r||r),u.five.on("load",(function(){var e;u.props.onWorkChange&&u.props.onWorkChange(null===(e=u.five)||void 0===e?void 0:e.work)})),u.five.on("stateChange",(function(e,n){u.props.onStateChange&&u.props.onStateChange(e,n)})),u.five.on("currentStateChange",(function(e,n){u.props.onCurrentStateChange&&u.props.onCurrentStateChange(e,n)})),u.five.on("error",(function(e){u.props.onError?u.props.onError(e):console.warn(e.message)})),u}return n(r,t),r.prototype.loadWork=function(e,n,t,r){if(void 0===r&&(r=!0),this.props.work)throw new Error("props 'work' is set in fiveProvider, if you need modify work internal, use 'initialWork' instead.");return this.five.load(e,n,t,r)},r.prototype.shouldComponentUpdate=function(e){var n,t;return e.work&&e.work!==(null===(n=this.five)||void 0===n?void 0:n.work)&&(null===(t=this.five)||void 0===t||t.load(e.work,e.initialState)),!0},r.prototype.componentWillUnmount=function(){var e;this.five&&(this.five.dispose(),(e=this.five.renderer)&&-1===f.indexOf(e)&&f.push(e),delete this.five)},r.prototype.render=function(){var e=this;return i.createElement(c.Provider,{value:{five:this.five,loadWork:function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return e.loadWork.apply(e,n)}}},this.props.children)},r}(i.Component)}var p={display:"inline-block",overflow:"hidden"},h=function(e){var n=e.width,t=e.height,r=s(),u=i.createRef(),a=o({width:n,height:t},p);return i.useLayoutEffect((function(){if(u.current&&r.renderer){if(null!==r.renderer.domElement.parentNode&&r.renderer.domElement.parentNode!==u.current)throw new Error("There are more than 2 fiveCanvas in this context.");r.renderer.domElement.parentNode!==u.current&&u.current.appendChild(r.renderer.domElement),r.camera.aspect=n/t,r.camera.updateProjectionMatrix(),r.renderer.setSize(n,t),r.needsRender=!0}}),[n,t,u.current]),i.createElement("div",{ref:u,style:a})};function y(){return s()}function m(e,n){var t=s(),r=[t];void 0!==n&&(r=r.concat(n)),i.useLayoutEffect((function(){return e(t.scene)}),r)}var S=m;function w(){var e=s(),n=l(),t=i.useState((function(){return e.work})),r=t[0],o=t[1];return i.useLayoutEffect((function(){return e.on("load",(function(){return o(e.work)}))}),[e]),[r,n]}function g(e){return o({},e.state)}function b(){var e=s(),n=i.useState((function(){return g(e)})),t=n[0],r=n[1],o=i.useCallback((function(n,r,o){void 0===r&&(r=!1),void 0===o&&(o=!0);var u="function"==typeof n?n(t):n;e.setState(u,r,o)}),[e,t]);return i.useLayoutEffect((function(){return e.on("stateChange",(function(){return r(g(e))}))}),[e]),[t,o]}function C(){var e=s(),n=i.useState((function(){return e.getCurrentState()})),t=n[0],r=n[1],o=i.useCallback((function(n,r,o){void 0===r&&(r=!1),void 0===o&&(o=!0);var u="function"==typeof n?n(t):n;e.setState(u,r,o)}),[e,t]);return i.useLayoutEffect((function(){return e.on("currentStateChange",(function(){return r(e.getCurrentState())}))}),[e]),[t,o]}function E(){var e=s(),n=i.useState((function(){return e.getCurrentState()})),t=n[0],r=n[1];return i.useLayoutEffect((function(){return e.on("currentStateChange",(function(){return r(e.getCurrentState())}))}),[e]),e.work?e.work.observers[t.panoIndex]:null}function k(e,n,t){var r=s(),o=[r,e];void 0!==t&&(o=o.concat(t)),i.useLayoutEffect((function(){return r.on(e,n)}),o)}function L(){var e=s();return{updateCamera:i.useCallback((function(n,t){return e.updateCamera(n,t)}),[e]),initBasisLoader:i.useCallback((function(n){return e.initBasisLoader(n)}),[e]),getPixels:i.useCallback((function(n,t,r,o,u){return e.getPixels(n,t,r,o,u)}),[e]),render:i.useCallback((function(n){return e.render(n)}),[e]),needsRender:i.useCallback((function(){return e.needsRender=!0}),[e]),preloadPano:i.useCallback((function(n,t){return e.preloadPano(n,t)}),[e])}}function F(){var e=s(),n=i.useState((function(){return Symbol()})),t=(n[0],n[1]);return i.useLayoutEffect((function(){return e.on("cameraUpdate",(function(){return t(Symbol())}))}),[e]),i.useCallback((function(n,t){return e.project2d(n,t)}),[e])}function R(e){var n=e.camera.getWorldDirection(new a.Vector3);return new a.Raycaster(e.camera.position,n)}function x(){var e=s(),n=i.useState((function(){return R(e)})),t=n[0],r=n[1];return i.useLayoutEffect((function(){return e.on("cameraUpdate",(function(){return r(R(e))}))}),[e]),t}function P(e){return e.camera.getWorldDirection(new a.Vector3)}function V(){var e=s(),n=i.useState((function(){return P(e)})),t=n[0],r=n[1];return i.useLayoutEffect((function(){return e.on("cameraUpdate",(function(){return r(P(e))}))}),[e]),t}function O(){var e=s();return i.useCallback((function(n){return e.model.intersectRaycaster(n)}),[e])}function j(e){return e.model.empty?"Empty":"Loaded"}function M(){var e=s(),n=i.useState((function(){return j(e)})),t=n[0],r=n[1];return i.useLayoutEffect((function(){return e.on("modelLoaded",(function(){return r(j(e))}))}),[e]),t}function W(){var e=s(),n=i.useState(e.model.shownFloor),t=n[0],r=n[1],o=i.useState(e.model.floorLength),u=o[0],a=o[1],f=i.useCallback((function(n){"number"==typeof n?e.model.show(n):e.model.show()}),[e]);return i.useLayoutEffect((function(){var n=[];return n.push(e.on("modelShownFloorChange",(function(){return r(e.model.shownFloor)}))),n.push(e.on("modelLoaded",(function(){return a(e.model.floorLength)}))),function(){for(var e;e=n.shift();)e()}}),[e]),[t,u,f]}function _(){var e=s(),n=i.useState(e.helperVisible),t=n[0],r=n[1],o=i.useCallback((function(n){e.helperVisible=n}),[e]);return i.useLayoutEffect((function(){return e.on("helpersVisibleChange",(function(e){return r(e)}))}),[e]),[t,o]}var T="$five";function D(e,n){return n.indexOf(e)>=0}function N(e,n){for(var t=0,r=Object.keys(n);t<r.length;t++){var o=r[t];void 0!==n[o]&&(e[o]=n[o])}}function H(e,n){if(D("loadWork",n))return e}function I(e,n){if(D("setState",n))return function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return e.setState.apply(e,n)}}function U(e,n){if(D("on",n))return function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return e.on.apply(e,n)}}function A(e,n){if(D("on",n))return function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return e.once.apply(e,n)}}function B(e,n){if(D("off",n))return function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return e.off.apply(e,n)}}function K(e,n){if(D("intersectRaycaster",n))return function(){for(var n,t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return(n=e.model).intersectRaycaster.apply(n,t)}}function G(e,n){if(D("project2d",n))return function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return e.project2d.apply(e,n)}}function $(e,n){if(D("updateCamera",n))return function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return e.updateCamera.apply(e,n)}}function z(e,n){if(D("initBasisLoader",n))return function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return e.initBasisLoader.apply(e,n)}}function J(e,n){if(D("getPixels",n))return function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return e.getPixels.apply(e,n)}}function q(e,n){if(D("render",n))return function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return e.render.apply(e,n)}}function Q(e,n){if(D("needsRender",n))return function(){e.needsRender=!0}}function X(e,n){if(D("preloadPano",n))return function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return e.preloadPano.apply(e,n)}}function Y(e,n){if(D("showFloor",n))return function(n){"number"==typeof n?e.model.show(n):e.model.show()}}function Z(e,n){if(D("toggleHelperVisible",n))return function(n){e.helperVisible=n}}function ee(e){return function(n){return i.forwardRef((function(t,r){var u=s(),f=l(),c=function(e,n){return[D("unsafe__fiveInstance",n)?e:void 0]}(u,e)[0],d=function(e,n){var t=D("state",n),r=i.useState(Symbol()),u=r[0],a=r[1],f=i.useMemo((function(){if(t)return o({},e.state)}),[e,u]);return i.useLayoutEffect((function(){if(t)return e.on("stateChange",(function(){return a(Symbol())}))}),[e]),[f,u]}(u,e),v=d[0],p=d[1],h=function(e,n){var t=D("currentState",n),r=i.useState(Symbol()),o=r[0],u=r[1],a=i.useMemo((function(){if(t)return e.getCurrentState()}),[e,o]);return i.useLayoutEffect((function(){if(t)return e.on("currentStateChange",(function(){return u(Symbol())}))}),[e]),[a,o]}(u,e),y=h[0],m=h[1],S=function(e,n){var t=D("currentObserver",n),r=i.useState(Symbol()),o=r[0],u=r[1],a=i.useMemo((function(){if(t)return e.getCurrentState()}),[e,o]);return i.useLayoutEffect((function(){if(t)return e.on("currentStateChange",(function(){return u(Symbol())}))}),[e]),[a?e.work?e.work.observers[a.panoIndex]:null:void 0,o]}(u,e),w=S[0],g=S[1],b=function(e,n){var t=D("work",n),r=i.useState(Symbol()),o=r[0],u=r[1],a=i.useMemo((function(){if(t)return e.work}),[e,o]);return i.useLayoutEffect((function(){if(t)return e.on("load",(function(){return u(Symbol())}))}),[e]),[a,o]}(u,e),C=b[0],E=b[1],k=function(e,n){var t=D("model",n),r=i.useState(Symbol()),o=r[0],u=r[1],a=i.useMemo((function(){if(t)return e.model}),[e,o]);return i.useLayoutEffect((function(){if(t)return e.on("modelLoaded",(function(){return u(Symbol())}))}),[e]),[a,o]}(u,e),L=k[0],F=k[1],R=function(e,n){return[D("scene",n)?e.scene:void 0]}(u,e)[0],x=function(e,n){var t=D("cameraDirection",n),r=i.useState(Symbol()),o=r[0],u=r[1],f=i.useMemo((function(){if(t)return e.camera.getWorldDirection(new a.Vector3)}),[e,o]);return i.useLayoutEffect((function(){if(t)return e.on("cameraUpdate",(function(){return u(Symbol())}))}),[e]),[f,o]}(u,e),P=x[0],V=x[1],O=function(e,n){var t=D("cameraRaycaster",n),r=i.useState(Symbol()),o=r[0],u=r[1],f=i.useMemo((function(){if(t){var n=e.camera.getWorldDirection(new a.Vector3);return new a.Raycaster(e.camera.position,n)}}),[e,o]);return i.useLayoutEffect((function(){if(t)return e.on("cameraUpdate",(function(){return u(Symbol())}))}),[e]),[f,o]}(u,e),j=O[0],M=O[1],W=function(e,n){var t=D("modelReadyState",n),r=i.useState(Symbol()),o=r[0],u=r[1],a=i.useMemo((function(){if(t)return e.model.empty?"Empty":"Loaded"}),[e,o]);return i.useLayoutEffect((function(){if(t)return e.on("modelLoaded",(function(){return u(Symbol())}))}),[e]),[a,o]}(u,e),_=W[0],T=W[1],ee=function(e,n){var t=D("shownFloor",n),r=i.useState(Symbol()),o=r[0],u=r[1],a=i.useMemo((function(){if(t)return e.model.shownFloor}),[e,o]);return i.useLayoutEffect((function(){if(t)return e.on("modelShownFloorChange",(function(){return u(Symbol())}))}),[e]),[a,o]}(u,e),ne=ee[0],te=ee[1],re=function(e,n){var t=D("totalFloorLength",n),r=i.useState(Symbol()),o=r[0],u=r[1],a=i.useMemo((function(){if(t)return e.model.hasFloors()}),[e,o]);return i.useLayoutEffect((function(){if(t)return e.on("modelLoaded",(function(){return u(Symbol())}))}),[e]),[a,o]}(u,e),oe=re[0],ue=re[1],ie=function(e,n){var t=D("helperVisible",n),r=i.useState(Symbol()),o=r[0],u=r[1],a=i.useMemo((function(){if(t)return e.helperVisible}),[e,o]);return i.useLayoutEffect((function(){if(t)return e.on("helpersVisibleChange",(function(){return u(Symbol())}))}),[e]),[a,o]}(u,e),ae=ie[0],fe=ie[1],ce=i.useMemo((function(){var n={};return N(n,{setState:I(u,e),loadWork:H(f,e),on:U(u,e),once:A(u,e),off:B(u,e),intersectRaycaster:K(u,e),project2d:G(u,e),updateCamera:$(u,e),initBasisLoader:z(u,e),getPixels:J(u,e),render:q(u,e),needsRender:Q(u,e),preloadPano:X(u,e),showFloor:Y(u,e),toggleHelperVisible:Z(u,e)}),n}),[u,f]),se=i.useMemo((function(){var e=o({},ce);return N(e,{unsafe__fiveInstance:c,state:v,currentState:y,currentObserver:w,work:C,model:L,scene:R,cameraDirection:P,cameraRaycaster:j,modelReadyState:_,shownFloor:ne,totalFloorLength:oe,helperVisible:ae}),e}),[u,ce,p,m,g,E,F,V,M,T,te,ue,fe]);return i.createElement(n,o({ref:r,$five:se},t))}))}}function ne(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return e}function te(e,n){for(var t={},r=n.length,o=-1;++o<r;){var u=n[o];u in e&&(t[u]=e[u])}return t}function re(e,n){for(var t=0;t<e.length;t++)for(var r=0;t<n.length;r++)if(e[t]===n[r])return!0;return!1}var oe=function(){function e(e,n){this.values=e,this.listeners=[],this.onValuesChange=n}return e.prototype.on=function(e,n){var t=this,r=[e,n];return this.listeners.push(r),function(){var e=t.listeners.indexOf(r);e>=0&&t.listeners.splice(e,1)}},e.prototype.getValues=function(e){return te(this.values,e)},e.prototype.setValues=function(e,n){var t,r,u=[];for(var i in n)e.indexOf(i)>=0&&(t=n[i],r=this.values[i],!("number"==typeof t&&"number"==typeof r&&isNaN(t)&&isNaN(r)||t===r))&&u.push(i);if(0!==u.length){for(var a=o({},this.values),f=0,c=u;f<c.length;f++){var s=c[f];this.values[s]=n[s]}this.onValuesChange&&this.onValuesChange(this.values,a);for(var l=0,d=this.listeners;l<d.length;l++){var v=d[l],p=v[0],h=v[1];if(re(p,u)){var y=te(a,p);h(te(this.values,p),y)}}}},e}();function ue(e){var t=i.createContext(null);return{useStore:function(e){var n=i.useContext(t);if(null===n)throw new Error("StoreProvider never found.");var r=i.useRef(!0),o=i.useState(n.getValues(e)),a=o[0],f=o[1],c=u([n],e,!0);return i.useLayoutEffect((function(){return r.current?r.current=!1:f(n.getValues(e)),n.on(e,(function(e){return f(e)}))}),c),[a,i.useCallback((function(t){return n.setValues(e,t)}),c)]},useStoreSetter:function(e){var n=i.useContext(t);if(null===n)throw new Error("StoreProvider never found.");return i.useCallback((function(t){return n.setValues(e,t)}),u([n],e,!0))},watchStore:function(e,n,r){var o=i.useContext(t);if(null===o)throw new Error("StoreProvider never found.");var a=u([o],e,!0);void 0!==r&&(a=a.concat(r)),i.useLayoutEffect((function(){return o.on(e,n)}),a)},useStoreAction:function(n){var r=i.useContext(t);if(null===r)throw new Error("StoreProvider never found.");return i.useCallback((function(){for(var t=[],o=0;o<arguments.length;o++)t[o]=arguments[o];var i=e[n],a=i[0],f=i.slice(1),c=function(){return r.getValues(f)},s=function(e){return r.setValues(f,e)};return a.apply(void 0,u([c,s],t,!1))}),[])},StoreProvider:function(e){function r(n){var t=e.call(this,n)||this;return t.store=new oe(n.initialValue,(function(){for(var e,n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];t.props.onValuesChange&&(e=t.props).onValuesChange.apply(e,n)})),t}return n(r,e),r.prototype.shouldComponentUpdate=function(e){return e.children!==this.props.children},r.prototype.render=function(){return i.createElement(t.Provider,{value:this.store},this.props.children)},r}(i.Component)}}})(),r})()}));
|