Browse Source

WorldModel open

master
修宁 7 months ago
parent
commit
9bb586e511
  1. 4
      src/model/ModelUtils.ts
  2. 6
      src/model/WorldModel.ts
  3. 3
      src/model/itemTypeDefine/ItemTypeLineBase.ts
  4. 7
      src/views/ModelMainInit.ts

4
src/model/ModelUtils.ts

@ -3,6 +3,7 @@ import type { ItemJson } from '@/model/itemTypeDefine/ItemTypeDefine.ts'
import { getAllItemTypes, getItemTypeByName } from '@/runtime/DefineItemType.ts'
export function loadSceneFromJson(scene: THREE.Scene, items: ItemJson[]) {
console.time('loadSceneFromJson')
const object3ds = loadObject3DFromJson(items)
// 通知所有加载的对象, 模型加载完成
@ -20,6 +21,9 @@ export function loadSceneFromJson(scene: THREE.Scene, items: ItemJson[]) {
getAllItemTypes().forEach(itemType => {
itemType.clazz.afterAddScene(scene, object3ds)
})
console.log('loadSceneFromJson:', items.length, 'items,', object3ds.length, 'objects')
console.timeEnd('loadSceneFromJson')
}
function loadObject3DFromJson(items: ItemJson[]): THREE.Object3D[] {

6
src/model/WorldModel.ts

@ -18,14 +18,10 @@ export default class WorldModel {
viewPorts: Viewport[] = []
constructor() {
this.init()
this.open()
}
init() {
window['worldModel'] = this
Promise.all([
return Promise.all([
MeasureMeta.clazz.init(this)
]).then(() => {

3
src/model/itemTypeDefine/ItemTypeLineBase.ts

@ -60,14 +60,13 @@ export default abstract class ItemTypeLineBase extends ItemTypeBase {
const geom = line.geometry
geom.setFromPoints([startPoint.position, endPoint.position])
this.afterLoadLine(line)
if (startPoint.parent) {
startPoint.parent.add(line)
} else {
scene.add(line)
}
this.afterLoadLine(line)
this.linkArray.push(line)
}
}

7
src/views/ModelMainInit.ts

@ -35,7 +35,12 @@ export function ModelMainInit() {
ToolsMenu.install()
Model3DView.install()
new WorldModel().init()
const worldModel = new WorldModel()
window['worldModel'] = worldModel
worldModel.init().then(() => {
worldModel.open()
})
}
export function ModelMainMounted() {

Loading…
Cancel
Save