@shapediver/viewer.data-engine.geometry-engine 3.9.0 → 3.9.2
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/README.md +1 -1
- package/dist/GeometryEngine.d.ts +2 -2
- package/dist/GeometryEngine.d.ts.map +1 -1
- package/dist/GeometryEngine.js +47 -30
- package/dist/GeometryEngine.js.map +1 -1
- package/dist/gltfv1/GLTFLoader.d.ts +2 -2
- package/dist/gltfv1/GLTFLoader.d.ts.map +1 -1
- package/dist/gltfv1/GLTFLoader.js +143 -75
- package/dist/gltfv1/GLTFLoader.js.map +1 -1
- package/dist/gltfv1/SDGTFLoader.d.ts +1 -1
- package/dist/gltfv1/SDGTFLoader.d.ts.map +1 -1
- package/dist/gltfv1/SDGTFLoader.js +95 -74
- package/dist/gltfv1/SDGTFLoader.js.map +1 -1
- package/dist/gltfv2/GLTFLoader.d.ts +6 -6
- package/dist/gltfv2/GLTFLoader.d.ts.map +1 -1
- package/dist/gltfv2/GLTFLoader.js +200 -112
- package/dist/gltfv2/GLTFLoader.js.map +1 -1
- package/dist/gltfv2/draco/draco_decoder.d.ts.map +1 -1
- package/dist/gltfv2/draco/draco_decoder.js +101696 -49810
- package/dist/gltfv2/draco/draco_decoder.js.map +1 -1
- package/dist/gltfv2/loaders/AccessorLoader.d.ts +3 -3
- package/dist/gltfv2/loaders/AccessorLoader.d.ts.map +1 -1
- package/dist/gltfv2/loaders/AccessorLoader.js +21 -13
- package/dist/gltfv2/loaders/AccessorLoader.js.map +1 -1
- package/dist/gltfv2/loaders/BufferLoader.d.ts +1 -1
- package/dist/gltfv2/loaders/BufferLoader.d.ts.map +1 -1
- package/dist/gltfv2/loaders/BufferLoader.js +10 -8
- package/dist/gltfv2/loaders/BufferLoader.js.map +1 -1
- package/dist/gltfv2/loaders/BufferViewLoader.d.ts +2 -2
- package/dist/gltfv2/loaders/BufferViewLoader.d.ts.map +1 -1
- package/dist/gltfv2/loaders/BufferViewLoader.js +5 -5
- package/dist/gltfv2/loaders/BufferViewLoader.js.map +1 -1
- package/dist/gltfv2/loaders/GeometryLoader.d.ts +7 -7
- package/dist/gltfv2/loaders/GeometryLoader.d.ts.map +1 -1
- package/dist/gltfv2/loaders/GeometryLoader.js +39 -28
- package/dist/gltfv2/loaders/GeometryLoader.js.map +1 -1
- package/dist/gltfv2/loaders/MaterialLoader.d.ts +3 -3
- package/dist/gltfv2/loaders/MaterialLoader.d.ts.map +1 -1
- package/dist/gltfv2/loaders/MaterialLoader.js +301 -108
- package/dist/gltfv2/loaders/MaterialLoader.js.map +1 -1
- package/dist/gltfv2/loaders/TextureLoader.d.ts +2 -2
- package/dist/gltfv2/loaders/TextureLoader.d.ts.map +1 -1
- package/dist/gltfv2/loaders/TextureLoader.js +23 -15
- package/dist/gltfv2/loaders/TextureLoader.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +57 -57
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { BufferViewLoader } from
|
|
1
|
+
import { IGLTF_v2 } from "@shapediver/viewer.data-engine.shared-types";
|
|
2
|
+
import { AttributeData } from "@shapediver/viewer.shared.types";
|
|
3
|
+
import { BufferViewLoader } from "./BufferViewLoader";
|
|
4
4
|
export declare class AccessorLoader {
|
|
5
5
|
private readonly _content;
|
|
6
6
|
private readonly _bufferViewLoader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessorLoader.d.ts","sourceRoot":"","sources":["../../../src/gltfv2/loaders/AccessorLoader.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"AccessorLoader.d.ts","sourceRoot":"","sources":["../../../src/gltfv2/loaders/AccessorLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,QAAQ,EACR,MAAM,6CAA6C,CAAC;AAErD,OAAO,EAAC,aAAa,EAAC,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAEpD,qBAAa,cAAc;IAczB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAZnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IAEnD,OAAO,CAAC,OAAO,CAER;gBAOW,QAAQ,EAAE,QAAQ,EAClB,iBAAiB,EAAE,gBAAgB;IAO9C,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAcrD,IAAI,IAAI,IAAI;CAqJnB"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AccessorLoader = void 0;
|
|
4
|
-
const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
|
|
5
4
|
const viewer_data_engine_shared_types_1 = require("@shapediver/viewer.data-engine.shared-types");
|
|
6
5
|
const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
|
|
6
|
+
const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
|
|
7
7
|
class AccessorLoader {
|
|
8
8
|
// #endregion Properties (2)
|
|
9
9
|
// #region Constructors (1)
|
|
@@ -18,11 +18,11 @@ class AccessorLoader {
|
|
|
18
18
|
// #region Public Methods (2)
|
|
19
19
|
getAccessor(accessorId) {
|
|
20
20
|
if (!this._content.accessors)
|
|
21
|
-
throw new Error(
|
|
21
|
+
throw new Error("AccessorLoader.getAccessor: Accessors not available.");
|
|
22
22
|
if (!this._content.accessors[accessorId])
|
|
23
|
-
throw new Error(
|
|
23
|
+
throw new Error("AccessorLoader.getAccessor: Accessor not available.");
|
|
24
24
|
if (this._loaded[accessorId] === undefined)
|
|
25
|
-
throw new Error(
|
|
25
|
+
throw new Error("AccessorLoader.getAccessor: Accessor not loaded.");
|
|
26
26
|
return this._loaded[accessorId];
|
|
27
27
|
}
|
|
28
28
|
load() {
|
|
@@ -31,7 +31,7 @@ class AccessorLoader {
|
|
|
31
31
|
for (let i = 0; i < this._content.accessors.length; i++) {
|
|
32
32
|
const accessorId = i;
|
|
33
33
|
if (!this._content.accessors[accessorId])
|
|
34
|
-
throw new Error(
|
|
34
|
+
throw new Error("AccessorLoader.load: BufferView not available.");
|
|
35
35
|
const accessor = this._content.accessors[accessorId];
|
|
36
36
|
if (accessor.bufferView === undefined) {
|
|
37
37
|
// Ignore empty accessors, which may be used to declare runtime
|
|
@@ -43,20 +43,27 @@ class AccessorLoader {
|
|
|
43
43
|
const arrayBuffer = this._bufferViewLoader.getBufferView(accessor.bufferView);
|
|
44
44
|
const itemSize = viewer_data_engine_shared_types_1.ACCESSORTYPE_V2[accessor.type];
|
|
45
45
|
if (accessor.componentType === 5124)
|
|
46
|
-
this._logger.warn(
|
|
46
|
+
this._logger.warn("GLTFLoader.loadAccessor: The componentType for this accessor is 5124, which is not allowed. Trying to load it anyway.");
|
|
47
47
|
const ArrayType = viewer_data_engine_shared_types_1.ACCESSORCOMPONENTTYPE_V2[accessor.componentType];
|
|
48
48
|
const elementBytes = ArrayType.BYTES_PER_ELEMENT;
|
|
49
49
|
const itemBytes = elementBytes * itemSize;
|
|
50
50
|
const byteOffset = accessor.byteOffset || 0;
|
|
51
|
-
const byteStride = accessor.bufferView !== undefined
|
|
51
|
+
const byteStride = accessor.bufferView !== undefined
|
|
52
|
+
? this._content.bufferViews
|
|
53
|
+
? this._content.bufferViews[accessor.bufferView]
|
|
54
|
+
.byteStride
|
|
55
|
+
: undefined
|
|
56
|
+
: undefined;
|
|
52
57
|
const normalized = accessor.normalized === true;
|
|
53
|
-
const target = this._content.bufferViews
|
|
58
|
+
const target = this._content.bufferViews
|
|
59
|
+
? this._content.bufferViews[accessor.bufferView].target
|
|
60
|
+
: undefined;
|
|
54
61
|
let array;
|
|
55
62
|
if (byteStride && byteStride !== itemBytes) {
|
|
56
63
|
// Each "slice" of the buffer, as defined by 'count' elements of 'byteStride' bytes, gets its own InterleavedBuffer
|
|
57
64
|
// This makes sure that IBA.count reflects accessor.count properly
|
|
58
65
|
const ibSlice = Math.floor(byteOffset / byteStride);
|
|
59
|
-
array = new ArrayType(arrayBuffer, ibSlice * byteStride, accessor.count * byteStride / elementBytes);
|
|
66
|
+
array = new ArrayType(arrayBuffer, ibSlice * byteStride, (accessor.count * byteStride) / elementBytes);
|
|
60
67
|
}
|
|
61
68
|
else {
|
|
62
69
|
if (arrayBuffer === null) {
|
|
@@ -68,17 +75,18 @@ class AccessorLoader {
|
|
|
68
75
|
}
|
|
69
76
|
if (array.length === 0) {
|
|
70
77
|
// Ignore empty accessors, they are not allowed in glTF
|
|
71
|
-
this._logger.warn(
|
|
78
|
+
this._logger.warn("GLTFLoader.loadAccessor: Accessor with zero length found.");
|
|
72
79
|
this._loaded[accessorId] = null;
|
|
73
80
|
continue;
|
|
74
81
|
}
|
|
75
82
|
if (accessor.sparse !== undefined) {
|
|
76
83
|
const itemSizeIndices = viewer_data_engine_shared_types_1.ACCESSORTYPE_V2.SCALAR;
|
|
77
|
-
const IndicesArrayType = viewer_data_engine_shared_types_1.ACCESSORCOMPONENTTYPE_V2[accessor.sparse.indices.componentType];
|
|
84
|
+
const IndicesArrayType = viewer_data_engine_shared_types_1.ACCESSORCOMPONENTTYPE_V2[(accessor.sparse.indices.componentType)];
|
|
78
85
|
const byteOffsetIndices = accessor.sparse.indices.byteOffset || 0;
|
|
79
86
|
const byteOffsetValues = accessor.sparse.values.byteOffset || 0;
|
|
80
|
-
if (!accessor.sparse.indices.bufferView ||
|
|
81
|
-
|
|
87
|
+
if (!accessor.sparse.indices.bufferView ||
|
|
88
|
+
!accessor.sparse.values.bufferView)
|
|
89
|
+
throw new Error("Sparse Mesh not properly defined.");
|
|
82
90
|
const sparseIndices = new IndicesArrayType(this._bufferViewLoader.getBufferView(accessor.sparse.indices.bufferView), byteOffsetIndices, accessor.sparse.count * itemSizeIndices);
|
|
83
91
|
const sparseValues = new ArrayType(this._bufferViewLoader.getBufferView(accessor.sparse.values.bufferView), byteOffsetValues, accessor.sparse.count * itemSize);
|
|
84
92
|
this._loaded[accessorId] = new viewer_shared_types_1.AttributeData(array, itemSize, itemBytes, byteOffset, elementBytes, normalized, accessor.count, accessor.min, accessor.max, byteStride, target, true, sparseIndices, sparseValues);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessorLoader.js","sourceRoot":"","sources":["../../../src/gltfv2/loaders/AccessorLoader.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"AccessorLoader.js","sourceRoot":"","sources":["../../../src/gltfv2/loaders/AccessorLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BufferLoader.d.ts","sourceRoot":"","sources":["../../../src/gltfv2/loaders/BufferLoader.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"BufferLoader.d.ts","sourceRoot":"","sources":["../../../src/gltfv2/loaders/BufferLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,6CAA6C,CAAC;AAOrE,qBAAa,YAAY;IAcvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,KAAK,CAAC;IACd,OAAO,CAAC,QAAQ,CAAC;IAblB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmC;IAE/D,OAAO,CAAC,OAAO,CAER;gBAOW,QAAQ,EAAE,QAAQ,EAC3B,KAAK,CAAC,yBAAa,EACnB,QAAQ,CAAC,oBAAQ;IAOnB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW;IAUlC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAqDlC"}
|
|
@@ -26,11 +26,11 @@ class BufferLoader {
|
|
|
26
26
|
// #region Public Methods (2)
|
|
27
27
|
getBuffer(bufferId) {
|
|
28
28
|
if (!this._content.buffers)
|
|
29
|
-
throw new Error(
|
|
29
|
+
throw new Error("BufferLoader.getBuffer: Buffers not available.");
|
|
30
30
|
if (!this._content.buffers[bufferId])
|
|
31
|
-
throw new Error(
|
|
31
|
+
throw new Error("BufferLoader.getBuffer: Buffer not available.");
|
|
32
32
|
if (!this._loaded[bufferId])
|
|
33
|
-
throw new Error(
|
|
33
|
+
throw new Error("BufferLoader.getBuffer: Buffer not loaded.");
|
|
34
34
|
return this._loaded[bufferId];
|
|
35
35
|
}
|
|
36
36
|
load() {
|
|
@@ -41,13 +41,13 @@ class BufferLoader {
|
|
|
41
41
|
for (let i = 0; i < this._content.buffers.length; i++) {
|
|
42
42
|
const bufferId = i;
|
|
43
43
|
const buffer = this._content.buffers[bufferId];
|
|
44
|
-
if (buffer.type && buffer.type !==
|
|
44
|
+
if (buffer.type && buffer.type !== "arraybuffer") {
|
|
45
45
|
throw new Error(`BufferLoader.load: ${buffer.type} is not supported.`);
|
|
46
46
|
}
|
|
47
47
|
// If present, GLB container is required to be the first buffer.
|
|
48
48
|
if (buffer.uri === undefined && bufferId === 0) {
|
|
49
49
|
if (!this._body)
|
|
50
|
-
throw new Error(
|
|
50
|
+
throw new Error("BufferLoader.load: Buffer not available.");
|
|
51
51
|
this._loaded[bufferId] = this._body;
|
|
52
52
|
return;
|
|
53
53
|
}
|
|
@@ -67,9 +67,11 @@ class BufferLoader {
|
|
|
67
67
|
this._loaded[bufferId] = view.buffer;
|
|
68
68
|
}
|
|
69
69
|
else {
|
|
70
|
-
const httpResultPromise = this._httpClient.get(this._baseUri +
|
|
71
|
-
responseType:
|
|
72
|
-
}).then(response => {
|
|
70
|
+
const httpResultPromise = this._httpClient.get(this._baseUri + "/" + buffer.uri, {
|
|
71
|
+
responseType: "arraybuffer",
|
|
72
|
+
}).then((response) => {
|
|
73
|
+
this._loaded[bufferId] = response.data;
|
|
74
|
+
});
|
|
73
75
|
promises.push(httpResultPromise);
|
|
74
76
|
}
|
|
75
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BufferLoader.js","sourceRoot":"","sources":["../../../src/gltfv2/loaders/BufferLoader.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,+
|
|
1
|
+
{"version":3,"file":"BufferLoader.js","sourceRoot":"","sources":["../../../src/gltfv2/loaders/BufferLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IGLTF_v2 } from
|
|
2
|
-
import { BufferLoader } from
|
|
1
|
+
import { IGLTF_v2 } from "@shapediver/viewer.data-engine.shared-types";
|
|
2
|
+
import { BufferLoader } from "./BufferLoader";
|
|
3
3
|
export declare class BufferViewLoader {
|
|
4
4
|
private readonly _content;
|
|
5
5
|
private readonly _bufferLoader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BufferViewLoader.d.ts","sourceRoot":"","sources":["../../../src/gltfv2/loaders/BufferViewLoader.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"BufferViewLoader.d.ts","sourceRoot":"","sources":["../../../src/gltfv2/loaders/BufferViewLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,6CAA6C,CAAC;AAErE,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5C,qBAAa,gBAAgB;IAY3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAV/B,OAAO,CAAC,OAAO,CAER;gBAOW,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,YAAY;IAOtC,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW;IAYhD,IAAI,IAAI,IAAI;CAyBnB"}
|
|
@@ -14,11 +14,11 @@ class BufferViewLoader {
|
|
|
14
14
|
// #region Public Methods (2)
|
|
15
15
|
getBufferView(bufferViewId) {
|
|
16
16
|
if (!this._content.bufferViews)
|
|
17
|
-
throw new Error(
|
|
17
|
+
throw new Error("BufferViewLoader.load: BufferViews not available.");
|
|
18
18
|
if (!this._content.bufferViews[bufferViewId])
|
|
19
|
-
throw new Error(
|
|
19
|
+
throw new Error("BufferViewLoader.load: BufferView not available.");
|
|
20
20
|
if (!this._loaded[bufferViewId])
|
|
21
|
-
throw new Error(
|
|
21
|
+
throw new Error("BufferViewLoader.load: BufferView not loaded.");
|
|
22
22
|
return this._loaded[bufferViewId];
|
|
23
23
|
}
|
|
24
24
|
load() {
|
|
@@ -27,12 +27,12 @@ class BufferViewLoader {
|
|
|
27
27
|
for (let i = 0; i < this._content.bufferViews.length; i++) {
|
|
28
28
|
const bufferViewId = i;
|
|
29
29
|
if (!this._content.bufferViews[bufferViewId])
|
|
30
|
-
throw new Error(
|
|
30
|
+
throw new Error("BufferViewLoader.load: BufferView not available.");
|
|
31
31
|
const bufferView = this._content.bufferViews[bufferViewId];
|
|
32
32
|
const byteLength = bufferView.byteLength || 0;
|
|
33
33
|
const byteOffset = bufferView.byteOffset || 0;
|
|
34
34
|
if (bufferView.buffer === undefined)
|
|
35
|
-
throw new Error(
|
|
35
|
+
throw new Error("BufferViewLoader.load: BufferView has no buffer defined.");
|
|
36
36
|
const buffer = this._bufferLoader.getBuffer(bufferView.buffer);
|
|
37
37
|
const result = buffer.slice(byteOffset, byteOffset + byteLength);
|
|
38
38
|
this._loaded[bufferViewId] = result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BufferViewLoader.js","sourceRoot":"","sources":["../../../src/gltfv2/loaders/BufferViewLoader.ts"],"names":[],"mappings":";;;AAIA,MAAa,gBAAgB;
|
|
1
|
+
{"version":3,"file":"BufferViewLoader.js","sourceRoot":"","sources":["../../../src/gltfv2/loaders/BufferViewLoader.ts"],"names":[],"mappings":";;;AAIA,MAAa,gBAAgB;IAO5B,4BAA4B;IAE5B,2BAA2B;IAE3B,YACkB,QAAkB,EAClB,aAA2B;QAD3B,aAAQ,GAAR,QAAQ,CAAU;QAClB,kBAAa,GAAb,aAAa,CAAc;QAZ7C,yBAAyB;QAEjB,YAAO,GAEX,EAAE,CAAC;IASJ,CAAC;IAEJ,8BAA8B;IAE9B,6BAA6B;IAEtB,aAAa,CAAC,YAAoB;QACxC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW;YAC7B,MAAM,IAAI,KAAK,CACd,mDAAmD,CACnD,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAEM,IAAI;QACV,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW;YAAE,OAAO;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1D,MAAM,YAAY,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC;gBAC3C,MAAM,IAAI,KAAK,CACd,kDAAkD,CAClD,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YAE3D,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,CAAC,CAAC;YAC9C,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,CAAC,CAAC;YAE9C,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS;gBAClC,MAAM,IAAI,KAAK,CACd,0DAA0D,CAC1D,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,MAAO,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC;YAEjE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC;SACpC;IACF,CAAC;CAGD;AAzDD,4CAyDC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { MaterialLoader } from
|
|
1
|
+
import { IGLTF_v2 } from "@shapediver/viewer.data-engine.shared-types";
|
|
2
|
+
import { ITreeNode } from "@shapediver/viewer.shared.node-tree";
|
|
3
|
+
import { MaterialVariantsData } from "@shapediver/viewer.shared.types";
|
|
4
|
+
import { mat4 } from "gl-matrix";
|
|
5
|
+
import { AccessorLoader } from "./AccessorLoader";
|
|
6
|
+
import { BufferViewLoader } from "./BufferViewLoader";
|
|
7
|
+
import { MaterialLoader } from "./MaterialLoader";
|
|
8
8
|
export declare class GeometryLoader {
|
|
9
9
|
private readonly _content;
|
|
10
10
|
private readonly _accessorLoader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeometryLoader.d.ts","sourceRoot":"","sources":["../../../src/gltfv2/loaders/GeometryLoader.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"GeometryLoader.d.ts","sourceRoot":"","sources":["../../../src/gltfv2/loaders/GeometryLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EAER,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAC,SAAS,EAAW,MAAM,qCAAqC,CAAC;AAExE,OAAO,EAON,oBAAoB,EAEpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAE/B,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAEhD,qBAAa,cAAc;IAezB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAhB9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IAEnD,OAAO,CAAC,qBAAqB,CAA8B;IAC3D,OAAO,CAAC,OAAO,CAER;gBAOW,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,cAAc,EAC/B,iBAAiB,EAAE,gBAAgB,EACnC,eAAe,EAAE,cAAc,EAC/B,YAAY,EAAE,GAAG;IAOnC,IAAW,oBAAoB,IAAI,oBAAoB,CAEtD;IAMM,QAAQ,CACd,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,EAAE,EAClB,uBAAuB,GAAE,IAAI,EAAO,GAClC,SAAS;IA8BZ;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAiDrB,OAAO,CAAC,aAAa;CAyPrB"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GeometryLoader = void 0;
|
|
4
|
-
const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
|
|
5
|
-
const GLTFLoader_1 = require("../GLTFLoader");
|
|
6
4
|
const viewer_shared_node_tree_1 = require("@shapediver/viewer.shared.node-tree");
|
|
7
5
|
const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
|
|
6
|
+
const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
|
|
7
|
+
const GLTFLoader_1 = require("../GLTFLoader");
|
|
8
8
|
class GeometryLoader {
|
|
9
9
|
// #endregion Properties (1)
|
|
10
10
|
// #region Constructors (1)
|
|
@@ -28,11 +28,11 @@ class GeometryLoader {
|
|
|
28
28
|
// #region Public Methods (1)
|
|
29
29
|
loadMesh(meshId, weights, instanceTransformations = []) {
|
|
30
30
|
if (!this._content.meshes)
|
|
31
|
-
throw new Error(
|
|
31
|
+
throw new Error("GeometryLoader.loadMesh: Meshes not available.");
|
|
32
32
|
if (!this._content.meshes[meshId])
|
|
33
|
-
throw new Error(
|
|
33
|
+
throw new Error("GeometryLoader.loadMesh: Mesh not available.");
|
|
34
34
|
const mesh = this._content.meshes[meshId];
|
|
35
|
-
const meshNode = new viewer_shared_node_tree_1.TreeNode(mesh.name ||
|
|
35
|
+
const meshNode = new viewer_shared_node_tree_1.TreeNode(mesh.name || "mesh_" + meshId);
|
|
36
36
|
meshNode.originalName = mesh.name;
|
|
37
37
|
if (instanceTransformations.length > 0)
|
|
38
38
|
meshNode.addData(new viewer_shared_types_1.InstanceData(instanceTransformations));
|
|
@@ -56,7 +56,8 @@ class GeometryLoader {
|
|
|
56
56
|
let hasMaps = false;
|
|
57
57
|
if (material) {
|
|
58
58
|
for (const key in material) {
|
|
59
|
-
if (material[key] instanceof
|
|
59
|
+
if (material[key] instanceof
|
|
60
|
+
viewer_shared_types_1.MapData) {
|
|
60
61
|
hasMaps = true;
|
|
61
62
|
break;
|
|
62
63
|
}
|
|
@@ -65,7 +66,7 @@ class GeometryLoader {
|
|
|
65
66
|
// check if there are texture coordinates available
|
|
66
67
|
let hasTexCoords = false;
|
|
67
68
|
for (const key in attributes) {
|
|
68
|
-
if (key.includes(
|
|
69
|
+
if (key.includes("TEXCOORD")) {
|
|
69
70
|
hasTexCoords = true;
|
|
70
71
|
break;
|
|
71
72
|
}
|
|
@@ -73,7 +74,7 @@ class GeometryLoader {
|
|
|
73
74
|
// if there are maps but no texture coordinates, remove all maps from the material
|
|
74
75
|
let assignedMaterial = material;
|
|
75
76
|
if (material && hasMaps === true && hasTexCoords === false) {
|
|
76
|
-
this._logger.warn(
|
|
77
|
+
this._logger.warn("GeometryLoader.loadPrimitive: Material has maps but no texture coordinates are defined. Removing all maps from material.");
|
|
77
78
|
assignedMaterial = material.clone();
|
|
78
79
|
for (const key in assignedMaterial) {
|
|
79
80
|
if (assignedMaterial[key] instanceof viewer_shared_types_1.MapData)
|
|
@@ -84,15 +85,16 @@ class GeometryLoader {
|
|
|
84
85
|
}
|
|
85
86
|
loadPrimitive(meshId, primitives, index, weights = []) {
|
|
86
87
|
const primitive = primitives[index];
|
|
87
|
-
const primitiveNode = new viewer_shared_node_tree_1.TreeNode(
|
|
88
|
-
if (this._loaded[
|
|
89
|
-
primitiveNode.data.push(this._loaded[
|
|
88
|
+
const primitiveNode = new viewer_shared_node_tree_1.TreeNode("primitive_" + index);
|
|
89
|
+
if (this._loaded["mesh_" + meshId + "_primitive_" + index]) {
|
|
90
|
+
primitiveNode.data.push(this._loaded["mesh_" + meshId + "_primitive_" + index].clone());
|
|
90
91
|
return primitiveNode;
|
|
91
92
|
}
|
|
92
93
|
const attributes = {};
|
|
93
94
|
let indices = null;
|
|
94
95
|
const convertedNames = {};
|
|
95
|
-
if (primitive.extensions &&
|
|
96
|
+
if (primitive.extensions &&
|
|
97
|
+
primitive.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_DRACO_MESH_COMPRESSION]) {
|
|
96
98
|
const dracoDef = primitive.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_DRACO_MESH_COMPRESSION];
|
|
97
99
|
const arrayBuffer = this._bufferViewLoader.getBufferView(dracoDef.bufferView);
|
|
98
100
|
const decoder = new this._dracoModule.Decoder();
|
|
@@ -107,8 +109,8 @@ class GeometryLoader {
|
|
|
107
109
|
dracoGeometry = new this._dracoModule.PointCloud();
|
|
108
110
|
decoder.DecodeArrayToPointCloud(array, array.byteLength, dracoGeometry);
|
|
109
111
|
}
|
|
110
|
-
if (dracoDef.attributes[
|
|
111
|
-
const errorMsg =
|
|
112
|
+
if (dracoDef.attributes["POSITION"] === undefined) {
|
|
113
|
+
const errorMsg = "No position attribute found in the mesh.";
|
|
112
114
|
this._dracoModule.destroy(decoder);
|
|
113
115
|
this._dracoModule.destroy(dracoGeometry);
|
|
114
116
|
throw new Error(errorMsg);
|
|
@@ -127,8 +129,8 @@ class GeometryLoader {
|
|
|
127
129
|
decoder.GetAttributeDataArrayForAllPoints(dracoGeometry, attribute, this._dracoModule.DT_FLOAT32, byteLength, ptr);
|
|
128
130
|
const array = new Float32Array(this._dracoModule.HEAPF32.buffer, ptr, numValues).slice();
|
|
129
131
|
this._dracoModule._free(ptr);
|
|
130
|
-
if (a.includes(
|
|
131
|
-
array.forEach((n, i) => array[i] = Math.max(0, Math.min(1, n)));
|
|
132
|
+
if (a.includes("COLOR"))
|
|
133
|
+
array.forEach((n, i) => (array[i] = Math.max(0, Math.min(1, n))));
|
|
132
134
|
attributes[a] = new viewer_shared_types_1.AttributeData(array, numComponents, // itemSize
|
|
133
135
|
array.BYTES_PER_ELEMENT * numComponents, // itemBytes = elementBytes * itemSize
|
|
134
136
|
byteOffset, // byteOffset
|
|
@@ -149,8 +151,7 @@ class GeometryLoader {
|
|
|
149
151
|
0, // byteOffset
|
|
150
152
|
indexArray.BYTES_PER_ELEMENT, // elementBytes
|
|
151
153
|
false, // normalized
|
|
152
|
-
indexArray.length
|
|
153
|
-
);
|
|
154
|
+
indexArray.length);
|
|
154
155
|
}
|
|
155
156
|
this._dracoModule.destroy(decoder);
|
|
156
157
|
this._dracoModule.destroy(dracoGeometry);
|
|
@@ -162,15 +163,21 @@ class GeometryLoader {
|
|
|
162
163
|
}
|
|
163
164
|
let attributeName = attribute;
|
|
164
165
|
// attribute name conversion to be consistent with gltf
|
|
165
|
-
if (/\d/.test(attributeName) && !attributeName.includes(
|
|
166
|
+
if (/\d/.test(attributeName) && !attributeName.includes("_")) {
|
|
166
167
|
const index = attributeName.search(/\d/);
|
|
167
|
-
attributeName =
|
|
168
|
+
attributeName =
|
|
169
|
+
attributeName.substring(0, index) +
|
|
170
|
+
"_" +
|
|
171
|
+
attributeName.substring(index, attributeName.length);
|
|
168
172
|
}
|
|
169
|
-
else if (attributeName ===
|
|
170
|
-
attributeName
|
|
173
|
+
else if (attributeName === "TEXCOORD" ||
|
|
174
|
+
attributeName === "COLOR" ||
|
|
175
|
+
attributeName === "JOINTS" ||
|
|
176
|
+
attributeName === "WEIGHTS") {
|
|
177
|
+
attributeName += "_0";
|
|
171
178
|
}
|
|
172
|
-
else if (attributeName ===
|
|
173
|
-
attributeName =
|
|
179
|
+
else if (attributeName === "UV") {
|
|
180
|
+
attributeName = "TEXCOORD_0";
|
|
174
181
|
}
|
|
175
182
|
convertedNames[attribute] = attributeName;
|
|
176
183
|
const accessor = this._accessorLoader.getAccessor(primitive.attributes[attribute]);
|
|
@@ -199,25 +206,29 @@ class GeometryLoader {
|
|
|
199
206
|
material = this._materialLoader.getMaterial(primitive.material);
|
|
200
207
|
// if there are no attributes, return a primitive node without geometry data
|
|
201
208
|
if (Object.values(attributes).length === 0) {
|
|
202
|
-
this._logger.warn(
|
|
209
|
+
this._logger.warn("GeometryLoader.loadPrimitive: No attributes found. Primitive will be ignored.");
|
|
203
210
|
return primitiveNode;
|
|
204
211
|
}
|
|
205
212
|
// check if the material has maps defined and if so, if there are texture coordinates available
|
|
206
213
|
const assignedMaterial = this.cleanMaterial(attributes, material);
|
|
207
214
|
const primitiveData = new viewer_shared_types_1.PrimitiveData(attributes, indices);
|
|
208
215
|
const geometryData = new viewer_shared_types_1.GeometryData(primitiveData, primitive.mode, assignedMaterial);
|
|
209
|
-
if (primitive.extensions &&
|
|
216
|
+
if (primitive.extensions &&
|
|
217
|
+
primitive.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_VARIANTS]) {
|
|
210
218
|
this._materialVariantsData.geometryData.push(geometryData);
|
|
211
219
|
const variantsExtension = primitive.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_VARIANTS];
|
|
212
220
|
for (let i = 0; i < variantsExtension.mappings.length; i++) {
|
|
213
221
|
const mapping = variantsExtension.mappings[i];
|
|
214
222
|
const material = this._materialLoader.getMaterial(mapping.material);
|
|
215
223
|
for (let j = 0; j < mapping.variants.length; j++)
|
|
216
|
-
geometryData.materialVariants.push({
|
|
224
|
+
geometryData.materialVariants.push({
|
|
225
|
+
variant: mapping.variants[j],
|
|
226
|
+
material,
|
|
227
|
+
});
|
|
217
228
|
}
|
|
218
229
|
}
|
|
219
230
|
geometryData.morphWeights = weights;
|
|
220
|
-
this._loaded[
|
|
231
|
+
this._loaded["mesh_" + meshId + "_primitive_" + index] = geometryData;
|
|
221
232
|
primitiveNode.data.push(geometryData);
|
|
222
233
|
return primitiveNode;
|
|
223
234
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeometryLoader.js","sourceRoot":"","sources":["../../../src/gltfv2/loaders/GeometryLoader.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"GeometryLoader.js","sourceRoot":"","sources":["../../../src/gltfv2/loaders/GeometryLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { IGLTF_v2 } from
|
|
2
|
-
import { IMaterialAbstractData } from
|
|
3
|
-
import { TextureLoader } from
|
|
1
|
+
import { IGLTF_v2 } from "@shapediver/viewer.data-engine.shared-types";
|
|
2
|
+
import { IMaterialAbstractData } from "@shapediver/viewer.shared.types";
|
|
3
|
+
import { TextureLoader } from "./TextureLoader";
|
|
4
4
|
export declare class MaterialLoader {
|
|
5
5
|
private readonly _content;
|
|
6
6
|
private readonly _textureLoader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialLoader.d.ts","sourceRoot":"","sources":["../../../src/gltfv2/loaders/MaterialLoader.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"MaterialLoader.d.ts","sourceRoot":"","sources":["../../../src/gltfv2/loaders/MaterialLoader.ts"],"names":[],"mappings":"AACA,OAAO,EACN,QAAQ,EAIR,MAAM,6CAA6C,CAAC;AAErD,OAAO,EAEN,qBAAqB,EAarB,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C,qBAAa,cAAc;IAazB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAXhC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;IAC5D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2C;IAE3E,OAAO,CAAC,OAAO,CAA8C;gBAO3C,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,aAAa;IAOxC,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB;IAchD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA+sBlC,OAAO,CAAC,OAAO;CAiDf"}
|