@anov/3d 0.0.75 → 0.0.76

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.
@@ -5,7 +5,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
5
5
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
6
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
7
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
- import { Vector3, use, utils } from '@anov/3d-core';
8
+ import { Mesh, MeshPhysicalMaterial, SphereGeometry, Vector3, use, utils } from '@anov/3d-core';
9
9
  import { EAnimationType, SpritePoi } from '@anov/3d-ability';
10
10
  import { regionMap } from "../regionData";
11
11
  import { usePath } from "../3d";
@@ -19,7 +19,6 @@ var CircleManage = /*#__PURE__*/function () {
19
19
  _defineProperty(this, "interactionManager", void 0);
20
20
  _defineProperty(this, "peoplePoi", void 0);
21
21
  _defineProperty(this, "clickPoi", void 0);
22
- _defineProperty(this, "poiRemoveEventListener", void 0);
23
22
  this.gobal = gobal;
24
23
  this.scene = gobal.scene.scene;
25
24
  this.interactionManager = utils.storeManagement.get('interactionManager');
@@ -29,21 +28,16 @@ var CircleManage = /*#__PURE__*/function () {
29
28
  value: function generateCircle(belongTo) {
30
29
  var _this = this;
31
30
  this.remove();
32
- // const geometry = new SphereGeometry(2, 32, 16)
33
- // const material = new MeshPhysicalMaterial({ color: 0xFED602, metalness: 0.1, roughness: 0.5 })
34
- // const circle = new Mesh(geometry, material)
35
- var dom = document.createElement('img');
36
- dom.style.width = '50px';
37
- dom.style.height = '87px';
38
- var imgs = ['左', '中', '右'];
39
- var img;
31
+ var geometry = new SphereGeometry(2, 32, 16);
32
+ var material = new MeshPhysicalMaterial({
33
+ color: 0xFED602,
34
+ metalness: 0.1,
35
+ roughness: 0.5
36
+ });
37
+ var circle = new Mesh(geometry, material);
40
38
  var data = this.getData(belongTo);
41
39
  data.forEach(function (people) {
42
- img = dom.cloneNode();
43
- img.src = "".concat(usePath, "p2/").concat(imgs[Math.floor(Math.random() * 3)], ".png");
44
- var mesh = new SpritePoi(img, {
45
- scale: [6, 10, 1]
46
- });
40
+ var mesh = circle.clone();
47
41
  mesh.name = people.id;
48
42
  mesh.position.fromArray(people.position);
49
43
  _this.scene.add(mesh);
@@ -60,7 +54,6 @@ var CircleManage = /*#__PURE__*/function () {
60
54
  this.circleMesh.clear();
61
55
  this.peoplePoi && this.peoplePoi.removeFromParent();
62
56
  this.peoplePoi = this.clickPoi = null;
63
- if (this.poiRemoveEventListener) this.poiRemoveEventListener();
64
57
  }
65
58
  }, {
66
59
  key: "setVisible",
@@ -104,31 +97,21 @@ var CircleManage = /*#__PURE__*/function () {
104
97
  });
105
98
  dom.innerText = data.name;
106
99
  _this2.peoplePoi = new SpritePoi(dom, {
100
+ scale: [12, 3.8, 1],
107
101
  animation: {
108
102
  type: EAnimationType.fadeIn,
109
103
  duration: 0.2
110
104
  }
111
105
  });
112
106
  _this2.peoplePoi.name = data.id;
113
- _this2.peoplePoi.position.copy(mesh.position.clone().add(new Vector3(0, 10, 0)));
114
- _this2.updateScale(_this2.peoplePoi, 3.2);
107
+ _this2.peoplePoi.position.copy(mesh.position.clone().add(new Vector3(0, 2, 0)));
115
108
  _this2.scene.add(_this2.peoplePoi);
116
- var _use$useScene = use.useScene(),
117
- orbitControls = _use$useScene.orbitControls;
118
- if (_this2.poiRemoveEventListener) _this2.poiRemoveEventListener();
119
- var fn = function fn() {
120
- return _this2.updateScale(_this2.peoplePoi);
121
- };
122
- orbitControls === null || orbitControls === void 0 ? void 0 : orbitControls.addEventListener('change', fn);
123
- _this2.poiRemoveEventListener = function () {
124
- return orbitControls === null || orbitControls === void 0 ? void 0 : orbitControls.removeEventListener('change', fn);
125
- };
126
109
  };
127
110
  mesh.addEventListener('click', function () {
128
- var position = _this2.getCameraPosition(new Vector3().fromArray(data.position).add(new Vector3(0, 10, 0)), 43.5);
111
+ var position = _this2.getCameraPosition(new Vector3().fromArray(data.position), 43.5);
129
112
  _this2.gobal.cameraUtil.set({
130
113
  position: position.toArray(),
131
- target: [data.position[0], data.position[1] + 10, data.position[2]]
114
+ target: [data.position[0], data.position[1], data.position[2]]
132
115
  }).then(function () {});
133
116
  emitter.emit('peoplemanagement-person-click', data);
134
117
  showPeoplePoi(data, 'click');
@@ -144,31 +127,6 @@ var CircleManage = /*#__PURE__*/function () {
144
127
  }
145
128
  });
146
129
  }
147
-
148
- /// <summary>
149
- /// 按照距离缩放,距离越远,缩放越大
150
- /// </summary>
151
- }, {
152
- key: "updateScale",
153
- value: function updateScale(poi) {
154
- var _camera$position;
155
- var ratio = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
156
- if (!poi) return;
157
- // 距离限制范围的值,用于计算缩放比例
158
- var minDistance = 0.1;
159
- var maxDistance = 1000000;
160
- var _use$useScene2 = use.useScene(),
161
- camera = _use$useScene2.camera;
162
-
163
- // 计算相机和物体之间的距离
164
- var distance = ((_camera$position = camera.position) === null || _camera$position === void 0 ? void 0 : _camera$position.distanceTo(poi.position)) || 0.1;
165
- var clampedDistance = Math.max(minDistance, Math.min(maxDistance, distance));
166
- var scaleValue = clampedDistance * 0.02;
167
- if (!ratio && poi.scale) ratio = poi.scale.x / poi.scale.y;
168
-
169
- // 按照缩放系数和距离进行缩放,缩放系数应该约定好一个固定值
170
- poi.scale.copy(new Vector3(scaleValue * ratio, scaleValue, 1));
171
- }
172
130
  }, {
173
131
  key: "getCameraPosition",
174
132
  value: function getCameraPosition(targetPosition, distance) {
@@ -176,8 +134,8 @@ var CircleManage = /*#__PURE__*/function () {
176
134
  var cameraPosition = new Vector3();
177
135
  var direction = new Vector3(); // 目标对象指向相机的方向
178
136
 
179
- var _use$useScene3 = use.useScene(),
180
- camera = _use$useScene3.camera;
137
+ var _use$useScene = use.useScene(),
138
+ camera = _use$useScene.camera;
181
139
  // 计算相机朝向目标对象的方向
182
140
  direction.subVectors(camera.position, targetPosition).normalize();
183
141
 
@@ -1 +1 @@
1
- {"version":3,"names":["Vector3","use","utils","EAnimationType","SpritePoi","regionMap","usePath","emitter","CircleManage","gobal","Map","scene","interactionManager","storeManagement","get","belongTo","remove","dom","document","createElement","style","width","height","imgs","img","data","getData","forEach","people","cloneNode","src","Math","floor","random","mesh","scale","name","id","position","fromArray","add","bindEvent","circleMesh","set","removeFromParent","clear","peoplePoi","clickPoi","poiRemoveEventListener","visible","poi","showPeoplePoi","eventName","Object","assign","fontSize","backgroundImage","backgroundSize","backgroundRepeat","display","justifyContent","alignItems","color","pointerEvents","padding","innerText","animation","type","fadeIn","duration","copy","clone","updateScale","useScene","orbitControls","fn","addEventListener","removeEventListener","getCameraPosition","cameraUtil","toArray","target","then","emit","ratio","minDistance","maxDistance","camera","distance","distanceTo","clampedDistance","max","min","scaleValue","x","y","targetPosition","cameraPosition","direction","subVectors","normalize","multiplyScalar","regionKey","keys","find","key"],"sources":["../../../src/factory/unit/circle.ts"],"sourcesContent":["import { MeshPhysicalMaterial, SphereGeometry, Vector3, use, utils } from '@anov/3d-core'\nimport type { InteractionManager, Mesh, Object3D, Scene } from '@anov/3d-core'\nimport { Css2DPoi, EAnimationType, SpritePoi } from '@anov/3d-ability'\nimport type Factory3D from '../3d'\nimport { regionMap } from '../regionData'\n\nimport { usePath } from '../3d'\n\nconst { emitter } = utils\n\nclass CircleManage {\n private gobal: Factory3D\n private scene: Scene\n readonly circleMesh: Map<string, Object3D> = new Map()\n private interactionManager\n private peoplePoi!: SpritePoi | null\n private clickPoi: Object3D | null\n poiRemoveEventListener: Function\n\n constructor(gobal: Factory3D) {\n this.gobal = gobal\n this.scene = gobal.scene.scene\n this.interactionManager = utils.storeManagement.get<InteractionManager>('interactionManager')\n }\n\n generateCircle(belongTo: string) {\n this.remove()\n // const geometry = new SphereGeometry(2, 32, 16)\n // const material = new MeshPhysicalMaterial({ color: 0xFED602, metalness: 0.1, roughness: 0.5 })\n // const circle = new Mesh(geometry, material)\n const dom = document.createElement('img')\n dom.style.width = '50px'\n dom.style.height = '87px'\n const imgs = ['左', '中', '右']\n let img\n const data = this.getData(belongTo)\n data.forEach((people) => {\n img = dom.cloneNode() as HTMLImageElement\n img.src = `${usePath}p2/${imgs[Math.floor(Math.random() * 3)]}.png`\n const mesh = new SpritePoi(img, {\n scale: [6, 10, 1],\n })\n mesh.name = people.id\n mesh.position.fromArray(people.position)\n this.scene.add(mesh)\n this.bindEvent(mesh, people)\n this.circleMesh.set(people.id, mesh)\n })\n }\n\n remove() {\n this.circleMesh.forEach((mesh) => {\n mesh.removeFromParent()\n })\n this.circleMesh.clear()\n this.peoplePoi && this.peoplePoi.removeFromParent()\n this.peoplePoi = this.clickPoi = null\n if (this.poiRemoveEventListener)\n this.poiRemoveEventListener()\n }\n\n setVisible(visible = true) {\n // 控制CYCLE的隐藏、显示\n this.circleMesh.forEach((poi) => {\n poi.visible = visible\n })\n }\n\n private bindEvent(mesh: Object3D, data) {\n this.interactionManager.add(mesh)\n\n const showPeoplePoi = (data: any, eventName = 'hover') => {\n if (this.peoplePoi) {\n if (this.peoplePoi.name !== data.id) {\n this.peoplePoi.removeFromParent()\n }\n else {\n if (eventName === 'click')\n this.clickPoi = this.peoplePoi\n return\n }\n }\n this.clickPoi = null\n\n const dom = document.createElement('div')\n Object.assign(dom.style, {\n fontSize: '24px',\n backgroundImage: `url(${usePath}person.png)`,\n backgroundSize: '100% 100%',\n backgroundRepeat: 'no-repeat',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n color: '#fff',\n pointerEvents: 'auto',\n height: '67px',\n width: '214px',\n padding: '0 0 12px 15px',\n })\n dom.innerText = data.name\n\n this.peoplePoi = new SpritePoi(dom, {\n animation: {\n type: EAnimationType.fadeIn,\n duration: 0.2,\n },\n })\n this.peoplePoi.name = data.id\n this.peoplePoi.position.copy(mesh.position.clone().add(new Vector3(0, 10, 0)))\n this.updateScale(this.peoplePoi, 3.2)\n this.scene.add(this.peoplePoi)\n\n const { orbitControls } = use.useScene()\n if (this.poiRemoveEventListener)\n this.poiRemoveEventListener()\n const fn = () => this.updateScale(this.peoplePoi)\n orbitControls?.addEventListener('change', fn)\n this.poiRemoveEventListener = () => orbitControls?.removeEventListener('change', fn)\n }\n\n mesh.addEventListener('click', () => {\n const position = this.getCameraPosition(new Vector3().fromArray(data.position).add(new Vector3(0, 10, 0)), 43.5)\n this.gobal.cameraUtil.set({\n position: position.toArray(),\n target: [data.position[0], data.position[1] + 10, data.position[2]],\n }).then(() => {})\n emitter.emit('peoplemanagement-person-click', data)\n showPeoplePoi(data, 'click')\n })\n mesh.addEventListener('mouseover', () => {\n showPeoplePoi(data)\n })\n mesh.addEventListener('mouseout', () => {\n if (this.peoplePoi && this.peoplePoi.name !== this.clickPoi?.name) {\n this.peoplePoi.removeFromParent()\n this.peoplePoi = null\n }\n })\n }\n\n /// <summary>\n /// 按照距离缩放,距离越远,缩放越大\n /// </summary>\n updateScale(poi: SpritePoi, ratio = 0) {\n if (!poi)\n return\n // 距离限制范围的值,用于计算缩放比例\n const minDistance = 0.1\n const maxDistance = 1000000\n const { camera } = use.useScene()\n\n // 计算相机和物体之间的距离\n const distance = camera.position?.distanceTo(poi.position) || 0.1\n\n const clampedDistance = Math.max(minDistance, Math.min(maxDistance, distance))\n\n const scaleValue = clampedDistance * 0.02\n if (!ratio && poi.scale)\n ratio = poi.scale.x / poi.scale.y\n\n // 按照缩放系数和距离进行缩放,缩放系数应该约定好一个固定值\n poi.scale.copy(new Vector3(scaleValue * ratio, scaleValue, 1))\n }\n\n private getCameraPosition(targetPosition, distance) {\n // 计算相机的位置\n const cameraPosition = new Vector3()\n const direction = new Vector3() // 目标对象指向相机的方向\n\n const { camera } = use.useScene()\n // 计算相机朝向目标对象的方向\n direction.subVectors(camera.position, targetPosition).normalize()\n\n // 将相机沿着目标对象方向移动以保持距离\n cameraPosition.copy(targetPosition).add(direction.multiplyScalar(distance))\n return cameraPosition\n }\n\n private getData(belongTo) {\n const regionKey = Object.keys(regionMap).find((key: any) => {\n return regionMap[key].id === belongTo\n })\n\n return regionMap[regionKey] && regionMap[regionKey].people\n }\n}\n\nexport default CircleManage"],"mappings":"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"}
1
+ {"version":3,"names":["Mesh","MeshPhysicalMaterial","SphereGeometry","Vector3","use","utils","EAnimationType","SpritePoi","regionMap","usePath","emitter","CircleManage","gobal","Map","scene","interactionManager","storeManagement","get","belongTo","remove","geometry","material","color","metalness","roughness","circle","data","getData","forEach","people","mesh","clone","name","id","position","fromArray","add","bindEvent","circleMesh","set","removeFromParent","clear","peoplePoi","clickPoi","visible","poi","showPeoplePoi","eventName","dom","document","createElement","Object","assign","style","fontSize","backgroundImage","backgroundSize","backgroundRepeat","display","justifyContent","alignItems","pointerEvents","height","width","padding","innerText","scale","animation","type","fadeIn","duration","copy","addEventListener","getCameraPosition","cameraUtil","toArray","target","then","emit","targetPosition","distance","cameraPosition","direction","useScene","camera","subVectors","normalize","multiplyScalar","regionKey","keys","find","key"],"sources":["../../../src/factory/unit/circle.ts"],"sourcesContent":["import { Mesh, MeshPhysicalMaterial, SphereGeometry, Vector3, use, utils } from '@anov/3d-core'\nimport type { InteractionManager, Object3D, Scene } from '@anov/3d-core'\nimport { Css2DPoi, EAnimationType, SpritePoi } from '@anov/3d-ability'\nimport type Factory3D from '../3d'\nimport { regionMap } from '../regionData'\n\nimport { usePath } from '../3d'\n\nconst { emitter } = utils\n\nclass CircleManage {\n private gobal: Factory3D\n private scene: Scene\n readonly circleMesh: Map<string, Object3D> = new Map()\n private interactionManager\n private peoplePoi!: Object3D | null\n private clickPoi: Object3D | null\n\n constructor(gobal: Factory3D) {\n this.gobal = gobal\n this.scene = gobal.scene.scene\n this.interactionManager = utils.storeManagement.get<InteractionManager>('interactionManager')\n }\n\n generateCircle(belongTo: string) {\n this.remove()\n const geometry = new SphereGeometry(2, 32, 16)\n const material = new MeshPhysicalMaterial({ color: 0xFED602, metalness: 0.1, roughness: 0.5 })\n const circle = new Mesh(geometry, material)\n\n const data = this.getData(belongTo)\n data.forEach((people) => {\n const mesh = circle.clone()\n mesh.name = people.id\n mesh.position.fromArray(people.position)\n this.scene.add(mesh)\n this.bindEvent(mesh, people)\n this.circleMesh.set(people.id, mesh)\n })\n }\n\n remove() {\n this.circleMesh.forEach((mesh) => {\n mesh.removeFromParent()\n })\n this.circleMesh.clear()\n this.peoplePoi && this.peoplePoi.removeFromParent()\n this.peoplePoi = this.clickPoi = null\n }\n\n setVisible(visible = true) {\n // 控制CYCLE的隐藏、显示\n this.circleMesh.forEach((poi) => {\n poi.visible = visible\n })\n }\n\n private bindEvent(mesh: Mesh, data) {\n this.interactionManager.add(mesh)\n\n const showPeoplePoi = (data: any, eventName = 'hover') => {\n if (this.peoplePoi) {\n if (this.peoplePoi.name !== data.id) {\n this.peoplePoi.removeFromParent()\n }\n else {\n if (eventName === 'click')\n this.clickPoi = this.peoplePoi\n return\n }\n }\n this.clickPoi = null\n\n const dom = document.createElement('div')\n Object.assign(dom.style, {\n fontSize: '24px',\n backgroundImage: `url(${usePath}person.png)`,\n backgroundSize: '100% 100%',\n backgroundRepeat: 'no-repeat',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n color: '#fff',\n pointerEvents: 'auto',\n height: '67px',\n width: '214px',\n padding: '0 0 12px 15px',\n })\n dom.innerText = data.name\n this.peoplePoi = new SpritePoi(dom, {\n scale: [12, 3.8, 1],\n animation: {\n type: EAnimationType.fadeIn,\n duration: 0.2,\n },\n })\n this.peoplePoi.name = data.id\n\n this.peoplePoi.position.copy(mesh.position.clone().add(new Vector3(0, 2, 0)))\n this.scene.add(this.peoplePoi)\n }\n\n mesh.addEventListener('click', () => {\n const position = this.getCameraPosition(new Vector3().fromArray(data.position), 43.5)\n this.gobal.cameraUtil.set({\n position: position.toArray(),\n target: [data.position[0], data.position[1], data.position[2]],\n }).then(() => {\n })\n emitter.emit('peoplemanagement-person-click', data)\n showPeoplePoi(data, 'click')\n })\n mesh.addEventListener('mouseover', () => {\n showPeoplePoi(data)\n })\n mesh.addEventListener('mouseout', () => {\n if (this.peoplePoi && this.peoplePoi.name !== this.clickPoi?.name) {\n this.peoplePoi.removeFromParent()\n this.peoplePoi = null\n }\n })\n }\n\n private getCameraPosition(targetPosition, distance) {\n // 计算相机的位置\n const cameraPosition = new Vector3()\n const direction = new Vector3() // 目标对象指向相机的方向\n\n const { camera } = use.useScene()\n // 计算相机朝向目标对象的方向\n direction.subVectors(camera.position, targetPosition).normalize()\n\n // 将相机沿着目标对象方向移动以保持距离\n cameraPosition.copy(targetPosition).add(direction.multiplyScalar(distance))\n return cameraPosition\n }\n\n private getData(belongTo) {\n const regionKey = Object.keys(regionMap).find((key: any) => {\n return regionMap[key].id === belongTo\n })\n\n return regionMap[regionKey] && regionMap[regionKey].people\n }\n}\n\nexport default CircleManage"],"mappings":"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"}
@@ -1,18 +1,12 @@
1
- import { Mesh } from '@anov/3d-core';
2
1
  import type { Object3D } from '@anov/3d-core';
3
2
  import type Factory3D from '../3d';
4
3
  declare class DistrictLineManage {
5
4
  private gobal;
6
5
  private scene;
7
6
  readonly lineMesh: Map<string, Object3D>;
8
- activeLine: Mesh;
9
- color: string;
10
7
  isShow: boolean;
11
8
  constructor(gobal: Factory3D);
12
9
  generateLine(): void;
13
- setHighLightLine(id: any): void;
14
- setMeshMaterial(mesh: any, color?: string): void;
15
- removeHighLightLine(): void;
16
10
  remove(): void;
17
11
  }
18
12
  export default DistrictLineManage;
@@ -17,8 +17,6 @@ var DistrictLineManage = /*#__PURE__*/function () {
17
17
  _defineProperty(this, "gobal", void 0);
18
18
  _defineProperty(this, "scene", void 0);
19
19
  _defineProperty(this, "lineMesh", new Map());
20
- _defineProperty(this, "activeLine", void 0);
21
- _defineProperty(this, "color", '#94786c');
22
20
  _defineProperty(this, "isShow", false);
23
21
  this.gobal = gobal;
24
22
  this.scene = gobal.scene.scene;
@@ -44,7 +42,7 @@ var DistrictLineManage = /*#__PURE__*/function () {
44
42
  });
45
43
  geometry = new TubeGeometry(groundLine.curve, 10000, 1, 2, false);
46
44
  material = new MeshBasicMaterial({
47
- color: _this.color
45
+ color: '#f2ca0c'
48
46
  });
49
47
  mesh = new Mesh(geometry, material);
50
48
  _this.scene.add(mesh);
@@ -60,26 +58,6 @@ var DistrictLineManage = /*#__PURE__*/function () {
60
58
  };
61
59
  }());
62
60
  }
63
- }, {
64
- key: "setHighLightLine",
65
- value: function setHighLightLine(id) {
66
- this.setMeshMaterial(this.activeLine);
67
- this.activeLine = this.lineMesh.get(id);
68
- this.setMeshMaterial(this.activeLine, '#f2ca0c');
69
- }
70
- }, {
71
- key: "setMeshMaterial",
72
- value: function setMeshMaterial(mesh) {
73
- var color = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.color;
74
- if (mesh) mesh.material = new MeshBasicMaterial({
75
- color: color
76
- });
77
- }
78
- }, {
79
- key: "removeHighLightLine",
80
- value: function removeHighLightLine() {
81
- this.setMeshMaterial(this.activeLine);
82
- }
83
61
  }, {
84
62
  key: "remove",
85
63
  value: function remove() {
@@ -89,7 +67,6 @@ var DistrictLineManage = /*#__PURE__*/function () {
89
67
  mesh.remove();
90
68
  });
91
69
  this.lineMesh.clear();
92
- this.removeHighLightLine();
93
70
  }
