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 { getAllItemTypes } from '@/runtime/DefineItemType.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
animationFrameId: any = null
currentTool: ItemTypeBaseToolbox | null = null
currentTool: Toolbox | null = null
tools: ITool[] = [
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 { ItemJson, ItemTypeDefineOption } from '@/model/itemType/ItemTypeDefine.ts'
import * as THREE from 'three'
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 createToolbox(viewport: Viewport): ItemTypeBaseToolbox
abstract createToolbox(viewport: Viewport): Toolbox
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 =
/**
@ -22,7 +22,7 @@ export interface ItemTypeDefineOption {
name: string
label: string
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 ItemTypeBase from '@/model/itemType/ItemTypeBase.ts'
import ItemType from '@/model/itemType/ItemType.ts'
import type { ItemJson } from '@/model/itemType/ItemTypeDefine.ts'
import type WorldModel from '@/model/WorldModel.ts'
import type Viewport from '@/designer/Viewport.ts'
@ -11,7 +11,7 @@ let pmFn
* ILineType 线
* 线, ,
*/
export default abstract class ItemTypeLineBase extends ItemTypeBase {
export default abstract class ItemTypeLine extends ItemType {
private relationPoints: THREE.Mesh[] = []
private dragViewport: Viewport | 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 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'
let pdFn, pmFn, puFn
@ -8,7 +8,7 @@ let pdFn, pmFn, puFn
/**
*
*/
export default abstract class ItemTypeBaseToolbox {
export default abstract class Toolbox {
/**
* Three.js .
* :
@ -60,7 +60,7 @@ export default abstract class ItemTypeBaseToolbox {
_itemType: any
get itemType(): ItemTypeBase {
get itemType(): 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.canvas = this.viewport.renderer.domElement as HTMLCanvasElement
this._itemType = itemType
@ -156,7 +156,7 @@ export default abstract class ItemTypeBaseToolbox {
obj.name = this.getTempPointName()
obj.userData = {
mode: this.mode,
type: ItemTypeBaseToolbox.TMP_TYPE
type: Toolbox.TMP_TYPE
}
return obj
}

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

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

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

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

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

@ -1,14 +1,14 @@
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 type Measure from './Measure.ts'
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
@ -71,7 +71,7 @@ export default class MeasureToolbox extends ItemTypeLineToolbox {
this.tempLabel.name = MeasureToolbox.TMP_LABEL_NAME
this.tempLabel.userData = {
mode: this.mode,
type: ItemTypeBaseToolbox.TMP_TYPE
type: Toolbox.TMP_TYPE
}
this.viewport.scene.add(this.tempLabel)
}

Loading…
Cancel
Save