@loaders.gl/draco 3.1.0-alpha.2 → 3.1.0-beta.1
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 +4 -6
- package/dist/dist.min.js +4 -2
- package/dist/dist.min.js.map +7 -1
- package/dist/draco-loader.d.ts +28 -0
- package/dist/draco-loader.d.ts.map +1 -0
- package/dist/draco-loader.js +27 -21
- package/dist/draco-worker.js +2 -2
- package/dist/draco-worker.js.map +7 -1
- package/dist/draco-writer.d.ts +8 -0
- package/dist/draco-writer.d.ts.map +1 -0
- package/dist/draco-writer.js +39 -27
- 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 +7 -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.js +45 -0
- package/dist/es5/draco-writer.js.map +1 -0
- package/dist/es5/draco3d/draco3d-types.js +58 -0
- package/dist/es5/draco3d/draco3d-types.js.map +1 -0
- package/dist/es5/index.js +50 -0
- package/dist/es5/index.js.map +1 -0
- package/dist/es5/lib/draco-builder.js +361 -0
- package/dist/es5/lib/draco-builder.js.map +1 -0
- package/dist/es5/lib/draco-module-loader.js +96 -0
- package/dist/es5/lib/draco-module-loader.js.map +1 -0
- package/dist/es5/lib/draco-parser.js +464 -0
- package/dist/es5/lib/draco-parser.js.map +1 -0
- package/dist/es5/lib/draco-types.js +2 -0
- package/dist/{lib → es5/lib}/draco-types.js.map +0 -0
- package/dist/es5/lib/utils/get-draco-schema.js +55 -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-worker.js +8 -0
- package/dist/es5/workers/draco-worker.js.map +1 -0
- package/dist/esm/bundle.js +5 -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.js +32 -0
- package/dist/esm/draco-writer.js.map +1 -0
- package/dist/esm/draco3d/draco3d-types.js +48 -0
- package/dist/esm/draco3d/draco3d-types.js.map +1 -0
- package/dist/esm/index.js +24 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/draco-builder.js +354 -0
- package/dist/esm/lib/draco-builder.js.map +1 -0
- package/dist/esm/lib/draco-module-loader.js +85 -0
- package/dist/esm/lib/draco-module-loader.js.map +1 -0
- package/dist/esm/lib/draco-parser.js +452 -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 +48 -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-worker.js +4 -0
- package/dist/esm/workers/draco-worker.js.map +1 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -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 -331
- 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 +74 -68
- 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-worker.d.ts +2 -0
- package/dist/workers/draco-worker.d.ts.map +1 -0
- package/dist/workers/draco-worker.js +5 -4
- package/package.json +10 -10
- package/src/bundle.ts +2 -3
- 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/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,48 @@
|
|
|
1
|
+
import { deduceMeshField } from '@loaders.gl/schema';
|
|
2
|
+
import { Schema } from '@loaders.gl/schema';
|
|
3
|
+
export function getDracoSchema(attributes, loaderData, indices) {
|
|
4
|
+
const metadataMap = makeMetadata(loaderData.metadata);
|
|
5
|
+
const fields = [];
|
|
6
|
+
const namedLoaderDataAttributes = transformAttributesLoaderData(loaderData.attributes);
|
|
7
|
+
|
|
8
|
+
for (const attributeName in attributes) {
|
|
9
|
+
const attribute = attributes[attributeName];
|
|
10
|
+
const field = getArrowFieldFromAttribute(attributeName, attribute, namedLoaderDataAttributes[attributeName]);
|
|
11
|
+
fields.push(field);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
if (indices) {
|
|
15
|
+
const indicesField = getArrowFieldFromAttribute('indices', indices);
|
|
16
|
+
fields.push(indicesField);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return new Schema(fields, metadataMap);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function transformAttributesLoaderData(loaderData) {
|
|
23
|
+
const result = {};
|
|
24
|
+
|
|
25
|
+
for (const key in loaderData) {
|
|
26
|
+
const dracoAttribute = loaderData[key];
|
|
27
|
+
result[dracoAttribute.name || 'undefined'] = dracoAttribute;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return result;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function getArrowFieldFromAttribute(attributeName, attribute, loaderData) {
|
|
34
|
+
const metadataMap = loaderData ? makeMetadata(loaderData.metadata) : undefined;
|
|
35
|
+
const field = deduceMeshField(attributeName, attribute, metadataMap);
|
|
36
|
+
return field;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function makeMetadata(metadata) {
|
|
40
|
+
const metadataMap = new Map();
|
|
41
|
+
|
|
42
|
+
for (const key in metadata) {
|
|
43
|
+
metadataMap.set("".concat(key, ".string"), JSON.stringify(metadata[key]));
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return metadataMap;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=get-draco-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/utils/get-draco-schema.ts"],"names":["deduceMeshField","Schema","getDracoSchema","attributes","loaderData","indices","metadataMap","makeMetadata","metadata","fields","namedLoaderDataAttributes","transformAttributesLoaderData","attributeName","attribute","field","getArrowFieldFromAttribute","push","indicesField","result","key","dracoAttribute","name","undefined","Map","set","JSON","stringify"],"mappings":"AAAA,SAAQA,eAAR,QAA6C,oBAA7C;AACA,SAAQC,MAAR,QAA4B,oBAA5B;AAIA,OAAO,SAASC,cAAT,CACLC,UADK,EAELC,UAFK,EAGLC,OAHK,EAIG;AACR,QAAMC,WAAW,GAAGC,YAAY,CAACH,UAAU,CAACI,QAAZ,CAAhC;AACA,QAAMC,MAAe,GAAG,EAAxB;AACA,QAAMC,yBAAyB,GAAGC,6BAA6B,CAACP,UAAU,CAACD,UAAZ,CAA/D;;AACA,OAAK,MAAMS,aAAX,IAA4BT,UAA5B,EAAwC;AACtC,UAAMU,SAAS,GAAGV,UAAU,CAACS,aAAD,CAA5B;AACA,UAAME,KAAK,GAAGC,0BAA0B,CACtCH,aADsC,EAEtCC,SAFsC,EAGtCH,yBAAyB,CAACE,aAAD,CAHa,CAAxC;AAKAH,IAAAA,MAAM,CAACO,IAAP,CAAYF,KAAZ;AACD;;AACD,MAAIT,OAAJ,EAAa;AACX,UAAMY,YAAY,GAAGF,0BAA0B,CAAC,SAAD,EAAYV,OAAZ,CAA/C;AACAI,IAAAA,MAAM,CAACO,IAAP,CAAYC,YAAZ;AACD;;AACD,SAAO,IAAIhB,MAAJ,CAAWQ,MAAX,EAAmBH,WAAnB,CAAP;AACD;;AAED,SAASK,6BAAT,CAAuCP,UAAvC,EAEE;AACA,QAAMc,MAAiD,GAAG,EAA1D;;AACA,OAAK,MAAMC,GAAX,IAAkBf,UAAlB,EAA8B;AAC5B,UAAMgB,cAAc,GAAGhB,UAAU,CAACe,GAAD,CAAjC;AACAD,IAAAA,MAAM,CAACE,cAAc,CAACC,IAAf,IAAuB,WAAxB,CAAN,GAA6CD,cAA7C;AACD;;AACD,SAAOF,MAAP;AACD;;AAED,SAASH,0BAAT,CACEH,aADF,EAEEC,SAFF,EAGET,UAHF,EAIS;AACP,QAAME,WAAW,GAAGF,UAAU,GAAGG,YAAY,CAACH,UAAU,CAACI,QAAZ,CAAf,GAAuCc,SAArE;AACA,QAAMR,KAAK,GAAGd,eAAe,CAACY,aAAD,EAAgBC,SAAhB,EAA2BP,WAA3B,CAA7B;AACA,SAAOQ,KAAP;AACD;;AAED,SAASP,YAAT,CAAsBC,QAAtB,EAA0F;AACxF,QAAMF,WAAW,GAAG,IAAIiB,GAAJ,EAApB;;AACA,OAAK,MAAMJ,GAAX,IAAkBX,QAAlB,EAA4B;AAC1BF,IAAAA,WAAW,CAACkB,GAAZ,WAAmBL,GAAnB,cAAiCM,IAAI,CAACC,SAAL,CAAelB,QAAQ,CAACW,GAAD,CAAvB,CAAjC;AACD;;AACD,SAAOb,WAAP;AACD","sourcesContent":["import {deduceMeshField, MeshAttribute} from '@loaders.gl/schema';\nimport {Schema, Field} from '@loaders.gl/schema';\nimport type {DracoAttribute, DracoLoaderData, DracoMetadataEntry} from '../draco-types';\n\n/** Extract an arrow-like schema from a Draco mesh */\nexport function getDracoSchema(\n attributes: {[attributeName: string]: MeshAttribute},\n loaderData: DracoLoaderData,\n indices?: MeshAttribute\n): Schema {\n const metadataMap = makeMetadata(loaderData.metadata);\n const fields: Field[] = [];\n const namedLoaderDataAttributes = transformAttributesLoaderData(loaderData.attributes);\n for (const attributeName in attributes) {\n const attribute = attributes[attributeName];\n const field = getArrowFieldFromAttribute(\n attributeName,\n attribute,\n namedLoaderDataAttributes[attributeName]\n );\n fields.push(field);\n }\n if (indices) {\n const indicesField = getArrowFieldFromAttribute('indices', indices);\n fields.push(indicesField);\n }\n return new Schema(fields, metadataMap);\n}\n\nfunction transformAttributesLoaderData(loaderData: {[key: number]: DracoAttribute}): {\n [attributeName: string]: DracoAttribute;\n} {\n const result: {[attributeName: string]: DracoAttribute} = {};\n for (const key in loaderData) {\n const dracoAttribute = loaderData[key];\n result[dracoAttribute.name || 'undefined'] = dracoAttribute;\n }\n return result;\n}\n\nfunction getArrowFieldFromAttribute(\n attributeName: string,\n attribute: MeshAttribute,\n loaderData?: DracoAttribute\n): Field {\n const metadataMap = loaderData ? makeMetadata(loaderData.metadata) : undefined;\n const field = deduceMeshField(attributeName, attribute, metadataMap);\n return field;\n}\n\nfunction makeMetadata(metadata: {[key: string]: DracoMetadataEntry}): Map<string, string> {\n const metadataMap = new Map();\n for (const key in metadata) {\n metadataMap.set(`${key}.string`, JSON.stringify(metadata[key]));\n }\n return metadataMap;\n}\n"],"file":"get-draco-schema.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/utils/version.ts"],"names":["VERSION"],"mappings":"AAGA,OAAO,MAAMA,OAAO,GAAG,0BAAuB,WAAvB,oBAAmD,QAAnE","sourcesContent":["// Version constant cannot be imported, it needs to correspond to the build version of **this** module.\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nexport const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n"],"file":"version.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/workers/draco-worker.ts"],"names":["createLoaderWorker","DracoLoader"],"mappings":"AAAA,SAAQA,kBAAR,QAAiC,0BAAjC;AACA,SAAQC,WAAR,QAA0B,UAA1B;AAEAD,kBAAkB,CAACC,WAAD,CAAlB","sourcesContent":["import {createLoaderWorker} from '@loaders.gl/loader-utils';\nimport {DracoLoader} from '../index';\n\ncreateLoaderWorker(DracoLoader);\n"],"file":"draco-worker.js"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { LoaderWithParser } from '@loaders.gl/loader-utils';
|
|
2
|
+
import type { DracoMesh, DracoLoaderData } from './lib/draco-types';
|
|
3
|
+
import type { DracoLoaderOptions } from './draco-loader';
|
|
4
|
+
import { DracoLoader as DracoWorkerLoader } from './draco-loader';
|
|
5
|
+
export type { DracoMesh, DracoLoaderData };
|
|
6
|
+
export type { DracoWriterOptions } from './draco-writer';
|
|
7
|
+
export { DracoWriter } from './draco-writer';
|
|
8
|
+
export type { DracoLoaderOptions };
|
|
9
|
+
export { DracoWorkerLoader };
|
|
10
|
+
/**
|
|
11
|
+
* Loader for Draco3D compressed geometries
|
|
12
|
+
*/
|
|
13
|
+
export declare const DracoLoader: {
|
|
14
|
+
parse: typeof parse;
|
|
15
|
+
name: string;
|
|
16
|
+
id: string;
|
|
17
|
+
module: string;
|
|
18
|
+
shapes: string[];
|
|
19
|
+
version: any;
|
|
20
|
+
worker: boolean;
|
|
21
|
+
extensions: string[];
|
|
22
|
+
mimeTypes: string[];
|
|
23
|
+
binary: boolean;
|
|
24
|
+
tests: string[];
|
|
25
|
+
options: DracoLoaderOptions;
|
|
26
|
+
};
|
|
27
|
+
declare function parse(arrayBuffer: ArrayBuffer, options?: DracoLoaderOptions): Promise<DracoMesh>;
|
|
28
|
+
export declare const _TypecheckDracoLoader: LoaderWithParser;
|
|
29
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAC,SAAS,EAAE,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAC,WAAW,IAAI,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAMhE,YAAY,EAAC,SAAS,EAAE,eAAe,EAAC,CAAC;AAIzC,YAAY,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAI3C,YAAY,EAAC,kBAAkB,EAAC,CAAC;AACjC,OAAO,EAAC,iBAAiB,EAAC,CAAC;AAE3B;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;CAGvB,CAAC;AAEF,iBAAe,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,CAQ/F;AAGD,eAAO,MAAM,qBAAqB,EAAE,gBAA8B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,24 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports._TypecheckDracoLoader = exports.DracoLoader = exports.DracoWorkerLoader = exports.DracoWriter = void 0;
|
|
7
|
+
const draco_loader_1 = require("./draco-loader");
|
|
8
|
+
Object.defineProperty(exports, "DracoWorkerLoader", { enumerable: true, get: function () { return draco_loader_1.DracoLoader; } });
|
|
9
|
+
const draco_parser_1 = __importDefault(require("./lib/draco-parser"));
|
|
10
|
+
const draco_module_loader_1 = require("./lib/draco-module-loader");
|
|
11
|
+
var draco_writer_1 = require("./draco-writer");
|
|
12
|
+
Object.defineProperty(exports, "DracoWriter", { enumerable: true, get: function () { return draco_writer_1.DracoWriter; } });
|
|
13
|
+
/**
|
|
14
|
+
* Loader for Draco3D compressed geometries
|
|
15
|
+
*/
|
|
16
|
+
exports.DracoLoader = {
|
|
17
|
+
...draco_loader_1.DracoLoader,
|
|
18
|
+
parse
|
|
8
19
|
};
|
|
9
|
-
|
|
10
20
|
async function parse(arrayBuffer, options) {
|
|
11
|
-
|
|
12
|
-
draco
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
dracoParser.destroy();
|
|
20
|
-
}
|
|
21
|
+
const { draco } = await (0, draco_module_loader_1.loadDracoDecoderModule)(options);
|
|
22
|
+
const dracoParser = new draco_parser_1.default(draco);
|
|
23
|
+
try {
|
|
24
|
+
return dracoParser.parseSync(arrayBuffer, options?.draco);
|
|
25
|
+
}
|
|
26
|
+
finally {
|
|
27
|
+
dracoParser.destroy();
|
|
28
|
+
}
|
|
21
29
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
//# sourceMappingURL=index.js.map
|
|
30
|
+
// TYPE TESTS - TODO find a better way than exporting junk
|
|
31
|
+
exports._TypecheckDracoLoader = exports.DracoLoader;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import type { Draco3D, Encoder, Mesh, MeshBuilder, PointCloud, Metadata, MetadataBuilder, draco_GeometryAttribute_Type } from '../draco3d/draco3d-types';
|
|
2
|
+
import type { TypedArray } from '@loaders.gl/schema';
|
|
3
|
+
import type { DracoMesh } from './draco-types';
|
|
4
|
+
export declare type DracoBuildOptions = {
|
|
5
|
+
pointcloud?: boolean;
|
|
6
|
+
metadata?: {
|
|
7
|
+
[key: string]: string;
|
|
8
|
+
};
|
|
9
|
+
attributesMetadata?: {};
|
|
10
|
+
log?: any;
|
|
11
|
+
speed?: [number, number];
|
|
12
|
+
method?: string;
|
|
13
|
+
quantization?: {
|
|
14
|
+
[attributeName: string]: number;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export default class DracoBuilder {
|
|
18
|
+
draco: Draco3D;
|
|
19
|
+
dracoEncoder: Encoder;
|
|
20
|
+
dracoMeshBuilder: MeshBuilder;
|
|
21
|
+
dracoMetadataBuilder: MetadataBuilder;
|
|
22
|
+
log: any;
|
|
23
|
+
constructor(draco: Draco3D);
|
|
24
|
+
destroy(): void;
|
|
25
|
+
destroyEncodedObject(object: any): void;
|
|
26
|
+
/**
|
|
27
|
+
* Encode mesh or point cloud
|
|
28
|
+
* @param mesh =({})
|
|
29
|
+
* @param options
|
|
30
|
+
*/
|
|
31
|
+
encodeSync(mesh: DracoMesh, options?: DracoBuildOptions): ArrayBuffer;
|
|
32
|
+
_getAttributesFromMesh(mesh: DracoMesh): {
|
|
33
|
+
attributes: {
|
|
34
|
+
[attributeName: string]: import("@loaders.gl/schema").MeshAttribute;
|
|
35
|
+
};
|
|
36
|
+
indices?: import("@loaders.gl/schema").MeshAttribute | undefined;
|
|
37
|
+
topology: "triangle-list" | "triangle-strip" | "point-list";
|
|
38
|
+
mode: number;
|
|
39
|
+
loader: "draco";
|
|
40
|
+
loaderData: {
|
|
41
|
+
[key: string]: any;
|
|
42
|
+
} & import("./draco-types").DracoLoaderData;
|
|
43
|
+
header?: {
|
|
44
|
+
vertexCount: number;
|
|
45
|
+
boundingBox?: [number[], number[]] | undefined;
|
|
46
|
+
} | undefined;
|
|
47
|
+
schema: import("@loaders.gl/schema").Schema;
|
|
48
|
+
};
|
|
49
|
+
_encodePointCloud(pointcloud: DracoMesh, options: DracoBuildOptions): ArrayBuffer;
|
|
50
|
+
_encodeMesh(mesh: DracoMesh, options: DracoBuildOptions): ArrayBuffer;
|
|
51
|
+
/**
|
|
52
|
+
* Set encoding options.
|
|
53
|
+
* @param {{speed?: any; method?: any; quantization?: any;}} options
|
|
54
|
+
*/
|
|
55
|
+
_setOptions(options: DracoBuildOptions): void;
|
|
56
|
+
/**
|
|
57
|
+
* @param {Mesh} dracoMesh
|
|
58
|
+
* @param {object} attributes
|
|
59
|
+
* @returns {Mesh}
|
|
60
|
+
*/
|
|
61
|
+
_createDracoMesh(dracoMesh: Mesh, attributes: any, options: DracoBuildOptions): Mesh;
|
|
62
|
+
/**
|
|
63
|
+
* @param {} dracoPointCloud
|
|
64
|
+
* @param {object} attributes
|
|
65
|
+
*/
|
|
66
|
+
_createDracoPointCloud(dracoPointCloud: PointCloud, attributes: object, options: DracoBuildOptions): PointCloud;
|
|
67
|
+
/**
|
|
68
|
+
* @param mesh
|
|
69
|
+
* @param attributeName
|
|
70
|
+
* @param attribute
|
|
71
|
+
* @param vertexCount
|
|
72
|
+
*/
|
|
73
|
+
_addAttributeToMesh(mesh: PointCloud, attributeName: string, attribute: TypedArray, vertexCount: number): any;
|
|
74
|
+
/**
|
|
75
|
+
* DRACO can compress attributes of know type better
|
|
76
|
+
* TODO - expose an attribute type map?
|
|
77
|
+
* @param attributeName
|
|
78
|
+
*/
|
|
79
|
+
_getDracoAttributeType(attributeName: string): draco_GeometryAttribute_Type | 'indices';
|
|
80
|
+
_getPositionAttribute(attributes: any): any;
|
|
81
|
+
/**
|
|
82
|
+
* Add metadata for the geometry.
|
|
83
|
+
* @param dracoGeometry - WASM Draco Object
|
|
84
|
+
* @param metadata
|
|
85
|
+
*/
|
|
86
|
+
_addGeometryMetadata(dracoGeometry: PointCloud, metadata: {
|
|
87
|
+
[key: string]: string;
|
|
88
|
+
}): void;
|
|
89
|
+
/**
|
|
90
|
+
* Add metadata for an attribute to geometry.
|
|
91
|
+
* @param dracoGeometry - WASM Draco Object
|
|
92
|
+
* @param uniqueAttributeId
|
|
93
|
+
* @param metadata
|
|
94
|
+
*/
|
|
95
|
+
_addAttributeMetadata(dracoGeometry: PointCloud, uniqueAttributeId: number, metadata: Map<string, string> | {
|
|
96
|
+
[key: string]: string;
|
|
97
|
+
}): void;
|
|
98
|
+
/**
|
|
99
|
+
* Add contents of object or map to a WASM Draco Metadata Object
|
|
100
|
+
* @param dracoMetadata - WASM Draco Object
|
|
101
|
+
* @param metadata
|
|
102
|
+
*/
|
|
103
|
+
_populateDracoMetadata(dracoMetadata: Metadata, metadata: Map<string, string> | {
|
|
104
|
+
[key: string]: string;
|
|
105
|
+
}): void;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=draco-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draco-builder.d.ts","sourceRoot":"","sources":["../../src/lib/draco-builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,OAAO,EAEP,OAAO,EACP,IAAI,EACJ,WAAW,EACX,UAAU,EACV,QAAQ,EACR,eAAe,EACf,4BAA4B,EAC7B,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AAE7C,oBAAY,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;IACnC,kBAAkB,CAAC,EAAE,EAAE,CAAC;IACxB,GAAG,CAAC,EAAE,GAAG,CAAC;IAGV,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE;QAAC,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;CAClD,CAAC;AAYF,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,WAAW,CAAC;IAC9B,oBAAoB,EAAE,eAAe,CAAC;IACtC,GAAG,EAAE,GAAG,CAAC;gBAGG,KAAK,EAAE,OAAO;IAO1B,OAAO,IAAI,IAAI;IAaf,oBAAoB,CAAC,MAAM,KAAA,GAAG,IAAI;IAMlC;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,GAAE,iBAAsB,GAAG,WAAW;IAWzE,sBAAsB,CAAC,IAAI,EAAE,SAAS;;;;;;;;;;;;;;;;;IAUtC,iBAAiB,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,GAAG,WAAW;IAmCjF,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,GAAG,WAAW;IA8BrE;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAmB7C;;;;OAIG;IACH,gBAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,KAAA,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI;IA8B/E;;;OAGG;IACH,sBAAsB,CACpB,eAAe,EAAE,UAAU,EAC3B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,iBAAiB,GACzB,UAAU;IAkCb;;;;;OAKG;IACH,mBAAmB,CACjB,IAAI,EAAE,UAAU,EAChB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,UAAU,EACrB,WAAW,EAAE,MAAM;IAkDrB;;;;OAIG;IACH,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,4BAA4B,GAAG,SAAS;IAsBvF,qBAAqB,CAAC,UAAU,KAAA;IAWhC;;;;OAIG;IACH,oBAAoB,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC;IAMjF;;;;;OAKG;IACH,qBAAqB,CACnB,aAAa,EAAE,UAAU,EACzB,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC;IAezD;;;;OAIG;IACH,sBAAsB,CACpB,aAAa,EAAE,QAAQ,EACvB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC;CAsB1D"}
|