diff --git a/src/core/Constract.ts b/src/core/Constract.ts index 34d4c0a..910ac50 100644 --- a/src/core/Constract.ts +++ b/src/core/Constract.ts @@ -1,4 +1,4 @@ -export default Object.freeze({ +const Constract = Object.freeze({ // 光标相关 CursorModeNormal: 'normal', @@ -19,5 +19,11 @@ export default Object.freeze({ CursorModeGstore: 'gstore', // 选择模式 - CursorModeSelectByRec: 'selectByRec' + CursorModeSelectByRec: 'selectByRec', + + HEIGHT_GSTORE: 0.03, + HEIGHT_MEASURE: 0.02, + HEIGHT_RACK: 0, + HEIGHT_WAY: 0.01 }) +export default Constract diff --git a/src/modules/gstore/GstoreRenderer.ts b/src/modules/gstore/GstoreRenderer.ts index 40c284e..bcb8438 100644 --- a/src/modules/gstore/GstoreRenderer.ts +++ b/src/modules/gstore/GstoreRenderer.ts @@ -3,6 +3,7 @@ import BaseRenderer from '@/core/base/BaseRenderer.ts' import { Line2 } from 'three/examples/jsm/lines/Line2.js' import { LineGeometry } from 'three/examples/jsm/lines/LineGeometry.js' import { LineMaterial } from 'three/examples/jsm/lines/LineMaterial.js' +import Constract from '@/core/Constract.ts' /** * 地堆货位渲染器 @@ -15,7 +16,7 @@ export default class GstoreRenderer extends BaseRenderer { /** * 默认点的高度, 防止和地面重合 */ - readonly defulePositionY: number = 0.5 // 默认点的高度, 0.01, 防止和地面重合 + readonly defulePositionY: number = Constract.HEIGHT_GSTORE readonly defaultScale: THREE.Vector3 = new THREE.Vector3(1.5, 1.2, 0.1) readonly defaultRotation: THREE.Vector3 = new THREE.Vector3(0, 0, 0) readonly defaultLineWidth: number = 0.05 diff --git a/src/modules/measure/MeasureRenderer.ts b/src/modules/measure/MeasureRenderer.ts index 610e214..18b6d60 100644 --- a/src/modules/measure/MeasureRenderer.ts +++ b/src/modules/measure/MeasureRenderer.ts @@ -8,6 +8,7 @@ import { numberToString } from '@/utils/webutils.ts' import { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer' import { Text } from 'troika-three-text' import SimSunTTF from '@/assets/fonts/simsunb.ttf' +import Constract from '@/core/Constract.ts' /** * 辅助测量工具渲染器 @@ -28,7 +29,7 @@ export default class MeasureRenderer extends BaseRenderer { pointMaterial: THREE.Material lineMaterial: LineMaterial - readonly defulePositionY = 0.01 + readonly defulePositionY = Constract.HEIGHT_MEASURE readonly defaultScale: THREE.Vector3 = new THREE.Vector3(0.1, 0.1, 0.1) readonly defaultRotation: THREE.Vector3 = new THREE.Vector3(90, 0, 0) @@ -211,4 +212,4 @@ export default class MeasureRenderer extends BaseRenderer { this.pointMaterial.dispose() this.lineMaterial.dispose() } -} \ No newline at end of file +} diff --git a/src/modules/rack/RackRenderer.ts b/src/modules/rack/RackRenderer.ts index e6d5984..b058e64 100644 --- a/src/modules/rack/RackRenderer.ts +++ b/src/modules/rack/RackRenderer.ts @@ -3,6 +3,7 @@ import BaseRenderer from '@/core/base/BaseRenderer.ts' import { Line2 } from 'three/examples/jsm/lines/Line2.js' import { LineGeometry } from 'three/examples/jsm/lines/LineGeometry.js' import { LineMaterial } from 'three/examples/jsm/lines/LineMaterial.js' +import Constract from '@/core/Constract.ts' /** * 地堆货位渲染器 @@ -15,7 +16,7 @@ export default class RackRenderer extends BaseRenderer { /** * 默认点的高度, 防止和地面重合 */ - readonly defulePositionY: number = 0.5 // 默认点的高度, 0.01, 防止和地面重合 + readonly defulePositionY: number = Constract.HEIGHT_WAY readonly defaultScale: THREE.Vector3 = new THREE.Vector3(1.5, 1.2, 0.1) readonly defaultRotation: THREE.Vector3 = new THREE.Vector3(0, 0, 0) readonly defaultLineWidth: number = 0.05 @@ -56,7 +57,7 @@ export default class RackRenderer extends BaseRenderer { group.name = RackRenderer.POINT_NAME // 绘制背景矩形框 - const planeGeometry = new THREE.PlaneGeometry(item.dt.storeWidth, item.dt.storeDepth); + const planeGeometry = new THREE.PlaneGeometry(item.dt.storeWidth, item.dt.storeDepth) planeGeometry.rotateX(-Math.PI / 2) const planeMaterial = new THREE.MeshBasicMaterial({ color: 'white', @@ -64,8 +65,8 @@ export default class RackRenderer extends BaseRenderer { opacity: 0.2, // 50%透明度 depthWrite: false, // 防止深度冲突 side: THREE.DoubleSide // 双面渲染:ml-citation{ref="5,8" data="citationList"} - }); - const planeMesh = new THREE.Mesh(planeGeometry, planeMaterial); + }) + const planeMesh = new THREE.Mesh(planeGeometry, planeMaterial) group.add(planeMesh) if (!item.dt.storeWidth || !item.dt.storeDepth) { @@ -77,12 +78,12 @@ export default class RackRenderer extends BaseRenderer { const lineYLen = item.dt.storeDepth - this.defaultLineWidth const lineGeometry = new LineGeometry().setPositions([ - -(lineXLen/2),-(lineYLen/2),0, - lineXLen/2,-(lineYLen/2),0, - lineXLen/2,lineYLen/2,0, - -(lineXLen/2),lineYLen/2,0, - -(lineXLen/2),-(lineYLen/2),0 - ]); + -(lineXLen / 2), -(lineYLen / 2), 0, + lineXLen / 2, -(lineYLen / 2), 0, + lineXLen / 2, lineYLen / 2, 0, + -(lineXLen / 2), lineYLen / 2, 0, + -(lineXLen / 2), -(lineYLen / 2), 0 + ]) lineGeometry.rotateX(-Math.PI / 2) const lineMaterial = new LineMaterial({ color: 0x00ff00, @@ -90,9 +91,9 @@ export default class RackRenderer extends BaseRenderer { worldUnits: true, resolution: new THREE.Vector2(window.innerWidth, window.innerHeight), side: THREE.DoubleSide - }); + }) // - const line = new Line2(lineGeometry, lineMaterial); + const line = new Line2(lineGeometry, lineMaterial) group.add(line as THREE.Object3D) return [group] diff --git a/src/modules/way/WayRenderer.ts b/src/modules/way/WayRenderer.ts index ac468ab..4f0f3c2 100644 --- a/src/modules/way/WayRenderer.ts +++ b/src/modules/way/WayRenderer.ts @@ -6,6 +6,7 @@ import SimSunTTF from '@/assets/fonts/simsunb.ttf' import { getLineId } from '@/core/ModelUtils.ts' import { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer' import { numberToString } from '@/utils/webutils.ts' +import Constract from '@/core/Constract.ts' /** * 辅助测量工具渲染器 @@ -28,7 +29,7 @@ export default class WayRenderer extends BaseRenderer { /** * 默认点的高度, 防止和地面重合 */ - readonly defulePositionY: number = 0.8 // 默认点的高度, 0.01, 防止和地面重合 + readonly defulePositionY: number = Constract.HEIGHT_WAY readonly defaultScale: THREE.Vector3 = new THREE.Vector3(0.25, 0.25, 0.1) readonly defaultRotation: THREE.Vector3 = new THREE.Vector3(90, 0, 0)