94
71
  }]);
95
72
  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 { 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 isShow = false\n\n constructor(gobal: Factory3D) {\n this.gobal = gobal\n this.scene = gobal.scene.scene\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 this.scene.add(mesh)\n this.lineMesh.set(region.id, mesh)\n })\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","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 { 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\n isShow = false\n\n constructor(gobal: Factory3D) {\n this.gobal = gobal\n this.scene = gobal.scene.scene\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: '#f2ca0c' })\n const mesh = new Mesh(geometry, material)\n this.scene.add(mesh)\n this.lineMesh.set(region.id, mesh)\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":";+CACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADA,SAASA,IAAI,EAAEC,iBAAiB,EAAEC,YAAY,EAAEC,OAAO,QAAQ,eAAe;AAE9E,SAASC,iBAAiB,QAAQ,kBAAkB;AAEpD,SAASC,SAAS;AAAuB,IAEnCC,kBAAkB;EAOtB,4BAAYC,KAAgB,EAAE;IAAA;IAAA;IAAA;IAAA,kCAJa,IAAIC,GAAG,EAAE;IAAA,gCAE3C,KAAK;IAGZ,IAAI,CAACD,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACE,KAAK,GAAGF,KAAK,CAACE,KAAK,CAACA,KAAK;EAChC;EAAC;IAAA;IAAA,OAED,wBAAe;MAAA;MACb,IAAI,CAACC,MAAM,GAAG,IAAI;MAElBC,MAAM,CAACC,IAAI,CAACP,SAAS,CAAC,CAACQ,OAAO;QAAA,sEAAC,iBAAOC,GAAW;UAAA;UAAA;YAAA;cAAA;gBACzCC,MAAM,GAAGV,SAAS,CAACS,GAAG,CAAC;gBACvBE,gBAAgB,GAAGD,MAAM,CAACE,IAAI,CAACC,GAAG,CAAC,UAAAC,CAAC;kBAAA,OAAI,IAAIhB,OAAO,CAACgB,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAEA,CAAC,CAAC,CAAC,CAAC,CAAC;gBAAA,EAAC;gBAE5EC,UAAU,GAAG,IAAIhB,iBAAiB,CAACY,gBAAgB,EAAE;kBACzDK,MAAM,EAAE,CAAC;kBACTC,KAAK,EAAE;gBACT,CAAC,CAAC;gBAEIC,QAAQ,GAAG,IAAIrB,YAAY,CAACkB,UAAU,CAACI,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;gBACjEC,QAAQ,GAAG,IAAIxB,iBAAiB,CAAC;kBAAEyB,KAAK,EAAE;gBAAU,CAAC,CAAC;gBACtDC,IAAI,GAAG,IAAI3B,IAAI,CAACuB,QAAQ,EAAEE,QAAQ,CAAC;gBACzC,KAAI,CAAChB,KAAK,CAACmB,GAAG,CAACD,IAAI,CAAC;gBACpB,KAAI,CAACE,QAAQ,CAACC,GAAG,CAACf,MAAM,CAACgB,EAAE,EAAEJ,IAAI,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA,CACnC;QAAA;UAAA;QAAA;MAAA,IAAC;IACJ;EAAC;IAAA;IAAA,OAED,kBAAS;MACP,IAAI,CAACjB,MAAM,GAAG,KAAK;MACnB,IAAI,CAACmB,QAAQ,CAAChB,OAAO,CAAC,UAACc,IAAI,EAAK;QAC9BA,IAAI,CAACK,gBAAgB,EAAE;QACvBL,IAAI,CAACM,MAAM,EAAE;MACf,CAAC,CAAC;MACF,IAAI,CAACJ,QAAQ,CAACK,KAAK,EAAE;IACvB;EAAC;EAAA;AAAA;AAGH,eAAe5B,kBAAkB"}
