@loaders.gl/draco 4.0.0-alpha.4 → 4.0.0-alpha.6
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/bundle.d.ts +2 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/bundle.js +2 -2
- package/dist/dist.min.js +4 -0
- package/dist/dist.min.js.map +7 -0
- package/dist/draco-loader.d.ts +18 -0
- package/dist/draco-loader.d.ts.map +1 -0
- package/dist/draco-loader.js +28 -21
- package/dist/draco-nodejs-worker.js +191 -0
- package/dist/draco-nodejs-worker.js.map +7 -0
- package/dist/draco-worker.js +2 -1236
- package/dist/draco-worker.js.map +7 -0
- package/dist/draco-writer-nodejs-worker.js +193 -0
- package/dist/draco-writer-nodejs-worker.js.map +7 -0
- package/dist/draco-writer-nodejs.d.ts +3 -0
- package/dist/draco-writer-nodejs.d.ts.map +1 -0
- package/dist/draco-writer-nodejs.js +7 -0
- package/dist/draco-writer-worker.js +4 -0
- package/dist/draco-writer-worker.js.map +7 -0
- package/dist/draco-writer.d.ts +17 -0
- package/dist/draco-writer.d.ts.map +1 -0
- package/dist/draco-writer.js +40 -28
- package/dist/draco3d/draco3d-types.d.ts +295 -0
- package/dist/draco3d/draco3d-types.d.ts.map +1 -0
- package/dist/draco3d/draco3d-types.js +47 -44
- package/dist/es5/bundle.js +6 -0
- package/dist/es5/bundle.js.map +1 -0
- package/dist/es5/draco-loader.js +34 -0
- package/dist/es5/draco-loader.js.map +1 -0
- package/dist/es5/draco-writer-nodejs.js +14 -0
- package/dist/es5/draco-writer-nodejs.js.map +1 -0
- package/dist/es5/draco-writer.js +63 -0
- package/dist/es5/draco-writer.js.map +1 -0
- package/dist/es5/draco3d/draco3d-types.js +51 -0
- package/dist/es5/draco3d/draco3d-types.js.map +1 -0
- package/dist/es5/index.js +79 -0
- package/dist/es5/index.js.map +1 -0
- package/dist/es5/lib/draco-builder.js +324 -0
- package/dist/es5/lib/draco-builder.js.map +1 -0
- package/dist/es5/lib/draco-module-loader.js +183 -0
- package/dist/es5/lib/draco-module-loader.js.map +1 -0
- package/dist/es5/lib/draco-parser.js +435 -0
- package/dist/es5/lib/draco-parser.js.map +1 -0
- package/dist/es5/lib/draco-types.js +2 -0
- package/dist/es5/lib/draco-types.js.map +1 -0
- package/dist/es5/lib/utils/get-draco-schema.js +47 -0
- package/dist/es5/lib/utils/get-draco-schema.js.map +1 -0
- package/dist/es5/lib/utils/version.js +9 -0
- package/dist/es5/lib/utils/version.js.map +1 -0
- package/dist/es5/workers/draco-nodejs-worker.js +7 -0
- package/dist/es5/workers/draco-nodejs-worker.js.map +1 -0
- package/dist/es5/workers/draco-worker.js +6 -0
- package/dist/es5/workers/draco-worker.js.map +1 -0
- package/dist/es5/workers/draco-writer-nodejs-worker.js +53 -0
- package/dist/es5/workers/draco-writer-nodejs-worker.js.map +1 -0
- package/dist/es5/workers/draco-writer-worker.js +53 -0
- package/dist/es5/workers/draco-writer-worker.js.map +1 -0
- package/dist/esm/bundle.js +4 -0
- package/dist/esm/bundle.js.map +1 -0
- package/dist/esm/draco-loader.js +24 -0
- package/dist/esm/draco-loader.js.map +1 -0
- package/dist/esm/draco-writer-nodejs.js +3 -0
- package/dist/esm/draco-writer-nodejs.js.map +1 -0
- package/dist/esm/draco-writer.js +31 -0
- package/dist/esm/draco-writer.js.map +1 -0
- package/dist/esm/draco3d/draco3d-types.js +41 -0
- package/dist/esm/draco3d/draco3d-types.js.map +1 -0
- package/dist/esm/index.js +35 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/draco-builder.js +268 -0
- package/dist/esm/lib/draco-builder.js.map +1 -0
- package/dist/esm/lib/draco-module-loader.js +76 -0
- package/dist/esm/lib/draco-module-loader.js.map +1 -0
- package/dist/esm/lib/draco-parser.js +363 -0
- package/dist/esm/lib/draco-parser.js.map +1 -0
- package/dist/esm/lib/draco-types.js +2 -0
- package/dist/esm/lib/draco-types.js.map +1 -0
- package/dist/esm/lib/utils/get-draco-schema.js +41 -0
- package/dist/esm/lib/utils/get-draco-schema.js.map +1 -0
- package/dist/esm/lib/utils/version.js +2 -0
- package/dist/esm/lib/utils/version.js.map +1 -0
- package/dist/esm/workers/draco-nodejs-worker.js +5 -0
- package/dist/esm/workers/draco-nodejs-worker.js.map +1 -0
- package/dist/esm/workers/draco-worker.js +4 -0
- package/dist/esm/workers/draco-worker.js.map +1 -0
- package/dist/esm/workers/draco-writer-nodejs-worker.js +30 -0
- package/dist/esm/workers/draco-writer-nodejs-worker.js.map +1 -0
- package/dist/esm/workers/draco-writer-worker.js +30 -0
- package/dist/esm/workers/draco-writer-worker.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +46 -21
- package/dist/lib/draco-builder.d.ts +107 -0
- package/dist/lib/draco-builder.d.ts.map +1 -0
- package/dist/lib/draco-builder.js +313 -329
- package/dist/lib/draco-module-loader.d.ts +3 -0
- package/dist/lib/draco-module-loader.d.ts.map +1 -0
- package/dist/lib/draco-module-loader.js +81 -73
- package/dist/lib/draco-parser.d.ts +137 -0
- package/dist/lib/draco-parser.d.ts.map +1 -0
- package/dist/lib/draco-parser.js +440 -416
- package/dist/lib/draco-types.d.ts +59 -0
- package/dist/lib/draco-types.d.ts.map +1 -0
- package/dist/lib/draco-types.js +3 -2
- package/dist/lib/utils/get-draco-schema.d.ts +8 -0
- package/dist/lib/utils/get-draco-schema.d.ts.map +1 -0
- package/dist/lib/utils/get-draco-schema.js +35 -41
- package/dist/lib/utils/version.d.ts +2 -0
- package/dist/lib/utils/version.d.ts.map +1 -0
- package/dist/lib/utils/version.js +7 -2
- package/dist/workers/draco-nodejs-worker.d.ts +2 -0
- package/dist/workers/draco-nodejs-worker.d.ts.map +1 -0
- package/dist/workers/draco-nodejs-worker.js +6 -0
- package/dist/workers/draco-worker.d.ts +2 -0
- package/dist/workers/draco-worker.d.ts.map +1 -0
- package/dist/workers/draco-worker.js +5 -4
- package/dist/workers/draco-writer-nodejs-worker.d.ts +2 -0
- package/dist/workers/draco-writer-nodejs-worker.d.ts.map +1 -0
- package/dist/workers/draco-writer-nodejs-worker.js +26 -0
- package/dist/workers/draco-writer-worker.d.ts +2 -0
- package/dist/workers/draco-writer-worker.d.ts.map +1 -0
- package/dist/workers/draco-writer-worker.js +26 -0
- package/package.json +18 -11
- package/src/draco-loader.ts +8 -4
- package/src/draco-writer-nodejs.ts +4 -0
- package/src/draco-writer.ts +17 -12
- package/src/index.ts +21 -1
- package/src/lib/draco-module-loader.ts +9 -5
- package/src/lib/utils/get-draco-schema.ts +7 -6
- package/src/workers/draco-nodejs-worker.ts +5 -0
- package/src/workers/draco-writer-nodejs-worker.ts +25 -0
- package/src/workers/draco-writer-worker.ts +25 -0
- package/dist/bundle.js.map +0 -1
- package/dist/draco-loader.js.map +0 -1
- package/dist/draco-writer.js.map +0 -1
- package/dist/draco3d/draco3d-types.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/draco-builder.js.map +0 -1
- package/dist/lib/draco-module-loader.js.map +0 -1
- package/dist/lib/draco-parser.js.map +0 -1
- package/dist/lib/draco-types.js.map +0 -1
- package/dist/lib/utils/get-draco-schema.js.map +0 -1
- package/dist/lib/utils/version.js.map +0 -1
- package/dist/workers/draco-worker.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draco-module-loader.d.ts","sourceRoot":"","sources":["../../src/lib/draco-module-loader.ts"],"names":[],"mappings":"AAoBA,wBAAsB,sBAAsB,CAAC,OAAO,KAAA,gBAenD;AAED,wBAAsB,sBAAsB,CAAC,OAAO,KAAA,gBAenD"}
|
|
@@ -1,85 +1,93 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
// Dynamic DRACO module loading inspired by THREE.DRACOLoader
|
|
3
|
+
// https://github.com/mrdoob/three.js/blob/398c4f39ebdb8b23eefd4a7a5ec49ec0c96c7462/examples/jsm/loaders/DRACOLoader.js
|
|
4
|
+
// by Don McCurdy / https://www.donmccurdy.com / MIT license
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.loadDracoEncoderModule = exports.loadDracoDecoderModule = void 0;
|
|
7
|
+
const worker_utils_1 = require("@loaders.gl/worker-utils");
|
|
8
|
+
const DRACO_DECODER_VERSION = '1.5.5';
|
|
9
|
+
const DRACO_ENCODER_VERSION = '1.4.1';
|
|
10
|
+
const STATIC_DECODER_URL = `https://www.gstatic.com/draco/versioned/decoders/${DRACO_DECODER_VERSION}`;
|
|
11
|
+
const DRACO_JS_DECODER_URL = `${STATIC_DECODER_URL}/draco_decoder.js`;
|
|
12
|
+
const DRACO_WASM_WRAPPER_URL = `${STATIC_DECODER_URL}/draco_wasm_wrapper.js`;
|
|
13
|
+
const DRACO_WASM_DECODER_URL = `${STATIC_DECODER_URL}/draco_decoder.wasm`;
|
|
14
|
+
const DRACO_ENCODER_URL = `https://raw.githubusercontent.com/google/draco/${DRACO_ENCODER_VERSION}/javascript/draco_encoder.js`;
|
|
7
15
|
let loadDecoderPromise;
|
|
8
16
|
let loadEncoderPromise;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
async function loadDracoDecoderModule(options) {
|
|
18
|
+
const modules = options.modules || {};
|
|
19
|
+
// Check if a bundled draco3d library has been supplied by application
|
|
20
|
+
if (modules.draco3d) {
|
|
21
|
+
loadDecoderPromise =
|
|
22
|
+
loadDecoderPromise ||
|
|
23
|
+
modules.draco3d.createDecoderModule({}).then((draco) => {
|
|
24
|
+
return { draco };
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
// If not, dynamically load the WASM script from our CDN
|
|
29
|
+
loadDecoderPromise = loadDecoderPromise || loadDracoDecoder(options);
|
|
30
|
+
}
|
|
31
|
+
return await loadDecoderPromise;
|
|
23
32
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
exports.loadDracoDecoderModule = loadDracoDecoderModule;
|
|
34
|
+
async function loadDracoEncoderModule(options) {
|
|
35
|
+
const modules = options.modules || {};
|
|
36
|
+
// Check if a bundled draco3d library has been supplied by application
|
|
37
|
+
if (modules.draco3d) {
|
|
38
|
+
loadEncoderPromise =
|
|
39
|
+
loadEncoderPromise ||
|
|
40
|
+
modules.draco3d.createEncoderModule({}).then((draco) => {
|
|
41
|
+
return { draco };
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
// If not, dynamically load the WASM script from our CDN
|
|
46
|
+
loadEncoderPromise = loadEncoderPromise || loadDracoEncoder(options);
|
|
47
|
+
}
|
|
48
|
+
return await loadEncoderPromise;
|
|
38
49
|
}
|
|
39
|
-
|
|
50
|
+
exports.loadDracoEncoderModule = loadDracoEncoderModule;
|
|
51
|
+
// DRACO DECODER LOADING
|
|
40
52
|
async function loadDracoDecoder(options) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
let DracoDecoderModule;
|
|
54
|
+
let wasmBinary;
|
|
55
|
+
switch (options.draco && options.draco.decoderType) {
|
|
56
|
+
case 'js':
|
|
57
|
+
DracoDecoderModule = await (0, worker_utils_1.loadLibrary)(DRACO_JS_DECODER_URL, 'draco', options);
|
|
58
|
+
break;
|
|
59
|
+
case 'wasm':
|
|
60
|
+
default:
|
|
61
|
+
[DracoDecoderModule, wasmBinary] = await Promise.all([
|
|
62
|
+
await (0, worker_utils_1.loadLibrary)(DRACO_WASM_WRAPPER_URL, 'draco', options),
|
|
63
|
+
await (0, worker_utils_1.loadLibrary)(DRACO_WASM_DECODER_URL, 'draco', options)
|
|
64
|
+
]);
|
|
65
|
+
}
|
|
66
|
+
// Depends on how import happened...
|
|
67
|
+
// @ts-ignore
|
|
68
|
+
DracoDecoderModule = DracoDecoderModule || globalThis.DracoDecoderModule;
|
|
69
|
+
return await initializeDracoDecoder(DracoDecoderModule, wasmBinary);
|
|
56
70
|
}
|
|
57
|
-
|
|
58
71
|
function initializeDracoDecoder(DracoDecoderModule, wasmBinary) {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
draco
|
|
69
|
-
})
|
|
72
|
+
const options = {};
|
|
73
|
+
if (wasmBinary) {
|
|
74
|
+
options.wasmBinary = wasmBinary;
|
|
75
|
+
}
|
|
76
|
+
return new Promise((resolve) => {
|
|
77
|
+
DracoDecoderModule({
|
|
78
|
+
...options,
|
|
79
|
+
onModuleLoaded: (draco) => resolve({ draco }) // Module is Promise-like. Wrap in object to avoid loop.
|
|
80
|
+
});
|
|
70
81
|
});
|
|
71
|
-
});
|
|
72
82
|
}
|
|
73
|
-
|
|
83
|
+
// ENCODER
|
|
74
84
|
async function loadDracoEncoder(options) {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
85
|
+
let DracoEncoderModule = await (0, worker_utils_1.loadLibrary)(DRACO_ENCODER_URL, 'draco', options);
|
|
86
|
+
// @ts-ignore
|
|
87
|
+
DracoEncoderModule = DracoEncoderModule || globalThis.DracoEncoderModule;
|
|
88
|
+
return new Promise((resolve) => {
|
|
89
|
+
DracoEncoderModule({
|
|
90
|
+
onModuleLoaded: (draco) => resolve({ draco }) // Module is Promise-like. Wrap in object to avoid loop.
|
|
91
|
+
});
|
|
82
92
|
});
|
|
83
|
-
});
|
|
84
93
|
}
|
|
85
|
-
//# sourceMappingURL=draco-module-loader.js.map
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import type { TypedArray, MeshAttribute, MeshGeometry } from '@loaders.gl/schema';
|
|
2
|
+
import type { Draco3D, Decoder, Mesh, PointCloud, PointAttribute, Metadata, MetadataQuerier } from '../draco3d/draco3d-types';
|
|
3
|
+
import type { DracoMesh, DracoLoaderData, DracoAttribute, DracoMetadataEntry, DracoQuantizationTransform, DracoOctahedronTransform } from './draco-types';
|
|
4
|
+
/**
|
|
5
|
+
* @param topology - How triangle indices should be generated (mesh only)
|
|
6
|
+
* @param attributeNameEntry
|
|
7
|
+
* @param extraAttributes
|
|
8
|
+
* @param quantizedAttributes
|
|
9
|
+
* @param octahedronAttributes
|
|
10
|
+
*/
|
|
11
|
+
export type DracoParseOptions = {
|
|
12
|
+
topology?: 'triangle-list' | 'triangle-strip';
|
|
13
|
+
attributeNameEntry?: string;
|
|
14
|
+
extraAttributes?: {
|
|
15
|
+
[uniqueId: string]: number;
|
|
16
|
+
};
|
|
17
|
+
quantizedAttributes?: ('POSITION' | 'NORMAL' | 'COLOR' | 'TEX_COORD' | 'GENERIC')[];
|
|
18
|
+
octahedronAttributes?: ('POSITION' | 'NORMAL' | 'COLOR' | 'TEX_COORD' | 'GENERIC')[];
|
|
19
|
+
};
|
|
20
|
+
export default class DracoParser {
|
|
21
|
+
draco: Draco3D;
|
|
22
|
+
decoder: Decoder;
|
|
23
|
+
metadataQuerier: MetadataQuerier;
|
|
24
|
+
constructor(draco: Draco3D);
|
|
25
|
+
/**
|
|
26
|
+
* Destroy draco resources
|
|
27
|
+
*/
|
|
28
|
+
destroy(): void;
|
|
29
|
+
/**
|
|
30
|
+
* NOTE: caller must call `destroyGeometry` on the return value after using it
|
|
31
|
+
* @param arrayBuffer
|
|
32
|
+
* @param options
|
|
33
|
+
*/
|
|
34
|
+
parseSync(arrayBuffer: ArrayBuffer, options?: DracoParseOptions): DracoMesh;
|
|
35
|
+
/**
|
|
36
|
+
* Extract
|
|
37
|
+
* @param dracoGeometry
|
|
38
|
+
* @param geometry_type
|
|
39
|
+
* @param options
|
|
40
|
+
* @returns
|
|
41
|
+
*/
|
|
42
|
+
_getDracoLoaderData(dracoGeometry: Mesh | PointCloud, geometry_type: any, options: DracoParseOptions): DracoLoaderData;
|
|
43
|
+
/**
|
|
44
|
+
* Extract all draco provided information and metadata for each attribute
|
|
45
|
+
* @param dracoGeometry
|
|
46
|
+
* @param options
|
|
47
|
+
* @returns
|
|
48
|
+
*/
|
|
49
|
+
_getDracoAttributes(dracoGeometry: Mesh | PointCloud, options: DracoParseOptions): {
|
|
50
|
+
[unique_id: number]: DracoAttribute;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Get standard loaders.gl mesh category data
|
|
54
|
+
* Extracts the geometry from draco
|
|
55
|
+
* @param dracoGeometry
|
|
56
|
+
* @param options
|
|
57
|
+
*/
|
|
58
|
+
_getMeshData(dracoGeometry: Mesh | PointCloud, loaderData: DracoLoaderData, options: DracoParseOptions): MeshGeometry;
|
|
59
|
+
_getMeshAttributes(loaderData: DracoLoaderData, dracoGeometry: Mesh | PointCloud, options: DracoParseOptions): {
|
|
60
|
+
[attributeName: string]: MeshAttribute;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* For meshes, we need indices to define the faces.
|
|
64
|
+
* @param dracoGeometry
|
|
65
|
+
*/
|
|
66
|
+
_getTriangleListIndices(dracoGeometry: Mesh): Uint32Array;
|
|
67
|
+
/**
|
|
68
|
+
* For meshes, we need indices to define the faces.
|
|
69
|
+
* @param dracoGeometry
|
|
70
|
+
*/
|
|
71
|
+
_getTriangleStripIndices(dracoGeometry: Mesh): Int32Array;
|
|
72
|
+
/**
|
|
73
|
+
*
|
|
74
|
+
* @param dracoGeometry
|
|
75
|
+
* @param dracoAttribute
|
|
76
|
+
* @param attributeName
|
|
77
|
+
*/
|
|
78
|
+
_getAttributeValues(dracoGeometry: Mesh | PointCloud, attribute: DracoAttribute): {
|
|
79
|
+
value: TypedArray;
|
|
80
|
+
size: number;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* DRACO does not store attribute names - We need to deduce an attribute name
|
|
84
|
+
* for each attribute
|
|
85
|
+
_getAttributeNames(
|
|
86
|
+
dracoGeometry: Mesh | PointCloud,
|
|
87
|
+
options: DracoParseOptions
|
|
88
|
+
): {[unique_id: number]: string} {
|
|
89
|
+
const attributeNames: {[unique_id: number]: string} = {};
|
|
90
|
+
for (let attributeId = 0; attributeId < dracoGeometry.num_attributes(); attributeId++) {
|
|
91
|
+
const dracoAttribute = this.decoder.GetAttribute(dracoGeometry, attributeId);
|
|
92
|
+
const attributeName = this._deduceAttributeName(dracoAttribute, options);
|
|
93
|
+
attributeNames[attributeName] = attributeName;
|
|
94
|
+
}
|
|
95
|
+
return attributeNames;
|
|
96
|
+
}
|
|
97
|
+
*/
|
|
98
|
+
/**
|
|
99
|
+
* Deduce an attribute name.
|
|
100
|
+
* @note DRACO does not save attribute names, just general type (POSITION, COLOR)
|
|
101
|
+
* to help optimize compression. We generate GLTF compatible names for the Draco-recognized
|
|
102
|
+
* types
|
|
103
|
+
* @param attributeData
|
|
104
|
+
*/
|
|
105
|
+
_deduceAttributeName(attribute: DracoAttribute, options: DracoParseOptions): string;
|
|
106
|
+
/** Get top level metadata */
|
|
107
|
+
_getTopLevelMetadata(dracoGeometry: Mesh | PointCloud): {
|
|
108
|
+
[entry: string]: DracoMetadataEntry;
|
|
109
|
+
};
|
|
110
|
+
/** Get per attribute metadata */
|
|
111
|
+
_getAttributeMetadata(dracoGeometry: Mesh | PointCloud, attributeId: number): {
|
|
112
|
+
[entry: string]: DracoMetadataEntry;
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Extract metadata field values
|
|
116
|
+
* @param dracoMetadata
|
|
117
|
+
* @returns
|
|
118
|
+
*/
|
|
119
|
+
_getDracoMetadata(dracoMetadata: Metadata): {
|
|
120
|
+
[entry: string]: DracoMetadataEntry;
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* Extracts possible values for one metadata entry by name
|
|
124
|
+
* @param dracoMetadata
|
|
125
|
+
* @param entryName
|
|
126
|
+
*/
|
|
127
|
+
_getDracoMetadataField(dracoMetadata: Metadata, entryName: string): DracoMetadataEntry;
|
|
128
|
+
/** Skip transforms for specific attribute types */
|
|
129
|
+
_disableAttributeTransforms(options: DracoParseOptions): void;
|
|
130
|
+
/**
|
|
131
|
+
* Extract (and apply?) Position Transform
|
|
132
|
+
* @todo not used
|
|
133
|
+
*/
|
|
134
|
+
_getQuantizationTransform(dracoAttribute: PointAttribute, options: DracoParseOptions): DracoQuantizationTransform | null;
|
|
135
|
+
_getOctahedronTransform(dracoAttribute: PointAttribute, options: DracoParseOptions): DracoOctahedronTransform | null;
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=draco-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draco-parser.d.ts","sourceRoot":"","sources":["../../src/lib/draco-parser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,UAAU,EAAE,aAAa,EAAE,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAGhF,OAAO,KAAK,EACV,OAAO,EACP,OAAO,EACP,IAAI,EACJ,UAAU,EACV,cAAc,EACd,QAAQ,EACR,eAAe,EAGhB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,EACzB,MAAM,eAAe,CAAC;AAKvB;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,EAAE,eAAe,GAAG,gBAAgB,CAAC;IAC9C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE;QAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;IAC/C,mBAAmB,CAAC,EAAE,CAAC,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC,EAAE,CAAC;IACpF,oBAAoB,CAAC,EAAE,CAAC,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC,EAAE,CAAC;CACtF,CAAC;AA6BF,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,eAAe,CAAC;gBAGrB,KAAK,EAAE,OAAO;IAM1B;;OAEG;IACH,OAAO,IAAI,IAAI;IAKf;;;;OAIG;IACH,SAAS,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,GAAE,iBAAsB,GAAG,SAAS;IA8D/E;;;;;;OAMG;IACH,mBAAmB,CACjB,aAAa,EAAE,IAAI,GAAG,UAAU,EAChC,aAAa,KAAA,EACb,OAAO,EAAE,iBAAiB,GACzB,eAAe;IAclB;;;;;OAKG;IACH,mBAAmB,CACjB,aAAa,EAAE,IAAI,GAAG,UAAU,EAChC,OAAO,EAAE,iBAAiB,GACzB;QAAC,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,CAAA;KAAC;IAuCxC;;;;;OAKG;IACH,YAAY,CACV,aAAa,EAAE,IAAI,GAAG,UAAU,EAChC,UAAU,EAAE,eAAe,EAC3B,OAAO,EAAE,iBAAiB,GACzB,YAAY;IA2Cf,kBAAkB,CAChB,UAAU,EAAE,eAAe,EAC3B,aAAa,EAAE,IAAI,GAAG,UAAU,EAChC,OAAO,EAAE,iBAAiB,GACzB;QAAC,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa,CAAA;KAAC;IAqB3C;;;OAGG;IACH,uBAAuB,CAAC,aAAa,EAAE,IAAI;IAe3C;;;OAGG;IACH,wBAAwB,CAAC,aAAa,EAAE,IAAI;IAU5C;;;;;OAKG;IACH,mBAAmB,CACjB,aAAa,EAAE,IAAI,GAAG,UAAU,EAChC,SAAS,EAAE,cAAc,GACxB;QAAC,KAAK,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC;IA+BpC;;;;;;;;;;;;;;;OAeG;IAEH;;;;;;OAMG;IACH,oBAAoB,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,GAAG,MAAM;IAmCnF,6BAA6B;IAC7B,oBAAoB,CAAC,aAAa,EAAE,IAAI,GAAG,UAAU;;;IAKrD,iCAAiC;IACjC,qBAAqB,CAAC,aAAa,EAAE,IAAI,GAAG,UAAU,EAAE,WAAW,EAAE,MAAM;;;IAK3E;;;;OAIG;IACH,iBAAiB,CAAC,aAAa,EAAE,QAAQ,GAAG;QAAC,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAA;KAAC;IAcjF;;;;OAIG;IACH,sBAAsB,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,kBAAkB;IAmBtF,mDAAmD;IACnD,2BAA2B,CAAC,OAAO,EAAE,iBAAiB;IAQtD;;;OAGG;IACH,yBAAyB,CACvB,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,iBAAiB,GACzB,0BAA0B,GAAG,IAAI;IAqBpC,uBAAuB,CACrB,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,iBAAiB,GACzB,wBAAwB,GAAG,IAAI;CAsBnC"}
|