@shapediver/viewer.rendering-engine.rendering-engine-threejs 3.16.8 → 3.16.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/RenderingEngine.d.ts +294 -294
- package/dist/RenderingEngine.js +987 -977
- package/dist/RenderingEngine.js.map +1 -1
- package/dist/index.d.ts +16 -16
- package/dist/index.js +57 -57
- package/dist/injectors/TextureUnifierInjector.d.ts +13 -13
- package/dist/injectors/TextureUnifierInjector.js +181 -171
- package/dist/injectors/TextureUnifierInjector.js.map +1 -1
- package/dist/interfaces/ILoader.d.ts +3 -3
- package/dist/interfaces/ILoader.js +2 -2
- package/dist/interfaces/IRenderingEngine.d.ts +45 -45
- package/dist/interfaces/IRenderingEngine.js +2 -2
- package/dist/loaders/EnvironmentMapLoader.d.ts +119 -119
- package/dist/loaders/EnvironmentMapLoader.js +512 -502
- package/dist/loaders/EnvironmentMapLoader.js.map +1 -1
- package/dist/loaders/GeometryLoader.d.ts +39 -39
- package/dist/loaders/GeometryLoader.d.ts.map +1 -1
- package/dist/loaders/GeometryLoader.js +603 -593
- package/dist/loaders/GeometryLoader.js.map +1 -1
- package/dist/loaders/HTMLElementAnchorLoader.d.ts +15 -15
- package/dist/loaders/HTMLElementAnchorLoader.js +98 -98
- package/dist/loaders/HTMLElementAnchorLoader.js.map +1 -1
- package/dist/loaders/LightLoader.d.ts +19 -19
- package/dist/loaders/LightLoader.js +197 -187
- package/dist/loaders/LightLoader.js.map +1 -1
- package/dist/loaders/MaterialLoader.d.ts +115 -115
- package/dist/loaders/MaterialLoader.d.ts.map +1 -1
- package/dist/loaders/MaterialLoader.js +1612 -1602
- package/dist/loaders/MaterialLoader.js.map +1 -1
- package/dist/managers/ARManager.d.ts +17 -17
- package/dist/managers/ARManager.js +128 -128
- package/dist/managers/ARManager.js.map +1 -1
- package/dist/managers/CameraManager.d.ts +19 -19
- package/dist/managers/CameraManager.js +244 -234
- package/dist/managers/CameraManager.js.map +1 -1
- package/dist/managers/EnvironmentGeometryManager.d.ts +32 -32
- package/dist/managers/EnvironmentGeometryManager.js +114 -114
- package/dist/managers/EnvironmentGeometryManager.js.map +1 -1
- package/dist/managers/FlagManager.d.ts +19 -19
- package/dist/managers/FlagManager.js +143 -143
- package/dist/managers/FlagManager.js.map +1 -1
- package/dist/managers/PostProcessingManager.d.ts +1019 -1019
- package/dist/managers/PostProcessingManager.js +1306 -1296
- package/dist/managers/PostProcessingManager.js.map +1 -1
- package/dist/managers/RenderingManager.d.ts +84 -84
- package/dist/managers/RenderingManager.d.ts.map +1 -1
- package/dist/managers/RenderingManager.js +679 -669
- package/dist/managers/RenderingManager.js.map +1 -1
- package/dist/managers/SceneTracingManager.d.ts +28 -28
- package/dist/managers/SceneTracingManager.js +160 -150
- package/dist/managers/SceneTracingManager.js.map +1 -1
- package/dist/managers/SceneTreeManager.d.ts +81 -81
- package/dist/managers/SceneTreeManager.d.ts.map +1 -1
- package/dist/managers/SceneTreeManager.js +500 -490
- package/dist/managers/SceneTreeManager.js.map +1 -1
- package/dist/managers/SettingsManager.d.ts +28 -28
- package/dist/managers/SettingsManager.js +284 -284
- package/dist/managers/SettingsManager.js.map +1 -1
- package/dist/managers/environmentGeometry/ContactShadow.d.ts +42 -42
- package/dist/managers/environmentGeometry/ContactShadow.js +295 -285
- package/dist/managers/environmentGeometry/ContactShadow.js.map +1 -1
- package/dist/managers/environmentGeometry/Grid.d.ts +20 -20
- package/dist/managers/environmentGeometry/Grid.js +110 -100
- package/dist/managers/environmentGeometry/Grid.js.map +1 -1
- package/dist/managers/environmentGeometry/GroundPlane.d.ts +21 -21
- package/dist/managers/environmentGeometry/GroundPlane.js +105 -95
- package/dist/managers/environmentGeometry/GroundPlane.js.map +1 -1
- package/dist/managers/environmentGeometry/GroundPlaneShadow.d.ts +21 -21
- package/dist/managers/environmentGeometry/GroundPlaneShadow.js +96 -86
- package/dist/managers/environmentGeometry/GroundPlaneShadow.js.map +1 -1
- package/dist/managers/environmentGeometry/IEnvironmentGeometry.d.ts +8 -8
- package/dist/managers/environmentGeometry/IEnvironmentGeometry.js +2 -2
- package/dist/managers/postprocessing/GodRaysManager.d.ts +12 -12
- package/dist/managers/postprocessing/GodRaysManager.js +73 -63
- package/dist/managers/postprocessing/GodRaysManager.js.map +1 -1
- package/dist/managers/postprocessing/OutlineManager.d.ts +15 -15
- package/dist/managers/postprocessing/OutlineManager.js +86 -76
- package/dist/managers/postprocessing/OutlineManager.js.map +1 -1
- package/dist/managers/postprocessing/SSAARenderPass.d.ts +53 -53
- package/dist/managers/postprocessing/SSAARenderPass.js +281 -281
- package/dist/managers/postprocessing/SSAARenderPass.js.map +1 -1
- package/dist/managers/postprocessing/SelectiveBloomManager.d.ts +14 -14
- package/dist/managers/postprocessing/SelectiveBloomManager.js +76 -66
- package/dist/managers/postprocessing/SelectiveBloomManager.js.map +1 -1
- package/dist/managers/postprocessing/ao/ao/AOEffect.d.ts +46 -46
- package/dist/managers/postprocessing/ao/ao/AOEffect.js +142 -142
- package/dist/managers/postprocessing/ao/ao/AOEffect.js.map +1 -1
- package/dist/managers/postprocessing/ao/ao/AOPass.d.ts +12 -12
- package/dist/managers/postprocessing/ao/ao/AOPass.js +108 -108
- package/dist/managers/postprocessing/ao/ao/AOPass.js.map +1 -1
- package/dist/managers/postprocessing/ao/ao/shader/ao_compose.d.ts +1 -1
- package/dist/managers/postprocessing/ao/ao/shader/ao_compose.js +4 -4
- package/dist/managers/postprocessing/ao/ao/shader/ao_utils.d.ts +1 -1
- package/dist/managers/postprocessing/ao/ao/shader/ao_utils.js +4 -4
- package/dist/managers/postprocessing/ao/hbao/HBAOEffect.d.ts +14 -14
- package/dist/managers/postprocessing/ao/hbao/HBAOEffect.js +24 -24
- package/dist/managers/postprocessing/ao/hbao/shader/hbao.d.ts +1 -1
- package/dist/managers/postprocessing/ao/hbao/shader/hbao.js +4 -4
- package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.d.ts +33 -33
- package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.js +211 -211
- package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.js.map +1 -1
- package/dist/managers/postprocessing/ao/poissionDenoise/shader/poissionDenoise.d.ts +1 -1
- package/dist/managers/postprocessing/ao/poissionDenoise/shader/poissionDenoise.js +4 -4
- package/dist/managers/postprocessing/ao/ssao/SSAOEffect.d.ts +14 -14
- package/dist/managers/postprocessing/ao/ssao/SSAOEffect.js +82 -82
- package/dist/managers/postprocessing/ao/ssao/SSAOEffect.js.map +1 -1
- package/dist/managers/postprocessing/ao/ssao/shader/ssao.d.ts +1 -1
- package/dist/managers/postprocessing/ao/ssao/shader/ssao.js +4 -4
- package/dist/managers/postprocessing/ao/utils/shader/basic.d.ts +1 -1
- package/dist/managers/postprocessing/ao/utils/shader/basic.js +4 -4
- package/dist/managers/postprocessing/ao/utils/shader/sampleBlueNoise.d.ts +1 -1
- package/dist/managers/postprocessing/ao/utils/shader/sampleBlueNoise.js +4 -4
- package/dist/managers/postprocessing/effects/tone-mapping/ToneMappingEffect.d.ts +165 -165
- package/dist/managers/postprocessing/effects/tone-mapping/ToneMappingEffect.js +299 -299
- package/dist/managers/postprocessing/effects/tone-mapping/ToneMappingEffect.js.map +1 -1
- package/dist/managers/postprocessing/effects/tone-mapping/tone-mapping.d.ts +1 -1
- package/dist/managers/postprocessing/effects/tone-mapping/tone-mapping.js +4 -4
- package/dist/managers/postprocessing/utils/CopyMaterial.d.ts +37 -37
- package/dist/managers/postprocessing/utils/CopyMaterial.js +69 -69
- package/dist/managers/postprocessing/utils/CopyShader.d.ts +13 -13
- package/dist/managers/postprocessing/utils/CopyShader.js +12 -12
- package/dist/managers/postprocessing/utils/FullScreenQuad.d.ts +9 -9
- package/dist/managers/postprocessing/utils/FullScreenQuad.js +28 -28
- package/dist/managers/postprocessing/utils/NormalPass.d.ts +87 -87
- package/dist/managers/postprocessing/utils/NormalPass.js +156 -156
- package/dist/managers/postprocessing/utils/NormalPass.js.map +1 -1
- package/dist/managers/postprocessing/utils/RenderPass.d.ts +114 -114
- package/dist/managers/postprocessing/utils/RenderPass.js +259 -259
- package/dist/managers/postprocessing/utils/RenderPass.js.map +1 -1
- package/dist/managers/sceneTree/SDTFUtils.d.ts +6 -6
- package/dist/managers/sceneTree/SDTFUtils.d.ts.map +1 -1
- package/dist/managers/sceneTree/SDTFUtils.js +50 -50
- package/dist/managers/sceneTree/SDTFUtils.js.map +1 -1
- package/dist/managers/sceneTree/SceenTreeManagerUtils.d.ts +7 -7
- package/dist/managers/sceneTree/SceenTreeManagerUtils.d.ts.map +1 -1
- package/dist/managers/sceneTree/SceenTreeManagerUtils.js +175 -165
- package/dist/managers/sceneTree/SceenTreeManagerUtils.js.map +1 -1
- package/dist/managers/sceneTree/ThreeJsDataUtils.d.ts +6 -6
- package/dist/managers/sceneTree/ThreeJsDataUtils.d.ts.map +1 -1
- package/dist/managers/sceneTree/ThreeJsDataUtils.js +80 -70
- package/dist/managers/sceneTree/ThreeJsDataUtils.js.map +1 -1
- package/dist/materials/GemMaterial.d.ts +37 -37
- package/dist/materials/GemMaterial.js +262 -252
- package/dist/materials/GemMaterial.js.map +1 -1
- package/dist/materials/MeshUnlitMaterialParameters.d.ts +3 -3
- package/dist/materials/MeshUnlitMaterialParameters.js +2 -2
- package/dist/materials/MultiPointsMaterial.d.ts +93 -93
- package/dist/materials/MultiPointsMaterial.js +577 -567
- package/dist/materials/MultiPointsMaterial.js.map +1 -1
- package/dist/materials/SpecularGlossinessMaterial.d.ts +13 -13
- package/dist/materials/SpecularGlossinessMaterial.js +171 -161
- package/dist/materials/SpecularGlossinessMaterial.js.map +1 -1
- package/dist/objects/SDColor.d.ts +16 -16
- package/dist/objects/SDColor.js +52 -52
- package/dist/objects/SDColor.js.map +1 -1
- package/dist/objects/SDObject.d.ts +27 -27
- package/dist/objects/SDObject.js +112 -102
- package/dist/objects/SDObject.js.map +1 -1
- package/dist/shaders/PCSS.d.ts +2 -2
- package/dist/shaders/PCSS.js +5 -5
- package/dist/shaders/gem.d.ts +2 -2
- package/dist/shaders/gem.js +5 -5
- package/dist/shaders/multi_points.d.ts +2 -2
- package/dist/shaders/multi_points.js +5 -5
- package/dist/styling/viewport-css.d.ts +1 -1
- package/dist/styling/viewport-css.js +4 -4
- package/dist/three/CSS2DRenderer.d.ts +31 -31
- package/dist/three/CSS2DRenderer.d.ts.map +1 -1
- package/dist/three/CSS2DRenderer.js +152 -152
- package/dist/three/CSS2DRenderer.js.map +1 -1
- package/dist/three/geometries/TextGeometry.d.ts +21 -21
- package/dist/three/geometries/TextGeometry.js +45 -45
- package/dist/three/geometries/TextGeometry.js.map +1 -1
- package/dist/three/loaders/RGBELoader.d.ts +23 -23
- package/dist/three/loaders/RGBELoader.js +311 -311
- package/dist/three/loaders/RGBELoader.js.map +1 -1
- package/dist/types/IThreejsData.d.ts +6 -6
- package/dist/types/IThreejsData.js +2 -2
- package/dist/types/ThreejsData.d.ts +10 -10
- package/dist/types/ThreejsData.js +41 -41
- package/package.json +18 -18
- package/dist/managers/InstanceGroupManager.d.ts +0 -58
- package/dist/managers/InstanceGroupManager.d.ts.map +0 -1
- package/dist/managers/InstanceGroupManager.js +0 -372
- package/dist/managers/InstanceGroupManager.js.map +0 -1
package/dist/RenderingEngine.js
CHANGED
|
@@ -1,978 +1,988 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
return
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
return
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
const
|
|
53
|
-
const
|
|
54
|
-
const
|
|
55
|
-
const
|
|
56
|
-
const
|
|
57
|
-
const
|
|
58
|
-
const
|
|
59
|
-
const
|
|
60
|
-
const
|
|
61
|
-
const
|
|
62
|
-
const
|
|
63
|
-
const
|
|
64
|
-
const
|
|
65
|
-
const
|
|
66
|
-
const
|
|
67
|
-
const
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
this.
|
|
86
|
-
this.
|
|
87
|
-
this.
|
|
88
|
-
this.
|
|
89
|
-
this.
|
|
90
|
-
this.
|
|
91
|
-
this.
|
|
92
|
-
this
|
|
93
|
-
|
|
94
|
-
this.
|
|
95
|
-
|
|
96
|
-
this.
|
|
97
|
-
this.
|
|
98
|
-
this.
|
|
99
|
-
this.
|
|
100
|
-
this.
|
|
101
|
-
this.
|
|
102
|
-
this.
|
|
103
|
-
this.
|
|
104
|
-
this.
|
|
105
|
-
|
|
106
|
-
this.
|
|
107
|
-
this.
|
|
108
|
-
this.
|
|
109
|
-
this.
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
this.
|
|
114
|
-
this.
|
|
115
|
-
this.
|
|
116
|
-
this.
|
|
117
|
-
this.
|
|
118
|
-
this.
|
|
119
|
-
this.
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
this.
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
this.
|
|
158
|
-
|
|
159
|
-
this.
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
this.
|
|
164
|
-
this.
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
this.
|
|
169
|
-
this.
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
this.
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
//
|
|
178
|
-
this.
|
|
179
|
-
this.
|
|
180
|
-
this.
|
|
181
|
-
this.
|
|
182
|
-
this.
|
|
183
|
-
|
|
184
|
-
this.
|
|
185
|
-
this.
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
this.
|
|
189
|
-
this.
|
|
190
|
-
this.
|
|
191
|
-
this.
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
this.
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
this.
|
|
220
|
-
}
|
|
221
|
-
get
|
|
222
|
-
return this.
|
|
223
|
-
}
|
|
224
|
-
set
|
|
225
|
-
this.
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
this.materialLoader.
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
this.materialLoader.
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
this.materialLoader.
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
this.
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
this.
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
}
|
|
408
|
-
|
|
409
|
-
this.
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
this.
|
|
422
|
-
this._environmentMapLoader.
|
|
423
|
-
}
|
|
424
|
-
get
|
|
425
|
-
return this.
|
|
426
|
-
}
|
|
427
|
-
|
|
428
|
-
this.
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
this.
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
this.
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
}
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
this.
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
}
|
|
471
|
-
|
|
472
|
-
this.
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
}
|
|
478
|
-
get
|
|
479
|
-
return this.
|
|
480
|
-
}
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
}
|
|
497
|
-
get
|
|
498
|
-
return this.
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
case
|
|
545
|
-
default:
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
this.
|
|
568
|
-
}
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
}
|
|
572
|
-
get
|
|
573
|
-
return this.
|
|
574
|
-
}
|
|
575
|
-
set
|
|
576
|
-
this.
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
this._renderer.toneMapping = THREE.
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
this.
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
this.
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
this.
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
const
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
this.
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
}
|
|
897
|
-
if (
|
|
898
|
-
this._cameraEngine.
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
this.
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
}
|
|
976
|
-
|
|
977
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
45
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
46
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
47
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
48
|
+
};
|
|
49
|
+
var _RenderingEngine_defaultLogo, _RenderingEngine_defaultSpinner;
|
|
50
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51
|
+
exports.RenderingEngine = void 0;
|
|
52
|
+
const THREE = __importStar(require("three"));
|
|
53
|
+
const viewer_rendering_engine_animation_engine_1 = require("@shapediver/viewer.rendering-engine.animation-engine");
|
|
54
|
+
const viewer_rendering_engine_camera_engine_1 = require("@shapediver/viewer.rendering-engine.camera-engine");
|
|
55
|
+
const viewer_rendering_engine_canvas_engine_1 = require("@shapediver/viewer.rendering-engine.canvas-engine");
|
|
56
|
+
const viewer_rendering_engine_light_engine_1 = require("@shapediver/viewer.rendering-engine.light-engine");
|
|
57
|
+
const viewer_shared_node_tree_1 = require("@shapediver/viewer.shared.node-tree");
|
|
58
|
+
const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
|
|
59
|
+
const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
|
|
60
|
+
const gl_matrix_1 = require("gl-matrix");
|
|
61
|
+
const EnvironmentMapLoader_1 = require("./loaders/EnvironmentMapLoader");
|
|
62
|
+
const GeometryLoader_1 = require("./loaders/GeometryLoader");
|
|
63
|
+
const HTMLElementAnchorLoader_1 = require("./loaders/HTMLElementAnchorLoader");
|
|
64
|
+
const LightLoader_1 = require("./loaders/LightLoader");
|
|
65
|
+
const MaterialLoader_1 = require("./loaders/MaterialLoader");
|
|
66
|
+
const ARManager_1 = require("./managers/ARManager");
|
|
67
|
+
const CameraManager_1 = require("./managers/CameraManager");
|
|
68
|
+
const EnvironmentGeometryManager_1 = require("./managers/EnvironmentGeometryManager");
|
|
69
|
+
const FlagManager_1 = require("./managers/FlagManager");
|
|
70
|
+
const PostProcessingManager_1 = require("./managers/PostProcessingManager");
|
|
71
|
+
const RenderingManager_1 = require("./managers/RenderingManager");
|
|
72
|
+
const SceneTracingManager_1 = require("./managers/SceneTracingManager");
|
|
73
|
+
const SDTFUtils_1 = require("./managers/sceneTree/SDTFUtils");
|
|
74
|
+
const ThreeJsDataUtils_1 = require("./managers/sceneTree/ThreeJsDataUtils");
|
|
75
|
+
const SceneTreeManager_1 = require("./managers/SceneTreeManager");
|
|
76
|
+
const SettingsManager_1 = require("./managers/SettingsManager");
|
|
77
|
+
const SDColor_1 = require("./objects/SDColor");
|
|
78
|
+
const viewport_css_1 = require("./styling/viewport-css");
|
|
79
|
+
class RenderingEngine {
|
|
80
|
+
constructor(properties) {
|
|
81
|
+
this._animationEngine = viewer_rendering_engine_animation_engine_1.AnimationEngine.instance;
|
|
82
|
+
this._canvasEngine = viewer_rendering_engine_canvas_engine_1.CanvasEngine.instance;
|
|
83
|
+
this._colorCache = [];
|
|
84
|
+
// utils
|
|
85
|
+
this._converter = viewer_shared_services_1.Converter.instance;
|
|
86
|
+
this._logger = viewer_shared_services_1.Logger.instance;
|
|
87
|
+
this._eventEngine = viewer_shared_services_1.EventEngine.instance;
|
|
88
|
+
this._stateEngine = viewer_shared_services_1.StateEngine.instance;
|
|
89
|
+
this._systemInfo = viewer_shared_services_1.SystemInfo.instance;
|
|
90
|
+
this._tree = viewer_shared_node_tree_1.Tree.instance;
|
|
91
|
+
_RenderingEngine_defaultLogo.set(this, "https://viewer.shapediver.com/v3/graphics/logo_animated_breath.svg");
|
|
92
|
+
_RenderingEngine_defaultSpinner.set(this, "https://viewer.shapediver.com/v3/graphics/spinner_ripple.svg");
|
|
93
|
+
// settings
|
|
94
|
+
this._arRotation = gl_matrix_1.vec3.create();
|
|
95
|
+
this._arScale = gl_matrix_1.vec3.fromValues(1, 1, 1);
|
|
96
|
+
this._arTranslation = gl_matrix_1.vec3.create();
|
|
97
|
+
this._automaticColorAdjustment = true;
|
|
98
|
+
this._automaticResizing = true;
|
|
99
|
+
this._beautyRenderBlendingDuration = 1500;
|
|
100
|
+
this._beautyRenderDelay = 50;
|
|
101
|
+
this._busy = false;
|
|
102
|
+
this._busyModeDisplay = viewer_shared_types_1.BUSY_MODE_DISPLAY.SPINNER;
|
|
103
|
+
this._clearAlpha = 1.0;
|
|
104
|
+
this._clearColor = "#ffffff";
|
|
105
|
+
// viewer global vars
|
|
106
|
+
this._closed = false;
|
|
107
|
+
this._enableAR = true;
|
|
108
|
+
this._environmentMap = "null";
|
|
109
|
+
this._environmentMapAsBackground = false;
|
|
110
|
+
this._environmentMapBlurriness = 0;
|
|
111
|
+
this._environmentMapForUnlitMaterials = false;
|
|
112
|
+
this._environmentMapIntensity = 1;
|
|
113
|
+
this._environmentMapResolution = "1024";
|
|
114
|
+
this._environmentMapRotation = gl_matrix_1.quat.create();
|
|
115
|
+
this._gridVisibility = true;
|
|
116
|
+
this._groundPlaneShadowVisibility = false;
|
|
117
|
+
this._groundPlaneVisibility = true;
|
|
118
|
+
this._lights = true;
|
|
119
|
+
this._maximumRenderingSize = this
|
|
120
|
+
._systemInfo.isMobile
|
|
121
|
+
? { width: 1280, height: 720 }
|
|
122
|
+
: { width: 1920, height: 1080 };
|
|
123
|
+
this._pause = false;
|
|
124
|
+
this._shadows = true;
|
|
125
|
+
this._show = false;
|
|
126
|
+
this._showStatistics = false;
|
|
127
|
+
this._softShadows = true;
|
|
128
|
+
this._toneMapping = viewer_shared_types_1.TONE_MAPPING.NONE;
|
|
129
|
+
this._type = viewer_shared_types_1.RENDERER_TYPE.STANDARD;
|
|
130
|
+
this._useLegacyLights = false;
|
|
131
|
+
// THREE object has default Y, we change that (although it doesn't work everywhere)
|
|
132
|
+
THREE.Object3D.DEFAULT_UP = new THREE.Vector3(0, 0, 1);
|
|
133
|
+
THREE.ColorManagement.enabled = false;
|
|
134
|
+
// adapt some of the three.js shaders according to our needs
|
|
135
|
+
(0, MaterialLoader_1.adaptShaders)();
|
|
136
|
+
// add css to the document
|
|
137
|
+
const style = document.createElement("style");
|
|
138
|
+
style.innerHTML = viewport_css_1.css;
|
|
139
|
+
document.head.appendChild(style);
|
|
140
|
+
const prop = Object.assign({}, properties);
|
|
141
|
+
this._viewportCreationDefinition = prop;
|
|
142
|
+
const branding = Object.assign({}, prop.branding);
|
|
143
|
+
// setting some of the provided properties
|
|
144
|
+
this._id = prop.id || viewer_shared_services_1.UuidGenerator.instance.create();
|
|
145
|
+
this._visibilitySessionIds = prop.visibilitySessionIds;
|
|
146
|
+
this._visibility = prop.visibility || viewer_shared_types_1.VISIBILITY_MODE.SESSION;
|
|
147
|
+
this._branding = {
|
|
148
|
+
logo: branding.logo === undefined ? __classPrivateFieldGet(this, _RenderingEngine_defaultLogo, "f") : branding.logo,
|
|
149
|
+
backgroundColor: branding.backgroundColor || "#393a45FF",
|
|
150
|
+
busyModeSpinner: branding.busyModeSpinner === undefined
|
|
151
|
+
? __classPrivateFieldGet(this, _RenderingEngine_defaultSpinner, "f")
|
|
152
|
+
: branding.busyModeSpinner,
|
|
153
|
+
busyModeDisplay: branding.busyModeDisplay || viewer_shared_types_1.BUSY_MODE_DISPLAY.SPINNER,
|
|
154
|
+
spinnerPositioning: branding.spinnerPositioning || viewer_shared_types_1.SPINNER_POSITIONING.BOTTOM_RIGHT,
|
|
155
|
+
};
|
|
156
|
+
// creation of viewer essentials
|
|
157
|
+
this._canvas = this._canvasEngine.getCanvas(this._canvasEngine.createCanvasObject(prop.canvas));
|
|
158
|
+
// creation of the engines (all singleton engines were created already)
|
|
159
|
+
this._domEventEngine = new viewer_shared_services_1.DomEventEngine(this._canvas.canvasElement);
|
|
160
|
+
this._cameraEngine = new viewer_rendering_engine_camera_engine_1.CameraEngine(this);
|
|
161
|
+
this._lightEngine = new viewer_rendering_engine_light_engine_1.LightEngine(this);
|
|
162
|
+
// creation of the managers (all singleton engines were created already)
|
|
163
|
+
this._cameraManager = new CameraManager_1.CameraManager(this);
|
|
164
|
+
this._environmentGeometryManager = new EnvironmentGeometryManager_1.EnvironmentGeometryManager(this);
|
|
165
|
+
this._sceneTracingManager = new SceneTracingManager_1.SceneTracingManager(this);
|
|
166
|
+
this._sceneTreeManager = new SceneTreeManager_1.SceneTreeManager(this);
|
|
167
|
+
this._renderingManager = new RenderingManager_1.RenderingManager(this);
|
|
168
|
+
this._postProcessingManager = new PostProcessingManager_1.PostProcessingManager(this);
|
|
169
|
+
this._settingsManager = new SettingsManager_1.SettingsManager(this, {
|
|
170
|
+
sessionSettingsMode: prop.sessionSettingsMode || viewer_shared_services_1.SESSION_SETTINGS_MODE.FIRST,
|
|
171
|
+
sessionSettingsId: prop.sessionSettingsId,
|
|
172
|
+
});
|
|
173
|
+
this._arManager = new ARManager_1.ARManager(this);
|
|
174
|
+
this._flagManager = new FlagManager_1.FlagManager(this, {
|
|
175
|
+
flags: prop.flags,
|
|
176
|
+
});
|
|
177
|
+
// loaders
|
|
178
|
+
this._environmentMapLoader = new EnvironmentMapLoader_1.EnvironmentMapLoader(this);
|
|
179
|
+
this._materialLoader = new MaterialLoader_1.MaterialLoader(this);
|
|
180
|
+
this._geometryLoader = new GeometryLoader_1.GeometryLoader(this);
|
|
181
|
+
this._htmlElementAnchorLoader = new HTMLElementAnchorLoader_1.HTMLElementAnchorLoader(this);
|
|
182
|
+
this._lightLoader = new LightLoader_1.LightLoader(this);
|
|
183
|
+
// start the creation and initialization process
|
|
184
|
+
this._renderer = this.renderingManager.createRenderer(this._canvas.canvasElement);
|
|
185
|
+
this._spinnerDivElement = this.renderingManager.addSpinner(this._canvas.canvasElement, this._branding);
|
|
186
|
+
this._logoDivElement = this.renderingManager.addLogo(this._canvas.canvasElement, this._branding);
|
|
187
|
+
// creation of the managers (all singleton engines were created already)
|
|
188
|
+
this._cameraManager.init();
|
|
189
|
+
this._environmentGeometryManager.init();
|
|
190
|
+
this._sceneTracingManager.init();
|
|
191
|
+
this._sceneTreeManager.init();
|
|
192
|
+
this._renderingManager.init();
|
|
193
|
+
this._postProcessingManager.init();
|
|
194
|
+
this._settingsManager.init();
|
|
195
|
+
this._arManager.init();
|
|
196
|
+
// loaders
|
|
197
|
+
this._environmentMapLoader.init();
|
|
198
|
+
this._materialLoader.init();
|
|
199
|
+
this._geometryLoader.init();
|
|
200
|
+
this._htmlElementAnchorLoader.init();
|
|
201
|
+
this._lightLoader.init();
|
|
202
|
+
}
|
|
203
|
+
get arRotation() {
|
|
204
|
+
return this._arRotation;
|
|
205
|
+
}
|
|
206
|
+
set arRotation(value) {
|
|
207
|
+
this._arRotation = value;
|
|
208
|
+
}
|
|
209
|
+
get arScale() {
|
|
210
|
+
return this._arScale;
|
|
211
|
+
}
|
|
212
|
+
set arScale(value) {
|
|
213
|
+
this._arScale = value;
|
|
214
|
+
}
|
|
215
|
+
get arTranslation() {
|
|
216
|
+
return this._arTranslation;
|
|
217
|
+
}
|
|
218
|
+
set arTranslation(value) {
|
|
219
|
+
this._arTranslation = value;
|
|
220
|
+
}
|
|
221
|
+
get automaticColorAdjustment() {
|
|
222
|
+
return this._automaticColorAdjustment;
|
|
223
|
+
}
|
|
224
|
+
set automaticColorAdjustment(value) {
|
|
225
|
+
if (this._automaticColorAdjustment === value)
|
|
226
|
+
return;
|
|
227
|
+
this._automaticColorAdjustment = value;
|
|
228
|
+
this._colorCache.forEach((c) => c.colorCorrection(value));
|
|
229
|
+
this._materialLoader.assignColorCorrection(value);
|
|
230
|
+
}
|
|
231
|
+
get automaticResizing() {
|
|
232
|
+
return this._automaticResizing;
|
|
233
|
+
}
|
|
234
|
+
set automaticResizing(value) {
|
|
235
|
+
this._automaticResizing = value;
|
|
236
|
+
}
|
|
237
|
+
get beautyRenderBlendingDuration() {
|
|
238
|
+
return this._beautyRenderBlendingDuration;
|
|
239
|
+
}
|
|
240
|
+
set beautyRenderBlendingDuration(value) {
|
|
241
|
+
this._beautyRenderBlendingDuration = value;
|
|
242
|
+
}
|
|
243
|
+
get beautyRenderDelay() {
|
|
244
|
+
return this._beautyRenderDelay;
|
|
245
|
+
}
|
|
246
|
+
set beautyRenderDelay(value) {
|
|
247
|
+
this._beautyRenderDelay = value;
|
|
248
|
+
}
|
|
249
|
+
get branding() {
|
|
250
|
+
return this._branding;
|
|
251
|
+
}
|
|
252
|
+
get busy() {
|
|
253
|
+
return this._busy;
|
|
254
|
+
}
|
|
255
|
+
set busy(value) {
|
|
256
|
+
this._busy = value;
|
|
257
|
+
}
|
|
258
|
+
get busyModeDisplay() {
|
|
259
|
+
return this._busyModeDisplay;
|
|
260
|
+
}
|
|
261
|
+
set busyModeDisplay(value) {
|
|
262
|
+
this._busyModeDisplay = value;
|
|
263
|
+
}
|
|
264
|
+
get camera() {
|
|
265
|
+
return this._cameraManager.camera;
|
|
266
|
+
}
|
|
267
|
+
get cameraEngine() {
|
|
268
|
+
return this._cameraEngine;
|
|
269
|
+
}
|
|
270
|
+
get cameraManager() {
|
|
271
|
+
return this._cameraManager;
|
|
272
|
+
}
|
|
273
|
+
get canvas() {
|
|
274
|
+
return this._canvas.canvasElement;
|
|
275
|
+
}
|
|
276
|
+
get clearAlpha() {
|
|
277
|
+
return this._clearAlpha;
|
|
278
|
+
}
|
|
279
|
+
set clearAlpha(value) {
|
|
280
|
+
this._clearAlpha = value;
|
|
281
|
+
}
|
|
282
|
+
get clearColor() {
|
|
283
|
+
return this._clearColor;
|
|
284
|
+
}
|
|
285
|
+
set clearColor(value) {
|
|
286
|
+
this._clearColor = value;
|
|
287
|
+
}
|
|
288
|
+
get closed() {
|
|
289
|
+
return this._closed;
|
|
290
|
+
}
|
|
291
|
+
get colorCache() {
|
|
292
|
+
return this._colorCache;
|
|
293
|
+
}
|
|
294
|
+
get contactShadowBlur() {
|
|
295
|
+
return this._environmentGeometryManager.contactShadow.blur;
|
|
296
|
+
}
|
|
297
|
+
set contactShadowBlur(value) {
|
|
298
|
+
this._environmentGeometryManager.contactShadow.blur = value;
|
|
299
|
+
}
|
|
300
|
+
get contactShadowDarkness() {
|
|
301
|
+
return this._environmentGeometryManager.contactShadow.darkness;
|
|
302
|
+
}
|
|
303
|
+
set contactShadowDarkness(value) {
|
|
304
|
+
this._environmentGeometryManager.contactShadow.darkness = value;
|
|
305
|
+
}
|
|
306
|
+
get contactShadowHeight() {
|
|
307
|
+
return this._environmentGeometryManager.contactShadow.height;
|
|
308
|
+
}
|
|
309
|
+
set contactShadowHeight(value) {
|
|
310
|
+
this._environmentGeometryManager.contactShadow.height = value;
|
|
311
|
+
}
|
|
312
|
+
get contactShadowOpacity() {
|
|
313
|
+
return this._environmentGeometryManager.contactShadow.opacity;
|
|
314
|
+
}
|
|
315
|
+
set contactShadowOpacity(value) {
|
|
316
|
+
this._environmentGeometryManager.contactShadow.opacity = value;
|
|
317
|
+
}
|
|
318
|
+
get contactShadowVisibility() {
|
|
319
|
+
return this._environmentGeometryManager.contactShadow.visible;
|
|
320
|
+
}
|
|
321
|
+
set contactShadowVisibility(value) {
|
|
322
|
+
this._environmentGeometryManager.contactShadow.visible = value;
|
|
323
|
+
}
|
|
324
|
+
get continuousRendering() {
|
|
325
|
+
return this._renderingManager.continuousRendering;
|
|
326
|
+
}
|
|
327
|
+
set continuousRendering(value) {
|
|
328
|
+
this._renderingManager.continuousRendering = value;
|
|
329
|
+
}
|
|
330
|
+
get continuousShadowMapUpdate() {
|
|
331
|
+
return this._renderingManager.continuousShadowMapUpdate;
|
|
332
|
+
}
|
|
333
|
+
set continuousShadowMapUpdate(value) {
|
|
334
|
+
this._renderingManager.continuousShadowMapUpdate = value;
|
|
335
|
+
}
|
|
336
|
+
get defaultLineMaterial() {
|
|
337
|
+
return this.materialLoader.defaultLineMaterialData;
|
|
338
|
+
}
|
|
339
|
+
set defaultLineMaterial(value) {
|
|
340
|
+
this.materialLoader.defaultLineMaterialData = value;
|
|
341
|
+
}
|
|
342
|
+
get defaultMaterial() {
|
|
343
|
+
return this.materialLoader.defaultMaterialData;
|
|
344
|
+
}
|
|
345
|
+
set defaultMaterial(value) {
|
|
346
|
+
this.materialLoader.defaultMaterialData = value;
|
|
347
|
+
}
|
|
348
|
+
get defaultMaterialColor() {
|
|
349
|
+
return this.materialLoader.defaultMaterialData.color;
|
|
350
|
+
}
|
|
351
|
+
set defaultMaterialColor(value) {
|
|
352
|
+
this.materialLoader.defaultMaterialData.color = value;
|
|
353
|
+
this.materialLoader.assignDefaultMaterial();
|
|
354
|
+
this.materialLoader.defaultLineMaterialData.color = value;
|
|
355
|
+
this.materialLoader.assignDefaultLineMaterial();
|
|
356
|
+
this.materialLoader.defaultPointMaterialData.color = value;
|
|
357
|
+
this.materialLoader.assignDefaultPointMaterial();
|
|
358
|
+
}
|
|
359
|
+
get defaultPointMaterial() {
|
|
360
|
+
return this.materialLoader.defaultPointMaterialData;
|
|
361
|
+
}
|
|
362
|
+
set defaultPointMaterial(value) {
|
|
363
|
+
this.materialLoader.defaultPointMaterialData = value;
|
|
364
|
+
}
|
|
365
|
+
get domEventEngine() {
|
|
366
|
+
return this._domEventEngine;
|
|
367
|
+
}
|
|
368
|
+
get enableAR() {
|
|
369
|
+
return this._enableAR;
|
|
370
|
+
}
|
|
371
|
+
set enableAR(value) {
|
|
372
|
+
this._enableAR = value;
|
|
373
|
+
}
|
|
374
|
+
get environmentGeometryManager() {
|
|
375
|
+
return this._environmentGeometryManager;
|
|
376
|
+
}
|
|
377
|
+
get environmentMap() {
|
|
378
|
+
return this._environmentMap;
|
|
379
|
+
}
|
|
380
|
+
set environmentMap(value) {
|
|
381
|
+
const previous = this._environmentMap;
|
|
382
|
+
this._environmentMap = value;
|
|
383
|
+
this._environmentMapLoader.load(this.environmentMap).catch((error) => {
|
|
384
|
+
if (error instanceof viewer_shared_services_1.ShapeDiverViewerEnvironmentMapError) {
|
|
385
|
+
this._logger.error(error.message);
|
|
386
|
+
}
|
|
387
|
+
else {
|
|
388
|
+
this._logger.error(`RenderingEngine.environmentMap: Error while loading environment map ${value}: ${error}`);
|
|
389
|
+
}
|
|
390
|
+
this._environmentMap = previous;
|
|
391
|
+
this._environmentMapLoader.load(this.environmentMap);
|
|
392
|
+
});
|
|
393
|
+
}
|
|
394
|
+
get environmentMapAsBackground() {
|
|
395
|
+
return this._environmentMapAsBackground;
|
|
396
|
+
}
|
|
397
|
+
set environmentMapAsBackground(value) {
|
|
398
|
+
this._environmentMapAsBackground = value;
|
|
399
|
+
}
|
|
400
|
+
get environmentMapBlurriness() {
|
|
401
|
+
return this._environmentMapBlurriness;
|
|
402
|
+
}
|
|
403
|
+
set environmentMapBlurriness(value) {
|
|
404
|
+
this._environmentMapBlurriness = value;
|
|
405
|
+
this._sceneTreeManager.scene.backgroundBlurriness =
|
|
406
|
+
this._environmentMapBlurriness;
|
|
407
|
+
}
|
|
408
|
+
get environmentMapForUnlitMaterials() {
|
|
409
|
+
return this._environmentMapForUnlitMaterials;
|
|
410
|
+
}
|
|
411
|
+
set environmentMapForUnlitMaterials(value) {
|
|
412
|
+
this._environmentMapForUnlitMaterials = value;
|
|
413
|
+
this._materialLoader.assignEnvironmentMapForUnlitMaterials(value);
|
|
414
|
+
}
|
|
415
|
+
get environmentMapIntensity() {
|
|
416
|
+
return this._environmentMapIntensity;
|
|
417
|
+
}
|
|
418
|
+
set environmentMapIntensity(value) {
|
|
419
|
+
this._environmentMapIntensity = value;
|
|
420
|
+
this._sceneTreeManager.scene.backgroundIntensity = value;
|
|
421
|
+
this._materialLoader.assignEnvironmentMapIntensity(value);
|
|
422
|
+
(0, ThreeJsDataUtils_1.assignEnvironmentMapForThreeJsData)(this._environmentMapLoader.environmentMap, this._environmentMapLoader.type, this.environmentMapIntensity, this.environmentMapRotation);
|
|
423
|
+
}
|
|
424
|
+
get environmentMapLoader() {
|
|
425
|
+
return this._environmentMapLoader;
|
|
426
|
+
}
|
|
427
|
+
get environmentMapResolution() {
|
|
428
|
+
return this._environmentMapResolution;
|
|
429
|
+
}
|
|
430
|
+
set environmentMapResolution(value) {
|
|
431
|
+
this._environmentMapResolution = value;
|
|
432
|
+
this._environmentMapLoader.load(this.environmentMap);
|
|
433
|
+
}
|
|
434
|
+
get environmentMapRotation() {
|
|
435
|
+
return this._environmentMapRotation;
|
|
436
|
+
}
|
|
437
|
+
set environmentMapRotation(value) {
|
|
438
|
+
this._environmentMapRotation = value;
|
|
439
|
+
this._materialLoader.assignEnvironmentMapRotation(value);
|
|
440
|
+
(0, ThreeJsDataUtils_1.assignEnvironmentMapForThreeJsData)(this._environmentMapLoader.environmentMap, this._environmentMapLoader.type, this.environmentMapIntensity, this.environmentMapRotation);
|
|
441
|
+
}
|
|
442
|
+
get geometryLoader() {
|
|
443
|
+
return this._geometryLoader;
|
|
444
|
+
}
|
|
445
|
+
get gridColor() {
|
|
446
|
+
return this._environmentGeometryManager.grid.color;
|
|
447
|
+
}
|
|
448
|
+
set gridColor(value) {
|
|
449
|
+
this._environmentGeometryManager.grid.color = value;
|
|
450
|
+
}
|
|
451
|
+
get gridVisibility() {
|
|
452
|
+
return this._gridVisibility;
|
|
453
|
+
}
|
|
454
|
+
set gridVisibility(value) {
|
|
455
|
+
this._environmentGeometryManager.grid.visible = value;
|
|
456
|
+
this._gridVisibility = value;
|
|
457
|
+
}
|
|
458
|
+
get groundPlaneColor() {
|
|
459
|
+
var _a;
|
|
460
|
+
return (_a = this._environmentGeometryManager.groundPlane) === null || _a === void 0 ? void 0 : _a.color;
|
|
461
|
+
}
|
|
462
|
+
set groundPlaneColor(value) {
|
|
463
|
+
this._environmentGeometryManager.groundPlane.color = value;
|
|
464
|
+
}
|
|
465
|
+
get groundPlaneShadowColor() {
|
|
466
|
+
return this._environmentGeometryManager.groundPlaneShadow.color;
|
|
467
|
+
}
|
|
468
|
+
set groundPlaneShadowColor(value) {
|
|
469
|
+
this._environmentGeometryManager.groundPlaneShadow.color = value;
|
|
470
|
+
}
|
|
471
|
+
get groundPlaneShadowVisibility() {
|
|
472
|
+
return this._groundPlaneShadowVisibility;
|
|
473
|
+
}
|
|
474
|
+
set groundPlaneShadowVisibility(value) {
|
|
475
|
+
this._environmentGeometryManager.groundPlaneShadow.visible = value;
|
|
476
|
+
this._groundPlaneShadowVisibility = value;
|
|
477
|
+
}
|
|
478
|
+
get groundPlaneVisibility() {
|
|
479
|
+
return this._groundPlaneVisibility;
|
|
480
|
+
}
|
|
481
|
+
set groundPlaneVisibility(value) {
|
|
482
|
+
this._environmentGeometryManager.groundPlane.visible = value;
|
|
483
|
+
this._groundPlaneVisibility = value;
|
|
484
|
+
}
|
|
485
|
+
get htmlElementAnchorLoader() {
|
|
486
|
+
return this._htmlElementAnchorLoader;
|
|
487
|
+
}
|
|
488
|
+
get id() {
|
|
489
|
+
return this._id;
|
|
490
|
+
}
|
|
491
|
+
get lightEngine() {
|
|
492
|
+
return this._lightEngine;
|
|
493
|
+
}
|
|
494
|
+
get lightLoader() {
|
|
495
|
+
return this._lightLoader;
|
|
496
|
+
}
|
|
497
|
+
get lightScene() {
|
|
498
|
+
return this.lightEngine.lightScene
|
|
499
|
+
? this.lightEngine.lightScene.id
|
|
500
|
+
: "";
|
|
501
|
+
}
|
|
502
|
+
get lightSceneId() {
|
|
503
|
+
return this.lightEngine.lightScene
|
|
504
|
+
? this.lightEngine.lightScene.id
|
|
505
|
+
: "";
|
|
506
|
+
}
|
|
507
|
+
get lights() {
|
|
508
|
+
return this._lights;
|
|
509
|
+
}
|
|
510
|
+
set lights(value) {
|
|
511
|
+
this._lights = value;
|
|
512
|
+
}
|
|
513
|
+
get loadDefaultCameras() {
|
|
514
|
+
return this._cameraEngine.loadDefaultCameras;
|
|
515
|
+
}
|
|
516
|
+
set loadDefaultCameras(value) {
|
|
517
|
+
this._cameraEngine.loadDefaultCameras = value;
|
|
518
|
+
}
|
|
519
|
+
get logoDivElement() {
|
|
520
|
+
return this._logoDivElement;
|
|
521
|
+
}
|
|
522
|
+
get materialLoader() {
|
|
523
|
+
return this._materialLoader;
|
|
524
|
+
}
|
|
525
|
+
get materialOverrideType() {
|
|
526
|
+
return this.materialLoader.materialOverrideType;
|
|
527
|
+
}
|
|
528
|
+
set materialOverrideType(value) {
|
|
529
|
+
this.materialLoader.materialOverrideType = value;
|
|
530
|
+
}
|
|
531
|
+
get maximumRenderingSize() {
|
|
532
|
+
return this._maximumRenderingSize;
|
|
533
|
+
}
|
|
534
|
+
set maximumRenderingSize(value) {
|
|
535
|
+
this._maximumRenderingSize = value;
|
|
536
|
+
}
|
|
537
|
+
get minimalRendering() {
|
|
538
|
+
return this.renderingManager.minimalRendering;
|
|
539
|
+
}
|
|
540
|
+
get outputEncoding() {
|
|
541
|
+
switch (this._renderer.outputColorSpace) {
|
|
542
|
+
case THREE.SRGBColorSpace:
|
|
543
|
+
return viewer_shared_types_1.TEXTURE_ENCODING.SRGB;
|
|
544
|
+
case THREE.LinearSRGBColorSpace:
|
|
545
|
+
default:
|
|
546
|
+
return viewer_shared_types_1.TEXTURE_ENCODING.LINEAR;
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
set outputEncoding(value) {
|
|
550
|
+
switch (value) {
|
|
551
|
+
case viewer_shared_types_1.TEXTURE_ENCODING.SRGB:
|
|
552
|
+
this._renderer.outputColorSpace = THREE.SRGBColorSpace;
|
|
553
|
+
break;
|
|
554
|
+
case viewer_shared_types_1.TEXTURE_ENCODING.LINEAR:
|
|
555
|
+
default:
|
|
556
|
+
this._renderer.outputColorSpace = THREE.LinearSRGBColorSpace;
|
|
557
|
+
break;
|
|
558
|
+
}
|
|
559
|
+
}
|
|
560
|
+
get pause() {
|
|
561
|
+
return this._pause;
|
|
562
|
+
}
|
|
563
|
+
set pause(value) {
|
|
564
|
+
this._pause = value;
|
|
565
|
+
}
|
|
566
|
+
get physicallyCorrectLights() {
|
|
567
|
+
return !this._useLegacyLights;
|
|
568
|
+
}
|
|
569
|
+
set physicallyCorrectLights(value) {
|
|
570
|
+
this._useLegacyLights = !value;
|
|
571
|
+
}
|
|
572
|
+
get pointSize() {
|
|
573
|
+
return this.materialLoader.defaultPointMaterialData.size || 1;
|
|
574
|
+
}
|
|
575
|
+
set pointSize(value) {
|
|
576
|
+
this.materialLoader.defaultPointMaterialData.size = value;
|
|
577
|
+
this.materialLoader.assignDefaultPointMaterial();
|
|
578
|
+
}
|
|
579
|
+
get postProcessingManager() {
|
|
580
|
+
return this._postProcessingManager;
|
|
581
|
+
}
|
|
582
|
+
get postRenderingCallback() {
|
|
583
|
+
return this._postRenderingCallback;
|
|
584
|
+
}
|
|
585
|
+
set postRenderingCallback(value) {
|
|
586
|
+
this._postRenderingCallback = value;
|
|
587
|
+
}
|
|
588
|
+
get preRenderingCallback() {
|
|
589
|
+
return this._preRenderingCallback;
|
|
590
|
+
}
|
|
591
|
+
set preRenderingCallback(value) {
|
|
592
|
+
this._preRenderingCallback = value;
|
|
593
|
+
}
|
|
594
|
+
get renderer() {
|
|
595
|
+
return this._renderer;
|
|
596
|
+
}
|
|
597
|
+
get renderingManager() {
|
|
598
|
+
return this._renderingManager;
|
|
599
|
+
}
|
|
600
|
+
get scene() {
|
|
601
|
+
return this._sceneTreeManager.scene;
|
|
602
|
+
}
|
|
603
|
+
get sceneTracingManager() {
|
|
604
|
+
return this._sceneTracingManager;
|
|
605
|
+
}
|
|
606
|
+
get sceneTreeManager() {
|
|
607
|
+
return this._sceneTreeManager;
|
|
608
|
+
}
|
|
609
|
+
get sessionSettingsId() {
|
|
610
|
+
return this._settingsManager.sessionSettingsId;
|
|
611
|
+
}
|
|
612
|
+
get sessionSettingsMode() {
|
|
613
|
+
return this._settingsManager.sessionSettingsMode;
|
|
614
|
+
}
|
|
615
|
+
get settingsEngine() {
|
|
616
|
+
return this._settingsManager.settingsEngine;
|
|
617
|
+
}
|
|
618
|
+
get shadows() {
|
|
619
|
+
return this._shadows;
|
|
620
|
+
}
|
|
621
|
+
set shadows(value) {
|
|
622
|
+
this._shadows = value;
|
|
623
|
+
}
|
|
624
|
+
get show() {
|
|
625
|
+
return this._show;
|
|
626
|
+
}
|
|
627
|
+
set show(value) {
|
|
628
|
+
this._show = value;
|
|
629
|
+
}
|
|
630
|
+
get showStatistics() {
|
|
631
|
+
return this._showStatistics;
|
|
632
|
+
}
|
|
633
|
+
set showStatistics(value) {
|
|
634
|
+
this._showStatistics = value;
|
|
635
|
+
}
|
|
636
|
+
get softShadows() {
|
|
637
|
+
return this._softShadows;
|
|
638
|
+
}
|
|
639
|
+
set softShadows(value) {
|
|
640
|
+
this._softShadows = value;
|
|
641
|
+
}
|
|
642
|
+
get spinnerDivElement() {
|
|
643
|
+
return this._spinnerDivElement;
|
|
644
|
+
}
|
|
645
|
+
get suspendSceneUpdates() {
|
|
646
|
+
return this._sceneTreeManager.suspendSceneUpdates;
|
|
647
|
+
}
|
|
648
|
+
set suspendSceneUpdates(value) {
|
|
649
|
+
this._sceneTreeManager.suspendSceneUpdates = value;
|
|
650
|
+
}
|
|
651
|
+
get textureEncoding() {
|
|
652
|
+
switch (this.materialLoader.textureEncoding) {
|
|
653
|
+
case THREE.SRGBColorSpace:
|
|
654
|
+
return viewer_shared_types_1.TEXTURE_ENCODING.SRGB;
|
|
655
|
+
case THREE.LinearSRGBColorSpace:
|
|
656
|
+
default:
|
|
657
|
+
return viewer_shared_types_1.TEXTURE_ENCODING.LINEAR;
|
|
658
|
+
}
|
|
659
|
+
}
|
|
660
|
+
set textureEncoding(value) {
|
|
661
|
+
switch (value) {
|
|
662
|
+
case viewer_shared_types_1.TEXTURE_ENCODING.SRGB:
|
|
663
|
+
this.environmentMapLoader.textureEncoding =
|
|
664
|
+
THREE.SRGBColorSpace;
|
|
665
|
+
this.materialLoader.textureEncoding = THREE.SRGBColorSpace;
|
|
666
|
+
break;
|
|
667
|
+
case viewer_shared_types_1.TEXTURE_ENCODING.LINEAR:
|
|
668
|
+
default:
|
|
669
|
+
this.environmentMapLoader.textureEncoding =
|
|
670
|
+
THREE.LinearSRGBColorSpace;
|
|
671
|
+
this.materialLoader.textureEncoding =
|
|
672
|
+
THREE.LinearSRGBColorSpace;
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
get toneMapping() {
|
|
676
|
+
return this._toneMapping;
|
|
677
|
+
}
|
|
678
|
+
set toneMapping(value) {
|
|
679
|
+
this._toneMapping = value;
|
|
680
|
+
switch (value) {
|
|
681
|
+
case viewer_shared_types_1.TONE_MAPPING.LINEAR:
|
|
682
|
+
this._renderer.toneMapping = THREE.LinearToneMapping;
|
|
683
|
+
break;
|
|
684
|
+
case viewer_shared_types_1.TONE_MAPPING.REINHARD:
|
|
685
|
+
this._renderer.toneMapping = THREE.ReinhardToneMapping;
|
|
686
|
+
break;
|
|
687
|
+
case viewer_shared_types_1.TONE_MAPPING.CINEON:
|
|
688
|
+
this._renderer.toneMapping = THREE.CineonToneMapping;
|
|
689
|
+
break;
|
|
690
|
+
case viewer_shared_types_1.TONE_MAPPING.ACES_FILMIC:
|
|
691
|
+
this._renderer.toneMapping = THREE.ACESFilmicToneMapping;
|
|
692
|
+
break;
|
|
693
|
+
case viewer_shared_types_1.TONE_MAPPING.NONE:
|
|
694
|
+
default:
|
|
695
|
+
this._renderer.toneMapping = THREE.NoToneMapping;
|
|
696
|
+
}
|
|
697
|
+
this.materialLoader.updateMaterials();
|
|
698
|
+
this.postProcessingManager.changeEffectPass();
|
|
699
|
+
}
|
|
700
|
+
get toneMappingExposure() {
|
|
701
|
+
return this._renderer.toneMappingExposure;
|
|
702
|
+
}
|
|
703
|
+
set toneMappingExposure(value) {
|
|
704
|
+
this._renderer.toneMappingExposure = value;
|
|
705
|
+
}
|
|
706
|
+
get type() {
|
|
707
|
+
return this._type;
|
|
708
|
+
}
|
|
709
|
+
set type(value) {
|
|
710
|
+
this._type = value;
|
|
711
|
+
}
|
|
712
|
+
get usingSwiftShader() {
|
|
713
|
+
return this.renderingManager.usingSwiftShader;
|
|
714
|
+
}
|
|
715
|
+
get viewportCreationDefinition() {
|
|
716
|
+
return this._viewportCreationDefinition;
|
|
717
|
+
}
|
|
718
|
+
get visibility() {
|
|
719
|
+
return this._visibility;
|
|
720
|
+
}
|
|
721
|
+
get visibilitySessionIds() {
|
|
722
|
+
return this._visibilitySessionIds;
|
|
723
|
+
}
|
|
724
|
+
get visualizeAttributes() {
|
|
725
|
+
return this._visualizeAttributes;
|
|
726
|
+
}
|
|
727
|
+
set visualizeAttributes(value) {
|
|
728
|
+
this._visualizeAttributes = value;
|
|
729
|
+
}
|
|
730
|
+
addFlag(flag, inputToken) {
|
|
731
|
+
return this._flagManager.addFlag(flag, inputToken);
|
|
732
|
+
}
|
|
733
|
+
applySettings() {
|
|
734
|
+
return __awaiter(this, arguments, void 0, function* (sections = {
|
|
735
|
+
ar: true,
|
|
736
|
+
scene: true,
|
|
737
|
+
camera: true,
|
|
738
|
+
light: true,
|
|
739
|
+
environment: true,
|
|
740
|
+
general: true,
|
|
741
|
+
postprocessing: true,
|
|
742
|
+
}, settingsEngine, updateViewport = true) {
|
|
743
|
+
return this._settingsManager.applySettings(sections, settingsEngine, updateViewport);
|
|
744
|
+
});
|
|
745
|
+
}
|
|
746
|
+
assignSettingsEngine(settingsEngine) {
|
|
747
|
+
this._settingsManager.assignSettingsEngine(settingsEngine);
|
|
748
|
+
}
|
|
749
|
+
close() {
|
|
750
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
751
|
+
var _a, _b, _c;
|
|
752
|
+
this._closed = true;
|
|
753
|
+
this._lightEngine.close();
|
|
754
|
+
this._cameraEngine.close();
|
|
755
|
+
this._renderer.clear(true, true, true);
|
|
756
|
+
this._renderer.dispose();
|
|
757
|
+
this._domEventEngine.removeAllDomEventListener();
|
|
758
|
+
this._domEventEngine.dispose();
|
|
759
|
+
(_a = this._canvas.canvasElement.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(this._logoDivElement);
|
|
760
|
+
(_b = this._canvas.canvasElement.parentElement) === null || _b === void 0 ? void 0 : _b.removeChild(this._spinnerDivElement);
|
|
761
|
+
(_c = this._canvas.canvasElement.parentNode) === null || _c === void 0 ? void 0 : _c.removeChild(this._htmlElementAnchorLoader.parentDiv);
|
|
762
|
+
this._canvas.reset();
|
|
763
|
+
});
|
|
764
|
+
}
|
|
765
|
+
continueRendering() {
|
|
766
|
+
this._pause = false;
|
|
767
|
+
}
|
|
768
|
+
convert3Dto2D(p) {
|
|
769
|
+
return this.sceneTracingManager.convert3Dto2D(p);
|
|
770
|
+
}
|
|
771
|
+
createSDTFOverview(node) {
|
|
772
|
+
return (0, SDTFUtils_1.createSDTFOverview)(node);
|
|
773
|
+
}
|
|
774
|
+
createThreeJsColor(color) {
|
|
775
|
+
const sdColor = new SDColor_1.SDColor(this._converter.toThreeJsColorInput(color), color);
|
|
776
|
+
sdColor.colorCorrection(this.automaticColorAdjustment);
|
|
777
|
+
this._colorCache.push(sdColor);
|
|
778
|
+
return sdColor;
|
|
779
|
+
}
|
|
780
|
+
displayErrorMessage(message) {
|
|
781
|
+
for (let i = 0; i < this.logoDivElement.children.length; i++)
|
|
782
|
+
this.logoDivElement.children[i].style.visibility =
|
|
783
|
+
"hidden";
|
|
784
|
+
const d = document.createElement("div");
|
|
785
|
+
d.classList.add("sdv-error-message-container");
|
|
786
|
+
this.logoDivElement.appendChild(d);
|
|
787
|
+
const p = document.createElement("p");
|
|
788
|
+
p.textContent = message;
|
|
789
|
+
p.classList.add("sdv-error-message");
|
|
790
|
+
p.style.color = this.logoDivElement.style.backgroundColor;
|
|
791
|
+
d.appendChild(p);
|
|
792
|
+
}
|
|
793
|
+
evaluateFlagState() {
|
|
794
|
+
this._flagManager.evaluateFlagState();
|
|
795
|
+
}
|
|
796
|
+
getEnvironmentMapImageUrl() {
|
|
797
|
+
return this._environmentMapLoader.getEnvironmentMapImageUrl(this.environmentMap);
|
|
798
|
+
}
|
|
799
|
+
getScreenshot(type, encoderOptions) {
|
|
800
|
+
return this._renderingManager.getScreenshot(type, encoderOptions);
|
|
801
|
+
}
|
|
802
|
+
getScreenshotAdvanced(type, encoderOptions, resolution, camera) {
|
|
803
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
804
|
+
var _a, _b, _c, _d;
|
|
805
|
+
const busyModeFlag = this.addFlag(viewer_shared_types_1.FLAG_TYPE.BUSY_MODE);
|
|
806
|
+
// if a resolution is provided, we temporarily disable the rendering of the viewer
|
|
807
|
+
// so that we can take a screenshot with the correct resolution
|
|
808
|
+
let originalAutomaticResizing = this.automaticResizing;
|
|
809
|
+
let originalMaximumRenderingSize = JSON.stringify(this.maximumRenderingSize);
|
|
810
|
+
let originalBeautyRenderDelay = this.beautyRenderDelay;
|
|
811
|
+
this.beautyRenderDelay = 0; // avoid waiting for beauty render
|
|
812
|
+
// if the resolution or camera is different, don't show the current viewport, but
|
|
813
|
+
// create a screenshot and show that instead
|
|
814
|
+
const current = this._renderingManager.getScreenshot();
|
|
815
|
+
const img = new Image();
|
|
816
|
+
img.src = current;
|
|
817
|
+
img.style.position = "absolute";
|
|
818
|
+
img.style.top = "0%";
|
|
819
|
+
img.style.left = "0%";
|
|
820
|
+
img.style.width = "100%";
|
|
821
|
+
img.style.height = "100%";
|
|
822
|
+
this.canvas.parentElement.appendChild(img);
|
|
823
|
+
this.canvas.style.visibility = "hidden";
|
|
824
|
+
// change the resolution if requested
|
|
825
|
+
if (resolution) {
|
|
826
|
+
this.automaticResizing = false;
|
|
827
|
+
this.maximumRenderingSize = {
|
|
828
|
+
width: resolution.width,
|
|
829
|
+
height: resolution.height,
|
|
830
|
+
};
|
|
831
|
+
this.resize(resolution.width, resolution.height);
|
|
832
|
+
}
|
|
833
|
+
// if the camera is changed, we need to restore it afterwards
|
|
834
|
+
let originalCameraId;
|
|
835
|
+
// if the camera properties are changed, we need to restore them afterwards
|
|
836
|
+
let originalCameraProperties = undefined;
|
|
837
|
+
// new camera
|
|
838
|
+
let newCamera;
|
|
839
|
+
// change the camera if requested
|
|
840
|
+
if (camera) {
|
|
841
|
+
if (camera.name) {
|
|
842
|
+
if (((_a = this._cameraEngine.camera) === null || _a === void 0 ? void 0 : _a.name) === camera.name) {
|
|
843
|
+
// nothing to do, already assigned
|
|
844
|
+
}
|
|
845
|
+
else if (this._cameraEngine.cameras[camera.name]) {
|
|
846
|
+
const specifiedCamera = this._cameraEngine.cameras[camera.name];
|
|
847
|
+
originalCameraId = (_b = this._cameraEngine.camera) === null || _b === void 0 ? void 0 : _b.id;
|
|
848
|
+
this._cameraEngine.assignCamera(specifiedCamera.id);
|
|
849
|
+
}
|
|
850
|
+
originalCameraProperties = {
|
|
851
|
+
id: this._cameraEngine.camera.id,
|
|
852
|
+
properties: {},
|
|
853
|
+
};
|
|
854
|
+
Object.keys(this._cameraEngine.camera).forEach((key) => {
|
|
855
|
+
if (key !== "name") {
|
|
856
|
+
originalCameraProperties.properties[key] = this._cameraEngine.camera[key];
|
|
857
|
+
if (camera[key] !== undefined) {
|
|
858
|
+
// @ts-ignore
|
|
859
|
+
this._cameraEngine.camera[key] = camera[key];
|
|
860
|
+
}
|
|
861
|
+
}
|
|
862
|
+
});
|
|
863
|
+
}
|
|
864
|
+
else if (camera.type) {
|
|
865
|
+
// create a new camera
|
|
866
|
+
newCamera = this._cameraEngine.createCamera(camera.type);
|
|
867
|
+
originalCameraId = (_c = this._cameraEngine.camera) === null || _c === void 0 ? void 0 : _c.id;
|
|
868
|
+
this._cameraEngine.assignCamera(newCamera.id);
|
|
869
|
+
// assign the properties
|
|
870
|
+
Object.keys(camera).forEach((key) => {
|
|
871
|
+
if (key !== "type") {
|
|
872
|
+
// @ts-ignore
|
|
873
|
+
newCamera[key] = camera[key];
|
|
874
|
+
}
|
|
875
|
+
});
|
|
876
|
+
}
|
|
877
|
+
}
|
|
878
|
+
this.renderingManager.render();
|
|
879
|
+
yield new Promise((resolve) => {
|
|
880
|
+
const token = this._eventEngine.addListener(viewer_shared_services_1.EVENTTYPE_RENDERING.BEAUTY_RENDERING_FINISHED, () => {
|
|
881
|
+
resolve();
|
|
882
|
+
this._eventEngine.removeListener(token);
|
|
883
|
+
});
|
|
884
|
+
});
|
|
885
|
+
const screenshot = this._renderingManager.getScreenshot(type, encoderOptions);
|
|
886
|
+
// sometimes the screenshot is not ready immediately (even though it should be)
|
|
887
|
+
yield new Promise((resolve) => setTimeout(resolve, 0));
|
|
888
|
+
if (resolution) {
|
|
889
|
+
// restore original settings
|
|
890
|
+
this.automaticResizing = originalAutomaticResizing;
|
|
891
|
+
this.maximumRenderingSize = JSON.parse(originalMaximumRenderingSize);
|
|
892
|
+
}
|
|
893
|
+
if (camera) {
|
|
894
|
+
if (originalCameraId) {
|
|
895
|
+
this._cameraEngine.assignCamera(originalCameraId);
|
|
896
|
+
}
|
|
897
|
+
if (originalCameraProperties) {
|
|
898
|
+
if (((_d = this._cameraEngine.camera) === null || _d === void 0 ? void 0 : _d.id) ===
|
|
899
|
+
originalCameraProperties.id) {
|
|
900
|
+
Object.keys(originalCameraProperties.properties).forEach((key) => {
|
|
901
|
+
// @ts-ignore
|
|
902
|
+
this._cameraEngine.camera[key] =
|
|
903
|
+
originalCameraProperties.properties[key];
|
|
904
|
+
});
|
|
905
|
+
}
|
|
906
|
+
}
|
|
907
|
+
if (newCamera) {
|
|
908
|
+
this._cameraEngine.removeCamera(newCamera.id);
|
|
909
|
+
}
|
|
910
|
+
}
|
|
911
|
+
// clean up
|
|
912
|
+
this.renderingManager.render();
|
|
913
|
+
this.beautyRenderDelay = originalBeautyRenderDelay;
|
|
914
|
+
this.canvas.style.visibility = "visible";
|
|
915
|
+
this.canvas.parentElement.removeChild(img);
|
|
916
|
+
this.removeFlag(busyModeFlag);
|
|
917
|
+
return screenshot;
|
|
918
|
+
});
|
|
919
|
+
}
|
|
920
|
+
isMobileDeviceWithoutBrowserARSupport() {
|
|
921
|
+
return this._arManager.isMobileDeviceWithoutBrowserARSupport();
|
|
922
|
+
}
|
|
923
|
+
pauseRendering() {
|
|
924
|
+
this._pause = true;
|
|
925
|
+
}
|
|
926
|
+
pointerEventToRay(event) {
|
|
927
|
+
return this._sceneTracingManager.pointerEventToRay(event);
|
|
928
|
+
}
|
|
929
|
+
raytraceScene(origin, direction, filterCriteria) {
|
|
930
|
+
return this._sceneTracingManager.raytraceScene(origin, direction, filterCriteria);
|
|
931
|
+
}
|
|
932
|
+
removeFlag(token) {
|
|
933
|
+
return this._flagManager.removeFlag(token);
|
|
934
|
+
}
|
|
935
|
+
reset() {
|
|
936
|
+
var _a, _b, _c, _d;
|
|
937
|
+
(_a = this._stateEngine.viewportEngines[this.id]) === null || _a === void 0 ? void 0 : _a.settingsAssigned.reset();
|
|
938
|
+
(_b = this._stateEngine.viewportEngines[this.id]) === null || _b === void 0 ? void 0 : _b.boundingBoxCreated.reset();
|
|
939
|
+
(_c = this._stateEngine.viewportEngines[this.id]) === null || _c === void 0 ? void 0 : _c.environmentMapLoaded.reset();
|
|
940
|
+
(_d = this._stateEngine.viewportEngines[this.id]) === null || _d === void 0 ? void 0 : _d.boundingBoxCreated.then(() => {
|
|
941
|
+
this._environmentGeometryManager.changeSceneExtents(this._sceneTreeManager.boundingBox);
|
|
942
|
+
});
|
|
943
|
+
}
|
|
944
|
+
resize(width, height) {
|
|
945
|
+
this._renderingManager.resize(width, height);
|
|
946
|
+
this._renderingManager.render();
|
|
947
|
+
}
|
|
948
|
+
saveSettings(settingsEngine) {
|
|
949
|
+
this._settingsManager.saveSettings(settingsEngine);
|
|
950
|
+
}
|
|
951
|
+
start() {
|
|
952
|
+
var _a;
|
|
953
|
+
this._renderingManager.start();
|
|
954
|
+
(_a = this._stateEngine.viewportEngines[this.id]) === null || _a === void 0 ? void 0 : _a.boundingBoxCreated.then(() => {
|
|
955
|
+
this._environmentGeometryManager.changeSceneExtents(this._sceneTreeManager.boundingBox);
|
|
956
|
+
});
|
|
957
|
+
if (this._settingsManager.sessionSettingsMode ===
|
|
958
|
+
viewer_shared_services_1.SESSION_SETTINGS_MODE.NONE) {
|
|
959
|
+
this.environmentMap = "photo_studio";
|
|
960
|
+
}
|
|
961
|
+
}
|
|
962
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
963
|
+
update(id) {
|
|
964
|
+
if (this.closed)
|
|
965
|
+
return;
|
|
966
|
+
if (this.sceneTreeManager.suspendSceneUpdates === true)
|
|
967
|
+
return;
|
|
968
|
+
this._sceneTreeManager.updateSceneTree(this._tree.root);
|
|
969
|
+
this._renderingManager.updateShadowMap();
|
|
970
|
+
this._animationEngine.updateAnimationData();
|
|
971
|
+
this._renderingManager.render();
|
|
972
|
+
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE_VIEWPORT.VIEWPORT_UPDATED, {
|
|
973
|
+
viewportId: this.id,
|
|
974
|
+
});
|
|
975
|
+
}
|
|
976
|
+
updateEnvironmentGeometry() {
|
|
977
|
+
this._environmentGeometryManager.updateEnvironmentGeometryPosition();
|
|
978
|
+
}
|
|
979
|
+
viewInAR(file, options) {
|
|
980
|
+
return this._arManager.viewInAR(file, options);
|
|
981
|
+
}
|
|
982
|
+
viewableInAR() {
|
|
983
|
+
return this._arManager.viewableInAR();
|
|
984
|
+
}
|
|
985
|
+
}
|
|
986
|
+
exports.RenderingEngine = RenderingEngine;
|
|
987
|
+
_RenderingEngine_defaultLogo = new WeakMap(), _RenderingEngine_defaultSpinner = new WeakMap();
|
|
978
988
|
//# sourceMappingURL=RenderingEngine.js.map
|