@@ -53,8 +53,6 @@ var HandlerManage = /*#__PURE__*/function () {
53
53
  this.app.caseInstance.cylinder.setVisible();
54
54
  // @ts-ignore
55
55
  this.app.caseInstance.circle.remove();
56
- // @ts-ignore
57
- this.app.caseInstance.districtLine.removeHighLightLine();
58
56
  }
59
57
  }, {
60
58
  key: "click",
@@ -1 +1 @@
1
- {"version":3,"names":["map","HF","HPU","LLCV","CMP1","CMP2","invertMap","HandlerManage","app","params","click","id","title","caseInstance","cameraPoi","closeHotmap","cylinder","setVisible","circle","remove","districtLine","removeHighLightLine","name","object","sceneControl","scene","getObjectByName","console","log","dispatchEvent","type","target","inspection","goToInspectionTarget","inspectionObject","stop","contineMove","setSelectedAnchorObject"],"sources":["../../../src/factory/unit/handle.ts"],"sourcesContent":["import { regionMap } from '../regionData'\nimport type Anov3D from '../../sdkEntry'\nimport type { BaseModule } from '../../utils/abstract'\n\nexport const map = {\n HF: 0.04,\n HPU: 0.15,\n LLCV: 0.24,\n CMP1: 0.40,\n CMP2: 0.68,\n}\n\nexport const invertMap = {\n 0.04: 'HF',\n 0.15: 'HPU',\n 0.24: 'LLCV',\n 0.40: 'CMP1',\n 0.68: 'CMP2',\n}\n\nclass HandlerManage implements BaseModule {\n app: Anov3D\n constructor(app: Anov3D) {\n this.app = app\n }\n\n clickPerson(params: any) {\n this.click(params.id)\n }\n\n clickBar(params: any) {\n this.click(params.title)\n }\n\n clickCamera(params: any) {\n this.click(params.id)\n }\n\n clickGasCancel() {\n // @ts-ignore\n this.app.caseInstance.cameraPoi.closeHotmap()\n }\n\n releaseBar() {\n // @ts-ignore\n this.app.caseInstance.cylinder.setVisible()\n // @ts-ignore\n this.app.caseInstance.circle.remove()\n // @ts-ignore\n this.app.caseInstance.districtLine.removeHighLightLine()\n }\n\n click(name) {\n // 根据名称动态获取Mesh对象\n const object = this.app.sceneControl.scene!.getObjectByName(name)\n\n // 触发事件\n if (object) {\n console.log('Mesh对象已找到!')\n // 手动调用Mesh对象上的点击事件处理函数\n object.dispatchEvent({ type: 'click' })\n }\n else {\n console.log('未找到Mesh对象!')\n }\n }\n\n setInspectTarget(params: { target: string }) {\n const { target } = params\n\n // @ts-ignore\n return this.app.caseInstance.inspection.goToInspectionTarget(map[target])\n }\n\n stopInspect() {\n // @ts-ignore\n this.app.caseInstance.inspection.inspectionObject.stop()\n }\n\n continueInspect() {\n // @ts-ignore\n this.app.caseInstance.inspection.inspectionObject.contineMove()\n }\n\n highlightInspectTarget(params: { target: string; highlight: boolean }) {\n // @ts-ignore\n this.app.caseInstance.inspection.setSelectedAnchorObject(params)\n }\n}\n\nexport default HandlerManage\n"],"mappings":";;;;;;;AAIA,OAAO,IAAMA,GAAG,GAAG;EACjBC,EAAE,EAAE,IAAI;EACRC,GAAG,EAAE,IAAI;EACTC,IAAI,EAAE,IAAI;EACVC,IAAI,EAAE,IAAI;EACVC,IAAI,EAAE;AACR,CAAC;AAED,OAAO,IAAMC,SAAS,GAAG;EACvB,IAAI,EAAE,IAAI;EACV,IAAI,EAAE,KAAK;EACX,IAAI,EAAE,MAAM;EACZ,IAAI,EAAE,MAAM;EACZ,IAAI,EAAE;AACR,CAAC;AAAA,IAEKC,aAAa;EAEjB,uBAAYC,GAAW,EAAE;IAAA;IAAA;IACvB,IAAI,CAACA,GAAG,GAAGA,GAAG;EAChB;EAAC;IAAA;IAAA,OAED,qBAAYC,MAAW,EAAE;MACvB,IAAI,CAACC,KAAK,CAACD,MAAM,CAACE,EAAE,CAAC;IACvB;EAAC;IAAA;IAAA,OAED,kBAASF,MAAW,EAAE;MACpB,IAAI,CAACC,KAAK,CAACD,MAAM,CAACG,KAAK,CAAC;IAC1B;EAAC;IAAA;IAAA,OAED,qBAAYH,MAAW,EAAE;MACvB,IAAI,CAACC,KAAK,CAACD,MAAM,CAACE,EAAE,CAAC;IACvB;EAAC;IAAA;IAAA,OAED,0BAAiB;MACf;MACA,IAAI,CAACH,GAAG,CAACK,YAAY,CAACC,SAAS,CAACC,WAAW,EAAE;IAC/C;EAAC;IAAA;IAAA,OAED,sBAAa;MACX;MACA,IAAI,CAACP,GAAG,CAACK,YAAY,CAACG,QAAQ,CAACC,UAAU,EAAE;MAC3C;MACA,IAAI,CAACT,GAAG,CAACK,YAAY,CAACK,MAAM,CAACC,MAAM,EAAE;MACrC;MACA,IAAI,CAACX,GAAG,CAACK,YAAY,CAACO,YAAY,CAACC,mBAAmB,EAAE;IAC1D;EAAC;IAAA;IAAA,OAED,eAAMC,IAAI,EAAE;MACV;MACA,IAAMC,MAAM,GAAG,IAAI,CAACf,GAAG,CAACgB,YAAY,CAACC,KAAK,CAAEC,eAAe,CAACJ,IAAI,CAAC;;MAEjE;MACA,IAAIC,MAAM,EAAE;QACVI,OAAO,CAACC,GAAG,CAAC,YAAY,CAAC;QACzB;QACAL,MAAM,CAACM,aAAa,CAAC;UAAEC,IAAI,EAAE;QAAQ,CAAC,CAAC;MACzC,CAAC,MACI;QACHH,OAAO,CAACC,GAAG,CAAC,YAAY,CAAC;MAC3B;IACF;EAAC;IAAA;IAAA,OAED,0BAAiBnB,MAA0B,EAAE;MAC3C,IAAQsB,MAAM,GAAKtB,MAAM,CAAjBsB,MAAM;;MAEd;MACA,OAAO,IAAI,CAACvB,GAAG,CAACK,YAAY,CAACmB,UAAU,CAACC,oBAAoB,CAACjC,GAAG,CAAC+B,MAAM,CAAC,CAAC;IAC3E;EAAC;IAAA;IAAA,OAED,uBAAc;MACZ;MACA,IAAI,CAACvB,GAAG,CAACK,YAAY,CAACmB,UAAU,CAACE,gBAAgB,CAACC,IAAI,EAAE;IAC1D;EAAC;IAAA;IAAA,OAED,2BAAkB;MAChB;MACA,IAAI,CAAC3B,GAAG,CAACK,YAAY,CAACmB,UAAU,CAACE,gBAAgB,CAACE,WAAW,EAAE;IACjE;EAAC;IAAA;IAAA,OAED,gCAAuB3B,MAA8C,EAAE;MACrE;MACA,IAAI,CAACD,GAAG,CAACK,YAAY,CAACmB,UAAU,CAACK,uBAAuB,CAAC5B,MAAM,CAAC;IAClE;EAAC;EAAA;AAAA;AAGH,eAAeF,aAAa"}
1
+ {"version":3,"names":["map","HF","HPU","LLCV","CMP1","CMP2","invertMap","HandlerManage","app","params","click","id","title","caseInstance","cameraPoi","closeHotmap","cylinder","setVisible","circle","remove","name","object","sceneControl","scene","getObjectByName","console","log","dispatchEvent","type","target","inspection","goToInspectionTarget","inspectionObject","stop","contineMove","setSelectedAnchorObject"],"sources":["../../../src/factory/unit/handle.ts"],"sourcesContent":["import { regionMap } from '../regionData'\nimport type Anov3D from '../../sdkEntry'\nimport type { BaseModule } from '../../utils/abstract'\n\nexport const map = {\n HF: 0.04,\n HPU: 0.15,\n LLCV: 0.24,\n CMP1: 0.40,\n CMP2: 0.68,\n}\n\nexport const invertMap = {\n 0.04: 'HF',\n 0.15: 'HPU',\n 0.24: 'LLCV',\n 0.40: 'CMP1',\n 0.68: 'CMP2',\n}\n\nclass HandlerManage implements BaseModule {\n app: Anov3D\n constructor(app: Anov3D) {\n this.app = app\n }\n\n clickPerson(params: any) {\n this.click(params.id)\n }\n\n clickBar(params: any) {\n this.click(params.title)\n }\n\n clickCamera(params: any) {\n this.click(params.id)\n }\n\n clickGasCancel() {\n // @ts-ignore\n this.app.caseInstance.cameraPoi.closeHotmap()\n }\n\n releaseBar() {\n // @ts-ignore\n this.app.caseInstance.cylinder.setVisible()\n // @ts-ignore\n this.app.caseInstance.circle.remove()\n }\n\n click(name) {\n // 根据名称动态获取Mesh对象\n const object = this.app.sceneControl.scene!.getObjectByName(name)\n\n // 触发事件\n if (object) {\n console.log('Mesh对象已找到!')\n // 手动调用Mesh对象上的点击事件处理函数\n object.dispatchEvent({ type: 'click' })\n }\n else {\n console.log('未找到Mesh对象!')\n }\n }\n\n setInspectTarget(params: { target: string }) {\n const { target } = params\n\n // @ts-ignore\n return this.app.caseInstance.inspection.goToInspectionTarget(map[target])\n }\n\n stopInspect() {\n // @ts-ignore\n this.app.caseInstance.inspection.inspectionObject.stop()\n }\n\n continueInspect() {\n // @ts-ignore\n this.app.caseInstance.inspection.inspectionObject.contineMove()\n }\n\n highlightInspectTarget(params: { target: string; highlight: boolean }) {\n // @ts-ignore\n this.app.caseInstance.inspection.setSelectedAnchorObject(params)\n }\n}\n\nexport default HandlerManage\n"],"mappings":";;;;;;;AAIA,OAAO,IAAMA,GAAG,GAAG;EACjBC,EAAE,EAAE,IAAI;EACRC,GAAG,EAAE,IAAI;EACTC,IAAI,EAAE,IAAI;EACVC,IAAI,EAAE,IAAI;EACVC,IAAI,EAAE;AACR,CAAC;AAED,OAAO,IAAMC,SAAS,GAAG;EACvB,IAAI,EAAE,IAAI;EACV,IAAI,EAAE,KAAK;EACX,IAAI,EAAE,MAAM;EACZ,IAAI,EAAE,MAAM;EACZ,IAAI,EAAE;AACR,CAAC;AAAA,IAEKC,aAAa;EAEjB,uBAAYC,GAAW,EAAE;IAAA;IAAA;IACvB,IAAI,CAACA,GAAG,GAAGA,GAAG;EAChB;EAAC;IAAA;IAAA,OAED,qBAAYC,MAAW,EAAE;MACvB,IAAI,CAACC,KAAK,CAACD,MAAM,CAACE,EAAE,CAAC;IACvB;EAAC;IAAA;IAAA,OAED,kBAASF,MAAW,EAAE;MACpB,IAAI,CAACC,KAAK,CAACD,MAAM,CAACG,KAAK,CAAC;IAC1B;EAAC;IAAA;IAAA,OAED,qBAAYH,MAAW,EAAE;MACvB,IAAI,CAACC,KAAK,CAACD,MAAM,CAACE,EAAE,CAAC;IACvB;EAAC;IAAA;IAAA,OAED,0BAAiB;MACf;MACA,IAAI,CAACH,GAAG,CAACK,YAAY,CAACC,SAAS,CAACC,WAAW,EAAE;IAC/C;EAAC;IAAA;IAAA,OAED,sBAAa;MACX;MACA,IAAI,CAACP,GAAG,CAACK,YAAY,CAACG,QAAQ,CAACC,UAAU,EAAE;MAC3C;MACA,IAAI,CAACT,GAAG,CAACK,YAAY,CAACK,MAAM,CAACC,MAAM,EAAE;IACvC;EAAC;IAAA;IAAA,OAED,eAAMC,IAAI,EAAE;MACV;MACA,IAAMC,MAAM,GAAG,IAAI,CAACb,GAAG,CAACc,YAAY,CAACC,KAAK,CAAEC,eAAe,CAACJ,IAAI,CAAC;;MAEjE;MACA,IAAIC,MAAM,EAAE;QACVI,OAAO,CAACC,GAAG,CAAC,YAAY,CAAC;QACzB;QACAL,MAAM,CAACM,aAAa,CAAC;UAAEC,IAAI,EAAE;QAAQ,CAAC,CAAC;MACzC,CAAC,MACI;QACHH,OAAO,CAACC,GAAG,CAAC,YAAY,CAAC;MAC3B;IACF;EAAC;IAAA;IAAA,OAED,0BAAiBjB,MAA0B,EAAE;MAC3C,IAAQoB,MAAM,GAAKpB,MAAM,CAAjBoB,MAAM;;MAEd;MACA,OAAO,IAAI,CAACrB,GAAG,CAACK,YAAY,CAACiB,UAAU,CAACC,oBAAoB,CAAC/B,GAAG,CAAC6B,MAAM,CAAC,CAAC;IAC3E;EAAC;IAAA;IAAA,OAED,uBAAc;MACZ;MACA,IAAI,CAACrB,GAAG,CAACK,YAAY,CAACiB,UAAU,CAACE,gBAAgB,CAACC,IAAI,EAAE;IAC1D;EAAC;IAAA;IAAA,OAED,2BAAkB;MAChB;MACA,IAAI,CAACzB,GAAG,CAACK,YAAY,CAACiB,UAAU,CAACE,gBAAgB,CAACE,WAAW,EAAE;IACjE;EAAC;IAAA;IAAA,OAED,gCAAuBzB,MAA8C,EAAE;MACrE;MACA,IAAI,CAACD,GAAG,CAACK,YAAY,CAACiB,UAAU,CAACK,uBAAuB,CAAC1B,MAAM,CAAC;IAClE;EAAC;EAAA;AAAA;AAGH,eAAeF,aAAa"}
@@ -57,7 +57,7 @@ var showCameraPoiInspection = function showCameraPoiInspection() {
57
57
  (_this$cameraPoi2 = this.cameraPoi) === null || _this$cameraPoi2 === void 0 ? void 0 : _this$cameraPoi2.generateObject();
58
58
  };
59
59
  var toggleOverview = function toggleOverview() {
60
- if (!this.districtLine.isShow) this.districtLine.generateLine();else this.districtLine.removeHighLightLine();
60
+ if (!this.districtLine.isShow) this.districtLine.generateLine();
61
61
  this.scene.camera.layers.disable(28);
62
62
  showOverview.apply(this);
63
63
  closePeopleManagemen.apply(this);
@@ -172,7 +172,6 @@ var handleUnit = function handleUnit() {
172
172
  type: 'Bar'
173
173
  }, data));
