viral-viewer-2 6.3.0 → 6.3.1
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/dist/index.mjs +1611 -1615
- package/dist/threejs-addon/n8ao/post-processing.d.ts +109 -109
- package/package.json +1 -1
- package/dist/components/animation/viral-animation.js +0 -71
- package/dist/components/animation/viral-animation.js.map +0 -1
- package/dist/components/bvh/viral-bvh.js +0 -19
- package/dist/components/bvh/viral-bvh.js.map +0 -1
- package/dist/components/camera/viral-camera.js +0 -207
- package/dist/components/camera/viral-camera.js.map +0 -1
- package/dist/components/compress/viral-compress.processor.js +0 -13
- package/dist/components/compress/viral-compress.processor.js.map +0 -1
- package/dist/components/custom-objects/index.js +0 -6
- package/dist/components/custom-objects/index.js.map +0 -1
- package/dist/components/custom-objects/viral-instanced-mesh.js +0 -203
- package/dist/components/custom-objects/viral-instanced-mesh.js.map +0 -1
- package/dist/components/custom-objects/viral-mesh.js +0 -25
- package/dist/components/custom-objects/viral-mesh.js.map +0 -1
- package/dist/components/data-manager/viral-data-manager.js +0 -35
- package/dist/components/data-manager/viral-data-manager.js.map +0 -1
- package/dist/components/event-handler/base/event-dispatcher.js +0 -35
- package/dist/components/event-handler/base/event-dispatcher.js.map +0 -1
- package/dist/components/event-handler/keyboard/viral-keyboard.js +0 -78
- package/dist/components/event-handler/keyboard/viral-keyboard.js.map +0 -1
- package/dist/components/event-handler/mouse/viral-mouse.js +0 -239
- package/dist/components/event-handler/mouse/viral-mouse.js.map +0 -1
- package/dist/components/event-handler/viral-centralized-event-handler.js +0 -186
- package/dist/components/event-handler/viral-centralized-event-handler.js.map +0 -1
- package/dist/components/event-handler/viral-lifecycle-event-handler.js +0 -55
- package/dist/components/event-handler/viral-lifecycle-event-handler.js.map +0 -1
- package/dist/components/loader/viral-point-cloud.loader.js +0 -33
- package/dist/components/loader/viral-point-cloud.loader.js.map +0 -1
- package/dist/components/loader/viral-revit.loader.js +0 -344
- package/dist/components/loader/viral-revit.loader.js.map +0 -1
- package/dist/components/loader/viral-three.loader.js +0 -20
- package/dist/components/loader/viral-three.loader.js.map +0 -1
- package/dist/components/loader/viral.loader.js +0 -16
- package/dist/components/loader/viral.loader.js.map +0 -1
- package/dist/components/material/viral-material-manager.js +0 -60
- package/dist/components/material/viral-material-manager.js.map +0 -1
- package/dist/components/post-processing/post-processing-renderer.js +0 -46
- package/dist/components/post-processing/post-processing-renderer.js.map +0 -1
- package/dist/components/renderer/viral-renderer.js +0 -55
- package/dist/components/renderer/viral-renderer.js.map +0 -1
- package/dist/components/scene/viral-scene.js +0 -131
- package/dist/components/scene/viral-scene.js.map +0 -1
- package/dist/components/stats/viral-stats.js +0 -17
- package/dist/components/stats/viral-stats.js.map +0 -1
- package/dist/components/visibility-manager/viral-visibility-manager.js +0 -175
- package/dist/components/visibility-manager/viral-visibility-manager.js.map +0 -1
- package/dist/components/worker/base/worker-pool.js +0 -68
- package/dist/components/worker/base/worker-pool.js.map +0 -1
- package/dist/components/worker/base/worker-thread.js +0 -35
- package/dist/components/worker/base/worker-thread.js.map +0 -1
- package/dist/components/worker/fetch-data.worker.js +0 -31
- package/dist/components/worker/fetch-data.worker.js.map +0 -1
- package/dist/components/worker/load-element-by-material-v2.worker.js +0 -80
- package/dist/components/worker/load-element-by-material-v2.worker.js.map +0 -1
- package/dist/components/worker/load-element-by-material.worker.js +0 -59
- package/dist/components/worker/load-element-by-material.worker.js.map +0 -1
- package/dist/components/worker/load-element-standalone.worker.js +0 -109
- package/dist/components/worker/load-element-standalone.worker.js.map +0 -1
- package/dist/components/worker/viral-viewer-2.worker.js +0 -127
- package/dist/components/worker/viral-viewer-2.worker.js.map +0 -1
- package/dist/components/worker/viral-viewer-3.worker.js +0 -82
- package/dist/components/worker/viral-viewer-3.worker.js.map +0 -1
- package/dist/components/worker/viral-viewer.worker.js +0 -107
- package/dist/components/worker/viral-viewer.worker.js.map +0 -1
- package/dist/components/worker-script/fetch-data-worker.script.js +0 -56
- package/dist/components/worker-script/fetch-data-worker.script.js.map +0 -1
- package/dist/components/worker-script/load-element-by-material.script.js +0 -131
- package/dist/components/worker-script/load-element-by-material.script.js.map +0 -1
- package/dist/components/worker-script/load-element-standalone.script.js +0 -34172
- package/dist/components/worker-script/load-element-standalone.script.js.map +0 -1
- package/dist/components/worker-script/load-model-worker-2.script.js +0 -2704
- package/dist/components/worker-script/load-model-worker-2.script.js.map +0 -1
- package/dist/components/worker-script/load-model-worker.script.js +0 -148
- package/dist/components/worker-script/load-model-worker.script.js.map +0 -1
- package/dist/components/worker-script/material-aproach/load-element-by-material-instanced-mesh.script.js +0 -34152
- package/dist/components/worker-script/material-aproach/load-element-by-material-instanced-mesh.script.js.map +0 -1
- package/dist/components/worker-script/material-aproach/load-element-by-material-mesh.script.js +0 -127
- package/dist/components/worker-script/material-aproach/load-element-by-material-mesh.script.js.map +0 -1
- package/dist/components/worker-script/threejs.types.js +0 -34162
- package/dist/components/worker-script/threejs.types.js.map +0 -1
- package/dist/const/colors.js +0 -39
- package/dist/const/colors.js.map +0 -1
- package/dist/const/fonts.js +0 -17
- package/dist/const/fonts.js.map +0 -1
- package/dist/const/icons.js +0 -11
- package/dist/const/icons.js.map +0 -1
- package/dist/gui/context-menu/viral-context-menu.js +0 -78
- package/dist/gui/context-menu/viral-context-menu.js.map +0 -1
- package/dist/gui/draggable-modal/viral-draggable-modal.js +0 -167
- package/dist/gui/draggable-modal/viral-draggable-modal.js.map +0 -1
- package/dist/gui/fonts/fonts.js +0 -20
- package/dist/gui/fonts/fonts.js.map +0 -1
- package/dist/gui/navigation-cube/components/cube-camera.js +0 -74
- package/dist/gui/navigation-cube/components/cube-camera.js.map +0 -1
- package/dist/gui/navigation-cube/components/cube-renderer.js +0 -31
- package/dist/gui/navigation-cube/components/cube-renderer.js.map +0 -1
- package/dist/gui/navigation-cube/components/cube-scene.js +0 -546
- package/dist/gui/navigation-cube/components/cube-scene.js.map +0 -1
- package/dist/gui/navigation-cube/components/cube.mouse.js +0 -109
- package/dist/gui/navigation-cube/components/cube.mouse.js.map +0 -1
- package/dist/gui/navigation-cube/viral-navigation-cube.js +0 -50
- package/dist/gui/navigation-cube/viral-navigation-cube.js.map +0 -1
- package/dist/gui/spinner/viral-spinner.js +0 -102
- package/dist/gui/spinner/viral-spinner.js.map +0 -1
- package/dist/gui/tools/tools/viral-tool-ambient-occlusion.js +0 -25
- package/dist/gui/tools/tools/viral-tool-ambient-occlusion.js.map +0 -1
- package/dist/gui/tools/tools/viral-tool-dark-mode.js +0 -21
- package/dist/gui/tools/tools/viral-tool-dark-mode.js.map +0 -1
- package/dist/gui/tools/tools/viral-tool-elevation.js +0 -30
- package/dist/gui/tools/tools/viral-tool-elevation.js.map +0 -1
- package/dist/gui/tools/tools/viral-tool-export-scene.js +0 -36
- package/dist/gui/tools/tools/viral-tool-export-scene.js.map +0 -1
- package/dist/gui/tools/tools/viral-tool-measure.js +0 -243
- package/dist/gui/tools/tools/viral-tool-measure.js.map +0 -1
- package/dist/gui/tools/tools/viral-tool-sunlight.js +0 -46
- package/dist/gui/tools/tools/viral-tool-sunlight.js.map +0 -1
- package/dist/gui/tools/viral-tools.js +0 -213
- package/dist/gui/tools/viral-tools.js.map +0 -1
- package/dist/index.js +0 -21
- package/dist/index.js.map +0 -1
- package/dist/services/local-storage.service.js +0 -57
- package/dist/services/local-storage.service.js.map +0 -1
- package/dist/threejs-addon/n8ao/n8ao.js +0 -1952
- package/dist/threejs-addon/n8ao/n8ao.js.map +0 -1
- package/dist/threejs-addon/n8ao/post-processing.js +0 -15145
- package/dist/threejs-addon/n8ao/post-processing.js.map +0 -1
- package/dist/threejs-addon/stats.js +0 -102
- package/dist/threejs-addon/stats.js.map +0 -1
- package/dist/types.js +0 -173
- package/dist/types.js.map +0 -1
- package/dist/utils/html.js +0 -12
- package/dist/utils/html.js.map +0 -1
- package/dist/utils/index.js +0 -10
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/log.js +0 -14
- package/dist/utils/log.js.map +0 -1
- package/dist/utils/threejs.js +0 -44
- package/dist/utils/threejs.js.map +0 -1
- package/dist/viral-viewer-api.js +0 -76
- package/dist/viral-viewer-api.js.map +0 -1
|
@@ -1,546 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cube-scene.js","sourceRoot":"","sources":["../../../../src/gui/navigation-cube/components/cube-scene.ts"],"names":[],"mappings":"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"}
|