@shapediver/viewer.session-engine.session-engine 3.14.7 → 3.14.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/implementation/OutputLoader.d.ts.map +1 -1
- package/dist/implementation/OutputLoader.js +19 -0
- package/dist/implementation/OutputLoader.js.map +1 -1
- package/dist/implementation/SessionEngine.d.ts.map +1 -1
- package/dist/implementation/SessionEngine.js +5 -8
- package/dist/implementation/SessionEngine.js.map +1 -1
- package/dist/implementation/SessionEngineCore.d.ts +119 -0
- package/dist/implementation/SessionEngineCore.d.ts.map +1 -0
- package/dist/implementation/SessionEngineCore.js +367 -0
- package/dist/implementation/SessionEngineCore.js.map +1 -0
- package/dist/implementation/SessionEngineFacade.d.ts +106 -0
- package/dist/implementation/SessionEngineFacade.d.ts.map +1 -0
- package/dist/implementation/SessionEngineFacade.js +191 -0
- package/dist/implementation/SessionEngineFacade.js.map +1 -0
- package/dist/implementation/managers/CustomizationManager.d.ts +67 -0
- package/dist/implementation/managers/CustomizationManager.d.ts.map +1 -0
- package/dist/implementation/managers/CustomizationManager.js +324 -0
- package/dist/implementation/managers/CustomizationManager.js.map +1 -0
- package/dist/implementation/managers/ExportManager.d.ts +75 -0
- package/dist/implementation/managers/ExportManager.d.ts.map +1 -0
- package/dist/implementation/managers/ExportManager.js +213 -0
- package/dist/implementation/managers/ExportManager.js.map +1 -0
- package/dist/implementation/managers/FileUploadManager.d.ts +74 -0
- package/dist/implementation/managers/FileUploadManager.d.ts.map +1 -0
- package/dist/implementation/managers/FileUploadManager.js +221 -0
- package/dist/implementation/managers/FileUploadManager.js.map +1 -0
- package/dist/implementation/managers/ModelStateManager.d.ts +54 -0
- package/dist/implementation/managers/ModelStateManager.d.ts.map +1 -0
- package/dist/implementation/managers/ModelStateManager.js +177 -0
- package/dist/implementation/managers/ModelStateManager.js.map +1 -0
- package/dist/implementation/managers/OutputManager.d.ts +99 -0
- package/dist/implementation/managers/OutputManager.d.ts.map +1 -0
- package/dist/implementation/managers/OutputManager.js +418 -0
- package/dist/implementation/managers/OutputManager.js.map +1 -0
- package/dist/implementation/managers/ParameterManager.d.ts +75 -0
- package/dist/implementation/managers/ParameterManager.d.ts.map +1 -0
- package/dist/implementation/managers/ParameterManager.js +235 -0
- package/dist/implementation/managers/ParameterManager.js.map +1 -0
- package/dist/implementation/managers/SettingsManager.d.ts +80 -0
- package/dist/implementation/managers/SettingsManager.d.ts.map +1 -0
- package/dist/implementation/managers/SettingsManager.js +502 -0
- package/dist/implementation/managers/SettingsManager.js.map +1 -0
- package/dist/implementation/managers/UtilsManager.d.ts +127 -0
- package/dist/implementation/managers/UtilsManager.d.ts.map +1 -0
- package/dist/implementation/managers/UtilsManager.js +410 -0
- package/dist/implementation/managers/UtilsManager.js.map +1 -0
- package/package.json +8 -8
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SessionEngineFacade = void 0;
|
|
4
|
+
const SessionEngineCore_1 = require("./SessionEngineCore");
|
|
5
|
+
/**
|
|
6
|
+
* Facade that implements the ISessionEngine interface and exposes
|
|
7
|
+
* the functionality of the Session Engine.
|
|
8
|
+
*
|
|
9
|
+
* The facade creates and holds references to all managers
|
|
10
|
+
* and the core of the Session Engine.
|
|
11
|
+
*/
|
|
12
|
+
class SessionEngineFacade {
|
|
13
|
+
constructor(properties) {
|
|
14
|
+
this._sessionEngineCore = new SessionEngineCore_1.SessionEngineCore(properties);
|
|
15
|
+
this._settingsManager = this._sessionEngineCore.settingsManager;
|
|
16
|
+
this._outputManager = this._sessionEngineCore.outputManager;
|
|
17
|
+
this._exportManager = this._sessionEngineCore.exportManager;
|
|
18
|
+
this._customizationManager =
|
|
19
|
+
this._sessionEngineCore.customizationManager;
|
|
20
|
+
this._parameterManager = this._sessionEngineCore.parameterManager;
|
|
21
|
+
this._fileUploadManager = this._sessionEngineCore.fileUploadManager;
|
|
22
|
+
this._modelStateManager = this._sessionEngineCore.modelStateManager;
|
|
23
|
+
}
|
|
24
|
+
get automaticSceneUpdate() {
|
|
25
|
+
return this._sessionEngineCore.automaticSceneUpdate;
|
|
26
|
+
}
|
|
27
|
+
set automaticSceneUpdate(value) {
|
|
28
|
+
this._sessionEngineCore.automaticSceneUpdate = value;
|
|
29
|
+
}
|
|
30
|
+
get canUploadGLTF() {
|
|
31
|
+
return this._fileUploadManager.canUploadGLTF;
|
|
32
|
+
}
|
|
33
|
+
get customizeOnParameterChange() {
|
|
34
|
+
return this._customizationManager.customizeOnParameterChange;
|
|
35
|
+
}
|
|
36
|
+
set customizeOnParameterChange(value) {
|
|
37
|
+
this._customizationManager.customizeOnParameterChange = value;
|
|
38
|
+
}
|
|
39
|
+
get excludeViewports() {
|
|
40
|
+
return this._sessionEngineCore.excludeViewports;
|
|
41
|
+
}
|
|
42
|
+
set excludeViewports(value) {
|
|
43
|
+
this._sessionEngineCore.excludeViewports = value;
|
|
44
|
+
}
|
|
45
|
+
get exports() {
|
|
46
|
+
return this._exportManager.exports;
|
|
47
|
+
}
|
|
48
|
+
get guid() {
|
|
49
|
+
return this._sessionEngineCore.guid;
|
|
50
|
+
}
|
|
51
|
+
get hasStoredSettings() {
|
|
52
|
+
return this._settingsManager.hasStoredSettings;
|
|
53
|
+
}
|
|
54
|
+
get id() {
|
|
55
|
+
return this._sessionEngineCore.id;
|
|
56
|
+
}
|
|
57
|
+
get initialized() {
|
|
58
|
+
return this._sessionEngineCore.initialized;
|
|
59
|
+
}
|
|
60
|
+
get jwtToken() {
|
|
61
|
+
return this._sessionEngineCore.jwtToken;
|
|
62
|
+
}
|
|
63
|
+
get loadSdtf() {
|
|
64
|
+
return this._sessionEngineCore.loadSdtf;
|
|
65
|
+
}
|
|
66
|
+
set loadSdtf(value) {
|
|
67
|
+
this._sessionEngineCore.loadSdtf = value;
|
|
68
|
+
}
|
|
69
|
+
get modelState() {
|
|
70
|
+
return this._modelStateManager.modelState;
|
|
71
|
+
}
|
|
72
|
+
get modelViewUrl() {
|
|
73
|
+
return this._sessionEngineCore.modelViewUrl;
|
|
74
|
+
}
|
|
75
|
+
get node() {
|
|
76
|
+
return this._sessionEngineCore.node;
|
|
77
|
+
}
|
|
78
|
+
get outputs() {
|
|
79
|
+
return this._outputManager.outputs;
|
|
80
|
+
}
|
|
81
|
+
get outputsFreeze() {
|
|
82
|
+
return this._outputManager.outputsFreeze;
|
|
83
|
+
}
|
|
84
|
+
get parameterValues() {
|
|
85
|
+
return this._parameterManager.parameterValues;
|
|
86
|
+
}
|
|
87
|
+
get parameters() {
|
|
88
|
+
return this._parameterManager.parameters;
|
|
89
|
+
}
|
|
90
|
+
get refreshJwtToken() {
|
|
91
|
+
return this._sessionEngineCore.refreshJwtToken;
|
|
92
|
+
}
|
|
93
|
+
set refreshJwtToken(value) {
|
|
94
|
+
this._sessionEngineCore.refreshJwtToken = value;
|
|
95
|
+
}
|
|
96
|
+
get settingsEngine() {
|
|
97
|
+
return this._settingsManager.settingsEngine;
|
|
98
|
+
}
|
|
99
|
+
get ticket() {
|
|
100
|
+
return this._sessionEngineCore.ticket;
|
|
101
|
+
}
|
|
102
|
+
get updateCallback() {
|
|
103
|
+
return this._sessionEngineCore.updateCallback;
|
|
104
|
+
}
|
|
105
|
+
set updateCallback(value) {
|
|
106
|
+
this._sessionEngineCore.updateCallback = value;
|
|
107
|
+
}
|
|
108
|
+
get viewerSettings() {
|
|
109
|
+
return this._settingsManager.viewerSettings;
|
|
110
|
+
}
|
|
111
|
+
applySettings(response, sections) {
|
|
112
|
+
return this._settingsManager.applySettings(response, sections);
|
|
113
|
+
}
|
|
114
|
+
canGoBack() {
|
|
115
|
+
return this._parameterManager.canGoBack();
|
|
116
|
+
}
|
|
117
|
+
canGoForward() {
|
|
118
|
+
return this._parameterManager.canGoForward();
|
|
119
|
+
}
|
|
120
|
+
cancelCustomization() {
|
|
121
|
+
return this._customizationManager.cancelCustomization();
|
|
122
|
+
}
|
|
123
|
+
close() {
|
|
124
|
+
return this._sessionEngineCore.close();
|
|
125
|
+
}
|
|
126
|
+
createModelState(parameterValues, omitSessionParameterValues, image, data, arScene) {
|
|
127
|
+
return this._modelStateManager.createModelState(parameterValues, omitSessionParameterValues, image, data, arScene);
|
|
128
|
+
}
|
|
129
|
+
customize(force, waitForViewportUpdate) {
|
|
130
|
+
return this._customizationManager.customize(force, waitForViewportUpdate);
|
|
131
|
+
}
|
|
132
|
+
customizeParallel(parameterValues, loadOutputs) {
|
|
133
|
+
return this._customizationManager.customizeParallel(parameterValues, loadOutputs);
|
|
134
|
+
}
|
|
135
|
+
customizeWithModelState(modelState) {
|
|
136
|
+
return this._modelStateManager.customizeWithModelState(modelState);
|
|
137
|
+
}
|
|
138
|
+
getModelState(modelStateId) {
|
|
139
|
+
return this._modelStateManager.getModelState(modelStateId);
|
|
140
|
+
}
|
|
141
|
+
goBack() {
|
|
142
|
+
return this._parameterManager.goBack();
|
|
143
|
+
}
|
|
144
|
+
goForward() {
|
|
145
|
+
return this._parameterManager.goForward();
|
|
146
|
+
}
|
|
147
|
+
init(parameterValues) {
|
|
148
|
+
return this._sessionEngineCore.init(parameterValues);
|
|
149
|
+
}
|
|
150
|
+
loadCachedOutputsParallel(outputMapping, taskEventInfo, retry) {
|
|
151
|
+
return this._outputManager.loadCachedOutputsParallel(outputMapping, taskEventInfo, retry);
|
|
152
|
+
}
|
|
153
|
+
requestExport(exportId, parameters, maxWaitTime) {
|
|
154
|
+
return this._exportManager.requestExport(exportId, parameters, maxWaitTime);
|
|
155
|
+
}
|
|
156
|
+
requestExports(body, loadOutputs, maxWaitMsec) {
|
|
157
|
+
return this._exportManager.requestExports(body, loadOutputs, maxWaitMsec);
|
|
158
|
+
}
|
|
159
|
+
resetSettings(sections) {
|
|
160
|
+
return this._settingsManager.resetSettings(sections);
|
|
161
|
+
}
|
|
162
|
+
saveDefaultParameterValues() {
|
|
163
|
+
return this._settingsManager.saveDefaultParameterValues();
|
|
164
|
+
}
|
|
165
|
+
saveSettings(json) {
|
|
166
|
+
return this._settingsManager.saveSettings(json);
|
|
167
|
+
}
|
|
168
|
+
saveUiProperties(saveInSettings) {
|
|
169
|
+
return this._settingsManager.saveUiProperties(saveInSettings);
|
|
170
|
+
}
|
|
171
|
+
setJwtToken(token) {
|
|
172
|
+
return this._sessionEngineCore.setJwtToken(token);
|
|
173
|
+
}
|
|
174
|
+
updateOutputs(taskEventInfo, waitForViewportUpdate) {
|
|
175
|
+
return this._outputManager.updateOutputs(taskEventInfo, waitForViewportUpdate);
|
|
176
|
+
}
|
|
177
|
+
uploadFile(parameterId, data, type) {
|
|
178
|
+
return this._fileUploadManager.uploadFile(parameterId, data, type);
|
|
179
|
+
}
|
|
180
|
+
uploadFileParameters(parameterValues) {
|
|
181
|
+
return this._fileUploadManager.uploadFileParameters(parameterValues);
|
|
182
|
+
}
|
|
183
|
+
uploadGLTF(blob, conversion) {
|
|
184
|
+
return this._fileUploadManager.uploadGLTF(blob, conversion);
|
|
185
|
+
}
|
|
186
|
+
uploadSDTF(arrayBuffers) {
|
|
187
|
+
return this._fileUploadManager.uploadSDTF(arrayBuffers);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
exports.SessionEngineFacade = SessionEngineFacade;
|
|
191
|
+
//# sourceMappingURL=SessionEngineFacade.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionEngineFacade.js","sourceRoot":"","sources":["../../src/implementation/SessionEngineFacade.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { ResBase } from "@shapediver/sdk.geometry-api-sdk-v2";
|
|
2
|
+
import { ITreeNode } from "@shapediver/viewer.shared.node-tree";
|
|
3
|
+
import { ITaskEventDescription } from "@shapediver/viewer.shared.types";
|
|
4
|
+
import { ISessionTreeNode } from "../../interfaces/ISessionTreeNode";
|
|
5
|
+
import { SessionEngineCore } from "../SessionEngineCore";
|
|
6
|
+
/**
|
|
7
|
+
* Manager responsible for for various customization tasks within the session engine.
|
|
8
|
+
*
|
|
9
|
+
* The manager is created by the SessionEngineCore and can be accessed
|
|
10
|
+
* via the `customizationManager` property.
|
|
11
|
+
*/
|
|
12
|
+
export declare class CustomizationManager {
|
|
13
|
+
private readonly _eventEngine;
|
|
14
|
+
private readonly _httpClient;
|
|
15
|
+
private readonly _logger;
|
|
16
|
+
private readonly _performanceEvaluator;
|
|
17
|
+
private readonly _sessionEngineCore;
|
|
18
|
+
private readonly _stateEngine;
|
|
19
|
+
private readonly _uuidGenerator;
|
|
20
|
+
private _customizationBusyModes;
|
|
21
|
+
private _customizationProcess?;
|
|
22
|
+
private _customizeOnParameterChange;
|
|
23
|
+
private _throwOnCustomizationError;
|
|
24
|
+
constructor(sessionEngineCore: SessionEngineCore);
|
|
25
|
+
get customizationBusyModes(): string[];
|
|
26
|
+
set customizationBusyModes(value: string[]);
|
|
27
|
+
get customizationProcess(): string | undefined;
|
|
28
|
+
set customizationProcess(value: string | undefined);
|
|
29
|
+
get customizeOnParameterChange(): boolean;
|
|
30
|
+
set customizeOnParameterChange(value: boolean);
|
|
31
|
+
get throwOnCustomizationError(): boolean;
|
|
32
|
+
set throwOnCustomizationError(value: boolean);
|
|
33
|
+
/**
|
|
34
|
+
* Cancels the ongoing customization process, if any.
|
|
35
|
+
*
|
|
36
|
+
* This method removes the busy mode associated with the current customization process
|
|
37
|
+
* and clears any customization busy modes.
|
|
38
|
+
*/
|
|
39
|
+
cancelCustomization(): void;
|
|
40
|
+
/**
|
|
41
|
+
* Customizes the session with updated parameters to get the updated scene graph node.
|
|
42
|
+
*
|
|
43
|
+
* @param parameters the parameter set to update the session
|
|
44
|
+
* @returns promise with a scene graph node
|
|
45
|
+
*/
|
|
46
|
+
customize(force?: boolean, waitForViewportUpdate?: boolean): Promise<ITreeNode>;
|
|
47
|
+
/**
|
|
48
|
+
* Customizes the session in parallel with updated parameters to get the updated scene graph node.
|
|
49
|
+
*
|
|
50
|
+
* @param parameterValues the parameter set to update the session
|
|
51
|
+
* @returns promise with a scene graph node
|
|
52
|
+
*/
|
|
53
|
+
customizeParallel(parameterValues: {
|
|
54
|
+
[key: string]: unknown;
|
|
55
|
+
}, loadOutputs?: boolean): Promise<ISessionTreeNode | ResBase>;
|
|
56
|
+
/**
|
|
57
|
+
* Customizes the session.
|
|
58
|
+
* Called by customize and customizeParallel.
|
|
59
|
+
*
|
|
60
|
+
* @param cancelRequest function to check if the customization should be cancelled
|
|
61
|
+
* @returns promise with a scene graph node
|
|
62
|
+
*/
|
|
63
|
+
customizeSession(parameters: {
|
|
64
|
+
[key: string]: string;
|
|
65
|
+
}, cancelRequest: () => boolean, taskEventInfo: ITaskEventDescription, parallel?: boolean, loadOutputs?: boolean, retry?: boolean): Promise<ISessionTreeNode>;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=CustomizationManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomizationManager.d.ts","sourceRoot":"","sources":["../../../src/implementation/managers/CustomizationManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,OAAO,EAIP,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAC,SAAS,EAAC,MAAM,qCAAqC,CAAC;AAU9D,OAAO,EAGN,qBAAqB,EAGrB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAC,gBAAgB,EAAC,MAAM,mCAAmC,CAAC;AAEnE,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAGvD;;;;;GAKG;AACH,qBAAa,oBAAoB;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiC;IACvE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0B;IAEzD,OAAO,CAAC,uBAAuB,CAAgB;IAC/C,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,2BAA2B,CAAkB;IACrD,OAAO,CAAC,0BAA0B,CAAkB;gBAExC,iBAAiB,EAAE,iBAAiB;IAIhD,IAAW,sBAAsB,IAAI,MAAM,EAAE,CAE5C;IAED,IAAW,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,EAEhD;IAED,IAAW,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAEpD;IAED,IAAW,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAExD;IAED,IAAW,0BAA0B,IAAI,OAAO,CAE/C;IAED,IAAW,0BAA0B,CAAC,KAAK,EAAE,OAAO,EAEnD;IAED,IAAW,yBAAyB,IAAI,OAAO,CAE9C;IAED,IAAW,yBAAyB,CAAC,KAAK,EAAE,OAAO,EAElD;IAED;;;;;OAKG;IACI,mBAAmB;IAyB1B;;;;;OAKG;IACU,SAAS,CACrB,KAAK,GAAE,OAAe,EACtB,qBAAqB,GAAE,OAAe,GACpC,OAAO,CAAC,SAAS,CAAC;IAiVrB;;;;;OAKG;IACU,iBAAiB,CAC7B,eAAe,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,EACzC,WAAW,UAAO,GAChB,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC;IAkEtC;;;;;;OAMG;IACU,gBAAgB,CAC5B,UAAU,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,EACnC,aAAa,EAAE,MAAM,OAAO,EAC5B,aAAa,EAAE,qBAAqB,EACpC,QAAQ,UAAQ,EAChB,WAAW,UAAO,EAClB,KAAK,UAAQ,GACX,OAAO,CAAC,gBAAgB,CAAC;CAqD5B"}
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.CustomizationManager = void 0;
|
|
13
|
+
const sdk_geometry_api_sdk_v2_1 = require("@shapediver/sdk.geometry-api-sdk-v2");
|
|
14
|
+
const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
|
|
15
|
+
const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
|
|
16
|
+
const SessionData_1 = require("../SessionData");
|
|
17
|
+
const SessionTreeNode_1 = require("../SessionTreeNode");
|
|
18
|
+
/**
|
|
19
|
+
* Manager responsible for for various customization tasks within the session engine.
|
|
20
|
+
*
|
|
21
|
+
* The manager is created by the SessionEngineCore and can be accessed
|
|
22
|
+
* via the `customizationManager` property.
|
|
23
|
+
*/
|
|
24
|
+
class CustomizationManager {
|
|
25
|
+
constructor(sessionEngineCore) {
|
|
26
|
+
this._eventEngine = viewer_shared_services_1.EventEngine.instance;
|
|
27
|
+
this._httpClient = viewer_shared_services_1.HttpClient.instance;
|
|
28
|
+
this._logger = viewer_shared_services_1.Logger.instance;
|
|
29
|
+
this._performanceEvaluator = viewer_shared_services_1.PerformanceEvaluator.instance;
|
|
30
|
+
this._stateEngine = viewer_shared_services_1.StateEngine.instance;
|
|
31
|
+
this._uuidGenerator = viewer_shared_services_1.UuidGenerator.instance;
|
|
32
|
+
this._customizationBusyModes = [];
|
|
33
|
+
this._customizeOnParameterChange = false;
|
|
34
|
+
this._throwOnCustomizationError = false;
|
|
35
|
+
this._sessionEngineCore = sessionEngineCore;
|
|
36
|
+
}
|
|
37
|
+
get customizationBusyModes() {
|
|
38
|
+
return this._customizationBusyModes;
|
|
39
|
+
}
|
|
40
|
+
set customizationBusyModes(value) {
|
|
41
|
+
this._customizationBusyModes = value;
|
|
42
|
+
}
|
|
43
|
+
get customizationProcess() {
|
|
44
|
+
return this._customizationProcess;
|
|
45
|
+
}
|
|
46
|
+
set customizationProcess(value) {
|
|
47
|
+
this._customizationProcess = value;
|
|
48
|
+
}
|
|
49
|
+
get customizeOnParameterChange() {
|
|
50
|
+
return this._customizeOnParameterChange;
|
|
51
|
+
}
|
|
52
|
+
set customizeOnParameterChange(value) {
|
|
53
|
+
this._customizeOnParameterChange = value;
|
|
54
|
+
}
|
|
55
|
+
get throwOnCustomizationError() {
|
|
56
|
+
return this._throwOnCustomizationError;
|
|
57
|
+
}
|
|
58
|
+
set throwOnCustomizationError(value) {
|
|
59
|
+
this._throwOnCustomizationError = value;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Cancels the ongoing customization process, if any.
|
|
63
|
+
*
|
|
64
|
+
* This method removes the busy mode associated with the current customization process
|
|
65
|
+
* and clears any customization busy modes.
|
|
66
|
+
*/
|
|
67
|
+
cancelCustomization() {
|
|
68
|
+
if (this._customizationProcess)
|
|
69
|
+
this._sessionEngineCore.utilsManager.removeBusyMode(this._customizationProcess);
|
|
70
|
+
for (const busyId of this._customizationBusyModes) {
|
|
71
|
+
for (const r in this._stateEngine.viewportEngines) {
|
|
72
|
+
if (this._stateEngine.viewportEngines[r] &&
|
|
73
|
+
this._stateEngine.viewportEngines[r].busy.includes(busyId))
|
|
74
|
+
this._stateEngine.viewportEngines[r].busy.splice(this._stateEngine.viewportEngines[r].busy.indexOf(busyId), 1);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
this._customizationBusyModes = [];
|
|
78
|
+
this._customizationProcess = undefined;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Customizes the session with updated parameters to get the updated scene graph node.
|
|
82
|
+
*
|
|
83
|
+
* @param parameters the parameter set to update the session
|
|
84
|
+
* @returns promise with a scene graph node
|
|
85
|
+
*/
|
|
86
|
+
customize(force = false, waitForViewportUpdate = false) {
|
|
87
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
88
|
+
const eventInfo = {
|
|
89
|
+
type: viewer_shared_types_1.TASK_TYPE.SESSION_CUSTOMIZATION,
|
|
90
|
+
category: viewer_shared_types_1.TASK_CATEGORY.SESSION_CUSTOMIZATION.CUSTOMIZE,
|
|
91
|
+
id: this._uuidGenerator.create(),
|
|
92
|
+
data: { sessionId: this._sessionEngineCore.id },
|
|
93
|
+
progress: 0,
|
|
94
|
+
};
|
|
95
|
+
const customizationId = this._uuidGenerator.create();
|
|
96
|
+
try {
|
|
97
|
+
// we check if something changed
|
|
98
|
+
if (force === false) {
|
|
99
|
+
let changes = false;
|
|
100
|
+
for (const parameterId in this._sessionEngineCore
|
|
101
|
+
.parameterManager.parameters)
|
|
102
|
+
if (this._sessionEngineCore.parameterManager.parameters[parameterId].sessionValue !==
|
|
103
|
+
this._sessionEngineCore.parameterManager.parameters[parameterId].value)
|
|
104
|
+
changes = true;
|
|
105
|
+
if (changes === false)
|
|
106
|
+
return this._sessionEngineCore.node;
|
|
107
|
+
}
|
|
108
|
+
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_START, Object.assign(Object.assign({}, eventInfo), { progress: 0, status: "Customizing session" }));
|
|
109
|
+
const oldNode = this._sessionEngineCore.node;
|
|
110
|
+
this._customizationProcess = customizationId;
|
|
111
|
+
this._logger.debugLow(`Session(${this._sessionEngineCore.id}).customize: Customizing session.`);
|
|
112
|
+
this._sessionEngineCore.utilsManager.addBusyMode(customizationId);
|
|
113
|
+
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_PROCESS, Object.assign(Object.assign({}, eventInfo), { progress: 0.1, status: "Uploading file parameters" }));
|
|
114
|
+
// upload file parameters
|
|
115
|
+
yield this._sessionEngineCore.fileUploadManager.uploadFileParameters();
|
|
116
|
+
// OPTION TO SKIP - PART 1b
|
|
117
|
+
const cancelResult = this._sessionEngineCore.utilsManager.cancelProcess(Object.assign(Object.assign({}, eventInfo), { progress: 1 }), customizationId);
|
|
118
|
+
if (cancelResult)
|
|
119
|
+
return cancelResult;
|
|
120
|
+
const parameterSet = {};
|
|
121
|
+
// create a set of the current validated parameter values
|
|
122
|
+
for (const parameterId in this._sessionEngineCore.parameterManager
|
|
123
|
+
.parameters) {
|
|
124
|
+
parameterSet[parameterId] = {
|
|
125
|
+
value: this._sessionEngineCore.parameterManager.parameters[parameterId].value,
|
|
126
|
+
valueString: this._sessionEngineCore.parameterManager.parameters[parameterId].stringify(),
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
// update the session engine parameter values if everything succeeded
|
|
130
|
+
for (const parameterId in this._sessionEngineCore.parameterManager
|
|
131
|
+
.parameters)
|
|
132
|
+
this._sessionEngineCore.parameterManager.parameterValues[parameterId] = parameterSet[parameterId].valueString;
|
|
133
|
+
this._logger.info(`Session(${this._sessionEngineCore.id}).customize: Customizing session with parameters ${JSON.stringify(this._sessionEngineCore.parameterManager.parameterValues)}.`);
|
|
134
|
+
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_PROCESS, Object.assign(Object.assign({}, eventInfo), { progress: 0.1, status: "Sending customization request" }));
|
|
135
|
+
const oldOutputVersions = this._sessionEngineCore.outputManager.getCurrentOutputVersions();
|
|
136
|
+
const newNode = yield this.customizeSession(this._sessionEngineCore.parameterManager.parameterValues, () => this._customizationProcess !== customizationId, Object.assign(Object.assign({}, eventInfo), { progressRange: {
|
|
137
|
+
min: 0.1,
|
|
138
|
+
max: 0.9,
|
|
139
|
+
} }));
|
|
140
|
+
// OPTION TO SKIP - PART 2
|
|
141
|
+
const cancelResult2 = this._sessionEngineCore.utilsManager.cancelProcess(Object.assign(Object.assign({}, eventInfo), { progress: 1 }), customizationId);
|
|
142
|
+
if (cancelResult2)
|
|
143
|
+
return cancelResult2;
|
|
144
|
+
this._sessionEngineCore.utilsManager.warningCreator(this._sessionEngineCore.responseDto.outputs, this._sessionEngineCore.responseDto.exports, this._throwOnCustomizationError);
|
|
145
|
+
const newOutputVersions = this._sessionEngineCore.outputManager.getCurrentOutputVersions();
|
|
146
|
+
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_PROCESS, Object.assign(Object.assign({}, eventInfo), { progress: 0.9, status: "Updating scene" }));
|
|
147
|
+
// call the update callbacks
|
|
148
|
+
if (waitForViewportUpdate === false) {
|
|
149
|
+
for (const outputId in this._sessionEngineCore.outputManager
|
|
150
|
+
.outputs) {
|
|
151
|
+
if (oldOutputVersions[outputId] !==
|
|
152
|
+
newOutputVersions[outputId]) {
|
|
153
|
+
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.OUTPUT.OUTPUT_UPDATED, {
|
|
154
|
+
outputId: outputId,
|
|
155
|
+
outputVersion: newOutputVersions[outputId],
|
|
156
|
+
newNode: newNode.children.find((c) => c.name === outputId),
|
|
157
|
+
oldNode: oldNode.children.find((c) => c.name === outputId),
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
yield this._sessionEngineCore.utilsManager.waitForUpdateCallbacks(newOutputVersions, oldOutputVersions, newNode, oldNode);
|
|
162
|
+
const cancelResult = this._sessionEngineCore.utilsManager.cancelProcess(Object.assign(Object.assign({}, eventInfo), { progress: 1 }), customizationId);
|
|
163
|
+
if (cancelResult)
|
|
164
|
+
return cancelResult;
|
|
165
|
+
}
|
|
166
|
+
// if this is not a call by the goBack or goForward functions, add the parameter values to the history and delete the forward history
|
|
167
|
+
if (!this._sessionEngineCore.parameterManager.parameterHistoryCall) {
|
|
168
|
+
this._sessionEngineCore.parameterManager.parameterHistory.push(parameterSet);
|
|
169
|
+
this._sessionEngineCore.parameterManager.parameterHistoryForward =
|
|
170
|
+
[];
|
|
171
|
+
}
|
|
172
|
+
if (this._sessionEngineCore.automaticSceneUpdate)
|
|
173
|
+
this._sessionEngineCore.utilsManager.removeFromSceneTree(this._sessionEngineCore.node);
|
|
174
|
+
this._sessionEngineCore.node = newNode;
|
|
175
|
+
if (this._sessionEngineCore.automaticSceneUpdate &&
|
|
176
|
+
this._sessionEngineCore.closed === false)
|
|
177
|
+
this._sessionEngineCore.utilsManager.addToSceneTree(this._sessionEngineCore.node);
|
|
178
|
+
this._logger.debug(`Session(${this._sessionEngineCore.id}).customize: Customization request finished, updating geometry.`);
|
|
179
|
+
// set the session values to the current ones in all parameters
|
|
180
|
+
for (const parameterId in this._sessionEngineCore.parameterManager
|
|
181
|
+
.parameters)
|
|
182
|
+
(this._sessionEngineCore.parameterManager.parameters[parameterId].sessionValue) = parameterSet[parameterId].value;
|
|
183
|
+
// set the output content to what has been updated
|
|
184
|
+
for (const outputId in this._sessionEngineCore.outputManager
|
|
185
|
+
.outputs)
|
|
186
|
+
this._sessionEngineCore.outputManager.outputs[outputId].updateOutput(newNode.children.find((c) => c.name === outputId), oldNode.children.find((c) => c.name === outputId));
|
|
187
|
+
// set the export definitions
|
|
188
|
+
for (const exportId in this._sessionEngineCore.exportManager
|
|
189
|
+
.exports)
|
|
190
|
+
this._sessionEngineCore.exportManager.exports[exportId].updateExport();
|
|
191
|
+
this._sessionEngineCore.node.excludeViewports = JSON.parse(JSON.stringify(this._sessionEngineCore.excludeViewports));
|
|
192
|
+
this._sessionEngineCore.utilsManager.removeBusyMode(customizationId);
|
|
193
|
+
this._logger.debug(`Session(${this._sessionEngineCore.id}).customize: Session customized.`);
|
|
194
|
+
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.SESSION.SESSION_CUSTOMIZED, {
|
|
195
|
+
sessionId: this._sessionEngineCore.id,
|
|
196
|
+
});
|
|
197
|
+
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_END, Object.assign(Object.assign({}, eventInfo), { progress: 1, status: "Session customized" }));
|
|
198
|
+
// update the viewports
|
|
199
|
+
if (waitForViewportUpdate) {
|
|
200
|
+
for (const r in this._stateEngine.viewportEngines)
|
|
201
|
+
if (this._stateEngine.viewportEngines[r] &&
|
|
202
|
+
!this._sessionEngineCore.excludeViewports.includes(this._stateEngine.viewportEngines[r].id))
|
|
203
|
+
this._stateEngine.viewportEngines[r].update(`SessionEngine(${this._sessionEngineCore.id}).customize`);
|
|
204
|
+
for (const outputId in this._sessionEngineCore.outputManager
|
|
205
|
+
.outputs) {
|
|
206
|
+
if (oldOutputVersions[outputId] !==
|
|
207
|
+
newOutputVersions[outputId]) {
|
|
208
|
+
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.OUTPUT.OUTPUT_UPDATED, {
|
|
209
|
+
outputId: outputId,
|
|
210
|
+
outputVersion: newOutputVersions[outputId],
|
|
211
|
+
newNode: newNode.children.find((c) => c.name === outputId),
|
|
212
|
+
oldNode: oldNode.children.find((c) => c.name === outputId),
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
// call the update callbacks
|
|
217
|
+
yield this._sessionEngineCore.utilsManager.waitForUpdateCallbacks(newOutputVersions, oldOutputVersions, newNode, oldNode);
|
|
218
|
+
const cancelResult = this._sessionEngineCore.utilsManager.cancelProcess(Object.assign(Object.assign({}, eventInfo), { progress: 1 }), customizationId);
|
|
219
|
+
if (cancelResult)
|
|
220
|
+
return cancelResult;
|
|
221
|
+
}
|
|
222
|
+
if (!waitForViewportUpdate) {
|
|
223
|
+
setTimeout(() => {
|
|
224
|
+
for (const r in this._stateEngine.viewportEngines)
|
|
225
|
+
if (this._stateEngine.viewportEngines[r] &&
|
|
226
|
+
!this._sessionEngineCore.excludeViewports.includes(this._stateEngine.viewportEngines[r].id))
|
|
227
|
+
this._stateEngine.viewportEngines[r].update(`SessionEngine(${this._sessionEngineCore.id}).customize`);
|
|
228
|
+
}, 0);
|
|
229
|
+
}
|
|
230
|
+
return this._sessionEngineCore.node;
|
|
231
|
+
}
|
|
232
|
+
catch (e) {
|
|
233
|
+
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_CANCEL, Object.assign(Object.assign({}, eventInfo), { progress: 1, status: "Session customization failed" }));
|
|
234
|
+
this._sessionEngineCore.utilsManager.removeBusyMode(customizationId);
|
|
235
|
+
throw this._httpClient.convertError(e);
|
|
236
|
+
}
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Customizes the session in parallel with updated parameters to get the updated scene graph node.
|
|
241
|
+
*
|
|
242
|
+
* @param parameterValues the parameter set to update the session
|
|
243
|
+
* @returns promise with a scene graph node
|
|
244
|
+
*/
|
|
245
|
+
customizeParallel(parameterValues, loadOutputs = true) {
|
|
246
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
247
|
+
const eventInfo = {
|
|
248
|
+
type: viewer_shared_types_1.TASK_TYPE.SESSION_CUSTOMIZATION,
|
|
249
|
+
category: viewer_shared_types_1.TASK_CATEGORY.SESSION_CUSTOMIZATION.CUSTOMIZE_PARALLEL,
|
|
250
|
+
id: this._uuidGenerator.create(),
|
|
251
|
+
data: { sessionId: this._sessionEngineCore.id },
|
|
252
|
+
};
|
|
253
|
+
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_START, Object.assign(Object.assign({}, eventInfo), { progress: 0, status: "Customizing session" }));
|
|
254
|
+
// upload file parameters
|
|
255
|
+
yield this._sessionEngineCore.fileUploadManager.uploadFileParameters(parameterValues);
|
|
256
|
+
const parameterSet = {};
|
|
257
|
+
// create a set of the current validated parameter values
|
|
258
|
+
for (const parameterId in this._sessionEngineCore.parameterManager
|
|
259
|
+
.parameters)
|
|
260
|
+
parameterSet[parameterId] = (" " +
|
|
261
|
+
this._sessionEngineCore.parameterManager.parameters[parameterId].stringify(parameterValues[parameterId])).slice(1);
|
|
262
|
+
const result = yield this.customizeSession(parameterSet, () => false, Object.assign(Object.assign({}, eventInfo), { progressRange: {
|
|
263
|
+
min: 0.0,
|
|
264
|
+
max: 1,
|
|
265
|
+
} }), true, loadOutputs);
|
|
266
|
+
if (result instanceof SessionTreeNode_1.SessionTreeNode) {
|
|
267
|
+
result.excludeViewports = JSON.parse(JSON.stringify(this._sessionEngineCore.excludeViewports));
|
|
268
|
+
// mark all session data as instance data if they are part of a parallel customization
|
|
269
|
+
result.traverseData((data) => {
|
|
270
|
+
if (data instanceof SessionData_1.SessionData)
|
|
271
|
+
data.instance = true;
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_END, Object.assign(Object.assign({}, eventInfo), { progress: 1, status: "Session customized" }));
|
|
275
|
+
return result;
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Customizes the session.
|
|
280
|
+
* Called by customize and customizeParallel.
|
|
281
|
+
*
|
|
282
|
+
* @param cancelRequest function to check if the customization should be cancelled
|
|
283
|
+
* @returns promise with a scene graph node
|
|
284
|
+
*/
|
|
285
|
+
customizeSession(parameters, cancelRequest, taskEventInfo, parallel = false, loadOutputs = true, retry = false) {
|
|
286
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
287
|
+
this._sessionEngineCore.utilsManager.checkAvailability("customize");
|
|
288
|
+
try {
|
|
289
|
+
this._performanceEvaluator.startSection("sessionResponse");
|
|
290
|
+
const responseDto = yield new sdk_geometry_api_sdk_v2_1.UtilsApi(this._sessionEngineCore.sdkConfig).submitAndWaitForOutput(this._sessionEngineCore.sessionId, parameters, undefined, this._sessionEngineCore.parameterManager.ignoreUnknownParams);
|
|
291
|
+
this._performanceEvaluator.endSection("sessionResponse");
|
|
292
|
+
if (loadOutputs === true &&
|
|
293
|
+
this._sessionEngineCore.outputManager.allowOutputLoading ===
|
|
294
|
+
true) {
|
|
295
|
+
if (cancelRequest())
|
|
296
|
+
return new SessionTreeNode_1.SessionTreeNode();
|
|
297
|
+
if (parallel === true) {
|
|
298
|
+
// special case, we load the outputs put don't add them to the scene
|
|
299
|
+
return this._sessionEngineCore.outputManager.loadOutputsParallel(responseDto, cancelRequest, taskEventInfo);
|
|
300
|
+
}
|
|
301
|
+
else {
|
|
302
|
+
// default case, we load the outputs and return the nodes
|
|
303
|
+
this._sessionEngineCore.updateResponseDto(responseDto);
|
|
304
|
+
return this._sessionEngineCore.outputManager.loadOutputs(cancelRequest, taskEventInfo);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
else {
|
|
308
|
+
// special case, we don't load the outputs and only return the responseDto
|
|
309
|
+
const node = new SessionTreeNode_1.SessionTreeNode();
|
|
310
|
+
node.data.push(new SessionData_1.SessionData(responseDto));
|
|
311
|
+
return node;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
catch (e) {
|
|
315
|
+
yield this._sessionEngineCore.utilsManager.handleError(e, retry);
|
|
316
|
+
if (cancelRequest())
|
|
317
|
+
return new SessionTreeNode_1.SessionTreeNode();
|
|
318
|
+
return yield this.customizeSession(parameters, cancelRequest, taskEventInfo, parallel, loadOutputs, true);
|
|
319
|
+
}
|
|
320
|
+
});
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
exports.CustomizationManager = CustomizationManager;
|
|
324
|
+
//# sourceMappingURL=CustomizationManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomizationManager.js","sourceRoot":"","sources":["../../../src/implementation/managers/CustomizationManager.ts"],"names":[],"mappings":"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"}
|