@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,418 @@
|
|
|
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.OutputManager = 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 Output_1 = require("../dto/Output");
|
|
17
|
+
const OutputDelayException_1 = require("../OutputDelayException");
|
|
18
|
+
const OutputLoader_1 = require("../OutputLoader");
|
|
19
|
+
const SessionData_1 = require("../SessionData");
|
|
20
|
+
const SessionTreeNode_1 = require("../SessionTreeNode");
|
|
21
|
+
/**
|
|
22
|
+
* Manager responsible for outputs.
|
|
23
|
+
*
|
|
24
|
+
* The manager is created by the SessionEngineCore and can be accessed
|
|
25
|
+
* via the `outputManager` property.
|
|
26
|
+
*/
|
|
27
|
+
class OutputManager {
|
|
28
|
+
constructor(sessionEngineCore) {
|
|
29
|
+
this._eventEngine = viewer_shared_services_1.EventEngine.instance;
|
|
30
|
+
this._logger = viewer_shared_services_1.Logger.instance;
|
|
31
|
+
this._outputs = {};
|
|
32
|
+
this._outputsFreeze = {};
|
|
33
|
+
this._stateEngine = viewer_shared_services_1.StateEngine.instance;
|
|
34
|
+
this._uuidGenerator = viewer_shared_services_1.UuidGenerator.instance;
|
|
35
|
+
this._allowOutputLoading = true;
|
|
36
|
+
this._outputLoader = new OutputLoader_1.OutputLoader(this);
|
|
37
|
+
this._sessionEngineCore = sessionEngineCore;
|
|
38
|
+
}
|
|
39
|
+
init() {
|
|
40
|
+
// Initialization logic here
|
|
41
|
+
}
|
|
42
|
+
get allowOutputLoading() {
|
|
43
|
+
return this._allowOutputLoading;
|
|
44
|
+
}
|
|
45
|
+
set allowOutputLoading(value) {
|
|
46
|
+
this._allowOutputLoading = value;
|
|
47
|
+
}
|
|
48
|
+
get jwtToken() {
|
|
49
|
+
return this._sessionEngineCore.jwtToken;
|
|
50
|
+
}
|
|
51
|
+
get loadSdtf() {
|
|
52
|
+
return this._sessionEngineCore.loadSdtf;
|
|
53
|
+
}
|
|
54
|
+
get outputs() {
|
|
55
|
+
return this._outputs;
|
|
56
|
+
}
|
|
57
|
+
get outputsFreeze() {
|
|
58
|
+
return this._outputsFreeze;
|
|
59
|
+
}
|
|
60
|
+
get reloadSdtf() {
|
|
61
|
+
return this._outputLoader.reloadSdtf;
|
|
62
|
+
}
|
|
63
|
+
set reloadSdtf(value) {
|
|
64
|
+
this._outputLoader.reloadSdtf = value;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Create outputs from the response DTO.
|
|
68
|
+
*/
|
|
69
|
+
createOutputsFromDto() {
|
|
70
|
+
if (!this._sessionEngineCore.responseDto)
|
|
71
|
+
return;
|
|
72
|
+
for (const outputId in this._sessionEngineCore.responseDto.outputs) {
|
|
73
|
+
if (!this.outputs[outputId]) {
|
|
74
|
+
this._sessionEngineCore.responseDto.outputs[outputId].id =
|
|
75
|
+
outputId;
|
|
76
|
+
if (this.outputsFreeze[outputId] === undefined)
|
|
77
|
+
this.outputsFreeze[outputId] = false;
|
|
78
|
+
this.outputs[outputId] = new Output_1.Output(this._sessionEngineCore.responseDto.outputs[outputId], this._sessionEngineCore, this);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
this.outputs[outputId].updateOutputDefinition((this._sessionEngineCore.responseDto.outputs[outputId]));
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
getCurrentOutputVersions() {
|
|
86
|
+
return this._outputLoader.getCurrentOutputVersions();
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Load cached outputs in parallel.
|
|
90
|
+
*
|
|
91
|
+
* @param outputMapping mapping of output ids to their versions
|
|
92
|
+
* @param taskEventInfo optional task event info
|
|
93
|
+
* @param retry whether to retry the request in case of failure
|
|
94
|
+
* @returns promise with a mapping of output ids to their scene graph nodes
|
|
95
|
+
*/
|
|
96
|
+
loadCachedOutputsParallel(outputMapping, taskEventInfo, retry = false) {
|
|
97
|
+
var _a;
|
|
98
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
99
|
+
this._sessionEngineCore.utilsManager.checkAvailability();
|
|
100
|
+
// if there is already task event info, use it
|
|
101
|
+
// this happens after a retry
|
|
102
|
+
const eventInfo = {
|
|
103
|
+
type: taskEventInfo
|
|
104
|
+
? taskEventInfo.type
|
|
105
|
+
: viewer_shared_types_1.TASK_TYPE.SESSION_OUTPUTS_LOADING,
|
|
106
|
+
category: taskEventInfo ? taskEventInfo.category : undefined,
|
|
107
|
+
id: taskEventInfo ? taskEventInfo.id : this._uuidGenerator.create(),
|
|
108
|
+
data: taskEventInfo
|
|
109
|
+
? taskEventInfo.data
|
|
110
|
+
: { sessionId: this._sessionEngineCore.id },
|
|
111
|
+
progressRange: {
|
|
112
|
+
min: 0,
|
|
113
|
+
max: 1,
|
|
114
|
+
},
|
|
115
|
+
};
|
|
116
|
+
try {
|
|
117
|
+
// send start event if this function was called initially
|
|
118
|
+
if (!taskEventInfo) {
|
|
119
|
+
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_START, Object.assign(Object.assign({}, eventInfo), { progress: 0, status: "Loading cached outputs" }));
|
|
120
|
+
}
|
|
121
|
+
// get the cached outputs
|
|
122
|
+
const responseDto = (yield new sdk_geometry_api_sdk_v2_1.OutputApi(this._sessionEngineCore.sdkConfig).getCachedOutputs(this._sessionEngineCore.sessionId, outputMapping)).data;
|
|
123
|
+
// create atomic output api objects for them
|
|
124
|
+
const outputs = {};
|
|
125
|
+
for (const outputId in responseDto.outputs) {
|
|
126
|
+
responseDto.outputs[outputId].id = outputId;
|
|
127
|
+
outputs[outputId] = new Output_1.Output(responseDto.outputs[outputId], this._sessionEngineCore, this);
|
|
128
|
+
}
|
|
129
|
+
// process the output data
|
|
130
|
+
const node = yield this._outputLoader.loadOutputs(((_a = this._sessionEngineCore.responseDto.model) === null || _a === void 0 ? void 0 : _a.name) || "model", outputs, {}, eventInfo, false);
|
|
131
|
+
// send the end event once done
|
|
132
|
+
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_END, Object.assign(Object.assign({}, eventInfo), { progress: 1, status: "Loaded cached outputs" }));
|
|
133
|
+
// create a mapping with a dictionary for the id of the outputs
|
|
134
|
+
const outputNodeMapping = {};
|
|
135
|
+
for (const outputId in outputMapping)
|
|
136
|
+
outputNodeMapping[outputId] = node.children.find((n) => n.name === outputId);
|
|
137
|
+
return outputNodeMapping;
|
|
138
|
+
}
|
|
139
|
+
catch (e) {
|
|
140
|
+
yield this._sessionEngineCore.utilsManager.handleError(e, retry);
|
|
141
|
+
return yield this.loadCachedOutputsParallel(outputMapping, eventInfo, true);
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Load the outputs and return the scene graph node of the result.
|
|
147
|
+
* In case the outputs have a delay property, another customization request with the parameter set is sent.
|
|
148
|
+
*
|
|
149
|
+
* @param parameters the parameter set to update the session
|
|
150
|
+
* @param outputs the outputs to load
|
|
151
|
+
* @returns promise with a scene graph node
|
|
152
|
+
*/
|
|
153
|
+
loadOutputs(cancelRequest = () => false, taskEventInfo, retry = false) {
|
|
154
|
+
var _a;
|
|
155
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
156
|
+
this._sessionEngineCore.utilsManager.checkAvailability();
|
|
157
|
+
const o = Object.assign({}, this.outputs);
|
|
158
|
+
const of = Object.assign({}, this.outputsFreeze);
|
|
159
|
+
try {
|
|
160
|
+
const node = yield this._outputLoader.loadOutputs(((_a = this._sessionEngineCore.responseDto.model) === null || _a === void 0 ? void 0 : _a.name) || "model", o, of, taskEventInfo);
|
|
161
|
+
node.data.push(new SessionData_1.SessionData(this._sessionEngineCore.responseDto));
|
|
162
|
+
if (cancelRequest())
|
|
163
|
+
return node;
|
|
164
|
+
node.excludeViewports = JSON.parse(JSON.stringify(this._sessionEngineCore.excludeViewports));
|
|
165
|
+
return node;
|
|
166
|
+
}
|
|
167
|
+
catch (e) {
|
|
168
|
+
if (e instanceof OutputDelayException_1.OutputDelayException) {
|
|
169
|
+
yield this._sessionEngineCore.utilsManager.timeout(e.delay);
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
yield this._sessionEngineCore.utilsManager.handleError(e, retry);
|
|
173
|
+
if (cancelRequest())
|
|
174
|
+
return new SessionTreeNode_1.SessionTreeNode();
|
|
175
|
+
return yield this.loadOutputs(cancelRequest, taskEventInfo, true);
|
|
176
|
+
}
|
|
177
|
+
if (cancelRequest())
|
|
178
|
+
return new SessionTreeNode_1.SessionTreeNode();
|
|
179
|
+
const outputMapping = {};
|
|
180
|
+
for (const output in o)
|
|
181
|
+
outputMapping[output] = o[output].version;
|
|
182
|
+
try {
|
|
183
|
+
const responseDto = (yield new sdk_geometry_api_sdk_v2_1.OutputApi(this._sessionEngineCore.sdkConfig).getCachedOutputs(this._sessionEngineCore.sessionId, outputMapping)).data;
|
|
184
|
+
if (cancelRequest())
|
|
185
|
+
return new SessionTreeNode_1.SessionTreeNode();
|
|
186
|
+
this._sessionEngineCore.updateResponseDto(responseDto);
|
|
187
|
+
return yield this.loadOutputs(cancelRequest, taskEventInfo);
|
|
188
|
+
}
|
|
189
|
+
catch (e) {
|
|
190
|
+
yield this._sessionEngineCore.utilsManager.handleError(e, retry);
|
|
191
|
+
if (cancelRequest())
|
|
192
|
+
return new SessionTreeNode_1.SessionTreeNode();
|
|
193
|
+
return yield this.loadOutputs(cancelRequest, taskEventInfo, true);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Load the outputs and return the scene graph node of the result.
|
|
200
|
+
* In case the outputs have a delay property, another customization request with the parameter set is sent.
|
|
201
|
+
*
|
|
202
|
+
* @param parameters the parameter set to update the session
|
|
203
|
+
* @param outputs the outputs to load
|
|
204
|
+
* @returns promise with a scene graph node
|
|
205
|
+
*/
|
|
206
|
+
loadOutputsParallel(responseDto, cancelRequest = () => false, taskEventInfo, retry = false) {
|
|
207
|
+
var _a;
|
|
208
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
209
|
+
this._sessionEngineCore.utilsManager.checkAvailability();
|
|
210
|
+
const outputs = {};
|
|
211
|
+
const outputsFreeze = {};
|
|
212
|
+
for (const outputId in responseDto.outputs) {
|
|
213
|
+
responseDto.outputs[outputId].id = outputId;
|
|
214
|
+
if (this.outputsFreeze[outputId] === undefined)
|
|
215
|
+
outputsFreeze[outputId] = false;
|
|
216
|
+
outputs[outputId] = new Output_1.Output(responseDto.outputs[outputId], this._sessionEngineCore, this);
|
|
217
|
+
}
|
|
218
|
+
try {
|
|
219
|
+
const node = yield this._outputLoader.loadOutputs(((_a = this._sessionEngineCore.responseDto.model) === null || _a === void 0 ? void 0 : _a.name) || "model", outputs, outputsFreeze, taskEventInfo, true, true);
|
|
220
|
+
node.data.push(new SessionData_1.SessionData(responseDto));
|
|
221
|
+
return node;
|
|
222
|
+
}
|
|
223
|
+
catch (e) {
|
|
224
|
+
if (e instanceof OutputDelayException_1.OutputDelayException) {
|
|
225
|
+
yield this._sessionEngineCore.utilsManager.timeout(e.delay);
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
yield this._sessionEngineCore.utilsManager.handleError(e, retry);
|
|
229
|
+
if (cancelRequest())
|
|
230
|
+
return new SessionTreeNode_1.SessionTreeNode();
|
|
231
|
+
return yield this.loadOutputsParallel(responseDto, cancelRequest, taskEventInfo, true);
|
|
232
|
+
}
|
|
233
|
+
if (cancelRequest())
|
|
234
|
+
return new SessionTreeNode_1.SessionTreeNode();
|
|
235
|
+
const outputMapping = {};
|
|
236
|
+
for (const output in outputs)
|
|
237
|
+
outputMapping[output] = outputs[output].version;
|
|
238
|
+
try {
|
|
239
|
+
const responseDto = (yield new sdk_geometry_api_sdk_v2_1.OutputApi(this._sessionEngineCore.sdkConfig).getCachedOutputs(this._sessionEngineCore.sessionId, outputMapping)).data;
|
|
240
|
+
if (cancelRequest())
|
|
241
|
+
return new SessionTreeNode_1.SessionTreeNode();
|
|
242
|
+
this._sessionEngineCore.updateResponseDto(responseDto);
|
|
243
|
+
return yield this.loadOutputsParallel(responseDto, cancelRequest, taskEventInfo);
|
|
244
|
+
}
|
|
245
|
+
catch (e) {
|
|
246
|
+
yield this._sessionEngineCore.utilsManager.handleError(e, retry);
|
|
247
|
+
if (cancelRequest())
|
|
248
|
+
return new SessionTreeNode_1.SessionTreeNode();
|
|
249
|
+
return yield this.loadOutputsParallel(responseDto, cancelRequest, taskEventInfo, true);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Save the output properties for displayname, order, tooltip and hidden
|
|
256
|
+
*
|
|
257
|
+
* @param outputs
|
|
258
|
+
* @returns
|
|
259
|
+
*/
|
|
260
|
+
saveOutputProperties(outputs, retry = false) {
|
|
261
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
262
|
+
this._sessionEngineCore.utilsManager.checkAvailability("output-definition", true);
|
|
263
|
+
try {
|
|
264
|
+
yield new sdk_geometry_api_sdk_v2_1.OutputApi(this._sessionEngineCore.sdkConfig).updateOutputDefinitions(this._sessionEngineCore.modelId, outputs);
|
|
265
|
+
return true;
|
|
266
|
+
}
|
|
267
|
+
catch (e) {
|
|
268
|
+
yield this._sessionEngineCore.utilsManager.handleError(e, retry);
|
|
269
|
+
return yield this.saveOutputProperties(outputs, true);
|
|
270
|
+
}
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Update the outputs and return the scene graph node of the result.
|
|
275
|
+
* In case the outputs have a delay property, another customization request with the parameter set is sent.
|
|
276
|
+
*
|
|
277
|
+
* @param taskEventInfo optional task event info
|
|
278
|
+
* @param waitForViewportUpdate whether to wait for the viewport update callbacks before returning
|
|
279
|
+
* @returns promise with a scene graph node
|
|
280
|
+
*/
|
|
281
|
+
updateOutputs(taskEventInfo, waitForViewportUpdate = false) {
|
|
282
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
283
|
+
const eventInfo = {
|
|
284
|
+
type: taskEventInfo
|
|
285
|
+
? taskEventInfo.type
|
|
286
|
+
: viewer_shared_types_1.TASK_TYPE.SESSION_OUTPUTS_UPDATE,
|
|
287
|
+
category: taskEventInfo ? taskEventInfo.category : undefined,
|
|
288
|
+
id: taskEventInfo ? taskEventInfo.id : this._uuidGenerator.create(),
|
|
289
|
+
data: taskEventInfo
|
|
290
|
+
? taskEventInfo.data
|
|
291
|
+
: { sessionId: this._sessionEngineCore.id },
|
|
292
|
+
progress: 0,
|
|
293
|
+
};
|
|
294
|
+
const customizationId = this._uuidGenerator.create();
|
|
295
|
+
if (!taskEventInfo) {
|
|
296
|
+
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_START, Object.assign(Object.assign({}, eventInfo), { progress: 0, status: "Updating outputs" }));
|
|
297
|
+
}
|
|
298
|
+
const oldNode = this._sessionEngineCore.node;
|
|
299
|
+
this._sessionEngineCore.customizationManager.customizationProcess =
|
|
300
|
+
customizationId;
|
|
301
|
+
this._logger.debugLow(`Session(${this._sessionEngineCore.id}).updateOutputs: Updating Outputs.`);
|
|
302
|
+
this._sessionEngineCore.utilsManager.addBusyMode(customizationId);
|
|
303
|
+
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_PROCESS, Object.assign(Object.assign({}, eventInfo), { progress: taskEventInfo
|
|
304
|
+
? (taskEventInfo.progressRange.max -
|
|
305
|
+
taskEventInfo.progressRange.min) *
|
|
306
|
+
0.1 +
|
|
307
|
+
taskEventInfo.progressRange.min
|
|
308
|
+
: 0.1, status: "Loading outputs" }));
|
|
309
|
+
const oldOutputVersions = this._outputLoader.getCurrentOutputVersions();
|
|
310
|
+
const newNode = yield this.loadOutputs(() => this._sessionEngineCore.customizationManager
|
|
311
|
+
.customizationProcess !== customizationId, Object.assign(Object.assign({}, eventInfo), { progressRange: {
|
|
312
|
+
min: taskEventInfo
|
|
313
|
+
? (taskEventInfo.progressRange.max -
|
|
314
|
+
taskEventInfo.progressRange.min) *
|
|
315
|
+
0.1 +
|
|
316
|
+
taskEventInfo.progressRange.min
|
|
317
|
+
: 0.1,
|
|
318
|
+
max: taskEventInfo
|
|
319
|
+
? (taskEventInfo.progressRange.max -
|
|
320
|
+
taskEventInfo.progressRange.min) *
|
|
321
|
+
0.9 +
|
|
322
|
+
taskEventInfo.progressRange.min
|
|
323
|
+
: 0.9,
|
|
324
|
+
} }));
|
|
325
|
+
this._sessionEngineCore.utilsManager.warningCreator(this._sessionEngineCore.responseDto.outputs, this._sessionEngineCore.responseDto.exports, this._sessionEngineCore.customizationManager
|
|
326
|
+
.throwOnCustomizationError);
|
|
327
|
+
const newOutputVersions = this._outputLoader.getCurrentOutputVersions();
|
|
328
|
+
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_PROCESS, Object.assign(Object.assign({}, eventInfo), { progress: taskEventInfo
|
|
329
|
+
? (taskEventInfo.progressRange.max -
|
|
330
|
+
taskEventInfo.progressRange.min) *
|
|
331
|
+
0.9 +
|
|
332
|
+
taskEventInfo.progressRange.min
|
|
333
|
+
: 0.9, status: "Updating scene" }));
|
|
334
|
+
// OPTION TO SKIP - PART 1
|
|
335
|
+
const cancelResult = this._sessionEngineCore.utilsManager.cancelProcess(Object.assign(Object.assign({}, eventInfo), { progress: taskEventInfo
|
|
336
|
+
? (taskEventInfo.progressRange.max -
|
|
337
|
+
taskEventInfo.progressRange.min) *
|
|
338
|
+
1 +
|
|
339
|
+
taskEventInfo.progressRange.min
|
|
340
|
+
: 1 }), customizationId, newNode);
|
|
341
|
+
if (cancelResult)
|
|
342
|
+
return cancelResult;
|
|
343
|
+
// call the update callbacks
|
|
344
|
+
if (waitForViewportUpdate === false) {
|
|
345
|
+
for (const outputId in this.outputs) {
|
|
346
|
+
if (oldOutputVersions[outputId] !== newOutputVersions[outputId]) {
|
|
347
|
+
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.OUTPUT.OUTPUT_UPDATED, {
|
|
348
|
+
outputId: outputId,
|
|
349
|
+
outputVersion: newOutputVersions[outputId],
|
|
350
|
+
newNode: newNode.children.find((c) => c.name === outputId),
|
|
351
|
+
oldNode: oldNode.children.find((c) => c.name === outputId),
|
|
352
|
+
});
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
yield this._sessionEngineCore.utilsManager.waitForUpdateCallbacks(newOutputVersions, oldOutputVersions, newNode, oldNode);
|
|
356
|
+
// OPTION TO SKIP - PART 2
|
|
357
|
+
const cancelResult = this._sessionEngineCore.utilsManager.cancelProcess(Object.assign(Object.assign({}, eventInfo), { progress: taskEventInfo
|
|
358
|
+
? (taskEventInfo.progressRange.max -
|
|
359
|
+
taskEventInfo.progressRange.min) *
|
|
360
|
+
1 +
|
|
361
|
+
taskEventInfo.progressRange.min
|
|
362
|
+
: 1 }), customizationId, newNode);
|
|
363
|
+
if (cancelResult)
|
|
364
|
+
return cancelResult;
|
|
365
|
+
}
|
|
366
|
+
if (this._sessionEngineCore.automaticSceneUpdate)
|
|
367
|
+
this._sessionEngineCore.utilsManager.removeFromSceneTree(this._sessionEngineCore.node);
|
|
368
|
+
this._sessionEngineCore.node = newNode;
|
|
369
|
+
if (this._sessionEngineCore.automaticSceneUpdate &&
|
|
370
|
+
this._sessionEngineCore.closed === false)
|
|
371
|
+
this._sessionEngineCore.utilsManager.addToSceneTree(this._sessionEngineCore.node);
|
|
372
|
+
this._logger.debug(`Session(${this._sessionEngineCore.id}).updateOutputs: Updating outputs finished, updating geometry.`);
|
|
373
|
+
// set the output content to what has been updated
|
|
374
|
+
for (const outputId in this.outputs) {
|
|
375
|
+
this.outputs[outputId].updateOutput(newNode.children.find((c) => c.name === outputId), oldNode.children.find((c) => c.name === outputId));
|
|
376
|
+
}
|
|
377
|
+
// set the export definitions
|
|
378
|
+
for (const exportId in this._sessionEngineCore.exportManager.exports)
|
|
379
|
+
this._sessionEngineCore.exportManager.exports[exportId].updateExport();
|
|
380
|
+
this._sessionEngineCore.node.excludeViewports = JSON.parse(JSON.stringify(this._sessionEngineCore.excludeViewports));
|
|
381
|
+
this._sessionEngineCore.utilsManager.removeBusyMode(customizationId);
|
|
382
|
+
this._logger.debug(`Session(${this._sessionEngineCore.id}).updateOutputs: Updated outputs.`);
|
|
383
|
+
if (!taskEventInfo) {
|
|
384
|
+
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_END, Object.assign(Object.assign({}, eventInfo), { progress: 1, status: "Outputs updated" }));
|
|
385
|
+
}
|
|
386
|
+
// update the viewports
|
|
387
|
+
if (waitForViewportUpdate) {
|
|
388
|
+
for (const r in this._stateEngine.viewportEngines)
|
|
389
|
+
if (this._stateEngine.viewportEngines[r] &&
|
|
390
|
+
!this._sessionEngineCore.excludeViewports.includes(this._stateEngine.viewportEngines[r].id))
|
|
391
|
+
this._stateEngine.viewportEngines[r].update(`SessionEngine(${this._sessionEngineCore.id}).updateOutputs`);
|
|
392
|
+
for (const outputId in this.outputs) {
|
|
393
|
+
if (oldOutputVersions[outputId] !== newOutputVersions[outputId]) {
|
|
394
|
+
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.OUTPUT.OUTPUT_UPDATED, {
|
|
395
|
+
outputId: outputId,
|
|
396
|
+
outputVersion: newOutputVersions[outputId],
|
|
397
|
+
newNode: newNode.children.find((c) => c.name === outputId),
|
|
398
|
+
oldNode: oldNode.children.find((c) => c.name === outputId),
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
yield this._sessionEngineCore.utilsManager.waitForUpdateCallbacks(newOutputVersions, oldOutputVersions, newNode, oldNode);
|
|
403
|
+
// OPTION TO SKIP - PART 3
|
|
404
|
+
const cancelResult = this._sessionEngineCore.utilsManager.cancelProcess(Object.assign(Object.assign({}, eventInfo), { progress: taskEventInfo
|
|
405
|
+
? (taskEventInfo.progressRange.max -
|
|
406
|
+
taskEventInfo.progressRange.min) *
|
|
407
|
+
1 +
|
|
408
|
+
taskEventInfo.progressRange.min
|
|
409
|
+
: 1 }), customizationId, newNode);
|
|
410
|
+
if (cancelResult)
|
|
411
|
+
return cancelResult;
|
|
412
|
+
}
|
|
413
|
+
return this._sessionEngineCore.node;
|
|
414
|
+
});
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
exports.OutputManager = OutputManager;
|
|
418
|
+
//# sourceMappingURL=OutputManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OutputManager.js","sourceRoot":"","sources":["../../../src/implementation/managers/OutputManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { ITreeNode } from "@shapediver/viewer.shared.node-tree";
|
|
2
|
+
import { IParameter } from "../../interfaces/dto/IParameter";
|
|
3
|
+
import { SessionEngineCore } from "../SessionEngineCore";
|
|
4
|
+
/**
|
|
5
|
+
* Manager responsible for parameters.
|
|
6
|
+
*
|
|
7
|
+
* The manager is created by the SessionEngineCore and can be accessed
|
|
8
|
+
* via the `parameterManager` property.
|
|
9
|
+
*/
|
|
10
|
+
export declare class ParameterManager {
|
|
11
|
+
private readonly _logger;
|
|
12
|
+
private readonly _parameterValues;
|
|
13
|
+
private readonly _parameters;
|
|
14
|
+
private readonly _sessionEngineCore;
|
|
15
|
+
private _ignoreUnknownParams?;
|
|
16
|
+
private _parameterHistory;
|
|
17
|
+
private _parameterHistoryCall;
|
|
18
|
+
private _parameterHistoryForward;
|
|
19
|
+
constructor(sessionEngineCore: SessionEngineCore);
|
|
20
|
+
get ignoreUnknownParams(): boolean | undefined;
|
|
21
|
+
set ignoreUnknownParams(value: boolean | undefined);
|
|
22
|
+
get parameterHistory(): {
|
|
23
|
+
[key: string]: {
|
|
24
|
+
value: unknown;
|
|
25
|
+
valueString: string;
|
|
26
|
+
};
|
|
27
|
+
}[];
|
|
28
|
+
get parameterHistoryCall(): boolean;
|
|
29
|
+
set parameterHistoryForward(value: {
|
|
30
|
+
[key: string]: {
|
|
31
|
+
value: unknown;
|
|
32
|
+
valueString: string;
|
|
33
|
+
};
|
|
34
|
+
}[]);
|
|
35
|
+
get parameterValues(): {
|
|
36
|
+
[key: string]: string;
|
|
37
|
+
};
|
|
38
|
+
get parameters(): {
|
|
39
|
+
[key: string]: IParameter<unknown>;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Checks whether it is possible to go back in the parameter history.
|
|
43
|
+
*
|
|
44
|
+
* @returns True if it is possible to go back, false otherwise.
|
|
45
|
+
*/
|
|
46
|
+
canGoBack(): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Checks whether it is possible to go forward in the parameter history.
|
|
49
|
+
*
|
|
50
|
+
* @returns True if it is possible to go forward, false otherwise.
|
|
51
|
+
*/
|
|
52
|
+
canGoForward(): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Creates parameters from the session engine's response DTO.
|
|
55
|
+
*
|
|
56
|
+
* @param initialParameters
|
|
57
|
+
* @returns
|
|
58
|
+
*/
|
|
59
|
+
createParametersFromDto(initialParameters?: {
|
|
60
|
+
[key: string]: string;
|
|
61
|
+
}): void;
|
|
62
|
+
/**
|
|
63
|
+
* Goes one step back in the parameter history and applies the parameter values.
|
|
64
|
+
*
|
|
65
|
+
* @returns The tree node returned by the customization function.
|
|
66
|
+
*/
|
|
67
|
+
goBack(): Promise<ITreeNode>;
|
|
68
|
+
/**
|
|
69
|
+
* Goes one step forward in the parameter history and applies the parameter values.
|
|
70
|
+
*
|
|
71
|
+
* @returns The tree node returned by the customization function.
|
|
72
|
+
*/
|
|
73
|
+
goForward(): Promise<ITreeNode>;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=ParameterManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParameterManager.d.ts","sourceRoot":"","sources":["../../../src/implementation/managers/ParameterManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAW,MAAM,qCAAqC,CAAC;AAMxE,OAAO,EAAC,UAAU,EAAC,MAAM,iCAAiC,CAAC;AAI3D,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAEvD;;;;;GAKG;AACH,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA+B;IAChE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4C;IACxE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IAEvD,OAAO,CAAC,oBAAoB,CAAC,CAAU;IACvC,OAAO,CAAC,iBAAiB,CAKhB;IACT,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,wBAAwB,CAKvB;gBAEG,iBAAiB,EAAE,iBAAiB;IAIhD,IAAW,mBAAmB,IAAI,OAAO,GAAG,SAAS,CAEpD;IAED,IAAW,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAExD;IAED,IAAW,gBAAgB,IAAI;QAC9B,CAAC,GAAG,EAAE,MAAM,GAAG;YACd,KAAK,EAAE,OAAO,CAAC;YACf,WAAW,EAAE,MAAM,CAAC;SACpB,CAAC;KACF,EAAE,CAEF;IAED,IAAW,oBAAoB,IAAI,OAAO,CAEzC;IAED,IAAW,uBAAuB,CACjC,KAAK,EAAE;QACN,CAAC,GAAG,EAAE,MAAM,GAAG;YACd,KAAK,EAAE,OAAO,CAAC;YACf,WAAW,EAAE,MAAM,CAAC;SACpB,CAAC;KACF,EAAE,EAGH;IAED,IAAW,eAAe,IAAI;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAEpD;IAED,IAAW,UAAU,IAAI;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;KAAC,CAE5D;IAED;;;;OAIG;IACI,SAAS,IAAI,OAAO;IAM3B;;;;OAIG;IACI,YAAY,IAAI,OAAO;IAI9B;;;;;OAKG;IACI,uBAAuB,CAAC,iBAAiB,CAAC,EAAE;QAClD,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACtB,GAAG,IAAI;IAyKR;;;;OAIG;IACU,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC;IA4BzC;;;;OAIG;IACU,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC;CAuB5C"}
|