{"version":3,"file":"js/2787-88447be0d1811a45f1f0.js","mappings":"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","sources":["webpack:///./app/javascript/src/setup/models/tag/base.ts","webpack:///./app/javascript/src/setup/models/tag/info.js","webpack:///./app/javascript/src/setup/models/tag/point.js","webpack:///./app/javascript/src/setup/models/tag/move.ts","webpack:///./app/javascript/src/setup/models/tag.js"],"sourcesContent":["// @ts-nocheck\n\nimport * as THREE from 'three'\nimport { textToCanvasLabel } from '~/shared/text-to-canvas-text'\n\nexport default class TagBase {\n index: number\n userData: any\n\n constructor(data = {}) {\n data.index = data.index ?? -1\n Object.assign(this, data)\n\n this.data = data\n this.hover = false\n\n this.object = new THREE.Group()\n }\n\n createLabelSprite(label, spriteY) {\n const canvas = textToCanvasLabel(label)\n const texture = new THREE.CanvasTexture(canvas)\n texture.minFilter = THREE.LinearFilter\n texture.magFilter = THREE.LinearFilter\n\n const spriteX = (canvas.width / canvas.height) * spriteY\n const material = new THREE.SpriteMaterial({\n color: 0xffffff,\n opacity: 0.7,\n map: texture,\n })\n material.userData.texture = texture\n\n const sprite = new THREE.Sprite(material)\n sprite.scale.set(spriteX, spriteY, 1)\n\n return sprite\n }\n\n get threeObject() {\n return this.object\n }\n\n setColor(color) {\n }\n\n hoverOn() {\n if (!this.hover) {\n this.hover = true\n }\n }\n\n hoverOff() {\n if (this.hover) {\n this.hover = false\n }\n }\n\n isVisible(time) {\n return true\n }\n\n showByTime(time) {\n this.object.visible = this.isVisible(time)\n }\n\n onRay(ray) {\n return this.object.visible && ray.intersectObject(this.object).length > 0\n }\n\n dispose() {\n }\n\n getVisibilityByContext(panoramaState) {\n return true\n }\n}\n","import * as THREE from 'three'\n\nimport TagBase from './base'\n\nexport default class extends TagBase {\n constructor(data = {}) {\n super(data)\n\n const phi = THREE.MathUtils.degToRad(this.phi)\n const theta = THREE.MathUtils.degToRad(this.theta)\n this.object.position.setFromSpherical(new THREE.Spherical(100, phi, theta))\n this.object.visible = true\n this.object.renderOrder = 2\n this.object.scale.set(1, 1, -1)\n\n // アイコン\n this.object.add(this.iconSprite)\n }\n\n get tagIconTexture() {\n const texture = new THREE.TextureLoader().load(this.tagIcon)\n texture.minFilter = THREE.LinearFilter\n texture.magFilter = THREE.LinearFilter\n\n return texture\n }\n\n get tagIcon() {\n return require('@/images/tag_info.png')\n }\n\n get iconSprite() {\n const material = new THREE.SpriteMaterial({ color: 0xffffff, map: this.tagIconTexture })\n\n const sprite = new THREE.Sprite(material)\n sprite.scale.set(16, 16, 1)\n\n return sprite\n }\n\n isVisible(time) {\n const showTime = this.show_time ?? 0\n const hideTime = this.hide_time ?? Number.MAX_VALUE\n return showTime <= time && time <= hideTime\n }\n\n dispose() {\n this.iconSprite.material.dispose()\n }\n\n getVisibilityByContext(panoramaState) {\n return !panoramaState.vrMode\n }\n}\n","import * as THREE from 'three'\n\nimport TagBase from './base'\n\nexport default class extends TagBase {\n constructor(data = {}) {\n super(data)\n\n const phi = THREE.MathUtils.degToRad(this.phi)\n const theta = THREE.MathUtils.degToRad(this.theta)\n this.object.position.setFromSpherical(new THREE.Spherical(100, phi, theta))\n this.object.visible = true\n this.object.renderOrder = 2\n this.object.scale.set(1, 1, -1)\n\n // ラベル\n this.labelSprite = this.createLabelSprite(this.label, 8)\n\n // エアタグラベルをエアタグアイコンの上に設置\n // パノラマと同等の方式だとうまくいかない\n this.labelSprite.position.setY(17)\n this.object.add(this.labelSprite)\n\n // アイコン\n this.object.add(this.iconSprite)\n }\n\n get tagIconTexture () {\n const texture = new THREE.TextureLoader().load(this.tagIcon)\n texture.minFilter = THREE.LinearFilter\n texture.magFilter = THREE.LinearFilter\n\n return texture\n }\n\n get tagIcon() {\n return require('@/images/tag_point.png')\n }\n\n get iconSprite() {\n const material = new THREE.SpriteMaterial({ color: 0xffffff, map: this.tagIconTexture })\n\n const sprite = new THREE.Sprite(material)\n sprite.scale.set(16, 24, 1)\n\n return sprite\n }\n\n isVisible(time) {\n const showTime = this.show_time ?? 0\n const hideTime = this.hide_time ?? Number.MAX_VALUE\n return showTime <= time && time <= hideTime\n }\n\n dispose() {\n this.labelSprite.material.dispose()\n this.labelSprite.material.userData.texture.dispose()\n\n this.iconSprite.material.dispose()\n }\n\n getVisibilityByContext(panoramaState) {\n return !panoramaState.vrMode || panoramaState.eyeControlEnable\n }\n}\n","// @ts-nocheck\n\nimport * as THREE from 'three'\n\nimport TagBase from './base'\n\nexport default class extends TagBase {\n object: THREE.Group\n labelSprite: THREE.Sprite\n arrowMesh: THREE.Mesh\n\n hover: boolean\n\n constructor(data: any = {}) {\n super(data)\n const pos = data.pos\n const deg = data.deg\n\n this.hover = false\n\n this.object = new THREE.Group()\n this.object.position.set(pos.x, pos.y, pos.z)\n\n if(data.forPanorama ?? false) {\n this.object.rotation.order = 'YXZ'\n this.object.lookAt(0, 0, 0)\n this.object.rotation.x = - Math.PI / 2\n } else {\n this.object.rotation.x = Math.PI / 2\n }\n\n this.object.rotation.z = THREE.MathUtils.degToRad(deg)\n this.object.renderOrder = 2\n this.object.scale.set(1, 1, -1)\n\n // ラベル\n this.labelSprite = this.createLabelSprite(data.label, 4)\n\n // エアタグラベルをエアタグアイコンの上に設置\n // パノラマと同等の方式だとうまくいかない\n this.labelSprite.position.setY(17)\n this.object.add(this.labelSprite)\n\n // 矢印アイコン\n const geometry = new THREE.PlaneGeometry(data.arrowSize, data.arrowSize)\n this.arrowMesh = new THREE.Mesh(geometry, this.arrowMaterial)\n\n this.object.add(this.arrowMesh)\n }\n\n get arrowMaterial () {\n return new THREE.MeshBasicMaterial({\n side: THREE.DoubleSide,\n transparent: true,\n alphaTest: 0.9,\n map: this.tagIconTexture,\n })\n }\n\n get tagIconTexture () {\n const texture = new THREE.TextureLoader().load(this.tagIcon)\n texture.minFilter = THREE.LinearFilter\n texture.magFilter = THREE.LinearFilter\n\n return texture\n }\n\n get tagIcon() {\n return require('@/images/move-arrow.png')\n }\n\n notifyOnClick(): void {\n this.data.callback && this.data.callback()\n }\n\n setColor(color) {\n if (!this.hover) {\n (this.arrowMesh.material as THREE.MeshBasicMaterial).color = color\n }\n }\n\n hoverOn(): void {\n if (!this.hover) {\n this.hover = true;\n\n (this.labelSprite.material as THREE.SpriteMaterial).color.setHex(0x3ab7d9);\n (this.labelSprite.material as THREE.SpriteMaterial).opacity = 1.0;\n\n (this.arrowMesh.material as THREE.MeshBasicMaterial).color.setHex(0x2ab7d9)\n }\n }\n\n hoverOff(): void {\n if (this.hover) {\n this.hover = false;\n\n (this.labelSprite.material as THREE.SpriteMaterial).color.setHex(0xffffff);\n (this.labelSprite.material as THREE.SpriteMaterial).opacity = 0.7;\n\n (this.arrowMesh.material as THREE.MeshBasicMaterial).color.setHex(0xffffff)\n }\n }\n\n dispose() {\n this.labelSprite.material.dispose()\n this.labelSprite.material.userData.texture.dispose()\n\n this.arrowMesh.geometry.dispose();\n (this.arrowMesh.material as THREE.MeshBasicMaterial).dispose()\n }\n\n getVisibilityByContext(panoramaState) {\n return !panoramaState.vrMode || panoramaState.eyeControlEnable\n }\n}\n","import TagInfo from './tag/info'\nimport TagPoint from './tag/point'\nimport TagMove from './tag/move'\n\nexport default class {\n static create(data) {\n switch (data.type) {\n case 'info':\n return new TagInfo(data)\n case 'point':\n return new TagPoint(data)\n case 'move':\n return new TagMove(data)\n default:\n throw new Error(`invalid type: ${data.type}`)\n }\n }\n}\n"],"names":["TagBase","_a","data","arguments","length","undefined","_classCallCheck","index","Object","assign","this","hover","object","THREE","key","value","label","spriteY","canvas","textToCanvasLabel","texture","minFilter","magFilter","spriteX","width","height","material","color","opacity","map","userData","sprite","scale","set","get","time","visible","isVisible","ray","intersectObject","panoramaState","_default","_TagBase","_inherits","_super","_this","call","phi","degToRad","theta","position","setFromSpherical","renderOrder","add","iconSprite","load","tagIcon","require","tagIconTexture","_b","showTime","show_time","hideTime","hide_time","Number","MAX_VALUE","dispose","vrMode","labelSprite","createLabelSprite","setY","eyeControlEnable","pos","deg","x","y","z","forPanorama","rotation","order","lookAt","Math","PI","geometry","arrowSize","arrowMesh","arrowMaterial","side","transparent","alphaTest","callback","setHex","type","TagInfo","TagPoint","TagMove","Error","concat"],"sourceRoot":""}