174
174
  _this.circle.generateCircle(data === null || data === void 0 ? void 0 : data.belongTo);
175
- _this.districtLine.setHighLightLine(data === null || data === void 0 ? void 0 : data.belongTo);
176
175
  });
177
176
  emitter.on('peoplemanagement-person-click', function (data) {
178
177
  sendToMessage(MessageType.Event, 'onClick', EMessageStatus.Success, undefined, _objectSpread({
@@ -1 +1 @@
1
- {"version":3,"names":["utils","SceneStyle","SceneTag","MessageType","sendToMessage","EMessageStatus","WallManage","CylinderManage","PoiManage","CircleManage","AreaBoundingBoxManage","Inspection","CameraPoi","DistrictLineManage","RegionPlane","emitter","showOverview","poi","generatePoi","closeOverview","wall","wallMesh","forEach","mesh","visible","remove","showPeopleManagemen","cylinder","cylinderMesh","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","console","log","toggleSecurityOperation","toggleStandBy","toggleTag","overview","tag","toggleSceneStyle","real","controls","enabled","tech","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 { Layers, 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'\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}\n\nconst closePeopleManagemen = function () {\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = false\n })\n\n this.circle.remove()\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 = false\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 console.log(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 this.tag = SceneTag.overview\n this.toggleSceneStyle(SceneStyle.real)\n this.scene.controls.enabled = true\n toggleOverview.apply(this)\n },\n [SceneTag['people-management']]() {\n this.tag = SceneTag['people-management']\n this.toggleSceneStyle(SceneStyle.tech)\n this.scene.controls.enabled = true\n togglePeopleManagemen.apply(this)\n },\n [SceneTag['smart-inspection']]() {\n this.tag = SceneTag['smart-inspection']\n this.toggleSceneStyle(SceneStyle.real)\n this.scene.controls.enabled = false\n toggleSmartInspection.apply(this)\n },\n [SceneTag['security-operation']]() {\n this.tag = SceneTag['security-operation']\n this.toggleSceneStyle(SceneStyle.real)\n this.scene.controls.enabled = true\n toggleSecurityOperation.apply(this)\n },\n [SceneTag.standBy]() {\n this.tag = SceneTag.standBy\n this.toggleSceneStyle(SceneStyle.real)\n this.scene.controls.enabled = true\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 // 圆柱\n const cylinder = new CylinderManage(this, {\n visible: false,\n })\n cylinder.generateCylinder()\n\n this.cylinder = cylinder\n\n const regionPlane = new RegionPlane(this)\n this.regionPlane = regionPlane\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","emitter","showOverview","poi","generatePoi","closeOverview","wall","wallMesh","forEach","mesh","visible","remove","showPeopleManagemen","cylinder","cylinderMesh","closePeopleManagemen","circle","showSmartInspection","inspection","show","closeSmartInspection","hide","closeCameraPoiInspection","cameraPoi","showCameraPoiInspection","generateObject","toggleOverview","districtLine","isShow","generateLine","scene","camera","layers","disable","apply","regionPlane","planeMesh","togglePeopleManagemen","enable","toggleSmartInspection","console","log","toggleSecurityOperation","toggleStandBy","toggleTag","overview","tag","toggleSceneStyle","real","controls","enabled","tech","standBy","handleUnit","generateWall","generateCylinder","on","data","Event","Success","undefined","type","generateCircle","belongTo","areaBoundingBox","generateBoundingBox","addEventListener","args","item"],"sources":["../../../src/factory/unit/index.ts"],"sourcesContent":["import { Layers, 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'\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}\n\nconst closePeopleManagemen = function () {\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = false\n })\n\n this.circle.remove()\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\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 = false\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 console.log(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 this.tag = SceneTag.overview\n this.toggleSceneStyle(SceneStyle.real)\n this.scene.controls.enabled = true\n toggleOverview.apply(this)\n },\n [SceneTag['people-management']]() {\n this.tag = SceneTag['people-management']\n this.toggleSceneStyle(SceneStyle.tech)\n this.scene.controls.enabled = true\n togglePeopleManagemen.apply(this)\n },\n [SceneTag['smart-inspection']]() {\n this.tag = SceneTag['smart-inspection']\n this.toggleSceneStyle(SceneStyle.real)\n this.scene.controls.enabled = false\n toggleSmartInspection.apply(this)\n },\n [SceneTag['security-operation']]() {\n this.tag = SceneTag['security-operation']\n this.toggleSceneStyle(SceneStyle.real)\n this.scene.controls.enabled = true\n toggleSecurityOperation.apply(this)\n },\n [SceneTag.standBy]() {\n this.tag = SceneTag.standBy\n this.toggleSceneStyle(SceneStyle.real)\n this.scene.controls.enabled = true\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 // 圆柱\n const cylinder = new CylinderManage(this, {\n visible: false,\n })\n cylinder.generateCylinder()\n\n this.cylinder = cylinder\n\n const regionPlane = new RegionPlane(this)\n this.regionPlane = regionPlane\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 })\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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"}
@@ -8,7 +8,10 @@ declare class InspectionObject {
8
8
  private isLock;
9
9
  private isAnimation;
10
10
  walkCurveMesh: any;
11
+ tempPathMesh: any;
11
12
  css2d: Css2DPoi;
13
+ temp: any;
14
+ tempDemo: any;
12
15
  constructor(inspection: any);
13
16
  private loadModel;
14
17
  startMove(curve: any): Promise<void>;
@@ -19,6 +22,8 @@ declare class InspectionObject {
19
22
  private checkAnimation;
20
23
  generateTempPath(currentPosition: Vector3, targetPosition: Vector3): LineCurve3;
21
24
  private startRotate;
25
+ private generateTempPathMesh;
26
+ private cleanTempPathMesh;
22
27
  gotoTarget(targetPosition: Vector3, targetProgress: number): void;
23
28
  setSpeed(speed: number): void;
24
29
  stop(): void;
@@ -8,7 +8,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
8
8
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
9
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
10
10
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
11
- import { Clock, Color, EdgesGeometry, Group, LineBasicMaterial, LineCurve3, LineSegments, Matrix4, MeshBasicMaterial, ModelLoader, Quaternion, Vector3, use, utils } from '@anov/3d-core';
11
+ import { Clock, Color, EdgesGeometry, Group, LineBasicMaterial, LineCurve3, LineSegments, Matrix4, Mesh, MeshBasicMaterial, MirroredRepeatWrapping, ModelLoader, Quaternion, RepeatWrapping, TextureLoader, Vector3, use, utils } from '@anov/3d-core';
12
12
  import { SpritePoi } from '@anov/3d-ability';
13
13
  import { Tween } from '@tweenjs/tween.js';
14
14
  import { createFinirMaterial } from "../../utils/finirMaterial";
@@ -16,6 +16,7 @@ import { usePath } from "../../3d";
16
16
  import { MessageType, sendToMessage } from "../../../utils/messageFn";
17
17
  import { EMessageStatus } from "../../../messageStatus";
18
18
  import { isCheck, targetProgresspoints } from "./lineData";
19
+ import TubeGeometryV2 from "./tubeGeometry";
19
20
  var modelLoader = new ModelLoader();
20
21
  var InspectionObject = /*#__PURE__*/function () {
21
22
  function InspectionObject(inspection) {
@@ -27,7 +28,10 @@ var InspectionObject = /*#__PURE__*/function () {
27
28
  _defineProperty(this, "isLock", false);
28
29
  _defineProperty(this, "isAnimation", false);
29
30
  _defineProperty(this, "walkCurveMesh", void 0);
31
+ _defineProperty(this, "tempPathMesh", void 0);
30
32
  _defineProperty(this, "css2d", void 0);
33
+ _defineProperty(this, "temp", void 0);
34
+ _defineProperty(this, "tempDemo", void 0);
31
35
  _defineProperty(this, "startRotate", function (targetQuaternion, mesh, cb) {
32
36
  var clock = new Clock();
33
37
  if (mesh.quaternion.equals(targetQuaternion)) return cb();
@@ -43,6 +47,12 @@ var InspectionObject = /*#__PURE__*/function () {
43
47
  });
44
48
  });
45
49
  this.inspection = inspection;
50
+ var temp = new TextureLoader().load("".concat(usePath, "test07.png"));
51
+ temp.wrapS = RepeatWrapping;
52
+ temp.wrapT = MirroredRepeatWrapping;
53
+ temp.repeat.set(1, 2);
54
+ temp.rotation = Math.PI;
55
+ this.temp = temp;
46
56
  }
47
57
  _createClass(InspectionObject, [{
48
58
  key: "loadModel",
@@ -343,10 +353,38 @@ var InspectionObject = /*#__PURE__*/function () {
343
353
  value: function generateTempPath(currentPosition, targetPosition) {
344
354
  return new LineCurve3(currentPosition, targetPosition);
345
355
  }
356
+ }, {
357
+ key: "generateTempPathMesh",
358
+ value: function generateTempPathMesh(curve) {
359
+ var _this4 = this;
360
+ // @ts-ignore
361
+ var tube = new TubeGeometryV2(curve, 100, 5, 2, false);
362
+ var tempPathMesh = new Mesh(tube, new MeshBasicMaterial({
363
+ map: this.temp,
364
+ transparent: true,
365
+ depthTest: true
366
+ }));
367
+ this.inspection.gobal.scene.add(tempPathMesh);
368
+ this.tempPathMesh = tempPathMesh;
369
+ this.temp.repeat.set(curve.getLength() / 500, 2);
370
+ this.tempDemo = use.useframe(function () {
371
+ _this4.temp.offset.x -= -0.0009;
372
+ });
373
+ }
374
+ }, {
375
+ key: "cleanTempPathMesh",
376
+ value: function cleanTempPathMesh() {
377
+ if (this.tempPathMesh) {
378
+ this.tempDemo();
379
+ this.tempPathMesh.geometry.dispose();
380
+ this.tempPathMesh.material.dispose();
381
+ this.tempPathMesh.removeFromParent();
382
+ }
383
+ }
346
384
  }, {
347
385
  key: "gotoTarget",
348
386
  value: function gotoTarget(targetPosition, targetProgress) {
349
- var _this4 = this;
387
+ var _this5 = this;
350
388
  if (this.isAnimation) return;
351
389
  this.isAnimation = true;
352
390
  this.control.stop();
@@ -355,36 +393,45 @@ var InspectionObject = /*#__PURE__*/function () {
355
393
  rotationMatrix.lookAt(targetPosition, this.model.position, this.model.up);
356
394
  targetQuaternion.setFromRotationMatrix(rotationMatrix);
357
395
  this.startRotate(targetQuaternion, this.model, function () {
358
- var currentPosition = _this4.model.position;
396
+ var tempPathMeshtargetPosition = new Vector3(targetPosition.x, 1.1, targetPosition.z);
397
+ _this5.generateTempPathMesh(_this5.generateTempPath(new Vector3(_this5.model.position.x, 1.1, _this5.model.position.z), tempPathMeshtargetPosition));
398
+ var currentPosition = _this5.model.position;
359
399
  var upCurve = new LineCurve3(currentPosition, new Vector3(currentPosition.x, currentPosition.y + 100, currentPosition.z));
360
- var upControl = utils.moveWithLine(_this4.model, upCurve, 10, {
400
+ var upControl = utils.moveWithLine(_this5.model, upCurve, 10, {
361
401
  loop: false,
362
402
  lookat: targetPosition
363
403
  });
404
+
405
+ // up end
364
406
  upControl.addEventListener('end', function () {
365
- var tempCurve = _this4.generateTempPath(currentPosition, new Vector3(targetPosition.x, targetPosition.y + 100, targetPosition.z));
366
- var tempControl = utils.moveWithLine(_this4.model, tempCurve, 50, {
407
+ var tempCurve = _this5.generateTempPath(currentPosition, new Vector3(targetPosition.x, targetPosition.y + 100, targetPosition.z));
408
+ var tempControl = utils.moveWithLine(_this5.model, tempCurve, 50, {
367
409
  loop: false,
368
410
  lookat: false
369
411
  });
412
+
413
+ // temp end
370
414
  tempControl.addEventListener('end', function () {
371
- var lastPosition = _this4.model.position;
415
+ var lastPosition = _this5.model.position;
372
416
  var downCurve = new LineCurve3(lastPosition, new Vector3(lastPosition.x, lastPosition.y - 100, lastPosition.z));
373
- var downControl = utils.moveWithLine(_this4.model, downCurve, 10, {
417
+ var downControl = utils.moveWithLine(_this5.model, downCurve, 10, {
374
418
  loop: false,
375
419
  lookat: false
376
420
  });
421
+
422
+ // down end
377
423
  downControl.addEventListener('end', function () {
378
424
  var rotationMatrix2 = new Matrix4();
379
425
  var targetQuaternion2 = new Quaternion();
380
- var targetPosition2 = _this4.inspection.curve.getPointAt((targetProgress + 0.01) % 1);
381
- rotationMatrix2.lookAt(targetPosition2, _this4.model.position, _this4.model.up);
426
+ var targetPosition2 = _this5.inspection.curve.getPointAt((targetProgress + 0.01) % 1);
427
+ rotationMatrix2.lookAt(targetPosition2, _this5.model.position, _this5.model.up);
382
428
  targetQuaternion2.setFromRotationMatrix(rotationMatrix2);
383
- _this4.startRotate(targetQuaternion2, _this4.model, function () {
429
+ _this5.startRotate(targetQuaternion2, _this5.model, function () {
384
430
  setTimeout(function () {
385
- _this4.isAnimation = false;
386
- _this4.control.setProgress(targetProgress);
387
- _this4.control.contine();
431
+ _this5.cleanTempPathMesh();
432
+ _this5.isAnimation = false;
433
+ _this5.control.setProgress(targetProgress);
434
+ _this5.control.contine();
388
435
  }, 500);
389
436
  });
390
437
  });