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