viral-viewer-2 6.2.7 → 6.2.8
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/LICENSE +5 -52
- package/dist/components/animation/viral-animation.js +71 -0
- package/dist/components/animation/viral-animation.js.map +1 -0
- package/dist/components/bvh/viral-bvh.js +19 -0
- package/dist/components/bvh/viral-bvh.js.map +1 -0
- package/dist/components/camera/viral-camera.d.ts +1 -1
- package/dist/components/camera/viral-camera.js +207 -0
- package/dist/components/camera/viral-camera.js.map +1 -0
- package/dist/components/centralized-event-handler/viral-centralized-event-handler.d.ts +7 -0
- package/dist/components/centralized-event-handler/viral-centralized-event-handler.js +47 -0
- package/dist/components/centralized-event-handler/viral-centralized-event-handler.js.map +1 -0
- package/dist/components/compress/compress.processor.d.ts +4 -0
- package/dist/components/compress/compress.processor.js +29 -0
- package/dist/components/compress/compress.processor.js.map +1 -0
- package/dist/components/compress/viral-compress.processor.js +13 -0
- package/dist/components/compress/viral-compress.processor.js.map +1 -0
- package/dist/components/context-menu/viral-context-menu.d.ts +17 -0
- package/dist/components/context-menu/viral-context-menu.js +74 -0
- package/dist/components/context-menu/viral-context-menu.js.map +1 -0
- package/dist/components/custom-objects/index.js +6 -0
- package/dist/components/custom-objects/index.js.map +1 -0
- package/dist/components/custom-objects/viral-instanced-mesh.d.ts +1 -1
- package/dist/components/custom-objects/viral-instanced-mesh.js +203 -0
- package/dist/components/custom-objects/viral-instanced-mesh.js.map +1 -0
- package/dist/components/custom-objects/viral-mesh.d.ts +9 -0
- package/dist/components/custom-objects/viral-mesh.js +25 -0
- package/dist/components/custom-objects/viral-mesh.js.map +1 -0
- package/dist/components/data-manager/viral-data-manager.js +35 -0
- package/dist/components/data-manager/viral-data-manager.js.map +1 -0
- package/dist/components/event-handler/base/event-dispatcher.js +35 -0
- package/dist/components/event-handler/base/event-dispatcher.js.map +1 -0
- package/dist/components/event-handler/keyboard/viral-keyboard.js +78 -0
- package/dist/components/event-handler/keyboard/viral-keyboard.js.map +1 -0
- package/dist/components/event-handler/mouse/viral-mouse.js +239 -0
- package/dist/components/event-handler/mouse/viral-mouse.js.map +1 -0
- package/dist/components/event-handler/viral-centralized-event-handler.d.ts +2 -0
- package/dist/components/event-handler/viral-centralized-event-handler.js +186 -0
- package/dist/components/event-handler/viral-centralized-event-handler.js.map +1 -0
- package/dist/components/event-handler/viral-lifecycle-event-handler.js +55 -0
- package/dist/components/event-handler/viral-lifecycle-event-handler.js.map +1 -0
- package/dist/components/keyboard/viral-keyboard.d.ts +17 -0
- package/dist/components/keyboard/viral-keyboard.js +76 -0
- package/dist/components/keyboard/viral-keyboard.js.map +1 -0
- package/dist/components/loader/viral-point-cloud.loader.js +33 -0
- package/dist/components/loader/viral-point-cloud.loader.js.map +1 -0
- package/dist/components/loader/viral-revit.loader.d.ts +13 -1
- package/dist/components/loader/viral-revit.loader.js +339 -0
- package/dist/components/loader/viral-revit.loader.js.map +1 -0
- package/dist/components/loader/viral-three.loader.js +20 -0
- package/dist/components/loader/viral-three.loader.js.map +1 -0
- package/dist/components/loader/viral-viewer-point-cloud.loader.d.ts +16 -0
- package/dist/components/loader/viral-viewer-point-cloud.loader.js +33 -0
- package/dist/components/loader/viral-viewer-point-cloud.loader.js.map +1 -0
- package/dist/components/loader/viral-viewer-revit.loader.d.ts +13 -0
- package/dist/components/loader/viral-viewer-revit.loader.js +124 -0
- package/dist/components/loader/viral-viewer-revit.loader.js.map +1 -0
- package/dist/components/loader/viral.loader.js +16 -0
- package/dist/components/loader/viral.loader.js.map +1 -0
- package/dist/components/material/viral-material-manager.js +60 -0
- package/dist/components/material/viral-material-manager.js.map +1 -0
- package/dist/components/mouse/viral-mouse.d.ts +31 -0
- package/dist/components/mouse/viral-mouse.js +234 -0
- package/dist/components/mouse/viral-mouse.js.map +1 -0
- package/dist/components/navigation-cube/components/cube-camera.d.ts +15 -0
- package/dist/components/navigation-cube/components/cube-camera.js +74 -0
- package/dist/components/navigation-cube/components/cube-camera.js.map +1 -0
- package/dist/components/navigation-cube/components/cube-renderer.d.ts +9 -0
- package/dist/components/navigation-cube/components/cube-renderer.js +31 -0
- package/dist/components/navigation-cube/components/cube-renderer.js.map +1 -0
- package/dist/components/navigation-cube/components/cube-scene.d.ts +13 -0
- package/dist/components/navigation-cube/components/cube-scene.js +546 -0
- package/dist/components/navigation-cube/components/cube-scene.js.map +1 -0
- package/dist/components/navigation-cube/components/cube.mouse.d.ts +9 -0
- package/dist/components/navigation-cube/components/cube.mouse.js +109 -0
- package/dist/components/navigation-cube/components/cube.mouse.js.map +1 -0
- package/dist/components/navigation-cube/viral-navigation-cube.d.ts +16 -0
- package/dist/components/navigation-cube/viral-navigation-cube.js +50 -0
- package/dist/components/navigation-cube/viral-navigation-cube.js.map +1 -0
- package/dist/components/post-processing/ambient-occlusion-effect.d.ts +13 -0
- package/dist/components/post-processing/ambient-occlusion-effect.js +33 -0
- package/dist/components/post-processing/ambient-occlusion-effect.js.map +1 -0
- package/dist/components/post-processing/bloom-effect.d.ts +11 -0
- package/dist/components/post-processing/bloom-effect.js +29 -0
- package/dist/components/post-processing/bloom-effect.js.map +1 -0
- package/dist/components/post-processing/outline-effect.d.ts +13 -0
- package/dist/components/post-processing/outline-effect.js +33 -0
- package/dist/components/post-processing/outline-effect.js.map +1 -0
- package/dist/components/post-processing/post-processing-renderer.js +46 -0
- package/dist/components/post-processing/post-processing-renderer.js.map +1 -0
- package/dist/components/renderer/viral-renderer.js +55 -0
- package/dist/components/renderer/viral-renderer.js.map +1 -0
- package/dist/components/scene/viral-scene.d.ts +1 -0
- package/dist/components/scene/viral-scene.js +131 -0
- package/dist/components/scene/viral-scene.js.map +1 -0
- package/dist/components/spinner/viral-spinner.d.ts +10 -0
- package/dist/components/spinner/viral-spinner.js +207 -0
- package/dist/components/spinner/viral-spinner.js.map +1 -0
- package/dist/components/stats/viral-stats.js +17 -0
- package/dist/components/stats/viral-stats.js.map +1 -0
- package/dist/components/tools/tools/viral-tool-ambient-occlusion.d.ts +7 -0
- package/dist/components/tools/tools/viral-tool-ambient-occlusion.js +16 -0
- package/dist/components/tools/tools/viral-tool-ambient-occlusion.js.map +1 -0
- package/dist/components/tools/tools/viral-tool-dark-mode.d.ts +7 -0
- package/dist/components/tools/tools/viral-tool-dark-mode.js +21 -0
- package/dist/components/tools/tools/viral-tool-dark-mode.js.map +1 -0
- package/dist/components/tools/tools/viral-tool-elevation.d.ts +11 -0
- package/dist/components/tools/tools/viral-tool-elevation.js +30 -0
- package/dist/components/tools/tools/viral-tool-elevation.js.map +1 -0
- package/dist/components/tools/tools/viral-tool-measure.d.ts +33 -0
- package/dist/components/tools/tools/viral-tool-measure.js +243 -0
- package/dist/components/tools/tools/viral-tool-measure.js.map +1 -0
- package/dist/components/tools/tools/viral-tool-sunlight.d.ts +7 -0
- package/dist/components/tools/tools/viral-tool-sunlight.js +46 -0
- package/dist/components/tools/tools/viral-tool-sunlight.js.map +1 -0
- package/dist/components/tools/viral-tools.d.ts +32 -0
- package/dist/components/tools/viral-tools.js +213 -0
- package/dist/components/tools/viral-tools.js.map +1 -0
- package/dist/components/visibility-manager/viral-visibility-manager.js +175 -0
- package/dist/components/visibility-manager/viral-visibility-manager.js.map +1 -0
- package/dist/components/worker/base/worker-pool.js +68 -0
- package/dist/components/worker/base/worker-pool.js.map +1 -0
- package/dist/components/worker/base/worker-thread.js +35 -0
- package/dist/components/worker/base/worker-thread.js.map +1 -0
- package/dist/components/worker/fetch-data.worker.js +31 -0
- package/dist/components/worker/fetch-data.worker.js.map +1 -0
- package/dist/components/worker/load-element-by-material-v2.worker.d.ts +11 -0
- package/dist/components/worker/load-element-by-material-v2.worker.js +80 -0
- package/dist/components/worker/load-element-by-material-v2.worker.js.map +1 -0
- package/dist/components/worker/load-element-by-material.worker.d.ts +11 -0
- package/dist/components/worker/load-element-by-material.worker.js +59 -0
- package/dist/components/worker/load-element-by-material.worker.js.map +1 -0
- package/dist/components/worker/load-element-standalone.worker.d.ts +10 -0
- package/dist/components/worker/load-element-standalone.worker.js +109 -0
- package/dist/components/worker/load-element-standalone.worker.js.map +1 -0
- package/dist/components/worker/load-model.d.ts +126 -0
- package/dist/components/worker/load-model.js +1265 -0
- package/dist/components/worker/load-model.js.map +1 -0
- package/dist/components/worker/test-worker-pool.d.ts +6 -0
- package/dist/components/worker/test-worker-pool.js +21 -0
- package/dist/components/worker/test-worker-pool.js.map +1 -0
- package/dist/components/worker/viral-viewer-2.worker.js +127 -0
- package/dist/components/worker/viral-viewer-2.worker.js.map +1 -0
- package/dist/components/worker/viral-viewer-3.worker.js +82 -0
- package/dist/components/worker/viral-viewer-3.worker.js.map +1 -0
- package/dist/components/worker/viral-viewer-4.worker.js +97 -0
- package/dist/components/worker/viral-viewer-4.worker.js.map +1 -0
- package/dist/components/worker/viral-viewer.worker-pool.d.ts +0 -0
- package/dist/components/worker/viral-viewer.worker-pool.js +61 -0
- package/dist/components/worker/viral-viewer.worker-pool.js.map +1 -0
- package/dist/components/worker/viral-viewer.worker.js +107 -0
- package/dist/components/worker/viral-viewer.worker.js.map +1 -0
- package/dist/components/worker/worker-pool.d.ts +21 -0
- package/dist/components/worker/worker-pool.js +47 -0
- package/dist/components/worker/worker-pool.js.map +1 -0
- package/dist/components/worker/worker-thread.d.ts +9 -0
- package/dist/components/worker/worker-thread.js +30 -0
- package/dist/components/worker/worker-thread.js.map +1 -0
- package/dist/components/worker-script/fetch-data-worker.script.js +56 -0
- package/dist/components/worker-script/fetch-data-worker.script.js.map +1 -0
- package/dist/components/worker-script/load-element-by-material.script.d.ts +3 -0
- package/dist/components/worker-script/load-element-by-material.script.js +131 -0
- package/dist/components/worker-script/load-element-by-material.script.js.map +1 -0
- package/dist/components/worker-script/load-element-standalone.script.d.ts +1 -0
- package/dist/components/worker-script/load-element-standalone.script.js +34172 -0
- package/dist/components/worker-script/load-element-standalone.script.js.map +1 -0
- package/dist/components/worker-script/load-model-worker-2.script.js +2704 -0
- package/dist/components/worker-script/load-model-worker-2.script.js.map +1 -0
- package/dist/components/worker-script/load-model-worker-3.script.js +34170 -0
- package/dist/components/worker-script/load-model-worker-3.script.js.map +1 -0
- package/dist/components/worker-script/load-model-worker.script.js +148 -0
- package/dist/components/worker-script/load-model-worker.script.js.map +1 -0
- package/dist/components/worker-script/material-aproach/load-element-by-material-instanced-mesh.script.d.ts +1 -0
- package/dist/components/worker-script/material-aproach/load-element-by-material-instanced-mesh.script.js +34152 -0
- package/dist/components/worker-script/material-aproach/load-element-by-material-instanced-mesh.script.js.map +1 -0
- package/dist/components/worker-script/material-aproach/load-element-by-material-mesh.script.d.ts +3 -0
- package/dist/components/worker-script/material-aproach/load-element-by-material-mesh.script.js +127 -0
- package/dist/components/worker-script/material-aproach/load-element-by-material-mesh.script.js.map +1 -0
- package/dist/components/worker-script/test-worker-pool.script.d.ts +1 -0
- package/dist/components/worker-script/test-worker-pool.script.js +12 -0
- package/dist/components/worker-script/test-worker-pool.script.js.map +1 -0
- package/dist/components/worker-script/threejs.types.js +34162 -0
- package/dist/components/worker-script/threejs.types.js.map +1 -0
- package/dist/const/colors.d.ts +1 -0
- package/dist/const/colors.js +39 -0
- package/dist/const/colors.js.map +1 -0
- package/dist/const/fonts.js +17 -0
- package/dist/const/fonts.js.map +1 -0
- package/dist/const/icons.d.ts +7 -0
- package/dist/const/icons.js +11 -0
- package/dist/const/icons.js.map +1 -0
- package/dist/gui/context-menu/viral-context-menu.d.ts +1 -1
- package/dist/gui/context-menu/viral-context-menu.js +78 -0
- package/dist/gui/context-menu/viral-context-menu.js.map +1 -0
- package/dist/gui/draggable-modal/viral-draggable-modal.d.ts +10 -0
- package/dist/gui/draggable-modal/viral-draggable-modal.js +167 -0
- package/dist/gui/draggable-modal/viral-draggable-modal.js.map +1 -0
- package/dist/gui/fonts/fonts.js +20 -0
- package/dist/gui/fonts/fonts.js.map +1 -0
- package/dist/gui/navigation-cube/components/cube-camera.js +74 -0
- package/dist/gui/navigation-cube/components/cube-camera.js.map +1 -0
- package/dist/gui/navigation-cube/components/cube-renderer.js +31 -0
- package/dist/gui/navigation-cube/components/cube-renderer.js.map +1 -0
- package/dist/gui/navigation-cube/components/cube-scene.js +546 -0
- package/dist/gui/navigation-cube/components/cube-scene.js.map +1 -0
- package/dist/gui/navigation-cube/components/cube.mouse.js +109 -0
- package/dist/gui/navigation-cube/components/cube.mouse.js.map +1 -0
- package/dist/gui/navigation-cube/viral-navigation-cube.js +50 -0
- package/dist/gui/navigation-cube/viral-navigation-cube.js.map +1 -0
- package/dist/gui/spinner/viral-spinner.js +102 -0
- package/dist/gui/spinner/viral-spinner.js.map +1 -0
- package/dist/gui/tools/tools/viral-tool-ambient-occlusion.js +25 -0
- package/dist/gui/tools/tools/viral-tool-ambient-occlusion.js.map +1 -0
- package/dist/gui/tools/tools/viral-tool-dark-mode.js +21 -0
- package/dist/gui/tools/tools/viral-tool-dark-mode.js.map +1 -0
- package/dist/gui/tools/tools/viral-tool-elevation.js +30 -0
- package/dist/gui/tools/tools/viral-tool-elevation.js.map +1 -0
- package/dist/gui/tools/tools/viral-tool-export-scene.d.ts +7 -0
- package/dist/gui/tools/tools/viral-tool-export-scene.js +36 -0
- package/dist/gui/tools/tools/viral-tool-export-scene.js.map +1 -0
- package/dist/gui/tools/tools/viral-tool-measure.js +243 -0
- package/dist/gui/tools/tools/viral-tool-measure.js.map +1 -0
- package/dist/gui/tools/tools/viral-tool-sunlight.js +46 -0
- package/dist/gui/tools/tools/viral-tool-sunlight.js.map +1 -0
- package/dist/gui/tools/viral-tools.js +213 -0
- package/dist/gui/tools/viral-tools.js.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/models/dictionary.model.d.ts +10 -0
- package/dist/models/dictionary.model.js +42 -0
- package/dist/models/dictionary.model.js.map +1 -0
- package/dist/services/local-storage.service.js +57 -0
- package/dist/services/local-storage.service.js.map +1 -0
- package/dist/threejs-addon/buffer-geometry-utils.d.ts +64 -0
- package/dist/threejs-addon/buffer-geometry-utils.js +807 -0
- package/dist/threejs-addon/buffer-geometry-utils.js.map +1 -0
- package/dist/threejs-addon/gltf-loader.d.ts +17 -0
- package/dist/threejs-addon/gltf-loader.js +2796 -0
- package/dist/threejs-addon/gltf-loader.js.map +1 -0
- package/dist/threejs-addon/n8ao/n8ao.js +1952 -0
- package/dist/threejs-addon/n8ao/n8ao.js.map +1 -0
- package/dist/threejs-addon/n8ao/post-processing.d.ts +109 -109
- package/dist/threejs-addon/n8ao/post-processing.js +15145 -0
- package/dist/threejs-addon/n8ao/post-processing.js.map +1 -0
- package/dist/threejs-addon/post-processing/effect-composer.d.ts +27 -0
- package/dist/threejs-addon/post-processing/effect-composer.js +134 -0
- package/dist/threejs-addon/post-processing/effect-composer.js.map +1 -0
- package/dist/threejs-addon/post-processing/mask-pass.d.ts +11 -0
- package/dist/threejs-addon/post-processing/mask-pass.js +69 -0
- package/dist/threejs-addon/post-processing/mask-pass.js.map +1 -0
- package/dist/threejs-addon/post-processing/outline-pass.d.ts +58 -0
- package/dist/threejs-addon/post-processing/outline-pass.js +484 -0
- package/dist/threejs-addon/post-processing/outline-pass.js.map +1 -0
- package/dist/threejs-addon/post-processing/output-pass.d.ts +11 -0
- package/dist/threejs-addon/post-processing/output-pass.js +61 -0
- package/dist/threejs-addon/post-processing/output-pass.js.map +1 -0
- package/dist/threejs-addon/post-processing/pass.d.ts +20 -0
- package/dist/threejs-addon/post-processing/pass.js +48 -0
- package/dist/threejs-addon/post-processing/pass.js.map +1 -0
- package/dist/threejs-addon/post-processing/render-pass.d.ts +13 -0
- package/dist/threejs-addon/post-processing/render-pass.js +50 -0
- package/dist/threejs-addon/post-processing/render-pass.js.map +1 -0
- package/dist/threejs-addon/post-processing/sao-pass.d.ts +62 -0
- package/dist/threejs-addon/post-processing/sao-pass.js +296 -0
- package/dist/threejs-addon/post-processing/sao-pass.js.map +1 -0
- package/dist/threejs-addon/post-processing/shader-pass.d.ts +11 -0
- package/dist/threejs-addon/post-processing/shader-pass.js +48 -0
- package/dist/threejs-addon/post-processing/shader-pass.js.map +1 -0
- package/dist/threejs-addon/post-processing/unreal-bloom-pass.d.ts +48 -0
- package/dist/threejs-addon/post-processing/unreal-bloom-pass.js +290 -0
- package/dist/threejs-addon/post-processing/unreal-bloom-pass.js.map +1 -0
- package/dist/threejs-addon/shaders/copy-shader.d.ts +13 -0
- package/dist/threejs-addon/shaders/copy-shader.js +39 -0
- package/dist/threejs-addon/shaders/copy-shader.js.map +1 -0
- package/dist/threejs-addon/shaders/depth-limited-blur-shader.d.ts +48 -0
- package/dist/threejs-addon/shaders/depth-limited-blur-shader.js +142 -0
- package/dist/threejs-addon/shaders/depth-limited-blur-shader.js.map +1 -0
- package/dist/threejs-addon/shaders/luminosity-high-pass-shader.d.ts +27 -0
- package/dist/threejs-addon/shaders/luminosity-high-pass-shader.js +56 -0
- package/dist/threejs-addon/shaders/luminosity-high-pass-shader.js.map +1 -0
- package/dist/threejs-addon/shaders/output-shader.d.ts +13 -0
- package/dist/threejs-addon/shaders/output-shader.js +72 -0
- package/dist/threejs-addon/shaders/output-shader.js.map +1 -0
- package/dist/threejs-addon/shaders/sao-shader.d.ts +71 -0
- package/dist/threejs-addon/shaders/sao-shader.js +180 -0
- package/dist/threejs-addon/shaders/sao-shader.js.map +1 -0
- package/dist/threejs-addon/shaders/unpack-depth-rgba-shader.d.ts +13 -0
- package/dist/threejs-addon/shaders/unpack-depth-rgba-shader.js +41 -0
- package/dist/threejs-addon/shaders/unpack-depth-rgba-shader.js.map +1 -0
- package/dist/threejs-addon/simplify-modifier.d.ts +4 -0
- package/dist/threejs-addon/simplify-modifier.js +325 -0
- package/dist/threejs-addon/simplify-modifier.js.map +1 -0
- package/dist/threejs-addon/stats.js +102 -0
- package/dist/threejs-addon/stats.js.map +1 -0
- package/dist/threejs-addon/transform-control.d.ts +74 -0
- package/dist/threejs-addon/transform-control.js +1033 -0
- package/dist/threejs-addon/transform-control.js.map +1 -0
- package/dist/types.d.ts +26 -1
- package/dist/types.js +173 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/html.js +12 -0
- package/dist/utils/html.js.map +1 -0
- package/dist/utils/index.js +10 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/log.js +14 -0
- package/dist/utils/log.js.map +1 -0
- package/dist/utils/threejs.js +44 -0
- package/dist/utils/threejs.js.map +1 -0
- package/dist/viral-viewer-api.d.ts +2 -4
- package/dist/viral-viewer-api.js +76 -0
- package/dist/viral-viewer-api.js.map +1 -0
- package/package.json +2 -3
- package/dist/index.mjs +0 -36613
|
@@ -0,0 +1,546 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CubeScene = void 0;
|
|
4
|
+
const three_1 = require("three");
|
|
5
|
+
const colors_1 = require("../../../const/colors");
|
|
6
|
+
class CubeScene {
|
|
7
|
+
constructor(viralNavigationCube) {
|
|
8
|
+
this.viralNavigationCube = viralNavigationCube;
|
|
9
|
+
this.scene = new three_1.Scene();
|
|
10
|
+
this.objects = [];
|
|
11
|
+
this.cube = null;
|
|
12
|
+
// planes: Mesh<BufferGeometry, MeshBasicMaterial>[] = [];
|
|
13
|
+
this.activePlane = null;
|
|
14
|
+
this.addCube();
|
|
15
|
+
this.addPlanes();
|
|
16
|
+
}
|
|
17
|
+
addObject(object) {
|
|
18
|
+
this.scene.add(object);
|
|
19
|
+
this.objects.push(object);
|
|
20
|
+
}
|
|
21
|
+
addCube() {
|
|
22
|
+
let materials = [];
|
|
23
|
+
let texts = ["RIGHT", "LEFT", "TOP", "BOTTOM", "FRONT", "BACK"];
|
|
24
|
+
let textureLoader = new three_1.TextureLoader();
|
|
25
|
+
let canvas = document.createElement("canvas");
|
|
26
|
+
let ctx = canvas.getContext("2d");
|
|
27
|
+
let size = 64;
|
|
28
|
+
canvas.width = size;
|
|
29
|
+
canvas.height = size;
|
|
30
|
+
if (ctx) {
|
|
31
|
+
ctx.font = 'bolder 12px "Open sans", Arial';
|
|
32
|
+
ctx.textBaseline = "middle";
|
|
33
|
+
ctx.textAlign = "center";
|
|
34
|
+
let mainColor = `${colors_1.LightTheme.background}`;
|
|
35
|
+
for (let i = 0; i < 6; i++) {
|
|
36
|
+
if (texts[i] == "TOP") {
|
|
37
|
+
ctx.fillStyle = mainColor;
|
|
38
|
+
}
|
|
39
|
+
else if (texts[i] == "BOTTOM") {
|
|
40
|
+
ctx.fillStyle = mainColor;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
ctx.fillStyle = mainColor;
|
|
44
|
+
}
|
|
45
|
+
ctx.fillRect(0, 0, size, size);
|
|
46
|
+
ctx.strokeStyle = `${colors_1.LightTheme.primary}`;
|
|
47
|
+
ctx.setLineDash([8, 8]);
|
|
48
|
+
ctx.lineWidth = 4;
|
|
49
|
+
ctx.strokeRect(0, 0, size, size);
|
|
50
|
+
ctx.fillStyle = `${colors_1.LightTheme.primary}`;
|
|
51
|
+
ctx.fillText(texts[i], size / 2, size / 2);
|
|
52
|
+
materials[i] = new three_1.MeshBasicMaterial({
|
|
53
|
+
map: textureLoader.load(canvas.toDataURL()),
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
this.cube = new three_1.Mesh(new three_1.BoxGeometry(1, 1, 1), materials);
|
|
57
|
+
this.addObject(this.cube);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
addPlanes() {
|
|
61
|
+
let planeMaterial = new three_1.MeshBasicMaterial({
|
|
62
|
+
side: three_1.DoubleSide,
|
|
63
|
+
color: 0x659F51,
|
|
64
|
+
transparent: true,
|
|
65
|
+
opacity: 0,
|
|
66
|
+
depthTest: false,
|
|
67
|
+
});
|
|
68
|
+
let planeSize = 0.7;
|
|
69
|
+
let edgeHeight = 0.7;
|
|
70
|
+
let edgeWidth = 0.15;
|
|
71
|
+
let planeGeometry = new three_1.PlaneGeometry(planeSize, planeSize);
|
|
72
|
+
let edgePlaneGeometry = new three_1.PlaneGeometry(edgeWidth, edgeHeight);
|
|
73
|
+
let cornerPlaneGeometry = new three_1.PlaneGeometry(edgeWidth, edgeWidth);
|
|
74
|
+
let distanceFromCenterPoint = 0.51;
|
|
75
|
+
//#region Front
|
|
76
|
+
let plane1 = new three_1.Mesh(planeGeometry, planeMaterial.clone());
|
|
77
|
+
plane1.position.z = distanceFromCenterPoint;
|
|
78
|
+
plane1.name = "FRONT";
|
|
79
|
+
//right edge
|
|
80
|
+
let plane11 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
|
|
81
|
+
plane11.position.z = distanceFromCenterPoint;
|
|
82
|
+
plane11.position.x = ((planeSize / 2) + (edgeWidth / 2));
|
|
83
|
+
//left edge
|
|
84
|
+
let plane12 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
|
|
85
|
+
plane12.position.z = distanceFromCenterPoint;
|
|
86
|
+
plane12.position.x = -((planeSize / 2) + (edgeWidth / 2));
|
|
87
|
+
//top edge
|
|
88
|
+
let plane13 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
|
|
89
|
+
plane13.position.z = distanceFromCenterPoint;
|
|
90
|
+
plane13.rotation.z = Math.PI / 2;
|
|
91
|
+
plane13.position.y = ((planeSize / 2) + (edgeWidth / 2));
|
|
92
|
+
//bottom edge
|
|
93
|
+
let plane14 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
|
|
94
|
+
plane14.position.z = distanceFromCenterPoint;
|
|
95
|
+
plane14.rotation.z = Math.PI / 2;
|
|
96
|
+
plane14.position.y = -((planeSize / 2) + (edgeWidth / 2));
|
|
97
|
+
//top left corner
|
|
98
|
+
let corner11 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
|
|
99
|
+
corner11.position.z = distanceFromCenterPoint;
|
|
100
|
+
corner11.position.x = -((planeSize / 2) + (edgeWidth / 2));
|
|
101
|
+
corner11.position.y = ((planeSize / 2) + (edgeWidth / 2));
|
|
102
|
+
//top right corner
|
|
103
|
+
let corner12 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
|
|
104
|
+
corner12.position.z = distanceFromCenterPoint;
|
|
105
|
+
corner12.position.x = ((planeSize / 2) + (edgeWidth / 2));
|
|
106
|
+
corner12.position.y = ((planeSize / 2) + (edgeWidth / 2));
|
|
107
|
+
//bottom right corner
|
|
108
|
+
let corner13 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
|
|
109
|
+
corner13.position.z = distanceFromCenterPoint;
|
|
110
|
+
corner13.position.x = ((planeSize / 2) + (edgeWidth / 2));
|
|
111
|
+
corner13.position.y = -((planeSize / 2) + (edgeWidth / 2));
|
|
112
|
+
//bottom left corner
|
|
113
|
+
let corner14 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
|
|
114
|
+
corner14.position.z = distanceFromCenterPoint;
|
|
115
|
+
corner14.position.x = -((planeSize / 2) + (edgeWidth / 2));
|
|
116
|
+
corner14.position.y = -((planeSize / 2) + (edgeWidth / 2));
|
|
117
|
+
//#endregion
|
|
118
|
+
//#region Back
|
|
119
|
+
let plane2 = new three_1.Mesh(planeGeometry, planeMaterial.clone());
|
|
120
|
+
plane2.position.z = -distanceFromCenterPoint;
|
|
121
|
+
plane2.name = "BACK";
|
|
122
|
+
//left edge
|
|
123
|
+
let plane21 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
|
|
124
|
+
plane21.position.z = -distanceFromCenterPoint;
|
|
125
|
+
plane21.position.x = ((planeSize / 2) + (edgeWidth / 2));
|
|
126
|
+
//right edge
|
|
127
|
+
let plane22 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
|
|
128
|
+
plane22.position.z = -distanceFromCenterPoint;
|
|
129
|
+
plane22.position.x = -((planeSize / 2) + (edgeWidth / 2));
|
|
130
|
+
//top edge
|
|
131
|
+
let plane23 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
|
|
132
|
+
plane23.position.z = -distanceFromCenterPoint;
|
|
133
|
+
plane23.rotation.z = Math.PI / 2;
|
|
134
|
+
plane23.position.y = ((planeSize / 2) + (edgeWidth / 2));
|
|
135
|
+
//bottom edge
|
|
136
|
+
let plane24 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
|
|
137
|
+
plane24.position.z = -distanceFromCenterPoint;
|
|
138
|
+
plane24.rotation.z = Math.PI / 2;
|
|
139
|
+
plane24.position.y = -((planeSize / 2) + (edgeWidth / 2));
|
|
140
|
+
//top left corner
|
|
141
|
+
let corner21 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
|
|
142
|
+
corner21.position.z = -distanceFromCenterPoint;
|
|
143
|
+
corner21.position.x = ((planeSize / 2) + (edgeWidth / 2));
|
|
144
|
+
corner21.position.y = ((planeSize / 2) + (edgeWidth / 2));
|
|
145
|
+
//top right corner
|
|
146
|
+
let corner22 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
|
|
147
|
+
corner22.position.z = -distanceFromCenterPoint;
|
|
148
|
+
corner22.position.x = -((planeSize / 2) + (edgeWidth / 2));
|
|
149
|
+
corner22.position.y = ((planeSize / 2) + (edgeWidth / 2));
|
|
150
|
+
//bottom right corner
|
|
151
|
+
let corner23 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
|
|
152
|
+
corner23.position.z = -distanceFromCenterPoint;
|
|
153
|
+
corner23.position.x = -((planeSize / 2) + (edgeWidth / 2));
|
|
154
|
+
corner23.position.y = -((planeSize / 2) + (edgeWidth / 2));
|
|
155
|
+
//bottom left corner
|
|
156
|
+
let corner24 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
|
|
157
|
+
corner24.position.z = -distanceFromCenterPoint;
|
|
158
|
+
corner24.position.x = ((planeSize / 2) + (edgeWidth / 2));
|
|
159
|
+
corner24.position.y = -((planeSize / 2) + (edgeWidth / 2));
|
|
160
|
+
//#endregion
|
|
161
|
+
//#region Right
|
|
162
|
+
let plane3 = new three_1.Mesh(planeGeometry, planeMaterial.clone());
|
|
163
|
+
plane3.rotation.y = Math.PI / 2;
|
|
164
|
+
plane3.position.x = distanceFromCenterPoint;
|
|
165
|
+
plane3.name = "RIGHT";
|
|
166
|
+
//left edge
|
|
167
|
+
let plane31 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
|
|
168
|
+
plane31.rotation.y = Math.PI / 2;
|
|
169
|
+
plane31.position.x = distanceFromCenterPoint;
|
|
170
|
+
plane31.position.z = ((planeSize / 2) + (edgeWidth / 2));
|
|
171
|
+
//right edge
|
|
172
|
+
let plane32 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
|
|
173
|
+
plane32.rotation.y = Math.PI / 2;
|
|
174
|
+
plane32.position.x = distanceFromCenterPoint;
|
|
175
|
+
plane32.position.z = -((planeSize / 2) + (edgeWidth / 2));
|
|
176
|
+
//top edge
|
|
177
|
+
let plane33 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
|
|
178
|
+
plane33.rotation.y = Math.PI / 2;
|
|
179
|
+
plane33.position.x = distanceFromCenterPoint;
|
|
180
|
+
plane33.rotation.z = Math.PI / 2;
|
|
181
|
+
plane33.position.y = ((planeSize / 2) + (edgeWidth / 2));
|
|
182
|
+
//bottom edge
|
|
183
|
+
let plane34 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
|
|
184
|
+
plane34.rotation.y = Math.PI / 2;
|
|
185
|
+
plane34.position.x = distanceFromCenterPoint;
|
|
186
|
+
plane34.rotation.z = Math.PI / 2;
|
|
187
|
+
plane34.position.y = -((planeSize / 2) + (edgeWidth / 2));
|
|
188
|
+
//top left corner
|
|
189
|
+
let corner31 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
|
|
190
|
+
corner31.rotation.y = Math.PI / 2;
|
|
191
|
+
corner31.position.x = distanceFromCenterPoint;
|
|
192
|
+
corner31.position.z = ((planeSize / 2) + (edgeWidth / 2));
|
|
193
|
+
corner31.position.y = ((planeSize / 2) + (edgeWidth / 2));
|
|
194
|
+
//top right corner
|
|
195
|
+
let corner32 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
|
|
196
|
+
corner32.rotation.y = Math.PI / 2;
|
|
197
|
+
corner32.position.x = distanceFromCenterPoint;
|
|
198
|
+
corner32.position.z = -((planeSize / 2) + (edgeWidth / 2));
|
|
199
|
+
corner32.position.y = ((planeSize / 2) + (edgeWidth / 2));
|
|
200
|
+
//bottom right corner
|
|
201
|
+
let corner33 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
|
|
202
|
+
corner33.rotation.y = Math.PI / 2;
|
|
203
|
+
corner33.position.x = distanceFromCenterPoint;
|
|
204
|
+
corner33.position.z = -((planeSize / 2) + (edgeWidth / 2));
|
|
205
|
+
corner33.position.y = -((planeSize / 2) + (edgeWidth / 2));
|
|
206
|
+
//bottom left corner
|
|
207
|
+
let corner34 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
|
|
208
|
+
corner34.rotation.y = Math.PI / 2;
|
|
209
|
+
corner34.position.x = distanceFromCenterPoint;
|
|
210
|
+
corner34.position.z = ((planeSize / 2) + (edgeWidth / 2));
|
|
211
|
+
corner34.position.y = -((planeSize / 2) + (edgeWidth / 2));
|
|
212
|
+
//#endregion
|
|
213
|
+
//#region Left
|
|
214
|
+
let plane4 = new three_1.Mesh(planeGeometry, planeMaterial.clone());
|
|
215
|
+
plane4.rotation.y = Math.PI / 2;
|
|
216
|
+
plane4.position.x = -distanceFromCenterPoint;
|
|
217
|
+
plane4.name = "LEFT";
|
|
218
|
+
//left edge
|
|
219
|
+
let plane41 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
|
|
220
|
+
plane41.rotation.y = Math.PI / 2;
|
|
221
|
+
plane41.position.x = -distanceFromCenterPoint;
|
|
222
|
+
plane41.position.z = ((planeSize / 2) + (edgeWidth / 2));
|
|
223
|
+
//right edge
|
|
224
|
+
let plane42 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
|
|
225
|
+
plane42.rotation.y = Math.PI / 2;
|
|
226
|
+
plane42.position.x = -distanceFromCenterPoint;
|
|
227
|
+
plane42.position.z = -((planeSize / 2) + (edgeWidth / 2));
|
|
228
|
+
//top edge
|
|
229
|
+
let plane43 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
|
|
230
|
+
plane43.rotation.y = Math.PI / 2;
|
|
231
|
+
plane43.position.x = -distanceFromCenterPoint;
|
|
232
|
+
plane43.rotation.z = Math.PI / 2;
|
|
233
|
+
plane43.position.y = ((planeSize / 2) + (edgeWidth / 2));
|
|
234
|
+
//bottom edge
|
|
235
|
+
let plane44 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
|
|
236
|
+
plane44.rotation.y = Math.PI / 2;
|
|
237
|
+
plane44.position.x = -distanceFromCenterPoint;
|
|
238
|
+
plane44.rotation.z = Math.PI / 2;
|
|
239
|
+
plane44.position.y = -((planeSize / 2) + (edgeWidth / 2));
|
|
240
|
+
//top left corner
|
|
241
|
+
let corner41 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
|
|
242
|
+
corner41.rotation.y = Math.PI / 2;
|
|
243
|
+
corner41.position.x = -distanceFromCenterPoint;
|
|
244
|
+
corner41.position.z = -((planeSize / 2) + (edgeWidth / 2));
|
|
245
|
+
corner41.position.y = ((planeSize / 2) + (edgeWidth / 2));
|
|
246
|
+
//top right corner
|
|
247
|
+
let corner42 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
|
|
248
|
+
corner42.rotation.y = Math.PI / 2;
|
|
249
|
+
corner42.position.x = -distanceFromCenterPoint;
|
|
250
|
+
corner42.position.z = ((planeSize / 2) + (edgeWidth / 2));
|
|
251
|
+
corner42.position.y = ((planeSize / 2) + (edgeWidth / 2));
|
|
252
|
+
//bottom right corner
|
|
253
|
+
let corner43 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
|
|
254
|
+
corner43.rotation.y = Math.PI / 2;
|
|
255
|
+
corner43.position.x = -distanceFromCenterPoint;
|
|
256
|
+
corner43.position.z = ((planeSize / 2) + (edgeWidth / 2));
|
|
257
|
+
corner43.position.y = -((planeSize / 2) + (edgeWidth / 2));
|
|
258
|
+
//bottom left corner
|
|
259
|
+
let corner44 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
|
|
260
|
+
corner44.rotation.y = Math.PI / 2;
|
|
261
|
+
corner44.position.x = -distanceFromCenterPoint;
|
|
262
|
+
corner44.position.z = -((planeSize / 2) + (edgeWidth / 2));
|
|
263
|
+
corner44.position.y = -((planeSize / 2) + (edgeWidth / 2));
|
|
264
|
+
//#endregion
|
|
265
|
+
//#region Top
|
|
266
|
+
let plane5 = new three_1.Mesh(planeGeometry, planeMaterial.clone());
|
|
267
|
+
plane5.rotation.x = Math.PI / 2;
|
|
268
|
+
plane5.position.y = distanceFromCenterPoint;
|
|
269
|
+
plane5.name = "TOP";
|
|
270
|
+
//right edge
|
|
271
|
+
let plane51 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
|
|
272
|
+
plane51.rotation.x = Math.PI / 2;
|
|
273
|
+
plane51.position.y = distanceFromCenterPoint;
|
|
274
|
+
plane51.position.x = ((planeSize / 2) + (edgeWidth / 2));
|
|
275
|
+
//left edge
|
|
276
|
+
let plane52 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
|
|
277
|
+
plane52.rotation.x = Math.PI / 2;
|
|
278
|
+
plane52.position.y = distanceFromCenterPoint;
|
|
279
|
+
plane52.position.x = -((planeSize / 2) + (edgeWidth / 2));
|
|
280
|
+
//top edge
|
|
281
|
+
let plane53 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
|
|
282
|
+
plane53.rotation.x = Math.PI / 2;
|
|
283
|
+
plane53.position.y = distanceFromCenterPoint;
|
|
284
|
+
plane53.rotation.z = Math.PI / 2;
|
|
285
|
+
plane53.position.z = ((planeSize / 2) + (edgeWidth / 2));
|
|
286
|
+
//bottom edge
|
|
287
|
+
let plane54 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
|
|
288
|
+
plane54.rotation.x = Math.PI / 2;
|
|
289
|
+
plane54.position.y = distanceFromCenterPoint;
|
|
290
|
+
plane54.rotation.z = Math.PI / 2;
|
|
291
|
+
plane54.position.z = -((planeSize / 2) + (edgeWidth / 2));
|
|
292
|
+
//top left corner
|
|
293
|
+
let corner51 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
|
|
294
|
+
corner51.rotation.x = Math.PI / 2;
|
|
295
|
+
corner51.position.y = distanceFromCenterPoint;
|
|
296
|
+
corner51.position.z = -((planeSize / 2) + (edgeWidth / 2));
|
|
297
|
+
corner51.position.x = -((planeSize / 2) + (edgeWidth / 2));
|
|
298
|
+
//top right corner
|
|
299
|
+
let corner52 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
|
|
300
|
+
corner52.rotation.x = Math.PI / 2;
|
|
301
|
+
corner52.position.y = distanceFromCenterPoint;
|
|
302
|
+
corner52.position.z = -((planeSize / 2) + (edgeWidth / 2));
|
|
303
|
+
corner52.position.x = ((planeSize / 2) + (edgeWidth / 2));
|
|
304
|
+
//bottom right corner
|
|
305
|
+
let corner53 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
|
|
306
|
+
corner53.rotation.x = Math.PI / 2;
|
|
307
|
+
corner53.position.y = distanceFromCenterPoint;
|
|
308
|
+
corner53.position.z = ((planeSize / 2) + (edgeWidth / 2));
|
|
309
|
+
corner53.position.x = ((planeSize / 2) + (edgeWidth / 2));
|
|
310
|
+
//bottom left corner
|
|
311
|
+
let corner54 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
|
|
312
|
+
corner54.rotation.x = Math.PI / 2;
|
|
313
|
+
corner54.position.y = distanceFromCenterPoint;
|
|
314
|
+
corner54.position.z = ((planeSize / 2) + (edgeWidth / 2));
|
|
315
|
+
corner54.position.x = -((planeSize / 2) + (edgeWidth / 2));
|
|
316
|
+
//#endregion
|
|
317
|
+
//#region Bottom
|
|
318
|
+
let plane6 = new three_1.Mesh(planeGeometry, planeMaterial.clone());
|
|
319
|
+
plane6.rotation.x = Math.PI / 2;
|
|
320
|
+
plane6.position.y = -distanceFromCenterPoint;
|
|
321
|
+
plane6.name = "BOTTOM";
|
|
322
|
+
//right edge
|
|
323
|
+
let plane61 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
|
|
324
|
+
plane61.rotation.x = Math.PI / 2;
|
|
325
|
+
plane61.position.y = -distanceFromCenterPoint;
|
|
326
|
+
plane61.position.x = ((planeSize / 2) + (edgeWidth / 2));
|
|
327
|
+
//left edge
|
|
328
|
+
let plane62 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
|
|
329
|
+
plane62.rotation.x = Math.PI / 2;
|
|
330
|
+
plane62.position.y = -distanceFromCenterPoint;
|
|
331
|
+
plane62.position.x = -((planeSize / 2) + (edgeWidth / 2));
|
|
332
|
+
//top edge
|
|
333
|
+
let plane63 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
|
|
334
|
+
plane63.rotation.x = Math.PI / 2;
|
|
335
|
+
plane63.position.y = -distanceFromCenterPoint;
|
|
336
|
+
plane63.rotation.z = Math.PI / 2;
|
|
337
|
+
plane63.position.z = ((planeSize / 2) + (edgeWidth / 2));
|
|
338
|
+
//bottom edge
|
|
339
|
+
let plane64 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
|
|
340
|
+
plane64.rotation.x = Math.PI / 2;
|
|
341
|
+
plane64.position.y = -distanceFromCenterPoint;
|
|
342
|
+
plane64.rotation.z = Math.PI / 2;
|
|
343
|
+
plane64.position.z = -((planeSize / 2) + (edgeWidth / 2));
|
|
344
|
+
//top left corner
|
|
345
|
+
let corner61 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
|
|
346
|
+
corner61.rotation.x = Math.PI / 2;
|
|
347
|
+
corner61.position.y = -distanceFromCenterPoint;
|
|
348
|
+
corner61.position.z = ((planeSize / 2) + (edgeWidth / 2));
|
|
349
|
+
corner61.position.x = -((planeSize / 2) + (edgeWidth / 2));
|
|
350
|
+
//top right corner
|
|
351
|
+
let corner62 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
|
|
352
|
+
corner62.rotation.x = Math.PI / 2;
|
|
353
|
+
corner62.position.y = -distanceFromCenterPoint;
|
|
354
|
+
corner62.position.z = ((planeSize / 2) + (edgeWidth / 2));
|
|
355
|
+
corner62.position.x = ((planeSize / 2) + (edgeWidth / 2));
|
|
356
|
+
//bottom right corner
|
|
357
|
+
let corner63 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
|
|
358
|
+
corner63.rotation.x = Math.PI / 2;
|
|
359
|
+
corner63.position.y = -distanceFromCenterPoint;
|
|
360
|
+
corner63.position.z = -((planeSize / 2) + (edgeWidth / 2));
|
|
361
|
+
corner63.position.x = ((planeSize / 2) + (edgeWidth / 2));
|
|
362
|
+
//bottom left corner
|
|
363
|
+
let corner64 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
|
|
364
|
+
corner64.rotation.x = Math.PI / 2;
|
|
365
|
+
corner64.position.y = -distanceFromCenterPoint;
|
|
366
|
+
corner64.position.z = -((planeSize / 2) + (edgeWidth / 2));
|
|
367
|
+
corner64.position.x = -((planeSize / 2) + (edgeWidth / 2));
|
|
368
|
+
//#endregion
|
|
369
|
+
let groundMaterial = new three_1.MeshBasicMaterial({
|
|
370
|
+
color: 0xaaaaaa,
|
|
371
|
+
});
|
|
372
|
+
let groundGeometry = new three_1.PlaneGeometry(1, 1);
|
|
373
|
+
let groundPlane = new three_1.Mesh(groundGeometry, groundMaterial);
|
|
374
|
+
groundPlane.rotation.x = -Math.PI / 2;
|
|
375
|
+
groundPlane.position.y = -0.6;
|
|
376
|
+
//#region Main Plane
|
|
377
|
+
this.addObject(plane1);
|
|
378
|
+
this.addObject(plane2);
|
|
379
|
+
this.addObject(plane3);
|
|
380
|
+
this.addObject(plane4);
|
|
381
|
+
this.addObject(plane5);
|
|
382
|
+
this.addObject(plane6);
|
|
383
|
+
this.addObject(groundPlane);
|
|
384
|
+
//#endregion
|
|
385
|
+
//#region Edge
|
|
386
|
+
//right
|
|
387
|
+
const plane1131 = new three_1.Mesh();
|
|
388
|
+
plane1131.name = "1131";
|
|
389
|
+
plane1131.add(plane11);
|
|
390
|
+
plane1131.add(plane31);
|
|
391
|
+
// plane1131.material = planeMaterial.clone();
|
|
392
|
+
this.addObject(plane1131);
|
|
393
|
+
//left
|
|
394
|
+
const plane1241 = new three_1.Mesh();
|
|
395
|
+
plane1241.name = "1241";
|
|
396
|
+
plane1241.add(plane12);
|
|
397
|
+
plane1241.add(plane41);
|
|
398
|
+
// plane1241.material = planeMaterial.clone();
|
|
399
|
+
this.addObject(plane1241);
|
|
400
|
+
//top
|
|
401
|
+
const plane1353 = new three_1.Mesh();
|
|
402
|
+
plane1353.name = "1353";
|
|
403
|
+
plane1353.add(plane13);
|
|
404
|
+
plane1353.add(plane53);
|
|
405
|
+
// plane1353.material = planeMaterial.clone();
|
|
406
|
+
this.addObject(plane1353);
|
|
407
|
+
//bottom
|
|
408
|
+
const plane1463 = new three_1.Mesh();
|
|
409
|
+
plane1463.name = "1463";
|
|
410
|
+
plane1463.add(plane14);
|
|
411
|
+
plane1463.add(plane63);
|
|
412
|
+
// plane1463.material = planeMaterial.clone();
|
|
413
|
+
this.addObject(plane1463);
|
|
414
|
+
const plane2464 = new three_1.Mesh();
|
|
415
|
+
plane2464.name = "2464";
|
|
416
|
+
plane2464.add(plane24);
|
|
417
|
+
plane2464.add(plane64);
|
|
418
|
+
// plane2464.material = planeMaterial.clone();
|
|
419
|
+
this.addObject(plane2464);
|
|
420
|
+
//right
|
|
421
|
+
const plane3221 = new three_1.Mesh();
|
|
422
|
+
plane3221.name = "3221";
|
|
423
|
+
plane3221.add(plane32);
|
|
424
|
+
plane3221.add(plane21);
|
|
425
|
+
// plane3221.material = planeMaterial.clone();
|
|
426
|
+
this.addObject(plane3221);
|
|
427
|
+
//top
|
|
428
|
+
const plane3351 = new three_1.Mesh();
|
|
429
|
+
plane3351.name = "3351";
|
|
430
|
+
plane3351.add(plane33);
|
|
431
|
+
plane3351.add(plane51);
|
|
432
|
+
// plane3351.material = planeMaterial.clone();
|
|
433
|
+
this.addObject(plane3351);
|
|
434
|
+
//bottom
|
|
435
|
+
const plane3461 = new three_1.Mesh();
|
|
436
|
+
plane3461.name = "3461";
|
|
437
|
+
plane3461.add(plane34);
|
|
438
|
+
plane3461.add(plane61);
|
|
439
|
+
// plane3461.material = planeMaterial.clone();
|
|
440
|
+
this.addObject(plane3461);
|
|
441
|
+
//left
|
|
442
|
+
const plane4222 = new three_1.Mesh();
|
|
443
|
+
plane4222.name = "4222";
|
|
444
|
+
plane4222.add(plane42);
|
|
445
|
+
plane4222.add(plane22);
|
|
446
|
+
// plane4222.material = planeMaterial.clone();
|
|
447
|
+
this.addObject(plane4222);
|
|
448
|
+
//top
|
|
449
|
+
const plane4352 = new three_1.Mesh();
|
|
450
|
+
plane4352.name = "4352";
|
|
451
|
+
plane4352.add(plane43);
|
|
452
|
+
plane4352.add(plane52);
|
|
453
|
+
// plane4352.material = planeMaterial.clone();
|
|
454
|
+
this.addObject(plane4352);
|
|
455
|
+
//bottom
|
|
456
|
+
const plane4462 = new three_1.Mesh();
|
|
457
|
+
plane4462.name = "3462";
|
|
458
|
+
plane4462.add(plane44);
|
|
459
|
+
plane4462.add(plane62);
|
|
460
|
+
// plane4462.material = planeMaterial.clone();
|
|
461
|
+
this.addObject(plane4462);
|
|
462
|
+
const plane5423 = new three_1.Mesh();
|
|
463
|
+
plane5423.name = "5423";
|
|
464
|
+
plane5423.add(plane54);
|
|
465
|
+
plane5423.add(plane23);
|
|
466
|
+
// plane5423.material = planeMaterial.clone();
|
|
467
|
+
this.addObject(plane5423);
|
|
468
|
+
//#endregion
|
|
469
|
+
//#region Corner
|
|
470
|
+
// this.addObject(corner11);
|
|
471
|
+
// this.addObject(corner12);
|
|
472
|
+
// this.addObject(corner13);
|
|
473
|
+
// this.addObject(corner14);
|
|
474
|
+
// this.addObject(corner21);
|
|
475
|
+
// this.addObject(corner22);
|
|
476
|
+
// this.addObject(corner23);
|
|
477
|
+
// this.addObject(corner24);
|
|
478
|
+
// this.addObject(corner31);
|
|
479
|
+
// this.addObject(corner32);
|
|
480
|
+
// this.addObject(corner33);
|
|
481
|
+
// this.addObject(corner34);
|
|
482
|
+
// this.addObject(corner41);
|
|
483
|
+
// this.addObject(corner42);
|
|
484
|
+
// this.addObject(corner43);
|
|
485
|
+
// this.addObject(corner44);
|
|
486
|
+
// this.addObject(corner51);
|
|
487
|
+
// this.addObject(corner52);
|
|
488
|
+
// this.addObject(corner53);
|
|
489
|
+
// this.addObject(corner54);
|
|
490
|
+
// this.addObject(corner61);
|
|
491
|
+
// this.addObject(corner62);
|
|
492
|
+
// this.addObject(corner63);
|
|
493
|
+
// this.addObject(corner64);
|
|
494
|
+
const corner1 = new three_1.Mesh();
|
|
495
|
+
corner1.name = "corner1";
|
|
496
|
+
corner1.add(corner11);
|
|
497
|
+
corner1.add(corner54);
|
|
498
|
+
corner1.add(corner42);
|
|
499
|
+
this.addObject(corner1);
|
|
500
|
+
const corner2 = new three_1.Mesh();
|
|
501
|
+
corner2.name = "corner2";
|
|
502
|
+
corner2.add(corner12);
|
|
503
|
+
corner2.add(corner31);
|
|
504
|
+
corner2.add(corner53);
|
|
505
|
+
this.addObject(corner2);
|
|
506
|
+
const corner3 = new three_1.Mesh();
|
|
507
|
+
corner3.name = "corner3";
|
|
508
|
+
corner3.add(corner13);
|
|
509
|
+
corner3.add(corner34);
|
|
510
|
+
corner3.add(corner62);
|
|
511
|
+
this.addObject(corner3);
|
|
512
|
+
const corner4 = new three_1.Mesh();
|
|
513
|
+
corner4.name = "corner4";
|
|
514
|
+
corner4.add(corner14);
|
|
515
|
+
corner4.add(corner43);
|
|
516
|
+
corner4.add(corner61);
|
|
517
|
+
this.addObject(corner4);
|
|
518
|
+
const corner5 = new three_1.Mesh();
|
|
519
|
+
corner5.name = "corner5";
|
|
520
|
+
corner5.add(corner21);
|
|
521
|
+
corner5.add(corner32);
|
|
522
|
+
corner5.add(corner52);
|
|
523
|
+
this.addObject(corner5);
|
|
524
|
+
const corner6 = new three_1.Mesh();
|
|
525
|
+
corner6.name = "corner6";
|
|
526
|
+
corner6.add(corner22);
|
|
527
|
+
corner6.add(corner51);
|
|
528
|
+
corner6.add(corner41);
|
|
529
|
+
this.addObject(corner6);
|
|
530
|
+
const corner7 = new three_1.Mesh();
|
|
531
|
+
corner7.name = "corner7";
|
|
532
|
+
corner7.add(corner23);
|
|
533
|
+
corner7.add(corner44);
|
|
534
|
+
corner7.add(corner64);
|
|
535
|
+
this.addObject(corner7);
|
|
536
|
+
const corner8 = new three_1.Mesh();
|
|
537
|
+
corner8.name = "corner8";
|
|
538
|
+
corner8.add(corner24);
|
|
539
|
+
corner8.add(corner33);
|
|
540
|
+
corner8.add(corner63);
|
|
541
|
+
this.addObject(corner8);
|
|
542
|
+
//#endregion
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
exports.CubeScene = CubeScene;
|
|
546
|
+
//# sourceMappingURL=cube-scene.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cube-scene.js","sourceRoot":"","sources":["../../../../src/gui/navigation-cube/components/cube-scene.ts"],"names":[],"mappings":"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"}
|