31 lines
1.8 KiB
TypeScript
31 lines
1.8 KiB
TypeScript
import type { ralTypes } from '@/components/ral'
|
|
import { Vector3 } from 'three'
|
|
import { type patternIds } from '~/components/pattern'
|
|
import { type toppersIds } from '~/components/topper'
|
|
|
|
export const predefPillarColors = ['3004', '7043', '6028', '5013', '8016', '1020', '3005', '4009']
|
|
export const predefLamelleColors = ['3009', '9003', '6027', '5024', '9001', '1012', '3007', '4007']
|
|
|
|
const n = 4
|
|
const min = 1370
|
|
|
|
export const use_lamelle_height = () => useState<number>('lamelle_height', () => 0.115)
|
|
export const use_lamelles_count = () => useState('lamelles_count', () => 14)
|
|
export const use_fence_section = () => useState<number>('fence_section', () => min * 0.001)
|
|
|
|
export const use_remove_pillar = () => useState<boolean>('remove_pillar', () => false)
|
|
export const use_pillar_color = () => useState<ralTypes>('pillar_color')
|
|
export const use_lamelle_color = () => useState<ralTypes>('lamelle_color')
|
|
export const use_pattern = () => useState<patternIds>('pattern', () => 0)
|
|
export const use_topper = () => useState<toppersIds>('topper', () => 0)
|
|
|
|
export const use_section_count = () => useState('section_count', () => n)
|
|
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<number>('max_size', () => 1)
|
|
export const use_explosion_state = () => useState<boolean>('explosion_state', () => false)
|
|
|
|
export const use_goto_camera = () => useState<Vector3 | undefined>('gotocam', () => undefined)
|
|
export const use_goto_target = () => useState<Vector3 | undefined>('gotocontrols', () => undefined)
|
|
export const use_open_calc = () => useState<string[]>('open_calc', () => []) |