diff --git a/src/assets/SpeckleViewer2.vue b/src/assets/SpeckleViewer2.vue
new file mode 100644
index 0000000..5e5d0ae
--- /dev/null
+++ b/src/assets/SpeckleViewer2.vue
@@ -0,0 +1,110 @@
+
+
+
+
+
Control Panel
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/ControlPanel.vue b/src/components/ControlPanel.vue
index cbf2555..a8d42b5 100644
--- a/src/components/ControlPanel.vue
+++ b/src/components/ControlPanel.vue
@@ -15,7 +15,12 @@
Control Panel
+
+
+
+
+
@@ -23,15 +28,17 @@
diff --git a/src/composables/viewer/actions.ts b/src/composables/viewer/actions.ts
index 50ff07a..23f10de 100644
--- a/src/composables/viewer/actions.ts
+++ b/src/composables/viewer/actions.ts
@@ -1,16 +1,16 @@
import useViewer from '@/composables/viewer/viewer'
import { Catalogue, type CatalogueOptions } from '@/extensions/Catalogue'
import { FilteringExtension } from '@speckle/viewer'
+import { viewer } from '@/composables/viewer/viewer'
export default function useViewerActions() {
- const { viewer } = useViewer()
-
/**
* Get the properties of the objects in the viewer
* The exact properties returned depends on the objects in the viewer
* @returns - List of properties in the viewer
*/
const getObjectProperties = async () => {
+ console.log(viewer)
if (!viewer) return
return await viewer.getObjectProperties()
}
diff --git a/src/composables/viewer/viewer.ts b/src/composables/viewer/viewer.ts
index d9ce943..bc9ef1a 100644
--- a/src/composables/viewer/viewer.ts
+++ b/src/composables/viewer/viewer.ts
@@ -5,11 +5,12 @@ import {
FilteringExtension,
SpeckleLoader,
UrlHelper,
- Viewer
+ Viewer,
+ ViewerEvent
} from '@speckle/viewer'
import { Catalogue } from '@/extensions/Catalogue'
-let viewer: Viewer | undefined = undefined
+export let viewer: Viewer | undefined = undefined
export default function useViewer() {
/**
@@ -25,6 +26,14 @@ export default function useViewer() {
viewer = new Viewer(element, params)
await viewer.init()
+
+ viewer.on(ViewerEvent.LoadComplete, async() => {
+ const properties = await viewer.getObjectProperties()
+ console.log('properties', properties)
+
+ // material.value = properties.find(property => property.key === 'renderMaterial.name')
+ // console.log('material', material.value)
+ })
}
/**
@@ -56,7 +65,6 @@ export default function useViewer() {
return {
init,
- viewer,
loadModelFromUrl,
addExtensions
}