@bldrs-ai/conway 0.17.885 → 0.18.886
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/README.md +4 -2
- package/compiled/examples/{browser-bundled.cjs → browser-bundled.js} +12 -35
- package/compiled/examples/browser.d.ts +1 -0
- package/compiled/examples/browser.js +1 -0
- package/compiled/examples/{validator-bundled.cjs → validator-bundled.js} +5836 -5857
- package/compiled/examples/validator.d.ts +1 -0
- package/compiled/examples/validator.js +3 -5
- package/compiled/src/ifc/ifc_geometry_extraction.d.ts.map +1 -1
- package/compiled/src/ifc/ifc_geometry_extraction.js +6 -3
- package/compiled/src/rendering/threejs/scene_object.js +18 -5
- package/compiled/src/rendering/threejs/simple_viewer_scene.d.ts +101 -5
- package/compiled/src/rendering/threejs/simple_viewer_scene.d.ts.map +1 -1
- package/compiled/src/rendering/threejs/simple_viewer_scene.js +154 -9
- package/compiled/src/version/version.js +1 -1
- package/compiled/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -19
- package/compiled/examples/cli-bundled.cjs +0 -89636
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
1
2
|
import fs from "fs";
|
|
2
3
|
import { exit } from "process";
|
|
3
4
|
import EntityTypesIfc from "../src/ifc/ifc4_gen/entity_types_ifc.gen.js";
|
|
@@ -298,6 +299,7 @@ function validateModel(model_, query_) {
|
|
|
298
299
|
const fails = [];
|
|
299
300
|
console.log(`\nValidation Report for Query: ${className}${expressID !==
|
|
300
301
|
undefined ? `[#${expressID}]` : ""}.${property} ${operator} ${value}`);
|
|
302
|
+
const operation = new Function("a", "b", `return ( ( a ) ${operator} ( b ) )`);
|
|
301
303
|
for (const e of entities) {
|
|
302
304
|
const id = e.expressID;
|
|
303
305
|
const propVal = getPropertyValue(e, property);
|
|
@@ -307,13 +309,9 @@ function validateModel(model_, query_) {
|
|
|
307
309
|
failCount++;
|
|
308
310
|
continue;
|
|
309
311
|
}
|
|
310
|
-
const leftSide = JSON.stringify(propVal);
|
|
311
|
-
const rightSide = value;
|
|
312
312
|
let pass;
|
|
313
313
|
try {
|
|
314
|
-
|
|
315
|
-
// eslint-disable-next-line no-eval
|
|
316
|
-
pass = eval(expression);
|
|
314
|
+
pass = operation(propVal, value);
|
|
317
315
|
}
|
|
318
316
|
catch (err) {
|
|
319
317
|
fails.push({ id, propVal, reason: `eval error: ${err}` });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ifc_geometry_extraction.d.ts","sourceRoot":"","sources":["../../../src/ifc/ifc_geometry_extraction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ifc_geometry_extraction.d.ts","sourceRoot":"","sources":["../../../src/ifc/ifc_geometry_extraction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAGd,cAAc,EACd,sBAAsB,EAEtB,OAAO,EAIP,WAAW,EASX,wBAAwB,EAOxB,aAAa,EAGb,SAAS,EACT,sBAAsB,EAEtB,cAAc,EACd,iBAAiB,EAcjB,kBAAkB,EAElB,qBAAqB,EACtB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAqB,SAAS,EAAuB,MAAM,4BAA4B,CAAA;AAE9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAE5D,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EAEnB,oBAAoB,EACpB,8BAA8B,EAC9B,mBAAmB,EACnB,mBAAmB,EACnB,gCAAgC,EAChC,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACX,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAEL,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAGhB,oCAAoC,EACpC,mBAAmB,EACnB,YAAY,EAEZ,YAAY,EACZ,oBAAoB,EAEpB,mBAAmB,EAGnB,aAAa,EACb,yBAAyB,EACzB,kBAAkB,EAGlB,mBAAmB,EACnB,UAAU,EAEV,aAAa,EACb,qBAAqB,EAErB,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,eAAe,EAMf,wBAAwB,EACxB,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,iBAAiB,EAEjB,QAAQ,EAER,SAAS,EACT,iBAAiB,EACjB,QAAQ,EAER,yBAAyB,EACzB,OAAO,EAEP,cAAc,EAGd,eAAe,EAEf,wBAAwB,EACxB,WAAW,EAEX,sBAAsB,EAEtB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAGlB,WAAW,EAIX,wBAAwB,EACxB,mBAAmB,EAEnB,eAAe,EACf,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,0BAA0B,EAC1B,kCAAkC,EAClC,qBAAqB,EACrB,sBAAsB,EACtB,2BAA2B,EAE3B,iBAAiB,EAMjB,4BAA4B,EAC5B,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EAEnB,oCAAoC,EACpC,8CAA8C,EAC9C,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EAGnB,4BAA4B,EAC5B,UAAU,EACV,OAAO,EACP,UAAU,EACV,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAqB,MAAM,qBAAqB,CAAA;AACxE,OAAO,YAAY,MAAM,kBAAkB,CAAA;AAM3C,OAAO,cAAc,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAoB,MAAM,wBAAwB,CAAA;AAOzE;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACpC,IAAI,EAAE,mBAAmB,GAAG,oBAAoB,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAY/E;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,GAAE,MAAU,GAAG,SAAS,CAE7F;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,GAAE,MAAU,GAAG,SAAS,CAGhF;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAChC,IAAI,EAAE,YAAY,GAAG,yBAAyB,EAC9C,YAAY,EAAE,SAAS,EAAE,KAAK,GAAE,MAAU,GAAG,SAAS,CAezD;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CACxC,IAAI,EAAE,YAAY,GAAG,yBAAyB,EAC9C,YAAY,EAAE,SAAS,EAAE,KAAK,GAAE,MAAU,GAAG,SAAS,CAsBzD;AAED;;;GAGG;AACH,qBAAa,qBAAqB;IAoD9B,OAAO,CAAC,QAAQ,CAAC,WAAW;aACZ,KAAK,EAAE,YAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAnDhC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAY;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAY;IAE7C,OAAO,CAAC,UAAU,CAAY;IAE9B,SAAgB,KAAK,EAAE,eAAe,CAAA;IAEtC,SAAgB,SAAS,EAAE,eAAe,CAAA;IAE1C,SAAgB,SAAS,EAAE,gBAAgB,CAAA;IAE3C,SAAgB,aAAa,EAAE,gBAAgB,CAAA;IAE/C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAEjD,SAAgB,MAAM,EAAE,cAAc,CAAA;IAEtC,SAAgB,aAAa,EAAE,cAAc,CAAA;IAE7C,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAuB;IAChE,OAAO,CAAC,mBAAmB,CAAQ;IAEnC,OAAO,CAAC,cAAc,CAAc;IAEpC,OAAO,CAAC,cAAc,CAAa;IAEnC,OAAO,CAAC,0BAA0B,CAAgD;IAClF,OAAO,CAAC,0BAA0B,CAAgD;IAClF,OAAO,CAAC,gCAAgC,CACoB;IAE5D,OAAO,CAAC,sBAAsB,CAA4C;IAGnE,WAAW,EAAE,qBAAqB,GAAG,IAAI,CAAO;IAEvD,OAAO,CAAC,sBAAsB,CAAoB;IAClD,OAAO,CAAC,sBAAsB,CAAoB;IAElD,OAAO,CAAC,cAAc,CAAgB;IAEtC;;;;;;OAMG;gBAEgB,WAAW,EAAE,cAAc,EAC5B,KAAK,EAAE,YAAY,EAClB,aAAa,GAAE,OAAe;IAsBjD;;OAEG;IACH,qBAAqB;IAOrB;;OAEG;IACH,4BAA4B;IAY5B;;OAEG;IACH,sCAAsC;IAYtC;;OAEG;IACH,gCAAgC;IAUhC;;OAEG;IACH,gCAAgC;IAUhC;;;OAGG;IACH,sBAAsB,IAAI,MAAM;IAIhC;;;OAGG;IACH,iBAAiB,IAAI,MAAM,GAAG,IAAI;IAIlC;;;OAGG;IACH,aAAa,IAAI,UAAU;IAK3B;;;;OAIG;IACH,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,cAAc,CAAC;IAcrE;;;;;OAKG;IACH,8BAA8B,IAAI,8BAA8B;IAShE;;;;OAIG;IACH,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAY9D;;;;;OAKG;IACH,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAa9D;;;;;OAKG;IACH,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC;IAa/D;;;;OAIG;IACH,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAa9D;;;OAGG;IACH,0BAA0B,IAAI,SAAS,CAAC,mBAAmB,CAAC;IAQ5D;;;;OAIG;IACH,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAc/D;;;;OAIG;IACH,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAa/D;;;;;OAKG;IACH,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,gBAAgB;IAWxD;;;;;OAKG;IACH,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,iBAAiB;IAW1D,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAyC;IAEnF;;OAEG;IACH,uCAAuC,IAAI,IAAI;IAQ/C;;;;OAIG;IACH,oCAAoC,CAChC,gCAAgC,EAAE,gCAAgC,GAAG,IAAI;IAK7E;;;;;OAKG;IACH,gCAAgC,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,gCAAgC;IAwBxF;;;;;OAKG;IACH,mBAAmB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAY7D;;;;OAIG;IACH,mBAAmB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAajE;;;;OAIG;IACH,aAAa,IAAI,OAAO;IAQxB;;;;OAIG;IACH,OAAO,CAAC,OAAO,GAAE,MAAU;IAO3B;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAItB;;;;OAIG;IACH,OAAO,CAAC,8BAA8B;IAYtC;;;;;OAKG;IACH,OAAO,CAAC,+BAA+B;IAYvC;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IA0ClC;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAoH/B;;;OAGG;IACH,eAAe,CAAC,KAAK,EAAC,YAAY,GAAG,YAAY,GAAG,WAAW,GAAG,GAAG;IAarE;;;OAGG;IACH,iBAAiB,CAAC,KAAK,EAAC,YAAY,GAAG,YAAY,GAAG,WAAW,GAAG,UAAU;IAe9E;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAiBhC;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,GAAG,OAAO,GAAG,SAAS;IAcvE;;;;;OAKG;IACH,mCAAmC,CAAC,IAAI,EAAE,oCAAoC;IAqC9E;;;;OAIG;IACH,oBAAoB,CAAE,OAAO,EAAE,MAAM;IAOrC;;;;;OAKG;IACH,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,GAAG,wBAAwB,EAClE,SAAS,GAAE,OAAe;IAgL9B;;;;;;;;OAQG;IACH,qBAAqB,CAAC,IAAI,EAAE,oBAAoB,GAC9C,mBAAmB,GACnB,gBAAgB,GAChB,iBAAiB,GACjB,wBAAwB,GACxB,cAAc,EAChB,SAAS,GAAE,OAAe,EAC1B,kBAAkB,CAAC,EAAC,qBAAqB,EACzC,eAAe,GAAE,OAAe;IAuKhC;;;;OAIG;IACH,mBAAmB,CAAC,IAAI,EAAE,eAAe;IAmKzC;;;;;;;OAOG;IACH,iBAAiB,CAAC,IAAI,EAAE,aAAa,EACjC,kBAAkB,CAAC,EAAE,qBAAqB,EAC1C,UAAU,CAAC,EAAC,aAAa,GAAG,MAAM,GAAG,SAAS;IAyClD;;;;;OAKG;IACH,qBAAqB,CACjB,IAAI,EAAE,iBAAiB,EACvB,SAAS,GAAE,OAAe,EAC1B,SAAS,GAAE,OAAe,GAAG,IAAI;IA4CrC;;;;;OAKG;IACH,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,EACzC,SAAS,GAAE,OAAe,EAC1B,SAAS,GAAE,OAAe;IAsC9B;;;;;OAKG;IACH,gCAAgC,CAAC,IAAI,EAAE,4BAA4B,EAC/D,SAAS,GAAE,OAAe,EAC1B,SAAS,GAAE,OAAe;IAuD9B;;;;;OAKG;IACH,wBAAwB,CAAC,IAAI,EAAE,oBAAoB,EAC/C,SAAS,GAAE,OAAe,EAC1B,SAAS,GAAE,OAAe;IA8D9B;;;;;;OAMG;IACH,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,gBAAgB,GAAG,SAAS;IA0XjE;;;;;;OAMG;IACH,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,WAAW,GAAG,SAAS;IAsCtE;;;;;;OAMG;IACH,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,WAAW,GAAG,SAAS;IAoCtE;;;;;;OAMG;IACH,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,WAAW,GAAG,SAAS;IAsCtE;;;;;;OAMG;IACH,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,WAAW,GAAG,SAAS;IAuCtE;;;;;;OAMG;IACH,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,WAAW,GAAG,SAAS;IA0CtE;;;;;;OAMG;IACH,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,WAAW,GAAG,SAAS;IAuCtE;;;;;;OAMG;IACH,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,EACzC,WAAW,GAAC,OAAc,EAC1B,KAAK,GAAC,OAAe,GACtB,WAAW,GAAG,SAAS;IA2C1B;;;;;;;OAOG;IACH,YAAY,CAAC,IAAI,EAAE,QAAQ,EACvB,WAAW,GAAC,OAAc,EAC1B,MAAM,GAAC,OAAe,EACtB,iBAAiB,GAAE,iBAAiB,GAAG,SAAkB,GAAG,WAAW,GAAG,SAAS;IAuFvF;;;;;;;OAOG;IACH,mBAAmB,CAAC,IAAI,EAAE,eAAe,EACrC,WAAW,GAAC,OAAc,EAC1B,MAAM,GAAC,OAAe,GACvB,WAAW;IAgId;;;;;;;;OAQG;IACH,cAAc,CAAC,IAAI,EAAC,OAAO,EACvB,WAAW,GAAC,OAAc,EAC1B,MAAM,GAAC,OAAe,EACtB,sBAAsB,CAAC,EAAE,wBAAwB,GAAI,WAAW,GAAG,SAAS;IAsE9E;;;;;;OAMG;IACL,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAC5B,WAAW,GAAC,OAAc,EAC1B,sBAAsB,CAAC,EAAE,wBAAwB,GAAI,WAAW,GAAG,SAAS;IAmDhF;;;;;;OAMG;IACH,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAC9B,WAAW,GAAC,OAAc,EAC1B,sBAAsB,CAAC,EAAE,wBAAwB,GAAI,WAAW,GAAG,SAAS;IAoDhF;;;;;;OAMG;IACH,sBAAsB,CAAC,IAAI,EAAE,eAAe,EACxC,WAAW,GAAC,OAAc,EAC1B,MAAM,GAAC,OAAe,GACvB,WAAW,GAAG,SAAS;IAoH1B;;;;;;OAMG;IACH,2BAA2B,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,UAAU,EAAC,MAAM,GAAG,YAAY;IAazF;;;;;;;OAOG;IACH,4CAA4C,CAAC,MAAM,EAAE,iBAAiB,EAAE,EACpE,UAAU,EAAE,MAAM,GAAG,YAAY;IA+BrC;;;;;;;;;OASG;IACH,oCAAoC,CAChC,MAAM,EAAE,iBAAiB,EAAE,EAC3B,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,EACpB,gBAAgB,CAAC,EAAE,MAAM,GAC1B,qBAAqB;IAsDxB;;;;;;OAMG;IACH,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAChC,WAAW,GAAC,OAAc,EAC1B,MAAM,GAAC,OAAe,GACvB,WAAW,GAAG,SAAS;IA4B1B;;;;OAIG;IACH,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,GAChD,4BAA4B,GAAG,WAAW,GAAG,SAAS;IA+BxD;;;;OAIG;IACH,+BAA+B,CAAC,IAAI,EAAE,4BAA4B,GAAG,WAAW,GAAG,SAAS;IAkC5F;;;;;;OAMG;IACH,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,WAAW,GAAG,SAAS;IA2BtE;;;;;;OAMG;IACH,4BAA4B,CAAC,IAAI,EAAE,yBAAyB;IA0B5D;;;;;;OAMG;IACH,0BAA0B,CAAC,IAAI,EAAE,oBAAoB,GAAG,WAAW,GAAG,SAAS;IA4B/E;;;;;;OAMG;IACH,uBAAuB,CAAC,IAAI,EAAE,mBAAmB,GAAG,WAAW,GAAG,SAAS;IA0G3E;;;;;;;;OAQG;IACH,iBAAiB,CACb,IAAI,EAAE,aAAa,EACnB,aAAa,EAAE,UAAU,EACzB,SAAS,GAAE,OAAe,EAC1B,OAAO,GAAE,OAAe,EACxB,OAAO,GAAE,aAAa,EAAE,GAAG,SAAkB;IAqHjD;;;;;;;;;;;OAWG;IACH,yBAAyB,CAAC,IAAI,EAAE,qBAAqB,EACjD,oBAAoB,CAAC,EAAE,MAAM,EAC7B,SAAS,GAAE,OAAe,EAC1B,OAAO,GAAE,OAAe,EACxB,YAAY,GAAE,OAAe;IA6FjC;;;;;OAKG;IACI,sBAAsB,CAAC,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO;IAMvE;;;;;OAKG;IACH,wBAAwB,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAChD,aAAa,EAAE,MAAM,EACrB,SAAS,GAAE,OAAe;IA2B9B;;;;OAIG;IACH,+BAA+B,CAAC,IAAI,EAAE,wBAAwB,EAAE,SAAS,GAAE,OAAe;IAM1F;;;;;OAKG;IACH,qBAAqB,CAAC,IAAI,EAAE,cAAc,EACtC,SAAS,GAAE,OAAe,EAAE,SAAS,GAAE,OAAe;IAO1D;;;;;;OAMG;IACH,gCAAgC,CAC5B,IAAI,EAAE,yBAAyB,EAC/B,oBAAoB,CAAC,EAAE,MAAM,EAC7B,SAAS,GAAE,OAAe,EAC1B,OAAO,GAAE,OAAe;IAc5B;;;;;;;;OAQG;IACH,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,EACxB,aAAa,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,cAAc,GAAG,SAAS,EACtC,SAAS,GAAE,OAAe,EAC1B,SAAS,GAAE,OAAe,GAAG,cAAc;IAyC/C;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,kBAAkB;IAUhD;;;;;OAKG;IACH,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;IAmBtE;;;;;;OAMG;IACH,sBAAsB,CAClB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,EACrC,EAAE,EAAE,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI;IAO5C;;;;;OAKG;IACH,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,GAAG,cAAc;IAqB9D;;;;;;;OAOG;IACH,qBAAqB,CACjB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EACnB,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,EACrB,KAAK,SAAI,EACT,GAAG,SAAc,GAAG,IAAI;IAS5B;;;;;OAKG;IACH,2BAA2B,CACvB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAC1B,EAAE,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI;IAa3C;;;;;OAKG;IACH,8BAA8B,CAAC,IAAI,EAAE,0BAA0B,GAAG,cAAc;IA0BhF;;;;;OAKG;IACH,sCAAsC,CAClC,IAAI,EAAE,kCAAkC,GAAG,cAAc;IAS7D;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO;IAW7D;;;;;OAKG;IACH,mBAAmB,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc;IAwOnE;;;;;OAKG;IACH,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAC,aAAa;IA8D/D;;;;;OAKG;IACH,+BAA+B,CAAC,IAAI,EAAE,2BAA2B,EAAE,aAAa,EAAE,aAAa;IAwB/F;;;;;OAKG;IACH,0BAA0B,CAAC,IAAI,EAAE,sBAAsB,EAAE,aAAa,EAAE,aAAa;IA0BrF;;;;;OAKG;IACH,yBAAyB,CAAC,IAAI,EAAE,qBAAqB,EAAE,aAAa,EAAE,aAAa;IAWnF;;;;OAIG;IACH,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc;IAuDnD;;;;;OAKG;IACH,uBAAuB,CAAC,IAAI,EAAE,mBAAmB,GAAG,GAAG;IA0CvD;;;;;;;OAOG;IACH,mCAAmC,CAAC,IAAI,EAAE,oCAAoC,GAC1E,8CAA8C,GAAG,GAAG;IA8CxD;;;;;;OAMG;IACH,uBAAuB,CAAC,IAAI,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAC7E;;;;;;;OAOG;IACH,uBAAuB,CACrB,IAAI,EAAE,iBAAiB,EACvB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,IAAI,GAAG,sBAAsB;IAwD5C;;;;;;OAMG;IACH,uBAAuB,CAAC,IAAI,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAC/E;;;;;;;OAOG;IAEH,uBAAuB,CACrB,IAAI,EAAE,mBAAmB,EACzB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,IAAI,GAAG,sBAAsB;IAwE5C;;;;;;OAMG;IACH,8BAA8B,CAAC,IAAI,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IACtF;;;;;;;OAOG;IAEH,8BAA8B,CAC5B,IAAI,EAAE,mBAAmB,EACzB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,IAAI,GAAG,sBAAsB;IAsE5C;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,EAAE,SAAS,GAAE,OAAe;IA+CrE;;;;;;;;;OASG;IACH,4BAA4B,CACxB,IAAI,EAAE,qBAAqB,EAC3B,iBAAiB,EAAE,oBAAoB,EACvC,oBAAoB,EAAE,MAAM,EAC5B,eAAe,EAAC,MAAM,EAAE,EACxB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,OAAO,GAAE,OAAe;IA8F5B;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,CAAC,oBAAoB,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS;IA8D/E;;;;OAIG;IACH,eAAe,CACX,IAAI,EAAE,WAAW,GACjB,eAAe,GACf,kBAAkB,GAClB,qBAAqB,GACrB,sBAAsB,GACtB,wBAAwB,GACxB,mBAAmB,GACnB,yBAAyB,GAAG,MAAM,GAAG,SAAS;IAgElD;;;;OAIG;IACH,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS;IAoC1D;;OAEG;IACH,sBAAsB;IAWtB;;OAEG;IACH,8BAA8B;IAiB9B;;OAEG;IACH,mBAAmB;IAqBnB;;OAEG;IACH,0BAA0B;IAsD1B;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI;IA0CjD;;;;OAIG;IACH,YAAY,CAAC,cAAc,EAAC,MAAM,EAAE,QAAQ,EAAC,cAAc;IAU3D;;;;;OAKG;IACH,sBAAsB,IACpB;QAAC,aAAa;QAAE,eAAe;KAAC;CAoanC"}
|
|
@@ -1055,7 +1055,6 @@ export class IfcGeometryExtraction {
|
|
|
1055
1055
|
case IfcReflectanceMethodEnum.PHONG:
|
|
1056
1056
|
case IfcReflectanceMethodEnum.BLINN: {
|
|
1057
1057
|
newMaterial.metalness = 0;
|
|
1058
|
-
newMaterial.roughness ??= 1;
|
|
1059
1058
|
newMaterial.ior ??= 1.4;
|
|
1060
1059
|
break;
|
|
1061
1060
|
}
|
|
@@ -1113,13 +1112,14 @@ export class IfcGeometryExtraction {
|
|
|
1113
1112
|
}
|
|
1114
1113
|
const isTransparent = newMaterial.baseColor[3] < 1;
|
|
1115
1114
|
newMaterial.metalness ??= 0;
|
|
1116
|
-
newMaterial.roughness ??= 0;
|
|
1117
|
-
newMaterial.ior ??= 1.4;
|
|
1115
|
+
newMaterial.roughness ??= isTransparent ? 0.05 : 0.9;
|
|
1116
|
+
newMaterial.ior ??= isTransparent ? 1.52 : 1.4;
|
|
1118
1117
|
newMaterial.doubleSided = isTransparent || newMaterial.doubleSided;
|
|
1119
1118
|
newMaterial.blend = isTransparent ? BlendMode.BLEND : BlendMode.OPAQUE;
|
|
1120
1119
|
materials.add(from.localID, newMaterial);
|
|
1121
1120
|
}
|
|
1122
1121
|
}
|
|
1122
|
+
/* eslint-enable no-magic-numbers */
|
|
1123
1123
|
/**
|
|
1124
1124
|
* Extract a style item.
|
|
1125
1125
|
*
|
|
@@ -4109,6 +4109,7 @@ export class IfcGeometryExtraction {
|
|
|
4109
4109
|
}
|
|
4110
4110
|
}
|
|
4111
4111
|
}
|
|
4112
|
+
/* eslint-disable no-magic-numbers */ // No magic numbers disabled
|
|
4112
4113
|
/**
|
|
4113
4114
|
*
|
|
4114
4115
|
* @param prefix
|
|
@@ -4152,6 +4153,7 @@ export class IfcGeometryExtraction {
|
|
|
4152
4153
|
return null;
|
|
4153
4154
|
}
|
|
4154
4155
|
}
|
|
4156
|
+
/* eslint-enable no-magic-numbers */ // No magic numbers disabled
|
|
4155
4157
|
/**
|
|
4156
4158
|
*
|
|
4157
4159
|
* @param outputFilePath
|
|
@@ -4180,6 +4182,7 @@ export class IfcGeometryExtraction {
|
|
|
4180
4182
|
try {
|
|
4181
4183
|
// 256 meg limit for memoization - smaller models get a big
|
|
4182
4184
|
// win from memoization, but much larger models it uses far too much heap.
|
|
4185
|
+
// eslint-disable-next-line no-magic-numbers
|
|
4183
4186
|
const MEMOIZATION_THRESHOLD = 256 * 1024 * 1024;
|
|
4184
4187
|
if (this.lowMemoryMode || this.model.bufferBytesize > MEMOIZATION_THRESHOLD) {
|
|
4185
4188
|
this.model.elementMemoization = false;
|
|
@@ -212,9 +212,11 @@ class SceneEventSink {
|
|
|
212
212
|
const onlySpaces = this.nonSpaceCount_ === 0;
|
|
213
213
|
for (const batch of this.materialMap_.values()) {
|
|
214
214
|
const batchMesh = new BatchedMesh(batch.instanceCount, batch.vertexCount, batch.indexCount, batch.threeMaterial);
|
|
215
|
+
batchMesh.perObjectFrustumCulled = false;
|
|
215
216
|
this.group.add(batchMesh);
|
|
216
217
|
if (batch.material.blend === BlendMode.OPAQUE && batch.material.baseColor[3] === 1) {
|
|
217
218
|
batchMesh.castShadow = true;
|
|
219
|
+
batchMesh.sortObjects = false;
|
|
218
220
|
}
|
|
219
221
|
batchMesh.receiveShadow = true;
|
|
220
222
|
batch.mesh = batchMesh;
|
|
@@ -433,7 +435,6 @@ class SceneEventSink {
|
|
|
433
435
|
(instanceMaterial !== material || instanceMesh !== mesh)) {
|
|
434
436
|
let batch = batches.get(material);
|
|
435
437
|
if (batch === void 0) {
|
|
436
|
-
console.log("batch created");
|
|
437
438
|
const threeMaterial = new MeshPhysicalMaterial();
|
|
438
439
|
threeMaterial.metalness = material.metalness ?? threeMaterial.metalness;
|
|
439
440
|
threeMaterial.roughness = material.roughness ?? threeMaterial.roughness;
|
|
@@ -441,11 +442,13 @@ class SceneEventSink {
|
|
|
441
442
|
const baseColor = material.baseColor;
|
|
442
443
|
const materialAlpha = baseColor[3];
|
|
443
444
|
threeMaterial.side = material.doubleSided ? DoubleSide : FrontSide;
|
|
445
|
+
const ALPHA_GAMMA = 2.2;
|
|
446
|
+
const deGammaAlpha = Math.pow(materialAlpha, ALPHA_GAMMA);
|
|
444
447
|
if (material.blend !== BlendMode.OPAQUE && materialAlpha < 1) {
|
|
445
448
|
threeMaterial.transparent = true;
|
|
446
|
-
threeMaterial.
|
|
447
|
-
threeMaterial.
|
|
448
|
-
threeMaterial.depthWrite =
|
|
449
|
+
threeMaterial.thickness = 0.01;
|
|
450
|
+
threeMaterial.transmission = 1 - deGammaAlpha;
|
|
451
|
+
threeMaterial.depthWrite = true;
|
|
449
452
|
threeMaterial.side = DoubleSide;
|
|
450
453
|
}
|
|
451
454
|
if (ior !== void 0) {
|
|
@@ -459,7 +462,16 @@ class SceneEventSink {
|
|
|
459
462
|
if (specular !== void 0) {
|
|
460
463
|
threeMaterial.specularColor.setRGB(specular[0], specular[1], specular[2], LinearSRGBColorSpace);
|
|
461
464
|
}
|
|
462
|
-
|
|
465
|
+
let r = baseColor[0] / deGammaAlpha;
|
|
466
|
+
let g = baseColor[1] / deGammaAlpha;
|
|
467
|
+
let b = baseColor[2] / deGammaAlpha;
|
|
468
|
+
const maxComponent = Math.max(r, g, b);
|
|
469
|
+
if (maxComponent > 1) {
|
|
470
|
+
r /= maxComponent;
|
|
471
|
+
g /= maxComponent;
|
|
472
|
+
b /= maxComponent;
|
|
473
|
+
}
|
|
474
|
+
threeMaterial.color.setRGB(r, g, b, LinearSRGBColorSpace);
|
|
463
475
|
batch = new MaterialMeshBatch(material, threeMaterial);
|
|
464
476
|
batches.set(material, batch);
|
|
465
477
|
}
|
|
@@ -484,6 +496,7 @@ class SceneEventSink {
|
|
|
484
496
|
if (batchMesh === void 0) {
|
|
485
497
|
batchMesh =
|
|
486
498
|
new BatchedMesh(1, vertexCount, indexCount, batch.threeMaterial);
|
|
499
|
+
batchMesh.perObjectFrustumCulled = false;
|
|
487
500
|
if (batch.material.baseColor[3] < 1) {
|
|
488
501
|
batchMesh.castShadow = false;
|
|
489
502
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import * as THREE from
|
|
2
|
-
import
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import SceneObject from "./scene_object.js";
|
|
3
|
+
import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js";
|
|
3
4
|
/**
|
|
4
5
|
* Shadow quality, lower values use lower resolution/faster settings,
|
|
5
6
|
* higher values use high resolution/slower but more aesthetic settings.
|
|
@@ -13,13 +14,57 @@ export declare const enum ShadowQuality {
|
|
|
13
14
|
* The options for the simple viewer scene.
|
|
14
15
|
*/
|
|
15
16
|
export interface SimpleViewerSceneOptions {
|
|
17
|
+
/**
|
|
18
|
+
* Are shadows enabled? (defualt true)
|
|
19
|
+
*/
|
|
16
20
|
shadows?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Is the directional light enabled? (default true)
|
|
23
|
+
*/
|
|
17
24
|
directionalLight?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Should we setup an orbit control? (default true)
|
|
27
|
+
*/
|
|
18
28
|
orbitControl?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Should we add an ambient light? (default true)
|
|
31
|
+
*
|
|
32
|
+
* Set to false if you load an environment map and don't want
|
|
33
|
+
* an extra ambient light, as the environment map itself acts as an
|
|
34
|
+
* ambient light.
|
|
35
|
+
*/
|
|
19
36
|
ambientLight?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Should we initialise the camera to the model? (default true)
|
|
39
|
+
*/
|
|
20
40
|
initialiseCameraToModel?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* The shadow quality to use. (default ShadowQuality.HIGH)
|
|
43
|
+
*/
|
|
21
44
|
shadowQuality?: ShadowQuality;
|
|
45
|
+
/**
|
|
46
|
+
* Should we use variant shadow mapping? (default false)
|
|
47
|
+
*/
|
|
22
48
|
variantShadowMap?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Should we enable HDR tone mapping? (default true)
|
|
51
|
+
*/
|
|
52
|
+
enableHDRToneMap?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Should we use the filmic tone mapping? (default true)
|
|
55
|
+
*
|
|
56
|
+
* Enables using ACES filmic tone tapping,
|
|
57
|
+
* otherwise neutral tonemapping will be used.
|
|
58
|
+
*/
|
|
59
|
+
filmicTonMap?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* The exposure for the tonemapping. (default 0.25)
|
|
62
|
+
*/
|
|
63
|
+
toneMapExposure?: number;
|
|
64
|
+
/**
|
|
65
|
+
* Is ambient occlusion enabled? (default true)
|
|
66
|
+
*/
|
|
67
|
+
ao?: boolean;
|
|
23
68
|
}
|
|
24
69
|
/**
|
|
25
70
|
* A default scene setup for three with a conway model that can be loaded.
|
|
@@ -28,7 +73,10 @@ export declare class SimpleViewerScene {
|
|
|
28
73
|
readonly renderer: THREE.WebGLRenderer;
|
|
29
74
|
readonly scene: THREE.Scene;
|
|
30
75
|
readonly camera: THREE.PerspectiveCamera | THREE.OrthographicCamera;
|
|
31
|
-
readonly dimensionsFunction: () => [
|
|
76
|
+
readonly dimensionsFunction: () => [
|
|
77
|
+
number,
|
|
78
|
+
number
|
|
79
|
+
];
|
|
32
80
|
private readonly options;
|
|
33
81
|
private currentModel_?;
|
|
34
82
|
private currentRadius_;
|
|
@@ -36,6 +84,42 @@ export declare class SimpleViewerScene {
|
|
|
36
84
|
readonly light: THREE.DirectionalLight;
|
|
37
85
|
readonly ambient: THREE.HemisphereLight;
|
|
38
86
|
private lightDir_;
|
|
87
|
+
private rgbeLoader_?;
|
|
88
|
+
private premGenerator_?;
|
|
89
|
+
private composer_?;
|
|
90
|
+
private ambientOclussion_;
|
|
91
|
+
onload?: (scene: SimpleViewerScene, object: SceneObject) => void;
|
|
92
|
+
/**
|
|
93
|
+
* Is ambient occlusion enabled?
|
|
94
|
+
*
|
|
95
|
+
* @return {boolean} True if ambient occlusion is enabled.
|
|
96
|
+
*/
|
|
97
|
+
get ambientOcclusion(): boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Set if ambient occlusion is enabled.
|
|
100
|
+
*
|
|
101
|
+
* @param value True if ambient occlusion is enabled.
|
|
102
|
+
*/
|
|
103
|
+
set ambientOcclusion(value: boolean);
|
|
104
|
+
/**
|
|
105
|
+
* Does this scene have an ambient light in it?
|
|
106
|
+
*
|
|
107
|
+
* @return {boolean} True if the scene has an ambient light.
|
|
108
|
+
*/
|
|
109
|
+
get hasAmbientLight(): boolean;
|
|
110
|
+
/**
|
|
111
|
+
* Set if this scene has an ambient light.
|
|
112
|
+
*
|
|
113
|
+
* @param value True if the scene has an ambient light.
|
|
114
|
+
*/
|
|
115
|
+
set hasAmbientLight(value: boolean);
|
|
116
|
+
/**
|
|
117
|
+
* Load an equirectangular environment map in HDR format.
|
|
118
|
+
*
|
|
119
|
+
* @param url The URL to the HDR file.
|
|
120
|
+
* @return {Promise< void >} A promise to await on for loading.
|
|
121
|
+
*/
|
|
122
|
+
loadEquirectangularEnvironmentMapHDR(url: string): Promise<void>;
|
|
39
123
|
/**
|
|
40
124
|
* Set the current light direction.
|
|
41
125
|
*
|
|
@@ -56,6 +140,7 @@ export declare class SimpleViewerScene {
|
|
|
56
140
|
* @param vsm
|
|
57
141
|
*/
|
|
58
142
|
private updateShadowQuality;
|
|
143
|
+
render(): void;
|
|
59
144
|
/**
|
|
60
145
|
* Are shadows enabled?
|
|
61
146
|
*
|
|
@@ -89,7 +174,18 @@ export declare class SimpleViewerScene {
|
|
|
89
174
|
* @param dimensionsFunction
|
|
90
175
|
* @param options
|
|
91
176
|
*/
|
|
92
|
-
constructor(renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.PerspectiveCamera | THREE.OrthographicCamera, dimensionsFunction: () => [
|
|
177
|
+
constructor(renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.PerspectiveCamera | THREE.OrthographicCamera, dimensionsFunction: () => [
|
|
178
|
+
number,
|
|
179
|
+
number
|
|
180
|
+
], options?: SimpleViewerSceneOptions);
|
|
181
|
+
/**
|
|
182
|
+
* Sets up ambient occlusion for the scene.
|
|
183
|
+
*
|
|
184
|
+
* @param width The width of the scene.
|
|
185
|
+
* @param height The height of the scene.
|
|
186
|
+
* @param pixelRatio The pixel ratio of the scene.
|
|
187
|
+
*/
|
|
188
|
+
private setupAO;
|
|
93
189
|
/**
|
|
94
190
|
* Load a new model, replacing any current model in the scene,
|
|
95
191
|
* uses promises/exceptions for error handling
|
|
@@ -110,4 +206,4 @@ export declare class SimpleViewerScene {
|
|
|
110
206
|
*/
|
|
111
207
|
static createSceneAttachedToElement(element: HTMLElement, useElementDimensions?: boolean, options?: SimpleViewerSceneOptions): SimpleViewerScene;
|
|
112
208
|
}
|
|
113
|
-
//# sourceMappingURL=simple_viewer_scene.d.ts.map
|
|
209
|
+
//# sourceMappingURL=simple_viewer_scene.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple_viewer_scene.d.ts","sourceRoot":"","sources":["../../../../src/rendering/threejs/simple_viewer_scene.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"simple_viewer_scene.d.ts","sourceRoot":"","sources":["../../../../src/rendering/threejs/simple_viewer_scene.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,14 @@ import * as THREE from "three";
|
|
|
2
2
|
import SceneObject from "./scene_object.js";
|
|
3
3
|
import { ConwayModelLoader } from "../../loaders/conway_model_loader.js";
|
|
4
4
|
import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js";
|
|
5
|
+
import { RGBELoader } from "three/examples/jsm/loaders/RGBELoader.js";
|
|
5
6
|
import Logger from "../../logging/logger.js";
|
|
7
|
+
import { EffectComposer } from "three/examples/jsm/postprocessing/EffectComposer.js";
|
|
8
|
+
import { RenderPass } from "three/examples/jsm/postprocessing/RenderPass.js";
|
|
9
|
+
import { GTAOPass } from "three/examples/jsm/postprocessing/GTAOPass.js";
|
|
10
|
+
import { OutputPass } from "three/examples/jsm/postprocessing/OutputPass.js";
|
|
11
|
+
import { ShaderPass } from "three/examples/jsm/postprocessing/ShaderPass.js";
|
|
12
|
+
import { FXAAShader } from "three/examples/jsm/shaders/FXAAShader.js";
|
|
6
13
|
// This file is obvious numbers heavy composing a scene - CS
|
|
7
14
|
/* eslint-disable no-magic-numbers */
|
|
8
15
|
const CAMERA_FOV = 75;
|
|
@@ -19,13 +26,77 @@ const defaultOptions = {
|
|
|
19
26
|
ambientLight: true,
|
|
20
27
|
initialiseCameraToModel: true,
|
|
21
28
|
shadowQuality: 2 /* ShadowQuality.HIGH */,
|
|
22
|
-
variantShadowMap: false
|
|
29
|
+
variantShadowMap: false,
|
|
30
|
+
enableHDRToneMap: true,
|
|
31
|
+
filmicTonMap: true,
|
|
32
|
+
ao: true,
|
|
33
|
+
toneMapExposure: 0.5
|
|
23
34
|
};
|
|
24
35
|
let modelID = 0;
|
|
25
36
|
/**
|
|
26
37
|
* A default scene setup for three with a conway model that can be loaded.
|
|
27
38
|
*/
|
|
28
39
|
export class SimpleViewerScene {
|
|
40
|
+
/**
|
|
41
|
+
* Is ambient occlusion enabled?
|
|
42
|
+
*
|
|
43
|
+
* @return {boolean} True if ambient occlusion is enabled.
|
|
44
|
+
*/
|
|
45
|
+
get ambientOcclusion() {
|
|
46
|
+
return this.ambientOclussion_;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Set if ambient occlusion is enabled.
|
|
50
|
+
*
|
|
51
|
+
* @param value True if ambient occlusion is enabled.
|
|
52
|
+
*/
|
|
53
|
+
set ambientOcclusion(value) {
|
|
54
|
+
this.ambientOclussion_ = value;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Does this scene have an ambient light in it?
|
|
58
|
+
*
|
|
59
|
+
* @return {boolean} True if the scene has an ambient light.
|
|
60
|
+
*/
|
|
61
|
+
get hasAmbientLight() {
|
|
62
|
+
return this.scene.children.includes(this.ambient);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Set if this scene has an ambient light.
|
|
66
|
+
*
|
|
67
|
+
* @param value True if the scene has an ambient light.
|
|
68
|
+
*/
|
|
69
|
+
set hasAmbientLight(value) {
|
|
70
|
+
if (value !== this.hasAmbientLight) {
|
|
71
|
+
if (value) {
|
|
72
|
+
this.scene.add(this.ambient);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
this.scene.remove(this.ambient);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Load an equirectangular environment map in HDR format.
|
|
81
|
+
*
|
|
82
|
+
* @param url The URL to the HDR file.
|
|
83
|
+
* @return {Promise< void >} A promise to await on for loading.
|
|
84
|
+
*/
|
|
85
|
+
async loadEquirectangularEnvironmentMapHDR(url) {
|
|
86
|
+
if (this.rgbeLoader_ === void 0) {
|
|
87
|
+
this.rgbeLoader_ = new RGBELoader();
|
|
88
|
+
}
|
|
89
|
+
const rgbeLoader = this.rgbeLoader_;
|
|
90
|
+
const texture = await rgbeLoader.loadAsync(url);
|
|
91
|
+
if (this.premGenerator_ === void 0) {
|
|
92
|
+
this.premGenerator_ = new THREE.PMREMGenerator(this.renderer);
|
|
93
|
+
}
|
|
94
|
+
texture.mapping = THREE.EquirectangularReflectionMapping;
|
|
95
|
+
this.scene.background = texture;
|
|
96
|
+
const premGenerator = this.premGenerator_;
|
|
97
|
+
const premTexture = premGenerator.fromEquirectangular(texture);
|
|
98
|
+
this.scene.environment = premTexture.texture;
|
|
99
|
+
}
|
|
29
100
|
/**
|
|
30
101
|
* Set the current light direction.
|
|
31
102
|
*
|
|
@@ -81,6 +152,37 @@ export class SimpleViewerScene {
|
|
|
81
152
|
light.shadow.updateMatrices(light);
|
|
82
153
|
light.shadow.needsUpdate = true;
|
|
83
154
|
}
|
|
155
|
+
render() {
|
|
156
|
+
const [width, height] = this.dimensionsFunction();
|
|
157
|
+
const camera = this.camera;
|
|
158
|
+
if (camera instanceof THREE.PerspectiveCamera) {
|
|
159
|
+
camera.aspect = width / height;
|
|
160
|
+
}
|
|
161
|
+
camera.updateProjectionMatrix();
|
|
162
|
+
const renderer = this.renderer;
|
|
163
|
+
const scene = this.scene;
|
|
164
|
+
renderer.setSize(width, height);
|
|
165
|
+
if (this.ambientOclussion_) {
|
|
166
|
+
if (!this.composer_) {
|
|
167
|
+
this.setupAO(width, height, renderer.getPixelRatio());
|
|
168
|
+
}
|
|
169
|
+
const composer = this.composer_;
|
|
170
|
+
composer.setSize(width, height);
|
|
171
|
+
composer.passes.forEach((pass) => {
|
|
172
|
+
pass.setSize(width, height);
|
|
173
|
+
if (pass instanceof ShaderPass) {
|
|
174
|
+
const pixelRatio = renderer.getPixelRatio();
|
|
175
|
+
const resolution = pass.material.uniforms["resolution"].value;
|
|
176
|
+
resolution.x = 1 / (width * pixelRatio);
|
|
177
|
+
resolution.y = 1 / (height * pixelRatio);
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
composer.render();
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
renderer.render(scene, camera);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
84
186
|
/**
|
|
85
187
|
* Are shadows enabled?
|
|
86
188
|
*
|
|
@@ -151,6 +253,7 @@ export class SimpleViewerScene {
|
|
|
151
253
|
// Slightly blue cast ambient sky light
|
|
152
254
|
this.ambient = new THREE.HemisphereLight(11184813, 1118481, 0.5 * Math.PI);
|
|
153
255
|
this.lightDir_ = new THREE.Vector3(1, 1, 1);
|
|
256
|
+
this.ambientOclussion_ = options.ao ?? !!defaultOptions.ao;
|
|
154
257
|
if (options.ambientLight ?? defaultOptions.ambientLight) {
|
|
155
258
|
scene.add(this.ambient);
|
|
156
259
|
}
|
|
@@ -167,6 +270,41 @@ export class SimpleViewerScene {
|
|
|
167
270
|
this.updateShadowQuality(light, shadowQuality, options.variantShadowMap ?? defaultOptions.variantShadowMap);
|
|
168
271
|
}
|
|
169
272
|
}
|
|
273
|
+
if (options.enableHDRToneMap ?? !!defaultOptions.enableHDRToneMap) {
|
|
274
|
+
renderer.toneMapping =
|
|
275
|
+
options.filmicTonMap ?? !!defaultOptions.filmicTonMap ?
|
|
276
|
+
THREE.ACESFilmicToneMapping :
|
|
277
|
+
THREE.NeutralToneMapping;
|
|
278
|
+
renderer.toneMappingExposure =
|
|
279
|
+
options.toneMapExposure ?? defaultOptions.toneMapExposure;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Sets up ambient occlusion for the scene.
|
|
284
|
+
*
|
|
285
|
+
* @param width The width of the scene.
|
|
286
|
+
* @param height The height of the scene.
|
|
287
|
+
* @param pixelRatio The pixel ratio of the scene.
|
|
288
|
+
*/
|
|
289
|
+
setupAO(width, height, pixelRatio) {
|
|
290
|
+
const renderer = this.renderer;
|
|
291
|
+
const composer = new EffectComposer(renderer);
|
|
292
|
+
composer.setSize(width, height);
|
|
293
|
+
composer.setPixelRatio(pixelRatio);
|
|
294
|
+
this.composer_ = composer;
|
|
295
|
+
const renderPass = new RenderPass(this.scene, this.camera);
|
|
296
|
+
renderPass.setSize(width, height);
|
|
297
|
+
composer.addPass(renderPass);
|
|
298
|
+
const gtaoPass = new GTAOPass(this.scene, this.camera);
|
|
299
|
+
gtaoPass.setSize(width, height);
|
|
300
|
+
gtaoPass.blendIntensity = 0.5;
|
|
301
|
+
composer.addPass(gtaoPass);
|
|
302
|
+
const outputPass = new OutputPass();
|
|
303
|
+
outputPass.setSize(width, height);
|
|
304
|
+
composer.addPass(outputPass);
|
|
305
|
+
const fxaaPass = new ShaderPass(FXAAShader);
|
|
306
|
+
fxaaPass.setSize(width, height);
|
|
307
|
+
composer.addPass(fxaaPass);
|
|
170
308
|
}
|
|
171
309
|
/**
|
|
172
310
|
* Load a new model, replacing any current model in the scene,
|
|
@@ -232,6 +370,9 @@ export class SimpleViewerScene {
|
|
|
232
370
|
if (this.options.orbitControl ?? defaultOptions.orbitControl) {
|
|
233
371
|
this.orbitControls.update();
|
|
234
372
|
}
|
|
373
|
+
if (this.onload !== void 0) {
|
|
374
|
+
this.onload(this, conwaySceneObject);
|
|
375
|
+
}
|
|
235
376
|
}
|
|
236
377
|
catch (e) {
|
|
237
378
|
Logger.error(`Error thrown loading dropped file: ${e?.message ?? "<unknown>"} `);
|
|
@@ -257,11 +398,18 @@ export class SimpleViewerScene {
|
|
|
257
398
|
return [window.innerWidth, window.innerHeight];
|
|
258
399
|
};
|
|
259
400
|
const [startingWidth, startingHeight] = dimensionsFunction();
|
|
260
|
-
const renderer = new THREE.WebGLRenderer({ antialias: true });
|
|
401
|
+
const renderer = new THREE.WebGLRenderer({ antialias: true, logarithmicDepthBuffer: true });
|
|
261
402
|
const scene = new THREE.Scene();
|
|
262
403
|
const camera = new THREE.PerspectiveCamera(CAMERA_FOV, startingWidth / startingHeight, DEFAULT_NEAR, DEFAULT_FAR);
|
|
263
404
|
renderer.sortObjects = true;
|
|
264
|
-
|
|
405
|
+
let pixelRatio = window.devicePixelRatio;
|
|
406
|
+
let worstCaseTextureSize = Math.max(window.innerWidth, window.innerHeight) * pixelRatio;
|
|
407
|
+
while (worstCaseTextureSize > renderer.capabilities.maxTextureSize && pixelRatio > 1) {
|
|
408
|
+
pixelRatio /= 2;
|
|
409
|
+
pixelRatio = Math.min(pixelRatio, 1);
|
|
410
|
+
worstCaseTextureSize = Math.max(window.innerWidth, window.innerHeight) * pixelRatio;
|
|
411
|
+
}
|
|
412
|
+
renderer.setPixelRatio(pixelRatio);
|
|
265
413
|
renderer.setSize(startingWidth, startingHeight);
|
|
266
414
|
element.appendChild(renderer.domElement);
|
|
267
415
|
renderer.setClearColor(THREE.Color.NAMES.cornflowerblue);
|
|
@@ -277,13 +425,10 @@ export class SimpleViewerScene {
|
|
|
277
425
|
renderer.setSize(window.innerWidth, window.innerHeight);
|
|
278
426
|
});
|
|
279
427
|
}
|
|
428
|
+
const result = new SimpleViewerScene(renderer, scene, camera, dimensionsFunction, options);
|
|
280
429
|
renderer.setAnimationLoop(() => {
|
|
281
|
-
|
|
282
|
-
camera.aspect = width / height;
|
|
283
|
-
camera.updateProjectionMatrix();
|
|
284
|
-
renderer.setSize(width, height);
|
|
285
|
-
renderer.render(scene, camera);
|
|
430
|
+
result.render();
|
|
286
431
|
});
|
|
287
|
-
return
|
|
432
|
+
return result;
|
|
288
433
|
}
|
|
289
434
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const versionString = 'Conway Web-Ifc Shim v0.
|
|
1
|
+
const versionString = 'Conway Web-Ifc Shim v0.18.886';
|
|
2
2
|
export { versionString };
|