@shapediver/viewer.rendering-engine.rendering-engine-threejs 3.16.8 → 3.16.10
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
|
@@ -1,115 +1,115 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EnvironmentGeometryManager = void 0;
|
|
4
|
-
const viewer_shared_math_1 = require("@shapediver/viewer.shared.math");
|
|
5
|
-
const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
|
|
6
|
-
const gl_matrix_1 = require("gl-matrix");
|
|
7
|
-
const SDObject_1 = require("../objects/SDObject");
|
|
8
|
-
const ContactShadow_1 = require("./environmentGeometry/ContactShadow");
|
|
9
|
-
const Grid_1 = require("./environmentGeometry/Grid");
|
|
10
|
-
const GroundPlane_1 = require("./environmentGeometry/GroundPlane");
|
|
11
|
-
const GroundPlaneShadow_1 = require("./environmentGeometry/GroundPlaneShadow");
|
|
12
|
-
class EnvironmentGeometryManager {
|
|
13
|
-
// #endregion Properties (9)
|
|
14
|
-
// #region Constructors (1)
|
|
15
|
-
constructor(_renderingEngine) {
|
|
16
|
-
this._renderingEngine = _renderingEngine;
|
|
17
|
-
// #region Properties (9)
|
|
18
|
-
this._converter = viewer_shared_services_1.Converter.instance;
|
|
19
|
-
this._eventEngine = viewer_shared_services_1.EventEngine.instance;
|
|
20
|
-
this._initialized = false;
|
|
21
|
-
this._eventEngine.addListener(viewer_shared_services_1.EVENTTYPE.SCENE.SCENE_BOUNDING_BOX_CHANGE, () => {
|
|
22
|
-
this.updateEnvironmentGeometryPosition();
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
// #endregion Constructors (1)
|
|
26
|
-
// #region Public Getters And Setters (5)
|
|
27
|
-
get contactShadow() {
|
|
28
|
-
return this._contactShadow;
|
|
29
|
-
}
|
|
30
|
-
get grid() {
|
|
31
|
-
return this._grid;
|
|
32
|
-
}
|
|
33
|
-
get groundPlane() {
|
|
34
|
-
return this._groundPlane;
|
|
35
|
-
}
|
|
36
|
-
get groundPlaneShadow() {
|
|
37
|
-
return this._groundPlaneShadow;
|
|
38
|
-
}
|
|
39
|
-
// #endregion Public Getters And Setters (5)
|
|
40
|
-
// #region Public Methods (3)
|
|
41
|
-
changeSceneExtents(bb) {
|
|
42
|
-
var _a, _b, _c, _d;
|
|
43
|
-
if ((bb.min[0] === 0 &&
|
|
44
|
-
bb.min[1] === 0 &&
|
|
45
|
-
bb.min[2] === 0 &&
|
|
46
|
-
bb.max[0] === 0 &&
|
|
47
|
-
bb.max[1] === 0 &&
|
|
48
|
-
bb.max[2] === 0) ||
|
|
49
|
-
bb.isEmpty())
|
|
50
|
-
return;
|
|
51
|
-
this._initialized = true;
|
|
52
|
-
const sceneExtents = gl_matrix_1.vec3.distance(bb.min, bb.max);
|
|
53
|
-
const { divisions, gridExtents } = this.evaluateGridMeasurements(sceneExtents);
|
|
54
|
-
const bs = bb.boundingSphere;
|
|
55
|
-
const position = gl_matrix_1.vec3.fromValues(bs.center[0], bs.center[1], bb.min[2]);
|
|
56
|
-
const eps = bb.boundingSphere.radius * 0.001;
|
|
57
|
-
(_a = this._grid) === null || _a === void 0 ? void 0 : _a.changeSceneExtents(gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), position, gl_matrix_1.vec3.fromValues(0, 0, eps)), divisions, gridExtents);
|
|
58
|
-
(_b = this._groundPlaneShadow) === null || _b === void 0 ? void 0 : _b.changeSceneExtents(gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), position, gl_matrix_1.vec3.fromValues(0, 0, eps * 3)), divisions, gridExtents);
|
|
59
|
-
(_c = this._contactShadow) === null || _c === void 0 ? void 0 : _c.changeSceneExtents(gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), position, gl_matrix_1.vec3.fromValues(0, 0, eps * 2)), divisions, gridExtents);
|
|
60
|
-
(_d = this._groundPlane) === null || _d === void 0 ? void 0 : _d.changeSceneExtents(gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), position, gl_matrix_1.vec3.fromValues(0, 0, eps * 4)), divisions, gridExtents);
|
|
61
|
-
}
|
|
62
|
-
init() {
|
|
63
|
-
this._environmentGeometryObject = new SDObject_1.SDObject("environmentGeometry", "");
|
|
64
|
-
this._renderingEngine.sceneTreeManager.scene.add(this._environmentGeometryObject);
|
|
65
|
-
this._contactShadow = new ContactShadow_1.ContactShadow(this._renderingEngine, this._environmentGeometryObject);
|
|
66
|
-
this._grid = new Grid_1.Grid(this._renderingEngine, this._environmentGeometryObject);
|
|
67
|
-
this._groundPlaneShadow = new GroundPlaneShadow_1.GroundPlaneShadow(this._renderingEngine, this._environmentGeometryObject);
|
|
68
|
-
this._groundPlane = new GroundPlane_1.GroundPlane(this._renderingEngine, this._environmentGeometryObject);
|
|
69
|
-
}
|
|
70
|
-
updateEnvironmentGeometryPosition() {
|
|
71
|
-
var _a, _b, _c, _d;
|
|
72
|
-
const bb = new viewer_shared_math_1.Box(this._renderingEngine.sceneTreeManager.boundingBox.min, this._renderingEngine.sceneTreeManager.boundingBox.max);
|
|
73
|
-
if ((bb.min[0] === 0 &&
|
|
74
|
-
bb.min[1] === 0 &&
|
|
75
|
-
bb.min[2] === 0 &&
|
|
76
|
-
bb.max[0] === 0 &&
|
|
77
|
-
bb.max[1] === 0 &&
|
|
78
|
-
bb.max[2] === 0) ||
|
|
79
|
-
bb.isEmpty())
|
|
80
|
-
return;
|
|
81
|
-
if (!this._initialized) {
|
|
82
|
-
this.changeSceneExtents(bb);
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
const bs = bb.boundingSphere;
|
|
86
|
-
const eps = bb.boundingSphere.radius * 0.001;
|
|
87
|
-
const sceneExtents = gl_matrix_1.vec3.distance(bb.min, bb.max);
|
|
88
|
-
const { divisions, gridExtents } = this.evaluateGridMeasurements(sceneExtents);
|
|
89
|
-
// only shadow plane needs to be updated
|
|
90
|
-
const position = gl_matrix_1.vec3.fromValues(bs.center[0], bs.center[1], bb.min[2]);
|
|
91
|
-
(_a = this._grid) === null || _a === void 0 ? void 0 : _a.updatePosition(gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), position, gl_matrix_1.vec3.fromValues(0, 0, eps)));
|
|
92
|
-
(_b = this._contactShadow) === null || _b === void 0 ? void 0 : _b.changeSceneExtents(gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), position, gl_matrix_1.vec3.fromValues(0, 0, eps * 3)), divisions, gridExtents);
|
|
93
|
-
(_c = this._groundPlaneShadow) === null || _c === void 0 ? void 0 : _c.changeSceneExtents(gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), position, gl_matrix_1.vec3.fromValues(0, 0, eps * 2)), divisions, gridExtents);
|
|
94
|
-
(_d = this._groundPlane) === null || _d === void 0 ? void 0 : _d.updatePosition(gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), position, gl_matrix_1.vec3.fromValues(0, 0, eps * 4)));
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
// #endregion Public Methods (3)
|
|
98
|
-
// #region Private Methods (1)
|
|
99
|
-
/**
|
|
100
|
-
* Creates the grid extents and divisions with the specified scene extents.
|
|
101
|
-
*
|
|
102
|
-
* https://shapediver.atlassian.net/browse/SS-2961 evaluate this magic.
|
|
103
|
-
*/
|
|
104
|
-
evaluateGridMeasurements(sceneExtents) {
|
|
105
|
-
if (sceneExtents === 0)
|
|
106
|
-
return { divisions: 0.1, gridExtents: 1.0 };
|
|
107
|
-
const exponent = Math.floor(Math.log10(sceneExtents));
|
|
108
|
-
const temp = Math.pow(10, exponent);
|
|
109
|
-
const gridExtents = Math.ceil(sceneExtents / temp) * temp;
|
|
110
|
-
const divisions = gridExtents / (temp / 10);
|
|
111
|
-
return { divisions, gridExtents };
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
exports.EnvironmentGeometryManager = EnvironmentGeometryManager;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EnvironmentGeometryManager = void 0;
|
|
4
|
+
const viewer_shared_math_1 = require("@shapediver/viewer.shared.math");
|
|
5
|
+
const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
|
|
6
|
+
const gl_matrix_1 = require("gl-matrix");
|
|
7
|
+
const SDObject_1 = require("../objects/SDObject");
|
|
8
|
+
const ContactShadow_1 = require("./environmentGeometry/ContactShadow");
|
|
9
|
+
const Grid_1 = require("./environmentGeometry/Grid");
|
|
10
|
+
const GroundPlane_1 = require("./environmentGeometry/GroundPlane");
|
|
11
|
+
const GroundPlaneShadow_1 = require("./environmentGeometry/GroundPlaneShadow");
|
|
12
|
+
class EnvironmentGeometryManager {
|
|
13
|
+
// #endregion Properties (9)
|
|
14
|
+
// #region Constructors (1)
|
|
15
|
+
constructor(_renderingEngine) {
|
|
16
|
+
this._renderingEngine = _renderingEngine;
|
|
17
|
+
// #region Properties (9)
|
|
18
|
+
this._converter = viewer_shared_services_1.Converter.instance;
|
|
19
|
+
this._eventEngine = viewer_shared_services_1.EventEngine.instance;
|
|
20
|
+
this._initialized = false;
|
|
21
|
+
this._eventEngine.addListener(viewer_shared_services_1.EVENTTYPE.SCENE.SCENE_BOUNDING_BOX_CHANGE, () => {
|
|
22
|
+
this.updateEnvironmentGeometryPosition();
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
// #endregion Constructors (1)
|
|
26
|
+
// #region Public Getters And Setters (5)
|
|
27
|
+
get contactShadow() {
|
|
28
|
+
return this._contactShadow;
|
|
29
|
+
}
|
|
30
|
+
get grid() {
|
|
31
|
+
return this._grid;
|
|
32
|
+
}
|
|
33
|
+
get groundPlane() {
|
|
34
|
+
return this._groundPlane;
|
|
35
|
+
}
|
|
36
|
+
get groundPlaneShadow() {
|
|
37
|
+
return this._groundPlaneShadow;
|
|
38
|
+
}
|
|
39
|
+
// #endregion Public Getters And Setters (5)
|
|
40
|
+
// #region Public Methods (3)
|
|
41
|
+
changeSceneExtents(bb) {
|
|
42
|
+
var _a, _b, _c, _d;
|
|
43
|
+
if ((bb.min[0] === 0 &&
|
|
44
|
+
bb.min[1] === 0 &&
|
|
45
|
+
bb.min[2] === 0 &&
|
|
46
|
+
bb.max[0] === 0 &&
|
|
47
|
+
bb.max[1] === 0 &&
|
|
48
|
+
bb.max[2] === 0) ||
|
|
49
|
+
bb.isEmpty())
|
|
50
|
+
return;
|
|
51
|
+
this._initialized = true;
|
|
52
|
+
const sceneExtents = gl_matrix_1.vec3.distance(bb.min, bb.max);
|
|
53
|
+
const { divisions, gridExtents } = this.evaluateGridMeasurements(sceneExtents);
|
|
54
|
+
const bs = bb.boundingSphere;
|
|
55
|
+
const position = gl_matrix_1.vec3.fromValues(bs.center[0], bs.center[1], bb.min[2]);
|
|
56
|
+
const eps = bb.boundingSphere.radius * 0.001;
|
|
57
|
+
(_a = this._grid) === null || _a === void 0 ? void 0 : _a.changeSceneExtents(gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), position, gl_matrix_1.vec3.fromValues(0, 0, eps)), divisions, gridExtents);
|
|
58
|
+
(_b = this._groundPlaneShadow) === null || _b === void 0 ? void 0 : _b.changeSceneExtents(gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), position, gl_matrix_1.vec3.fromValues(0, 0, eps * 3)), divisions, gridExtents);
|
|
59
|
+
(_c = this._contactShadow) === null || _c === void 0 ? void 0 : _c.changeSceneExtents(gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), position, gl_matrix_1.vec3.fromValues(0, 0, eps * 2)), divisions, gridExtents);
|
|
60
|
+
(_d = this._groundPlane) === null || _d === void 0 ? void 0 : _d.changeSceneExtents(gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), position, gl_matrix_1.vec3.fromValues(0, 0, eps * 4)), divisions, gridExtents);
|
|
61
|
+
}
|
|
62
|
+
init() {
|
|
63
|
+
this._environmentGeometryObject = new SDObject_1.SDObject("environmentGeometry", "");
|
|
64
|
+
this._renderingEngine.sceneTreeManager.scene.add(this._environmentGeometryObject);
|
|
65
|
+
this._contactShadow = new ContactShadow_1.ContactShadow(this._renderingEngine, this._environmentGeometryObject);
|
|
66
|
+
this._grid = new Grid_1.Grid(this._renderingEngine, this._environmentGeometryObject);
|
|
67
|
+
this._groundPlaneShadow = new GroundPlaneShadow_1.GroundPlaneShadow(this._renderingEngine, this._environmentGeometryObject);
|
|
68
|
+
this._groundPlane = new GroundPlane_1.GroundPlane(this._renderingEngine, this._environmentGeometryObject);
|
|
69
|
+
}
|
|
70
|
+
updateEnvironmentGeometryPosition() {
|
|
71
|
+
var _a, _b, _c, _d;
|
|
72
|
+
const bb = new viewer_shared_math_1.Box(this._renderingEngine.sceneTreeManager.boundingBox.min, this._renderingEngine.sceneTreeManager.boundingBox.max);
|
|
73
|
+
if ((bb.min[0] === 0 &&
|
|
74
|
+
bb.min[1] === 0 &&
|
|
75
|
+
bb.min[2] === 0 &&
|
|
76
|
+
bb.max[0] === 0 &&
|
|
77
|
+
bb.max[1] === 0 &&
|
|
78
|
+
bb.max[2] === 0) ||
|
|
79
|
+
bb.isEmpty())
|
|
80
|
+
return;
|
|
81
|
+
if (!this._initialized) {
|
|
82
|
+
this.changeSceneExtents(bb);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
const bs = bb.boundingSphere;
|
|
86
|
+
const eps = bb.boundingSphere.radius * 0.001;
|
|
87
|
+
const sceneExtents = gl_matrix_1.vec3.distance(bb.min, bb.max);
|
|
88
|
+
const { divisions, gridExtents } = this.evaluateGridMeasurements(sceneExtents);
|
|
89
|
+
// only shadow plane needs to be updated
|
|
90
|
+
const position = gl_matrix_1.vec3.fromValues(bs.center[0], bs.center[1], bb.min[2]);
|
|
91
|
+
(_a = this._grid) === null || _a === void 0 ? void 0 : _a.updatePosition(gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), position, gl_matrix_1.vec3.fromValues(0, 0, eps)));
|
|
92
|
+
(_b = this._contactShadow) === null || _b === void 0 ? void 0 : _b.changeSceneExtents(gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), position, gl_matrix_1.vec3.fromValues(0, 0, eps * 3)), divisions, gridExtents);
|
|
93
|
+
(_c = this._groundPlaneShadow) === null || _c === void 0 ? void 0 : _c.changeSceneExtents(gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), position, gl_matrix_1.vec3.fromValues(0, 0, eps * 2)), divisions, gridExtents);
|
|
94
|
+
(_d = this._groundPlane) === null || _d === void 0 ? void 0 : _d.updatePosition(gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), position, gl_matrix_1.vec3.fromValues(0, 0, eps * 4)));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
// #endregion Public Methods (3)
|
|
98
|
+
// #region Private Methods (1)
|
|
99
|
+
/**
|
|
100
|
+
* Creates the grid extents and divisions with the specified scene extents.
|
|
101
|
+
*
|
|
102
|
+
* https://shapediver.atlassian.net/browse/SS-2961 evaluate this magic.
|
|
103
|
+
*/
|
|
104
|
+
evaluateGridMeasurements(sceneExtents) {
|
|
105
|
+
if (sceneExtents === 0)
|
|
106
|
+
return { divisions: 0.1, gridExtents: 1.0 };
|
|
107
|
+
const exponent = Math.floor(Math.log10(sceneExtents));
|
|
108
|
+
const temp = Math.pow(10, exponent);
|
|
109
|
+
const gridExtents = Math.ceil(sceneExtents / temp) * temp;
|
|
110
|
+
const divisions = gridExtents / (temp / 10);
|
|
111
|
+
return { divisions, gridExtents };
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
exports.EnvironmentGeometryManager = EnvironmentGeometryManager;
|
|
115
115
|
//# sourceMappingURL=EnvironmentGeometryManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvironmentGeometryManager.js","sourceRoot":"","sources":["../../src/managers/EnvironmentGeometryManager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"EnvironmentGeometryManager.js","sourceRoot":"","sources":["../../src/managers/EnvironmentGeometryManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { IManager } from "@shapediver/viewer.rendering-engine.rendering-engine";
|
|
2
|
-
import { FLAG_TYPE } from "@shapediver/viewer.shared.types";
|
|
3
|
-
import { RenderingEngine } from "..";
|
|
4
|
-
export declare class FlagManager implements IManager {
|
|
5
|
-
#private;
|
|
6
|
-
private readonly _renderingEngine;
|
|
7
|
-
private readonly _eventEngine;
|
|
8
|
-
private readonly _stateEngine;
|
|
9
|
-
private readonly _uuidGenerator;
|
|
10
|
-
constructor(_renderingEngine: RenderingEngine, props: {
|
|
11
|
-
flags?: {
|
|
12
|
-
[key: string]: FLAG_TYPE;
|
|
13
|
-
};
|
|
14
|
-
});
|
|
15
|
-
addFlag(flag: FLAG_TYPE, inputToken?: string): string;
|
|
16
|
-
evaluateFlagState(): void;
|
|
17
|
-
init(): void;
|
|
18
|
-
removeFlag(token: string): boolean;
|
|
19
|
-
}
|
|
1
|
+
import { IManager } from "@shapediver/viewer.rendering-engine.rendering-engine";
|
|
2
|
+
import { FLAG_TYPE } from "@shapediver/viewer.shared.types";
|
|
3
|
+
import { RenderingEngine } from "..";
|
|
4
|
+
export declare class FlagManager implements IManager {
|
|
5
|
+
#private;
|
|
6
|
+
private readonly _renderingEngine;
|
|
7
|
+
private readonly _eventEngine;
|
|
8
|
+
private readonly _stateEngine;
|
|
9
|
+
private readonly _uuidGenerator;
|
|
10
|
+
constructor(_renderingEngine: RenderingEngine, props: {
|
|
11
|
+
flags?: {
|
|
12
|
+
[key: string]: FLAG_TYPE;
|
|
13
|
+
};
|
|
14
|
+
});
|
|
15
|
+
addFlag(flag: FLAG_TYPE, inputToken?: string): string;
|
|
16
|
+
evaluateFlagState(): void;
|
|
17
|
+
init(): void;
|
|
18
|
+
removeFlag(token: string): boolean;
|
|
19
|
+
}
|
|
20
20
|
//# sourceMappingURL=FlagManager.d.ts.map
|
|
@@ -1,144 +1,144 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
3
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
4
|
-
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");
|
|
5
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
|
-
};
|
|
7
|
-
var _FlagManager_flags;
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.FlagManager = void 0;
|
|
10
|
-
const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
|
|
11
|
-
const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
|
|
12
|
-
class FlagManager {
|
|
13
|
-
constructor(_renderingEngine, props) {
|
|
14
|
-
this._renderingEngine = _renderingEngine;
|
|
15
|
-
this._eventEngine = viewer_shared_services_1.EventEngine.instance;
|
|
16
|
-
this._stateEngine = viewer_shared_services_1.StateEngine.instance;
|
|
17
|
-
this._uuidGenerator = viewer_shared_services_1.UuidGenerator.instance;
|
|
18
|
-
_FlagManager_flags.set(this, {
|
|
19
|
-
[viewer_shared_types_1.FLAG_TYPE.CAMERA_FREEZE]: [],
|
|
20
|
-
[viewer_shared_types_1.FLAG_TYPE.CONTINUOUS_RENDERING]: [],
|
|
21
|
-
[viewer_shared_types_1.FLAG_TYPE.CONTINUOUS_SHADOW_MAP_UPDATE]: [],
|
|
22
|
-
[viewer_shared_types_1.FLAG_TYPE.SUSPEND_SCENE_UPDATES]: [],
|
|
23
|
-
});
|
|
24
|
-
for (const token in props.flags) {
|
|
25
|
-
this.addFlag(props.flags[token], token);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
addFlag(flag, inputToken) {
|
|
29
|
-
var _a;
|
|
30
|
-
const token = inputToken || this._uuidGenerator.create();
|
|
31
|
-
if (flag === viewer_shared_types_1.FLAG_TYPE.BUSY_MODE) {
|
|
32
|
-
(_a = this._stateEngine.viewportEngines[this._renderingEngine.id]) === null || _a === void 0 ? void 0 : _a.busy.push(token);
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
__classPrivateFieldGet(this, _FlagManager_flags, "f")[flag].push(token);
|
|
36
|
-
}
|
|
37
|
-
this.evaluateFlagState();
|
|
38
|
-
return token;
|
|
39
|
-
}
|
|
40
|
-
evaluateFlagState() {
|
|
41
|
-
// busy
|
|
42
|
-
{
|
|
43
|
-
const currentBusyState = this._renderingEngine.busy;
|
|
44
|
-
if (this._stateEngine.viewportEngines[this._renderingEngine.id] &&
|
|
45
|
-
this._stateEngine.viewportEngines[this._renderingEngine.id]
|
|
46
|
-
.busy.length > 0) {
|
|
47
|
-
if (!currentBusyState) {
|
|
48
|
-
this._renderingEngine.busy = true;
|
|
49
|
-
this._renderingEngine.renderingManager.render();
|
|
50
|
-
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.VIEWPORT.BUSY_MODE_ON, { viewportId: this._renderingEngine.id });
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
if (currentBusyState) {
|
|
55
|
-
this._renderingEngine.busy = false;
|
|
56
|
-
this._renderingEngine.renderingManager.render();
|
|
57
|
-
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.VIEWPORT.BUSY_MODE_OFF, { viewportId: this._renderingEngine.id });
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
// camera freeze
|
|
62
|
-
{
|
|
63
|
-
if (__classPrivateFieldGet(this, _FlagManager_flags, "f")[viewer_shared_types_1.FLAG_TYPE.CAMERA_FREEZE].length > 0) {
|
|
64
|
-
this._renderingEngine.cameraEngine.deactivateCameraEvents();
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
this._renderingEngine.cameraEngine.activateCameraEvents();
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
// continuous rendering
|
|
71
|
-
{
|
|
72
|
-
const currentContinuousRenderingState = this._renderingEngine.continuousRendering;
|
|
73
|
-
if (__classPrivateFieldGet(this, _FlagManager_flags, "f")[viewer_shared_types_1.FLAG_TYPE.CONTINUOUS_RENDERING].length > 0) {
|
|
74
|
-
if (!currentContinuousRenderingState) {
|
|
75
|
-
this._renderingEngine.continuousRendering = true;
|
|
76
|
-
this._renderingEngine.renderingManager.render();
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
if (currentContinuousRenderingState) {
|
|
81
|
-
this._renderingEngine.continuousRendering = false;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
// continuous shadow map update
|
|
86
|
-
{
|
|
87
|
-
const currentShadowMapUpdateState = this._renderingEngine.continuousShadowMapUpdate;
|
|
88
|
-
if (__classPrivateFieldGet(this, _FlagManager_flags, "f")[viewer_shared_types_1.FLAG_TYPE.CONTINUOUS_SHADOW_MAP_UPDATE].length > 0) {
|
|
89
|
-
if (!currentShadowMapUpdateState) {
|
|
90
|
-
this._renderingEngine.continuousShadowMapUpdate = true;
|
|
91
|
-
this._renderingEngine.renderingManager.render();
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
if (currentShadowMapUpdateState) {
|
|
96
|
-
this._renderingEngine.continuousShadowMapUpdate = false;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
// suspend scene updates
|
|
101
|
-
{
|
|
102
|
-
const currentSuspendSceneUpdatesState = this._renderingEngine.suspendSceneUpdates;
|
|
103
|
-
if (currentSuspendSceneUpdatesState) {
|
|
104
|
-
if (__classPrivateFieldGet(this, _FlagManager_flags, "f")[viewer_shared_types_1.FLAG_TYPE.SUSPEND_SCENE_UPDATES].length === 0) {
|
|
105
|
-
this._renderingEngine.suspendSceneUpdates = false;
|
|
106
|
-
this._renderingEngine.update("suspendSceneUpdates: false");
|
|
107
|
-
this._renderingEngine.renderingManager.render();
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
if (__classPrivateFieldGet(this, _FlagManager_flags, "f")[viewer_shared_types_1.FLAG_TYPE.SUSPEND_SCENE_UPDATES].length > 0) {
|
|
112
|
-
this._renderingEngine.suspendSceneUpdates = true;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
init() { }
|
|
118
|
-
removeFlag(token) {
|
|
119
|
-
let success = false;
|
|
120
|
-
const Flags = Object.values(viewer_shared_types_1.FLAG_TYPE);
|
|
121
|
-
for (const f of Flags) {
|
|
122
|
-
if (f === viewer_shared_types_1.FLAG_TYPE.BUSY_MODE) {
|
|
123
|
-
if (this._stateEngine.viewportEngines[this._renderingEngine.id] &&
|
|
124
|
-
this._stateEngine.viewportEngines[this._renderingEngine.id].busy.includes(token)) {
|
|
125
|
-
this._stateEngine.viewportEngines[this._renderingEngine.id].busy.splice(this._stateEngine.viewportEngines[this._renderingEngine.id].busy.indexOf(token), 1);
|
|
126
|
-
success = true;
|
|
127
|
-
break;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
if (__classPrivateFieldGet(this, _FlagManager_flags, "f")[f].includes(token)) {
|
|
132
|
-
__classPrivateFieldGet(this, _FlagManager_flags, "f")[f].splice(__classPrivateFieldGet(this, _FlagManager_flags, "f")[f].indexOf(token), 1);
|
|
133
|
-
success = true;
|
|
134
|
-
break;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
this.evaluateFlagState();
|
|
139
|
-
return success;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
exports.FlagManager = FlagManager;
|
|
143
|
-
_FlagManager_flags = new WeakMap();
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
4
|
+
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");
|
|
5
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
|
+
};
|
|
7
|
+
var _FlagManager_flags;
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.FlagManager = void 0;
|
|
10
|
+
const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
|
|
11
|
+
const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
|
|
12
|
+
class FlagManager {
|
|
13
|
+
constructor(_renderingEngine, props) {
|
|
14
|
+
this._renderingEngine = _renderingEngine;
|
|
15
|
+
this._eventEngine = viewer_shared_services_1.EventEngine.instance;
|
|
16
|
+
this._stateEngine = viewer_shared_services_1.StateEngine.instance;
|
|
17
|
+
this._uuidGenerator = viewer_shared_services_1.UuidGenerator.instance;
|
|
18
|
+
_FlagManager_flags.set(this, {
|
|
19
|
+
[viewer_shared_types_1.FLAG_TYPE.CAMERA_FREEZE]: [],
|
|
20
|
+
[viewer_shared_types_1.FLAG_TYPE.CONTINUOUS_RENDERING]: [],
|
|
21
|
+
[viewer_shared_types_1.FLAG_TYPE.CONTINUOUS_SHADOW_MAP_UPDATE]: [],
|
|
22
|
+
[viewer_shared_types_1.FLAG_TYPE.SUSPEND_SCENE_UPDATES]: [],
|
|
23
|
+
});
|
|
24
|
+
for (const token in props.flags) {
|
|
25
|
+
this.addFlag(props.flags[token], token);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
addFlag(flag, inputToken) {
|
|
29
|
+
var _a;
|
|
30
|
+
const token = inputToken || this._uuidGenerator.create();
|
|
31
|
+
if (flag === viewer_shared_types_1.FLAG_TYPE.BUSY_MODE) {
|
|
32
|
+
(_a = this._stateEngine.viewportEngines[this._renderingEngine.id]) === null || _a === void 0 ? void 0 : _a.busy.push(token);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
__classPrivateFieldGet(this, _FlagManager_flags, "f")[flag].push(token);
|
|
36
|
+
}
|
|
37
|
+
this.evaluateFlagState();
|
|
38
|
+
return token;
|
|
39
|
+
}
|
|
40
|
+
evaluateFlagState() {
|
|
41
|
+
// busy
|
|
42
|
+
{
|
|
43
|
+
const currentBusyState = this._renderingEngine.busy;
|
|
44
|
+
if (this._stateEngine.viewportEngines[this._renderingEngine.id] &&
|
|
45
|
+
this._stateEngine.viewportEngines[this._renderingEngine.id]
|
|
46
|
+
.busy.length > 0) {
|
|
47
|
+
if (!currentBusyState) {
|
|
48
|
+
this._renderingEngine.busy = true;
|
|
49
|
+
this._renderingEngine.renderingManager.render();
|
|
50
|
+
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.VIEWPORT.BUSY_MODE_ON, { viewportId: this._renderingEngine.id });
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
if (currentBusyState) {
|
|
55
|
+
this._renderingEngine.busy = false;
|
|
56
|
+
this._renderingEngine.renderingManager.render();
|
|
57
|
+
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.VIEWPORT.BUSY_MODE_OFF, { viewportId: this._renderingEngine.id });
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// camera freeze
|
|
62
|
+
{
|
|
63
|
+
if (__classPrivateFieldGet(this, _FlagManager_flags, "f")[viewer_shared_types_1.FLAG_TYPE.CAMERA_FREEZE].length > 0) {
|
|
64
|
+
this._renderingEngine.cameraEngine.deactivateCameraEvents();
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
this._renderingEngine.cameraEngine.activateCameraEvents();
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
// continuous rendering
|
|
71
|
+
{
|
|
72
|
+
const currentContinuousRenderingState = this._renderingEngine.continuousRendering;
|
|
73
|
+
if (__classPrivateFieldGet(this, _FlagManager_flags, "f")[viewer_shared_types_1.FLAG_TYPE.CONTINUOUS_RENDERING].length > 0) {
|
|
74
|
+
if (!currentContinuousRenderingState) {
|
|
75
|
+
this._renderingEngine.continuousRendering = true;
|
|
76
|
+
this._renderingEngine.renderingManager.render();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
if (currentContinuousRenderingState) {
|
|
81
|
+
this._renderingEngine.continuousRendering = false;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// continuous shadow map update
|
|
86
|
+
{
|
|
87
|
+
const currentShadowMapUpdateState = this._renderingEngine.continuousShadowMapUpdate;
|
|
88
|
+
if (__classPrivateFieldGet(this, _FlagManager_flags, "f")[viewer_shared_types_1.FLAG_TYPE.CONTINUOUS_SHADOW_MAP_UPDATE].length > 0) {
|
|
89
|
+
if (!currentShadowMapUpdateState) {
|
|
90
|
+
this._renderingEngine.continuousShadowMapUpdate = true;
|
|
91
|
+
this._renderingEngine.renderingManager.render();
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
if (currentShadowMapUpdateState) {
|
|
96
|
+
this._renderingEngine.continuousShadowMapUpdate = false;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
// suspend scene updates
|
|
101
|
+
{
|
|
102
|
+
const currentSuspendSceneUpdatesState = this._renderingEngine.suspendSceneUpdates;
|
|
103
|
+
if (currentSuspendSceneUpdatesState) {
|
|
104
|
+
if (__classPrivateFieldGet(this, _FlagManager_flags, "f")[viewer_shared_types_1.FLAG_TYPE.SUSPEND_SCENE_UPDATES].length === 0) {
|
|
105
|
+
this._renderingEngine.suspendSceneUpdates = false;
|
|
106
|
+
this._renderingEngine.update("suspendSceneUpdates: false");
|
|
107
|
+
this._renderingEngine.renderingManager.render();
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
if (__classPrivateFieldGet(this, _FlagManager_flags, "f")[viewer_shared_types_1.FLAG_TYPE.SUSPEND_SCENE_UPDATES].length > 0) {
|
|
112
|
+
this._renderingEngine.suspendSceneUpdates = true;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
init() { }
|
|
118
|
+
removeFlag(token) {
|
|
119
|
+
let success = false;
|
|
120
|
+
const Flags = Object.values(viewer_shared_types_1.FLAG_TYPE);
|
|
121
|
+
for (const f of Flags) {
|
|
122
|
+
if (f === viewer_shared_types_1.FLAG_TYPE.BUSY_MODE) {
|
|
123
|
+
if (this._stateEngine.viewportEngines[this._renderingEngine.id] &&
|
|
124
|
+
this._stateEngine.viewportEngines[this._renderingEngine.id].busy.includes(token)) {
|
|
125
|
+
this._stateEngine.viewportEngines[this._renderingEngine.id].busy.splice(this._stateEngine.viewportEngines[this._renderingEngine.id].busy.indexOf(token), 1);
|
|
126
|
+
success = true;
|
|
127
|
+
break;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
if (__classPrivateFieldGet(this, _FlagManager_flags, "f")[f].includes(token)) {
|
|
132
|
+
__classPrivateFieldGet(this, _FlagManager_flags, "f")[f].splice(__classPrivateFieldGet(this, _FlagManager_flags, "f")[f].indexOf(token), 1);
|
|
133
|
+
success = true;
|
|
134
|
+
break;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
this.evaluateFlagState();
|
|
139
|
+
return success;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
exports.FlagManager = FlagManager;
|
|
143
|
+
_FlagManager_flags = new WeakMap();
|
|
144
144
|
//# sourceMappingURL=FlagManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlagManager.js","sourceRoot":"","sources":["../../src/managers/FlagManager.ts"],"names":[],"mappings":";;;;;;;;;AACA,+EAK4C;AAC5C,yEAA0D;AAI1D,MAAa,WAAW;IAYvB,YACkB,gBAAiC,EAClD,KAIC;QALgB,qBAAgB,GAAhB,gBAAgB,CAAiB;QAZlC,iBAAY,GAAG,oCAAW,CAAC,QAAQ,CAAC;QACpC,iBAAY,GAAG,oCAAW,CAAC,QAAQ,CAAC;QACpC,mBAAc,GAAG,sCAAa,CAAC,QAAQ,CAAC;QAEzD,6BAAoC;YACnC,CAAC,+BAAS,CAAC,aAAa,CAAC,EAAE,EAAE;YAC7B,CAAC,+BAAS,CAAC,oBAAoB,CAAC,EAAE,EAAE;YACpC,CAAC,+BAAS,CAAC,4BAA4B,CAAC,EAAE,EAAE;YAC5C,CAAC,+BAAS,CAAC,qBAAqB,CAAC,EAAE,EAAE;SACrC,EAAC;QAUD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE;
|
|
1
|
+
{"version":3,"file":"FlagManager.js","sourceRoot":"","sources":["../../src/managers/FlagManager.ts"],"names":[],"mappings":"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"}
|