Browse Source

WorldModel 世界模型

master
修宁 7 months ago
parent
commit
769183cf48
  1. 2
      src/designer/Viewport.ts
  2. 0
      src/model/WorldModel.ts
  3. 29
      src/model/example1.js
  4. 0
      src/model/itemTypeDefine/line/LineMeta.ts
  5. 7
      src/model/itemTypeDefine/measure/MeasureMeta.ts
  6. 0
      src/model/itemTypeDefine/point/PointMeta.ts
  7. 0
      src/model/itemTypeDefine/store/QueueMeta.ts
  8. 6
      src/runtime/DefineItem.ts
  9. 2
      src/types/global.d.ts
  10. 2
      src/views/ModelMainInit.ts

2
src/designer/Viewport.ts

@ -4,7 +4,7 @@ import { AxesHelper, GridHelper, OrthographicCamera, Raycaster, Scene, Vector3,
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls'
import EsDragControls from './model2DEditor/EsDragControls'
import Stats from 'three/examples/jsm/libs/stats.module'
import type WorldModel from '@/designer/WorldModel.ts'
import type WorldModel from '@/model/WorldModel.ts'
import $ from 'jquery'
import { reactive, watch } from 'vue'
import MouseMoveInspect from '@/designer/model2DEditor/tools/MouseMoveInspect.ts'

0
src/designer/WorldModel.ts → src/model/WorldModel.ts

29
src/designer/example1.js → src/model/example1.js

@ -15,8 +15,33 @@ export default {
},
item: [
{
name: 'f1',
items: []
name: 'f1', type: 'floor', uuid: 'f1',
items: [
{
uuid: 'measure-group', type: 'group', items: [
{
uuid: 'p1',
type: 'measure',
category: 'line',
pos: [],
rotation: [0, 0, 0],
scale: [1, 1, 1],
link: ['p2']
},
{
uuid: 'p2',
type: 'measure',
category: 'line',
pos: [],
rotation: [0, 0, 0],
scale: [1, 1, 1],
link: ['p3']
},
{ uuid: 'p3', type: 'measure', category: 'line', pos: [], rotation: [0, 0, 0], scale: [1, 1, 1], link: [] }
]
}
]
}
],
elevator: [],

0
src/modelItem/line/LineMeta.ts → src/model/itemTypeDefine/line/LineMeta.ts

7
src/model/itemTypeDefine/measure/MeasureMeta.ts

@ -0,0 +1,7 @@
import { defineItemType } from '@/runtime/DefineItem.ts'
export default defineItemType({
name: 'measure',
label: '测量工具',
category: 'line'
})

0
src/modelItem/point/PointMeta.ts → src/model/itemTypeDefine/point/PointMeta.ts

0
src/modelItem/store/QueueMeta.ts → src/model/itemTypeDefine/store/QueueMeta.ts

6
src/runtime/DefineItem.ts

@ -1,7 +1,7 @@
/**
*
*/
export class ItemDefine {
export class ItemTypeDefine {
option!: ItemOption
constructor(option: ItemOption) {
@ -20,9 +20,9 @@ export interface ItemOption {
/**
*
*/
export function defineItem(option: ItemOption): Promise<ItemDefine> {
export function defineItemType(option: ItemOption): Promise<ItemTypeDefine> {
return new Promise((resolve, reject) => {
const item = new ItemDefine(option)
const item = new ItemTypeDefine(option)
resolve(item)
})
}

2
src/types/global.d.ts

@ -1,7 +1,7 @@
import _ from 'lodash'
import $ from 'jquery'
import type System from '@/runtime/System'
import type WorldModel from '@/designer/WorldModel'
import type WorldModel from '@/model/WorldModel'
declare global {
const $: $

2
src/views/ModelMainInit.ts

@ -15,7 +15,7 @@ import ToolsMenu from '@/designer/menus/Tools.ts'
import Model3DView from '@/designer/menus/Model3DView.ts'
import { forEachMenu } from '@/runtime/DefineMenu.ts'
import { normalizeShortKey } from '@/utils/webutils.ts'
import WorldModel from '@/designer/WorldModel.ts'
import WorldModel from '@/model/WorldModel.ts'
/**
*

Loading…
Cancel
Save