@combeenation/3d-viewer 18.5.1 → 19.0.0

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.
Files changed (38) hide show
  1. package/dist/lib-cjs/buildinfo.json +1 -1
  2. package/dist/lib-cjs/commonjs.tsconfig.tsbuildinfo +1 -1
  3. package/dist/lib-cjs/index.d.ts +4 -3
  4. package/dist/lib-cjs/index.js +4 -3
  5. package/dist/lib-cjs/index.js.map +1 -1
  6. package/dist/lib-cjs/internal/cbn-custom-babylon-loader-plugin.js +1 -1
  7. package/dist/lib-cjs/internal/cbn-custom-babylon-loader-plugin.js.map +1 -1
  8. package/dist/lib-cjs/internal/export-helper.js +1 -77
  9. package/dist/lib-cjs/internal/export-helper.js.map +1 -1
  10. package/dist/lib-cjs/manager/export-manager.d.ts +82 -0
  11. package/dist/lib-cjs/manager/export-manager.js +224 -0
  12. package/dist/lib-cjs/manager/export-manager.js.map +1 -0
  13. package/dist/lib-cjs/{helper/decals-helper.d.ts → utils/decal-utils.d.ts} +5 -1
  14. package/dist/lib-cjs/{helper/decals-helper.js → utils/decal-utils.js} +6 -3
  15. package/dist/lib-cjs/utils/decal-utils.js.map +1 -0
  16. package/dist/lib-cjs/utils/node-utils.d.ts +17 -0
  17. package/dist/lib-cjs/utils/node-utils.js +92 -0
  18. package/dist/lib-cjs/utils/node-utils.js.map +1 -0
  19. package/dist/lib-cjs/viewer.d.ts +3 -5
  20. package/dist/lib-cjs/viewer.js +3 -7
  21. package/dist/lib-cjs/viewer.js.map +1 -1
  22. package/package.json +1 -1
  23. package/src/index.ts +4 -3
  24. package/src/internal/cbn-custom-babylon-loader-plugin.ts +2 -2
  25. package/src/internal/export-helper.ts +2 -100
  26. package/src/manager/export-manager.ts +273 -0
  27. package/src/{helper/decals-helper.ts → utils/decal-utils.ts} +6 -1
  28. package/src/utils/node-utils.ts +112 -0
  29. package/src/viewer.ts +5 -11
  30. package/dist/lib-cjs/helper/decals-helper.js.map +0 -1
  31. package/dist/lib-cjs/manager/dxf-export-manager.d.ts +0 -39
  32. package/dist/lib-cjs/manager/dxf-export-manager.js +0 -116
  33. package/dist/lib-cjs/manager/dxf-export-manager.js.map +0 -1
  34. package/dist/lib-cjs/manager/gltf-export-manager.d.ts +0 -54
  35. package/dist/lib-cjs/manager/gltf-export-manager.js +0 -124
  36. package/dist/lib-cjs/manager/gltf-export-manager.js.map +0 -1
  37. package/src/manager/dxf-export-manager.ts +0 -123
  38. package/src/manager/gltf-export-manager.ts +0 -139
@@ -43,6 +43,7 @@ export * from '@babylonjs/gui/2D/advancedDynamicTexture';
43
43
  export * from '@babylonjs/gui/2D/controls/textBlock';
44
44
  export * from '@babylonjs/loaders/glTF/2.0/glTFLoader';
45
45
  export * from '@babylonjs/serializers/glTF/2.0/glTFSerializer';
46
+ export * from '@babylonjs/serializers/OBJ';
46
47
  export * from '@babylonjs/core/Collisions';
47
48
  export * from '@babylonjs/core/Helpers/sceneHelpers';
48
49
  export * from '@babylonjs/core/Materials/Background';
@@ -52,13 +53,13 @@ export * from './viewer-error';
52
53
  export * from './manager/camera-manager';
53
54
  export * from './manager/dimension-line-manager';
54
55
  export * from './manager/debug-manager';
55
- export * from './manager/dxf-export-manager';
56
56
  export * from './manager/event-manager';
57
- export * from './manager/gltf-export-manager';
57
+ export * from './manager/export-manager';
58
58
  export * from './manager/html-anchor-manager';
59
59
  export * from './manager/material-manager';
60
60
  export * from './manager/model-manager';
61
61
  export * from './manager/parameter-manager';
62
62
  export * from './manager/scene-manager';
63
63
  export * from './manager/texture-manager';
64
- export * from './helper/decals-helper';
64
+ export * from './utils/decal-utils';
65
+ export * from './utils/node-utils';
@@ -67,6 +67,7 @@ __exportStar(require("@babylonjs/gui/2D/advancedDynamicTexture"), exports);
67
67
  __exportStar(require("@babylonjs/gui/2D/controls/textBlock"), exports);
68
68
  __exportStar(require("@babylonjs/loaders/glTF/2.0/glTFLoader"), exports);
69
69
  __exportStar(require("@babylonjs/serializers/glTF/2.0/glTFSerializer"), exports);
70
+ __exportStar(require("@babylonjs/serializers/OBJ"), exports);
70
71
  // Additional Babylon.js modules
71
72
  // These are not used in the "@combeenation/3d-viewer" repository directly, but required in consuming code for various
72
73
  // reasons
@@ -85,14 +86,14 @@ __exportStar(require("./viewer-error"), exports);
85
86
  __exportStar(require("./manager/camera-manager"), exports);
86
87
  __exportStar(require("./manager/dimension-line-manager"), exports);
