bx-865-apps #1
|
@ -1090,21 +1090,21 @@
|
|||
"detail": "back.object.serializers",
|
||||
"documentation": {}
|
||||
},
|
||||
{
|
||||
"label": "ClickableAreaViewSet",
|
||||
"kind": 6,
|
||||
"importPath": "back.object.views",
|
||||
"description": "back.object.views",
|
||||
"peekOfCode": "class ClickableAreaViewSet(viewsets.ModelViewSet):\n queryset = ClickableArea.objects.all()\n serializer_class = ClickableAreaSerializer\n filterset_fields = ('target', )\nclass NumberInFilter(django_filters.BaseInFilter, django_filters.NumberFilter):\n pass\nclass Element3DFilter(django_filters.rest_framework.FilterSet):\n parent = NumberInFilter(\n field_name=\"parent\",\n lookup_expr=\"in\",",
|
||||
"detail": "back.object.views",
|
||||
"documentation": {}
|
||||
},
|
||||
{
|
||||
"label": "NumberInFilter",
|
||||
"kind": 6,
|
||||
"importPath": "back.object.views",
|
||||
"description": "back.object.views",
|
||||
"peekOfCode": "class NumberInFilter(django_filters.BaseInFilter, django_filters.NumberFilter):\n pass\nclass Element3DFilter(django_filters.rest_framework.FilterSet):\n parent = NumberInFilter(\n field_name=\"parent\",\n lookup_expr=\"in\",\n )\n parent__isnull = django_filters.BooleanFilter(\n field_name=\"parent\",\n lookup_expr=\"isnull\",",
|
||||
"peekOfCode": "class NumberInFilter(django_filters.BaseInFilter, django_filters.NumberFilter):\n pass\nclass ClickableAreaViewSet(viewsets.ModelViewSet):\n queryset = ClickableArea.objects.all()\n serializer_class = ClickableAreaSerializer\n filterset_fields = (\"target\",)\nclass Element3DFilter(django_filters.rest_framework.FilterSet):\n parent = NumberInFilter(\n field_name=\"parent\",\n lookup_expr=\"in\",",
|
||||
"detail": "back.object.views",
|
||||
"documentation": {}
|
||||
},
|
||||
{
|
||||
"label": "ClickableAreaViewSet",
|
||||
"kind": 6,
|
||||
"importPath": "back.object.views",
|
||||
"description": "back.object.views",
|
||||
"peekOfCode": "class ClickableAreaViewSet(viewsets.ModelViewSet):\n queryset = ClickableArea.objects.all()\n serializer_class = ClickableAreaSerializer\n filterset_fields = (\"target\",)\nclass Element3DFilter(django_filters.rest_framework.FilterSet):\n parent = NumberInFilter(\n field_name=\"parent\",\n lookup_expr=\"in\",\n )\n parent__isnull = django_filters.BooleanFilter(",
|
||||
"detail": "back.object.views",
|
||||
"documentation": {}
|
||||
},
|
||||
|
|
|
@ -5,13 +5,14 @@ from .models import ClickableArea, Element3D
|
|||
from .serializers import ClickableAreaSerializer, Element3DSerializer
|
||||
|
||||
|
||||
class NumberInFilter(django_filters.BaseInFilter, django_filters.NumberFilter):
|
||||
pass
|
||||
|
||||
|
||||
class ClickableAreaViewSet(viewsets.ModelViewSet):
|
||||
queryset = ClickableArea.objects.all()
|
||||
serializer_class = ClickableAreaSerializer
|
||||
filterset_fields = ('target', )
|
||||
|
||||
class NumberInFilter(django_filters.BaseInFilter, django_filters.NumberFilter):
|
||||
pass
|
||||
filterset_fields = ("target",)
|
||||
|
||||
|
||||
class Element3DFilter(django_filters.rest_framework.FilterSet):
|
||||
|
|
|
@ -41,7 +41,9 @@ interface element3DType {
|
|||
model_file: string
|
||||
name: string
|
||||
description: string
|
||||
parent?: number
|
||||
parent?: number,
|
||||
min_distance?: number,
|
||||
max_distance?: number,
|
||||
}
|
||||
interface model3DType {
|
||||
modelUrl?: string,
|
||||
|
@ -51,6 +53,10 @@ const models = ref<model3DType[]>([])
|
|||
const loadModels = async () => {
|
||||
const res = await fetch(`${SERVER_URL}/api/obj/element/?parent__isnull=True`)
|
||||
const data = await res.json() as element3DType[]
|
||||
const distance = {
|
||||
min: controlsState.minDistance,
|
||||
max: controlsState.maxDistance,
|
||||
}
|
||||
for (let index = 0; index < data.length; index++) {
|
||||
const element = data[index];
|
||||
const item = {} as model3DType
|
||||
|
@ -60,7 +66,12 @@ const loadModels = async () => {
|
|||
item.modelFile = loaded_scene
|
||||
|
||||
models.value.push(item)
|
||||
|
||||
if (element.min_distance && element.min_distance > distance.min) distance.min = element.min_distance
|
||||
if (element.max_distance && element.max_distance > distance.max) distance.max = element.max_distance
|
||||
}
|
||||
controlsState.maxDistance = distance.max
|
||||
controlsState.minDistance = distance.min
|
||||
}
|
||||
onMounted(() => {
|
||||
loadModels()
|
||||
|
|
Loading…
Reference in New Issue