architwin 1.0.9
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/README.md +530 -0
- package/bundle/LICENSE.md +17 -0
- package/bundle/css/core.css +21 -0
- package/bundle/css/late.css +22 -0
- package/bundle/css/showcase.css +406 -0
- package/bundle/css/unsupported_browser.css +1 -0
- package/bundle/cursors/grab.png +0 -0
- package/bundle/cursors/grabbing.png +0 -0
- package/bundle/cursors/rbe-default.png +0 -0
- package/bundle/cursors/rbe-finish-room.png +0 -0
- package/bundle/cursors/rbe-moving.png +0 -0
- package/bundle/cursors/rbe-place-door.png +0 -0
- package/bundle/cursors/rbe-place-node.png +0 -0
- package/bundle/cursors/rbe-place-opening.png +0 -0
- package/bundle/cursors/zoom-in.png +0 -0
- package/bundle/cursors/zoom-out.png +0 -0
- package/bundle/fonts/ibm-plex-sans-100.woff +0 -0
- package/bundle/fonts/ibm-plex-sans-100.woff2 +0 -0
- package/bundle/fonts/ibm-plex-sans-100italic.woff +0 -0
- package/bundle/fonts/ibm-plex-sans-100italic.woff2 +0 -0
- package/bundle/fonts/ibm-plex-sans-200.woff +0 -0
- package/bundle/fonts/ibm-plex-sans-200.woff2 +0 -0
- package/bundle/fonts/ibm-plex-sans-200italic.woff +0 -0
- package/bundle/fonts/ibm-plex-sans-200italic.woff2 +0 -0
- package/bundle/fonts/ibm-plex-sans-300.woff +0 -0
- package/bundle/fonts/ibm-plex-sans-300.woff2 +0 -0
- package/bundle/fonts/ibm-plex-sans-300italic.woff +0 -0
- package/bundle/fonts/ibm-plex-sans-300italic.woff2 +0 -0
- package/bundle/fonts/ibm-plex-sans-500.woff +0 -0
- package/bundle/fonts/ibm-plex-sans-500.woff2 +0 -0
- package/bundle/fonts/ibm-plex-sans-500italic.woff +0 -0
- package/bundle/fonts/ibm-plex-sans-500italic.woff2 +0 -0
- package/bundle/fonts/ibm-plex-sans-600.woff +0 -0
- package/bundle/fonts/ibm-plex-sans-600.woff2 +0 -0
- package/bundle/fonts/ibm-plex-sans-600italic.woff +0 -0
- package/bundle/fonts/ibm-plex-sans-600italic.woff2 +0 -0
- package/bundle/fonts/ibm-plex-sans-700.woff +0 -0
- package/bundle/fonts/ibm-plex-sans-700.woff2 +0 -0
- package/bundle/fonts/ibm-plex-sans-700italic.woff +0 -0
- package/bundle/fonts/ibm-plex-sans-700italic.woff2 +0 -0
- package/bundle/fonts/ibm-plex-sans-italic.woff +0 -0
- package/bundle/fonts/ibm-plex-sans-italic.woff2 +0 -0
- package/bundle/fonts/ibm-plex-sans-regular.woff +0 -0
- package/bundle/fonts/ibm-plex-sans-regular.woff2 +0 -0
- package/bundle/fonts/mp-font.svg +2079 -0
- package/bundle/fonts/mp-font.woff +0 -0
- package/bundle/fonts/mp-font.woff2 +0 -0
- package/bundle/fonts/roboto-100.woff +0 -0
- package/bundle/fonts/roboto-100.woff2 +0 -0
- package/bundle/fonts/roboto-100italic.woff +0 -0
- package/bundle/fonts/roboto-100italic.woff2 +0 -0
- package/bundle/fonts/roboto-300.woff +0 -0
- package/bundle/fonts/roboto-300.woff2 +0 -0
- package/bundle/fonts/roboto-300italic.woff +0 -0
- package/bundle/fonts/roboto-300italic.woff2 +0 -0
- package/bundle/fonts/roboto-500.woff +0 -0
- package/bundle/fonts/roboto-500.woff2 +0 -0
- package/bundle/fonts/roboto-500italic.woff +0 -0
- package/bundle/fonts/roboto-500italic.woff2 +0 -0
- package/bundle/fonts/roboto-700.woff +0 -0
- package/bundle/fonts/roboto-700.woff2 +0 -0
- package/bundle/fonts/roboto-700italic.woff +0 -0
- package/bundle/fonts/roboto-700italic.woff2 +0 -0
- package/bundle/fonts/roboto-900.woff +0 -0
- package/bundle/fonts/roboto-900.woff2 +0 -0
- package/bundle/fonts/roboto-900italic.woff +0 -0
- package/bundle/fonts/roboto-900italic.woff2 +0 -0
- package/bundle/fonts/roboto-italic.woff +0 -0
- package/bundle/fonts/roboto-italic.woff2 +0 -0
- package/bundle/fonts/roboto-regular.woff +0 -0
- package/bundle/fonts/roboto-regular.woff2 +0 -0
- package/bundle/images/360_placement_pin_mask.png +0 -0
- package/bundle/images/Desktop-help-play-button.svg +1 -0
- package/bundle/images/Desktop-help-spacebar.png +0 -0
- package/bundle/images/MP-logo_H_lock-RGB_color-black.svg +24 -0
- package/bundle/images/NoteColor.png +0 -0
- package/bundle/images/chrome.png +0 -0
- package/bundle/images/edge.png +0 -0
- package/bundle/images/escape.png +0 -0
- package/bundle/images/exterior.png +0 -0
- package/bundle/images/exterior_hover.png +0 -0
- package/bundle/images/firefox.png +0 -0
- package/bundle/images/headset-quest-2.png +0 -0
- package/bundle/images/interior.png +0 -0
- package/bundle/images/interior_hover.png +0 -0
- package/bundle/images/login-screen-background.jpg +0 -0
- package/bundle/images/matterport-app-icon.svg +9 -0
- package/bundle/images/matterport-logo-light.svg +1 -0
- package/bundle/images/mattertag-disc-128-free.v1.png +0 -0
- package/bundle/images/mobile-help-play-button.svg +1 -0
- package/bundle/images/nav_help_360.png +0 -0
- package/bundle/images/nav_help_click_inside.png +0 -0
- package/bundle/images/nav_help_gesture_drag.png +0 -0
- package/bundle/images/nav_help_gesture_drag_two_finger.png +0 -0
- package/bundle/images/nav_help_gesture_pinch.png +0 -0
- package/bundle/images/nav_help_gesture_position.png +0 -0
- package/bundle/images/nav_help_gesture_position_two_finger.png +0 -0
- package/bundle/images/nav_help_gesture_tap.png +0 -0
- package/bundle/images/nav_help_inside_key.png +0 -0
- package/bundle/images/nav_help_keyboard_all.png +0 -0
- package/bundle/images/nav_help_keyboard_left_right.png +0 -0
- package/bundle/images/nav_help_keyboard_up_down.png +0 -0
- package/bundle/images/nav_help_mouse_click.png +0 -0
- package/bundle/images/nav_help_mouse_drag_left.png +0 -0
- package/bundle/images/nav_help_mouse_drag_right.png +0 -0
- package/bundle/images/nav_help_mouse_position_left.png +0 -0
- package/bundle/images/nav_help_mouse_position_right.png +0 -0
- package/bundle/images/nav_help_mouse_zoom.png +0 -0
- package/bundle/images/nav_help_tap_inside.png +0 -0
- package/bundle/images/nav_help_zoom_keys.png +0 -0
- package/bundle/images/objectColor.png +0 -0
- package/bundle/images/outlineBasic1024.png +0 -0
- package/bundle/images/outlineBasic2048.png +0 -0
- package/bundle/images/outlineBasic4096.png +0 -0
- package/bundle/images/outlineBasic512.png +0 -0
- package/bundle/images/outlineEnhanced1024.png +0 -0
- package/bundle/images/outlineEnhanced2048.png +0 -0
- package/bundle/images/outlineEnhanced4096.png +0 -0
- package/bundle/images/outlineEnhanced512.png +0 -0
- package/bundle/images/pinAnchor.png +0 -0
- package/bundle/images/pinIconDefault.png +0 -0
- package/bundle/images/safari.png +0 -0
- package/bundle/images/scope.svg +3 -0
- package/bundle/images/selected_sweep_glow.png +0 -0
- package/bundle/images/showcase-password-background.jpg +0 -0
- package/bundle/images/surface_grid_planar_256.png +0 -0
- package/bundle/images/tagColor.png +0 -0
- package/bundle/images/unsupported-browser.jpg +0 -0
- package/bundle/images/uv_grid_opengl.jpg +0 -0
- package/bundle/images/vert_arrows.png +0 -0
- package/bundle/js/136.js +18 -0
- package/bundle/js/136.js.LICENSE.txt +20 -0
- package/bundle/js/143.js +2 -0
- package/bundle/js/143.js.LICENSE.txt +20 -0
- package/bundle/js/145.js +2 -0
- package/bundle/js/145.js.LICENSE.txt +20 -0
- package/bundle/js/189.js +2 -0
- package/bundle/js/189.js.LICENSE.txt +20 -0
- package/bundle/js/217.js +2 -0
- package/bundle/js/217.js.LICENSE.txt +20 -0
- package/bundle/js/313.js +2 -0
- package/bundle/js/313.js.LICENSE.txt +20 -0
- package/bundle/js/316.js +2 -0
- package/bundle/js/316.js.LICENSE.txt +27 -0
- package/bundle/js/321.js +2 -0
- package/bundle/js/321.js.LICENSE.txt +20 -0
- package/bundle/js/324.js +2 -0
- package/bundle/js/324.js.LICENSE.txt +20 -0
- package/bundle/js/325.js +2 -0
- package/bundle/js/325.js.LICENSE.txt +20 -0
- package/bundle/js/330.js +2 -0
- package/bundle/js/330.js.LICENSE.txt +20 -0
- package/bundle/js/335.js +2 -0
- package/bundle/js/335.js.LICENSE.txt +20 -0
- package/bundle/js/376.js +2 -0
- package/bundle/js/376.js.LICENSE.txt +20 -0
- package/bundle/js/422.js +2 -0
- package/bundle/js/422.js.LICENSE.txt +22 -0
- package/bundle/js/493.js +2 -0
- package/bundle/js/493.js.LICENSE.txt +27 -0
- package/bundle/js/512.js +2 -0
- package/bundle/js/512.js.LICENSE.txt +20 -0
- package/bundle/js/519.js +2 -0
- package/bundle/js/519.js.LICENSE.txt +20 -0
- package/bundle/js/521.js +2 -0
- package/bundle/js/521.js.LICENSE.txt +20 -0
- package/bundle/js/525.js +2 -0
- package/bundle/js/525.js.LICENSE.txt +20 -0
- package/bundle/js/607.js +2 -0
- package/bundle/js/607.js.LICENSE.txt +27 -0
- package/bundle/js/644.js +2 -0
- package/bundle/js/644.js.LICENSE.txt +63 -0
- package/bundle/js/648.js +2 -0
- package/bundle/js/648.js.LICENSE.txt +20 -0
- package/bundle/js/66.js +2 -0
- package/bundle/js/66.js.LICENSE.txt +20 -0
- package/bundle/js/662.js +2 -0
- package/bundle/js/662.js.LICENSE.txt +20 -0
- package/bundle/js/668.js +2 -0
- package/bundle/js/668.js.LICENSE.txt +20 -0
- package/bundle/js/718.js +2 -0
- package/bundle/js/718.js.LICENSE.txt +20 -0
- package/bundle/js/764.js +2 -0
- package/bundle/js/764.js.LICENSE.txt +29 -0
- package/bundle/js/833.js +20 -0
- package/bundle/js/833.js.LICENSE.txt +20 -0
- package/bundle/js/858.js +2 -0
- package/bundle/js/858.js.LICENSE.txt +20 -0
- package/bundle/js/916.js +2 -0
- package/bundle/js/916.js.LICENSE.txt +20 -0
- package/bundle/js/924.js +2 -0
- package/bundle/js/924.js.LICENSE.txt +20 -0
- package/bundle/js/932.js +2 -0
- package/bundle/js/932.js.LICENSE.txt +20 -0
- package/bundle/js/948.js +2 -0
- package/bundle/js/948.js.LICENSE.txt +20 -0
- package/bundle/js/958.js +2 -0
- package/bundle/js/958.js.LICENSE.txt +20 -0
- package/bundle/js/JPEGDecoder.worker.worker.js.LICENSE.txt +29 -0
- package/bundle/js/JPEGEncoder.worker.worker.js.LICENSE.txt +29 -0
- package/bundle/js/PNGDecoder.worker.worker.js.LICENSE.txt +20 -0
- package/bundle/js/PNGEncoder.worker.worker.js.LICENSE.txt +20 -0
- package/bundle/js/browser-check.js +2 -0
- package/bundle/js/browser-check.js.LICENSE.txt +18 -0
- package/bundle/js/showcase.js +6 -0
- package/bundle/js/showcase.js.LICENSE.txt +144 -0
- package/bundle/locale/messages/strings_de.json +1 -0
- package/bundle/locale/messages/strings_es.json +1 -0
- package/bundle/locale/messages/strings_fr.json +1 -0
- package/bundle/locale/messages/strings_it.json +1 -0
- package/bundle/locale/messages/strings_ja.json +1 -0
- package/bundle/locale/messages/strings_ko.json +1 -0
- package/bundle/locale/messages/strings_nl.json +1 -0
- package/bundle/locale/messages/strings_pt.json +1 -0
- package/bundle/locale/messages/strings_ru.json +1 -0
- package/bundle/locale/messages/strings_zh-CN.json +1 -0
- package/bundle/locale/messages/strings_zh-TW.json +1 -0
- package/bundle/locale/strings.json +1 -0
- package/bundle/sdk/cursors/grab.png +0 -0
- package/bundle/sdk/cursors/grabbing.png +0 -0
- package/bundle/sdk/cursors/rbe-default.png +0 -0
- package/bundle/sdk/cursors/rbe-finish-room.png +0 -0
- package/bundle/sdk/cursors/rbe-moving.png +0 -0
- package/bundle/sdk/cursors/rbe-place-door.png +0 -0
- package/bundle/sdk/cursors/rbe-place-node.png +0 -0
- package/bundle/sdk/cursors/rbe-place-opening.png +0 -0
- package/bundle/sdk/cursors/zoom-in.png +0 -0
- package/bundle/sdk/cursors/zoom-out.png +0 -0
- package/bundle/sdk/sandbox.html +1 -0
- package/bundle/sdk/sdk-client.js +1 -0
- package/bundle/sdk/sdk-interface.js +1 -0
- package/bundle/sdk.d.ts +5312 -0
- package/bundle/showcase.html +114 -0
- package/bundle/terms/terms-de-DE.html +69 -0
- package/bundle/terms/terms-en-GB.html +62 -0
- package/bundle/terms/terms-en-US.html +62 -0
- package/bundle/terms/terms-es-MX.html +66 -0
- package/bundle/terms/terms-fr-FR.html +65 -0
- package/bundle/terms/terms-it-IT.html +65 -0
- package/bundle/terms/terms-ja-JP.html +64 -0
- package/bundle/terms/terms-ko-KR.html +65 -0
- package/bundle/terms/terms-nl-NL.html +65 -0
- package/bundle/terms/terms-pt-BR.html +75 -0
- package/bundle/terms/terms-ru-RU.html +72 -0
- package/bundle/terms/terms-zh-CN.html +65 -0
- package/bundle/terms/terms-zh-TW.html +84 -0
- package/bundle/vendors/three/0.146.0/libs/basis/README.md +32 -0
- package/bundle/vendors/three/0.146.0/libs/basis/basis_transcoder.js +1 -0
- package/bundle/vendors/three/0.146.0/libs/basis/basis_transcoder.wasm +0 -0
- package/bundle/vendors/three/0.146.0/libs/basis/no-dynamic-execution.patch +11 -0
- package/bundle/vendors/three/0.146.0/libs/draco/README.md +32 -0
- package/bundle/vendors/three/0.146.0/libs/draco/draco_decoder.js +1 -0
- package/bundle/vendors/three/0.146.0/libs/draco/draco_decoder.wasm +0 -0
- package/bundle/vendors/three/0.146.0/libs/draco/draco_encoder.js +1 -0
- package/bundle/vendors/three/0.146.0/libs/draco/draco_wasm_wrapper.js +1 -0
- package/bundle/vendors/three/0.146.0/libs/draco/gltf/draco_decoder.js +1 -0
- package/bundle/vendors/three/0.146.0/libs/draco/gltf/draco_decoder.wasm +0 -0
- package/bundle/vendors/three/0.146.0/libs/draco/gltf/draco_encoder.js +1 -0
- package/bundle/vendors/three/0.146.0/libs/draco/gltf/draco_wasm_wrapper.js +1 -0
- package/bundle/vendors/three/0.146.0/three.cjs +2 -0
- package/bundle/vendors/three/0.146.0/three.cjs.LICENSE.txt +5 -0
- package/bundle/vendors/three/0.146.0/three.js +2 -0
- package/bundle/vendors/three/0.146.0/three.js.LICENSE.txt +5 -0
- package/bundle/vendors/three/0.146.0/three.min.js +2 -0
- package/bundle/vendors/three/0.146.0/three.min.js.LICENSE.txt +5 -0
- package/bundle/vendors/three/0.146.0/three.module.js +2 -0
- package/bundle/vendors/three/0.146.0/three.module.js.LICENSE.txt +5 -0
- package/bundle/version.txt +1 -0
- package/lib/architwin.d.ts +24 -0
- package/lib/architwin.min.js +1 -0
- package/lib/types.d.ts +123 -0
- package/lib/types.js +2 -0
- package/package.json +26 -0
- package/tsconfig.json +11 -0
package/README.md
ADDED
|
@@ -0,0 +1,530 @@
|
|
|
1
|
+
# Architwin Library
|
|
2
|
+
ArchiTwin Library (architwin.js)
|
|
3
|
+
|
|
4
|
+
## Installation
|
|
5
|
+
---------------------
|
|
6
|
+
### Matterport SDK Bundle
|
|
7
|
+
This ArchiTwin Library requires the Matterport SDK Bundle.
|
|
8
|
+
|
|
9
|
+
Download the Matterport SDK Bundle from here:
|
|
10
|
+
|
|
11
|
+
https://static.matterport.com/showcase-sdk/bundle/23.5.1_webgl-85-ga5dcafc4f6/showcase-bundle.zip
|
|
12
|
+
|
|
13
|
+
After downloading unzip the contents of this file to your web **/public/bundle/** directory.
|
|
14
|
+
|
|
15
|
+
**/public/bundle/**
|
|
16
|
+
````
|
|
17
|
+
css
|
|
18
|
+
cursors
|
|
19
|
+
fonts
|
|
20
|
+
images
|
|
21
|
+
js
|
|
22
|
+
locale
|
|
23
|
+
sdk
|
|
24
|
+
terms
|
|
25
|
+
vendors
|
|
26
|
+
....
|
|
27
|
+
````
|
|
28
|
+
|
|
29
|
+
### The ArchiTwin Library
|
|
30
|
+
The ArchiTwin Library is currently distributed as a zip file. Please unzip it in your project lib folder.
|
|
31
|
+
|
|
32
|
+
It contains the following files:
|
|
33
|
+
- architwin.min.ts
|
|
34
|
+
- README.md (this document)
|
|
35
|
+
- types.ts
|
|
36
|
+
|
|
37
|
+
The library is using Typescript.
|
|
38
|
+
## Getting Started
|
|
39
|
+
------------------------
|
|
40
|
+
### Integrating the Library to your Application
|
|
41
|
+
|
|
42
|
+
#### Define an iFrame as target for the Showcase
|
|
43
|
+
|
|
44
|
+
````html
|
|
45
|
+
<template>
|
|
46
|
+
<div>
|
|
47
|
+
<iframe
|
|
48
|
+
id="mp-showcase"
|
|
49
|
+
ref="mpIframe"
|
|
50
|
+
frameborder=”0”
|
|
51
|
+
allow="xr-spatial-tracking"
|
|
52
|
+
allowfullscreen>
|
|
53
|
+
</iframe>
|
|
54
|
+
</div>
|
|
55
|
+
|
|
56
|
+
</template>
|
|
57
|
+
````
|
|
58
|
+
|
|
59
|
+
#### Import the library
|
|
60
|
+
|
|
61
|
+
````typescript
|
|
62
|
+
<script lang="ts">
|
|
63
|
+
import * as atwin from '@/lib/architwin';
|
|
64
|
+
import type { IMPConfig, IUser } from '@/lib/types';
|
|
65
|
+
import { onMounted, ref } from 'vue';
|
|
66
|
+
|
|
67
|
+
const mpIframe = ref<HTMLIFrameElement>()
|
|
68
|
+
|
|
69
|
+
// replace with your api key and user
|
|
70
|
+
const apiKey = "585876be-339f-4e52-a6a0-0bc816ccb95a"
|
|
71
|
+
const authUser = {
|
|
72
|
+
email: "su@email.com",
|
|
73
|
+
password: "su123"
|
|
74
|
+
} as IUser
|
|
75
|
+
|
|
76
|
+
....
|
|
77
|
+
</script>
|
|
78
|
+
````
|
|
79
|
+
|
|
80
|
+
#### Then connect to a Space
|
|
81
|
+
|
|
82
|
+
````typescript
|
|
83
|
+
<script lang="ts">
|
|
84
|
+
|
|
85
|
+
...
|
|
86
|
+
onMounted( async() => {
|
|
87
|
+
|
|
88
|
+
// set spaceUrl
|
|
89
|
+
const spaceUrl = "https://basic-dev.rev-kitten.com/showcase/model3d_public/1?token=e707880f-0fc5-48a6-b3f6-643a19f81464";
|
|
90
|
+
|
|
91
|
+
const auth = {
|
|
92
|
+
apiKey: apiKey,
|
|
93
|
+
user: authUser
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
const config: IMPConfig = {
|
|
97
|
+
iframeId: 'mp-showcase',
|
|
98
|
+
play: 1,
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
// more config options as explain later
|
|
102
|
+
await atwin.connectSpace(spaceUrl, auth, config)
|
|
103
|
+
|
|
104
|
+
// after connected to space, the following objects should be available
|
|
105
|
+
// tags - an array of tag objects found in the space
|
|
106
|
+
// sweeps - an array of sweep objects found in the space
|
|
107
|
+
...
|
|
108
|
+
|
|
109
|
+
})
|
|
110
|
+
|
|
111
|
+
</script>
|
|
112
|
+
````
|
|
113
|
+
Once connected, the interactive Space will be rendered in the target iFrame.
|
|
114
|
+
A Space generally contains Tags, 3D objects, Video Screens , Slideshow Screens and Sweeps.
|
|
115
|
+
You should be able to move around the Space using keyboard and mouse.
|
|
116
|
+
|
|
117
|
+
Or programmatically using methods defined in this library.
|
|
118
|
+
|
|
119
|
+
## Connection Parameters
|
|
120
|
+
connectSpace has three important parameters:
|
|
121
|
+
````javascript
|
|
122
|
+
connectSpace(spaceUrl, auth, config)
|
|
123
|
+
````
|
|
124
|
+
|
|
125
|
+
**spaceUrl** - the URL of the space you wanted to connect.
|
|
126
|
+
**auth** - an authentication object with apiKey and user credentials. This will be provided by ArchiTwin.
|
|
127
|
+
**config** - a config object to set some default space behavior
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
**Example:**
|
|
131
|
+
```javascript
|
|
132
|
+
import * as atwin from '@/lib/architwin'
|
|
133
|
+
|
|
134
|
+
// public URL for the space, you will be provided an API Endpoint for the list of public spaces
|
|
135
|
+
const spaceUrl = "https://basic-dev.rev-kitten.com/showcase/model3d_public/1?token=e707880f-0fc5-48a6-b3f6-643a19f81464"
|
|
136
|
+
|
|
137
|
+
const auth = {
|
|
138
|
+
apiKey: "585876be-339f-4e52-a6a0-0bc816ccb95a", //xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
|
|
139
|
+
user: {
|
|
140
|
+
email: 'su@email.com',
|
|
141
|
+
password: 'su123'
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
const config = {
|
|
146
|
+
iframeId: "mp-showcase", // this is required
|
|
147
|
+
// ... other config options.
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
await atwin.connectSpace(url, auth, config)
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## Config Options
|
|
154
|
+
|
|
155
|
+
```typescript
|
|
156
|
+
export interface IMPConfig{
|
|
157
|
+
iframeId: string,
|
|
158
|
+
play?: 0 | 1,
|
|
159
|
+
qs?: 0 | 1,
|
|
160
|
+
tour?: 0 | 1 | 2 | 3,
|
|
161
|
+
vr?: 0 | 1,
|
|
162
|
+
}
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
**iframeId:** string,
|
|
166
|
+
**play?:** 0 | 1, default = 0
|
|
167
|
+
|
|
168
|
+
- 0 Shows a Play button ▶️️ on the iframe. The user must press the Play button ▶️️ to open the Matterport model.
|
|
169
|
+
- 1 Automatically opens the Matterport model when the iframe loads on the page. If the 3D Showcase is opened via a link (not embedded in an iframe), this option is chosen automatically. When embedding Showcase within an iframe, play=1 will only work if the iframe is large enough on the user’s screen to provide a good user experience. Specifically, on mobile devices, the iframe has to cover at least 60% of the screen.
|
|
170
|
+
|
|
171
|
+
**qs?:** 0 | 1, default = 0
|
|
172
|
+
|
|
173
|
+
- 0 Disable Quickstart (when the Matterport model first opens, zoom in from Dollhouse View).
|
|
174
|
+
- 1 Enable Quickstart (when the Matterport model first opens, go straight into Inside View). Learn more. Only works if Start Position is Inside View.
|
|
175
|
+
|
|
176
|
+
**tour?:** 0 | 1 | 2 | 3, default = 1
|
|
177
|
+
- 0 No tour controls or highlight reel appear.
|
|
178
|
+
- 1 The tour mode saved in the model is used.
|
|
179
|
+
- 2 Story mode tour is used.
|
|
180
|
+
- 3 Highlight reel mode tour is used.
|
|
181
|
+
|
|
182
|
+
**vr?:** 0 | 1, default = 1
|
|
183
|
+
- 0 Hide the VR button.
|
|
184
|
+
- 1 Default Show the VR button.
|
|
185
|
+
|
|
186
|
+
### Space Navigation and Camera Control
|
|
187
|
+
|
|
188
|
+
#### Moving Around
|
|
189
|
+
|
|
190
|
+
You can navigate around the space using keyboard arrow keys or using a mouse.
|
|
191
|
+
|
|
192
|
+
Progmmatically, you also can navigate the space:
|
|
193
|
+
|
|
194
|
+
Use **moveInDirection(direction: string)** to move around inside the space.
|
|
195
|
+
**direction:** "FORWARD", "BACKWARD", "LEFT", "RIGHT", "UP", "DOWN".
|
|
196
|
+
|
|
197
|
+
This will move the user to the nearest Sweep marker in the indicated direction.
|
|
198
|
+
|
|
199
|
+
````typescript
|
|
200
|
+
<script lang="ts">
|
|
201
|
+
import * as atwin from '@/lib/architwin';
|
|
202
|
+
import type { IMPConfig, IUser } from '@/lib/types';
|
|
203
|
+
import { onMounted, ref } from 'vue';
|
|
204
|
+
|
|
205
|
+
...
|
|
206
|
+
atwin.moveInDirection("FORWARD")
|
|
207
|
+
atwin.moveInDirection("FORWARD")
|
|
208
|
+
|
|
209
|
+
atwin.moveInDirection("RIGHT")
|
|
210
|
+
atwin.moveInDirection("RIGHT")
|
|
211
|
+
atwin.moveInDirection("FORWARD")
|
|
212
|
+
atwin.moveInDirection("LEFT")
|
|
213
|
+
...
|
|
214
|
+
|
|
215
|
+
</script>
|
|
216
|
+
````
|
|
217
|
+
|
|
218
|
+
### Rotate, Pan and Tilt Camera
|
|
219
|
+
|
|
220
|
+
While inside the space, you can control the camera rotation and panning to have a better view around you.
|
|
221
|
+
|
|
222
|
+
Use **cameraRotate(x: number, y: number, speed: number)** to rotate the camera view.
|
|
223
|
+
|
|
224
|
+
Use **cameraPan(x: number, z: number)** to tilt and pan the Camera.
|
|
225
|
+
|
|
226
|
+
Parameters x, y and z are rotations in degrees.
|
|
227
|
+
|
|
228
|
+
Note, cameraPan will work only in *Dollhouse* mode.
|
|
229
|
+
|
|
230
|
+
````typescript
|
|
231
|
+
<script lang="ts">
|
|
232
|
+
import * as atwin from '@/lib/architwin';
|
|
233
|
+
import type { IMPConfig, IUser } from '@/lib/types';
|
|
234
|
+
import { onMounted, ref } from 'vue';
|
|
235
|
+
|
|
236
|
+
...
|
|
237
|
+
// rotate around X axis, last parameter is the Speed of rotation in seconds
|
|
238
|
+
atwin.cameraRotate(20,0,2)
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
// rotate around Y axis
|
|
242
|
+
atwin.cameraRotate(0,45,5)
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
// pan around z axis (pan and tilt only works in Dollhouse mode)
|
|
247
|
+
atwin.cameraPan(0,20)
|
|
248
|
+
|
|
249
|
+
// tilt abpout x axis
|
|
250
|
+
atwin.cameraPan(30,0)
|
|
251
|
+
|
|
252
|
+
...
|
|
253
|
+
|
|
254
|
+
</script>
|
|
255
|
+
````
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
## Space Overview
|
|
259
|
+
(Note that we use the word Space and Showcase interchangeably)
|
|
260
|
+
|
|
261
|
+
**Space**
|
|
262
|
+
Space is an immersive and realistic Digital Twin model of a physical space, with virtual custom objects like animated 3D objects, Video Screens, Slideshow Screens and Tags, co-existing and enhancing the real objects.
|
|
263
|
+
|
|
264
|
+
A user should be able to navigate around using PC or devices (keyboard and mouse), measure real object dimensions and interact with the virtual objects as if you are actually visiting the physical space.
|
|
265
|
+
|
|
266
|
+
**Sweeps**
|
|
267
|
+
Space have static sweep markers (white circles on floor) which serves as primary navigation points. Users can go to sweeps (or click), stand and look around.
|
|
268
|
+
|
|
269
|
+
**Tags**
|
|
270
|
+
Space also have tags which are virtual markers attached to Objects or Locations in space. Tags can be clicked which will render and display relevant contents like
|
|
271
|
+
web pages, videos, images or text descriptions. It is possible to go directly to any specifig tag (gotoTag) from anywhere in Space.
|
|
272
|
+
|
|
273
|
+
It can be used as quick way to navigate around the space.
|
|
274
|
+
|
|
275
|
+
**3D Objects**
|
|
276
|
+
Space usually contains 3D objects or three-dimentional models. Some 3D objects may have some simple animations.
|
|
277
|
+
|
|
278
|
+
**Video Screens**
|
|
279
|
+
Another interesting objects that can be found inside the space are Video Screens. They practially look like TV
|
|
280
|
+
screens placed at selected locations. The Video screens will automatically play when a User is nearby (2 meters). And automatically turns off when the User leaves.
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
**Slideshow Screens**
|
|
284
|
+
Space can also contain Image Slideshow Screens. This is similar to the Video Screen, but uses static images.
|
|
285
|
+
Clicking on the right section of the current slide image will display the next slide.
|
|
286
|
+
Clicking on the the left section will display the previous slide.
|
|
287
|
+
|
|
288
|
+
The slideshow can be auto played in whole by clicking the lower-right corner.
|
|
289
|
+
|
|
290
|
+
## Points of Interest
|
|
291
|
+
Tags are primarily use to mark locations or objects in space for quick and direct navigation.
|
|
292
|
+
Tags usually contain additional content that will be rendered when hovered. Contents can be web pages,
|
|
293
|
+
text descriptions, videos, or images.
|
|
294
|
+
|
|
295
|
+
````typescript
|
|
296
|
+
getTags() - // returns a list of Tags found in the Space
|
|
297
|
+
|
|
298
|
+
goToTag(tagId) - // to navigate to specific Tag and accepts a Tag's ID
|
|
299
|
+
|
|
300
|
+
getSweeps() - // returns a list of Sweeps found in the Space
|
|
301
|
+
|
|
302
|
+
moveToSweep(sweepId) - // to move to a specific Sweep
|
|
303
|
+
````
|
|
304
|
+
|
|
305
|
+
**Example:**
|
|
306
|
+
````typescript
|
|
307
|
+
<script lang="ts">
|
|
308
|
+
import * as atwin from '@/lib/architwin';
|
|
309
|
+
import type { IMPConfig, IUser } from '@/lib/types';
|
|
310
|
+
import { onMounted, ref } from 'vue';
|
|
311
|
+
|
|
312
|
+
...
|
|
313
|
+
// get current sweep data
|
|
314
|
+
atwin.getCurrentSweep()
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
// get current sweep position
|
|
318
|
+
atwin.getSweepPosition()
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
// moving to a Sweep
|
|
322
|
+
atwin.moveToSweep('msdfkj353h')
|
|
323
|
+
|
|
324
|
+
// move to a Tag
|
|
325
|
+
atwin.gotoTag(5)
|
|
326
|
+
|
|
327
|
+
...
|
|
328
|
+
|
|
329
|
+
</script>
|
|
330
|
+
````
|
|
331
|
+
|
|
332
|
+
## Function Reference
|
|
333
|
+
--------------------------
|
|
334
|
+
#### Tags
|
|
335
|
+
````typescript
|
|
336
|
+
getTags() - // returns an array of tag objects found in the Space
|
|
337
|
+
|
|
338
|
+
gotoTag(tagId: number) - //transport navigate directly to the tag with given ID
|
|
339
|
+
````
|
|
340
|
+
### Sweeps
|
|
341
|
+
````typescript
|
|
342
|
+
getSweeps() - // returns an array of Sweep Collection found in the Space
|
|
343
|
+
|
|
344
|
+
moveToSweep(sweepId: string) - // transport navigate directly to the Sweep with given ID.
|
|
345
|
+
|
|
346
|
+
getNearbySweeps(sweepId: string) - // returns the nearby or neighbors of a given sweep.
|
|
347
|
+
|
|
348
|
+
getCurrentSweep() - // returns the current sweep detail
|
|
349
|
+
|
|
350
|
+
getSweepPosition(): {x: number, y: number, z: number} - // returns the position of the current sweep:
|
|
351
|
+
````
|
|
352
|
+
|
|
353
|
+
**Example:**
|
|
354
|
+
````typescript
|
|
355
|
+
<script lang="ts">
|
|
356
|
+
import * as atwin from '@/lib/architwin';
|
|
357
|
+
import type { IMPConfig, IUser } from '@/lib/types';
|
|
358
|
+
import { onMounted, ref } from 'vue';
|
|
359
|
+
|
|
360
|
+
...
|
|
361
|
+
// get all Sweeps in loaded Space
|
|
362
|
+
atwin.getSweeps()
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
// get current sweep data
|
|
366
|
+
atwin.getCurrentSweep()
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
// get current sweep position
|
|
370
|
+
atwin.getSweepPosition()
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
// moving to a Sweep
|
|
374
|
+
atwin.moveToSweep('mfj45ligf')
|
|
375
|
+
|
|
376
|
+
|
|
377
|
+
// get nearby sweeps from current Sweep
|
|
378
|
+
atwin.getNearbySweeps('mfj45ligf')
|
|
379
|
+
|
|
380
|
+
...
|
|
381
|
+
|
|
382
|
+
</script>
|
|
383
|
+
````
|
|
384
|
+
|
|
385
|
+
### Video
|
|
386
|
+
````typescript
|
|
387
|
+
playVideo(videoId: number) - // play a video screen
|
|
388
|
+
|
|
389
|
+
pauseVideo(videoId: number) - // pause a video screen
|
|
390
|
+
````
|
|
391
|
+
|
|
392
|
+
**Example:**
|
|
393
|
+
````typescript
|
|
394
|
+
<script lang="ts">
|
|
395
|
+
import * as atwin from '@/lib/architwin';
|
|
396
|
+
import type { IMPConfig, IUser } from '@/lib/types';
|
|
397
|
+
import { onMounted, ref } from 'vue';
|
|
398
|
+
|
|
399
|
+
...
|
|
400
|
+
// play a video
|
|
401
|
+
atwin.playVideo(1)
|
|
402
|
+
|
|
403
|
+
|
|
404
|
+
// pause a video
|
|
405
|
+
atwin.pauseVideo(2)
|
|
406
|
+
...
|
|
407
|
+
</script>
|
|
408
|
+
````
|
|
409
|
+
### Navigation
|
|
410
|
+
````typescript
|
|
411
|
+
cameraLookAt(x: number,y: number) - // set camera view at coordinate in SCREEN.
|
|
412
|
+
// x and y is in pixel valuews from top left corner of the space canvas
|
|
413
|
+
moveInDirection(direction: string) - // move in DIRECTION, can be LEFT, RIGTH, UP, DOWN, FORWARD, BACKWARD
|
|
414
|
+
|
|
415
|
+
getViewMode() - // returns the current View Mode of the space.
|
|
416
|
+
// there are three modes:
|
|
417
|
+
// "mode.inside" - shows the interior view of the space
|
|
418
|
+
// "mode.floorplan" - shows the floor plan of the space
|
|
419
|
+
// "mode.dollhouse" - shows the doll house view
|
|
420
|
+
|
|
421
|
+
setViewMode(mode: string) - // to set the viewing mode to "INSIDE", "FLOORPLAN" or "DOLLHOUSE"
|
|
422
|
+
````
|
|
423
|
+
|
|
424
|
+
|
|
425
|
+
### Camera
|
|
426
|
+
````typescript
|
|
427
|
+
getCurrentCameraPose() - // returns the current camera Pose object
|
|
428
|
+
|
|
429
|
+
getCameraPosition() - // returns the current camera Position {x,y,z}
|
|
430
|
+
|
|
431
|
+
cameraPan(x: number, z: number) - // pan (z-axis) makes the camera look left and right. tilt (x-axis) the camera look up and down.
|
|
432
|
+
// x and z are angles in degrees
|
|
433
|
+
|
|
434
|
+
cameraRotate(x: number, y: number, speed: number) - // rotates the camera view, x and y is rotation in horizontal
|
|
435
|
+
// and vertical rotation in degrees
|
|
436
|
+
|
|
437
|
+
````
|
|
438
|
+
|
|
439
|
+
**Example:**
|
|
440
|
+
````typescript
|
|
441
|
+
<script lang="ts">
|
|
442
|
+
import * as atwin from '@/lib/architwin';
|
|
443
|
+
import type { IMPConfig, IUser } from '@/lib/types';
|
|
444
|
+
import { onMounted, ref } from 'vue';
|
|
445
|
+
|
|
446
|
+
...
|
|
447
|
+
|
|
448
|
+
// get current Camera Pose
|
|
449
|
+
atwin.getCurrentCameraPose()
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
// get current camera position
|
|
453
|
+
atwin.getCameraPosition()
|
|
454
|
+
|
|
455
|
+
|
|
456
|
+
// set Camera View
|
|
457
|
+
atwin.cameraLookAt(0, 10)
|
|
458
|
+
|
|
459
|
+
|
|
460
|
+
// move in different Directions
|
|
461
|
+
atwin.moveInDirection("FORWARD")
|
|
462
|
+
atwin.moveInDirection("FORWARD")
|
|
463
|
+
|
|
464
|
+
|
|
465
|
+
// pan around z axis (pan and tilt only works in Dollhouse mode)
|
|
466
|
+
atwin.cameraPan(0,20)
|
|
467
|
+
|
|
468
|
+
|
|
469
|
+
// tilt abpout x axis
|
|
470
|
+
atwin.cameraPan(30,0)
|
|
471
|
+
|
|
472
|
+
|
|
473
|
+
// rotate around X axis, last parameter is the Speed of rotation in seconds
|
|
474
|
+
atwin.cameraRotate(20,0,2)
|
|
475
|
+
|
|
476
|
+
|
|
477
|
+
// rotate around Y axis
|
|
478
|
+
atwin.cameraRotate(20,5,2)
|
|
479
|
+
|
|
480
|
+
|
|
481
|
+
// get current View
|
|
482
|
+
atwin.getViewMode()
|
|
483
|
+
|
|
484
|
+
// set View Mode
|
|
485
|
+
atwin.setViewMode("INSIDE")
|
|
486
|
+
atwin.setViewMode("FLOORPLAN")
|
|
487
|
+
atwin.setViewMode("DOLLHOUSE")
|
|
488
|
+
...
|
|
489
|
+
|
|
490
|
+
</script>
|
|
491
|
+
````
|
|
492
|
+
|
|
493
|
+
### Objects
|
|
494
|
+
|
|
495
|
+
````typescript
|
|
496
|
+
|
|
497
|
+
getNearbyObjects(type?: '3DX' | 'SLIDESHOW' | 'VIDEO', distance?: number = 2)
|
|
498
|
+
// returns a list of nearby objects
|
|
499
|
+
// type - can be 3Dx, Slideshow or Video; parameter is optional. if no parameter is passed, it returns all objects
|
|
500
|
+
// distance - is optional but with a default of 2 meters
|
|
501
|
+
|
|
502
|
+
````
|
|
503
|
+
|
|
504
|
+
**Example**
|
|
505
|
+
````typescript
|
|
506
|
+
<script lang="ts">
|
|
507
|
+
import * as atwin from '@/lib/architwin';
|
|
508
|
+
import type { IMPConfig, IUser } from '@/lib/types';
|
|
509
|
+
import { onMounted, ref } from 'vue';
|
|
510
|
+
|
|
511
|
+
...
|
|
512
|
+
|
|
513
|
+
// get all nearby objects
|
|
514
|
+
atwin.getNearbyObjects()
|
|
515
|
+
|
|
516
|
+
// get all nearby 3dx objects
|
|
517
|
+
atwin.getNearbyObjects('3DX')
|
|
518
|
+
|
|
519
|
+
// get all slideshow objects
|
|
520
|
+
atwin.getNearbyObjects('SLIDESHOW')
|
|
521
|
+
|
|
522
|
+
// get all video screen objects
|
|
523
|
+
atwin.getNearbyObjects('VIDEO')
|
|
524
|
+
|
|
525
|
+
// get all video screen objects with distance
|
|
526
|
+
atwin.getNearbyObjects('3DX', 3)
|
|
527
|
+
...
|
|
528
|
+
|
|
529
|
+
</script>
|
|
530
|
+
````
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
Matterport Showcase SDK
|
|
2
|
+
|
|
3
|
+
© 2022 Matterport, Inc. All rights reserved.
|
|
4
|
+
|
|
5
|
+
Matterport Showcase SDK ("Showcase SDK") must be used according to
|
|
6
|
+
the Matterport Terms of Service located at https://matterport.com/terms-of-use, the Platform Subscription Agreement ("PSA") available at https://matterport.com/legal/platform-subscription-agreement and the SDK License terms included in the PSA ("SDK License"). Any use of the Showcase SDK requires a current active Matterport account and associated developer key.
|
|
7
|
+
|
|
8
|
+
-------------------------------------------------------------------------------
|
|
9
|
+
|
|
10
|
+
Redistribution and use in source and binary forms, without modification, is permitted in accordance with the SDK License provided that the following conditions are met:
|
|
11
|
+
|
|
12
|
+
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
13
|
+
* Neither the name of Matterport nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
|
14
|
+
|
|
15
|
+
THE SHOWCASE SDK IS PROVIDED BY MATTERPORT AS THE COPYRIGHT HOLDER AND, IF APPLICABLE, ITS CONTRIBUTORS "AS IS" AND WITHOUT WARRANTIES OF ANY KIND. TO THE FULLEST EXTENT PERMISSIBLE PURSUANT TO APPLICABLE LAW, MATTERPORT DISCLAIMS, ON BEHALF OF ITSELF AND ITS AFFILIATES AND LICENSORS, ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. MATTERPORT DOES NOT WARRANT THAT THE AVAILABILITY OF THE SHOWCASE SDK WILL BE UNINTERRUPTED OR ERROR-FREE, THAT DEFECTS WILL BE CORRECTED, OR THAT THE SHOWCASE SDK WILL BE FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. MATTERPORT DOES NOT MAKE ANY REPRESENTATIONS OR WARRANTIES REGARDING THE USE OR THE RESULTS OF THE USE OF THE SHOWCASE SDK OR FUNCTIONS ON THE SHOWCASE SDK IN TERMS OF THEIR CORRECTNESS, ACCURACY, RELIABILITY, RESULTS TO BE ACHIEVED, OR OTHERWISE. APPLICABLE LAW MAY NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SOME OR ALL OF THE FOREGOING DISCLAIMERS MAY NOT APPLY TO YOU.
|
|
16
|
+
|
|
17
|
+
TO THE EXTENT PERMITTED UNDER APPLICABLE LAW UNDER NO CIRCUMSTANCES, INCLUDING, BUT NOT LIMITED TO, NEGLIGENCE, SHALL MATTERPORT OR ITS AFFILIATES OR LICENSORS BE LIABLE FOR ANY CONSEQUENTIAL, EXEMPLARY, PUNITIVE, SPECIAL, INCIDENTAL OR OTHER INDIRECT DAMAGES, EVEN IF MATTERPORT OR A MATTERPORT AUTHORIZED REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. APPLICABLE LAW MAY NOT ALLOW SOME OR ALL OF THIS LIMITATION OF LIABILITY, SO IT MAY NOT APPLY TO YOU.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Matterport Showcase SDK
|
|
3
|
+
*
|
|
4
|
+
* © 2022 Matterport, Inc. All rights reserved.
|
|
5
|
+
*
|
|
6
|
+
* Matterport Showcase SDK ("Showcase SDK") must be used according to
|
|
7
|
+
* the Matterport Terms of Service located at https://matterport.com/terms-of-use, the Platform Subscription Agreement ("PSA") available at https://matterport.com/legal/platform-subscription-agreement and the SDK License terms included in the PSA ("SDK License"). Any use of the Showcase SDK requires a current active Matterport account and associated developer key.
|
|
8
|
+
*
|
|
9
|
+
* -------------------------------------------------------------------------------
|
|
10
|
+
*
|
|
11
|
+
* Redistribution and use in source and binary forms, without modification, is permitted in accordance with the SDK License provided that the following conditions are met:
|
|
12
|
+
*
|
|
13
|
+
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
14
|
+
* * Neither the name of Matterport nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
|
15
|
+
*
|
|
16
|
+
* THE SHOWCASE SDK IS PROVIDED BY MATTERPORT AS THE COPYRIGHT HOLDER AND, IF APPLICABLE, ITS CONTRIBUTORS "AS IS" AND WITHOUT WARRANTIES OF ANY KIND. TO THE FULLEST EXTENT PERMISSIBLE PURSUANT TO APPLICABLE LAW, MATTERPORT DISCLAIMS, ON BEHALF OF ITSELF AND ITS AFFILIATES AND LICENSORS, ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. MATTERPORT DOES NOT WARRANT THAT THE AVAILABILITY OF THE SHOWCASE SDK WILL BE UNINTERRUPTED OR ERROR-FREE, THAT DEFECTS WILL BE CORRECTED, OR THAT THE SHOWCASE SDK WILL BE FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. MATTERPORT DOES NOT MAKE ANY REPRESENTATIONS OR WARRANTIES REGARDING THE USE OR THE RESULTS OF THE USE OF THE SHOWCASE SDK OR FUNCTIONS ON THE SHOWCASE SDK IN TERMS OF THEIR CORRECTNESS, ACCURACY, RELIABILITY, RESULTS TO BE ACHIEVED, OR OTHERWISE. APPLICABLE LAW MAY NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SOME OR ALL OF THE FOREGOING DISCLAIMERS MAY NOT APPLY TO YOU.
|
|
17
|
+
*
|
|
18
|
+
* TO THE EXTENT PERMITTED UNDER APPLICABLE LAW UNDER NO CIRCUMSTANCES, INCLUDING, BUT NOT LIMITED TO, NEGLIGENCE, SHALL MATTERPORT OR ITS AFFILIATES OR LICENSORS BE LIABLE FOR ANY CONSEQUENTIAL, EXEMPLARY, PUNITIVE, SPECIAL, INCIDENTAL OR OTHER INDIRECT DAMAGES, EVEN IF MATTERPORT OR A MATTERPORT AUTHORIZED REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. APPLICABLE LAW MAY NOT ALLOW SOME OR ALL OF THIS LIMITATION OF LIABILITY, SO IT MAY NOT APPLY TO YOU.
|
|
19
|
+
*
|
|
20
|
+
*/
|
|
21
|
+
.cursor-none{cursor:none}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-col-resize{cursor:col-resize}.cursor-row-resize{cursor:row-resize}.cursor-crosshair{cursor:crosshair}.cursor-cell{cursor:cell}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.cursor-vertical-text{cursor:vertical-text}.cursor-e-resize{cursor:e-resize}.cursor-w-resize{cursor:w-resize}.cursor-n-resize{cursor:n-resize}.cursor-s-resize{cursor:s-resize}.cursor-ne-resize{cursor:ne-resize}.cursor-nw-resize{cursor:nw-resize}.cursor-se-resize{cursor:se-resize}.cursor-sw-resize{cursor:sw-resize}.cursor-ew-resize{cursor:ew-resize}.cursor-ns-resize{cursor:ns-resize}.cursor-nesw-resize{cursor:nesw-resize}.cursor-nwse-resize{cursor:nwse-resize}.cursor-zoom-in{cursor:url(../cursors/zoom-in.png) 5 5,auto;cursor:-webkit-zoom-in;cursor:zoom-in}.cursor-zoom-out{cursor:url(../cursors/zoom-out.png) 5 5,auto;cursor:-webkit-zoom-out;cursor:zoom-out}.cursor-grab{cursor:url(../cursors/grab.png),auto;cursor:-webkit-grab;cursor:grab}.cursor-grabbing{cursor:url(../cursors/grabbing.png),auto;cursor:-webkit-grabbing;cursor:grabbing}.cursor-rbe-default{cursor:url(../cursors/rbe-default.png),auto}.cursor-rbe-moving{cursor:url(../cursors/rbe-moving.png),auto}.cursor-rbe-place-node{cursor:url(../cursors/rbe-place-node.png) 12 12,auto}.cursor-rbe-finish-room{cursor:url(../cursors/rbe-finish-room.png) 12 12,auto}.cursor-rbe-place-opening{cursor:url(../cursors/rbe-place-opening.png) 12 12,auto}.cursor-rbe-place-door{cursor:url(../cursors/rbe-place-door.png) 12 12,auto}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Matterport Showcase SDK
|
|
3
|
+
*
|
|
4
|
+
* © 2022 Matterport, Inc. All rights reserved.
|
|
5
|
+
*
|
|
6
|
+
* Matterport Showcase SDK ("Showcase SDK") must be used according to
|
|
7
|
+
* the Matterport Terms of Service located at https://matterport.com/terms-of-use, the Platform Subscription Agreement ("PSA") available at https://matterport.com/legal/platform-subscription-agreement and the SDK License terms included in the PSA ("SDK License"). Any use of the Showcase SDK requires a current active Matterport account and associated developer key.
|
|
8
|
+
*
|
|
9
|
+
* -------------------------------------------------------------------------------
|
|
10
|
+
*
|
|
11
|
+
* Redistribution and use in source and binary forms, without modification, is permitted in accordance with the SDK License provided that the following conditions are met:
|
|
12
|
+
*
|
|
13
|
+
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
14
|
+
* * Neither the name of Matterport nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
|
15
|
+
*
|
|
16
|
+
* THE SHOWCASE SDK IS PROVIDED BY MATTERPORT AS THE COPYRIGHT HOLDER AND, IF APPLICABLE, ITS CONTRIBUTORS "AS IS" AND WITHOUT WARRANTIES OF ANY KIND. TO THE FULLEST EXTENT PERMISSIBLE PURSUANT TO APPLICABLE LAW, MATTERPORT DISCLAIMS, ON BEHALF OF ITSELF AND ITS AFFILIATES AND LICENSORS, ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. MATTERPORT DOES NOT WARRANT THAT THE AVAILABILITY OF THE SHOWCASE SDK WILL BE UNINTERRUPTED OR ERROR-FREE, THAT DEFECTS WILL BE CORRECTED, OR THAT THE SHOWCASE SDK WILL BE FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. MATTERPORT DOES NOT MAKE ANY REPRESENTATIONS OR WARRANTIES REGARDING THE USE OR THE RESULTS OF THE USE OF THE SHOWCASE SDK OR FUNCTIONS ON THE SHOWCASE SDK IN TERMS OF THEIR CORRECTNESS, ACCURACY, RELIABILITY, RESULTS TO BE ACHIEVED, OR OTHERWISE. APPLICABLE LAW MAY NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SOME OR ALL OF THE FOREGOING DISCLAIMERS MAY NOT APPLY TO YOU.
|
|
17
|
+
*
|
|
18
|
+
* TO THE EXTENT PERMITTED UNDER APPLICABLE LAW UNDER NO CIRCUMSTANCES, INCLUDING, BUT NOT LIMITED TO, NEGLIGENCE, SHALL MATTERPORT OR ITS AFFILIATES OR LICENSORS BE LIABLE FOR ANY CONSEQUENTIAL, EXEMPLARY, PUNITIVE, SPECIAL, INCIDENTAL OR OTHER INDIRECT DAMAGES, EVEN IF MATTERPORT OR A MATTERPORT AUTHORIZED REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. APPLICABLE LAW MAY NOT ALLOW SOME OR ALL OF THIS LIMITATION OF LIABILITY, SO IT MAY NOT APPLY TO YOU.
|
|
19
|
+
*
|
|
20
|
+
*/
|
|
21
|
+
.search-tool-panel .list-panel-controls .select-popup.select-dropdown .select-trigger{min-width:80px}.search-tool-panel .search-empty-message{padding-left:15px;font-style:italic;font-size:12px}
|
|
22
|
+
.search-result-item.mp-nova-list-item{width:calc(100% - 4px)}.search-result-item.mp-nova-list-item.mp-nova-disabled{opacity:1}.search-result-item.mp-nova-list-item.mp-nova-disabled .mp-list-item-badge{opacity:.3}.search-result-item.mp-nova-list-item.mp-nova-disabled .mp-list-item-title{opacity:.5}@media (hover:hover){.search-result-item.mp-nova-list-item:not(.mp-nova-accordion-header) .list-item-decal:not(.mp-nova-btn-active),.search-result-item.mp-nova-list-item:not(.mp-nova-accordion-header) .mp-nova-btn:not(.mp-nova-btn-active){visibility:hidden}.search-result-item.mp-nova-list-item:not(.mp-nova-accordion-header).active .list-item-decal,.search-result-item.mp-nova-list-item:not(.mp-nova-accordion-header).active .mp-nova-btn,.search-result-item.mp-nova-list-item:not(.mp-nova-accordion-header):hover .list-item-decal,.search-result-item.mp-nova-list-item:not(.mp-nova-accordion-header):hover .mp-nova-btn{visibility:visible}}.search-result-item .item-details{height:100%;padding:5px 0;line-height:1.5;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.search-result-item .item-details .item-description .text-box-text,.search-result-item .item-details .item-header .text-box-text{width:100%}.search-result-item .item-details .item-description .text-box-text,.search-result-item .item-details .item-description .text-box-text>*,.search-result-item .item-details .item-header .text-box-text,.search-result-item .item-details .item-header .text-box-text>*{cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-item .item-details .item-description .text-box-text>* [data-blocktype=marker],.search-result-item .item-details .item-description .text-box-text [data-blocktype=marker],.search-result-item .item-details .item-header .text-box-text>* [data-blocktype=marker],.search-result-item .item-details .item-header .text-box-text [data-blocktype=marker]{color:#222;background-color:#8bbbff}.search-result-item .item-details .item-description .text-box-text{color:inherit;font-family:Roboto,sans-serif;font-style:normal;font-weight:400;font-size:12px;line-height:1.5;letter-spacing:.2px}.search-result-item .item-details .item-header{display:flex;justify-content:flex-start;align-items:center;gap:8px}.search-result-item .item-details .item-header .text-box-text{color:inherit;font-family:IBM Plex Sans,sans-serif;font-style:normal;font-weight:700;font-size:14px;line-height:1.57;letter-spacing:.6px;width:unset}.search-result-item .item-details .item-header .list-item-decal{flex-grow:0;flex-shrink:0;display:flex;justify-content:center;align-items:center;width:22px;height:22px;border-radius:10px;background-color:#f5f4f3}.search-result-item .item-details .item-header .list-item-decal .nova-icon{font-size:12px;color:#222}.search-result-item .item-details .item-header .list-item-decal .nova-icon.icon-floorplan{color:#000}.search-result-item .mp-list-item-badge{height:40px;width:55px;display:flex;flex-direction:row;justify-content:center;align-items:center}.search-result-item .mp-list-item-badge .badge{flex-shrink:0;flex-grow:0;background-color:#444;border-color:#444}.search-result-item .mp-list-item-badge .badge .icon.badge-icon{font-size:16px}.search-result-item .mp-list-item-badge .badge .icon.badge-icon.icon-comment{position:relative;top:1px;font-size:21px}.search-result-item .mp-list-item-badge .badge .icon.badge-icon.icon-simple-tag{font-size:13px}.search-result-item .mp-list-item-badge .thumbnail-image{height:100%;aspect-ratio:1/1;background-size:cover;background-repeat:no-repeat}
|