@anov/3d 0.0.92 → 0.0.94

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,7 +21,11 @@ var cylinderData = [{
21
21
  color: new Color('#FED602').getHex(),
22
22
  points: regionMap.reform.poi.position,
23
23
  height: 80,
24
- areaLabel: '重整装置区'
24
+ areaLabel: '重整装置区',
25
+ camera: {
26
+ target: [-314.011126, 0.55002, -146.543503],
27
+ position: [-312.394914, 257.245626, 47.197057]
28
+ }
25
29
  }, {
26
30
  label: '7人',
27
31
  id: '2',
@@ -31,7 +35,11 @@ var cylinderData = [{
31
35
  color: new Color('#FED602').getHex(),
32
36
  points: regionMap.reduction.poi.position,
33
37
  height: 70,
34
- areaLabel: '常减压装置区'
38
+ areaLabel: '常减压装置区',
39
+ camera: {
40
+ target: [31.316545, 0.550012, -130.972087],
41
+ position: [34.239022, 267.62292, 62.561665]
42
+ }
35
43
  }, {
36
44
  label: '4人',
37
45
  id: '3',
@@ -41,7 +49,11 @@ var cylinderData = [{
41
49
  color: new Color('#FED602').getHex(),
42
50
  points: regionMap.crudeOil.poi.position,
43
51
  height: 40,
44
- areaLabel: '原油罐区'
52
+ areaLabel: '原油罐区',
53
+ camera: {
54
+ target: [353.973508, 0.550011, -125.345886],
55
+ position: [353.432421, 201.482934, 32.729098]
56
+ }
45
57
  }, {
46
58
  label: '10人',
47
59
  id: '4',
@@ -51,7 +63,11 @@ var cylinderData = [{
51
63
  color: new Color('#FED602').getHex(),
52
64
  points: regionMap.catalyticCracking.poi.position,
53
65
  height: 100,
54
- areaLabel: '催化裂化装置区'
66
+ areaLabel: '催化裂化装置区',
67
+ camera: {
68
+ target: [-322.573001, 0.550014, 31.815163],
69
+ position: [-320.957427, 257.144259, 225.47922]
70
+ }
55
71
  }, {
56
72
  label: '3人',
57
73
  id: '5',
@@ -61,7 +77,11 @@ var cylinderData = [{
61
77
  color: new Color('#FED602').getHex(),
62
78
  points: regionMap.hydrocrackingUnit.poi.position,
63
79
  height: 30,
64
- areaLabel: '加氢裂化装置区'
80
+ areaLabel: '加氢裂化装置区',
81
+ camera: {
82
+ target: [-307.049915, 0.550014, 168.905777],
83
+ position: [-305.525588, 240.704876, 351.631836]
84
+ }
65
85
  }, {
66
86
  label: '8人',
67
87
  id: '6',
@@ -71,7 +91,11 @@ var cylinderData = [{
71
91
  color: new Color('#FED602').getHex(),
72
92
  points: regionMap.cokingUnit.poi.position,
73
93
  height: 80,
74
- areaLabel: '焦化装置区'
94
+ areaLabel: '焦化装置区',
95
+ camera: {
96
+ target: [92.780379, 0.550012, 106.726765],
97
+ position: [96.849312, 372.392759, 376.181734]
98
+ }
75
99
  }, {
76
100
  label: '20人',
77
101
  id: '7',
@@ -81,7 +105,11 @@ var cylinderData = [{
81
105
  color: new Color('#FED602').getHex(),
82
106
  points: regionMap.administrative.poi.position,
83
107
  height: 150,
84
- areaLabel: '办公区'
108
+ areaLabel: '办公区',
109
+ camera: {
110
+ target: [416.932569, 0.550009, 85.100115],
111
+ position: [567.413903, 236.090124, 82.586741]
112
+ }
85
113
  }];
86
114
  var CylinderManage = /*#__PURE__*/function () {
87
115
  function CylinderManage(gobal, options) {
@@ -92,6 +120,8 @@ var CylinderManage = /*#__PURE__*/function () {
92
120
  _defineProperty(this, "option", void 0);
93
121
  _defineProperty(this, "gobal", void 0);
94
122
  _defineProperty(this, "currentoperate", cylinderData[0].belongTo);
123
+ _defineProperty(this, "highLightAreaId", void 0);
124
+ _defineProperty(this, "hoverAreaId", void 0);
95
125
  _defineProperty(this, "cameraListenerHandle", function () {
96
126
  var currentCameraPosition = _this.gobal.control.object.position;
97
127
  var box = _this.gobal.areaBoundingBox.boundingBoxMap.get(_this.currentoperate);
@@ -122,9 +152,12 @@ var CylinderManage = /*#__PURE__*/function () {
122
152
  interactionManager.add(group);
123
153
  var handleClick = function handleClick() {
124
154
  if (_this2.gobal.style === SceneStyle.real || group.visible === false) return;
125
- _this2.gobal.cameraUtil.focus({
126
- target: item.area,
127
- pitch: 0
155
+ var _item$camera = item.camera,
156
+ position = _item$camera.position,
157
+ target = _item$camera.target;
158
+ _this2.gobal.cameraUtil.set({
159
+ position: position,
160
+ target: target
128
161
  }).then(function () {
129
162
  emitter.emit('peoplemanagement-camera-enter', item);
130
163
  _this2.setVisible();
@@ -132,11 +165,28 @@ var CylinderManage = /*#__PURE__*/function () {
132
165
  currentGroup.visible = false;
133
166
  _this2.currentoperate = item.belongTo;
134
167
  });
168
+
169
+ // this.gobal.cameraUtil.focus({ target: item.area, pitch: 0 }).then(() => { })
135
170
  };
136
171
 
137
172
  // @ts-ignore
138
- _this2.gobal.regionPlane.planeMesh.get(item.id).addEventListener('click', function () {
139
- if (_this2.gobal.tag === SceneTag['people-management']) handleClick();
173
+ var plane = _this2.gobal.regionPlane.planeMesh.get(item.id);
174
+ plane.addEventListener('click', function () {
175
+ if (_this2.gobal.tag === SceneTag['people-management']) {
176
+ _this2.highLightAreaId = item.id;
177
+ handleClick();
178
+ }
179
+ });
180
+ plane.addEventListener('mouseover', function () {
181
+ if (_this2.gobal.tag === SceneTag['people-management']) {
182
+ var _this2$gobal$district;
183
+ _this2.hoverAreaId = item === null || item === void 0 ? void 0 : item.belongTo;
184
+ (_this2$gobal$district = _this2.gobal.districtLine) === null || _this2$gobal$district === void 0 ? void 0 : _this2$gobal$district.setHighLightLine(item === null || item === void 0 ? void 0 : item.belongTo);
185
+ }
186
+ });
187
+ plane.addEventListener('mouseout', function () {
188
+ var _this2$gobal$district2;
189
+ if (_this2.gobal.tag === SceneTag['people-management'] && _this2.hoverAreaId !== _this2.highLightAreaId) (_this2$gobal$district2 = _this2.gobal.districtLine) === null || _this2$gobal$district2 === void 0 ? void 0 : _this2$gobal$district2.removeHighLightLine(_this2.hoverAreaId);
140
190
  });
141
191
  group.addEventListener('click', function () {
142
192
  handleClick();
@@ -203,6 +253,7 @@ var CylinderManage = /*#__PURE__*/function () {
203
253
  key: "controlAddListener",
204
254
  value: function controlAddListener() {
205
255
  var _this3 = this;
256
+ //@ts-ignore
206
257
  var maxDistance = this.gobal.option.controls.maxDistance;
207
258
  maxDistance && this.gobal.control.addEventListener('change', function () {
208
259
  if (_this3.gobal.control.getDistance() >= maxDistance - 5) emitter.emit('peoplemanagement-control-maxDistance', null);
@@ -1 +1 @@
1
- {"version":3,"names":["BoxGeometry","Color","Group","Mesh","ShaderMaterial","Vector3","globalObjectManage","use","utils","createFontMesh","SceneStyle","SceneTag","regionMap","collisionDetection","lookAtOnYAxis","emitter","cylinderData","label","id","title","reform","belongTo","area","color","getHex","points","poi","position","height","areaLabel","reduction","crudeOil","catalyticCracking","hydrocrackingUnit","cokingUnit","administrative","CylinderManage","gobal","options","Map","currentCameraPosition","control","object","box","areaBoundingBox","boundingBoxMap","get","currentoperate","iscollision","emit","cameraRemoveListener","scene","option","forEach","item","cylinder","getMesh","group","name","visible","copy","fromArray","interactionManager","storeManagement","add","handleClick","style","real","cameraUtil","focus","target","pitch","then","setVisible","currentGroup","cylinderMesh","regionPlane","planeMesh","addEventListener","tag","set","font","font2","fontPromiseAll","Promise","all","meshArr","mesh","geometry","center","useframe","camera","controlAddListener","bar","data","width","gradientMaterial","transparent","depthTest","uniforms","intensity","value","vertexShader","fragmentShader","rotateY","Math","PI","cameraListenerHandle","maxDistance","controls","getDistance","removeEventListener"],"sources":["../../../src/factory/unit/cylinder.ts"],"sourcesContent":["import type { InteractionManager, Object3D, Scene } from '@anov/3d-core'\nimport { BoxGeometry, Color, Float32BufferAttribute, Group, Mesh, MeshBasicMaterial, ShaderMaterial, Vector3, globalObjectManage, use, utils } from '@anov/3d-core'\nimport createFontMesh from '../utils/fontMesh'\nimport type Factory3D from '../3d'\nimport { SceneStyle, SceneTag } from '../utils/constant'\nimport regionMap from '../regionData'\nimport { collisionDetection } from '../utils/areaBoundingBox'\n\nimport { lookAtOnYAxis } from '../utils'\n\nconst { emitter } = utils\n\nconst cylinderData = [\n {\n label: '8人',\n id: '1',\n title: regionMap.reform.title,\n belongTo: regionMap.reform.id,\n area: regionMap.reform.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.reform.poi.position,\n height: 80,\n areaLabel: '重整装置区',\n },\n {\n label: '7人',\n id: '2',\n title: regionMap.reduction.title,\n belongTo: regionMap.reduction.id,\n area: regionMap.reduction.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.reduction.poi.position,\n height: 70,\n areaLabel: '常减压装置区',\n },\n {\n label: '4人',\n id: '3',\n title: regionMap.crudeOil.title,\n belongTo: regionMap.crudeOil.id,\n area: regionMap.crudeOil.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.crudeOil.poi.position,\n height: 40,\n areaLabel: '原油罐区',\n },\n {\n label: '10人',\n id: '4',\n title: regionMap.catalyticCracking.title,\n belongTo: regionMap.catalyticCracking.id,\n area: regionMap.catalyticCracking.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.catalyticCracking.poi.position,\n height: 100,\n areaLabel: '催化裂化装置区',\n },\n {\n label: '3人',\n id: '5',\n title: regionMap.hydrocrackingUnit.title,\n belongTo: regionMap.hydrocrackingUnit.id,\n area: regionMap.hydrocrackingUnit.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.hydrocrackingUnit.poi.position,\n height: 30,\n areaLabel: '加氢裂化装置区',\n },\n {\n label: '8人',\n id: '6',\n title: regionMap.cokingUnit.title,\n belongTo: regionMap.cokingUnit.id,\n area: regionMap.cokingUnit.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.cokingUnit.poi.position,\n height: 80,\n areaLabel: '焦化装置区',\n },\n {\n label: '20人',\n id: '7',\n title: regionMap.administrative.title,\n belongTo: regionMap.administrative.id,\n area: regionMap.administrative.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.administrative.poi.position,\n height: 150,\n areaLabel: '办公区',\n },\n]\n\ntype CylinderManageOption = {\n visible?: boolean\n}\n\nclass CylinderManage {\n private scene: Scene\n readonly cylinderMesh: Map<string, Object3D> = new Map()\n private option: CylinderManageOption\n private gobal: Factory3D\n private currentoperate: string = cylinderData[0].belongTo\n\n constructor(gobal: Factory3D, options?: CylinderManageOption) {\n this.scene = gobal.scene.scene\n this.gobal = gobal\n this.option = options || {}\n }\n\n generateCylinder() {\n cylinderData.forEach((item) => {\n const cylinder = this.getMesh(item)\n const group = new Group()\n group.name = item.title\n\n group.visible = this.option?.visible ?? true\n cylinder.position.copy(new Vector3().fromArray([item.points[0], item.points[1] + item.height / 2, item.points[2]]))\n\n const interactionManager = utils.storeManagement.get<InteractionManager>('interactionManager')\n interactionManager.add(group)\n\n const handleClick = () => {\n if (this.gobal.style === SceneStyle.real || group.visible === false)\n return\n\n this.gobal.cameraUtil.focus({ target: item.area, pitch: 0 }).then(() => {\n emitter.emit('peoplemanagement-camera-enter', item)\n this.setVisible()\n\n const currentGroup = this.cylinderMesh.get(item.belongTo) as Group\n currentGroup.visible = false\n\n this.currentoperate = item.belongTo\n })\n }\n\n // @ts-ignore\n (this.gobal.regionPlane.planeMesh as Map<string, Object3D>).get(item.id).addEventListener('click', () => {\n if (this.gobal.tag === SceneTag['people-management'])\n handleClick()\n })\n\n group.addEventListener('click', () => {\n handleClick()\n })\n\n this.cylinderMesh.set(item.belongTo, group)\n group.add(cylinder)\n\n const font = createFontMesh(item.label, {\n position: new Vector3().fromArray([item.points[0], item.points[1] + item.height + 10, item.points[2]]),\n })\n\n const font2 = createFontMesh(item.areaLabel, {\n position: new Vector3().fromArray([item.points[0], item.points[1] + item.height + 25, item.points[2]]),\n })\n\n const fontPromiseAll = Promise.all([font, font2])\n\n fontPromiseAll.then((meshArr) => {\n meshArr.forEach(\n (mesh) => {\n mesh.geometry.center()\n group.add(mesh)\n\n use.useframe(() => {\n lookAtOnYAxis(mesh, globalObjectManage.camera.position)\n })\n this.scene.add(group)\n },\n )\n })\n })\n this.controlAddListener()\n }\n\n setVisible(visible = true) {\n // 控制CYCLE的隐藏、显示\n this.cylinderMesh.forEach((bar) => {\n bar.visible = visible\n })\n }\n\n getMesh(data) {\n const width = 10\n\n const geometry = new BoxGeometry(width, data.height, width)\n\n const gradientMaterial = new ShaderMaterial({\n transparent: true,\n depthTest: false,\n uniforms: {\n intensity: { value: 1.0 },\n },\n vertexShader: `\n varying vec2 vUv;\n varying vec3 vNormal;\n void main()\n {\n vUv = uv;\n vNormal =normalize( normal ) ;\n vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * mvPosition;\n }\n \n `,\n fragmentShader: `\n \n varying vec3 vNormal;\n varying vec2 vUv;\n uniform float intensity;\n\n void main( void ) {\n \n float colX =clamp( vUv.y+0.3,0.,1.);\n\n if(vNormal.y >0.5)\n {\n colX=1.;\n }\n if(vNormal.y <-0.5)\n {\n colX=0.;\n }\n\n vec4 col = vec4 (1.,mix(0.2,0.8,colX),0.,1.);\n\n gl_FragColor=col*colX*intensity;\n }\n `,\n\n })\n\n // 创建渐变立方体\n const cylinder = new Mesh(geometry, gradientMaterial)\n cylinder.rotateY(Math.PI / 2)\n return cylinder\n }\n\n private cameraListenerHandle = () => {\n const currentCameraPosition = this.gobal.control.object.position\n const box = this.gobal.areaBoundingBox.boundingBoxMap.get(this.currentoperate)\n const iscollision = collisionDetection(box, currentCameraPosition)\n if (!iscollision) {\n emitter.emit('peoplemanagement-camera-out', {\n belongTo: this.currentoperate,\n })\n\n this.cameraRemoveListener()\n }\n }\n\n private cameraAddListener() {\n this.gobal.control.addEventListener('change', this.cameraListenerHandle)\n }\n\n private controlAddListener() {\n const maxDistance = this.gobal.option.controls.maxDistance\n maxDistance && this.gobal.control.addEventListener('change', () => {\n if (this.gobal.control.getDistance() >= maxDistance - 5)\n emitter.emit('peoplemanagement-control-maxDistance', null)\n })\n }\n\n private cameraRemoveListener() {\n this.gobal.control.removeEventListener('change', this.cameraListenerHandle)\n }\n}\n\nexport default CylinderManage"],"mappings":"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"}
1
+ {"version":3,"names":["BoxGeometry","Color","Group","Mesh","ShaderMaterial","Vector3","globalObjectManage","use","utils","createFontMesh","SceneStyle","SceneTag","regionMap","collisionDetection","lookAtOnYAxis","emitter","cylinderData","label","id","title","reform","belongTo","area","color","getHex","points","poi","position","height","areaLabel","camera","target","reduction","crudeOil","catalyticCracking","hydrocrackingUnit","cokingUnit","administrative","CylinderManage","gobal","options","Map","currentCameraPosition","control","object","box","areaBoundingBox","boundingBoxMap","get","currentoperate","iscollision","emit","cameraRemoveListener","scene","option","forEach","item","cylinder","getMesh","group","name","visible","copy","fromArray","interactionManager","storeManagement","add","handleClick","style","real","cameraUtil","set","then","setVisible","currentGroup","cylinderMesh","plane","regionPlane","planeMesh","addEventListener","tag","highLightAreaId","hoverAreaId","districtLine","setHighLightLine","removeHighLightLine","font","font2","fontPromiseAll","Promise","all","meshArr","mesh","geometry","center","useframe","controlAddListener","bar","data","width","gradientMaterial","transparent","depthTest","uniforms","intensity","value","vertexShader","fragmentShader","rotateY","Math","PI","cameraListenerHandle","maxDistance","controls","getDistance","removeEventListener"],"sources":["../../../src/factory/unit/cylinder.ts"],"sourcesContent":["import type { InteractionManager, Object3D, Scene } from '@anov/3d-core'\nimport { BoxGeometry, Color, Float32BufferAttribute, Group, Mesh, MeshBasicMaterial, ShaderMaterial, Vector3, globalObjectManage, use, utils } from '@anov/3d-core'\nimport createFontMesh from '../utils/fontMesh'\nimport type Factory3D from '../3d'\nimport { SceneStyle, SceneTag } from '../utils/constant'\nimport regionMap from '../regionData'\nimport { collisionDetection } from '../utils/areaBoundingBox'\n\nimport { lookAtOnYAxis } from '../utils'\n\nconst { emitter } = utils\n\nconst cylinderData = [\n {\n label: '8人',\n id: '1',\n title: regionMap.reform.title,\n belongTo: regionMap.reform.id,\n area: regionMap.reform.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.reform.poi.position,\n height: 80,\n areaLabel: '重整装置区',\n camera: {\n target: [\n -314.011126,\n 0.55002,\n -146.543503,\n ],\n position: [\n -312.394914,\n 257.245626,\n 47.197057,\n ],\n },\n },\n {\n label: '7人',\n id: '2',\n title: regionMap.reduction.title,\n belongTo: regionMap.reduction.id,\n area: regionMap.reduction.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.reduction.poi.position,\n height: 70,\n areaLabel: '常减压装置区',\n camera: {\n target: [\n 31.316545,\n 0.550012,\n -130.972087,\n ],\n position: [\n 34.239022,\n 267.62292,\n 62.561665,\n ],\n },\n },\n {\n label: '4人',\n id: '3',\n title: regionMap.crudeOil.title,\n belongTo: regionMap.crudeOil.id,\n area: regionMap.crudeOil.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.crudeOil.poi.position,\n height: 40,\n areaLabel: '原油罐区',\n camera: {\n target: [\n 353.973508,\n 0.550011,\n -125.345886,\n ],\n position: [\n 353.432421,\n 201.482934,\n 32.729098,\n ],\n },\n },\n {\n label: '10人',\n id: '4',\n title: regionMap.catalyticCracking.title,\n belongTo: regionMap.catalyticCracking.id,\n area: regionMap.catalyticCracking.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.catalyticCracking.poi.position,\n height: 100,\n areaLabel: '催化裂化装置区',\n camera: {\n target: [\n -322.573001,\n 0.550014,\n 31.815163,\n ],\n position: [\n -320.957427,\n 257.144259,\n 225.47922,\n ],\n },\n },\n {\n label: '3人',\n id: '5',\n title: regionMap.hydrocrackingUnit.title,\n belongTo: regionMap.hydrocrackingUnit.id,\n area: regionMap.hydrocrackingUnit.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.hydrocrackingUnit.poi.position,\n height: 30,\n areaLabel: '加氢裂化装置区',\n camera: {\n target: [\n -307.049915,\n 0.550014,\n 168.905777,\n ],\n position: [\n -305.525588,\n 240.704876,\n 351.631836,\n ],\n },\n },\n {\n label: '8人',\n id: '6',\n title: regionMap.cokingUnit.title,\n belongTo: regionMap.cokingUnit.id,\n area: regionMap.cokingUnit.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.cokingUnit.poi.position,\n height: 80,\n areaLabel: '焦化装置区',\n camera: {\n target: [\n 92.780379,\n 0.550012,\n 106.726765,\n ],\n position: [\n 96.849312,\n 372.392759,\n 376.181734,\n ],\n },\n },\n {\n label: '20人',\n id: '7',\n title: regionMap.administrative.title,\n belongTo: regionMap.administrative.id,\n area: regionMap.administrative.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.administrative.poi.position,\n height: 150,\n areaLabel: '办公区',\n camera: {\n target: [\n 416.932569,\n 0.550009,\n 85.100115,\n ],\n position: [\n 567.413903,\n 236.090124,\n 82.586741,\n ],\n },\n },\n]\n\ntype CylinderManageOption = {\n visible?: boolean\n}\n\nclass CylinderManage {\n private scene: Scene\n readonly cylinderMesh: Map<string, Object3D> = new Map()\n private option: CylinderManageOption\n private gobal: Factory3D\n private currentoperate: string = cylinderData[0].belongTo\n\n private highLightAreaId: string\n private hoverAreaId: string\n\n constructor(gobal: Factory3D, options?: CylinderManageOption) {\n this.scene = gobal.scene.scene\n this.gobal = gobal\n this.option = options || {}\n }\n\n generateCylinder() {\n cylinderData.forEach((item) => {\n const cylinder = this.getMesh(item)\n const group = new Group()\n group.name = item.title\n\n group.visible = this.option?.visible ?? true\n cylinder.position.copy(new Vector3().fromArray([item.points[0], item.points[1] + item.height / 2, item.points[2]]))\n\n const interactionManager = utils.storeManagement.get<InteractionManager>('interactionManager')\n interactionManager.add(group)\n\n const handleClick = () => {\n if (this.gobal.style === SceneStyle.real || group.visible === false)\n return\n\n const { position, target } = item.camera\n this.gobal.cameraUtil.set({\n position, target,\n }).then(() => {\n emitter.emit('peoplemanagement-camera-enter', item)\n this.setVisible()\n\n const currentGroup = this.cylinderMesh.get(item.belongTo) as Group\n currentGroup.visible = false\n\n this.currentoperate = item.belongTo\n })\n\n // this.gobal.cameraUtil.focus({ target: item.area, pitch: 0 }).then(() => { })\n }\n\n // @ts-ignore\n const plane = (this.gobal.regionPlane.planeMesh as Map<string, Object3D>).get(item.id)\n plane.addEventListener('click', () => {\n if (this.gobal.tag === SceneTag['people-management']) {\n this.highLightAreaId = item.id\n handleClick()\n }\n })\n plane.addEventListener('mouseover', () => {\n if (this.gobal.tag === SceneTag['people-management']) {\n this.hoverAreaId = item?.belongTo\n this.gobal.districtLine?.setHighLightLine(item?.belongTo)\n }\n })\n plane.addEventListener('mouseout', () => {\n if (this.gobal.tag === SceneTag['people-management'] && this.hoverAreaId !== this.highLightAreaId)\n this.gobal.districtLine?.removeHighLightLine(this.hoverAreaId)\n })\n\n group.addEventListener('click', () => {\n handleClick()\n })\n\n this.cylinderMesh.set(item.belongTo, group)\n group.add(cylinder)\n\n const font = createFontMesh(item.label, {\n position: new Vector3().fromArray([item.points[0], item.points[1] + item.height + 10, item.points[2]]),\n })\n\n const font2 = createFontMesh(item.areaLabel, {\n position: new Vector3().fromArray([item.points[0], item.points[1] + item.height + 25, item.points[2]]),\n })\n\n const fontPromiseAll = Promise.all([font, font2])\n\n fontPromiseAll.then((meshArr) => {\n meshArr.forEach(\n (mesh) => {\n mesh.geometry.center()\n group.add(mesh)\n\n use.useframe(() => {\n lookAtOnYAxis(mesh, globalObjectManage.camera.position)\n })\n this.scene.add(group)\n },\n )\n })\n })\n this.controlAddListener()\n }\n\n setVisible(visible = true) {\n // 控制CYCLE的隐藏、显示\n this.cylinderMesh.forEach((bar) => {\n bar.visible = visible\n })\n }\n\n getMesh(data) {\n const width = 10\n\n const geometry = new BoxGeometry(width, data.height, width)\n\n const gradientMaterial = new ShaderMaterial({\n transparent: true,\n depthTest: false,\n uniforms: {\n intensity: { value: 1.0 },\n },\n vertexShader: `\n varying vec2 vUv;\n varying vec3 vNormal;\n void main()\n {\n vUv = uv;\n vNormal =normalize( normal ) ;\n vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * mvPosition;\n }\n \n `,\n fragmentShader: `\n \n varying vec3 vNormal;\n varying vec2 vUv;\n uniform float intensity;\n\n void main( void ) {\n \n float colX =clamp( vUv.y+0.3,0.,1.);\n\n if(vNormal.y >0.5)\n {\n colX=1.;\n }\n if(vNormal.y <-0.5)\n {\n colX=0.;\n }\n\n vec4 col = vec4 (1.,mix(0.2,0.8,colX),0.,1.);\n\n gl_FragColor=col*colX*intensity;\n }\n `,\n\n })\n\n // 创建渐变立方体\n const cylinder = new Mesh(geometry, gradientMaterial)\n cylinder.rotateY(Math.PI / 2)\n return cylinder\n }\n\n private cameraListenerHandle = () => {\n const currentCameraPosition = this.gobal.control.object.position\n const box = this.gobal.areaBoundingBox.boundingBoxMap.get(this.currentoperate)\n const iscollision = collisionDetection(box, currentCameraPosition)\n if (!iscollision) {\n emitter.emit('peoplemanagement-camera-out', {\n belongTo: this.currentoperate,\n })\n\n this.cameraRemoveListener()\n }\n }\n\n private cameraAddListener() {\n this.gobal.control.addEventListener('change', this.cameraListenerHandle)\n }\n\n private controlAddListener() {\n //@ts-ignore\n const maxDistance = this.gobal.option.controls.maxDistance\n maxDistance && this.gobal.control.addEventListener('change', () => {\n if (this.gobal.control.getDistance() >= maxDistance - 5)\n emitter.emit('peoplemanagement-control-maxDistance', null)\n })\n }\n\n private cameraRemoveListener() {\n this.gobal.control.removeEventListener('change', this.cameraListenerHandle)\n }\n}\n\nexport default CylinderManage"],"mappings":"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"}
@@ -14,7 +14,9 @@ declare class DistrictLineManage {
14
14
  generateLine(): void;
15
15
  setHighLightLine(id: any): void;
16
16
  setMeshMaterial(mesh: any, color?: string): void;
17
- removeHighLightLine(): void;
17
+ removeHighLightLine(id: any): void;
18
+ show(): void;
19
+ hide(): void;
18
20
  remove(): void;
19
21
  }
20
22
  export default DistrictLineManage;
@@ -76,9 +76,8 @@ var DistrictLineManage = /*#__PURE__*/function () {
76
76
  }, {
77
77
  key: "setHighLightLine",
78
78
  value: function setHighLightLine(id) {
79
- this.setMeshMaterial(this.activeLine);
80
- this.activeLine = this.lineMesh.get(id);
81
- this.setMeshMaterial(this.activeLine, '#f2ca0c');
79
+ var mesh = this.lineMesh.get(id);
80
+ this.setMeshMaterial(mesh, '#f2ca0c');
82
81
  }
83
82
  }, {
84
83
  key: "setMeshMaterial",
@@ -90,8 +89,25 @@ var DistrictLineManage = /*#__PURE__*/function () {
90
89
  }
91
90
  }, {
92
91
  key: "removeHighLightLine",
93
- value: function removeHighLightLine() {
94
- this.setMeshMaterial(this.activeLine);
92
+ value: function removeHighLightLine(id) {
93
+ var line = id && this.lineMesh.get(id);
94
+ line && this.setMeshMaterial(line);
95
+ }
96
+ }, {
97
+ key: "show",
98
+ value: function show() {
99
+ var _this2 = this;
100
+ this.lineMesh.forEach(function (mesh) {
101
+ _this2.setMeshMaterial(mesh);
102
+ mesh.visible = true;
103
+ });
104
+ }
105
+ }, {
106
+ key: "hide",
107
+ value: function hide() {
108
+ this.lineMesh.forEach(function (mesh) {
109
+ mesh.visible = false;
110
+ });
95
111
  }
96
112
  }, {
97
113
  key: "remove",
@@ -102,7 +118,6 @@ var DistrictLineManage = /*#__PURE__*/function () {
102
118
  mesh.remove();
103
119
  });
104
120
  this.lineMesh.clear();
105
- this.removeHighLightLine();
106
121
  }
107
122
  }]);
108
123
  return DistrictLineManage;
@@ -1 +1 @@
1
- {"version":3,"names":["Mesh","MeshBasicMaterial","TubeGeometry","Vector3","RoundLineGeometry","regionMap","DistrictLineManage","gobal","Map","scene","isShow","Object","keys","forEach","key","region","groundLinePoints","area","map","v","groundLine","radius","close","geometry","curve","material","color","mesh","add","lineMesh","set","id","setMeshMaterial","activeLine","get","removeFromParent","remove","clear","removeHighLightLine"],"sources":["../../../src/factory/unit/districtLine.ts"],"sourcesContent":["import { Mesh, MeshBasicMaterial, TubeGeometry, Vector3 } from '@anov/3d-core'\nimport type { Object3D, Scene } from '@anov/3d-core'\nimport type { createBloomSelectedTool } from '@anov/3d-ability'\nimport { RoundLineGeometry } from '@anov/3d-ability'\nimport type Factory3D from '../3d'\nimport { regionMap } from '../regionData'\n\nclass DistrictLineManage {\n private gobal: Factory3D\n private scene: Scene\n readonly lineMesh: Map<string, Object3D> = new Map()\n activeLine: Mesh\n color = '#94786c'\n\n bloomSelected: ReturnType<typeof createBloomSelectedTool>['bloomSelected']\n isShow = false\n\n constructor(gobal: Factory3D) {\n this.gobal = gobal\n this.scene = gobal.scene.scene\n\n // const { bloomSelected } = createBloomSelectedTool(\n // {\n // strength: 2.8,\n // radius: 0.4,\n // threshold: 0,\n // },\n // )\n\n // this.bloomSelected = bloomSelected\n }\n\n generateLine() {\n this.isShow = true\n\n Object.keys(regionMap).forEach(async (key: string) => {\n const region = regionMap[key]\n const groundLinePoints = region.area.map(v => new Vector3(v[0], v[1] + 0.1, v[2]))\n\n const groundLine = new RoundLineGeometry(groundLinePoints, {\n radius: 5,\n close: true,\n })\n\n const geometry = new TubeGeometry(groundLine.curve, 10000, 1, 2, false)\n const material = new MeshBasicMaterial({ color: this.color })\n const mesh = new Mesh(geometry, material)\n\n this.scene.add(mesh)\n this.lineMesh.set(region.id, mesh)\n })\n\n // this.bloomSelected([...this.lineMesh.values()])\n }\n\n setHighLightLine(id) {\n this.setMeshMaterial(this.activeLine)\n this.activeLine = (this.lineMesh.get(id) as Mesh)\n this.setMeshMaterial(this.activeLine, '#f2ca0c')\n }\n\n setMeshMaterial(mesh, color = this.color) {\n if (mesh)\n mesh.material = new MeshBasicMaterial({ color })\n }\n\n removeHighLightLine() {\n this.setMeshMaterial(this.activeLine)\n }\n\n remove() {\n this.isShow = false\n this.lineMesh.forEach((mesh) => {\n mesh.removeFromParent()\n mesh.remove()\n })\n this.lineMesh.clear()\n this.removeHighLightLine()\n }\n}\n\nexport default DistrictLineManage"],"mappings":"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"}
1
+ {"version":3,"names":["Mesh","MeshBasicMaterial","TubeGeometry","Vector3","RoundLineGeometry","regionMap","DistrictLineManage","gobal","Map","scene","isShow","Object","keys","forEach","key","region","groundLinePoints","area","map","v","groundLine","radius","close","geometry","curve","material","color","mesh","add","lineMesh","set","id","get","setMeshMaterial","line","visible","removeFromParent","remove","clear"],"sources":["../../../src/factory/unit/districtLine.ts"],"sourcesContent":["import { Mesh, MeshBasicMaterial, TubeGeometry, Vector3 } from '@anov/3d-core'\nimport type { Object3D, Scene } from '@anov/3d-core'\nimport type { createBloomSelectedTool } from '@anov/3d-ability'\nimport { RoundLineGeometry } from '@anov/3d-ability'\nimport type Factory3D from '../3d'\nimport { regionMap } from '../regionData'\n\nclass DistrictLineManage {\n private gobal: Factory3D\n private scene: Scene\n readonly lineMesh: Map<string, Object3D> = new Map()\n activeLine: Mesh\n color = '#94786c'\n\n bloomSelected: ReturnType<typeof createBloomSelectedTool>['bloomSelected']\n isShow = false\n\n constructor(gobal: Factory3D) {\n this.gobal = gobal\n this.scene = gobal.scene.scene\n\n // const { bloomSelected } = createBloomSelectedTool(\n // {\n // strength: 2.8,\n // radius: 0.4,\n // threshold: 0,\n // },\n // )\n\n // this.bloomSelected = bloomSelected\n }\n\n generateLine() {\n this.isShow = true\n\n Object.keys(regionMap).forEach(async (key: string) => {\n const region = regionMap[key]\n const groundLinePoints = region.area.map(v => new Vector3(v[0], v[1] + 0.1, v[2]))\n\n const groundLine = new RoundLineGeometry(groundLinePoints, {\n radius: 5,\n close: true,\n })\n\n const geometry = new TubeGeometry(groundLine.curve, 10000, 1, 2, false)\n const material = new MeshBasicMaterial({ color: this.color })\n const mesh = new Mesh(geometry, material)\n\n this.scene.add(mesh)\n this.lineMesh.set(region.id, mesh)\n })\n\n // this.bloomSelected([...this.lineMesh.values()])\n }\n\n setHighLightLine(id) {\n const mesh = this.lineMesh.get(id) as Mesh\n this.setMeshMaterial(mesh, '#f2ca0c')\n }\n\n setMeshMaterial(mesh, color = this.color) {\n if (mesh)\n mesh.material = new MeshBasicMaterial({ color })\n }\n\n removeHighLightLine(id) {\n const line = id && (this.lineMesh.get(id) as Mesh)\n line && this.setMeshMaterial(line)\n }\n\n show() {\n this.lineMesh.forEach((mesh) => {\n this.setMeshMaterial(mesh)\n mesh.visible = true\n })\n }\n\n hide() {\n this.lineMesh.forEach((mesh) => {\n mesh.visible = false\n })\n }\n\n remove() {\n this.isShow = false\n this.lineMesh.forEach((mesh) => {\n mesh.removeFromParent()\n mesh.remove()\n })\n this.lineMesh.clear()\n }\n}\n\nexport default DistrictLineManage"],"mappings":"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"}
@@ -25,18 +25,21 @@ var emitter = utils.emitter;
25
25
 
26
26
  var showOverview = function showOverview() {
27
27
  this.poi.generatePoi();
28
+ this.districtLine.show();
28
29
  };
29
30
  var closeOverview = function closeOverview() {
30
31
  this.wall.wallMesh.forEach(function (mesh) {
31
32
  mesh.visible = false;
32
33
  });
33
34
  this.poi.remove();
35
+ this.tag !== SceneTag['people-management'] && this.districtLine.hide();
34
36
  };
35
37
  var showPeopleManagemen = function showPeopleManagemen() {
36
38
  this.cylinder.cylinderMesh.forEach(function (mesh) {
37
39
  mesh.visible = true;
38
40
  });
39
41
  if (this.slice) this.slice.mesh.visible = true;
42
+ this.districtLine.show();
40
43
  };
41
44
  var closePeopleManagemen = function closePeopleManagemen() {
42
45
  this.cylinder.cylinderMesh.forEach(function (mesh) {
@@ -44,6 +47,7 @@ var closePeopleManagemen = function closePeopleManagemen() {
44
47
  });
45
48
  this.circle.remove();
46
49
  if (this.slice) this.slice.mesh.visible = false;
50
+ this.tag !== SceneTag.overview && this.districtLine.hide();
47
51
  };
48
52
  var showSmartInspection = function showSmartInspection() {
49
53
  this.inspection.show();
@@ -60,7 +64,6 @@ var showCameraPoiInspection = function showCameraPoiInspection() {
60
64
  (_this$cameraPoi2 = this.cameraPoi) === null || _this$cameraPoi2 === void 0 ? void 0 : _this$cameraPoi2.generateObject();
61
65
  };
62
66
  var toggleOverview = function toggleOverview() {
63
- if (!this.districtLine.isShow) this.districtLine.generateLine();else this.districtLine.removeHighLightLine();
64
67
  this.scene.camera.layers.disable(28);
65
68
  showOverview.apply(this);
66
69
  closePeopleManagemen.apply(this);
@@ -71,7 +74,6 @@ var toggleOverview = function toggleOverview() {
71
74
  });
72
75
  };
73
76
  var togglePeopleManagemen = function togglePeopleManagemen() {
74
- if (!this.districtLine.isShow) this.districtLine.generateLine();
75
77
  this.scene.camera.layers.enable(28);
76
78
  showPeopleManagemen.apply(this);
77
79
  closeOverview.apply(this);
@@ -82,7 +84,6 @@ var togglePeopleManagemen = function togglePeopleManagemen() {
82
84
  });
83
85
  };
84
86
  var toggleSmartInspection = function toggleSmartInspection() {
85
- this.districtLine.remove();
86
87
  this.scene.camera.layers.disable(28);
87
88
  showSmartInspection.apply(this);
88
89
  closeOverview.apply(this);
@@ -93,7 +94,6 @@ var toggleSmartInspection = function toggleSmartInspection() {
93
94
  });
94
95
  };
95
96
  var toggleSecurityOperation = function toggleSecurityOperation() {
96
- this.districtLine.remove();
97
97
  this.scene.camera.layers.disable(28);
98
98
  showCameraPoiInspection.apply(this);
99
99
  closeOverview.apply(this);
@@ -104,7 +104,6 @@ var toggleSecurityOperation = function toggleSecurityOperation() {
104
104
  });
105
105
  };
106
106
  var toggleStandBy = function toggleStandBy() {
107
- this.districtLine.remove();
108
107
  this.scene.camera.layers.disable(28);
109
108
  closeOverview.apply(this);
110
109
  closePeopleManagemen.apply(this);
@@ -214,11 +213,14 @@ var handleUnit = function handleUnit() {
214
213
  var districtLine = new DistrictLineManage(this);
215
214
  this.districtLine = districtLine;
216
215
  this.districtLine.generateLine();
216
+ var areaId;
217
217
  emitter.on('peoplemanagement-camera-enter', function (data) {
218
218
  sendToMessage(MessageType.Event, 'onClick', EMessageStatus.Success, undefined, _objectSpread({
219
219
  type: 'Bar'
220
220
  }, data));
221
221
  _this.circle.generateCircle(data === null || data === void 0 ? void 0 : data.belongTo);
222
+ areaId && _this.districtLine.removeHighLightLine(areaId);
223
+ areaId = data === null || data === void 0 ? void 0 : data.belongTo;
222
224
  _this.districtLine.setHighLightLine(data === null || data === void 0 ? void 0 : data.belongTo);
223
225
  });
224
226
  emitter.on('peoplemanagement-person-click', function (data) {
@@ -1 +1 @@
1
- {"version":3,"names":["utils","SceneStyle","SceneTag","MessageType","sendToMessage","EMessageStatus","WallManage","CylinderManage","PoiManage","CircleManage","AreaBoundingBoxManage","Inspection","CameraPoi","DistrictLineManage","RegionPlane","SliceManage","emitter","showOverview","poi","generatePoi","closeOverview","wall","wallMesh","forEach","mesh","visible","remove","showPeopleManagemen","cylinder","cylinderMesh","slice","closePeopleManagemen","circle","showSmartInspection","inspection","show","closeSmartInspection","hide","closeCameraPoiInspection","cameraPoi","showCameraPoiInspection","generateObject","toggleOverview","districtLine","isShow","generateLine","removeHighLightLine","scene","camera","layers","disable","apply","regionPlane","planeMesh","togglePeopleManagemen","enable","toggleSmartInspection","toggleSecurityOperation","toggleStandBy","toggleTag","overview","cutoutCamera","minCamera","mainCamera","emit","controls","enableRotate","enableZoom","tag","toggleSceneStyle","real","generateSlice","tech","defaultFirstPerspectiveControls","enabled","standBy","handleUnit","generateWall","generateCylinder","on","data","Event","Success","undefined","type","generateCircle","belongTo","setHighLightLine","areaBoundingBox","generateBoundingBox","addEventListener","args","item"],"sources":["../../../src/factory/unit/index.ts"],"sourcesContent":["import { utils } from '@anov/3d-core'\nimport { SceneStyle, SceneTag } from '../utils/constant'\n\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport WallManage from './wall'\nimport CylinderManage from './cylinder'\nimport PoiManage from './poi'\nimport CircleManage from './circle'\nimport AreaBoundingBoxManage from './areaBoundingBox'\nimport Inspection from './inspection'\nimport CameraPoi from './CameraPoi'\nimport DistrictLineManage from './districtLine'\nimport RegionPlane from './region'\nimport SliceManage from './slice'\n\nconst { emitter } = utils\n\n// 临时优化\n\nconst showOverview = function () {\n this.poi.generatePoi()\n}\n\nconst closeOverview = function () {\n this.wall.wallMesh.forEach((mesh) => {\n mesh.visible = false\n })\n\n this.poi.remove()\n}\n\nconst showPeopleManagemen = function () {\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = true\n })\n if (this.slice)\n this.slice.mesh.visible = true\n}\n\nconst closePeopleManagemen = function () {\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = false\n })\n this.circle.remove()\n if (this.slice)\n this.slice.mesh.visible = false\n}\n\nconst showSmartInspection = function () {\n this.inspection.show()\n}\n\nconst closeSmartInspection = function () {\n this.inspection.hide()\n}\n\nconst closeCameraPoiInspection = function () {\n this.cameraPoi?.remove()\n}\nconst showCameraPoiInspection = function () {\n this.cameraPoi?.generateObject()\n}\n\nconst toggleOverview = function () {\n if (!this.districtLine.isShow)\n this.districtLine.generateLine()\n else\n this.districtLine.removeHighLightLine()\n\n this.scene.camera.layers.disable(28)\n showOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = true\n })\n}\n\nconst togglePeopleManagemen = function () {\n if (!this.districtLine.isShow)\n this.districtLine.generateLine()\n\n this.scene.camera.layers.enable(28)\n showPeopleManagemen.apply(this)\n closeOverview.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = true\n })\n}\n\nconst toggleSmartInspection = function () {\n this.districtLine.remove()\n this.scene.camera.layers.disable(28)\n showSmartInspection.apply(this)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = false\n })\n}\n\nconst toggleSecurityOperation = function () {\n this.districtLine.remove()\n this.scene.camera.layers.disable(28)\n showCameraPoiInspection.apply(this)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = false\n })\n}\n\nconst toggleStandBy = function () {\n this.districtLine.remove()\n this.scene.camera.layers.disable(28)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = false\n })\n}\n\nexport const toggleTag = {\n [SceneTag.overview]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag.overview\n this.toggleSceneStyle(SceneStyle.real)\n toggleOverview.apply(this)\n },\n [SceneTag['people-management']]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag['people-management']\n\n if (!this.slice) {\n this.slice = new SliceManage(this)\n this.slice.generateSlice()\n }\n\n this.toggleSceneStyle(SceneStyle.tech)\n togglePeopleManagemen.apply(this)\n },\n [SceneTag['smart-inspection']]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.inspection.defaultFirstPerspectiveControls && (this.inspection.defaultFirstPerspectiveControls.enabled = false)\n this.scene.controls.enableRotate = false\n this.scene.controls.enableZoom = false\n\n this.tag = SceneTag['smart-inspection']\n this.toggleSceneStyle(SceneStyle.real)\n toggleSmartInspection.apply(this)\n },\n [SceneTag['security-operation']]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag['security-operation']\n this.toggleSceneStyle(SceneStyle.real)\n toggleSecurityOperation.apply(this)\n },\n [SceneTag.standBy]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag.standBy\n this.toggleSceneStyle(SceneStyle.real)\n toggleStandBy.apply(this)\n },\n}\n\nconst handleUnit = function () {\n // 围栏\n const wall = new WallManage(this, { visible: false })\n wall.generateWall()\n this.wall = wall\n\n const regionPlane = new RegionPlane(this)\n this.regionPlane = regionPlane\n\n // 圆柱\n const cylinder = new CylinderManage(this, {\n visible: false,\n })\n cylinder.generateCylinder()\n\n this.cylinder = cylinder\n\n // POI\n const poi = new PoiManage(this)\n poi.generatePoi()\n this.poi = poi\n\n // people\n const circle = new CircleManage(this)\n this.circle = circle\n\n const districtLine = new DistrictLineManage(this)\n this.districtLine = districtLine\n\n this.districtLine.generateLine()\n\n emitter.on('peoplemanagement-camera-enter', (data: any) => {\n sendToMessage(MessageType.Event, 'onClick', EMessageStatus.Success, undefined, {\n type: 'Bar',\n ...data,\n })\n this.circle.generateCircle(data?.belongTo)\n this.districtLine.setHighLightLine(data?.belongTo)\n })\n\n emitter.on('peoplemanagement-person-click', (data: any) => {\n sendToMessage(MessageType.Event, 'onClick', EMessageStatus.Success, undefined, {\n type: 'POI',\n ...data,\n })\n })\n\n // boundingBox\n const areaBoundingBox = new AreaBoundingBoxManage()\n areaBoundingBox.generateBoundingBox()\n this.areaBoundingBox = areaBoundingBox\n\n const inspection = new Inspection(this)\n this.inspection = inspection\n\n const cameraPoi = new CameraPoi(this)\n this.cameraPoi = cameraPoi\n\n // some global events handle\n this.addEventListener('peoplemanagement-camera-out', (args) => {\n if (this.tag !== SceneTag['people-management'])\n return\n cylinder.cylinderMesh.forEach((item) => {\n item.visible = true\n })\n this.circle.remove()\n })\n\n emitter.on('peoplemanagement-control-maxDistance', () => {\n sendToMessage(MessageType.Event, 'onCancel', EMessageStatus.Success, undefined, { })\n })\n}\n\nexport default handleUnit\n"],"mappings":"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"}
1
+ {"version":3,"names":["utils","SceneStyle","SceneTag","MessageType","sendToMessage","EMessageStatus","WallManage","CylinderManage","PoiManage","CircleManage","AreaBoundingBoxManage","Inspection","CameraPoi","DistrictLineManage","RegionPlane","SliceManage","emitter","showOverview","poi","generatePoi","districtLine","show","closeOverview","wall","wallMesh","forEach","mesh","visible","remove","tag","hide","showPeopleManagemen","cylinder","cylinderMesh","slice","closePeopleManagemen","circle","overview","showSmartInspection","inspection","closeSmartInspection","closeCameraPoiInspection","cameraPoi","showCameraPoiInspection","generateObject","toggleOverview","scene","camera","layers","disable","apply","regionPlane","planeMesh","togglePeopleManagemen","enable","toggleSmartInspection","toggleSecurityOperation","toggleStandBy","toggleTag","cutoutCamera","minCamera","mainCamera","emit","controls","enableRotate","enableZoom","toggleSceneStyle","real","generateSlice","tech","defaultFirstPerspectiveControls","enabled","standBy","handleUnit","generateWall","generateCylinder","generateLine","areaId","on","data","Event","Success","undefined","type","generateCircle","belongTo","removeHighLightLine","setHighLightLine","areaBoundingBox","generateBoundingBox","addEventListener","args","item"],"sources":["../../../src/factory/unit/index.ts"],"sourcesContent":["import { utils } from '@anov/3d-core'\nimport { SceneStyle, SceneTag } from '../utils/constant'\n\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport WallManage from './wall'\nimport CylinderManage from './cylinder'\nimport PoiManage from './poi'\nimport CircleManage from './circle'\nimport AreaBoundingBoxManage from './areaBoundingBox'\nimport Inspection from './inspection'\nimport CameraPoi from './CameraPoi'\nimport DistrictLineManage from './districtLine'\nimport RegionPlane from './region'\nimport SliceManage from './slice'\n\nconst { emitter } = utils\n\n// 临时优化\n\nconst showOverview = function () {\n this.poi.generatePoi()\n this.districtLine.show()\n}\n\nconst closeOverview = function () {\n this.wall.wallMesh.forEach((mesh) => {\n mesh.visible = false\n })\n\n this.poi.remove()\n this.tag !== SceneTag['people-management'] && this.districtLine.hide()\n}\n\nconst showPeopleManagemen = function () {\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = true\n })\n if (this.slice)\n this.slice.mesh.visible = true\n this.districtLine.show()\n}\n\nconst closePeopleManagemen = function () {\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = false\n })\n this.circle.remove()\n if (this.slice)\n this.slice.mesh.visible = false\n this.tag !== SceneTag.overview && this.districtLine.hide()\n}\n\nconst showSmartInspection = function () {\n this.inspection.show()\n}\n\nconst closeSmartInspection = function () {\n this.inspection.hide()\n}\n\nconst closeCameraPoiInspection = function () {\n this.cameraPoi?.remove()\n}\nconst showCameraPoiInspection = function () {\n this.cameraPoi?.generateObject()\n}\n\nconst toggleOverview = function () {\n this.scene.camera.layers.disable(28)\n showOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = true\n })\n}\n\nconst togglePeopleManagemen = function () {\n this.scene.camera.layers.enable(28)\n showPeopleManagemen.apply(this)\n closeOverview.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = true\n })\n}\n\nconst toggleSmartInspection = function () {\n this.scene.camera.layers.disable(28)\n showSmartInspection.apply(this)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = false\n })\n}\n\nconst toggleSecurityOperation = function () {\n this.scene.camera.layers.disable(28)\n showCameraPoiInspection.apply(this)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = false\n })\n}\n\nconst toggleStandBy = function () {\n this.scene.camera.layers.disable(28)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = false\n })\n}\n\nexport const toggleTag = {\n [SceneTag.overview]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag.overview\n this.toggleSceneStyle(SceneStyle.real)\n toggleOverview.apply(this)\n },\n [SceneTag['people-management']]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag['people-management']\n\n if (!this.slice) {\n this.slice = new SliceManage(this)\n this.slice.generateSlice()\n }\n\n this.toggleSceneStyle(SceneStyle.tech)\n togglePeopleManagemen.apply(this)\n },\n [SceneTag['smart-inspection']]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.inspection.defaultFirstPerspectiveControls && (this.inspection.defaultFirstPerspectiveControls.enabled = false)\n this.scene.controls.enableRotate = false\n this.scene.controls.enableZoom = false\n\n this.tag = SceneTag['smart-inspection']\n this.toggleSceneStyle(SceneStyle.real)\n toggleSmartInspection.apply(this)\n },\n [SceneTag['security-operation']]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag['security-operation']\n this.toggleSceneStyle(SceneStyle.real)\n toggleSecurityOperation.apply(this)\n },\n [SceneTag.standBy]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag.standBy\n this.toggleSceneStyle(SceneStyle.real)\n toggleStandBy.apply(this)\n },\n}\n\nconst handleUnit = function () {\n // 围栏\n const wall = new WallManage(this, { visible: false })\n wall.generateWall()\n this.wall = wall\n\n const regionPlane = new RegionPlane(this)\n this.regionPlane = regionPlane\n\n // 圆柱\n const cylinder = new CylinderManage(this, {\n visible: false,\n })\n cylinder.generateCylinder()\n\n this.cylinder = cylinder\n\n // POI\n const poi = new PoiManage(this)\n poi.generatePoi()\n this.poi = poi\n\n // people\n const circle = new CircleManage(this)\n this.circle = circle\n\n const districtLine = new DistrictLineManage(this)\n this.districtLine = districtLine\n\n this.districtLine.generateLine()\n let areaId\n emitter.on('peoplemanagement-camera-enter', (data: any) => {\n sendToMessage(MessageType.Event, 'onClick', EMessageStatus.Success, undefined, {\n type: 'Bar',\n ...data,\n })\n\n this.circle.generateCircle(data?.belongTo)\n areaId && this.districtLine.removeHighLightLine(areaId)\n areaId = data?.belongTo\n this.districtLine.setHighLightLine(data?.belongTo)\n })\n\n emitter.on('peoplemanagement-person-click', (data: any) => {\n sendToMessage(MessageType.Event, 'onClick', EMessageStatus.Success, undefined, {\n type: 'POI',\n ...data,\n })\n })\n\n // boundingBox\n const areaBoundingBox = new AreaBoundingBoxManage()\n areaBoundingBox.generateBoundingBox()\n this.areaBoundingBox = areaBoundingBox\n\n const inspection = new Inspection(this)\n this.inspection = inspection\n\n const cameraPoi = new CameraPoi(this)\n this.cameraPoi = cameraPoi\n\n // some global events handle\n this.addEventListener('peoplemanagement-camera-out', (args) => {\n if (this.tag !== SceneTag['people-management'])\n return\n cylinder.cylinderMesh.forEach((item) => {\n item.visible = true\n })\n this.circle.remove()\n })\n\n emitter.on('peoplemanagement-control-maxDistance', () => {\n sendToMessage(MessageType.Event, 'onCancel', EMessageStatus.Success, undefined, { })\n })\n}\n\nexport default handleUnit\n"],"mappings":"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"}
@@ -18,8 +18,8 @@ var storeManagement = utils.storeManagement;
18
18
  var viewInfoPro = {
19
19
  width: 502,
20
20
  height: 256,
21
- top: 110,
22
- left: 40
21
+ top: 170,
22
+ left: 90
23
23
  };
24
24
  var viewInfoDev = {
25
25
  width: 300,