87
88
  __exportStar(require("./manager/debug-manager"), exports);
88
- __exportStar(require("./manager/dxf-export-manager"), exports);
89
89
  __exportStar(require("./manager/event-manager"), exports);
90
- __exportStar(require("./manager/gltf-export-manager"), exports);
90
+ __exportStar(require("./manager/export-manager"), exports);
91
91
  __exportStar(require("./manager/html-anchor-manager"), exports);
92
92
  __exportStar(require("./manager/material-manager"), exports);
93
93
  __exportStar(require("./manager/model-manager"), exports);
94
94
  __exportStar(require("./manager/parameter-manager"), exports);
95
95
  __exportStar(require("./manager/scene-manager"), exports);
96
96
  __exportStar(require("./manager/texture-manager"), exports);
97
- __exportStar(require("./helper/decals-helper"), exports);
97
+ __exportStar(require("./utils/decal-utils"), exports);
98
+ __exportStar(require("./utils/node-utils"), exports);
98
99
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAA0C;AAC1C,wBAAwB;AACxB,qDAAqD;AACrD,kDAAgD;AAChD,sDAAoD;AAEpD,qBAAqB;AACrB,2DAA2D;AAC3D,wHAAwH;AACxH,+CAA+C;AAC/C,yGAAyG;AACzG,iEAAiE;AACjE,6DAA2C;AAC3C,iEAA+C;AAC/C,kEAAgD;AAChD,0DAAwC;AACxC,0EAAwD;AACxD,iEAA+C;AAC/C,0DAAwC;AACxC,mEAAiD;AACjD,mEAAiD;AACjD,yEAAuD;AACvD,iEAA+C;AAC/C,kFAAgE;AAChE,qEAAmD;AACnD,qEAAmD;AACnD,yDAAuC;AACvC,0DAAwC;AACxC,qEAAmD;AACnD,gEAA8C;AAC9C,6EAA2D;AAC3D,qEAAmD;AACnD,wDAAsC;AACtC,sEAAoD;AACpD,kEAAgD;AAChD,uEAAqD;AACrD,mEAAiD;AACjD,8DAA4C;AAC5C,qEAAmD;AACnD,uEAAqD;AACrD,kEAAgD;AAChD,iFAA+D;AAC/D,uEAAqD;AACrD,4DAA0C;AAC1C,wDAAsC;AACtC,uDAAqC;AACrC,gFAA8D;AAC9D,iFAA+D;AAC/D,wDAAsC;AACtC,wDAAsC;AACtC,2EAAyD;AACzD,uEAAqD;AACrD,yEAAuD;AACvD,iFAA+D;AAE/D,gCAAgC;AAChC,sHAAsH;AACtH,UAAU;AACV,2DAA2D;AAC3D,6DAA2C;AAC3C,qCAAqC;AACrC,uEAAqD;AACrD,sDAAsD;AACtD,uEAAqD;AACrD,gDAAgD;AAChD,iEAA+C;AAE/C,iBAAiB;AACjB,qFAAqF;AACrF,2CAAyB;AACzB,iDAA+B;AAC/B,2DAAyC;AACzC,mEAAiD;AACjD,0DAAwC;AACxC,+DAA6C;AAC7C,0DAAwC;AACxC,gEAA8C;AAC9C,gEAA8C;AAC9C,6DAA2C;AAC3C,0DAAwC;AACxC,8DAA4C;AAC5C,0DAAwC;AACxC,4DAA0C;AAC1C,yDAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAA0C;AAC1C,wBAAwB;AACxB,qDAAqD;AACrD,kDAAgD;AAChD,sDAAoD;AAEpD,qBAAqB;AACrB,2DAA2D;AAC3D,wHAAwH;AACxH,+CAA+C;AAC/C,yGAAyG;AACzG,iEAAiE;AACjE,6DAA2C;AAC3C,iEAA+C;AAC/C,kEAAgD;AAChD,0DAAwC;AACxC,0EAAwD;AACxD,iEAA+C;AAC/C,0DAAwC;AACxC,mEAAiD;AACjD,mEAAiD;AACjD,yEAAuD;AACvD,iEAA+C;AAC/C,kFAAgE;AAChE,qEAAmD;AACnD,qEAAmD;AACnD,yDAAuC;AACvC,0DAAwC;AACxC,qEAAmD;AACnD,gEAA8C;AAC9C,6EAA2D;AAC3D,qEAAmD;AACnD,wDAAsC;AACtC,sEAAoD;AACpD,kEAAgD;AAChD,uEAAqD;AACrD,mEAAiD;AACjD,8DAA4C;AAC5C,qEAAmD;AACnD,uEAAqD;AACrD,kEAAgD;AAChD,iFAA+D;AAC/D,uEAAqD;AACrD,4DAA0C;AAC1C,wDAAsC;AACtC,uDAAqC;AACrC,gFAA8D;AAC9D,iFAA+D;AAC/D,wDAAsC;AACtC,wDAAsC;AACtC,2EAAyD;AACzD,uEAAqD;AACrD,yEAAuD;AACvD,iFAA+D;AAC/D,6DAA2C;AAE3C,gCAAgC;AAChC,sHAAsH;AACtH,UAAU;AACV,2DAA2D;AAC3D,6DAA2C;AAC3C,qCAAqC;AACrC,uEAAqD;AACrD,sDAAsD;AACtD,uEAAqD;AACrD,gDAAgD;AAChD,iEAA+C;AAE/C,iBAAiB;AACjB,qFAAqF;AACrF,2CAAyB;AACzB,iDAA+B;AAC/B,2DAAyC;AACzC,mEAAiD;AACjD,0DAAwC;AACxC,0DAAwC;AACxC,2DAAyC;AACzC,gEAA8C;AAC9C,6DAA2C;AAC3C,0DAAwC;AACxC,8DAA4C;AAC5C,0DAAwC;AACxC,4DAA0C;AAC1C,sDAAoC;AACpC,qDAAmC"}
@@ -186,7 +186,7 @@ function _createDecals(dataParsed, container) {
186
186
  validatedDecals.forEach(decalConfig => {
187
187
  var _a;
188
188
  const { materialId, tags } = decalConfig, decalMeshConfig = __rest(decalConfig, ["materialId", "tags"]);
189
- const decalMesh = (0, index_1.createDecalMesh)(decalMeshConfig, container, false);
189
+ const decalMesh = index_1.DecalUtils.createDecalMesh(decalMeshConfig, container, false);
190
190
  // optionally set material and tags directly
191
191
  if (materialId) {
192
192
  (_a = window.Cbn) === null || _a === void 0 ? void 0 : _a.Assets.assertMaterialExists(materialId);
@@ -1 +1 @@
1
- {"version":3,"file":"cbn-custom-babylon-loader-plugin.js","sourceRoot":"","sources":["../../../src/internal/cbn-custom-babylon-loader-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cbn-custom-babylon-loader-plugin.js","sourceRoot":"","sources":["../../../src/internal/cbn-custom-babylon-loader-plugin.ts"],"names":[],"mappings":"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"}
@@ -50,7 +50,7 @@ function exportPreProcess(viewer, settings) {
50
50
  // it's important that this is done AFTER instanced meshes have been converted (`_prepareNodeForExport`)
51
51
  nodesForExport.forEach(node => {
52
52
  if (node instanceof index_1.Mesh)
53
- _bakeGeometryOfMesh(node);
53
+ index_1.NodeUtils.bakeGeometryOfMesh(node);
54
54
  });
55
55
  // reset transformation of all "TransformNodes", as transform nodes are not considered by the `_bakeGeometryOfMesh`
56
56
  // function, still their transformation data has to be reset to eliminated negative scalings and to make the baking of
@@ -218,45 +218,6 @@ function _createMeshFromInstancedMesh(instancedMesh, newName, clonedParent) {
218
218
  newMesh.setEnabled(instancedMesh.isEnabled(false));
219
219
  return newMesh;
220
220
  }
221
- /**
222
- * Removes transformation data from the mesh and stores it in the geometry, which is called "baking".
223
- * Also considers the geometry change from morph targets.
224
- */
225
- function _bakeGeometryOfMesh(mesh) {
226
- if (!mesh.geometry) {
227
- // no geometry available, nothing to do
228
- return;
229
- }
230
- // geometries can be shared across multiple meshes, first make them unique to avoid side-effects
231
- mesh.makeGeometryUnique();
232
- // Babylon.js already provides a function for baking the current skeleton changes into the geometry
233
- if (mesh.skeleton) {
234
- mesh.applySkeleton(mesh.skeleton);
235
- mesh.skeleton = null;
236
- }
237
- // NOTE: in difference to skeletons and transformations there is no baking function for morph targets (yet)
238
- // however another approach could be to re-apply the position and normals data, as there are nice functions for it
239
- // - `getPositionData(applySkeleton: boolean = false, applyMorph: boolean = false)`
240
- // - `getNormalsData(applySkeleton: boolean = false, applyMorph: boolean = false)`
241
- // you can decide if skeletons and morph targets can be added, which is exactly what we want
242
- // I'm still hesitant to use it because "tangent" and "UV" kinds are not supported, whereas I'm not sure if it's
243
- // required
244
- // => try it out when there is enough time for detailed regression tests!
245
- const morphTargetManager = mesh.morphTargetManager;
246
- const geometry = mesh.geometry;
247
- if (morphTargetManager === null || morphTargetManager === void 0 ? void 0 : morphTargetManager.numTargets) {
248
- // apply morph target vertices data to mesh geometry
249
- // mostly only the "PositionKind" is implemented
250
- _bakeMorphTargetManagerIntoVertices(index_1.VertexBuffer.PositionKind, morphTargetManager, geometry);
251
- _bakeMorphTargetManagerIntoVertices(index_1.VertexBuffer.NormalKind, morphTargetManager, geometry);
252
- _bakeMorphTargetManagerIntoVertices(index_1.VertexBuffer.TangentKind, morphTargetManager, geometry);
253
- _bakeMorphTargetManagerIntoVertices(index_1.VertexBuffer.UVKind, morphTargetManager, geometry);
254
- // remove morph target manager with all it's morph targets
255
- mesh.morphTargetManager = null;
256
- }
257
- // bake the transformation data in the mesh geometry, fortunately there is already a help function from Babylon.js
258
- mesh.bakeCurrentTransformIntoVertices();
259
- }
260
221
  /**
261
222
  * Resets transformation to initial state
262
223
  */
@@ -266,41 +227,4 @@ function _resetTransformation(node) {
266
227
  node.rotationQuaternion = null;
267
228
  node.scaling = new index_1.Vector3(1, 1, 1);
268
229
  }
269
- /**
270
- * @param kind morph targets can affect various vertices kinds, whereas "position" is the most common one
271
- * still other kinds (like normals or tangents) can be affected as well and can be provided on this input
272
- */
273
- function _bakeMorphTargetManagerIntoVertices(kind, morphTargetManager, geometry) {
274
- const origVerticesData = geometry.getVerticesData(kind);
275
- if (!origVerticesData) {
276
- // no vertices data for this kind availabe on the mesh geometry
277
- return;
278
- }
279
- let verticesData = [...origVerticesData];
280
- for (let i = 0; i < morphTargetManager.numTargets; i++) {
281
- const target = morphTargetManager.getTarget(i);
282
- const targetVerticesData = _getVerticesDataFromMorphTarget(kind, target);
283
- if (targetVerticesData) {
284
- // vertices data of this kind are implemented on the morph target
285
- // add the influence of this morph target to the vertices data
286
- // formula is taken from: https://doc.babylonjs.com/features/featuresDeepDive/mesh/morphTargets#basics
287
- verticesData = verticesData.map((oldVal, idx) => oldVal + (targetVerticesData[idx] - origVerticesData[idx]) * target.influence);
288
- }
289
- }
290
- // apply the updated vertices data
291
- geometry.setVerticesData(kind, verticesData);
292
- }
293
- function _getVerticesDataFromMorphTarget(kind, morphTarget) {
294
- switch (kind) {
295
- case index_1.VertexBuffer.PositionKind:
296
- return morphTarget.getPositions();
297
- case index_1.VertexBuffer.NormalKind:
298
- return morphTarget.getNormals();
299
- case index_1.VertexBuffer.TangentKind:
300
- return morphTarget.getTangents();
301
- case index_1.VertexBuffer.UVKind:
302
- return morphTarget.getUVs();
303
- }
304
- return null;
305
- }
306
230
  //# sourceMappingURL=export-helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"export-helper.js","sourceRoot":"","sources":["../../../src/internal/export-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export-helper.js","sourceRoot":"","sources":["../../../src/internal/export-helper.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oCAYkB;AAClB,mDAAwD;AACxD,uDAK2B;AAC3B,+CAAuD;AAUvD;;;;;;GAMG;AACH,SAAsB,gBAAgB,CAAC,MAAc,EAAE,QAAmC;;QACxF,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC;QAE3D,mGAAmG;QACnG,MAAM,CAAC,cAAc,EAAE,CAAC;QAExB,mEAAmE;QACnE,2BAA2B;QAC3B,0FAA0F;QAC1F,mEAAmE;QACnE,qEAAqE;QACrE,kHAAkH;QAClH,gHAAgH;QAChH,4BAA4B;QAC5B,MAAM,kBAAkB,GAAG,IAAA,qCAAqB,EAAC,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QACzF,IAAI,iBAAiB,IAAI,CAAC,kBAAkB,EAAE;YAC5C,oEAAoE;YACpE,qDAAqD;YACrD,MAAM,CAAC,MAAM,CAAC,0BAA0B,EAAE,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,cAAc,GAAG,IAAI,CAAC;YAE9C,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC5E;QAED,mHAAmH;QACnH,SAAS;QACT,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;QAExG,MAAM,cAAc,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACxD,2EAA2E;QAC3E,wGAAwG;QACxG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC5B,IAAI,IAAI,YAAY,YAAI;gBAAE,iBAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,mHAAmH;QACnH,sHAAsH;QACtH,oBAAoB;QACpB,wEAAwE;QACxE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC5B,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC3B,mEAAmE;YACnE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;CAAA;AA5CD,4CA4CC;AAED;;GAEG;AACH,SAAsB,iBAAiB,CAAC,MAAc,EAAE,QAAoC;;QAC1F,MAAM,EAAE,kBAAkB,EAAE,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC;QAE9C,uFAAuF;QACvF,MAAM,CAAC,KAAK,CAAC,SAAS;aACnB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAA,0CAAwB,EAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;aAC3E,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QAE3C,MAAM,CAAC,KAAK,CAAC,SAAS;aACnB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAA,0CAAwB,EAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;aAC3E,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QACvD,qEAAqE;QACrE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAA,4CAA0B,EAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC;QAEzG,MAAM,CAAC,KAAK,CAAC,QAAQ;aAClB,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,IAAA,0CAAwB,EAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;aACzE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAEzC,IAAI,kBAAkB,EAAE;YACtB,uFAAuF;YACvF,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,cAAc,GAAG,kBAAkB,CAAC;SAC7D;QAED,MAAM,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;CAAA;AAxBD,8CAwBC;AAED;;GAEG;AACH,SAAgB,yBAAyB,CAAC,IAAU,EAAE,YAAgC;IACpF,IAAI,CAAC,CAAC,IAAI,YAAY,qBAAa,CAAC,EAAE;QACpC,OAAO,KAAK,CAAC;KACd;IAED,yGAAyG;IACzG,MAAM,UAAU,GAAG,IAAA,oCAAsB,EAAC,IAAI,EAAE;QAC9C,QAAQ,EAAE,YAAY;QACtB,UAAU,EAAE,IAAI;QAChB,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAC;IAEH,OAAO,CAAC,UAAU,CAAC;AACrB,CAAC;AAbD,8DAaC;AAED;;;GAGG;AACH,SAAgB,YAAY,CAAC,GAAW,EAAE,QAAgB;IACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAChB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;IACb,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAPD,oCAOC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,QAA4B,EAAE,SAAiB,EAAE,eAAwB;;IACzG,MAAM,gBAAgB,GAAG,GAAG,GAAG,SAAS,CAAC;IACzC,MAAM,WAAW,GAAG,MAAA,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,eAAe,mCAAI,SAAS,CAAC;IAE7D,OAAO,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,GAAG,gBAAgB,CAAC;AAC/F,CAAC;AALD,8CAKC;AAED;;;;;;;;;GASG;AACH,SAAS,oBAAoB,CAAC,QAAkB;IAC9C,MAAM,YAAY,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IAClD,MAAM,kBAAkB,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,YAAY,sBAAc,CAAC,CAAC;IAC3F,MAAM,uBAAuB,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,YAAY,2BAAmB,CAAC,CAAC;IACrG,IAAI,kBAAkB,IAAI,uBAAuB,EAAE;QACjD,MAAM,kBAAkB,GAAG;YACzB,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;YAC5C,uBAAuB,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE;SACxD;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,IAAI,CACV,+BAA+B,QAAQ,CAAC,IAAI,4DAA4D,kBAAkB,iGAAiG,CAC5N,CAAC;QAEF,OAAO;KACR;IAED,MAAM,OAAO,GAAG,GAAG,QAAQ,CAAC,IAAI,QAAQ,CAAC;IACzC,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAE,CAAC;IAChD,IAAA,uCAAqB,EAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG,cAAc,CAAC,iBAAiB,EAAE,CAAC;IAE1D,4EAA4E;IAC5E,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,IAAA,0CAAwB,EAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC,CAAC;IAEhG,IAAA,0CAAwB,EAAC,QAAQ,EAAE,sBAAsB,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IACpF,IAAA,0CAAwB,EAAC,cAAc,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;AACtE,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAC5B,MAAc,EACd,IAAU,EACV,YAAkC,EAClC,YAAgC;IAEhC,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE;QAClD,OAAO;KACR;IAED,2EAA2E;IAC3E,MAAM,cAAc,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;IACvD,MAAM,UAAU,GACd,IAAI,YAAY,qBAAa;QAC3B,CAAC,CAAC,4BAA4B,CAAC,IAAI,EAAE,cAAc,EAAE,YAAY,CAAC;QAClE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,YAAY,EAAE,IAAI,CAAE,CAAC;IACtD,IAAA,uCAAqB,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAExC,oBAAoB;IACpB,IAAI,UAAU,YAAY,YAAI,EAAE;QAC9B,MAAM,oBAAoB,GACxB,UAAU,CAAC,QAAQ,IAAI,IAAA,0CAAwB,EAAC,UAAU,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;QAC/F,IAAI,oBAAoB,EAAE;YACxB,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,oBAA8B,CAAC,CAAC;SAC1F;KACF;IAED,uCAAuC;IACvC,IAAA,0CAAwB,EAAC,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IACzD,IAAA,0CAAwB,EAAC,UAAU,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAEhE,kBAAkB;IAClB,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAAC,MAAc;IAC9C,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAEvE,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,0CAAwB,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IACzF,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAS,4BAA4B,CACnC,aAA4B,EAC5B,OAAe,EACf,YAAkC;IAElC,0CAA0C;IAC1C,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAC5E,IAAA,uCAAqB,EAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACzD,kHAAkH;IAClH,6DAA6D;IAC7D,OAAO,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAClD,OAAO,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAClD,OAAO,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAEhD,kCAAkC;IAClC,IAAI,aAAa,CAAC,kBAAkB,EAAE;QACpC,OAAO,CAAC,kBAAkB,GAAG,aAAa,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;KACvE;IAED,+DAA+D;IAC/D,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAEnD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,IAAmB;IAC/C,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,82 @@
1
+ import { IExportOptions, NodeDescription, Viewer } from '../index';
2
+ import { Unit } from 'dxf-writer';
3
+ export declare type GltfExportSettings = {
4
+ fileName?: string;
5
+ /** List of nodes that should be excluded from the DXF export */
6
+ excludeNodes?: NodeDescription[];
7
+ /**
8
+ * Adjusts the exported GLB so that known issues get automatically fixed, this is mostly targeting Apples .usdz format
9
+ */
10
+ optimizeForAR?: boolean;
11
+ };
12
+ export declare type DxfUnit = Unit;
13
+ export declare type DxfExportSettings = {
14
+ fileName?: string;
15
+ /** List of nodes that should be excluded from the DXF export */
16
+ excludeNodes?: NodeDescription[];
17
+ /**
18
+ * Unit of the 3d model.\
19
+ * If a unit is set, CAD tools are able to convert the values from the DXF into the configured unit of the CAD tool.
20
+ */
21
+ unit?: DxfUnit;
22
+ };
23
+ export declare type ObjExportSettings = {
24
+ fileName?: string;
25
+ /** List of nodes that should be excluded from the DXF export */
26
+ excludeNodes?: NodeDescription[];
27
+ };
28
+ /**
29
+ * Manager for creating exports for glTF, DXF and OBJ of the current viewer scene
30
+ */
31
+ export declare class ExportManager {
32
+ protected viewer: Viewer;
33
+ protected _maxTextureSize: number;
34
+ /**
35
+ * Defines options for the export.
36
+ * We don't allow the user to overwrite certain settings, since we rely on properties like `removeNoopRootNodes` to
37
+ * stay `true` in order to make the AR export work.
38
+ * We could theoretically allow it if AR optimization is not desired, but this may confuse the user.
39
+ */
40
+ protected static _gltfExportOptions(settings?: GltfExportSettings): IExportOptions;
41
+ /** @internal */
42
+ constructor(viewer: Viewer);
43
+ /**
44
+ * Return GLB export of current scene as `File` for further processing. (e.g. upload on AR endpoint)
45
+ */
46
+ createGlb(settings?: GltfExportSettings): Promise<File | undefined>;
47
+ /**
48
+ * Exports and downloads current scene to GLB
49
+ */
50
+ downloadGlb(settings?: GltfExportSettings): Promise<void>;
51
+ /**
52
+ * Exports and downloads current scene to glTF.\
53
+ * This may result in more than one file, since textures are exported seperately.
54
+ */
55
+ downloadGltf(settings?: GltfExportSettings): Promise<void>;
56
+ /**
57
+ * Returns DXF export of current scene as `File` for further processing. (e.g upload as Cfgn file)
58
+ */
59
+ createDxf(settings?: DxfExportSettings): Promise<File>;
60
+ /**
61
+ * Creates DXF export of current scene and downloads the resulting file right away
62
+ */
63
+ downloadDxf(settings?: DxfExportSettings): Promise<void>;
64
+ /**
65
+ * Creates OBJ export of current scene and downloads the resulting file right away
66
+ */
67
+ downloadObj(settings?: ObjExportSettings): Promise<void>;
68
+ /**
69
+ * Help function for creating a blob with the DXF string, as this is needed for both public interface functions
70
+ * (`exportDxf` & `exportDxfToFile`)
71
+ */
72
+ protected _createDxfBlob(settings?: DxfExportSettings): Promise<Blob>;
73
+ /**
74
+ * DXF creation process.\
75
+ * We go through all vertices of all meshes and create DXF 3d faces accordingly.
76
+ */
77
+ protected _createDxf(unit?: DxfUnit): string;
78
+ /**
79
+ * Creates OBJ export string from meshes, which are marked for the export
80
+ */
81
+ protected _createObj(): string;
82
+ }
@@ -0,0 +1,224 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ExportManager = void 0;
16
+ const index_1 = require("../index");
17
+ const export_helper_1 = require("../internal/export-helper");
18
+ const metadata_helper_1 = require("../internal/metadata-helper");
19
+ const node_helper_1 = require("../internal/node-helper");
20
+ const dxf_writer_1 = __importDefault(require("dxf-writer"));
21
+ /**
22
+ * Manager for creating exports for glTF, DXF and OBJ of the current viewer scene
23
+ */
24
+ class ExportManager {
25
+ /** @internal */
26
+ constructor(viewer) {
27
+ this.viewer = viewer;
28
+ // store initial max texture size, so that we can restore it in the post processing
29
+ this._maxTextureSize = viewer.engine.getCaps().maxTextureSize;
30
+ }
31
+ /**
32
+ * Defines options for the export.
33
+ * We don't allow the user to overwrite certain settings, since we rely on properties like `removeNoopRootNodes` to
34
+ * stay `true` in order to make the AR export work.
35
+ * We could theoretically allow it if AR optimization is not desired, but this may confuse the user.
36
+ */
37
+ static _gltfExportOptions(settings) {
38
+ const { excludeNodes, optimizeForAR } = settings !== null && settings !== void 0 ? settings : {};
39
+ return {
40
+ shouldExportNode: function (node) {
41
+ if (optimizeForAR) {
42
+ // we explicitely marked nodes, that should be exported in AR mode
43
+ return !!(0, metadata_helper_1.getInternalMetadataValue)(node, 'exportNode');
44
+ }
45
+ else {
46
+ // use the default export node check (enabled state, exclusion list, etc...)
47
+ return (0, export_helper_1.isExportableTransformNode)(node, excludeNodes);
48
+ }
49
+ },
50
+ shouldExportAnimation: (animation) => !optimizeForAR,
51
+ };
52
+ }
53
+ /**
54
+ * Return GLB export of current scene as `File` for further processing. (e.g. upload on AR endpoint)
55
+ */
56
+ createGlb(settings) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ const { fileName, excludeNodes, optimizeForAR } = settings !== null && settings !== void 0 ? settings : {};
59
+ if (optimizeForAR)
60
+ yield (0, export_helper_1.exportPreProcess)(this.viewer, { excludeNodes, scaleDownTextures: true });
61
+ const glbData = yield index_1.GLTF2Export.GLBAsync(this.viewer.scene, 'dummy', ExportManager._gltfExportOptions(settings));
62
+ if (optimizeForAR)
63
+ yield (0, export_helper_1.exportPostProcess)(this.viewer, { initialTextureSize: this._maxTextureSize });
64
+ const resBlob = glbData.glTFFiles['dummy.glb'];
65
+ // check if result is valid, according to the typings this could also be a string
66
+ if (resBlob instanceof Blob) {
67
+ const normalizedFileName = (0, export_helper_1.normalizeFileName)(fileName, 'glb', 'glb-export');
68
+ return new File([resBlob], normalizedFileName);
69
+ }
70
+ else {
71
+ // result was not a valid blob
72
+ return undefined;
73
+ }
74
+ });
75
+ }
76
+ /**
77
+ * Exports and downloads current scene to GLB
78
+ */
79
+ downloadGlb(settings) {
80
+ return __awaiter(this, void 0, void 0, function* () {
81
+ const { fileName = 'glb-export', excludeNodes, optimizeForAR } = settings !== null && settings !== void 0 ? settings : {};
82
+ if (optimizeForAR)
83
+ yield (0, export_helper_1.exportPreProcess)(this.viewer, { excludeNodes, scaleDownTextures: true });
84
+ const glb = yield index_1.GLTF2Export.GLBAsync(this.viewer.scene, fileName, ExportManager._gltfExportOptions(settings));
85
+ glb.downloadFiles();
86
+ if (optimizeForAR)
87
+ yield (0, export_helper_1.exportPostProcess)(this.viewer, { initialTextureSize: this._maxTextureSize });
88
+ });
89
+ }
90
+ /**
91
+ * Exports and downloads current scene to glTF.\
92
+ * This may result in more than one file, since textures are exported seperately.
93
+ */
94
+ downloadGltf(settings) {
95
+ return __awaiter(this, void 0, void 0, function* () {
96
+ const { fileName = 'gltf-export', excludeNodes, optimizeForAR } = settings !== null && settings !== void 0 ? settings : {};
97
+ if (optimizeForAR)
98
+ yield (0, export_helper_1.exportPreProcess)(this.viewer, { excludeNodes, scaleDownTextures: true });
99
+ const gltf = yield index_1.GLTF2Export.GLTFAsync(this.viewer.scene,
100
+ // no need to add .glb, as Babylon.js does that internally
101
+ fileName, ExportManager._gltfExportOptions(settings));
102
+ gltf.downloadFiles();
103
+ if (optimizeForAR)
104
+ yield (0, export_helper_1.exportPostProcess)(this.viewer, { initialTextureSize: this._maxTextureSize });
105
+ });
106
+ }
107
+ /**
108
+ * Returns DXF export of current scene as `File` for further processing. (e.g upload as Cfgn file)
109
+ */
110
+ createDxf(settings) {
111
+ return __awaiter(this, void 0, void 0, function* () {
112
+ const normalizedFileName = (0, export_helper_1.normalizeFileName)(settings === null || settings === void 0 ? void 0 : settings.fileName, 'dxf', 'dxf-export');
113
+ const dxfBlob = yield this._createDxfBlob(settings);
114
+ const dxfFile = new File([dxfBlob], normalizedFileName, { type: 'application/dxf' });
115
+ return dxfFile;
116
+ });
117
+ }
118
+ /**
119
+ * Creates DXF export of current scene and downloads the resulting file right away
120
+ */
121
+ downloadDxf(settings) {
122
+ return __awaiter(this, void 0, void 0, function* () {
123
+ const normalizedFileName = (0, export_helper_1.normalizeFileName)(settings === null || settings === void 0 ? void 0 : settings.fileName, 'dxf', 'dxf-export');
124
+ const dxfBlob = yield this._createDxfBlob(settings);
125
+ const url = URL.createObjectURL(dxfBlob);
126
+ (0, export_helper_1.downloadFile)(url, normalizedFileName);
127
+ URL.revokeObjectURL(url);
128
+ });
129
+ }
130
+ /**
131
+ * Creates OBJ export of current scene and downloads the resulting file right away
132
+ */
133
+ // TODO 1: (optionally) create a MTL file as well
134
+ // TODO 2: add `createObj` function if required, for usage as cfgn file etc...
135
+ downloadObj(settings) {
136
+ return __awaiter(this, void 0, void 0, function* () {
137
+ const { fileName, excludeNodes } = settings !== null && settings !== void 0 ? settings : {};
138
+ const normalizedFileName = (0, export_helper_1.normalizeFileName)(fileName, 'obj', 'obj-export');
139
+ yield (0, export_helper_1.exportPreProcess)(this.viewer, { excludeNodes });
140
+ const objString = this._createObj();
141
+ yield (0, export_helper_1.exportPostProcess)(this.viewer);
142
+ const objBlob = new Blob([objString], { type: 'text/plain' });
143
+ const url = URL.createObjectURL(objBlob);
144
+ (0, export_helper_1.downloadFile)(url, normalizedFileName);
145
+ URL.revokeObjectURL(url);
146
+ });
147
+ }
148
+ /**
149
+ * Help function for creating a blob with the DXF string, as this is needed for both public interface functions
150
+ * (`exportDxf` & `exportDxfToFile`)
151
+ */
152
+ _createDxfBlob(settings) {
153
+ return __awaiter(this, void 0, void 0, function* () {
154
+ const { excludeNodes, unit } = settings !== null && settings !== void 0 ? settings : {};
155
+ // Transformation baking pre process is required for DXF exports, as we take the plain vertex information for the
156
+ // DXF conversion, therefore the vertices need to be located in world already
157
+ yield (0, export_helper_1.exportPreProcess)(this.viewer, { excludeNodes });
158
+ const dxfString = this._createDxf(unit);
159
+ yield (0, export_helper_1.exportPostProcess)(this.viewer);
160
+ const dxfBlob = new Blob([dxfString], { type: 'application/dxf' });
161
+ return dxfBlob;
162
+ });
163
+ }
164
+ /**
165
+ * DXF creation process.\
166
+ * We go through all vertices of all meshes and create DXF 3d faces accordingly.
167
+ */
168
+ _createDxf(unit) {
169
+ const DXF = new dxf_writer_1.default();
170
+ if (unit) {
171
+ DXF.setUnits(unit);
172
+ }
173
+ const meshesToExport = this.viewer.scene.meshes.filter(mesh => (0, metadata_helper_1.getInternalMetadataValue)(mesh, 'exportNode') &&
174
+ // NOTE: can't add this criteria in pre export process, as pre export process works recursively and childs of
175
+ // transforms nodes or meshes without geometry can still have geometries and therefore be valid for the export
176
+ !(0, node_helper_1.nodeMatchesAnyCriteria)(mesh, { hasInvalidBoundingInfo: true }));
177
+ meshesToExport.forEach(mesh => {
178
+ const positions = mesh.getVerticesData(index_1.VertexBuffer.PositionKind);
179
+ const indices = mesh.getIndices();
180
+ if (!positions || !indices) {
181
+ console.warn(`Can't create DXF export of mesh "${mesh.name}", as there is no vertex data available`);
182
+ return;
183
+ }
184
+ for (let i = 0; i < indices.length; i += 3) {
185
+ // A face always consists of 3 vertices.
186
+ // First we need to get the indizes of the vertices.
187
+ const idx1 = indices[i];
188
+ const idx2 = indices[i + 1];
189
+ const idx3 = indices[i + 2];
190
+ // Now get the x, y, z data of the associated index.
191
+ // One index stores 3 vertices, thats why the index is multiplied with 3 before accessing the actual vertex
192
+ // position.
193
+ // > and z components have dedicated offsets 1 and 2.
194
+ // ===============
195
+ // Important NOTE:
196
+ // ===============
197
+ // DXF is right-handed, according to tests in AutoDesk it seems like y and z components are just switched.
198
+ // So we use offset 2 for y and offset 1 for z.
199
+ const p1 = new index_1.Vector3(positions[idx1 * 3], positions[idx1 * 3 + 2], positions[idx1 * 3 + 1]);
200
+ const p2 = new index_1.Vector3(positions[idx2 * 3], positions[idx2 * 3 + 2], positions[idx2 * 3 + 1]);
201
+ const p3 = new index_1.Vector3(positions[idx3 * 3], positions[idx3 * 3 + 2], positions[idx3 * 3 + 1]);
202
+ // Add a 3D face to the DXF (3DFACE entity).
203
+ // The library works with 4 points per face, but we only have 3.
204
+ // Using the last point 3 times is fine though.
205
+ DXF.drawFace(p1.x, p1.y, p1.z, p2.x, p2.y, p2.z, p3.x, p3.y, p3.z, p3.x, p3.y, p3.z);
206
+ }
207
+ });
208
+ const dxfString = DXF.toDxfString();
209
+ return dxfString;
210
+ }
211
+ /**
212
+ * Creates OBJ export string from meshes, which are marked for the export
213
+ */
214
+ _createObj() {
215
+ const meshesToExport = this.viewer.scene.meshes.filter(mesh => (0, metadata_helper_1.getInternalMetadataValue)(mesh, 'exportNode') &&
216
+ // NOTE: can't add this criteria in pre export process, as pre export process works recursively and childs of
217
+ // transforms nodes or meshes without geometry can still have geometries and therefore be valid for the export
218
+ !(0, node_helper_1.nodeMatchesAnyCriteria)(mesh, { hasInvalidBoundingInfo: true }));
219
+ const objString = index_1.OBJExport.OBJ(meshesToExport, true, 'materials', false);
220
+ return objString;
221
+ }
222
+ }
223
+ exports.ExportManager = ExportManager;
224
+ //# sourceMappingURL=export-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-manager.js","sourceRoot":"","sources":["../../../src/manager/export-manager.ts"],"names":[],"mappings":"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"}
@@ -57,4 +57,8 @@ export declare type DecalConfiguration = {
57
57
  * - overwrite decal mesh side orientation (important for glTF models)
58
58
  * - move decal along the "normal" to avoid clipping
59
59
  */
60
- export declare function createDecalMesh(config: DecalConfiguration, assetContainer: IAssetContainer, addToScene?: boolean): Mesh;
60
+ declare function createDecalMesh(config: DecalConfiguration, assetContainer: IAssetContainer, addToScene?: boolean): Mesh;
61
+ export declare const DecalUtils: {
62
+ createDecalMesh: typeof createDecalMesh;
63
+ };
64
+ export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createDecalMesh = exports.DEFAULT_DECAL_CONFIG = void 0;
3
+ exports.DecalUtils = exports.DEFAULT_DECAL_CONFIG = void 0;
4
4
  const __1 = require("..");
5
5
  exports.DEFAULT_DECAL_CONFIG = {
6
6
  normal: [0, 0, 1],
@@ -60,5 +60,8 @@ function createDecalMesh(config, assetContainer, addToScene = true) {
60
60
  }
61
61
  return decalMesh;
62
62
  }
63
- exports.createDecalMesh = createDecalMesh;
64
- //# sourceMappingURL=decals-helper.js.map
63
+ // export functions under "namespace", so that they can found easier in consuming code
64
+ exports.DecalUtils = {
65
+ createDecalMesh,
66
+ };
67
+ //# sourceMappingURL=decal-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decal-utils.js","sourceRoot":"","sources":["../../../src/utils/decal-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { Mesh } from '..';
2
+ export declare type BakeGeometryOptions = {
3
+ keepTransformation?: boolean;
4
+ };
5
+ /**
6
+ * Removes transformation data from the mesh and stores it in the geometry, which is called "baking".
7
+ * Also considers the geometry change from morph targets and skeletons.
8
+ *
9
+ * @param settings Optionally avoid baking the transformation, as this only works conveniently if the parent structure
10
+ * is baked as well. Baking morph targets only is a use case when preparing a mesh for CSG operations,
11
+ * which doesn't consider morph targets (yet).
12
+ */
13
+ declare function bakeGeometryOfMesh(mesh: Mesh, settings?: BakeGeometryOptions): void;
14
+ export declare const NodeUtils: {
15
+ bakeGeometryOfMesh: typeof bakeGeometryOfMesh;
16
+ };
17
+ export {};