diff --git a/index.html b/index.html index a8792df..2a9e6a4 100644 --- a/index.html +++ b/index.html @@ -9,7 +9,9 @@ { "imports": { "three": "./vendor/three/build/three.module.js", - "openbim-components": "./vendor/openbim-components/src/index.js" + "@thatopen/fragments": "./vendor/@thatopen/fragments/dist/index.mjs", + "web-ifc": "./vendor/web-ifc/web-ifc-api.js", + "openbim-components": "./vendor/@thatopen/components/dist/index.mjs" } } diff --git a/main.js b/main.js index 190b8c4..3e9e431 100644 --- a/main.js +++ b/main.js @@ -5,14 +5,24 @@ document.addEventListener('DOMContentLoaded', () => { const container = document.querySelector('#scene'); const components = new OBC.Components(); - components.scene = new OBC.SimpleScene(components); - components.renderer = new OBC.SimpleRenderer(components, container); - components.camera = new OBC.SimpleCamera(components); - components.raycaster = new OBC.SimpleRaycaster(components); + const worlds = components.get(OBC.Worlds); + + const world = worlds.create(); + + world.scene = new OBC.SimpleScene(components); + world.renderer = new OBC.SimpleRenderer(components, container); + world.camera = new OBC.SimpleCamera(components); // Stars the app and updates components at 60 fps components.init(); + + // Creates a cube with three.js + const material = new THREE.MeshLambertMaterial({ color: "#6528D7" }); + const geometry = new THREE.BoxGeometry(); + const cube = new THREE.Mesh(geometry, material); + world.scene.three.add(cube); - // Get a reference to the 3D scene - const scene = components.scene.get(); + world.scene.setup(); + + world.camera.controls.setLookAt(3, 3, 3, 0, 0, 0); }); \ No newline at end of file diff --git a/package.json b/package.json index 4223628..830d562 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "dependencies": { - "bim-fragment": "^1.5.0", + "@thatopen/components": "^2.0.1", + "@thatopen/fragments": "^2.0.0", "lit": "^3.1.3", - "openbim-components": "^1.5.1", "three": "^0.164.1", "web-ifc": "^0.0.54" } diff --git a/yarn.lock b/yarn.lock index e0da06a..8522075 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14,49 +14,36 @@ dependencies: "@lit-labs/ssr-dom-shim" "^1.2.0" -"@popperjs/core@2.11.8": - version "2.11.8" - resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" - integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== +"@thatopen/components@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@thatopen/components/-/components-2.0.1.tgz#b172057612263ee819ec546071b6d4b153685377" + integrity sha512-Nz+vRM24HucIQ3Sl1gD1r3nsNIg9JG19p0bAC6Gz/lhYEg8tjLXRFrKRIu7agiNpJlRGw0jfSm1xBxmmzmFfOw== + dependencies: + camera-controls "2.7.3" + three-mesh-bvh "0.7.0" + +"@thatopen/fragments@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@thatopen/fragments/-/fragments-2.0.0.tgz#1a4cc0b17aa22a1ddcb9230da2abae90d02d8760" + integrity sha512-rQgkLrG9V2v0o9ANbImM+wb+1sfQEuXpsklCqSBIYqbJnpzjLibIQCsp4YdIQ0Lc9NRZOruzpzAjURz9cR7bwg== + dependencies: + flatbuffers "23.3.3" + three-mesh-bvh "0.7.0" "@types/trusted-types@^2.0.2": version "2.0.7" resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.7.tgz#baccb07a970b91707df3a3e8ba6896c57ead2d11" integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw== -bim-fragment@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bim-fragment/-/bim-fragment-1.5.0.tgz#643d7d6362a23613a573f66f4e170f97d4931fb1" - integrity sha512-gDFC97UFCVp9+zADgeqiXm8mfhVtKjBpiLo/TWNalfpoIbNJVbUMIWlCHC+V33XkSDMqANgXU2pGspZAzLMw2w== - dependencies: - flatbuffers "^23.3.3" - three-mesh-bvh "0.7.0" - unzipit "1.4.3" - camera-controls@2.7.3: version "2.7.3" resolved "https://registry.yarnpkg.com/camera-controls/-/camera-controls-2.7.3.tgz#99e0449f68d203bf5f98f6c4ac0021c10b5c13a8" integrity sha512-L4mxjBd3u8qiOLozdWrH2P8ZybSsDXBF7iyNyqNEFJhPUkovmuARWR8JTc1B/qlclOIg6FvZZA/0uAZMMim0mw== -dexie@^3.2.3: - version "3.2.7" - resolved "https://registry.yarnpkg.com/dexie/-/dexie-3.2.7.tgz#1346541c9c81e3bc6055a042a928837890595e3a" - integrity sha512-2a+BXvVhY5op+smDRLxeBAivE7YcYaneXJ1la3HOkUfX9zKkE/AJ8CNgjiXbtXepFyFmJNGSbmjOwqbT749r/w== - -dxf-writer@^1.18.4: - version "1.18.4" - resolved "https://registry.yarnpkg.com/dxf-writer/-/dxf-writer-1.18.4.tgz#7e064b5550f6dfa8a6e95e7a7489b32c49d31c75" - integrity sha512-JdLOyP+1UyeB30yPowJLJKK0bPROq/dX+QTWcLSplQoepcyo/YMlU0Z27T7mIPxgwiPb+CQWwUIlbcRRfns+ng== - -earcut@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/earcut/-/earcut-2.2.4.tgz#6d02fd4d68160c114825d06890a92ecaae60343a" - integrity sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ== - -flatbuffers@^23.3.3: - version "23.5.26" - resolved "https://registry.yarnpkg.com/flatbuffers/-/flatbuffers-23.5.26.tgz#01358e272a61239f0faf3bfbe4e014f3ace9d746" - integrity sha512-vE+SI9vrJDwi1oETtTIFldC/o9GsVKRM+s6EL0nQgxXlYV1Vc4Tk30hj4xGICftInKQKj1F3up2n8UbIVobISQ== +flatbuffers@23.3.3: + version "23.3.3" + resolved "https://registry.yarnpkg.com/flatbuffers/-/flatbuffers-23.3.3.tgz#23654ba7a98d4b866a977ae668fe4f8969f34a66" + integrity sha512-jmreOaAT1t55keaf+Z259Tvh8tR/Srry9K8dgCgvizhKSEr6gLGgaOJI2WFL5fkOpGOGRZwxUrlFn0GCmXUy6g== lit-element@^4.0.4: version "4.0.5" @@ -83,79 +70,16 @@ lit@^3.1.3: lit-element "^4.0.4" lit-html "^3.1.2" -n8ao@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/n8ao/-/n8ao-1.5.1.tgz#e48960352e9c358955d7da072a341bbc64961bb5" - integrity sha512-Dn5o6ecmLC1xZm2mby2qdGYgwKcNsC9oKv85TQBKFbDJVzUHGXV2oys14rDl6nhwjH+zZU3YcLJkMcY7qe+jTg== - -openbim-clay@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/openbim-clay/-/openbim-clay-0.0.5.tgz#3f239acadabd44ad6cdbc0fc85adcb967beb7011" - integrity sha512-oI/v8vwvZp+J2cRFl0T43lxlwSFndNqWEO2cSUgl4NjbirzoiVO0sqJuzGnS8R5cdG3l08IztE98Ymi9H1fTXg== - dependencies: - earcut "^2.2.4" - three "0.152.2" - -openbim-components@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/openbim-components/-/openbim-components-1.5.1.tgz#628f1c7062ea3b0b65c550fde71b30aad19cacf9" - integrity sha512-Qg6PVeHPhvL+xEEHWwzYApAlcUGNEe2Fb+2GoD5/JWMeWKmbn99VIsTP+mGnxmhwFS+Lvg8Vbxn6zDaEt0VPQg== - dependencies: - "@popperjs/core" "2.11.8" - camera-controls "2.7.3" - dexie "^3.2.3" - dxf-writer "^1.18.4" - earcut "^2.2.4" - n8ao "1.5.1" - openbim-clay "0.0.5" - postprocessing "6.34.2" - stats.js "^0.17.0" - three-mesh-bvh "0.7.0" - top-tool-package-reader "0.0.3" - unzipit "^1.4.3" - -postprocessing@6.34.2: - version "6.34.2" - resolved "https://registry.yarnpkg.com/postprocessing/-/postprocessing-6.34.2.tgz#49258c2e9549828f1351bf0084623cbc92007f81" - integrity sha512-EQWCbeRdlfIO4WMkQCYW0rfFYaSvrU9hKxZKyhtuY0RrTM2eTNVpSyj7cUKEYG7pD1qjh8Nkj1qhxj1GdIBuXw== - -stats.js@^0.17.0: - version "0.17.0" - resolved "https://registry.yarnpkg.com/stats.js/-/stats.js-0.17.0.tgz#b1c3dc46d94498b578b7fd3985b81ace7131cc7d" - integrity sha512-hNKz8phvYLPEcRkeG1rsGmV5ChMjKDAWU7/OJJdDErPBNChQXxCo3WZurGpnWc6gZhAzEPFad1aVgyOANH1sMw== - three-mesh-bvh@0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/three-mesh-bvh/-/three-mesh-bvh-0.7.0.tgz#8327c3483060bb7fe3e0151d7863d338095527d4" integrity sha512-Hj0Z1Rp02yy5H+/xtMBu/dYAeRsSONaBaVLZoST9sMpZxycHypRiUeMHucPOLWFHnpc5hwelOnONcLpkfhDg0Q== -three@0.152.2: - version "0.152.2" - resolved "https://registry.yarnpkg.com/three/-/three-0.152.2.tgz#2ee0f2c504d31a4bc29b45495c12bded9fda7bfc" - integrity sha512-Ff9zIpSfkkqcBcpdiFo2f35vA9ZucO+N8TNacJOqaEE6DrB0eufItVMib8bK8Pcju/ZNT6a7blE1GhTpkdsILw== - three@^0.164.1: version "0.164.1" resolved "https://registry.yarnpkg.com/three/-/three-0.164.1.tgz#b742f76bd8dfd3736ba0d86a12dfddb73c5cdcc0" integrity sha512-iC/hUBbl1vzFny7f5GtqzVXYjMJKaTPxiCxXfrvVdBi1Sf+jhd1CAkitiFwC7mIBFCo3MrDLJG97yisoaWig0w== -top-tool-package-reader@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/top-tool-package-reader/-/top-tool-package-reader-0.0.3.tgz#e1daa765bae65e4833328f2c25487cd1c4b03fa6" - integrity sha512-nEFZyW3qJGtMAFHjOsQnW4/NEUWVWfz0dFKPXSkOutDSefMX2PwAjjfexYr/gzY82W8qYMBmeel/wMRC7sV6AQ== - -unzipit@1.4.3, unzipit@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/unzipit/-/unzipit-1.4.3.tgz#738298a6b235892bf7ce7db82cff813d4ca664ac" - integrity sha512-gsq2PdJIWWGhx5kcdWStvNWit9FVdTewm4SEG7gFskWs+XCVaULt9+BwuoBtJiRE8eo3L1IPAOrbByNLtLtIlg== - dependencies: - uzip-module "^1.0.2" - -uzip-module@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/uzip-module/-/uzip-module-1.0.3.tgz#6bbabe2a3efea5d5a4a47479f523a571de3427ce" - integrity sha512-AMqwWZaknLM77G+VPYNZLEruMGWGzyigPK3/Whg99B3S6vGHuqsyl5ZrOv1UUF3paGK1U6PM0cnayioaryg/fA== - web-ifc@^0.0.54: version "0.0.54" resolved "https://registry.yarnpkg.com/web-ifc/-/web-ifc-0.0.54.tgz#5df71339b951e3c14cfc90d144eb72014fa94e53"