@shapediver/viewer.data-engine.geometry-engine 1.12.0 → 1.12.4
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/GeometryEngine.d.ts +7 -1
- package/dist/GeometryEngine.d.ts.map +1 -1
- package/dist/GeometryEngine.js +16 -3
- package/dist/GeometryEngine.js.map +1 -1
- package/dist/gltfv1/GLTFLoader.d.ts +1 -2
- package/dist/gltfv1/GLTFLoader.d.ts.map +1 -1
- package/dist/gltfv1/GLTFLoader.js +14 -4
- package/dist/gltfv1/GLTFLoader.js.map +1 -1
- package/dist/gltfv1/SDGTFLoader.js +63 -16
- package/dist/gltfv1/SDGTFLoader.js.map +1 -1
- package/dist/gltfv2/GLTFConverter.js +39 -1
- package/dist/gltfv2/GLTFConverter.js.map +1 -1
- package/dist/gltfv2/GLTFLoader.d.ts +7 -2
- package/dist/gltfv2/GLTFLoader.d.ts.map +1 -1
- package/dist/gltfv2/GLTFLoader.js +29 -4
- package/dist/gltfv2/GLTFLoader.js.map +1 -1
- package/package.json +10 -9
package/dist/GeometryEngine.d.ts
CHANGED
|
@@ -7,6 +7,12 @@ export declare class GeometryEngine {
|
|
|
7
7
|
private readonly _performanceEvaluator;
|
|
8
8
|
constructor();
|
|
9
9
|
convertSceneToGLTF(node: TreeNode, convertForAR?: boolean): Promise<any | string | ArrayBuffer | null>;
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Load the geometry content into a scene graph node.
|
|
12
|
+
*
|
|
13
|
+
* @param content the geometry content
|
|
14
|
+
* @returns the scene graph node
|
|
15
|
+
*/
|
|
16
|
+
loadContent(content: ShapeDiverResponseOutputContent): Promise<TreeNode>;
|
|
11
17
|
}
|
|
12
18
|
//# sourceMappingURL=GeometryEngine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeometryEngine.d.ts","sourceRoot":"","sources":["../src/GeometryEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAO9D,OAAO,EAAE,+BAA+B,EAAE,MAAM,qCAAqC,CAAA;AAErF,qBACa,cAAc;IAGvB,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAM;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyD;IACrF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6C;IACrE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiE;;IAY1F,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,UAAQ,GAAG,OAAO,CAAC,GAAG,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"GeometryEngine.d.ts","sourceRoot":"","sources":["../src/GeometryEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAO9D,OAAO,EAAE,+BAA+B,EAAE,MAAM,qCAAqC,CAAA;AAErF,qBACa,cAAc;IAGvB,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAM;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyD;IACrF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6C;IACrE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiE;;IAY1F,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,UAAQ,GAAG,OAAO,CAAC,GAAG,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;IAIjH;;;;;OAKG;IACU,WAAW,CAAC,OAAO,EAAE,+BAA+B,GAAG,OAAO,CAAC,QAAQ,CAAC;CAmGxF"}
|
package/dist/GeometryEngine.js
CHANGED
|
@@ -25,18 +25,29 @@ const GLTFLoader_1 = require("./gltfv1/GLTFLoader");
|
|
|
25
25
|
const GLTFLoader_2 = require("./gltfv2/GLTFLoader");
|
|
26
26
|
const GLTFConverter_1 = require("./gltfv2/GLTFConverter");
|
|
27
27
|
let GeometryEngine = class GeometryEngine {
|
|
28
|
+
// #endregion Properties (4)
|
|
29
|
+
// #region Constructors (1)
|
|
28
30
|
constructor() {
|
|
31
|
+
// #region Properties (4)
|
|
29
32
|
this.BINARY_EXTENSION_HEADER_LENGTH = 20;
|
|
30
33
|
this._httpClient = tsyringe_1.container.resolve(viewer_shared_services_1.HttpClient);
|
|
31
34
|
this._logger = tsyringe_1.container.resolve(viewer_shared_services_1.Logger);
|
|
32
35
|
this._performanceEvaluator = tsyringe_1.container.resolve(viewer_shared_services_1.PerformanceEvaluator);
|
|
33
36
|
}
|
|
37
|
+
// #endregion Constructors (1)
|
|
38
|
+
// #region Public Methods (2)
|
|
34
39
|
convertSceneToGLTF(node, convertForAR = false) {
|
|
35
40
|
return __awaiter(this, void 0, void 0, function* () {
|
|
36
41
|
return new GLTFConverter_1.GLTFConverter().convert(node, convertForAR);
|
|
37
42
|
});
|
|
38
43
|
}
|
|
39
|
-
|
|
44
|
+
/**
|
|
45
|
+
* Load the geometry content into a scene graph node.
|
|
46
|
+
*
|
|
47
|
+
* @param content the geometry content
|
|
48
|
+
* @returns the scene graph node
|
|
49
|
+
*/
|
|
50
|
+
loadContent(content) {
|
|
40
51
|
return __awaiter(this, void 0, void 0, function* () {
|
|
41
52
|
if (!content || (content && !content.href)) {
|
|
42
53
|
const error = new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('GeometryEngine cannot load content.');
|
|
@@ -65,6 +76,7 @@ let GeometryEngine = class GeometryEngine {
|
|
|
65
76
|
axiosResponse.headers['content-type'] === 'model/gltf.binary'));
|
|
66
77
|
if (isBinary) {
|
|
67
78
|
gltfBinary = axiosResponse.data;
|
|
79
|
+
// create header data
|
|
68
80
|
const headerDataView = new DataView(gltfBinary, 0, this.BINARY_EXTENSION_HEADER_LENGTH);
|
|
69
81
|
gltfHeader = {
|
|
70
82
|
magic: magic,
|
|
@@ -77,6 +89,7 @@ let GeometryEngine = class GeometryEngine {
|
|
|
77
89
|
const error = new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('Invalid data: glTF magic wrong.');
|
|
78
90
|
throw this._logger.handleError(viewer_shared_services_1.LOGGINGTOPIC.DATA_PROCESSING, `GeometryEngine.loadContent`, error);
|
|
79
91
|
}
|
|
92
|
+
// create content
|
|
80
93
|
const contentDataView = new DataView(gltfBinary, this.BINARY_EXTENSION_HEADER_LENGTH, gltfHeader.contentLength);
|
|
81
94
|
const contentDecoded = new TextDecoder().decode(contentDataView);
|
|
82
95
|
gltfContent = JSON.parse(contentDecoded);
|
|
@@ -119,10 +132,10 @@ let GeometryEngine = class GeometryEngine {
|
|
|
119
132
|
}
|
|
120
133
|
let node;
|
|
121
134
|
if (version === '1.0') {
|
|
122
|
-
node = yield new GLTFLoader_1.GLTFLoader().load(gltfContent,
|
|
135
|
+
node = yield new GLTFLoader_1.GLTFLoader().load(gltfContent, gltfBinary, gltfHeader, gltfBaseUrl);
|
|
123
136
|
}
|
|
124
137
|
else {
|
|
125
|
-
node = yield new GLTFLoader_2.GLTFLoader().load(gltfContent,
|
|
138
|
+
node = yield new GLTFLoader_2.GLTFLoader().load(gltfContent, gltfBinary, gltfHeader, gltfBaseUrl);
|
|
126
139
|
}
|
|
127
140
|
this._performanceEvaluator.endSection('gltfProcessing.' + url);
|
|
128
141
|
return node;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeometryEngine.js","sourceRoot":"","sources":["../src/GeometryEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA,uCAA+C;AAC/C,+EAAgJ;AAEhJ,oDAAiE;AACjE,oDAAiE;AACjE,0DAAsD;AAItD,IAAa,cAAc,GAA3B,MAAa,cAAc;
|
|
1
|
+
{"version":3,"file":"GeometryEngine.js","sourceRoot":"","sources":["../src/GeometryEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,8 +12,7 @@ export declare class GLTFLoader {
|
|
|
12
12
|
private _baseUri;
|
|
13
13
|
private _body;
|
|
14
14
|
private _content;
|
|
15
|
-
|
|
16
|
-
load(content: IGLTF_v1, loadData: (img: string) => Promise<Blob | HTMLImageElement>, gltfBinary?: ArrayBuffer, gltfHeader?: {
|
|
15
|
+
load(content: IGLTF_v1, gltfBinary?: ArrayBuffer, gltfHeader?: {
|
|
17
16
|
magic: string;
|
|
18
17
|
version: number;
|
|
19
18
|
length: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GLTFLoader.d.ts","sourceRoot":"","sources":["../../src/gltfv1/GLTFLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAE9D,OAAO,EAGL,QAAQ,EAET,MAAM,6CAA6C,CAAA;AAapD,qBAAa,UAAU;IAGnB,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAM;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyD;IACrF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkE;IACjG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6C;IACrE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA4B;IACnE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAoE;IAC1G,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsD;IACjF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiE;IAEvG,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,QAAQ,CAAY;
|
|
1
|
+
{"version":3,"file":"GLTFLoader.d.ts","sourceRoot":"","sources":["../../src/gltfv1/GLTFLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAE9D,OAAO,EAGL,QAAQ,EAET,MAAM,6CAA6C,CAAA;AAapD,qBAAa,UAAU;IAGnB,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAM;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyD;IACrF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkE;IACjG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6C;IACrE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA4B;IACnE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAoE;IAC1G,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsD;IACjF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiE;IAEvG,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,QAAQ,CAAY;IAMf,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAoBrM,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;IAqDrE,OAAO,CAAC,4BAA4B;YAkBtB,YAAY;YAsBZ,UAAU;YAiBV,cAAc;YAUd,YAAY;YAmDZ,QAAQ;YA4CR,QAAQ;YAyCR,SAAS;CAiB1B"}
|
|
@@ -19,6 +19,7 @@ const tsyringe_1 = require("tsyringe");
|
|
|
19
19
|
const SDGTFLoader_1 = require("./SDGTFLoader");
|
|
20
20
|
class GLTFLoader {
|
|
21
21
|
constructor() {
|
|
22
|
+
// #region Properties (5)
|
|
22
23
|
this.BINARY_EXTENSION_HEADER_LENGTH = 20;
|
|
23
24
|
this._httpClient = tsyringe_1.container.resolve(viewer_shared_services_1.HttpClient);
|
|
24
25
|
this._uuidGenerator = tsyringe_1.container.resolve(viewer_shared_services_1.UuidGenerator);
|
|
@@ -27,12 +28,12 @@ class GLTFLoader {
|
|
|
27
28
|
this._globalTransformation = gl_matrix_1.mat4.fromValues(1, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1);
|
|
28
29
|
this._converter = tsyringe_1.container.resolve(viewer_shared_services_1.Converter);
|
|
29
30
|
this._performanceEvaluator = tsyringe_1.container.resolve(viewer_shared_services_1.PerformanceEvaluator);
|
|
30
|
-
|
|
31
|
+
// #endregion Private Methods (6)
|
|
31
32
|
}
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
// #endregion Properties (5)
|
|
34
|
+
// #region Public Methods (1)
|
|
35
|
+
load(content, gltfBinary, gltfHeader, baseUri) {
|
|
34
36
|
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
-
this._loadData = loadData;
|
|
36
37
|
this._baseUri = baseUri;
|
|
37
38
|
if (gltfBinary && gltfHeader)
|
|
38
39
|
this._body = gltfBinary.slice(this.BINARY_EXTENSION_HEADER_LENGTH + gltfHeader.contentLength, gltfHeader.length);
|
|
@@ -66,6 +67,7 @@ class GLTFLoader {
|
|
|
66
67
|
catch (e) {
|
|
67
68
|
throw this._logger.handleError(viewer_shared_services_1.LOGGINGTOPIC.DATA_PROCESSING, `GLTFLoader.load`, e);
|
|
68
69
|
}
|
|
70
|
+
// create header data
|
|
69
71
|
const headerDataView = new DataView(binaryGeometry, 0, this.BINARY_EXTENSION_HEADER_LENGTH);
|
|
70
72
|
const header = {
|
|
71
73
|
magic: String.fromCharCode(headerDataView.getUint8(0)) + String.fromCharCode(headerDataView.getUint8(1)) + String.fromCharCode(headerDataView.getUint8(2)) + String.fromCharCode(headerDataView.getUint8(3)),
|
|
@@ -78,9 +80,11 @@ class GLTFLoader {
|
|
|
78
80
|
const error = new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('GLTFLoader.load: Invalid data: glTF magic wrong.');
|
|
79
81
|
throw this._logger.handleError(viewer_shared_services_1.LOGGINGTOPIC.DATA_PROCESSING, `GLTFLoader.load`, error);
|
|
80
82
|
}
|
|
83
|
+
// create content
|
|
81
84
|
const contentDataView = new DataView(binaryGeometry, this.BINARY_EXTENSION_HEADER_LENGTH, header.contentLength);
|
|
82
85
|
const contentDecoded = new TextDecoder().decode(contentDataView);
|
|
83
86
|
this._content = JSON.parse(contentDecoded);
|
|
87
|
+
// create body
|
|
84
88
|
this._body = binaryGeometry.slice(this.BINARY_EXTENSION_HEADER_LENGTH + header.contentLength, header.length);
|
|
85
89
|
const sdgtfNode = yield new SDGTFLoader_1.SDGTFLoader().load(binaryGeometry, header.length);
|
|
86
90
|
try {
|
|
@@ -95,6 +99,8 @@ class GLTFLoader {
|
|
|
95
99
|
}
|
|
96
100
|
});
|
|
97
101
|
}
|
|
102
|
+
// #endregion Public Methods (1)
|
|
103
|
+
// #region Private Methods (6)
|
|
98
104
|
validateVersionAndExtensions() {
|
|
99
105
|
if (this._content.extensionsUsed) {
|
|
100
106
|
const notSupported = [];
|
|
@@ -130,6 +136,7 @@ class GLTFLoader {
|
|
|
130
136
|
const normalized = false;
|
|
131
137
|
const min = this._content.asset && ((_a = this._content.asset) === null || _a === void 0 ? void 0 : _a.generator) === "ShapeDiverGltfV1Writer" ? accessor.min || [] : [];
|
|
132
138
|
const max = this._content.asset && ((_b = this._content.asset) === null || _b === void 0 ? void 0 : _b.generator) === "ShapeDiverGltfV1Writer" ? accessor.max || [] : [];
|
|
139
|
+
// The buffer is not interleaved if the stride is the item size in bytes.
|
|
133
140
|
return new viewer_shared_types_1.AttributeData(new ArrayType(bufferView), itemSize, itemBytes, byteOffset, elementBytes, normalized, accessor.count, min, max, byteStride);
|
|
134
141
|
});
|
|
135
142
|
}
|
|
@@ -222,6 +229,7 @@ class GLTFLoader {
|
|
|
222
229
|
let primitive = mesh.primitives[i];
|
|
223
230
|
const attributes = {};
|
|
224
231
|
for (let attribute in primitive.attributes) {
|
|
232
|
+
// attribute name conversion to be consistent witg gltf
|
|
225
233
|
let attributeName = attribute;
|
|
226
234
|
if (/\d/.test(attributeName) && !attributeName.includes('_')) {
|
|
227
235
|
const index = attributeName.search(/\d/);
|
|
@@ -274,11 +282,13 @@ class GLTFLoader {
|
|
|
274
282
|
}
|
|
275
283
|
if (node.meshes) {
|
|
276
284
|
for (let i = 0, len = node.meshes.length; i < len; i++) {
|
|
285
|
+
// we create a child node as we one want to have one mesh as in the GLTF2 def
|
|
277
286
|
nodeDef.addChild(yield this.loadMesh(node.meshes[i]));
|
|
278
287
|
}
|
|
279
288
|
}
|
|
280
289
|
if (node.children) {
|
|
281
290
|
for (let i = 0, len = node.children.length; i < len; i++) {
|
|
291
|
+
// got through all children
|
|
282
292
|
nodeDef.addChild(yield this.loadNode(node.children[i]));
|
|
283
293
|
}
|
|
284
294
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GLTFLoader.js","sourceRoot":"","sources":["../../src/gltfv1/GLTFLoader.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iFAA8D;AAC9D,+EAA0K;AAC1K,iGAKoD;AACpD,yCAA4C;AAC5C,yEAMwC;AACxC,uCAAoC;AAEpC,+CAA2C;AAE3C,MAAa,UAAU;IAAvB;QAGqB,mCAA8B,GAAG,EAAE,CAAC;QACpC,gBAAW,GAA2B,oBAAS,CAAC,OAAO,CAAC,mCAAU,CAAC,CAAC;QACpE,mBAAc,GAAiC,oBAAS,CAAC,OAAO,CAAC,sCAAa,CAAC,CAAC;QAChF,YAAO,GAAmB,oBAAS,CAAC,OAAO,CAAC,+BAAM,CAAC,CAAC;QACpD,2BAAsB,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAClD,0BAAqB,GAAG,gBAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACzF,eAAU,GAAyB,oBAAS,CAAC,OAAO,CAAC,kCAAS,CAAC,CAAC;QAChE,0BAAqB,GAAyB,oBAAS,CAAC,OAAO,CAAC,6CAAoB,CAAC,CAAC;QAK/F,cAAS,GAAuD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IA4S7H,CAAC;IA5S4H,CAAC;IAM7G,IAAI,CAAC,OAAiB,EAAE,QAA2D,EAAE,UAAwB,EAAE,UAA6G,EAAE,OAAgB;;YACvP,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAG,UAAU,IAAI,UAAU;gBACvB,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,GAAG,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YACrH,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YAExB,IAAI,SAAS,CAAC;YACd,IAAG,UAAU,IAAI,UAAU;gBACvB,SAAS,GAAG,MAAM,IAAI,yBAAW,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YAE5E,IAAI;gBACA,IAAI,CAAC,4BAA4B,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpC,IAAG,SAAS;oBAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACvC,OAAO,IAAI,CAAC;aACf;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,qCAAY,CAAC,eAAe,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC;aAC7F;QACL,CAAC;KAAA;IAEY,WAAW,CAAC,GAAwB;;YAC7C,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC;YACjE,IAAI,cAA2B,CAAC;YAEhC,IAAI;gBACA,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;gBAC3D,cAAc,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAI,EAAE;oBAC/C,YAAY,EAAE,aAAa;iBAC9B,CAAC,CAAC,CAAC,IAAI,CAAC;gBACT,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;aAC5D;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,qCAAY,CAAC,eAAe,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;aACtF;YAGD,MAAM,cAAc,GAAG,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC,EAAE,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC5F,MAAM,MAAM,GAAG;gBACX,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC5M,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC;gBAC1C,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC;gBACzC,aAAa,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC;gBACjD,aAAa,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC;aACpD,CAAA;YACD,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,EAAE;gBACxB,MAAM,KAAK,GAAG,IAAI,4DAAmC,CAAC,kDAAkD,CAAC,CAAC;gBAC1G,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,qCAAY,CAAC,eAAe,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC;aAC1F;YAGD,MAAM,eAAe,GAAG,IAAI,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,8BAA8B,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;YAChH,MAAM,cAAc,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YACjE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAG3C,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,GAAG,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAE7G,MAAM,SAAS,GAAG,MAAM,IAAI,yBAAW,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAE9E,IAAI;gBACA,IAAI,CAAC,4BAA4B,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACzB,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC;gBAC/D,OAAO,IAAI,CAAC;aACf;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,qCAAY,CAAC,eAAe,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;aACtF;QACL,CAAC;KAAA;IAMO,4BAA4B;QAChC,IAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;YAC7B,MAAM,YAAY,GAAG,EAAE,CAAC;YACxB,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzD,IAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;oBACrE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1D;YACD,IAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxB,IAAI,OAAO,GAAG,WAAW,GAAG,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrE,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;oBACpC,OAAO,IAAI,GAAG,GAAG,OAAO,GAAG,GAAG,GAAG,CAAC,KAAK,KAAK,YAAY,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,YAAY,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC/H,CAAC,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,oDAAoD,CAAC;gBAC/G,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qCAAY,CAAC,eAAe,EAAE,2CAA2C,GAAG,OAAO,CAAC,CAAC;aAC1G;SACJ;IACL,CAAC;IAEa,YAAY,CAAC,YAAoB;;;YAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAU,CAAC,YAAY,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;YACvF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAU,CAAC,YAAY,CAAC,CAAC;YACxD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAW,CAAC,CAAC;YAEnE,MAAM,QAAQ,GAAG,iDAAY,CAA4B,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxE,IAAG,QAAQ,CAAC,aAAa,KAAK,IAAI;gBAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qCAAY,CAAC,eAAe,EAAE,uHAAuH,CAAC,CAAC;YAC7M,MAAM,SAAS,GAAG,0DAAsB,CAAsC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACtG,MAAM,YAAY,GAAG,SAAS,CAAC,iBAAiB,CAAC;YACjD,MAAM,SAAS,GAAG,YAAY,GAAG,QAAQ,CAAC;YAE1C,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,CAAC,CAAC;YAC5C,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;YACvC,MAAM,UAAU,GAAG,KAAK,CAAC;YAEzB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,0CAAE,SAAS,MAAK,wBAAwB,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzH,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,0CAAE,SAAS,MAAK,wBAAwB,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAGzH,OAAO,IAAI,mCAAa,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;;KACxJ;IAEa,UAAU,CAAC,UAAkB;;YACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAQ,CAAC,UAAU,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;YACjF,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAQ,CAAC,UAAU,CAAC,CAAC;YAElD,IAAI,UAAU,KAAK,aAAa;gBAC5B,OAAO,IAAI,CAAC,KAAM,CAAC;YAEvB,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE;gBAC/B,MAAM,cAAc,GAAgB,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,GAAI,EAAE;oBACzE,YAAY,EAAE,aAAa;iBAC9B,CAAC,CAAC,CAAC,IAAI,CAAC;gBACT,OAAO,cAAc,CAAC;aACzB;YACD,IAAG,CAAC,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC,KAAK,CAAC;QACtB,CAAC;KAAA;IAEa,cAAc,CAAC,cAAsB;;YAC/C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAY,CAAC,cAAc,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;YAC9F,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAY,CAAC,cAAc,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAgB,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAO,CAAC,CAAC;YACtE,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAEnF,OAAO,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAW,EAAE,UAAU,CAAC,UAAW,GAAG,UAAU,CAAC,CAAC;QACrF,CAAC;KAAA;IAGa,YAAY,CAAC,YAAoB;;YAC3C,IAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAU,CAAC,YAAY,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;YACtF,MAAM,QAAQ,GAAsB,IAAI,CAAC,QAAQ,CAAC,SAAU,CAAC,YAAY,CAAC,CAAC;YAC3E,MAAM,YAAY,GAAG,IAAI,kCAAY,EAAE,CAAC;YACxC,IAAG,QAAQ,CAAC,IAAI,KAAK,SAAS;gBAAE,YAAY,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAElE,IAAG,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,oBAAoB,EAAE;gBAChE,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,SAAS,CAAC;gBACrE,IAAG,SAAS,IAAI,SAAS,KAAK,OAAO;oBAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qCAAY,CAAC,eAAe,EAAE,gBAAgB,GAAG,SAAS,GAAG,4DAA4D,CAAC,CAAA;gBACnL,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,MAAM,CAAC;gBAE/D,IAAI,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC;oBAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qCAAY,CAAC,eAAe,EAAE,0FAA0F,CAAC,CAAA;gBAE/I,IAAI,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC;oBACpC,YAAY,CAAC,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,mCAAa,CAAC,MAAM,CAAC,CAAC,CAAC,mCAAa,CAAC,KAAK,CAAC;gBAExF,YAAY,CAAC,KAAK,GAAG,SAAS,CAAC;gBAC/B,IAAI,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;oBACnE,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC7D,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;iBAC1E;qBAAM,IAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;oBAC1E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qCAAY,CAAC,eAAe,EAAE,uGAAuG,CAAC,CAAA;iBAC3J;gBAED,IAAI,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;oBACrE,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;iBACxE;qBAAM;oBACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qCAAY,CAAC,eAAe,EAAE,wGAAwG,CAAC,CAAA;iBAC5J;gBAED,IAAI,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE;oBACpC,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;oBACvD,YAAY,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;iBAC9D;gBAED,IAAI,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC;oBACrC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;gBAE7E,IAAI,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC;oBACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qCAAY,CAAC,eAAe,EAAE,8FAA8F,CAAC,CAAA;gBAEnJ,IAAI,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC;oBACnC,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;gBAExE,IAAI,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC;oBACnC,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;aAC3E;YACD,OAAO,YAAY,CAAC;QACxB,CAAC;KAAA;IAEa,QAAQ,CAAC,QAAgB;;YACnC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAO,CAAC,QAAQ,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;YAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAO,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAI,kCAAQ,CAAC,QAAQ,CAAC,CAAC;YAExC,IAAG,CAAC,IAAI,CAAC,UAAU;gBAAE,OAAO,IAAI,kCAAQ,CAAC,WAAW,CAAC,CAAC;YACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,UAAW,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;gBACzD,MAAM,aAAa,GAAG,IAAI,kCAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;gBACrD,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAEjC,IAAI,SAAS,GAAG,IAAI,CAAC,UAAW,CAAC,CAAC,CAAC,CAAC;gBACpC,MAAM,UAAU,GAEZ,EAAE,CAAC;gBAEP,KAAK,IAAI,SAAS,IAAI,SAAS,CAAC,UAAU,EAAE;oBAExC,IAAI,aAAa,GAAG,SAAS,CAAC;oBAC9B,IAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBACzD,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;wBACxC,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;qBAClH;yBAAM,IAAG,aAAa,KAAK,UAAU,IAAI,aAAa,KAAK,OAAO,IAAI,aAAa,KAAK,QAAQ,IAAI,aAAa,KAAK,SAAS,EAAE;wBAC9H,aAAa,IAAI,IAAI,CAAC;qBACzB;yBAAM,IAAI,aAAa,KAAK,IAAI,EAAE;wBAC/B,aAAa,GAAG,YAAY,CAAC;qBAChC;oBAED,UAAU,CAAC,aAAa,CAAC,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;oBACrF,IAAG,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;wBAChC,UAAU,CAAC,aAAa,CAAC,GAAG,IAAI,mCAAa,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,YAAY,EAAE,IAAI,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,CAAA;iBACjU;gBAED,IAAI,QAAsB,CAAC;gBAC3B,IAAG,SAAS,CAAC,QAAQ,EAAE;oBACnB,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;iBAC1D;qBAAM;oBACH,QAAQ,GAAG,IAAI,kCAAY,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;iBAC/D;gBACD,MAAM,QAAQ,GAAG,IAAI,kCAAY,CAAC,IAAI,mCAAa,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAC3H,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACrC;YACD,OAAO,QAAQ,CAAC;QACpB,CAAC;KAAA;IAEa,QAAQ,CAAC,QAAgB;;YACnC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAM,CAAC,QAAQ,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;YAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAM,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,IAAI,kCAAQ,CAAC,QAAQ,CAAC,CAAC;YAEvC,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC;oBACzB,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;oBAChC,MAAM,EAAE,gBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EACtF,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAC9D,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAChE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;iBACtE,CAAC,CAAC;aACN;iBAAM,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACxD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAI,CAAC,eAAe,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAI,CAAC,MAAM,EAAE,CAAC;gBACpK,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAI,CAAC,WAAW,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAI,CAAC,MAAM,EAAE,CAAC;gBACxI,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAI,CAAC,QAAQ,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAI,CAAC,MAAM,EAAE,CAAC;gBACnK,MAAM,MAAM,GAAG,gBAAI,CAAC,GAAG,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,GAAG,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;gBAClF,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC;oBACzB,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;oBAChC,MAAM,EAAE,MAAM;iBACjB,CAAC,CAAC;aACN;YAED,IAAG,IAAI,CAAC,MAAM,EAAE;gBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAO,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;oBAErD,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC1D;aACJ;YAED,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,QAAS,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;oBAEvD,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC5D;aACJ;YAED,OAAO,OAAO,CAAC;QACnB,CAAC;KAAA;IAEa,SAAS;;;YACnB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAA;YACtD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAM,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;YACzF,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAM,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,IAAI,kCAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAM,CAAC,CAAC;YACpD,IAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,0CAAE,SAAS,MAAK,sBAAsB,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,0CAAE,SAAS,MAAK,wBAAwB,EAAE;gBAChJ,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC;oBAC1B,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;oBAChC,MAAM,EAAE,IAAI,CAAC,qBAAqB;iBACrC,CAAC,CAAA;aACL;YACD,IAAG,KAAK,CAAC,KAAK;gBACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,KAAM,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;oBACnD,QAAQ,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,OAAO,QAAQ,CAAC;;KACnB;CAEJ;AA3TD,gCA2TC"}
|
|
1
|
+
{"version":3,"file":"GLTFLoader.js","sourceRoot":"","sources":["../../src/gltfv1/GLTFLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,9 +18,13 @@ const tsyringe_1 = require("tsyringe");
|
|
|
18
18
|
const gl_matrix_1 = require("gl-matrix");
|
|
19
19
|
class SDGTFLoader {
|
|
20
20
|
constructor() {
|
|
21
|
+
// #region Properties (5)
|
|
21
22
|
this.BINARY_EXTENSION_HEADER_LENGTH = 20;
|
|
22
23
|
this._logger = tsyringe_1.container.resolve(viewer_shared_services_1.Logger);
|
|
24
|
+
// #endregion Private Methods (6)
|
|
23
25
|
}
|
|
26
|
+
// #endregion Properties (5)
|
|
27
|
+
// #region Public Methods (1)
|
|
24
28
|
load(binaryGeometry, gltfLength) {
|
|
25
29
|
return __awaiter(this, void 0, void 0, function* () {
|
|
26
30
|
if (gltfLength < binaryGeometry.byteLength) {
|
|
@@ -36,6 +40,7 @@ class SDGTFLoader {
|
|
|
36
40
|
const error = new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('SDGTFLoader.load: Invalid data: sdgTF magic wrong.');
|
|
37
41
|
throw this._logger.handleError(viewer_shared_services_1.LOGGINGTOPIC.DATA_PROCESSING, `SDGTFLoader.load`, error);
|
|
38
42
|
}
|
|
43
|
+
// create content
|
|
39
44
|
const contentDataView = new DataView(binaryGeometry, gltfLength + this.BINARY_EXTENSION_HEADER_LENGTH + 1, header.contentLength);
|
|
40
45
|
const contentDecoded = new TextDecoder().decode(contentDataView);
|
|
41
46
|
this._content = JSON.parse(contentDecoded);
|
|
@@ -52,6 +57,8 @@ class SDGTFLoader {
|
|
|
52
57
|
}
|
|
53
58
|
});
|
|
54
59
|
}
|
|
60
|
+
// #endregion Public Methods (1)
|
|
61
|
+
// #region Private Methods (6)
|
|
55
62
|
convertToIndicesArray(indices) {
|
|
56
63
|
const max = Math.max(0, ...indices);
|
|
57
64
|
if (max < (1 << 8) - 1) {
|
|
@@ -85,6 +92,9 @@ class SDGTFLoader {
|
|
|
85
92
|
const arc = this._content.arcs;
|
|
86
93
|
const arcNode = new viewer_shared_node_tree_1.TreeNode('arcs');
|
|
87
94
|
const data = yield this.loadAccessor(arc.attributes['ARCS']);
|
|
95
|
+
// data with an absolute classic array of Vec12s ...
|
|
96
|
+
// like you usually have it in any good program
|
|
97
|
+
// not 4 Vec3s, no, that would be to logic, but a Vec12 instead
|
|
88
98
|
const count = data.array.length / data.itemSize;
|
|
89
99
|
for (let i = 0; i < count; ++i) {
|
|
90
100
|
const singleArcNode = new viewer_shared_node_tree_1.TreeNode('arc_' + i);
|
|
@@ -105,6 +115,7 @@ class SDGTFLoader {
|
|
|
105
115
|
const twoPi = Math.PI * 2;
|
|
106
116
|
let deltaAngle = arcMaxAngle - arcMinAngle;
|
|
107
117
|
const samePoints = Math.abs(deltaAngle) < Number.EPSILON;
|
|
118
|
+
// ensures that deltaAngle is 0 .. 2 PI
|
|
108
119
|
while (deltaAngle < 0)
|
|
109
120
|
deltaAngle += twoPi;
|
|
110
121
|
while (deltaAngle > twoPi)
|
|
@@ -143,11 +154,11 @@ class SDGTFLoader {
|
|
|
143
154
|
throw new Error('Beziercurve not available.');
|
|
144
155
|
const beziercurve = this._content.beziercurves[beziercurveName];
|
|
145
156
|
const beziercurveNode = new viewer_shared_node_tree_1.TreeNode(beziercurveName);
|
|
146
|
-
const controlPointsData = yield this.loadAccessor(beziercurve.attributes['CONTROLPOINTS']);
|
|
157
|
+
const controlPointsData = yield this.loadAccessor(beziercurve.attributes['CONTROLPOINTS']); // vec3
|
|
147
158
|
const controlPoints = [];
|
|
148
159
|
for (let i = 0; i < controlPointsData.array.length; i += 3)
|
|
149
160
|
controlPoints.push(gl_matrix_1.vec4.fromValues(controlPointsData.array[i], controlPointsData.array[i + 1], controlPointsData.array[i + 2], 1));
|
|
150
|
-
const knotsData = yield this.loadAccessor(beziercurve.attributes['KNOTS']);
|
|
161
|
+
const knotsData = yield this.loadAccessor(beziercurve.attributes['KNOTS']); // scalar
|
|
151
162
|
const knots = [knotsData.array[0]];
|
|
152
163
|
for (let i = 0; i < knotsData.array.length; i++)
|
|
153
164
|
knots.push(knotsData.array[i]);
|
|
@@ -207,13 +218,17 @@ class SDGTFLoader {
|
|
|
207
218
|
};
|
|
208
219
|
const points = [];
|
|
209
220
|
const getPointOnBezierCurve = (t) => {
|
|
210
|
-
const u = knots[0] + t * (knots[knots.length - 1] - knots[0]);
|
|
221
|
+
const u = knots[0] + t * (knots[knots.length - 1] - knots[0]); // linear mapping t->u
|
|
222
|
+
// following results in (wx, wy, wz, w) homogeneous point
|
|
211
223
|
let hpoint = calcBSplinePoint(u);
|
|
212
224
|
if (hpoint[3] !== 1.0) {
|
|
225
|
+
// project to 3D space: (wx, wy, wz, w) -> (x, y, z, 1)
|
|
213
226
|
hpoint = gl_matrix_1.vec4.divide(gl_matrix_1.vec4.create(), hpoint, gl_matrix_1.vec4.fromValues(hpoint[3], hpoint[3], hpoint[3], hpoint[3]));
|
|
214
227
|
}
|
|
215
228
|
points.push(hpoint[0], hpoint[1], hpoint[2]);
|
|
216
229
|
};
|
|
230
|
+
// Number of points calculation
|
|
231
|
+
// We go through the control points, measure the distance
|
|
217
232
|
let distance = 0;
|
|
218
233
|
for (let i = 1; i < controlPoints.length; i++)
|
|
219
234
|
distance += gl_matrix_1.vec3.distance(gl_matrix_1.vec3.fromValues(controlPoints[i - 1][0], controlPoints[i - 1][1], controlPoints[i - 1][2]), gl_matrix_1.vec3.fromValues(controlPoints[i][0], controlPoints[i][1], controlPoints[i][2]));
|
|
@@ -253,6 +268,7 @@ class SDGTFLoader {
|
|
|
253
268
|
const twoPi = Math.PI * 2;
|
|
254
269
|
let deltaAngle = 2.0 * Math.PI - 0;
|
|
255
270
|
const samePoints = Math.abs(deltaAngle) < Number.EPSILON;
|
|
271
|
+
// ensures that deltaAngle is 0 .. 2 PI
|
|
256
272
|
while (deltaAngle < 0)
|
|
257
273
|
deltaAngle += twoPi;
|
|
258
274
|
while (deltaAngle > twoPi)
|
|
@@ -330,35 +346,47 @@ class SDGTFLoader {
|
|
|
330
346
|
const normal = gl_matrix_1.vec3.create();
|
|
331
347
|
const vertex = gl_matrix_1.vec3.create();
|
|
332
348
|
let groupCount = 0;
|
|
349
|
+
// this will be used to calculate the normal
|
|
333
350
|
const slope = 0;
|
|
351
|
+
// generate vertices, normals and uvs
|
|
334
352
|
for (let y = 0; y <= heightSegments; y++) {
|
|
335
353
|
const indexRow = [];
|
|
336
354
|
const v = y / heightSegments;
|
|
355
|
+
// calculate the radius of the current row
|
|
337
356
|
const radius = cylinderRadius;
|
|
338
357
|
for (let x = 0; x <= radialSegments; x++) {
|
|
339
358
|
const u = x / radialSegments;
|
|
340
359
|
const theta = u * thetaLength + thetaStart;
|
|
341
360
|
const sinTheta = Math.sin(theta);
|
|
342
361
|
const cosTheta = Math.cos(theta);
|
|
362
|
+
// vertex
|
|
343
363
|
vertex[0] = radius * sinTheta;
|
|
344
364
|
vertex[1] = -v * height + halfHeight;
|
|
345
365
|
vertex[2] = radius * cosTheta;
|
|
346
366
|
vertices.push(vertex[0], vertex[1], vertex[2]);
|
|
367
|
+
// normal
|
|
347
368
|
gl_matrix_1.vec3.normalize(normal, gl_matrix_1.vec3.fromValues(sinTheta, slope, cosTheta));
|
|
348
369
|
normals.push(normal[0], normal[1], normal[2]);
|
|
370
|
+
// uv
|
|
349
371
|
uvs.push(u, 1 - v);
|
|
372
|
+
// save index of vertex in respective row
|
|
350
373
|
indexRow.push(indexCounter++);
|
|
351
374
|
}
|
|
375
|
+
// now save vertices of the row in our index array
|
|
352
376
|
indexArray.push(indexRow);
|
|
353
377
|
}
|
|
378
|
+
// generate indices
|
|
354
379
|
for (let x = 0; x < radialSegments; x++) {
|
|
355
380
|
for (let y = 0; y < heightSegments; y++) {
|
|
381
|
+
// we use the index array to access the correct indices
|
|
356
382
|
const a = indexArray[y][x];
|
|
357
383
|
const b = indexArray[y + 1][x];
|
|
358
384
|
const c = indexArray[y + 1][x + 1];
|
|
359
385
|
const d = indexArray[y][x + 1];
|
|
386
|
+
// faces
|
|
360
387
|
indices.push(a, b, d);
|
|
361
388
|
indices.push(b, c, d);
|
|
389
|
+
// update group counter
|
|
362
390
|
groupCount += 6;
|
|
363
391
|
}
|
|
364
392
|
}
|
|
@@ -412,13 +440,17 @@ class SDGTFLoader {
|
|
|
412
440
|
const normals = [];
|
|
413
441
|
const uvs = [];
|
|
414
442
|
const grid = [];
|
|
443
|
+
// for some reason, this doesn't work with values > 15
|
|
444
|
+
// let's not look into it, it's legacy stuff
|
|
415
445
|
const heightSegments = 15, widthSegments = 15;
|
|
416
446
|
const phiStart = 0, phiLength = Math.PI * 2, thetaStart = 0, thetaLength = Math.PI;
|
|
417
447
|
const thetaEnd = Math.min(thetaStart + thetaLength, Math.PI);
|
|
418
448
|
let indexCounter = 0;
|
|
449
|
+
// generate vertices, normals and uvs
|
|
419
450
|
for (let iy = 0; iy <= heightSegments; iy++) {
|
|
420
451
|
const verticesRow = [];
|
|
421
452
|
const v = iy / heightSegments;
|
|
453
|
+
// special case for the poles
|
|
422
454
|
let uOffset = 0;
|
|
423
455
|
if (iy == 0 && thetaStart == 0) {
|
|
424
456
|
uOffset = 0.5 / widthSegments;
|
|
@@ -428,15 +460,19 @@ class SDGTFLoader {
|
|
|
428
460
|
}
|
|
429
461
|
for (let ix = 0; ix <= widthSegments; ix++) {
|
|
430
462
|
const u = ix / widthSegments;
|
|
463
|
+
// vertex
|
|
431
464
|
const vertex = gl_matrix_1.vec3.fromValues(-sphereRadius * Math.cos(phiStart + u * phiLength) * Math.sin(thetaStart + v * thetaLength), sphereRadius * Math.cos(thetaStart + v * thetaLength), sphereRadius * Math.sin(phiStart + u * phiLength) * Math.sin(thetaStart + v * thetaLength));
|
|
432
465
|
vertices.push(vertex[0], vertex[1], vertex[2]);
|
|
466
|
+
// normal
|
|
433
467
|
const normal = gl_matrix_1.vec3.normalize(gl_matrix_1.vec3.create(), vertex);
|
|
434
468
|
normals.push(normal[0], normal[1], normal[2]);
|
|
469
|
+
// uv
|
|
435
470
|
uvs.push(u + uOffset, 1 - v);
|
|
436
471
|
verticesRow.push(indexCounter++);
|
|
437
472
|
}
|
|
438
473
|
grid.push(verticesRow);
|
|
439
474
|
}
|
|
475
|
+
// indices
|
|
440
476
|
for (let iy = 0; iy < heightSegments; iy++) {
|
|
441
477
|
for (let ix = 0; ix < widthSegments; ix++) {
|
|
442
478
|
const a = grid[iy][ix + 1];
|
|
@@ -500,7 +536,7 @@ class SDGTFLoader {
|
|
|
500
536
|
const surfacepatchNode = new viewer_shared_node_tree_1.TreeNode(surfacepatchName);
|
|
501
537
|
const controlPointCountU = surfacepatch.controlPointCountU;
|
|
502
538
|
const controlPointCountV = surfacepatch.controlPointCountV;
|
|
503
|
-
const controlPointsData = yield this.loadAccessor(surfacepatch.attributes['CONTROLPOINTS']);
|
|
539
|
+
const controlPointsData = yield this.loadAccessor(surfacepatch.attributes['CONTROLPOINTS']); // vec3
|
|
504
540
|
const controlPoints = [];
|
|
505
541
|
let pointCount = 0;
|
|
506
542
|
for (let u = 0; u < controlPointCountU; u++) {
|
|
@@ -511,12 +547,12 @@ class SDGTFLoader {
|
|
|
511
547
|
}
|
|
512
548
|
controlPoints.push(innerArray);
|
|
513
549
|
}
|
|
514
|
-
const knotsUData = yield this.loadAccessor(surfacepatch.attributes['KNOTSU']);
|
|
550
|
+
const knotsUData = yield this.loadAccessor(surfacepatch.attributes['KNOTSU']); // scalar
|
|
515
551
|
const knotsU = [knotsUData.array[0]];
|
|
516
552
|
for (let i = 0; i < knotsUData.array.length; i++)
|
|
517
553
|
knotsU.push(knotsUData.array[i]);
|
|
518
554
|
knotsU.push(knotsUData.array[knotsUData.array.length - 1]);
|
|
519
|
-
const knotsVData = yield this.loadAccessor(surfacepatch.attributes['KNOTSV']);
|
|
555
|
+
const knotsVData = yield this.loadAccessor(surfacepatch.attributes['KNOTSV']); // scalar
|
|
520
556
|
const knotsV = [knotsVData.array[0]];
|
|
521
557
|
for (let i = 0; i < knotsVData.array.length; i++)
|
|
522
558
|
knotsV.push(knotsVData.array[i]);
|
|
@@ -588,33 +624,36 @@ class SDGTFLoader {
|
|
|
588
624
|
return gl_matrix_1.vec3.fromValues(Sw[0], Sw[1], Sw[2]);
|
|
589
625
|
};
|
|
590
626
|
const getPointOnSurfacepatch = (t1, t2) => {
|
|
591
|
-
const u = knotsU[0] + t1 * (knotsU[knotsU.length - 1] - knotsU[0]);
|
|
592
|
-
const v = knotsV[0] + t2 * (knotsV[knotsV.length - 1] - knotsV[0]);
|
|
627
|
+
const u = knotsU[0] + t1 * (knotsU[knotsU.length - 1] - knotsU[0]); // linear mapping t1->u
|
|
628
|
+
const v = knotsV[0] + t2 * (knotsV[knotsV.length - 1] - knotsV[0]); // linear mapping t2->u
|
|
593
629
|
return calcSurfacePoint(u, v);
|
|
594
630
|
};
|
|
595
631
|
const numberOfPoints = 15;
|
|
596
632
|
const indices = [];
|
|
597
633
|
const vertices = [];
|
|
598
|
-
for (let d = 0; d
|
|
634
|
+
for (let d = 0; d <= numberOfPoints; d++) {
|
|
599
635
|
const v = d / numberOfPoints;
|
|
600
|
-
for (let f = 0; f
|
|
636
|
+
for (let f = 0; f <= numberOfPoints; f++) {
|
|
601
637
|
const u = f / numberOfPoints;
|
|
602
638
|
const vertex = getPointOnSurfacepatch(u, v);
|
|
603
639
|
vertices.push(vertex[0], vertex[1], vertex[2]);
|
|
604
640
|
}
|
|
605
641
|
}
|
|
606
|
-
for (let d =
|
|
607
|
-
for (let f =
|
|
608
|
-
const i1 =
|
|
609
|
-
const i2 =
|
|
610
|
-
const i3 = d * numberOfPoints +
|
|
611
|
-
const i4 = d * numberOfPoints + f;
|
|
642
|
+
for (let d = 0; d < numberOfPoints; d++) {
|
|
643
|
+
for (let f = 0; f < numberOfPoints; f++) {
|
|
644
|
+
const i1 = d * (numberOfPoints + 1) + f;
|
|
645
|
+
const i2 = d * (numberOfPoints + 1) + f + 1;
|
|
646
|
+
const i3 = (d + 1) * (numberOfPoints + 1) + f;
|
|
647
|
+
const i4 = (d + 1) * (numberOfPoints + 1) + f + 1;
|
|
648
|
+
// faces one and two
|
|
612
649
|
indices.push(i3, i2, i1);
|
|
613
650
|
indices.push(i2, i3, i4);
|
|
614
651
|
}
|
|
615
652
|
}
|
|
616
653
|
const attributes = {};
|
|
617
654
|
attributes['POSITION'] = new viewer_shared_types_1.AttributeData(new Float32Array(vertices), 3, 0, 0, 0, false, vertices.length / 3);
|
|
655
|
+
// to not compute normals ourselves, we just let three.js do it
|
|
656
|
+
// in our geometry loader, this array will cause the computation of vertex normals
|
|
618
657
|
attributes['NORMAL'] = new viewer_shared_types_1.AttributeData(new Float32Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), 3, 0, 0, 0, false, vertices.length / 3);
|
|
619
658
|
const geometry = new viewer_shared_types_1.GeometryData(new viewer_shared_types_1.PrimitiveData(attributes, viewer_shared_types_1.PRIMITIVE_MODE.TRIANGLES, new viewer_shared_types_1.AttributeData(this.convertToIndicesArray(indices), 1, 0, 0, 0, false, indices.length), new viewer_shared_types_1.MaterialData({ color: '#d3d3d3', roughness: 1, metalness: 0 })));
|
|
620
659
|
surfacepatchNode.data.push(geometry);
|
|
@@ -624,26 +663,34 @@ class SDGTFLoader {
|
|
|
624
663
|
loadScene() {
|
|
625
664
|
return __awaiter(this, void 0, void 0, function* () {
|
|
626
665
|
const sceneNode = new viewer_shared_node_tree_1.TreeNode('sdgtf_content');
|
|
666
|
+
// arcs
|
|
627
667
|
if (this._content.arcs)
|
|
628
668
|
sceneNode.addChild(yield this.loadArcs());
|
|
669
|
+
// beziercurves
|
|
629
670
|
if (this._content.beziercurves) {
|
|
630
671
|
for (let beziercurve in this._content.beziercurves)
|
|
631
672
|
sceneNode.addChild(yield this.loadBeziercurve(beziercurve));
|
|
632
673
|
}
|
|
674
|
+
// circles
|
|
633
675
|
if (this._content.circles)
|
|
634
676
|
sceneNode.addChild(yield this.loadCircles());
|
|
677
|
+
// cylinders
|
|
635
678
|
if (this._content.cylinders)
|
|
636
679
|
sceneNode.addChild(yield this.loadCylinders());
|
|
680
|
+
//points
|
|
637
681
|
if (this._content.points) {
|
|
638
682
|
for (let point in this._content.points)
|
|
639
683
|
sceneNode.addChild(yield this.loadPoint(point));
|
|
640
684
|
}
|
|
685
|
+
// polylines
|
|
641
686
|
if (this._content.polylines) {
|
|
642
687
|
for (let line in this._content.polylines)
|
|
643
688
|
sceneNode.addChild(yield this.loadPolyline(line));
|
|
644
689
|
}
|
|
690
|
+
// spheres
|
|
645
691
|
if (this._content.spheres)
|
|
646
692
|
sceneNode.addChild(yield this.loadSpheres());
|
|
693
|
+
// surfacepatches
|
|
647
694
|
if (this._content.surfacepatches) {
|
|
648
695
|
for (let surfacepatch in this._content.surfacepatches)
|
|
649
696
|
sceneNode.addChild(yield this.loadSurfacepatch(surfacepatch));
|