@geode/opengeodeweb-front 10.28.1-rc.4 → 10.29.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/components/Viewer/ContextMenu/InfoCard.vue +56 -21
- package/app/components/Viewer/EdgedCurve/SpecificEdgesOptions.vue +21 -0
- package/app/components/Viewer/Generic/Mesh/CellsOptions.vue +21 -0
- package/app/components/Viewer/Generic/Mesh/EdgesOptions.vue +80 -0
- package/app/components/Viewer/Generic/Mesh/PointsOptions.vue +10 -0
- package/app/components/Viewer/Generic/Mesh/PolygonsOptions.vue +81 -0
- package/app/components/Viewer/Generic/Mesh/PolyhedraOptions.vue +20 -0
- package/app/components/Viewer/Generic/Model/BlocksOptions.vue +36 -0
- package/app/components/Viewer/Generic/Model/CornersOptions.vue +18 -0
- package/app/components/Viewer/Generic/Model/LinesOptions.vue +36 -0
- package/app/components/Viewer/Generic/Model/SurfacesOptions.vue +36 -0
- package/app/components/Viewer/Options/AttributeSelector.vue +47 -38
- package/app/components/Viewer/Options/ColoringTypeSelector.vue +26 -22
- package/app/components/Viewer/PointSet/SpecificPointsOptions.vue +10 -0
- package/app/components/Viewer/Solid/SpecificPolyhedraOptions.vue +20 -0
- package/app/components/Viewer/Surface/PolygonsOptions.vue +20 -0
- package/internal/stores/data_style/mesh/cells/cell.js +94 -60
- package/internal/stores/data_style/mesh/cells/index.js +21 -22
- package/internal/stores/data_style/mesh/cells/vertex.js +83 -64
- package/internal/stores/data_style/mesh/edges/edge.js +83 -67
- package/internal/stores/data_style/mesh/edges/index.js +22 -19
- package/internal/stores/data_style/mesh/edges/vertex.js +87 -65
- package/internal/stores/data_style/mesh/points/index.js +9 -9
- package/internal/stores/data_style/mesh/points/vertex.js +96 -99
- package/internal/stores/data_style/mesh/polygons/index.js +26 -16
- package/internal/stores/data_style/mesh/polygons/polygon.js +88 -66
- package/internal/stores/data_style/mesh/polygons/vertex.js +88 -66
- package/internal/stores/data_style/mesh/polyhedra/index.js +33 -22
- package/internal/stores/data_style/mesh/polyhedra/polyhedron.js +101 -103
- package/internal/stores/data_style/mesh/polyhedra/vertex.js +101 -103
- package/internal/stores/data_style/model/blocks/color.js +27 -28
- package/internal/stores/data_style/model/blocks/index.js +140 -72
- package/internal/stores/data_style/model/blocks/polyhedron.js +114 -58
- package/internal/stores/data_style/model/blocks/vertex.js +107 -57
- package/internal/stores/data_style/model/common.js +6 -6
- package/internal/stores/data_style/model/corners/color.js +12 -16
- package/internal/stores/data_style/model/corners/index.js +95 -63
- package/internal/stores/data_style/model/corners/vertex.js +108 -58
- package/internal/stores/data_style/model/lines/color.js +18 -23
- package/internal/stores/data_style/model/lines/edge.js +106 -54
- package/internal/stores/data_style/model/lines/index.js +132 -71
- package/internal/stores/data_style/model/lines/vertex.js +107 -54
- package/internal/stores/data_style/model/surfaces/color.js +24 -32
- package/internal/stores/data_style/model/surfaces/index.js +142 -74
- package/internal/stores/data_style/model/surfaces/polygon.js +114 -58
- package/internal/stores/data_style/model/surfaces/vertex.js +114 -58
- package/internal/stores/data_style/state.js +105 -94
- package/package.json +1 -1
- package/tests/integration/stores/data_style/mesh/cells.nuxt.test.js +200 -24
- package/tests/integration/stores/data_style/mesh/edges.nuxt.test.js +132 -34
- package/tests/integration/stores/data_style/mesh/points.nuxt.test.js +60 -11
- package/tests/integration/stores/data_style/mesh/polygons.nuxt.test.js +116 -22
- package/tests/integration/stores/data_style/mesh/polyhedra.nuxt.test.js +145 -34
- package/tests/integration/stores/data_style/model/blocks.nuxt.test.js +206 -33
- package/tests/integration/stores/data_style/model/corners.nuxt.test.js +94 -15
- package/tests/integration/stores/data_style/model/lines.nuxt.test.js +187 -30
- package/tests/integration/stores/data_style/model/surfaces.nuxt.test.js +379 -31
|
@@ -23,28 +23,24 @@ const menuStore = useMenuStore();
|
|
|
23
23
|
const dataStore = useDataStore();
|
|
24
24
|
|
|
25
25
|
const componentName = ref("");
|
|
26
|
+
const componentItem = ref(undefined);
|
|
26
27
|
|
|
27
28
|
watch(
|
|
28
29
|
() => menuStore.current_meta_data,
|
|
29
30
|
async (newMeta) => {
|
|
30
31
|
componentName.value = "";
|
|
32
|
+
componentItem.value = undefined;
|
|
31
33
|
if (!newMeta) {
|
|
32
34
|
return;
|
|
33
35
|
}
|
|
34
36
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
componentName.value = comp.name;
|
|
43
|
-
} else {
|
|
44
|
-
componentName.value = newMeta.pickedComponentId;
|
|
45
|
-
}
|
|
46
|
-
} catch {
|
|
47
|
-
componentName.value = newMeta.pickedComponentId;
|
|
37
|
+
const modelId = newMeta.modelId || newMeta.id;
|
|
38
|
+
if (newMeta.pickedComponentId && modelId) {
|
|
39
|
+
const components = await dataStore.getAllMeshComponents(modelId);
|
|
40
|
+
const comp = components.find((component) => component.id === newMeta.pickedComponentId);
|
|
41
|
+
if (comp) {
|
|
42
|
+
componentName.value = comp.title;
|
|
43
|
+
componentItem.value = comp;
|
|
48
44
|
}
|
|
49
45
|
}
|
|
50
46
|
},
|
|
@@ -56,7 +52,7 @@ const cleanName = computed(() => {
|
|
|
56
52
|
if (!meta) {
|
|
57
53
|
return "Unnamed Object";
|
|
58
54
|
}
|
|
59
|
-
if (componentName.value) {
|
|
55
|
+
if (componentName.value && meta.viewer_type === "model_component") {
|
|
60
56
|
return componentName.value;
|
|
61
57
|
}
|
|
62
58
|
return meta.name || "Unnamed Object";
|
|
@@ -70,6 +66,18 @@ const displayTitle = computed(() => {
|
|
|
70
66
|
return middleTruncate(name, TRUNCATE_MAX_LENGTH, TRUNCATE_START_CHARS, TRUNCATE_END_CHARS);
|
|
71
67
|
});
|
|
72
68
|
|
|
69
|
+
const displayComponentTitle = computed(() => {
|
|
70
|
+
if (!componentItem.value) {
|
|
71
|
+
return "";
|
|
72
|
+
}
|
|
73
|
+
return middleTruncate(
|
|
74
|
+
componentItem.value.title,
|
|
75
|
+
TRUNCATE_MAX_LENGTH,
|
|
76
|
+
TRUNCATE_START_CHARS,
|
|
77
|
+
TRUNCATE_END_CHARS,
|
|
78
|
+
);
|
|
79
|
+
});
|
|
80
|
+
|
|
73
81
|
const copied = ref(false);
|
|
74
82
|
async function copyId(targetId) {
|
|
75
83
|
if (!targetId) {
|
|
@@ -86,16 +94,17 @@ async function copyId(targetId) {
|
|
|
86
94
|
}
|
|
87
95
|
}
|
|
88
96
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
if (!metaId) {
|
|
97
|
+
function formatId(id) {
|
|
98
|
+
if (!id) {
|
|
92
99
|
return "";
|
|
93
100
|
}
|
|
94
|
-
if (
|
|
95
|
-
return
|
|
101
|
+
if (id.length <= MAX_SHORT_ID_LENGTH) {
|
|
102
|
+
return id;
|
|
96
103
|
}
|
|
97
|
-
return `${
|
|
98
|
-
}
|
|
104
|
+
return `${id.slice(0, ID_SLICE_START)}...${id.slice(id.length - ID_SLICE_END_OFFSET)}`;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
const formattedId = computed(() => formatId(metaData?.id));
|
|
99
108
|
</script>
|
|
100
109
|
|
|
101
110
|
<template>
|
|
@@ -138,6 +147,32 @@ const formattedId = computed(() => {
|
|
|
138
147
|
class="ml-1"
|
|
139
148
|
/>
|
|
140
149
|
</v-col>
|
|
150
|
+
|
|
151
|
+
<template v-if="componentItem">
|
|
152
|
+
<v-divider class="w-100 my-2" opacity="0.2" />
|
|
153
|
+
<v-col
|
|
154
|
+
class="text-subtitle-2 font-weight-bold text-truncate text-white w-100 pa-0"
|
|
155
|
+
cols="auto"
|
|
156
|
+
style="line-height: 1.3"
|
|
157
|
+
>
|
|
158
|
+
{{ displayComponentTitle }}
|
|
159
|
+
</v-col>
|
|
160
|
+
<v-col
|
|
161
|
+
class="text-caption font-weight-black text-uppercase text-secondary pa-0"
|
|
162
|
+
style="font-size: 0.68rem; line-height: 1.2"
|
|
163
|
+
>
|
|
164
|
+
{{ componentItem.category }}
|
|
165
|
+
</v-col>
|
|
166
|
+
<v-col
|
|
167
|
+
class="id-badge-container mt-1 d-inline-flex align-center px-2 py-0.5"
|
|
168
|
+
@click.stop="copyId(componentItem.id)"
|
|
169
|
+
>
|
|
170
|
+
<span class="id-text">
|
|
171
|
+
{{ formatId(componentItem.id) }}
|
|
172
|
+
</span>
|
|
173
|
+
<v-icon icon="mdi-content-copy" size="10" color="white" class="ml-1" />
|
|
174
|
+
</v-col>
|
|
175
|
+
</template>
|
|
141
176
|
</v-row>
|
|
142
177
|
</GlassCard>
|
|
143
178
|
</v-sheet>
|
|
@@ -64,6 +64,15 @@ const vertex_attribute_name = computed({
|
|
|
64
64
|
hybridViewerStore.remoteRender();
|
|
65
65
|
},
|
|
66
66
|
});
|
|
67
|
+
const vertex_attribute_item = computed({
|
|
68
|
+
get: () => dataStyleStore.meshEdgesVertexAttributeItem(id.value),
|
|
69
|
+
set: async (newValue) => {
|
|
70
|
+
await applyBatchStyle(id.value, (targetId) =>
|
|
71
|
+
dataStyleStore.setMeshEdgesVertexAttributeItem(targetId, newValue),
|
|
72
|
+
);
|
|
73
|
+
hybridViewerStore.remoteRender();
|
|
74
|
+
},
|
|
75
|
+
});
|
|
67
76
|
const vertex_attribute_range = computed({
|
|
68
77
|
get: () => dataStyleStore.meshEdgesVertexAttributeRange(id.value),
|
|
69
78
|
set: async (newValue) => {
|
|
@@ -91,6 +100,15 @@ const edge_attribute_name = computed({
|
|
|
91
100
|
hybridViewerStore.remoteRender();
|
|
92
101
|
},
|
|
93
102
|
});
|
|
103
|
+
const edge_attribute_item = computed({
|
|
104
|
+
get: () => dataStyleStore.meshEdgesEdgeAttributeItem(id.value),
|
|
105
|
+
set: async (newValue) => {
|
|
106
|
+
await applyBatchStyle(id.value, (targetId) =>
|
|
107
|
+
dataStyleStore.setMeshEdgesEdgeAttributeItem(targetId, newValue),
|
|
108
|
+
);
|
|
109
|
+
hybridViewerStore.remoteRender();
|
|
110
|
+
},
|
|
111
|
+
});
|
|
94
112
|
const edge_attribute_range = computed({
|
|
95
113
|
get: () => dataStyleStore.meshEdgesEdgeAttributeRange(id.value),
|
|
96
114
|
set: async (newValue) => {
|
|
@@ -110,6 +128,7 @@ const edge_attribute_color_map = computed({
|
|
|
110
128
|
},
|
|
111
129
|
});
|
|
112
130
|
</script>
|
|
131
|
+
|
|
113
132
|
<template>
|
|
114
133
|
<ViewerContextMenuItem
|
|
115
134
|
data-testid="meshEdgesMenu"
|
|
@@ -127,9 +146,11 @@ const edge_attribute_color_map = computed({
|
|
|
127
146
|
v-model:coloring_style_key="coloring_style_key"
|
|
128
147
|
v-model:color="color"
|
|
129
148
|
v-model:vertex_attribute_name="vertex_attribute_name"
|
|
149
|
+
v-model:vertex_attribute_item="vertex_attribute_item"
|
|
130
150
|
v-model:vertex_attribute_range="vertex_attribute_range"
|
|
131
151
|
v-model:vertex_attribute_color_map="vertex_attribute_color_map"
|
|
132
152
|
v-model:edge_attribute_name="edge_attribute_name"
|
|
153
|
+
v-model:edge_attribute_item="edge_attribute_item"
|
|
133
154
|
v-model:edge_attribute_range="edge_attribute_range"
|
|
134
155
|
v-model:edge_attribute_color_map="edge_attribute_color_map"
|
|
135
156
|
/>
|
|
@@ -55,6 +55,7 @@ const textures = computed({
|
|
|
55
55
|
hybridViewerStore.remoteRender();
|
|
56
56
|
},
|
|
57
57
|
});
|
|
58
|
+
|
|
58
59
|
const vertex_attribute_name = computed({
|
|
59
60
|
get: () => dataStyleStore.meshCellsVertexAttributeName(id.value),
|
|
60
61
|
set: async (newValue) => {
|
|
@@ -64,6 +65,15 @@ const vertex_attribute_name = computed({
|
|
|
64
65
|
hybridViewerStore.remoteRender();
|
|
65
66
|
},
|
|
66
67
|
});
|
|
68
|
+
const vertex_attribute_item = computed({
|
|
69
|
+
get: () => dataStyleStore.meshCellsVertexAttributeItem(id.value),
|
|
70
|
+
set: async (newValue) => {
|
|
71
|
+
await applyBatchStyle(id.value, (targetId) =>
|
|
72
|
+
dataStyleStore.setMeshCellsVertexAttributeItem(targetId, newValue),
|
|
73
|
+
);
|
|
74
|
+
hybridViewerStore.remoteRender();
|
|
75
|
+
},
|
|
76
|
+
});
|
|
67
77
|
const vertex_attribute_range = computed({
|
|
68
78
|
get: () => dataStyleStore.meshCellsVertexAttributeRange(id.value),
|
|
69
79
|
set: async (newValue) => {
|
|
@@ -91,6 +101,15 @@ const cell_attribute_name = computed({
|
|
|
91
101
|
hybridViewerStore.remoteRender();
|
|
92
102
|
},
|
|
93
103
|
});
|
|
104
|
+
const cell_attribute_item = computed({
|
|
105
|
+
get: () => dataStyleStore.meshCellsCellAttributeItem(id.value),
|
|
106
|
+
set: async (newValue) => {
|
|
107
|
+
await applyBatchStyle(id.value, (targetId) =>
|
|
108
|
+
dataStyleStore.setMeshCellsCellAttributeItem(targetId, newValue),
|
|
109
|
+
);
|
|
110
|
+
hybridViewerStore.remoteRender();
|
|
111
|
+
},
|
|
112
|
+
});
|
|
94
113
|
const cell_attribute_range = computed({
|
|
95
114
|
get: () => dataStyleStore.meshCellsCellAttributeRange(id.value),
|
|
96
115
|
set: async (newValue) => {
|
|
@@ -128,9 +147,11 @@ const cell_attribute_color_map = computed({
|
|
|
128
147
|
v-model:color="color"
|
|
129
148
|
v-model:textures="textures"
|
|
130
149
|
v-model:vertex_attribute_name="vertex_attribute_name"
|
|
150
|
+
v-model:vertex_attribute_item="vertex_attribute_item"
|
|
131
151
|
v-model:vertex_attribute_range="vertex_attribute_range"
|
|
132
152
|
v-model:vertex_attribute_color_map="vertex_attribute_color_map"
|
|
133
153
|
v-model:cell_attribute_name="cell_attribute_name"
|
|
154
|
+
v-model:cell_attribute_item="cell_attribute_item"
|
|
134
155
|
v-model:cell_attribute_range="cell_attribute_range"
|
|
135
156
|
v-model:cell_attribute_color_map="cell_attribute_color_map"
|
|
136
157
|
/>
|
|
@@ -56,6 +56,78 @@ const color = computed({
|
|
|
56
56
|
hybridViewerStore.remoteRender();
|
|
57
57
|
},
|
|
58
58
|
});
|
|
59
|
+
const vertex_attribute_name = computed({
|
|
60
|
+
get: () => dataStyleStore.meshEdgesVertexAttributeName(id.value),
|
|
61
|
+
set: async (newValue) => {
|
|
62
|
+
await applyBatchStyle(id.value, (targetId) =>
|
|
63
|
+
dataStyleStore.setMeshEdgesVertexAttributeName(targetId, newValue),
|
|
64
|
+
);
|
|
65
|
+
hybridViewerStore.remoteRender();
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
const vertex_attribute_item = computed({
|
|
69
|
+
get: () => dataStyleStore.meshEdgesVertexAttributeItem(id.value),
|
|
70
|
+
set: async (newValue) => {
|
|
71
|
+
await applyBatchStyle(id.value, (targetId) =>
|
|
72
|
+
dataStyleStore.setMeshEdgesVertexAttributeItem(targetId, newValue),
|
|
73
|
+
);
|
|
74
|
+
hybridViewerStore.remoteRender();
|
|
75
|
+
},
|
|
76
|
+
});
|
|
77
|
+
const vertex_attribute_range = computed({
|
|
78
|
+
get: () => dataStyleStore.meshEdgesVertexAttributeRange(id.value),
|
|
79
|
+
set: async (newValue) => {
|
|
80
|
+
await applyBatchStyle(id.value, (targetId) =>
|
|
81
|
+
dataStyleStore.setMeshEdgesVertexAttributeRange(targetId, newValue[0], newValue[1]),
|
|
82
|
+
);
|
|
83
|
+
hybridViewerStore.remoteRender();
|
|
84
|
+
},
|
|
85
|
+
});
|
|
86
|
+
const vertex_attribute_color_map = computed({
|
|
87
|
+
get: () => dataStyleStore.meshEdgesVertexAttributeColorMap(id.value),
|
|
88
|
+
set: async (newValue) => {
|
|
89
|
+
await applyBatchStyle(id.value, (targetId) =>
|
|
90
|
+
dataStyleStore.setMeshEdgesVertexAttributeColorMap(targetId, newValue),
|
|
91
|
+
);
|
|
92
|
+
hybridViewerStore.remoteRender();
|
|
93
|
+
},
|
|
94
|
+
});
|
|
95
|
+
const edge_attribute_name = computed({
|
|
96
|
+
get: () => dataStyleStore.meshEdgesEdgeAttributeName(id.value),
|
|
97
|
+
set: async (newValue) => {
|
|
98
|
+
await applyBatchStyle(id.value, (targetId) =>
|
|
99
|
+
dataStyleStore.setMeshEdgesEdgeAttributeName(targetId, newValue),
|
|
100
|
+
);
|
|
101
|
+
hybridViewerStore.remoteRender();
|
|
102
|
+
},
|
|
103
|
+
});
|
|
104
|
+
const edge_attribute_item = computed({
|
|
105
|
+
get: () => dataStyleStore.meshEdgesEdgeAttributeItem(id.value),
|
|
106
|
+
set: async (newValue) => {
|
|
107
|
+
await applyBatchStyle(id.value, (targetId) =>
|
|
108
|
+
dataStyleStore.setMeshEdgesEdgeAttributeItem(targetId, newValue),
|
|
109
|
+
);
|
|
110
|
+
hybridViewerStore.remoteRender();
|
|
111
|
+
},
|
|
112
|
+
});
|
|
113
|
+
const edge_attribute_range = computed({
|
|
114
|
+
get: () => dataStyleStore.meshEdgesEdgeAttributeRange(id.value),
|
|
115
|
+
set: async (newValue) => {
|
|
116
|
+
await applyBatchStyle(id.value, (targetId) =>
|
|
117
|
+
dataStyleStore.setMeshEdgesEdgeAttributeRange(targetId, newValue[0], newValue[1]),
|
|
118
|
+
);
|
|
119
|
+
hybridViewerStore.remoteRender();
|
|
120
|
+
},
|
|
121
|
+
});
|
|
122
|
+
const edge_attribute_color_map = computed({
|
|
123
|
+
get: () => dataStyleStore.meshEdgesEdgeAttributeColorMap(id.value),
|
|
124
|
+
set: async (newValue) => {
|
|
125
|
+
await applyBatchStyle(id.value, (targetId) =>
|
|
126
|
+
dataStyleStore.setMeshEdgesEdgeAttributeColorMap(targetId, newValue),
|
|
127
|
+
);
|
|
128
|
+
hybridViewerStore.remoteRender();
|
|
129
|
+
},
|
|
130
|
+
});
|
|
59
131
|
</script>
|
|
60
132
|
|
|
61
133
|
<template>
|
|
@@ -81,6 +153,14 @@ const color = computed({
|
|
|
81
153
|
:id="id"
|
|
82
154
|
v-model:coloring_style_key="coloring_style_key"
|
|
83
155
|
v-model:color="color"
|
|
156
|
+
v-model:vertex_attribute_name="vertex_attribute_name"
|
|
157
|
+
v-model:vertex_attribute_item="vertex_attribute_item"
|
|
158
|
+
v-model:vertex_attribute_range="vertex_attribute_range"
|
|
159
|
+
v-model:vertex_attribute_color_map="vertex_attribute_color_map"
|
|
160
|
+
v-model:edge_attribute_name="edge_attribute_name"
|
|
161
|
+
v-model:edge_attribute_item="edge_attribute_item"
|
|
162
|
+
v-model:edge_attribute_range="edge_attribute_range"
|
|
163
|
+
v-model:edge_attribute_color_map="edge_attribute_color_map"
|
|
84
164
|
/>
|
|
85
165
|
</template>
|
|
86
166
|
</template>
|
|
@@ -65,6 +65,15 @@ const vertex_attribute_name = computed({
|
|
|
65
65
|
hybridViewerStore.remoteRender();
|
|
66
66
|
},
|
|
67
67
|
});
|
|
68
|
+
const vertex_attribute_item = computed({
|
|
69
|
+
get: () => dataStyleStore.meshPointsVertexAttributeItem(id.value),
|
|
70
|
+
set: async (newValue) => {
|
|
71
|
+
await applyBatchStyle(id.value, (targetId) =>
|
|
72
|
+
dataStyleStore.setMeshPointsVertexAttributeItem(targetId, newValue),
|
|
73
|
+
);
|
|
74
|
+
hybridViewerStore.remoteRender();
|
|
75
|
+
},
|
|
76
|
+
});
|
|
68
77
|
const vertex_attribute_range = computed({
|
|
69
78
|
get: () => dataStyleStore.meshPointsVertexAttributeRange(id.value),
|
|
70
79
|
set: async (newValue) => {
|
|
@@ -109,6 +118,7 @@ const vertex_attribute_color_map = computed({
|
|
|
109
118
|
v-model:coloring_style_key="coloring_style_key"
|
|
110
119
|
v-model:color="color"
|
|
111
120
|
v-model:vertex_attribute_name="vertex_attribute_name"
|
|
121
|
+
v-model:vertex_attribute_item="vertex_attribute_item"
|
|
112
122
|
v-model:vertex_attribute_range="vertex_attribute_range"
|
|
113
123
|
v-model:vertex_attribute_color_map="vertex_attribute_color_map"
|
|
114
124
|
:capabilities="{ vertex: { available: false } }"
|
|
@@ -56,6 +56,79 @@ const textures = computed({
|
|
|
56
56
|
hybridViewerStore.remoteRender();
|
|
57
57
|
},
|
|
58
58
|
});
|
|
59
|
+
|
|
60
|
+
const vertex_attribute_name = computed({
|
|
61
|
+
get: () => dataStyleStore.meshPolygonsVertexAttributeName(id.value),
|
|
62
|
+
set: async (newValue) => {
|
|
63
|
+
await applyBatchStyle(id.value, (targetId) =>
|
|
64
|
+
dataStyleStore.setMeshPolygonsVertexAttributeName(targetId, newValue),
|
|
65
|
+
);
|
|
66
|
+
hybridViewerStore.remoteRender();
|
|
67
|
+
},
|
|
68
|
+
});
|
|
69
|
+
const vertex_attribute_item = computed({
|
|
70
|
+
get: () => dataStyleStore.meshPolygonsVertexAttributeItem(id.value),
|
|
71
|
+
set: async (newValue) => {
|
|
72
|
+
await applyBatchStyle(id.value, (targetId) =>
|
|
73
|
+
dataStyleStore.setMeshPolygonsVertexAttributeItem(targetId, newValue),
|
|
74
|
+
);
|
|
75
|
+
hybridViewerStore.remoteRender();
|
|
76
|
+
},
|
|
77
|
+
});
|
|
78
|
+
const vertex_attribute_range = computed({
|
|
79
|
+
get: () => dataStyleStore.meshPolygonsVertexAttributeRange(id.value),
|
|
80
|
+
set: async (newValue) => {
|
|
81
|
+
await applyBatchStyle(id.value, (targetId) =>
|
|
82
|
+
dataStyleStore.setMeshPolygonsVertexAttributeRange(targetId, newValue[0], newValue[1]),
|
|
83
|
+
);
|
|
84
|
+
hybridViewerStore.remoteRender();
|
|
85
|
+
},
|
|
86
|
+
});
|
|
87
|
+
const vertex_attribute_color_map = computed({
|
|
88
|
+
get: () => dataStyleStore.meshPolygonsVertexAttributeColorMap(id.value),
|
|
89
|
+
set: async (newValue) => {
|
|
90
|
+
await applyBatchStyle(id.value, (targetId) =>
|
|
91
|
+
dataStyleStore.setMeshPolygonsVertexAttributeColorMap(targetId, newValue),
|
|
92
|
+
);
|
|
93
|
+
hybridViewerStore.remoteRender();
|
|
94
|
+
},
|
|
95
|
+
});
|
|
96
|
+
const polygon_attribute_name = computed({
|
|
97
|
+
get: () => dataStyleStore.meshPolygonsPolygonAttributeName(id.value),
|
|
98
|
+
set: async (newValue) => {
|
|
99
|
+
await applyBatchStyle(id.value, (targetId) =>
|
|
100
|
+
dataStyleStore.setMeshPolygonsPolygonAttributeName(targetId, newValue),
|
|
101
|
+
);
|
|
102
|
+
hybridViewerStore.remoteRender();
|
|
103
|
+
},
|
|
104
|
+
});
|
|
105
|
+
const polygon_attribute_item = computed({
|
|
106
|
+
get: () => dataStyleStore.meshPolygonsPolygonAttributeItem(id.value),
|
|
107
|
+
set: async (newValue) => {
|
|
108
|
+
await applyBatchStyle(id.value, (targetId) =>
|
|
109
|
+
dataStyleStore.setMeshPolygonsPolygonAttributeItem(targetId, newValue),
|
|
110
|
+
);
|
|
111
|
+
hybridViewerStore.remoteRender();
|
|
112
|
+
},
|
|
113
|
+
});
|
|
114
|
+
const polygon_attribute_range = computed({
|
|
115
|
+
get: () => dataStyleStore.meshPolygonsPolygonAttributeRange(id.value),
|
|
116
|
+
set: async (newValue) => {
|
|
117
|
+
await applyBatchStyle(id.value, (targetId) =>
|
|
118
|
+
dataStyleStore.setMeshPolygonsPolygonAttributeRange(targetId, newValue[0], newValue[1]),
|
|
119
|
+
);
|
|
120
|
+
hybridViewerStore.remoteRender();
|
|
121
|
+
},
|
|
122
|
+
});
|
|
123
|
+
const polygon_attribute_color_map = computed({
|
|
124
|
+
get: () => dataStyleStore.meshPolygonsPolygonAttributeColorMap(id.value),
|
|
125
|
+
set: async (newValue) => {
|
|
126
|
+
await applyBatchStyle(id.value, (targetId) =>
|
|
127
|
+
dataStyleStore.setMeshPolygonsPolygonAttributeColorMap(targetId, newValue),
|
|
128
|
+
);
|
|
129
|
+
hybridViewerStore.remoteRender();
|
|
130
|
+
},
|
|
131
|
+
});
|
|
59
132
|
</script>
|
|
60
133
|
|
|
61
134
|
<template>
|
|
@@ -77,6 +150,14 @@ const textures = computed({
|
|
|
77
150
|
v-model:coloring_style_key="coloring_style_key"
|
|
78
151
|
v-model:color="color"
|
|
79
152
|
v-model:textures="textures"
|
|
153
|
+
v-model:vertex_attribute_name="vertex_attribute_name"
|
|
154
|
+
v-model:vertex_attribute_item="vertex_attribute_item"
|
|
155
|
+
v-model:vertex_attribute_range="vertex_attribute_range"
|
|
156
|
+
v-model:vertex_attribute_color_map="vertex_attribute_color_map"
|
|
157
|
+
v-model:polygon_attribute_name="polygon_attribute_name"
|
|
158
|
+
v-model:polygon_attribute_item="polygon_attribute_item"
|
|
159
|
+
v-model:polygon_attribute_range="polygon_attribute_range"
|
|
160
|
+
v-model:polygon_attribute_color_map="polygon_attribute_color_map"
|
|
80
161
|
:capabilities="capabilities"
|
|
81
162
|
/>
|
|
82
163
|
</template>
|
|
@@ -55,6 +55,15 @@ const vertex_attribute_name = computed({
|
|
|
55
55
|
hybridViewerStore.remoteRender();
|
|
56
56
|
},
|
|
57
57
|
});
|
|
58
|
+
const vertex_attribute_item = computed({
|
|
59
|
+
get: () => dataStyleStore.meshPolyhedraVertexAttributeItem(id.value),
|
|
60
|
+
set: async (newValue) => {
|
|
61
|
+
await applyBatchStyle(id.value, (targetId) =>
|
|
62
|
+
dataStyleStore.setMeshPolyhedraVertexAttributeItem(targetId, newValue),
|
|
63
|
+
);
|
|
64
|
+
hybridViewerStore.remoteRender();
|
|
65
|
+
},
|
|
66
|
+
});
|
|
58
67
|
const vertex_attribute_range = computed({
|
|
59
68
|
get: () => dataStyleStore.meshPolyhedraVertexAttributeRange(id.value),
|
|
60
69
|
set: async (newValue) => {
|
|
@@ -82,6 +91,15 @@ const polyhedron_attribute_name = computed({
|
|
|
82
91
|
hybridViewerStore.remoteRender();
|
|
83
92
|
},
|
|
84
93
|
});
|
|
94
|
+
const polyhedron_attribute_item = computed({
|
|
95
|
+
get: () => dataStyleStore.meshPolyhedraPolyhedronAttributeItem(id.value),
|
|
96
|
+
set: async (newValue) => {
|
|
97
|
+
await applyBatchStyle(id.value, (targetId) =>
|
|
98
|
+
dataStyleStore.setMeshPolyhedraPolyhedronAttributeItem(targetId, newValue),
|
|
99
|
+
);
|
|
100
|
+
hybridViewerStore.remoteRender();
|
|
101
|
+
},
|
|
102
|
+
});
|
|
85
103
|
const polyhedron_attribute_range = computed({
|
|
86
104
|
get: () => dataStyleStore.meshPolyhedraPolyhedronAttributeRange(id.value),
|
|
87
105
|
set: async (newValue) => {
|
|
@@ -123,9 +141,11 @@ const polyhedron_attribute_color_map = computed({
|
|
|
123
141
|
v-model:coloring_style_key="coloring_style_key"
|
|
124
142
|
v-model:color="color"
|
|
125
143
|
v-model:vertex_attribute_name="vertex_attribute_name"
|
|
144
|
+
v-model:vertex_attribute_item="vertex_attribute_item"
|
|
126
145
|
v-model:vertex_attribute_range="vertex_attribute_range"
|
|
127
146
|
v-model:vertex_attribute_color_map="vertex_attribute_color_map"
|
|
128
147
|
v-model:polyhedron_attribute_name="polyhedron_attribute_name"
|
|
148
|
+
v-model:polyhedron_attribute_item="polyhedron_attribute_item"
|
|
129
149
|
v-model:polyhedron_attribute_range="polyhedron_attribute_range"
|
|
130
150
|
v-model:polyhedron_attribute_color_map="polyhedron_attribute_color_map"
|
|
131
151
|
:capabilities="{
|
|
@@ -74,6 +74,14 @@ const blocksVertexAttributeName = computed({
|
|
|
74
74
|
},
|
|
75
75
|
});
|
|
76
76
|
|
|
77
|
+
const blocksVertexAttributeItem = computed({
|
|
78
|
+
get: () => dataStyleStore.modelBlocksVertexAttributeItem(modelId, targetBlockIds[0]),
|
|
79
|
+
set: async (newValue) => {
|
|
80
|
+
await dataStyleStore.setModelBlocksVertexAttributeItem(modelId, targetBlockIds, newValue);
|
|
81
|
+
hybridViewerStore.remoteRender();
|
|
82
|
+
},
|
|
83
|
+
});
|
|
84
|
+
|
|
77
85
|
const blocksVertexAttributeRange = computed({
|
|
78
86
|
get: () => dataStyleStore.modelBlocksVertexAttributeRange(modelId, targetBlockIds[0]),
|
|
79
87
|
set: async (newValue) => {
|
|
@@ -103,6 +111,14 @@ const blocksPolyhedronAttributeName = computed({
|
|
|
103
111
|
},
|
|
104
112
|
});
|
|
105
113
|
|
|
114
|
+
const blocksPolyhedronAttributeItem = computed({
|
|
115
|
+
get: () => dataStyleStore.modelBlocksPolyhedronAttributeItem(modelId, targetBlockIds[0]),
|
|
116
|
+
set: async (newValue) => {
|
|
117
|
+
await dataStyleStore.setModelBlocksPolyhedronAttributeItem(modelId, targetBlockIds, newValue);
|
|
118
|
+
hybridViewerStore.remoteRender();
|
|
119
|
+
},
|
|
120
|
+
});
|
|
121
|
+
|
|
106
122
|
const blocksPolyhedronAttributeRange = computed({
|
|
107
123
|
get: () => dataStyleStore.modelBlocksPolyhedronAttributeRange(modelId, targetBlockIds[0]),
|
|
108
124
|
set: async (newValue) => {
|
|
@@ -137,6 +153,14 @@ const vertexAttributeName = computed({
|
|
|
137
153
|
},
|
|
138
154
|
});
|
|
139
155
|
|
|
156
|
+
const vertexAttributeItem = computed({
|
|
157
|
+
get: () => dataStyleStore.modelBlocksVertexAttributeItem(modelId, blockId),
|
|
158
|
+
set: async (newValue) => {
|
|
159
|
+
await dataStyleStore.setModelBlocksVertexAttributeItem(modelId, [blockId], newValue);
|
|
160
|
+
hybridViewerStore.remoteRender();
|
|
161
|
+
},
|
|
162
|
+
});
|
|
163
|
+
|
|
140
164
|
const vertexAttributeRange = computed({
|
|
141
165
|
get: () => dataStyleStore.modelBlocksVertexAttributeRange(modelId, blockId),
|
|
142
166
|
set: async (newValue) => {
|
|
@@ -166,6 +190,14 @@ const polyhedronAttributeName = computed({
|
|
|
166
190
|
},
|
|
167
191
|
});
|
|
168
192
|
|
|
193
|
+
const polyhedronAttributeItem = computed({
|
|
194
|
+
get: () => dataStyleStore.modelBlocksPolyhedronAttributeItem(modelId, blockId),
|
|
195
|
+
set: async (newValue) => {
|
|
196
|
+
await dataStyleStore.setModelBlocksPolyhedronAttributeItem(modelId, [blockId], newValue);
|
|
197
|
+
hybridViewerStore.remoteRender();
|
|
198
|
+
},
|
|
199
|
+
});
|
|
200
|
+
|
|
169
201
|
const polyhedronAttributeRange = computed({
|
|
170
202
|
get: () => dataStyleStore.modelBlocksPolyhedronAttributeRange(modelId, blockId),
|
|
171
203
|
set: async (newValue) => {
|
|
@@ -210,9 +242,11 @@ const polyhedronSchema = back_schemas.opengeodeweb_back.model_component_polyhedr
|
|
|
210
242
|
v-model:coloring_style_key="blocksActiveColoring"
|
|
211
243
|
v-model:color="blocksColor"
|
|
212
244
|
v-model:vertex_attribute_name="blocksVertexAttributeName"
|
|
245
|
+
v-model:vertex_attribute_item="blocksVertexAttributeItem"
|
|
213
246
|
v-model:vertex_attribute_range="blocksVertexAttributeRange"
|
|
214
247
|
v-model:vertex_attribute_color_map="blocksVertexAttributeColorMap"
|
|
215
248
|
v-model:polyhedron_attribute_name="blocksPolyhedronAttributeName"
|
|
249
|
+
v-model:polyhedron_attribute_item="blocksPolyhedronAttributeItem"
|
|
216
250
|
v-model:polyhedron_attribute_range="blocksPolyhedronAttributeRange"
|
|
217
251
|
v-model:polyhedron_attribute_color_map="blocksPolyhedronAttributeColorMap"
|
|
218
252
|
:capabilities="capabilities"
|
|
@@ -229,9 +263,11 @@ const polyhedronSchema = back_schemas.opengeodeweb_back.model_component_polyhedr
|
|
|
229
263
|
v-model:coloring_style_key="blockActiveColoring"
|
|
230
264
|
v-model:color="blockColor"
|
|
231
265
|
v-model:vertex_attribute_name="vertexAttributeName"
|
|
266
|
+
v-model:vertex_attribute_item="vertexAttributeItem"
|
|
232
267
|
v-model:vertex_attribute_range="vertexAttributeRange"
|
|
233
268
|
v-model:vertex_attribute_color_map="vertexAttributeColorMap"
|
|
234
269
|
v-model:polyhedron_attribute_name="polyhedronAttributeName"
|
|
270
|
+
v-model:polyhedron_attribute_item="polyhedronAttributeItem"
|
|
235
271
|
v-model:polyhedron_attribute_range="polyhedronAttributeRange"
|
|
236
272
|
v-model:polyhedron_attribute_color_map="polyhedronAttributeColorMap"
|
|
237
273
|
:capabilities="capabilities"
|
|
@@ -75,6 +75,14 @@ const cornersVertexAttributeName = computed({
|
|
|
75
75
|
},
|
|
76
76
|
});
|
|
77
77
|
|
|
78
|
+
const cornersVertexAttributeItem = computed({
|
|
79
|
+
get: () => dataStyleStore.modelCornersVertexAttributeItem(modelId, targetCornerIds[0]),
|
|
80
|
+
set: async (newValue) => {
|
|
81
|
+
await dataStyleStore.setModelCornersVertexAttributeItem(modelId, targetCornerIds, newValue);
|
|
82
|
+
hybridViewerStore.remoteRender();
|
|
83
|
+
},
|
|
84
|
+
});
|
|
85
|
+
|
|
78
86
|
const cornersVertexAttributeRange = computed({
|
|
79
87
|
get: () => dataStyleStore.modelCornersVertexAttributeRange(modelId, targetCornerIds[0]),
|
|
80
88
|
set: async (newValue) => {
|
|
@@ -105,6 +113,14 @@ const vertexAttributeName = computed({
|
|
|
105
113
|
},
|
|
106
114
|
});
|
|
107
115
|
|
|
116
|
+
const vertexAttributeItem = computed({
|
|
117
|
+
get: () => dataStyleStore.modelCornersVertexAttributeItem(modelId, cornerId),
|
|
118
|
+
set: async (newValue) => {
|
|
119
|
+
await dataStyleStore.setModelCornersVertexAttributeItem(modelId, [cornerId], newValue);
|
|
120
|
+
hybridViewerStore.remoteRender();
|
|
121
|
+
},
|
|
122
|
+
});
|
|
123
|
+
|
|
108
124
|
const vertexAttributeRange = computed({
|
|
109
125
|
get: () => dataStyleStore.modelCornersVertexAttributeRange(modelId, cornerId),
|
|
110
126
|
set: async (newValue) => {
|
|
@@ -148,6 +164,7 @@ const vertexSchema = back_schemas.opengeodeweb_back.model_component_vertex_attri
|
|
|
148
164
|
v-model:coloring_style_key="cornersActiveColoring"
|
|
149
165
|
v-model:color="cornersColor"
|
|
150
166
|
v-model:vertex_attribute_name="cornersVertexAttributeName"
|
|
167
|
+
v-model:vertex_attribute_item="cornersVertexAttributeItem"
|
|
151
168
|
v-model:vertex_attribute_range="cornersVertexAttributeRange"
|
|
152
169
|
v-model:vertex_attribute_color_map="cornersVertexAttributeColorMap"
|
|
153
170
|
:capabilities="capabilities"
|
|
@@ -164,6 +181,7 @@ const vertexSchema = back_schemas.opengeodeweb_back.model_component_vertex_attri
|
|
|
164
181
|
v-model:coloring_style_key="cornerActiveColoring"
|
|
165
182
|
v-model:color="cornerColor"
|
|
166
183
|
v-model:vertex_attribute_name="vertexAttributeName"
|
|
184
|
+
v-model:vertex_attribute_item="vertexAttributeItem"
|
|
167
185
|
v-model:vertex_attribute_range="vertexAttributeRange"
|
|
168
186
|
v-model:vertex_attribute_color_map="vertexAttributeColorMap"
|
|
169
187
|
:capabilities="capabilities"
|