Skip to content

Commit d32bc06

Browse files
committed
chore: fix temp solution in examples
1 parent c2c72a3 commit d32bc06

File tree

2 files changed

+43
-49
lines changed
  • packages/fragments/src/FragmentsModels/examples

2 files changed

+43
-49
lines changed

packages/fragments/src/FragmentsModels/examples/BuildingConfigurator/example.ts

Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -99,22 +99,21 @@ const settings = {
9999
*/
100100

101101
const workerUrl = "../../src/multithreading/fragments-thread.ts";
102-
const fragments = new FRAGS.FragmentsModels(workerUrl);
103-
const fragmentsManager = components.get(OBC.FragmentsManager);
102+
const fragments = components.get(OBC.FragmentsManager);
103+
fragments.init(workerUrl);
104104

105105
// Temp until we publish the libraries, to be able to use postproduction
106106
// @ts-ignore
107-
fragmentsManager._core = fragments;
108107

109108
fragments.settings.graphicsQuality = 1;
110109

111110
world.camera.controls.addEventListener("control", () => {
112-
fragments.update();
111+
fragments.core.update();
113112
});
114113

115114
// Once a model is available in the list, we can tell it
116115
// to use shadows and to use the clipping planes we are using
117-
fragments.models.list.onItemSet.add(({ value: model }) => {
116+
fragments.core.models.list.onItemSet.add(({ value: model }) => {
118117
model.tiles.onItemSet.add(({ value: mesh }) => {
119118
if ("isMesh" in mesh) {
120119
const mat = mesh.material as THREE.MeshStandardMaterial[];
@@ -210,14 +209,14 @@ const updateClipPlane = () => {
210209
*/
211210

212211
const bytes = FRAGS.EditUtils.newModel({ raw: true });
213-
const model = await fragments.load(bytes, {
212+
const model = await fragments.core.load(bytes, {
214213
modelId: "example",
215214
camera: world.camera.three,
216215
raw: true,
217216
});
218217

219218
world.scene.three.add(model.object);
220-
await fragments.update(true);
219+
await fragments.core.update(true);
221220

222221
/* MD
223222
### 🧊 Setting up the Geometry Engine
@@ -294,7 +293,7 @@ const staircaseHoleMesh = new THREE.Mesh(staircaseHoleGeometry);
294293
const regenerateFragments = async () => {
295294
const elementsData: FRAGS.NewElementData[] = [];
296295

297-
await fragments.editor.reset(model.modelId);
296+
await fragments.core.editor.reset(model.modelId);
298297

299298
// Create floor
300299

@@ -323,15 +322,15 @@ const regenerateFragments = async () => {
323322

324323
// Create base items
325324

326-
const matId = fragments.editor.createMaterial(
325+
const matId = fragments.core.editor.createMaterial(
327326
model.modelId,
328327
new THREE.MeshLambertMaterial({
329328
color: new THREE.Color(1, 1, 1),
330329
side: THREE.DoubleSide,
331330
}),
332331
);
333332

334-
const ltId = fragments.editor.createLocalTransform(
333+
const ltId = fragments.core.editor.createLocalTransform(
335334
model.modelId,
336335
new THREE.Matrix4().identity(),
337336
);
@@ -381,7 +380,7 @@ const regenerateFragments = async () => {
381380
length: settings.floorHeight,
382381
});
383382

384-
const extColumnGeoId = fragments.editor.createShell(
383+
const extColumnGeoId = fragments.core.editor.createShell(
385384
model.modelId,
386385
exteriorColumnGeometry,
387386
);
@@ -406,7 +405,7 @@ const regenerateFragments = async () => {
406405
length: settings.floorHeight,
407406
});
408407

409-
const cornerWallGeoId = fragments.editor.createShell(
408+
const cornerWallGeoId = fragments.core.editor.createShell(
410409
model.modelId,
411410
cornerWallGeometry,
412411
);
@@ -433,7 +432,7 @@ const regenerateFragments = async () => {
433432
length: settings.floorHeight - settings.floorThickness,
434433
});
435434

436-
const intColumnGeoId = fragments.editor.createShell(
435+
const intColumnGeoId = fragments.core.editor.createShell(
437436
model.modelId,
438437
interiorColumnGeometry,
439438
);
@@ -474,7 +473,7 @@ const regenerateFragments = async () => {
474473
height: settings.floorHeight - settings.floorThickness,
475474
});
476475

477-
const staircaseWall1GeoId = fragments.editor.createShell(
476+
const staircaseWall1GeoId = fragments.core.editor.createShell(
478477
model.modelId,
479478
staircaseWallGeometry1,
480479
);
@@ -492,7 +491,7 @@ const regenerateFragments = async () => {
492491
height: settings.floorHeight - settings.floorThickness,
493492
});
494493

495-
const staircaseWall2GeoId = fragments.editor.createShell(
494+
const staircaseWall2GeoId = fragments.core.editor.createShell(
496495
model.modelId,
497496
staircaseWallGeometry2,
498497
);
@@ -540,7 +539,7 @@ const regenerateFragments = async () => {
540539
world.scene.three.add(tempMesh6);
541540
tempMesh6.position.y += 10;
542541

543-
const floorGeoId = fragments.editor.createShell(
542+
const floorGeoId = fragments.core.editor.createShell(
544543
model.modelId,
545544
cutFloorGeometry,
546545
);
@@ -565,7 +564,7 @@ const regenerateFragments = async () => {
565564
],
566565
});
567566

568-
const windowFrameGeoId = fragments.editor.createShell(
567+
const windowFrameGeoId = fragments.core.editor.createShell(
569568
model.modelId,
570569
windowFrameGeometry,
571570
);
@@ -587,7 +586,7 @@ const regenerateFragments = async () => {
587586
length: settings.floorThickness,
588587
});
589588

590-
const windowTopGeoId = fragments.editor.createShell(
589+
const windowTopGeoId = fragments.core.editor.createShell(
591590
model.modelId,
592591
windowTopGeometry,
593592
);
@@ -614,7 +613,7 @@ const regenerateFragments = async () => {
614613
],
615614
});
616615

617-
const roofTopGeoId = fragments.editor.createShell(
616+
const roofTopGeoId = fragments.core.editor.createShell(
618617
model.modelId,
619618
roofTopGeometry,
620619
);
@@ -988,11 +987,11 @@ const regenerateFragments = async () => {
988987
}
989988
}
990989

991-
await fragments.editor.createElements(model.modelId, elementsData);
990+
await fragments.core.editor.createElements(model.modelId, elementsData);
992991

993992
clearEdges();
994993

995-
await fragments.update(true);
994+
await fragments.core.update(true);
996995

997996
processing = false;
998997
};
@@ -1043,7 +1042,7 @@ const viewModes: [ViewMode, string][] = [
10431042
const updateCamera = (
10441043
camera: THREE.PerspectiveCamera | THREE.OrthographicCamera,
10451044
) => {
1046-
for (const [, model] of fragments.models.list) {
1045+
for (const [, model] of fragments.core.models.list) {
10471046
model.useCamera(camera);
10481047
}
10491048
world.renderer!.postproduction.updateCamera();

packages/fragments/src/FragmentsModels/examples/SteelDetailing/example.ts

Lines changed: 22 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import * as BUI from "@thatopen/ui";
1414
import * as WEBIFC from "web-ifc";
1515
import Stats from "stats.js";
1616
import { RGBELoader } from "three/examples/jsm/loaders/RGBELoader.js";
17+
// You have to import * as FRAGS from "@thatopen/fragments"
1718
import * as FRAGS from "../../../index";
1819

1920
/* MD
@@ -97,11 +98,9 @@ const settings = {
9798
Now, let's configure the Fragments library core. This will allow us to load models effortlessly and start working with steel structures:
9899
*/
99100

100-
// prettier-ignore
101101
const workerUrl = "../../src/multithreading/fragments-thread.ts";
102-
// const workerUrl = "../../dist/Worker/worker.mjs";
103-
const fragments = new FRAGS.FragmentsModels(workerUrl);
104-
102+
const fragments = components.get(OBC.FragmentsManager);
103+
fragments.init(workerUrl);
105104
/* MD
106105
### 🖼️ Material and Texture Setup
107106
We'll set up materials and textures for our steel structures. This includes processing textures and configuring material properties for realistic steel appearance:
@@ -120,7 +119,7 @@ const roughnessMap = textureLoader.load(
120119
);
121120
processTextures(roughnessMap);
122121

123-
fragments.models.materials.list.onItemSet.add(
122+
fragments.core.models.materials.list.onItemSet.add(
124123
({ key: id, value: material }) => {
125124
if ("map" in material) {
126125
const standardMaterial = new THREE.MeshStandardMaterial({
@@ -130,29 +129,25 @@ fragments.models.materials.list.onItemSet.add(
130129
// roughness: 1,
131130
side: THREE.DoubleSide,
132131
}) as any;
133-
fragments.models.materials.list.set(id, standardMaterial);
132+
fragments.core.models.materials.list.set(id, standardMaterial);
134133
}
135134
},
136135
);
137136

138-
fragments.models.materials.list.onItemSet.add(({ value: material }) => {
137+
fragments.core.models.materials.list.onItemSet.add(({ value: material }) => {
139138
const isLod = "isLodMaterial" in material && material.isLodMaterial;
140139
if (isLod) {
141140
world.renderer!.postproduction.basePass.isolatedMaterials.push(material);
142141
}
143142
});
144143

145-
const fragmentsManager = components.get(OBC.FragmentsManager);
146-
// @ts-ignore
147-
fragmentsManager._core = fragments;
148-
149-
fragments.settings.graphicsQuality = 1;
144+
fragments.core.settings.graphicsQuality = 1;
150145

151146
world.camera.controls.addEventListener("control", () => {
152-
fragments.update();
147+
fragments.core.update();
153148
});
154149

155-
fragments.models.list.onItemSet.add(({ value: model }) => {
150+
fragments.core.models.list.onItemSet.add(({ value: model }) => {
156151
model.tiles.onItemSet.add(({ value: mesh }) => {
157152
if (!("isLODGeometry" in mesh.geometry)) {
158153
const geometry = mesh.geometry as THREE.BufferGeometry;
@@ -209,7 +204,7 @@ fragments.models.list.onItemSet.add(({ value: model }) => {
209204
});
210205
});
211206

212-
fragments.models.list.onItemSet.add(({ value: model }) => {
207+
fragments.core.models.list.onItemSet.add(({ value: model }) => {
213208
model.tiles.onItemSet.add(({ value: mesh }) => {
214209
if ("isMesh" in mesh) {
215210
const mat = mesh.material as THREE.MeshStandardMaterial[];
@@ -241,7 +236,7 @@ const model = await fragments.load(bytes, {
241236

242237
world.scene.three.add(model.object);
243238

244-
await fragments.update(true);
239+
await fragments.core.update(true);
245240

246241
/* MD
247242
### 🧊 Setting up the Geometry Engine
@@ -413,43 +408,43 @@ const regenerateFragments = async () => {
413408

414409
const elementsData: FRAGS.NewElementData[] = [];
415410

416-
await fragments.editor.reset(model.modelId);
411+
await fragments.core.editor.reset(model.modelId);
417412

418-
const matId = fragments.editor.createMaterial(
413+
const matId = fragments.core.editor.createMaterial(
419414
model.modelId,
420415
new THREE.MeshLambertMaterial({
421416
color: new THREE.Color(1, 1, 1),
422417
side: THREE.DoubleSide,
423418
}),
424419
);
425420

426-
const ltId = fragments.editor.createLocalTransform(
421+
const ltId = fragments.core.editor.createLocalTransform(
427422
model.modelId,
428423
new THREE.Matrix4().identity(),
429424
);
430425

431426
// GEOMETRIES
432427

433428
const basePlateGeom = basePlateMesh.geometry;
434-
const basePlateGeomId = fragments.editor.createShell(
429+
const basePlateGeomId = fragments.core.editor.createShell(
435430
model.modelId,
436431
basePlateGeom,
437432
);
438433

439434
const baseCrossPlateGeom = baseCrossPlateMesh.geometry;
440-
const baseCrossPlateGeomId = fragments.editor.createShell(
435+
const baseCrossPlateGeomId = fragments.core.editor.createShell(
441436
model.modelId,
442437
baseCrossPlateGeom,
443438
);
444439

445440
const cornerPlateGeom = cornerPlateMesh.geometry;
446-
const cornerPlateGeomId = fragments.editor.createShell(
441+
const cornerPlateGeomId = fragments.core.editor.createShell(
447442
model.modelId,
448443
cornerPlateGeom,
449444
);
450445

451446
const baseBoltGeom = boltHeadMesh.geometry;
452-
const baseBoltGeomId = fragments.editor.createShell(
447+
const baseBoltGeomId = fragments.core.editor.createShell(
453448
model.modelId,
454449
baseBoltGeom,
455450
);
@@ -486,7 +481,7 @@ const regenerateFragments = async () => {
486481
yDirection2.applyMatrix4(tempObject.matrix);
487482

488483
// prettier-ignore
489-
const baseHookGeomId = fragments.editor.createCircleExtrusion(
484+
const baseHookGeomId = fragments.core.editor.createCircleExtrusion(
490485
model.modelId,
491486
{
492487
radius: [baseHookThickness],
@@ -693,7 +688,7 @@ const regenerateFragments = async () => {
693688
length: p1.distanceTo(p2),
694689
});
695690

696-
const steelElementGeomId = fragments.editor.createShell(
691+
const steelElementGeomId = fragments.core.editor.createShell(
697692
model.modelId,
698693
steelElementGeometry,
699694
);
@@ -719,9 +714,9 @@ const regenerateFragments = async () => {
719714
});
720715
}
721716

722-
await fragments.editor.createElements(model.modelId, elementsData);
717+
await fragments.core.editor.createElements(model.modelId, elementsData);
723718

724-
await fragments.update(true);
719+
await fragments.core.update(true);
725720

726721
processing = false;
727722
};

0 commit comments

Comments
 (0)