diff --git a/src/model/WorldModelType.ts b/src/model/WorldModelType.ts index 77cf2a8..ac14f25 100644 --- a/src/model/WorldModelType.ts +++ b/src/model/WorldModelType.ts @@ -130,11 +130,6 @@ export interface ItemJson { */ dt: { /** - * 测量线段关联的点对象(uuid), 仅在 a='ln' 时有效 - */ - link?: string[] - - /** * 物流关联对象(uuid) */ center?: string[] diff --git a/src/model/example1.js b/src/model/example1.js index 9273172..16b22a2 100644 --- a/src/model/example1.js +++ b/src/model/example1.js @@ -48,8 +48,7 @@ export default { [0.25, 0.1, 0.25] // 缩放向量 scale ], dt: { // 用户数据, 可自定义, 一般用在 three.js 的 userData 中 - link: ['p2'], // 用于 a='ln' 的测量线段, 关联的点对象(uuid) - center: [], // 物流关联对象(uuid) + center: ['p2'], // 用于 a='ln' 的测量线段, 关联的点对象(uuid) in: [], // 物流入方向关联的对象(uuid) out: [] // 物流出方向关联的对象(uuid) } @@ -59,7 +58,7 @@ export default { t: 'measure', a: 'ln', l: '测量2', c: '#ff0000', tf: [[-9.0, 0, 3], [0, 0, 0], [0.25, 0.1, 0.25]], dt: { - link: ['p3', 'p4'] + center: ['p3', 'p4'] } }, { @@ -67,7 +66,7 @@ export default { t: 'measure', a: 'ln', l: '测量3', c: '#ff0000', tf: [[-5.0, 0, 3], [0, 0, 0], [0.25, 0.1, 0.25]], dt: { - link: [] + center: [] } }, { @@ -75,7 +74,7 @@ export default { t: 'measure', a: 'ln', l: '测量3', c: '#ff0000', tf: [[-9.0, 0, 8], [0, 0, 0], [0.25, 0.1, 0.25]], dt: { - link: [] + center: [] } } ] diff --git a/src/model/itemType/ItemTypeLine.ts b/src/model/itemType/ItemTypeLine.ts index 62629a6..5a88ec8 100644 --- a/src/model/itemType/ItemTypeLine.ts +++ b/src/model/itemType/ItemTypeLine.ts @@ -73,7 +73,7 @@ export default abstract class ItemTypeLine extends ItemType { } /** - * 所有点数据加载完成后,添加进场景之后,需要根据 link 数组创建连接线 + * 所有点数据加载完成后,添加进场景之后,需要根据 center 数组创建连接线 */ afterAddScene(viewport: Viewport, scene: THREE.Scene, objects: THREE.Object3D[]) { super.afterAddScene(viewport, scene, objects) @@ -82,8 +82,8 @@ export default abstract class ItemTypeLine extends ItemType { for (let i = 0; i < this.pointArray.length; i++) { const startPoint = this.pointArray[i] - // 找到这个元素的 userData.link 数组 - const linkArray: string[] = startPoint.userData.link || [] + // 找到这个元素的 userData.center 数组 + const linkArray: string[] = startPoint.userData.center || [] for (let j = 0; j < linkArray.length; j++) { const linkId = linkArray[j] @@ -179,7 +179,7 @@ export default abstract class ItemTypeLine extends ItemType { } // 无论 a->b 还是 b->a 都需要收集 - if (_.includes(targetObj.userData?.link, point.uuid) || _.includes(point.userData?.link, targetObj.uuid)) { + if (_.includes(targetObj.userData?.center, point.uuid) || _.includes(point.userData?.center, targetObj.uuid)) { relationPoints.add(targetObj) } }) @@ -208,7 +208,7 @@ export default abstract class ItemTypeLine extends ItemType { // 判断谁是起点,谁是终点 let startPoint: THREE.Object3D let endPoint: THREE.Object3D - if (_.includes(targetPoint.userData?.link, this.dragPoint.uuid)) { + if (_.includes(targetPoint.userData?.center, this.dragPoint.uuid)) { startPoint = targetPoint endPoint = this.dragPoint diff --git a/src/model/itemType/Toolbox.ts b/src/model/itemType/Toolbox.ts index 96d217f..7b67120 100644 --- a/src/model/itemType/Toolbox.ts +++ b/src/model/itemType/Toolbox.ts @@ -257,7 +257,9 @@ export default abstract class Toolbox { [defaultScale.x, defaultScale.y, defaultScale.z] ], dt: { - link: [] as string[] + in: [] as string[], + out: [] as string[], + center: [] as string[] } } as ItemJson const marker = this.itemType.createPoint(point, itemJson) diff --git a/src/model/itemType/ToolboxLine.ts b/src/model/itemType/ToolboxLine.ts index 818889b..74e00ff 100644 --- a/src/model/itemType/ToolboxLine.ts +++ b/src/model/itemType/ToolboxLine.ts @@ -31,7 +31,7 @@ export default class ToolboxLine extends Toolbox { afterAddPoint(startPoint: THREE.Object3D, point: THREE.Object3D) { // 如果起始点存在,则将新点添加到起始点的链接中 - startPoint.userData.link.push(point.uuid) + startPoint.userData.center.push(point.uuid) this.itemType.createLine(this.viewport, this.viewport.scene, this.startPoint, point) }