@x-viewer/core 0.21.3 → 0.21.5
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/chunks/libredwg-web-7YiuTXAd.js +9 -0
- package/dist/index.esm.js +959 -959
- package/dist/types/core/Configs.d.ts +8 -2
- package/dist/types/core/dxf/DxfLoader.d.ts +13 -0
- package/dist/types/core/helpers/LoadingHelper.d.ts +35 -0
- package/package.json +1 -1
- package/dist/chunks/libredwg-web-C7oPpC7g.js +0 -9
|
@@ -82,8 +82,14 @@ export interface ModelConfig {
|
|
|
82
82
|
*/
|
|
83
83
|
src: string;
|
|
84
84
|
/**
|
|
85
|
-
*
|
|
86
|
-
*
|
|
85
|
+
* Raw file bytes when the host cannot expose a fetchable URL.
|
|
86
|
+
* When set, loaders use this buffer instead of downloading {@link src}.
|
|
87
|
+
* For 3D buffer loading, {@link fileFormat} is required.
|
|
88
|
+
*/
|
|
89
|
+
data?: ArrayBuffer | Uint8Array;
|
|
90
|
+
/**
|
|
91
|
+
* Explicit file format (extension without dot), e.g. `glb`, `dwg`, `stl`.
|
|
92
|
+
* Required when {@link data} is set for 3D buffer loading; also used when the format cannot be inferred from {@link src}.
|
|
87
93
|
* @hidden
|
|
88
94
|
*/
|
|
89
95
|
fileFormat?: string;
|
|
@@ -271,6 +271,10 @@ export declare class DxfLoader extends THREE.Loader {
|
|
|
271
271
|
* @returns DxfData
|
|
272
272
|
*/
|
|
273
273
|
loadAsyncEx(url: string, dxfDataId?: string, onProgress?: (event: ProgressEvent) => void): Promise<DxfData>;
|
|
274
|
+
/**
|
|
275
|
+
* Like {@link loadAsyncEx} but parses from in-memory bytes (DWG/DXF) instead of fetching a URL.
|
|
276
|
+
*/
|
|
277
|
+
loadAsyncExFromBuffer(data: ArrayBuffer | Uint8Array, dxfDataId?: string, onProgress?: (event: ProgressEvent) => void): Promise<DxfData>;
|
|
274
278
|
/**
|
|
275
279
|
* Loads dxf asynchronously. It mainly contains 2 steps:
|
|
276
280
|
* 1. Parses file content
|
|
@@ -279,10 +283,19 @@ export declare class DxfLoader extends THREE.Loader {
|
|
|
279
283
|
* @param onProgress on progress callback
|
|
280
284
|
*/
|
|
281
285
|
loadAsync(url: string, onProgress?: (event: ProgressEvent) => void): Promise<DxfData>;
|
|
286
|
+
/**
|
|
287
|
+
* Same as {@link loadAsync} but reads DWG/DXF from memory (no network).
|
|
288
|
+
*/
|
|
289
|
+
loadAsyncFromBuffer(data: ArrayBuffer | Uint8Array, onProgress?: (event: ProgressEvent) => void): Promise<DxfData>;
|
|
282
290
|
/**
|
|
283
291
|
* Parses dxf contents from given url.
|
|
284
292
|
*/
|
|
285
293
|
parse(url: string, onProgress?: (event: ProgressEvent) => void): Promise<IDxf>;
|
|
294
|
+
/**
|
|
295
|
+
* Parses DWG/DXF from memory (same pipeline as {@link parse} after download).
|
|
296
|
+
*/
|
|
297
|
+
parseFromBuffer(data: ArrayBuffer | Uint8Array, onProgress?: (event: ProgressEvent) => void): Promise<IDxf>;
|
|
298
|
+
private parseDownloadedContent;
|
|
286
299
|
/**
|
|
287
300
|
* Aborts loading or parsing progress if any.
|
|
288
301
|
* We cann't resume any progress once aborted.
|
|
@@ -15,6 +15,33 @@ export declare class LoadingHelper {
|
|
|
15
15
|
loadModel(src: string, fileFormat?: string, onProgress?: (event: ProgressEvent) => void, requestHeader?: {
|
|
16
16
|
[header: string]: string;
|
|
17
17
|
}): Promise<THREE.Object3D | void>;
|
|
18
|
+
/**
|
|
19
|
+
* Loads a 3D model from memory (no URL fetch). {@link fileFormat} is required (e.g. `glb`, `fbx`, `stl`, `dwg`).
|
|
20
|
+
* For `.gltf` with external `.bin`/textures, use {@link loadGltfFromBuffer} with a non-empty resource path instead.
|
|
21
|
+
*/
|
|
22
|
+
loadModelFromBuffer(data: ArrayBuffer | Uint8Array, fileFormat: string, onProgress?: (event: ProgressEvent) => void): Promise<THREE.Object3D | void>;
|
|
23
|
+
/** FBX (binary or ASCII) from memory. */
|
|
24
|
+
loadFbxFromBuffer(data: ArrayBuffer | Uint8Array): Promise<THREE.Object3D>;
|
|
25
|
+
/**
|
|
26
|
+
* Wavefront OBJ from memory (UTF-8). Does not fetch remote MTL; use {@link loadObj} with URLs if materials are external.
|
|
27
|
+
*/
|
|
28
|
+
loadObjFromBuffer(data: ArrayBuffer | Uint8Array): Promise<THREE.Object3D>;
|
|
29
|
+
/** STL from memory; applies the same Y-up correction as {@link loadStl}. */
|
|
30
|
+
loadStlFromBuffer(data: ArrayBuffer | Uint8Array): Promise<THREE.Object3D>;
|
|
31
|
+
/** PLY from memory; same material assignment as {@link loadPly}. */
|
|
32
|
+
loadPlyFromBuffer(data: ArrayBuffer | Uint8Array): Promise<THREE.Object3D>;
|
|
33
|
+
/** IFC is not supported on buffer/URL loaders in this build. */
|
|
34
|
+
loadIfcFromBuffer(): Promise<THREE.Object3D>;
|
|
35
|
+
/** ESRI Shapefile (.shp) from memory. */
|
|
36
|
+
loadShpFromBuffer(data: ArrayBuffer | Uint8Array): Promise<THREE.Object3D>;
|
|
37
|
+
/** Collada (.dae) from memory (UTF-8 XML). */
|
|
38
|
+
loadDaeFromBuffer(data: ArrayBuffer | Uint8Array): Promise<THREE.Object3D>;
|
|
39
|
+
/** Rhino 3DM from memory (WASM). */
|
|
40
|
+
load3dmFromBuffer(data: ArrayBuffer | Uint8Array): Promise<THREE.Object3D>;
|
|
41
|
+
/** JPEG or PNG bytes as a textured plane (same as {@link loadImage} after blob URL). */
|
|
42
|
+
loadRasterImageFromBuffer(data: ArrayBuffer | Uint8Array, kind: "png" | "jpeg", onProgress?: (event: ProgressEvent) => void): Promise<THREE.Object3D>;
|
|
43
|
+
/** glTF (.gltf JSON or .glb binary) from memory; {@link resourcePath} resolves relative `.bin`/textures. */
|
|
44
|
+
loadGltfFromBuffer(data: ArrayBuffer | Uint8Array, resourcePath?: string): Promise<THREE.Object3D>;
|
|
18
45
|
loadGltf(url: string, onProgress?: (event: ProgressEvent) => void, requestHeader?: {
|
|
19
46
|
[header: string]: string;
|
|
20
47
|
}): Promise<THREE.Object3D>;
|
|
@@ -59,6 +86,10 @@ export declare class LoadingHelper {
|
|
|
59
86
|
loadDxf(url: string, onProgress?: (event: ProgressEvent) => void, requestHeader?: {
|
|
60
87
|
[header: string]: string;
|
|
61
88
|
}): Promise<THREE.Object3D>;
|
|
89
|
+
/**
|
|
90
|
+
* Loads DWG/DXF from memory (no URL fetch). Same output as {@link loadDxf}.
|
|
91
|
+
*/
|
|
92
|
+
loadDxfFromBuffer(data: ArrayBuffer | Uint8Array, onProgress?: (event: ProgressEvent) => void): Promise<THREE.Object3D>;
|
|
62
93
|
/**
|
|
63
94
|
* Loads dxf data, including entities, tables(layers, blocks), etc.
|
|
64
95
|
* The difference from loadDxf includes
|
|
@@ -68,6 +99,10 @@ export declare class LoadingHelper {
|
|
|
68
99
|
loadDxfEx(url: string, dxfDataId?: string, onProgress?: (event: ProgressEvent) => void, onLoad?: () => void, cfg?: DxfLoaderConfig, requestHeader?: {
|
|
69
100
|
[header: string]: string;
|
|
70
101
|
}): Promise<DxfData>;
|
|
102
|
+
/**
|
|
103
|
+
* Like {@link loadDxfEx} but reads DWG/DXF from a buffer (no network).
|
|
104
|
+
*/
|
|
105
|
+
loadDxfExFromBuffer(data: ArrayBuffer | Uint8Array, dxfDataId?: string, onProgress?: (event: ProgressEvent) => void, onLoad?: () => void, cfg?: DxfLoaderConfig): Promise<DxfData>;
|
|
71
106
|
loadPly(url: string, onProgress?: (event: ProgressEvent) => void, requestHeader?: {
|
|
72
107
|
[header: string]: string;
|
|
73
108
|
}): Promise<THREE.Object3D>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@x-viewer/core",
|
|
3
|
-
"version": "0.21.
|
|
3
|
+
"version": "0.21.5",
|
|
4
4
|
"homepage": "https://dwg.thingraph.site/",
|
|
5
5
|
"description": "WebGL-based 2D/3D viewer engine built on Three.js. View DWG/DXF/PDF files in the browser with no server required. Supports glTF, OBJ, FBX, IFC, STL and BimTiles formats.",
|
|
6
6
|
"author": "thingraph",
|