-
-
-
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/components/dropdown/list.vue b/components/dropdown/list.vue
index 5a06f48..0032bb1 100644
--- a/components/dropdown/list.vue
+++ b/components/dropdown/list.vue
@@ -1,49 +1,12 @@
-
+
+
+
+
\ No newline at end of file
diff --git a/components/dropdown/picker.vue b/components/dropdown/picker.vue
new file mode 100644
index 0000000..424d611
--- /dev/null
+++ b/components/dropdown/picker.vue
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/model/camera.vue b/components/model/camera.vue
new file mode 100644
index 0000000..8a5c7c9
--- /dev/null
+++ b/components/model/camera.vue
@@ -0,0 +1,50 @@
+
+
diff --git a/components/model/parametric.vue b/components/model/parametric.vue
index 6aa58f6..1336584 100644
--- a/components/model/parametric.vue
+++ b/components/model/parametric.vue
@@ -4,16 +4,12 @@ import {
CineonToneMapping,
Mesh,
Object3D,
- Vector3,
- EquirectangularReflectionMapping,
- Euler,
PMREMGenerator,
} from 'three';
import { GainMapLoader, } from '@monogrid/gainmap-js'
//@ts-ignore
import { useGLTF, } from '@tresjs/cientos'
import { getColorHexFromRal, type ralTypes } from '../ral';
-import { getFilename } from '../pattern';
const pillar_color = use_pillar_color()
const pillar_pattern = use_pattern()
@@ -65,7 +61,7 @@ set_material(lamelle.value, getColorHexFromRal(lamelle_color.value));
[top, fastening, fence, fence_bottom, fence_top].map(
(el: Ref) => { set_material(el.value, getColorHexFromRal(pillar_color.value)) });
[fence_inner].map(
- (el: Ref) => { set_material(el.value, getColorHexFromRal(pillar_color.value), lamelle_count.value) });
+ (el: Ref) => { set_material(el.value, getColorHexFromRal(pillar_color.value)) });
const { seek, seekAll } = useSeek()
watch(lamelle_color, () => {
@@ -136,8 +132,12 @@ watch(() => [section_count.value, extra_section.value], () => {
watch(lamelle_count, () => {
[fence_inner].map(
- (el: Ref) => { set_material(el.value, getColorHexFromRal(pillar_color.value), lamelle_count.value) });
- camera.value?.lookAt(10, 10, 10)
+ (el: Ref) => { set_material(el.value, getColorHexFromRal(pillar_color.value),
+ {
+ pattern: pillar_pattern.value,
+ count: lamelle_count.value
+ }
+ ) });
})
const pmremGenerator = new PMREMGenerator(renderer.value);
pmremGenerator.compileEquirectangularShader();
diff --git a/components/pattern.ts b/components/pattern.ts
index e8b19ef..43974c7 100644
--- a/components/pattern.ts
+++ b/components/pattern.ts
@@ -1,7 +1,7 @@
export const patterns = [
{ name: 'Без узора', },
{ name: 'Узор 1', filename: 'tile1.png' },
- { name: 'Еще раз узор 1', filename: 'tile1.png' },
+ { name: 'А это узор 2', filename: 'tile2.jpg' },
]
export const getFilename = (name: patternTypes) => {
const el = patterns.find(el => el.name == name)
diff --git a/composables/useCalc.ts b/composables/useCalc.ts
index 22ef575..a2aaa39 100644
--- a/composables/useCalc.ts
+++ b/composables/useCalc.ts
@@ -1,4 +1,5 @@
import type { ralTypes } from '@/components/ral'
+import { Vector3 } from 'three'
import { type patternTypes } from '~/components/pattern'
export const predefPillarColors = ['3004', '7043', '6028', '5013', '8016', '1020', '3005', '4009']
@@ -19,4 +20,7 @@ export const use_extra_section = () => useState('extra_section', () => 0)
export const use_total_length = () => useState('total_length', () => (((min + 104) * n) + 104) * 0.001)
export const use_min_length = () => useState('min_length', () => 700)
export const use_max_size = () => useState
('max_size', () => 20)
-export const use_explosion_state = () => useState('explosion_state', () => false)
\ No newline at end of file
+export const use_explosion_state = () => useState('explosion_state', () => false)
+
+export const use_goto_camera = () => useState('gotocam', () => undefined)
+export const use_open_calc = () => useState('open_calc', () => [])
\ No newline at end of file
diff --git a/nuxt.config.ts b/nuxt.config.ts
index eb555f3..e6328bf 100644
--- a/nuxt.config.ts
+++ b/nuxt.config.ts
@@ -1,6 +1,7 @@
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
+ devtools: { enabled: false },
hooks: {},
app: {
pageTransition: { name: 'page', mode: 'out-in' },
diff --git a/public/fence_one/bottom.glb b/public/fence_one/bottom.glb
index 14c14e8..bb714af 100644
Binary files a/public/fence_one/bottom.glb and b/public/fence_one/bottom.glb differ
diff --git a/public/fence_one/top.glb b/public/fence_one/top.glb
index a9a456a..3accdf5 100644
Binary files a/public/fence_one/top.glb and b/public/fence_one/top.glb differ
diff --git a/public/pattern/tile2.jpg b/public/pattern/tile2.jpg
new file mode 100644
index 0000000..8671d3e
Binary files /dev/null and b/public/pattern/tile2.jpg differ