Browse Source

重命名. ItemTypeBaseToolbox -> Toolbox

ItemTypeLineToolbox -> ToolboxLine

     ItemTypeBase -> ItemType
     ItemTypeLineBase -> ItemTypeLine
master
修宁 7 months ago
parent
commit
a6507a815e
  1. 6
      src/designer/Viewport.ts
  2. 9
      src/model/itemType/ItemType.ts
  3. 4
      src/model/itemType/ItemTypeDefine.ts
  4. 4
      src/model/itemType/ItemTypeLine.ts
  5. 10
      src/model/itemType/Toolbox.ts
  6. 11
      src/model/itemType/ToolboxLine.ts
  7. 12
      src/model/itemType/measure/Measure.ts
  8. 8
      src/model/itemType/measure/MeasureToolbox.ts

6
src/designer/Viewport.ts

@ -13,7 +13,7 @@ import { CSS3DRenderer } from 'three/examples/jsm/renderers/CSS3DRenderer'
import { CSS2DRenderer } from 'three/examples/jsm/renderers/CSS2DRenderer' import { CSS2DRenderer } from 'three/examples/jsm/renderers/CSS2DRenderer'
import { getAllItemTypes } from '@/runtime/DefineItemType.ts' import { getAllItemTypes } from '@/runtime/DefineItemType.ts'
import type { ItemTypeDefineOption } from '@/model/itemType/ItemTypeDefine.ts' import type { ItemTypeDefineOption } from '@/model/itemType/ItemTypeDefine.ts'
import type ItemTypeBaseToolbox from '@/model/itemType/ItemTypeBaseToolbox.ts' import type Toolbox from '@/model/itemType/Toolbox.ts'
/** /**
* *
@ -33,11 +33,11 @@ export default class Viewport {
dragControl: EsDragControls dragControl: EsDragControls
animationFrameId: any = null animationFrameId: any = null
currentTool: ItemTypeBaseToolbox | null = null currentTool: Toolbox | null = null
tools: ITool[] = [ tools: ITool[] = [
new MouseMoveInspect() new MouseMoveInspect()
] ]
toolbox: Record<string, ItemTypeBaseToolbox> = {} toolbox: Record<string, Toolbox> = {}
/** /**
* *

9
src/model/itemType/ItemTypeBase.ts → src/model/itemType/ItemType.ts

@ -1,11 +1,10 @@
import { type Object3D } from 'three' import * as THREE from 'three'
import type WorldModel from '@/model/WorldModel.ts' import type WorldModel from '@/model/WorldModel.ts'
import type { ItemJson, ItemTypeDefineOption } from '@/model/itemType/ItemTypeDefine.ts' import type { ItemJson, ItemTypeDefineOption } from '@/model/itemType/ItemTypeDefine.ts'
import * as THREE from 'three'
import type Viewport from '@/designer/Viewport.ts' import type Viewport from '@/designer/Viewport.ts'
import type ItemTypeBaseToolbox from '@/model/itemType/ItemTypeBaseToolbox.ts' import type Toolbox from '@/model/itemType/Toolbox.ts'
export default abstract class ItemTypeBase { export default abstract class ItemType {
/** /**
* *
@ -25,7 +24,7 @@ export default abstract class ItemTypeBase {
abstract loadFromJson(item: ItemJson): undefined | THREE.Object3D abstract loadFromJson(item: ItemJson): undefined | THREE.Object3D
abstract createToolbox(viewport: Viewport): ItemTypeBaseToolbox abstract createToolbox(viewport: Viewport): Toolbox
abstract getDefaultScale(): THREE.Vector3 abstract getDefaultScale(): THREE.Vector3

4
src/model/itemType/ItemTypeDefine.ts

@ -1,4 +1,4 @@
import type ItemTypeBase from '@/model/itemType/ItemTypeBase.ts' import type ItemType from '@/model/itemType/ItemType.ts'
export type ActionType = export type ActionType =
/** /**
@ -22,7 +22,7 @@ export interface ItemTypeDefineOption {
name: string name: string
label: string label: string
actionType: ActionType actionType: ActionType
clazz: ItemTypeBase clazz: ItemType
} }
/** /**

4
src/model/itemType/ItemTypeLineBase.ts → src/model/itemType/ItemTypeLine.ts

@ -1,5 +1,5 @@
import * as THREE from 'three' import * as THREE from 'three'
import ItemTypeBase from '@/model/itemType/ItemTypeBase.ts' import ItemType from '@/model/itemType/ItemType.ts'
import type { ItemJson } from '@/model/itemType/ItemTypeDefine.ts' import type { ItemJson } from '@/model/itemType/ItemTypeDefine.ts'
import type WorldModel from '@/model/WorldModel.ts' import type WorldModel from '@/model/WorldModel.ts'
import type Viewport from '@/designer/Viewport.ts' import type Viewport from '@/designer/Viewport.ts'
@ -11,7 +11,7 @@ let pmFn
* ILineType 线 * ILineType 线
* 线, , * 线, ,
*/ */
export default abstract class ItemTypeLineBase extends ItemTypeBase { export default abstract class ItemTypeLine extends ItemType {
private relationPoints: THREE.Mesh[] = [] private relationPoints: THREE.Mesh[] = []
private dragViewport: Viewport | undefined private dragViewport: Viewport | undefined
private dragPoint: THREE.Mesh | undefined private dragPoint: THREE.Mesh | undefined

10
src/model/itemType/ItemTypeBaseToolbox.ts → src/model/itemType/Toolbox.ts

@ -1,6 +1,6 @@
import * as THREE from 'three' import * as THREE from 'three'
import type Viewport from '@/designer/Viewport.ts' import type Viewport from '@/designer/Viewport.ts'
import type ItemTypeBase from '@/model/itemType/ItemTypeBase.ts' import type ItemType from '@/model/itemType/ItemType.ts'
import type { ItemJson } from '@/model/itemType/ItemTypeDefine.ts' import type { ItemJson } from '@/model/itemType/ItemTypeDefine.ts'
let pdFn, pmFn, puFn let pdFn, pmFn, puFn
@ -8,7 +8,7 @@ let pdFn, pmFn, puFn
/** /**
* *
*/ */
export default abstract class ItemTypeBaseToolbox { export default abstract class Toolbox {
/** /**
* Three.js . * Three.js .
* : * :
@ -60,7 +60,7 @@ export default abstract class ItemTypeBaseToolbox {
_itemType: any _itemType: any
get itemType(): ItemTypeBase { get itemType(): ItemType {
return this._itemType return this._itemType
} }
@ -80,7 +80,7 @@ export default abstract class ItemTypeBaseToolbox {
/** /**
* *
*/ */
init(viewport: any, itemType: ItemTypeBase): void { init(viewport: any, itemType: ItemType): void {
this.viewport = viewport this.viewport = viewport
this.canvas = this.viewport.renderer.domElement as HTMLCanvasElement this.canvas = this.viewport.renderer.domElement as HTMLCanvasElement
this._itemType = itemType this._itemType = itemType
@ -156,7 +156,7 @@ export default abstract class ItemTypeBaseToolbox {
obj.name = this.getTempPointName() obj.name = this.getTempPointName()
obj.userData = { obj.userData = {
mode: this.mode, mode: this.mode,
type: ItemTypeBaseToolbox.TMP_TYPE type: Toolbox.TMP_TYPE
} }
return obj return obj
} }

11
src/model/itemType/ItemTypeLineToolbox.ts → src/model/itemType/ToolboxLine.ts

@ -1,20 +1,17 @@
import * as THREE from 'three' import * as THREE from 'three'
import type { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer' import Toolbox from '@/model/itemType/Toolbox.ts'
import ItemTypeBaseToolbox from '@/model/itemType/ItemTypeBaseToolbox.ts' import type ItemTypeLine from '@/model/itemType/ItemTypeLine.ts'
import type ItemTypeLineBase from '@/model/itemType/ItemTypeLineBase.ts'
let pdFn, pmFn, puFn
/** /**
* 线 * 线
*/ */
export default class ItemTypeLineToolbox extends ItemTypeBaseToolbox { export default class ToolboxLine extends Toolbox {
/** /**
* 线 * 线
*/ */
tempLine?: THREE.Line tempLine?: THREE.Line
get itemType(): ItemTypeLineBase { get itemType(): ItemTypeLine {
return this._itemType return this._itemType
} }

12
src/model/itemType/measure/Measure.ts

@ -1,16 +1,16 @@
import * as THREE from 'three' import * as THREE from 'three'
import { Material } from 'three' import { Material } from 'three'
import ItemTypeLineBase from '@/model/itemType/ItemTypeLineBase.ts' import ItemTypeLine from '@/model/itemType/ItemTypeLine.ts'
import WorldModel from '@/model/WorldModel.ts' import WorldModel from '@/model/WorldModel.ts'
import { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer' import { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer'
import { numberToString } from '@/utils/webutils.ts' import { numberToString } from '@/utils/webutils.ts'
import { findObject3DById } from '@/model/ModelUtils.ts' import { findObject3DById } from '@/model/ModelUtils.ts'
import Viewport from '@/designer/Viewport.ts' import Viewport from '@/designer/Viewport.ts'
import ItemTypeLineToolbox from '@/model/itemType/ItemTypeLineToolbox.ts' import ToolboxLine from '@/model/itemType/ToolboxLine.ts'
import MeasureToolbox from '@/model/itemType/measure/MeasureToolbox.ts' import MeasureToolbox from '@/model/itemType/measure/MeasureToolbox.ts'
import ItemTypeBaseToolbox from '@/model/itemType/ItemTypeBaseToolbox.ts' import Toolbox from '@/model/itemType/Toolbox.ts'
export default class Measure extends ItemTypeLineBase { export default class Measure extends ItemTypeLine {
/** /**
* , 线. 线 * , 线. 线
*/ */
@ -59,7 +59,7 @@ export default class Measure extends ItemTypeLineBase {
return [] return []
} }
createToolbox(viewport: Viewport): ItemTypeLineToolbox { createToolbox(viewport: Viewport): ToolboxLine {
const toolbox = new MeasureToolbox(this.group) const toolbox = new MeasureToolbox(this.group)
toolbox.init(viewport, this) toolbox.init(viewport, this)
return toolbox return toolbox
@ -178,7 +178,7 @@ export default class Measure extends ItemTypeLineBase {
const obj = new CSS2DObject(div) const obj = new CSS2DObject(div)
obj.name = MeasureToolbox.TMP_LABEL_NAME obj.name = MeasureToolbox.TMP_LABEL_NAME
obj.userData = { obj.userData = {
type: ItemTypeBaseToolbox.TMP_TYPE type: Toolbox.TMP_TYPE
} }
return obj return obj
} }

8
src/model/itemType/measure/MeasureToolbox.ts

@ -1,14 +1,14 @@
import * as THREE from 'three' import * as THREE from 'three'
import ItemTypeLineToolbox from '@/model/itemType/ItemTypeLineToolbox.ts' import ToolboxLine from '@/model/itemType/ToolboxLine.ts'
import { numberToString } from '@/utils/webutils.ts' import { numberToString } from '@/utils/webutils.ts'
import type Measure from './Measure.ts' import type Measure from './Measure.ts'
import type { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer' import type { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer'
import ItemTypeBaseToolbox from '@/model/itemType/ItemTypeBaseToolbox.ts' import Toolbox from '@/model/itemType/Toolbox.ts'
/** /**
* *
*/ */
export default class MeasureToolbox extends ItemTypeLineToolbox { export default class MeasureToolbox extends ToolboxLine {
group: THREE.Group group: THREE.Group
@ -71,7 +71,7 @@ export default class MeasureToolbox extends ItemTypeLineToolbox {
this.tempLabel.name = MeasureToolbox.TMP_LABEL_NAME this.tempLabel.name = MeasureToolbox.TMP_LABEL_NAME
this.tempLabel.userData = { this.tempLabel.userData = {
mode: this.mode, mode: this.mode,
type: ItemTypeBaseToolbox.TMP_TYPE type: Toolbox.TMP_TYPE
} }
this.viewport.scene.add(this.tempLabel) this.viewport.scene.add(this.tempLabel)
} }

Loading…
Cancel
Save