bx-1379-redesign #15
|
@ -10,6 +10,7 @@ import {
|
|||
MultiplyBlending,
|
||||
AdditiveBlending,
|
||||
} from 'three';
|
||||
import { useRoute, useRouter } from 'vue-router';
|
||||
|
||||
import { useTresContext, useSeek, useTexture, useLoop } from '@tresjs/core';
|
||||
import { useGLTF } from '@tresjs/cientos'
|
||||
|
@ -55,9 +56,8 @@ const groundTexture = await useTexture({
|
|||
const pointerTexture = await useTexture({
|
||||
map: '/pointer_texture.png'
|
||||
})
|
||||
|
||||
const loadModels = async () => {
|
||||
const res = await fetch(`${SERVER_URL}/api/obj/scene/${props.source}`)
|
||||
const res = await fetch(`${SERVER_URL}/api/obj/scene/${props.source}/`)
|
||||
const raw_data = await res.json() as scene3D
|
||||
loading_store.status = 'other'
|
||||
|
||||
|
@ -233,7 +233,7 @@ const loadModels = async () => {
|
|||
});
|
||||
const box_size = new Vector3();
|
||||
box.getSize(box_size)
|
||||
console.log(box_size)
|
||||
// console.log(box_size)
|
||||
props.loaded_pan(
|
||||
new Vector3(box_size.x * 0.5, box_size.y * 0.5, box_size.z * 0.5),
|
||||
new Vector3(box_size.x * -0.25, box_size.y * -0.25, box_size.z * -0.25),
|
||||
|
@ -265,19 +265,20 @@ const gotoCenterAndDistance = () => {
|
|||
});
|
||||
}
|
||||
|
||||
watch(() => props.source, () => {
|
||||
if (props.source) {
|
||||
watch(() => props.source, (s) => {
|
||||
const loaded = seekByName(scene.value, 'loaded')
|
||||
if (loaded) {
|
||||
loaded.children = []
|
||||
}
|
||||
models.value = []
|
||||
clickable_items.value = []
|
||||
clickable_refs.value = []
|
||||
sidebar.close()
|
||||
try {
|
||||
loadModels()
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
watch(() => sidebar, () => {
|
||||
|
|
|
@ -48,16 +48,16 @@ const set_model_load_status = (status: boolean) => {
|
|||
|
||||
const route = useRoute()
|
||||
|
||||
const source = ref(route.params.target ? (route.params.target.toString() + '/') : '1/')
|
||||
const source = ref(route.params.target)
|
||||
watch(() => route.params.target, () => {
|
||||
let t = '1/'
|
||||
if (route.params.target) t = route.params.target.toString() + '/'
|
||||
let t = '1'
|
||||
if (route.params.target) t = route.params.target
|
||||
if (source.value !== t) {
|
||||
source.value = t
|
||||
models_loading.value = true
|
||||
sidebar.close()
|
||||
}
|
||||
}, { deep: true })
|
||||
},)
|
||||
|
||||
const sidebarFunc = () => {
|
||||
if (sidebar.is_open) {
|
||||
|
|
|
@ -29,12 +29,14 @@ console.log(router)
|
|||
</div>
|
||||
<div class="nav-group">
|
||||
<span class="nav-icon" :class="[{ disabled: router.options.history.state.back == null }]">
|
||||
<RouterLink :to="(router.options.history.state.back as string) ?? '/'">
|
||||
<RouterLink :to="(router.options.history.state.back as string) ?? '/'"
|
||||
@click.native.prevent="router.back()">
|
||||
<i-mdi:arrow-left />
|
||||
</RouterLink>
|
||||
</span>
|
||||
<span class="nav-icon" :class="[{ disabled: router.options.history.state.forward == null }]">
|
||||
<RouterLink :to="(router.options.history.state.forward as string) ?? '/'">
|
||||
<RouterLink :to="(router.options.history.state.forward as string) ?? '/'"
|
||||
@click.native.prevent="router.forward()">
|
||||
<i-mdi:arrow-right />
|
||||
</RouterLink>
|
||||
</span>
|
||||
|
|
|
@ -19,11 +19,6 @@ const router = createRouter({
|
|||
routes,
|
||||
})
|
||||
|
||||
router.beforeEach((to, from) => {
|
||||
console.log(from, to)
|
||||
return true
|
||||
})
|
||||
|
||||
const pinia = createPinia()
|
||||
const app = createApp(App)
|
||||
|
||||
|
|
Loading…
Reference in New Issue