@anov/3d 0.0.85 → 0.0.86

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.
@@ -118,7 +118,6 @@ export var toggleTag = (_toggleTag = {}, _defineProperty(_toggleTag, SceneTag.ov
118
118
  this.scene.camera = mainCamera;
119
119
  this.scene.cutoutCamera = cutoutCamera;
120
120
  }
121
- this.scene.camera = this.mainCamera;
122
121
  this.scene.controls.enableRotate = true;
123
122
  this.scene.controls.enableZoom = true;
124
123
  this.tag = SceneTag.overview;
@@ -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","toggleSecurityOperation","toggleStandBy","toggleTag","overview","cutoutCamera","minCamera","mainCamera","controls","enableRotate","enableZoom","tag","toggleSceneStyle","real","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 { 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 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 }\n this.scene.camera = this.mainCamera\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 }\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag['people-management']\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 }\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 }\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 }\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 // 圆柱\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","removeHighLightLine","scene","camera","layers","disable","apply","regionPlane","planeMesh","togglePeopleManagemen","enable","toggleSmartInspection","toggleSecurityOperation","toggleStandBy","toggleTag","overview","cutoutCamera","minCamera","mainCamera","controls","enableRotate","enableZoom","tag","toggleSceneStyle","real","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 { 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 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 }\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 }\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag['people-management']\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 }\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 }\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 }\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 // 圆柱\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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"}
@@ -14,6 +14,7 @@ declare class InspectionObject {
14
14
  tempDemo: any;
15
15
  constructor(inspection: any);
16
16
  private loadModel;
17
+ private loadPosAudio;
17
18
  startMove(curve: any): Promise<void>;
18
19
  get getSportsProgress(): any;
19
20
  private getTargetQuaternion;
@@ -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, Mesh, MeshBasicMaterial, MirroredRepeatWrapping, ModelLoader, Quaternion, RepeatWrapping, TextureLoader, Vector3, use, utils } from '@anov/3d-core';
11
+ import { AudioListener, AudioLoader, Clock, Color, EdgesGeometry, Group, LineBasicMaterial, LineCurve3, LineSegments, Matrix4, Mesh, MeshBasicMaterial, MirroredRepeatWrapping, ModelLoader, PositionalAudio, 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";
@@ -92,11 +92,11 @@ var InspectionObject = /*#__PURE__*/function () {
92
92
  img2 = document.createElement('img');
93
93
  img2.src = "".concat(usePath, "aerialVehicle01.png");
94
94
  poi2 = new SpritePoi(img2, {
95
- width: 200 * 2,
96
- height: 80 * 2
95
+ width: 400 * 2,
96
+ height: 160 * 2
97
97
  });
98
98
  poi.scale.set(100, 40, 1);
99
- poi2.scale.set(200, 80, 1);
99
+ poi2.scale.set(400, 160, 1);
100
100
  fly1 = glb.scene.getObjectByName('fly1');
101
101
  fly2 = glb.scene.getObjectByName('fly1_1');
102
102
  fly3 = glb.scene.getObjectByName('fly1_2');
@@ -123,19 +123,25 @@ var InspectionObject = /*#__PURE__*/function () {
123
123
  this.inspection.minCamera.rotateY(Math.PI);
124
124
  this.model = group;
125
125
  this.inspection.gobal.interactionManager.add(poi);
126
-
127
- // poi.addEventListener('click', () => {
128
- // group.add(poi2)
129
- // poi.visible = false
130
- // })
131
-
126
+ this.inspection.gobal.interactionManager.add(poi2);
127
+ poi2.visible = false;
128
+ poi.addEventListener('click', function () {
129
+ group.add(poi2);
130
+ poi2.visible = true;
131
+ poi.visible = false;
132
+ });
133
+ poi2.addEventListener('click', function () {
134
+ group.add(poi2);
135
+ poi.visible = true;
136
+ poi2.visible = false;
137
+ });
132
138
  glb.scene.scale.set(5, 5, 5);
133
139
  glb.scene.traverse(function (child) {
134
140
  child.layers.enable(2);
135
141
  child.layers.enable(5);
136
142
  });
137
143
  this.inspection.gobal.scene.add(this.model);
138
- case 44:
144
+ case 48:
139
145
  case "end":
140
146
  return _context.stop();
141
147
  }
@@ -146,38 +152,84 @@ var InspectionObject = /*#__PURE__*/function () {
146
152
  }
147
153
  return loadModel;
148
154
  }()
155
+ }, {
156
+ key: "loadPosAudio",
157
+ value: function loadPosAudio() {
158
+ var _this2 = this;
159
+ var handleMouseMove = function handleMouseMove() {
160
+ var listener = new AudioListener();
161
+ _this2.inspection.gobal.scene.camera.add(listener);
162
+ var posAudio = new PositionalAudio(listener);
163
+ _this2.model.add(posAudio);
164
+ var audioLoader = new AudioLoader();
165
+ var startAudio = /*#__PURE__*/function () {
166
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
167
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
168
+ while (1) switch (_context2.prev = _context2.next) {
169
+ case 0:
170
+ if (!(listener.context.state === 'suspended')) {
171
+ _context2.next = 3;
172
+ break;
173
+ }
174
+ _context2.next = 3;
175
+ return listener.context.resume();
176
+ case 3:
177
+ audioLoader.load("".concat(usePath, "demo.mp3"), function (audioBuffer) {
178
+ posAudio.setBuffer(audioBuffer);
179
+ posAudio.setVolume(0.8);
180
+ posAudio.setRefDistance(200);
181
+ posAudio.setLoop(true);
182
+ posAudio.play();
183
+ });
184
+ case 4:
185
+ case "end":
186
+ return _context2.stop();
187
+ }
188
+ }, _callee2);
189
+ }));
190
+ return function startAudio() {
191
+ return _ref.apply(this, arguments);
192
+ };
193
+ }();
194
+ startAudio();
195
+ document.removeEventListener('mousemove', handleMouseMove);
196
+ };
197
+ document.addEventListener('mousemove', handleMouseMove);
198
+ }
149
199
  }, {
150
200
  key: "startMove",
151
201
  value: function () {
152
- var _startMove = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(curve) {
153
- var _this2 = this;
154
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
155
- while (1) switch (_context2.prev = _context2.next) {
202
+ var _startMove = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(curve) {
203
+ var _this3 = this;
204
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
205
+ while (1) switch (_context3.prev = _context3.next) {
156
206
  case 0:
157
207
  if (this.model) {
158
- _context2.next = 3;
208
+ _context3.next = 3;
159
209
  break;
160
210
  }
161
- _context2.next = 3;
211
+ _context3.next = 3;
162
212
  return this.loadModel();
163
213
  case 3:
164
214
  this.control = utils.moveWithLine(this.model, curve, 10, {
165
215
  groundCurve: this.inspection.groundCurve
166
216
  });
167
217
  this.model.position.copy(curve.getPointAt(0));
168
- this.stop();
218
+ setTimeout(function () {
219
+ _this3.stop();
220
+ }, 20);
169
221
  use.useframe(function () {
170
- _this2.inspection.groundMaterial.uniforms.u_time.value = _this2.getSportsProgress - 0.01;
171
- _this2.inspection.mapMaterial.uniforms.u_time.value = _this2.getSportsProgress - 0.01;
222
+ _this3.inspection.groundMaterial.uniforms.u_time.value = _this3.getSportsProgress - 0.01;
223
+ _this3.inspection.mapMaterial.uniforms.u_time.value = _this3.getSportsProgress - 0.01;
172
224
  sendToMessage(MessageType.Event, 'onInspectProgress', EMessageStatus.Success, undefined, {
173
- percentage: _this2.getSportsProgress
225
+ percentage: _this3.getSportsProgress
174
226
  });
175
227
  });
176
228
  case 7:
177
229
  case "end":
178
- return _context2.stop();
230
+ return _context3.stop();
179
231
  }
180
- }, _callee2, this);
232
+ }, _callee3, this);
181
233
  }));
182
234
  function startMove(_x) {
183
235
  return _startMove.apply(this, arguments);
@@ -233,7 +285,7 @@ var InspectionObject = /*#__PURE__*/function () {
233
285
  }, {
234
286
  key: "checkAnimation",
235
287
  value: function checkAnimation(progress) {
236
- var _this3 = this;
288
+ var _this4 = this;
237
289
  this.isLock = true;
238
290
  this.isAnimation = true;
239
291
  var key = Object.keys(targetProgresspoints).find(function (p) {
@@ -247,7 +299,7 @@ var InspectionObject = /*#__PURE__*/function () {
247
299
  this.contineMove();
248
300
  this.isAnimation = false;
249
301
  setTimeout(function () {
250
- _this3.isLock = false;
302
+ _this4.isLock = false;
251
303
  }, 500);
252
304
  return;
253
305
  }
@@ -262,33 +314,33 @@ var InspectionObject = /*#__PURE__*/function () {
262
314
  setTimeout(function () {
263
315
  var rotationMatrix = new Matrix4();
264
316
  var targetQuaternion = new Quaternion();
265
- var startQuaternion = _this3.model.quaternion.clone();
317
+ var startQuaternion = _this4.model.quaternion.clone();
266
318
  var targetMeshPosition = targetMesh.position.clone();
267
319
  targetMeshPosition.y = targetMeshPosition.y + (Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40 ? 20 : 0);
268
- rotationMatrix.lookAt(targetMeshPosition, _this3.model.position, _this3.model.up);
320
+ rotationMatrix.lookAt(targetMeshPosition, _this4.model.position, _this4.model.up);
269
321
  targetQuaternion.setFromRotationMatrix(rotationMatrix);
270
322
  var forwardTween = new Tween({
271
323
  t: 0
272
324
  }).to({
273
325
  t: 1
274
326
  }, 2000).onUpdate(function (obj) {
275
- _this3.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t);
327
+ _this4.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t);
276
328
  });
277
329
  var backwardTween = new Tween({
278
330
  t: 1
279
331
  }).to({
280
332
  t: 0
281
333
  }, 2000).onUpdate(function (obj) {
282
- _this3.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t);
334
+ _this4.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t);
283
335
  });
284
336
  forwardTween.onComplete(function () {
285
337
  var finirMesh = null;
286
338
  sendToMessage(MessageType.Event, 'onReachTarget', EMessageStatus.Success, undefined, {
287
339
  target: targetProgresspoints[key].name
288
340
  });
289
- if (Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40) _this3.inspection.minCamera.layers.set(2);
341
+ if (Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40) _this4.inspection.minCamera.layers.set(2);
290
342
  if (Number(key) === 0.15 || Number(key) === 0.24) {
291
- _this3.inspection.minCamera.layers.enable(3);
343
+ _this4.inspection.minCamera.layers.enable(3);
292
344
  // @ts-ignore
293
345
  if (!targetMesh.finirMesh) {
294
346
  finirMesh = targetMesh.clone();
@@ -310,7 +362,7 @@ var InspectionObject = /*#__PURE__*/function () {
310
362
 
311
363
  // @ts-ignore
312
364
  targetMesh.finirMesh = finirMesh;
313
- _this3.inspection.gobal.scene.add(finirMesh);
365
+ _this4.inspection.gobal.scene.add(finirMesh);
314
366
  } else {
315
367
  // @ts-ignore
316
368
  finirMesh = targetMesh.finirMesh;
@@ -320,7 +372,7 @@ var InspectionObject = /*#__PURE__*/function () {
320
372
 
321
373
  // 异常点
322
374
  if (Number(key) === 0.15 || Number(key) === 0.24) {
323
- _this3.subscription().then(function (data) {
375
+ _this4.subscription().then(function (data) {
324
376
  if (data) {
325
377
  finirMesh.visible = false;
326
378
  backwardTween.start();
@@ -329,7 +381,7 @@ var InspectionObject = /*#__PURE__*/function () {
329
381
  });
330
382
  } else {
331
383
  setTimeout(function () {
332
- if (Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40) _this3.inspection.minCamera.layers.set(0);
384
+ if (Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40) _this4.inspection.minCamera.layers.set(0);
333
385
 
334
386
  // if (Number(key) === 0.40)
335
387
  // finirMesh.visible = false
@@ -342,8 +394,8 @@ var InspectionObject = /*#__PURE__*/function () {
342
394
  forwardTween.start();
343
395
  }, 1000);
344
396
  backwardTween.onComplete(function () {
345
- _this3.isAnimation = false;
346
- _this3.contineMove();
397
+ _this4.isAnimation = false;
398
+ _this4.contineMove();
347
399
  currentAnchor.traverse(function (child) {
348
400
  if (child.name === 'cylinder') child.material = new MeshBasicMaterial({
349
401
  color: new Color('#cdccca')
@@ -352,7 +404,7 @@ var InspectionObject = /*#__PURE__*/function () {
352
404
  });
353
405
  });
354
406
  setTimeout(function () {
355
- _this3.isLock = false;
407
+ _this4.isLock = false;
356
408
  }, 500);
357
409
  });
358
410
  }, 1000);
@@ -365,7 +417,7 @@ var InspectionObject = /*#__PURE__*/function () {
365
417
  }, {
366
418
  key: "generateTempPathMesh",
367
419
  value: function generateTempPathMesh(curve) {
368
- var _this4 = this;
420
+ var _this5 = this;
369
421
  // @ts-ignore
370
422
  var tube = new TubeGeometryV2(curve, 100, 5, 2, false);
371
423
  var tempPathMesh = new Mesh(tube, new MeshBasicMaterial({
@@ -378,7 +430,7 @@ var InspectionObject = /*#__PURE__*/function () {
378
430
  tempPathMesh.layers.enable(5);
379
431
  this.temp.repeat.set(curve.getLength() / 500, 2);
380
432
  this.tempDemo = use.useframe(function () {
381
- _this4.temp.offset.x -= -0.0009;
433
+ _this5.temp.offset.x -= -0.0009;
382
434
  });
383
435
  }
384
436
  }, {
@@ -394,7 +446,7 @@ var InspectionObject = /*#__PURE__*/function () {
394
446
  }, {
395
447
  key: "gotoTarget",
396
448
  value: function gotoTarget(targetPosition, targetProgress) {
397
- var _this5 = this;
449
+ var _this6 = this;
398
450
  if (this.isAnimation) return;
399
451
  this.isAnimation = true;
400
452
  this.control.stop();
@@ -404,27 +456,27 @@ var InspectionObject = /*#__PURE__*/function () {
404
456
  targetQuaternion.setFromRotationMatrix(rotationMatrix);
405
457
  this.startRotate(targetQuaternion, this.model, function () {
406
458
  var tempPathMeshtargetPosition = new Vector3(targetPosition.x, 1.1, targetPosition.z);
407
- _this5.generateTempPathMesh(_this5.generateTempPath(new Vector3(_this5.model.position.x, 1.1, _this5.model.position.z), tempPathMeshtargetPosition));
408
- var currentPosition = _this5.model.position;
459
+ _this6.generateTempPathMesh(_this6.generateTempPath(new Vector3(_this6.model.position.x, 1.1, _this6.model.position.z), tempPathMeshtargetPosition));
460
+ var currentPosition = _this6.model.position;
409
461
  var upCurve = new LineCurve3(currentPosition, new Vector3(currentPosition.x, currentPosition.y + 50, currentPosition.z));
410
- var upControl = utils.moveWithLine(_this5.model, upCurve, 10, {
462
+ var upControl = utils.moveWithLine(_this6.model, upCurve, 10, {
411
463
  loop: false,
412
464
  lookat: targetPosition
413
465
  });
414
466
 
415
467
  // up end
416
468
  upControl.addEventListener('end', function () {
417
- var tempCurve = _this5.generateTempPath(currentPosition, new Vector3(targetPosition.x, targetPosition.y + 50, targetPosition.z));
418
- var tempControl = utils.moveWithLine(_this5.model, tempCurve, 60, {
469
+ var tempCurve = _this6.generateTempPath(currentPosition, new Vector3(targetPosition.x, targetPosition.y + 50, targetPosition.z));
470
+ var tempControl = utils.moveWithLine(_this6.model, tempCurve, 60, {
419
471
  loop: false,
420
472
  lookat: false
421
473
  });
422
474
 
423
475
  // temp end
424
476
  tempControl.addEventListener('end', function () {
425
- var lastPosition = _this5.model.position;
477
+ var lastPosition = _this6.model.position;
426
478
  var downCurve = new LineCurve3(lastPosition, new Vector3(lastPosition.x, lastPosition.y - 50, lastPosition.z));
427
- var downControl = utils.moveWithLine(_this5.model, downCurve, 10, {
479
+ var downControl = utils.moveWithLine(_this6.model, downCurve, 10, {
428
480
  loop: false,
429
481
  lookat: false
430
482
  });
@@ -433,15 +485,15 @@ var InspectionObject = /*#__PURE__*/function () {
433
485
  downControl.addEventListener('end', function () {
434
486
  var rotationMatrix2 = new Matrix4();
435
487
  var targetQuaternion2 = new Quaternion();
436
- var targetPosition2 = _this5.inspection.curve.getPointAt((targetProgress + 0.01) % 1);
437
- rotationMatrix2.lookAt(targetPosition2, _this5.model.position, _this5.model.up);
488
+ var targetPosition2 = _this6.inspection.curve.getPointAt((targetProgress + 0.01) % 1);
489
+ rotationMatrix2.lookAt(targetPosition2, _this6.model.position, _this6.model.up);
438
490
  targetQuaternion2.setFromRotationMatrix(rotationMatrix2);
439
- _this5.startRotate(targetQuaternion2, _this5.model, function () {
491
+ _this6.startRotate(targetQuaternion2, _this6.model, function () {
440
492
  setTimeout(function () {
441
- _this5.cleanTempPathMesh();
442
- _this5.isAnimation = false;
443
- _this5.control.setProgress(targetProgress);
444
- _this5.control.contine();
493
+ _this6.cleanTempPathMesh();
494
+ _this6.isAnimation = false;
495
+ _this6.control.setProgress(targetProgress);
496
+ _this6.control.contine();
445
497
  }, 500);
446
498
  });
447
499
  });
@@ -463,6 +515,7 @@ var InspectionObject = /*#__PURE__*/function () {
463
515
  key: "contineMove",
464
516
  value: function contineMove() {
465
517
  if (this.control) this.control.contine();
518
+ this.loadPosAudio();
466
519
  utils.emitter.emit('continue', true);
467
520
  }
468
521
 
@@ -1 +1 @@
1
- {"version":3,"names":["Clock","Color","EdgesGeometry","Group","LineBasicMaterial","LineCurve3","LineSegments","Matrix4","Mesh","MeshBasicMaterial","MirroredRepeatWrapping","ModelLoader","Quaternion","RepeatWrapping","TextureLoader","Vector3","use","utils","SpritePoi","Tween","createFinirMaterial","usePath","MessageType","sendToMessage","EMessageStatus","isCheck","targetProgresspoints","TubeGeometryV2","modelLoader","InspectionObject","inspection","targetQuaternion","mesh","cb","clock","quaternion","equals","animation","useframe","delta","getDelta","step","rotateTowards","temp","load","wrapS","wrapT","repeat","set","rotation","Math","PI","loadGLTF","glb","div","document","createElement","style","position","img","src","span","innerText","top","left","transform","color","fontSize","fontWeight","appendChild","poi","width","height","img2","poi2","scale","fly1","scene","getObjectByName","fly2","fly3","fly4","copy","clone","add","z","getSportsProgress","isLock","stop","checkAnimation","group","minCamera","y","rotateY","model","gobal","interactionManager","traverse","child","layers","enable","curve","loadModel","control","moveWithLine","groundCurve","getPointAt","groundMaterial","uniforms","u_time","value","mapMaterial","Event","Success","undefined","percentage","getProgress","targetMesh","updateMatrixWorld","localForward","worldForward","applyQuaternion","normalize","target","direction","sub","setFromUnitVectors","dotProduct","dot","angleRadians","acos","angleDegrees","flipQuaternion","setFromAxisAngle","multiply","lastFromPositin","currentPositin","targetPosition","vTo","vFrom","Promise","resolve","emitter","on","data","progress","isAnimation","key","Object","keys","find","p","num","parseFloat","targetMeshId","lookAt","pipeline","realModl","contineMove","setTimeout","currentAnchor","anchorObject","get","name","material","rotationMatrix","startQuaternion","targetMeshPosition","Number","up","setFromRotationMatrix","forwardTween","t","to","onUpdate","obj","slerp","backwardTween","onComplete","finirMesh","finirMaterialV2","type","lineSegments","geometry","visible","subscription","then","start","off","currentPosition","tube","tempPathMesh","map","transparent","depthTest","getLength","tempDemo","offset","x","dispose","removeFromParent","targetProgress","startRotate","tempPathMeshtargetPosition","generateTempPathMesh","generateTempPath","upCurve","upControl","loop","lookat","addEventListener","tempCurve","tempControl","lastPosition","downCurve","downControl","rotationMatrix2","targetQuaternion2","targetPosition2","cleanTempPathMesh","setProgress","contine","speed","setSpeed","emit"],"sources":["../../../../src/factory/unit/inspection/InspectionObject.ts"],"sourcesContent":["import type { Camera, Curve } from '@anov/3d-core'\nimport { BoxGeometry, Clock, Color, EdgesGeometry, Group, LineBasicMaterial, LineCurve3, LineSegments, Matrix4, Mesh, MeshBasicMaterial, MirroredRepeatWrapping, ModelLoader, Quaternion, RepeatWrapping, ShaderChunk, ShaderMaterial, TextureLoader, TubeGeometry, Vector3, use, utils } from '@anov/3d-core'\nimport type { Css2DPoi } from '@anov/3d-ability'\nimport { SpritePoi, addColorifyPass, createHighSelectedTool } from '@anov/3d-ability'\nimport { Tween } from '@tweenjs/tween.js'\nimport { createFinirMaterial } from '../../utils/finirMaterial'\nimport { usePath } from '../../3d'\nimport { MessageType, sendToMessage } from '../../../utils/messageFn'\nimport { EMessageStatus } from '../../../messageStatus'\nimport { invertMap } from '../handle'\nimport fragmentShader from '../glsl/highway/fragmentShader'\nimport vertexShader from '../glsl/highway/vertexShader'\nimport { isCheck, targetProgresspoints } from './lineData'\nimport TubeGeometryV2 from './tubeGeometry'\n\nconst modelLoader = new ModelLoader()\n\nclass InspectionObject {\n model\n private inspection\n private control\n private tempLine\n private isLock = false\n private isAnimation = false\n walkCurveMesh\n tempPathMesh\n css2d: Css2DPoi\n temp\n tempDemo\n\n constructor(inspection) {\n this.inspection = inspection\n\n const temp = new TextureLoader().load(`${usePath}test07.png`)\n temp.wrapS = RepeatWrapping\n temp.wrapT = MirroredRepeatWrapping\n temp.repeat.set(1, 2)\n temp.rotation = Math.PI\n\n this.temp = temp\n }\n\n private async loadModel() {\n const glb = await (await modelLoader.loadGLTF(`${usePath}car.glb`, false, true, './draco/'))\n\n const div = document.createElement('div')\n div.style.position = 'relative'\n\n const img = document.createElement('img')\n img.src = `${usePath}aerialVehicle02.png`\n\n const span = document.createElement('span')\n span.innerText = '巡检无人机'\n span.style.position = 'absolute'\n span.style.top = '10px'\n span.style.left = '50%'\n span.style.transform = 'translateX(-30%)'\n\n span.style.color = 'white'\n span.style.fontSize = '20px'\n span.style.fontWeight = 'bold'\n\n div.appendChild(img)\n div.appendChild(span)\n\n const poi = new SpritePoi(div, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n const img2 = document.createElement('img')\n img2.src = `${usePath}aerialVehicle01.png`\n\n const poi2 = new SpritePoi(img2, {\n width: 200 * 2,\n height: 80 * 2,\n })\n\n poi.scale.set(100, 40, 1)\n poi2.scale.set(200, 80, 1)\n\n const fly1 = glb.scene.getObjectByName('fly1')\n const fly2 = glb.scene.getObjectByName('fly1_1')\n const fly3 = glb.scene.getObjectByName('fly1_2')\n const fly4 = glb.scene.getObjectByName('fly1_3')\n\n use.useframe(() => {\n poi.position.copy(glb.scene.position.clone().add(new Vector3(0, 10, 0)))\n poi2.position.copy(glb.scene.position.clone().add(new Vector3(0, 10, 0)))\n\n fly1.rotation.z += 1.3\n fly2.rotation.z += 1.3\n fly3.rotation.z += 1.3\n fly4.rotation.z += 1.3\n\n if (isCheck(this.getSportsProgress)\n && !this.isLock) {\n this.stop()\n this.checkAnimation(this.getSportsProgress)\n }\n })\n\n const group = new Group()\n group.add(glb.scene)\n group.add(poi)\n group.add(this.inspection.minCamera)\n\n this.inspection.minCamera.position.copy(glb.scene.position)\n this.inspection.minCamera.position.z -= 15\n this.inspection.minCamera.position.y += 4\n this.inspection.minCamera.rotateY(Math.PI)\n\n this.model = group\n\n this.inspection.gobal.interactionManager.add(poi)\n\n // poi.addEventListener('click', () => {\n // group.add(poi2)\n // poi.visible = false\n // })\n\n glb.scene.scale.set(5, 5, 5)\n glb.scene.traverse((child) => {\n child.layers.enable(2)\n child.layers.enable(5)\n })\n\n this.inspection.gobal.scene.add(this.model)\n }\n\n async startMove(curve) {\n if (!this.model)\n await this.loadModel()\n\n this.control = utils.moveWithLine(this.model, curve, 10, {\n groundCurve: this.inspection.groundCurve,\n })\n\n this.model.position.copy(curve.getPointAt(0))\n\n this.stop()\n\n use.useframe(() => {\n this.inspection.groundMaterial.uniforms.u_time.value = this.getSportsProgress - 0.01\n this.inspection.mapMaterial.uniforms.u_time.value = this.getSportsProgress - 0.01\n sendToMessage(MessageType.Event, 'onInspectProgress', EMessageStatus.Success, undefined, {\n percentage: this.getSportsProgress,\n })\n })\n }\n\n get getSportsProgress() {\n if (!this.control)\n return 0\n\n return this.control.getProgress()\n }\n\n private getTargetQuaternion(targetMesh: Group) {\n targetMesh.updateMatrixWorld(true)\n const localForward = new Vector3(0, 0, -1)\n const worldForward = localForward.applyQuaternion(targetMesh.quaternion.clone()).normalize()\n\n const target = targetMesh.position.clone()\n const direction = target.sub(this.model.position).normalize()\n\n const targetQuaternion = new Quaternion().setFromUnitVectors(worldForward, direction)\n\n const dotProduct = worldForward.dot(direction)\n const angleRadians = Math.acos(dotProduct)\n const angleDegrees = angleRadians * (180 / Math.PI)\n\n // todo: some problem\n if (angleDegrees < 60) {\n const flipQuaternion = new Quaternion()\n flipQuaternion.setFromAxisAngle(new Vector3(0, 1, 0), Math.PI)\n targetQuaternion.multiply(flipQuaternion)\n }\n }\n\n private getTargetQuaternionV2(lastFromPositin: Vector3, currentPositin: Vector3, targetPosition: Vector3) {\n const vTo = targetPosition.clone().sub(currentPositin).normalize()\n const vFrom = currentPositin.clone().sub(lastFromPositin).normalize()\n\n const targetQuaternion = new Quaternion().setFromUnitVectors(vFrom, vTo)\n\n const flipQuaternion = new Quaternion()\n flipQuaternion.setFromAxisAngle(new Vector3(0, 1, 0), Math.PI)\n targetQuaternion.multiply(flipQuaternion)\n\n return targetQuaternion\n }\n\n subscription() {\n return new Promise((resolve) => {\n utils.emitter.on('continue', (data) => {\n resolve(data)\n })\n })\n }\n\n private checkAnimation(progress: number) {\n this.isLock = true\n this.isAnimation = true\n\n const key = Object.keys(targetProgresspoints).find((p) => {\n const num = parseFloat(p)\n if (progress >= num && progress < num + 0.01)\n return true\n })\n\n const targetMeshId = targetProgresspoints[key].lookAt\n\n let targetMesh: Group | null = null\n\n if (targetMeshId === 'GY_GD_guandaofamen_5')\n targetMesh = this.inspection.gobal.pipeline.getObjectByName(targetMeshId) as Group\n\n else\n targetMesh = this.inspection.gobal.realModl.getObjectByName(targetMeshId) as Group\n\n if (!targetMesh) {\n this.contineMove()\n this.isAnimation = false\n setTimeout(() => {\n this.isLock = false\n }, 500)\n return\n }\n\n const currentAnchor = this.inspection.anchorObject.get(targetProgresspoints[key].name)\n\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('yellow') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#facb2b') })\n })\n\n setTimeout(() => {\n const rotationMatrix = new Matrix4()\n\n const targetQuaternion = new Quaternion()\n const startQuaternion = this.model.quaternion.clone()\n\n const targetMeshPosition = targetMesh.position.clone()\n targetMeshPosition.y = targetMeshPosition.y + ((Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40) ? 20 : 0)\n\n rotationMatrix.lookAt(targetMeshPosition, this.model.position, this.model.up)\n targetQuaternion.setFromRotationMatrix(rotationMatrix)\n\n const forwardTween = new Tween({ t: 0 })\n .to({ t: 1 }, 2000)\n .onUpdate((obj) => {\n this.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t)\n })\n\n const backwardTween = new Tween({ t: 1 })\n .to({ t: 0 }, 2000)\n .onUpdate((obj) => {\n this.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t)\n })\n\n forwardTween.onComplete(() => {\n let finirMesh: Group | null = null\n\n sendToMessage(MessageType.Event, 'onReachTarget', EMessageStatus.Success, undefined, {\n target: targetProgresspoints[key].name,\n })\n\n if (Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40)\n (this.inspection.minCamera as Camera).layers.set(2)\n\n if (Number(key) === 0.15 || Number(key) === 0.24) {\n (this.inspection.minCamera as Camera).layers.enable(3)\n // @ts-ignore\n if (!targetMesh.finirMesh) {\n finirMesh = targetMesh.clone() as any as Group\n\n const finirMaterialV2 = createFinirMaterial('yellow', 5.3)\n\n finirMesh.traverse((child) => {\n child.layers.set(3)\n\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = finirMaterialV2\n\n // @ts-ignore\n const lineSegments = new LineSegments(new EdgesGeometry(child.geometry as any), new LineBasicMaterial({ color: 'yellow' }))\n\n lineSegments.layers.set(3)\n finirMesh.add(lineSegments)\n }\n })\n\n // @ts-ignore\n targetMesh.finirMesh = finirMesh\n\n this.inspection.gobal.scene.add(finirMesh)\n }\n else {\n // @ts-ignore\n finirMesh = targetMesh.finirMesh\n\n finirMesh.visible = true\n }\n }\n\n // 异常点\n if (Number(key) === 0.15 || Number(key) === 0.24) {\n this.subscription().then((data) => {\n if (data) {\n finirMesh.visible = false\n backwardTween.start()\n\n utils.emitter.off('continue')\n }\n })\n }\n else {\n setTimeout(() => {\n if (Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40)\n (this.inspection.minCamera as Camera).layers.set(0)\n\n // if (Number(key) === 0.40)\n // finirMesh.visible = false\n\n backwardTween.start()\n }, 6000)\n }\n })\n\n setTimeout(() => {\n forwardTween.start()\n }, 1000)\n\n backwardTween.onComplete(() => {\n this.isAnimation = false\n this.contineMove()\n\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('#cdccca') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#fff') })\n })\n\n setTimeout(() => {\n this.isLock = false\n }, 500)\n })\n }, 1000)\n }\n\n generateTempPath(currentPosition: Vector3, targetPosition: Vector3) {\n return new LineCurve3(currentPosition, targetPosition)\n }\n\n private startRotate = (targetQuaternion: Quaternion, mesh: Group, cb: () => void) => {\n const clock = new Clock()\n\n if (mesh.quaternion.equals(targetQuaternion))\n return cb()\n\n const animation = use.useframe(() => {\n const delta = clock.getDelta()\n if (!mesh.quaternion.equals(targetQuaternion)) {\n const step = 1 * delta\n mesh.quaternion.rotateTowards(targetQuaternion, step)\n }\n else {\n animation()\n cb()\n }\n },\n )\n }\n\n private generateTempPathMesh(curve: Curve<Vector3>) {\n // @ts-ignore\n const tube = new TubeGeometryV2(curve, 100, 5, 2, false)\n const tempPathMesh = new Mesh(tube, new MeshBasicMaterial({ map: this.temp, transparent: true, depthTest: true }))\n\n this.inspection.gobal.scene.add(tempPathMesh)\n this.tempPathMesh = tempPathMesh\n\n tempPathMesh.layers.enable(5)\n\n this.temp.repeat.set(curve.getLength() / 500, 2)\n this.tempDemo = use.useframe(() => {\n this.temp.offset.x -= -0.0009\n })\n }\n\n private cleanTempPathMesh() {\n if (this.tempPathMesh) {\n this.tempDemo()\n this.tempPathMesh.geometry.dispose()\n this.tempPathMesh.material.dispose();\n (this.tempPathMesh as Mesh).removeFromParent()\n }\n }\n\n gotoTarget(targetPosition: Vector3, targetProgress: number) {\n if (this.isAnimation)\n return\n\n this.isAnimation = true\n\n this.control.stop()\n\n const rotationMatrix = new Matrix4()\n const targetQuaternion = new Quaternion()\n\n rotationMatrix.lookAt(targetPosition, this.model.position, this.model.up)\n targetQuaternion.setFromRotationMatrix(rotationMatrix)\n\n this.startRotate(targetQuaternion, this.model,\n () => {\n const tempPathMeshtargetPosition = new Vector3(targetPosition.x, 1.1, targetPosition.z)\n this.generateTempPathMesh(this.generateTempPath(new Vector3(this.model.position.x, 1.1, this.model.position.z), tempPathMeshtargetPosition))\n\n const currentPosition = this.model.position\n const upCurve = new LineCurve3(currentPosition, new Vector3(currentPosition.x, currentPosition.y + 50, currentPosition.z))\n const upControl = utils.moveWithLine(this.model, upCurve, 10, { loop: false, lookat: targetPosition })\n\n // up end\n upControl.addEventListener('end', () => {\n const tempCurve = this.generateTempPath(currentPosition, new Vector3(targetPosition.x, targetPosition.y + 50, targetPosition.z))\n const tempControl = utils.moveWithLine(this.model, tempCurve, 60, { loop: false, lookat: false })\n\n // temp end\n tempControl.addEventListener('end', () => {\n const lastPosition = this.model.position\n const downCurve = new LineCurve3(lastPosition, new Vector3(lastPosition.x, lastPosition.y - 50, lastPosition.z))\n const downControl = utils.moveWithLine(this.model, downCurve, 10, { loop: false, lookat: false })\n\n // down end\n downControl.addEventListener('end', () => {\n const rotationMatrix2 = new Matrix4()\n const targetQuaternion2 = new Quaternion()\n\n const targetPosition2 = this.inspection.curve.getPointAt((targetProgress + 0.01) % 1)\n\n rotationMatrix2.lookAt(targetPosition2, this.model.position, this.model.up)\n targetQuaternion2.setFromRotationMatrix(rotationMatrix2)\n\n this.startRotate(targetQuaternion2, this.model, () => {\n setTimeout(() => {\n this.cleanTempPathMesh()\n this.isAnimation = false\n this.control.setProgress(targetProgress)\n this.control.contine()\n }, 500)\n })\n })\n })\n })\n })\n }\n\n setSpeed(speed: number) {\n if (this.control)\n this.control.setSpeed(speed)\n }\n\n stop() {\n if (this.control)\n this.control.stop()\n }\n\n contineMove() {\n if (this.control)\n this.control.contine()\n\n utils.emitter.emit('continue', true)\n }\n\n /**\n * todo: now temporarily not implemented\n */\n dispose() { }\n}\n\nexport default InspectionObject"],"mappings":"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"}
1
+ {"version":3,"names":["AudioListener","AudioLoader","Clock","Color","EdgesGeometry","Group","LineBasicMaterial","LineCurve3","LineSegments","Matrix4","Mesh","MeshBasicMaterial","MirroredRepeatWrapping","ModelLoader","PositionalAudio","Quaternion","RepeatWrapping","TextureLoader","Vector3","use","utils","SpritePoi","Tween","createFinirMaterial","usePath","MessageType","sendToMessage","EMessageStatus","isCheck","targetProgresspoints","TubeGeometryV2","modelLoader","InspectionObject","inspection","targetQuaternion","mesh","cb","clock","quaternion","equals","animation","useframe","delta","getDelta","step","rotateTowards","temp","load","wrapS","wrapT","repeat","set","rotation","Math","PI","loadGLTF","glb","div","document","createElement","style","position","img","src","span","innerText","top","left","transform","color","fontSize","fontWeight","appendChild","poi","width","height","img2","poi2","scale","fly1","scene","getObjectByName","fly2","fly3","fly4","copy","clone","add","z","getSportsProgress","isLock","stop","checkAnimation","group","minCamera","y","rotateY","model","gobal","interactionManager","visible","addEventListener","traverse","child","layers","enable","handleMouseMove","listener","camera","posAudio","audioLoader","startAudio","context","state","resume","audioBuffer","setBuffer","setVolume","setRefDistance","setLoop","play","removeEventListener","curve","loadModel","control","moveWithLine","groundCurve","getPointAt","setTimeout","groundMaterial","uniforms","u_time","value","mapMaterial","Event","Success","undefined","percentage","getProgress","targetMesh","updateMatrixWorld","localForward","worldForward","applyQuaternion","normalize","target","direction","sub","setFromUnitVectors","dotProduct","dot","angleRadians","acos","angleDegrees","flipQuaternion","setFromAxisAngle","multiply","lastFromPositin","currentPositin","targetPosition","vTo","vFrom","Promise","resolve","emitter","on","data","progress","isAnimation","key","Object","keys","find","p","num","parseFloat","targetMeshId","lookAt","pipeline","realModl","contineMove","currentAnchor","anchorObject","get","name","material","rotationMatrix","startQuaternion","targetMeshPosition","Number","up","setFromRotationMatrix","forwardTween","t","to","onUpdate","obj","slerp","backwardTween","onComplete","finirMesh","finirMaterialV2","type","lineSegments","geometry","subscription","then","start","off","currentPosition","tube","tempPathMesh","map","transparent","depthTest","getLength","tempDemo","offset","x","dispose","removeFromParent","targetProgress","startRotate","tempPathMeshtargetPosition","generateTempPathMesh","generateTempPath","upCurve","upControl","loop","lookat","tempCurve","tempControl","lastPosition","downCurve","downControl","rotationMatrix2","targetQuaternion2","targetPosition2","cleanTempPathMesh","setProgress","contine","speed","setSpeed","loadPosAudio","emit"],"sources":["../../../../src/factory/unit/inspection/InspectionObject.ts"],"sourcesContent":["import type { Camera, Curve } from '@anov/3d-core'\nimport { AudioListener, AudioLoader, BoxGeometry, Clock, Color, EdgesGeometry, Group, LineBasicMaterial, LineCurve3, LineSegments, Matrix4, Mesh, MeshBasicMaterial, MirroredRepeatWrapping, ModelLoader, PositionalAudio, Quaternion, RepeatWrapping, ShaderChunk, ShaderMaterial, TextureLoader, TubeGeometry, Vector3, use, utils } from '@anov/3d-core'\nimport type { Css2DPoi } from '@anov/3d-ability'\nimport { SpritePoi, addColorifyPass, createHighSelectedTool } from '@anov/3d-ability'\nimport { Tween } from '@tweenjs/tween.js'\nimport { createFinirMaterial } from '../../utils/finirMaterial'\nimport { usePath } from '../../3d'\nimport { MessageType, sendToMessage } from '../../../utils/messageFn'\nimport { EMessageStatus } from '../../../messageStatus'\nimport { invertMap } from '../handle'\nimport fragmentShader from '../glsl/highway/fragmentShader'\nimport vertexShader from '../glsl/highway/vertexShader'\nimport { isCheck, targetProgresspoints } from './lineData'\nimport TubeGeometryV2 from './tubeGeometry'\n\nconst modelLoader = new ModelLoader()\n\nclass InspectionObject {\n model\n private inspection\n private control\n private tempLine\n private isLock = false\n private isAnimation = false\n walkCurveMesh\n tempPathMesh\n css2d: Css2DPoi\n temp\n tempDemo\n\n constructor(inspection) {\n this.inspection = inspection\n\n const temp = new TextureLoader().load(`${usePath}test07.png`)\n temp.wrapS = RepeatWrapping\n temp.wrapT = MirroredRepeatWrapping\n temp.repeat.set(1, 2)\n temp.rotation = Math.PI\n\n this.temp = temp\n }\n\n private async loadModel() {\n const glb = await (await modelLoader.loadGLTF(`${usePath}car.glb`, false, true, './draco/'))\n\n const div = document.createElement('div')\n div.style.position = 'relative'\n\n const img = document.createElement('img')\n img.src = `${usePath}aerialVehicle02.png`\n\n const span = document.createElement('span')\n span.innerText = '巡检无人机'\n span.style.position = 'absolute'\n span.style.top = '10px'\n span.style.left = '50%'\n span.style.transform = 'translateX(-30%)'\n\n span.style.color = 'white'\n span.style.fontSize = '20px'\n span.style.fontWeight = 'bold'\n\n div.appendChild(img)\n div.appendChild(span)\n\n const poi = new SpritePoi(div, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n const img2 = document.createElement('img')\n img2.src = `${usePath}aerialVehicle01.png`\n\n const poi2 = new SpritePoi(img2, {\n width: 400 * 2,\n height: 160 * 2,\n })\n\n poi.scale.set(100, 40, 1)\n poi2.scale.set(400, 160, 1)\n\n const fly1 = glb.scene.getObjectByName('fly1')\n const fly2 = glb.scene.getObjectByName('fly1_1')\n const fly3 = glb.scene.getObjectByName('fly1_2')\n const fly4 = glb.scene.getObjectByName('fly1_3')\n\n use.useframe(() => {\n poi.position.copy(glb.scene.position.clone().add(new Vector3(0, 10, 0)))\n poi2.position.copy(glb.scene.position.clone().add(new Vector3(0, 10, 0)))\n\n fly1.rotation.z += 1.3\n fly2.rotation.z += 1.3\n fly3.rotation.z += 1.3\n fly4.rotation.z += 1.3\n\n if (isCheck(this.getSportsProgress)\n && !this.isLock) {\n this.stop()\n this.checkAnimation(this.getSportsProgress)\n }\n })\n\n const group = new Group()\n group.add(glb.scene)\n group.add(poi)\n group.add(this.inspection.minCamera)\n\n this.inspection.minCamera.position.copy(glb.scene.position)\n this.inspection.minCamera.position.z -= 15\n this.inspection.minCamera.position.y += 4\n this.inspection.minCamera.rotateY(Math.PI)\n\n this.model = group\n\n this.inspection.gobal.interactionManager.add(poi)\n this.inspection.gobal.interactionManager.add(poi2)\n\n poi2.visible = false\n\n poi.addEventListener('click', () => {\n group.add(poi2)\n poi2.visible = true\n poi.visible = false\n })\n\n poi2.addEventListener('click', () => {\n group.add(poi2)\n poi.visible = true\n poi2.visible = false\n })\n\n glb.scene.scale.set(5, 5, 5)\n glb.scene.traverse((child) => {\n child.layers.enable(2)\n child.layers.enable(5)\n })\n\n this.inspection.gobal.scene.add(this.model)\n }\n\n private loadPosAudio() {\n const handleMouseMove = () => {\n const listener = new AudioListener()\n this.inspection.gobal.scene.camera.add(listener)\n\n const posAudio = new PositionalAudio(listener)\n this.model.add(posAudio)\n\n const audioLoader = new AudioLoader()\n\n const startAudio = async () => {\n if (listener.context.state === 'suspended')\n await listener.context.resume()\n\n audioLoader.load(`${usePath}demo.mp3`, (audioBuffer) => {\n posAudio.setBuffer(audioBuffer)\n posAudio.setVolume(0.8)\n posAudio.setRefDistance(200)\n posAudio.setLoop(true)\n posAudio.play()\n })\n }\n\n startAudio()\n\n document.removeEventListener('mousemove', handleMouseMove)\n }\n\n document.addEventListener('mousemove', handleMouseMove)\n }\n\n async startMove(curve) {\n if (!this.model)\n await this.loadModel()\n\n this.control = utils.moveWithLine(this.model, curve, 10, {\n groundCurve: this.inspection.groundCurve,\n })\n\n this.model.position.copy(curve.getPointAt(0))\n\n setTimeout(() => {\n this.stop()\n }, 20)\n\n use.useframe(() => {\n this.inspection.groundMaterial.uniforms.u_time.value = this.getSportsProgress - 0.01\n this.inspection.mapMaterial.uniforms.u_time.value = this.getSportsProgress - 0.01\n sendToMessage(MessageType.Event, 'onInspectProgress', EMessageStatus.Success, undefined, {\n percentage: this.getSportsProgress,\n })\n })\n }\n\n get getSportsProgress() {\n if (!this.control)\n return 0\n\n return this.control.getProgress()\n }\n\n private getTargetQuaternion(targetMesh: Group) {\n targetMesh.updateMatrixWorld(true)\n const localForward = new Vector3(0, 0, -1)\n const worldForward = localForward.applyQuaternion(targetMesh.quaternion.clone()).normalize()\n\n const target = targetMesh.position.clone()\n const direction = target.sub(this.model.position).normalize()\n\n const targetQuaternion = new Quaternion().setFromUnitVectors(worldForward, direction)\n\n const dotProduct = worldForward.dot(direction)\n const angleRadians = Math.acos(dotProduct)\n const angleDegrees = angleRadians * (180 / Math.PI)\n\n // todo: some problem\n if (angleDegrees < 60) {\n const flipQuaternion = new Quaternion()\n flipQuaternion.setFromAxisAngle(new Vector3(0, 1, 0), Math.PI)\n targetQuaternion.multiply(flipQuaternion)\n }\n }\n\n private getTargetQuaternionV2(lastFromPositin: Vector3, currentPositin: Vector3, targetPosition: Vector3) {\n const vTo = targetPosition.clone().sub(currentPositin).normalize()\n const vFrom = currentPositin.clone().sub(lastFromPositin).normalize()\n\n const targetQuaternion = new Quaternion().setFromUnitVectors(vFrom, vTo)\n\n const flipQuaternion = new Quaternion()\n flipQuaternion.setFromAxisAngle(new Vector3(0, 1, 0), Math.PI)\n targetQuaternion.multiply(flipQuaternion)\n\n return targetQuaternion\n }\n\n subscription() {\n return new Promise((resolve) => {\n utils.emitter.on('continue', (data) => {\n resolve(data)\n })\n })\n }\n\n private checkAnimation(progress: number) {\n this.isLock = true\n this.isAnimation = true\n\n const key = Object.keys(targetProgresspoints).find((p) => {\n const num = parseFloat(p)\n if (progress >= num && progress < num + 0.01)\n return true\n })\n\n const targetMeshId = targetProgresspoints[key].lookAt\n\n let targetMesh: Group | null = null\n\n if (targetMeshId === 'GY_GD_guandaofamen_5')\n targetMesh = this.inspection.gobal.pipeline.getObjectByName(targetMeshId) as Group\n\n else\n targetMesh = this.inspection.gobal.realModl.getObjectByName(targetMeshId) as Group\n\n if (!targetMesh) {\n this.contineMove()\n this.isAnimation = false\n setTimeout(() => {\n this.isLock = false\n }, 500)\n return\n }\n\n const currentAnchor = this.inspection.anchorObject.get(targetProgresspoints[key].name)\n\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('yellow') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#facb2b') })\n })\n\n setTimeout(() => {\n const rotationMatrix = new Matrix4()\n\n const targetQuaternion = new Quaternion()\n const startQuaternion = this.model.quaternion.clone()\n\n const targetMeshPosition = targetMesh.position.clone()\n targetMeshPosition.y = targetMeshPosition.y + ((Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40) ? 20 : 0)\n\n rotationMatrix.lookAt(targetMeshPosition, this.model.position, this.model.up)\n targetQuaternion.setFromRotationMatrix(rotationMatrix)\n\n const forwardTween = new Tween({ t: 0 })\n .to({ t: 1 }, 2000)\n .onUpdate((obj) => {\n this.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t)\n })\n\n const backwardTween = new Tween({ t: 1 })\n .to({ t: 0 }, 2000)\n .onUpdate((obj) => {\n this.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t)\n })\n\n forwardTween.onComplete(() => {\n let finirMesh: Group | null = null\n\n sendToMessage(MessageType.Event, 'onReachTarget', EMessageStatus.Success, undefined, {\n target: targetProgresspoints[key].name,\n })\n\n if (Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40)\n (this.inspection.minCamera as Camera).layers.set(2)\n\n if (Number(key) === 0.15 || Number(key) === 0.24) {\n (this.inspection.minCamera as Camera).layers.enable(3)\n // @ts-ignore\n if (!targetMesh.finirMesh) {\n finirMesh = targetMesh.clone() as any as Group\n\n const finirMaterialV2 = createFinirMaterial('yellow', 5.3)\n\n finirMesh.traverse((child) => {\n child.layers.set(3)\n\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = finirMaterialV2\n\n // @ts-ignore\n const lineSegments = new LineSegments(new EdgesGeometry(child.geometry as any), new LineBasicMaterial({ color: 'yellow' }))\n\n lineSegments.layers.set(3)\n finirMesh.add(lineSegments)\n }\n })\n\n // @ts-ignore\n targetMesh.finirMesh = finirMesh\n\n this.inspection.gobal.scene.add(finirMesh)\n }\n else {\n // @ts-ignore\n finirMesh = targetMesh.finirMesh\n\n finirMesh.visible = true\n }\n }\n\n // 异常点\n if (Number(key) === 0.15 || Number(key) === 0.24) {\n this.subscription().then((data) => {\n if (data) {\n finirMesh.visible = false\n backwardTween.start()\n\n utils.emitter.off('continue')\n }\n })\n }\n else {\n setTimeout(() => {\n if (Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40)\n (this.inspection.minCamera as Camera).layers.set(0)\n\n // if (Number(key) === 0.40)\n // finirMesh.visible = false\n\n backwardTween.start()\n }, 6000)\n }\n })\n\n setTimeout(() => {\n forwardTween.start()\n }, 1000)\n\n backwardTween.onComplete(() => {\n this.isAnimation = false\n this.contineMove()\n\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('#cdccca') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#fff') })\n })\n\n setTimeout(() => {\n this.isLock = false\n }, 500)\n })\n }, 1000)\n }\n\n generateTempPath(currentPosition: Vector3, targetPosition: Vector3) {\n return new LineCurve3(currentPosition, targetPosition)\n }\n\n private startRotate = (targetQuaternion: Quaternion, mesh: Group, cb: () => void) => {\n const clock = new Clock()\n\n if (mesh.quaternion.equals(targetQuaternion))\n return cb()\n\n const animation = use.useframe(() => {\n const delta = clock.getDelta()\n if (!mesh.quaternion.equals(targetQuaternion)) {\n const step = 1 * delta\n mesh.quaternion.rotateTowards(targetQuaternion, step)\n }\n else {\n animation()\n cb()\n }\n },\n )\n }\n\n private generateTempPathMesh(curve: Curve<Vector3>) {\n // @ts-ignore\n const tube = new TubeGeometryV2(curve, 100, 5, 2, false)\n const tempPathMesh = new Mesh(tube, new MeshBasicMaterial({ map: this.temp, transparent: true, depthTest: true }))\n\n this.inspection.gobal.scene.add(tempPathMesh)\n this.tempPathMesh = tempPathMesh\n\n tempPathMesh.layers.enable(5)\n\n this.temp.repeat.set(curve.getLength() / 500, 2)\n this.tempDemo = use.useframe(() => {\n this.temp.offset.x -= -0.0009\n })\n }\n\n private cleanTempPathMesh() {\n if (this.tempPathMesh) {\n this.tempDemo()\n this.tempPathMesh.geometry.dispose()\n this.tempPathMesh.material.dispose();\n (this.tempPathMesh as Mesh).removeFromParent()\n }\n }\n\n gotoTarget(targetPosition: Vector3, targetProgress: number) {\n if (this.isAnimation)\n return\n\n this.isAnimation = true\n\n this.control.stop()\n\n const rotationMatrix = new Matrix4()\n const targetQuaternion = new Quaternion()\n\n rotationMatrix.lookAt(targetPosition, this.model.position, this.model.up)\n targetQuaternion.setFromRotationMatrix(rotationMatrix)\n\n this.startRotate(targetQuaternion, this.model,\n () => {\n const tempPathMeshtargetPosition = new Vector3(targetPosition.x, 1.1, targetPosition.z)\n this.generateTempPathMesh(this.generateTempPath(new Vector3(this.model.position.x, 1.1, this.model.position.z), tempPathMeshtargetPosition))\n\n const currentPosition = this.model.position\n const upCurve = new LineCurve3(currentPosition, new Vector3(currentPosition.x, currentPosition.y + 50, currentPosition.z))\n const upControl = utils.moveWithLine(this.model, upCurve, 10, { loop: false, lookat: targetPosition })\n\n // up end\n upControl.addEventListener('end', () => {\n const tempCurve = this.generateTempPath(currentPosition, new Vector3(targetPosition.x, targetPosition.y + 50, targetPosition.z))\n const tempControl = utils.moveWithLine(this.model, tempCurve, 60, { loop: false, lookat: false })\n\n // temp end\n tempControl.addEventListener('end', () => {\n const lastPosition = this.model.position\n const downCurve = new LineCurve3(lastPosition, new Vector3(lastPosition.x, lastPosition.y - 50, lastPosition.z))\n const downControl = utils.moveWithLine(this.model, downCurve, 10, { loop: false, lookat: false })\n\n // down end\n downControl.addEventListener('end', () => {\n const rotationMatrix2 = new Matrix4()\n const targetQuaternion2 = new Quaternion()\n\n const targetPosition2 = this.inspection.curve.getPointAt((targetProgress + 0.01) % 1)\n\n rotationMatrix2.lookAt(targetPosition2, this.model.position, this.model.up)\n targetQuaternion2.setFromRotationMatrix(rotationMatrix2)\n\n this.startRotate(targetQuaternion2, this.model, () => {\n setTimeout(() => {\n this.cleanTempPathMesh()\n this.isAnimation = false\n this.control.setProgress(targetProgress)\n this.control.contine()\n }, 500)\n })\n })\n })\n })\n })\n }\n\n setSpeed(speed: number) {\n if (this.control)\n this.control.setSpeed(speed)\n }\n\n stop() {\n if (this.control)\n this.control.stop()\n }\n\n contineMove() {\n if (this.control)\n this.control.contine()\n\n this.loadPosAudio()\n utils.emitter.emit('continue', true)\n }\n\n /**\n * todo: now temporarily not implemented\n */\n dispose() { }\n}\n\nexport default InspectionObject"],"mappings":"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"}
@@ -216,8 +216,8 @@ var Inspection = /*#__PURE__*/function () {
216
216
  }, {
217
217
  key: "setMapView",
218
218
  value: function setMapView() {
219
- var width = window.innerWidth;
220
- var height = window.innerHeight;
219
+ var width = 1470;
220
+ var height = 800;
221
221
  var k = width / height;
222
222
  var s = 273;
223
223
  var camera = new OrthographicCamera(-s * k + 5, s * k, s - 35, -s + 40, 1, 1000);
@@ -1 +1 @@
1
- {"version":3,"names":["Color","CylinderGeometry","Group","Mesh","MeshBasicMaterial","OrthographicCamera","PerspectiveCamera","ShaderMaterial","TubeGeometry","use","utils","RoundLineGeometry","initPostEffects","fragmentShader","vertexShader","fragmentShader2","observe","flyLinePoints","groundLinePoints","targetProgresspoints","InspectionObject","storeManagement","viewInfoPro","width","height","top","left","viewInfoDev","viewInfo","Inspection","gobal","Map","generateInspectionPath","makeGroundRoad","setInspectionCamera","inspectionObject","startInspection","curve","hide","scale","window","app","envServer","scaleRatio","get","querySelector","getBoundingClientRect","viewElement","document","createElement","style","position","cursor","addEventListener","toggleView","handleObserve","setTimeout","flyLine","radius","close","params","target","highlight","currentAnchor","anchorObject","traverse","child","name","material","color","groundLine","tube","groundMaterial","transparent","uniforms","u_time","value","alpha","centerColor","sideColor","otherColor","mesh2","mapMaterial","mesh3","layers","set","groundGroup","add","y","groundCurve","line","scene","anchorMesh","anchorGroup","Object","keys","forEach","key","demoPoints","getPointAt","Number","singleAnchorGroup","cylinder","cylinder1","x","z","innerWidth","innerHeight","k","s","camera","lookAt","mapCamera","minCamera","cutoutCamera","cutoutArea","setMapView","getLength","startMove","targetProgress","targetPosition","gotoTarget","isHide","body","appendChild","cutout","visible","model","contains","removeChild","renderer","type","cutMain","check","useframe"],"sources":["../../../../src/factory/unit/inspection/index.ts"],"sourcesContent":["import type { Object3D, Vector3 } from '@anov/3d-core'\nimport { Color, CylinderGeometry, Group, Mesh, MeshBasicMaterial, MirroredRepeatWrapping, OrthographicCamera, PerspectiveCamera, PlaneGeometry, RepeatWrapping, ShaderChunk, ShaderMaterial, TextureLoader, TubeGeometry, lib, use, utils } from '@anov/3d-core'\nimport { RoundLineGeometry, addColorifyPass, createBloomSelectedTool, createHighSelectedTool, initPostEffects } from '@anov/3d-ability'\nimport type Factory3D from '../../3d'\nimport { usePath } from '../../3d'\nimport fragmentShader from '../glsl/highway/fragmentShader'\nimport vertexShader from '../glsl/highway/vertexShader'\nimport fragmentShader2 from '../glsl/highway/fragmentShader2'\nimport { observe } from '../../utils/observe'\nimport { flyLinePoints, groundLinePoints, targetProgresspoints } from './lineData'\nimport InspectionObject from './InspectionObject'\nimport InspectionMap from './map'\n\nconst { storeManagement } = utils\n\nconst viewInfoPro = {\n width: 502,\n height: 256,\n top: 110,\n left: 40,\n}\n\nconst viewInfoDev = {\n width: 300,\n height: 200,\n top: 50,\n left: 0,\n}\n\nconst viewInfo = process.env.ENV === 'dev' ? viewInfoDev : viewInfoPro\n\nclass Inspection {\n gobal: Factory3D\n inspectionObject\n curve\n groundCurve\n line: Group\n viewElement: HTMLDivElement\n isHide = true\n anchorObject: Map<string, Group> = new Map()\n anchorGroup: Group\n minCamera: PerspectiveCamera\n InspectionPathObject: Object3D\n groundMaterial\n mapMaterial: any\n map\n mapCamera\n\n constructor(gobal: Factory3D) {\n this.gobal = gobal\n this.generateInspectionPath()\n this.makeGroundRoad()\n this.setInspectionCamera()\n\n this.inspectionObject = new InspectionObject(this)\n\n this.startInspection(this.curve)\n\n this.hide()\n\n const scale = (window as any)?.app?.envServer?.scaleRatio ?? 1\n const { left, top } = storeManagement.get<HTMLElement>('container').querySelector('canvas').getBoundingClientRect()\n\n const viewElement = document.createElement('div')\n viewElement.style.position = 'absolute'\n viewElement.style.width = `${viewInfo.width * scale}px`\n viewElement.style.height = `${viewInfo.height * scale}px`\n viewElement.style.cursor = 'pointer'\n viewElement.style.top = `${(viewInfo.top) * scale + top}px`\n viewElement.style.left = `${(viewInfo.left) * scale + left}px`\n\n viewElement.addEventListener('click', () => {\n this.gobal.toggleView()\n })\n\n const handleObserve = () => {\n setTimeout(() => {\n const scale = (window as any)?.app?.envServer?.scaleRatio ?? 1\n const { left, top } = storeManagement.get<HTMLElement>('container').querySelector('canvas').getBoundingClientRect()\n\n viewElement.style.width = `${viewInfo.width * scale}px`\n viewElement.style.height = `${viewInfo.height * scale}px`\n viewElement.style.top = `${(viewInfo.top) * scale + top}px`\n viewElement.style.left = `${(viewInfo.left) * scale + left}px`\n }, 500)\n }\n\n document.querySelector('.cml-panel-container') && observe(document.querySelector('.cml-panel-container'), () => {\n handleObserve()\n })\n\n this.viewElement = viewElement\n }\n\n /**\n * generate inspection path\n * @param linePosition\n */\n private generateInspectionPath() {\n const flyLine = new RoundLineGeometry(flyLinePoints, {\n radius: 20,\n close: true,\n })\n\n this.curve = flyLine.curve\n }\n\n setSelectedAnchorObject(params: { target: string; highlight: boolean }) {\n const { target, highlight } = params\n const currentAnchor = this.anchorObject.get(target) as any\n\n if (!currentAnchor)\n return\n\n if (highlight) {\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('yellow') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#facb2b') })\n })\n }\n else {\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('#cdccca') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#fff') })\n })\n }\n }\n\n /**\n * make ground road\n */\n private makeGroundRoad() {\n const groundLine = new RoundLineGeometry(groundLinePoints, {\n radius: 20,\n close: true,\n })\n\n const tube = new TubeGeometry(groundLine.curve, 10000, 4, 2, false)\n const groundMaterial = new ShaderMaterial({\n transparent: true,\n uniforms: {\n u_time: {\n value: 0,\n },\n alpha: {\n value: 0.6,\n },\n centerColor: {\n value: new Color(0xFFFFFF),\n },\n sideColor: {\n value: new Color('#F75332'),\n },\n otherColor: {\n value: new Color('#D23F22'),\n },\n },\n vertexShader,\n fragmentShader,\n })\n const mesh2 = new Mesh(tube, groundMaterial)\n\n const mapMaterial = new ShaderMaterial({\n transparent: true,\n uniforms: {\n u_time: {\n value: 0,\n },\n },\n vertexShader,\n fragmentShader: fragmentShader2,\n })\n\n const mesh3 = new Mesh(tube, mapMaterial)\n\n mesh3.layers.set(5)\n\n const groundGroup = new Group()\n\n groundGroup.add(mesh3)\n groundGroup.add(mesh2)\n groundGroup.position.y = 3\n\n this.groundCurve = groundLine.curve\n this.line = groundGroup\n this.gobal.scene.add(groundGroup)\n\n this.groundMaterial = groundMaterial\n this.mapMaterial = mapMaterial\n\n this.anchorMesh()\n }\n\n private anchorMesh() {\n const anchorGroup = new Group()\n\n Object.keys(targetProgresspoints).forEach((key) => {\n const demoPoints = this.groundCurve.getPointAt(Number(key))\n const singleAnchorGroup = new Group()\n\n const cylinder = new Mesh(new CylinderGeometry(10, 10, 2, 64), new MeshBasicMaterial({ color: new Color('#cdccca') }))\n const cylinder1 = new Mesh(new CylinderGeometry(5, 5, 1, 64), new MeshBasicMaterial({ color: new Color('#fff') }))\n cylinder1.position.y = 2\n\n cylinder.name = 'cylinder'\n cylinder1.name = 'cylinder1'\n\n cylinder.layers.set(5)\n cylinder1.layers.set(5)\n\n singleAnchorGroup.add(cylinder, cylinder1)\n singleAnchorGroup.position.set(demoPoints.x, demoPoints.y + 5, demoPoints.z)\n\n this.anchorObject.set(targetProgresspoints[key].name, singleAnchorGroup)\n anchorGroup.add(singleAnchorGroup)\n })\n this.anchorGroup = anchorGroup\n this.gobal.scene.add(anchorGroup)\n }\n\n private setMapView() {\n const width = window.innerWidth\n const height = window.innerHeight\n const k = width / height\n const s = 273\n\n const camera = new OrthographicCamera(-s * k + 5, s * k, s - 35, -s + 40, 1, 1000)\n\n camera.position.set(0, 400, 0)\n camera.lookAt(0, 0, 0)\n\n camera.layers.set(5)\n\n this.gobal.scene.add(camera)\n\n this.mapCamera = camera\n }\n\n private setInspectionCamera() {\n let minCamera\n\n if (this.minCamera) {\n minCamera = this.minCamera\n }\n else {\n minCamera = new PerspectiveCamera(30,\n window.innerWidth / window.innerHeight\n , 0.1, 1000)\n }\n\n this.gobal.scene.cutoutCamera = minCamera\n\n this.gobal.scene.cutoutArea = { x: viewInfo.left, y: viewInfo.top, width: viewInfo.width, height: viewInfo.height }\n this.gobal.scene.add(minCamera)\n\n this.minCamera = minCamera\n\n this.minCamera.layers.set(0)\n\n this.setMapView()\n }\n\n get getPathLength() {\n return this.curve.getLength()\n }\n\n startInspection(line) {\n this.setInspectionCamera()\n this.inspectionObject.startMove(line)\n }\n\n goToInspectionTarget(targetProgress: number) {\n const targetPosition = this.curve.getPointAt(targetProgress)\n this.inspectionObject.gotoTarget(targetPosition, targetProgress)\n }\n\n show() {\n this.isHide = false\n\n document.body.appendChild(this.viewElement)\n this.gobal.scene.cutout = true\n this.anchorGroup.visible = true\n this.line.visible = true\n this.inspectionObject.model && (this.inspectionObject.model.visible = true)\n }\n\n hide() {\n this.isHide = true\n\n if (this.viewElement && document.body.contains(this.viewElement))\n document.body.removeChild(this.viewElement)\n\n if (this.gobal.scene.camera === this.minCamera) {\n this.gobal.scene.camera = this.gobal.scene.cutoutCamera\n this.gobal.scene.cutoutCamera = this.minCamera\n\n initPostEffects(this.gobal.scene.scene, this.gobal.scene.renderer, this.gobal.scene.cutoutCamera, {\n type: 'sub',\n })\n }\n\n this.gobal.scene.cutout = false\n this.gobal.scene.cutMain(this.gobal.scene.renderer)\n this.line.visible = false\n this.anchorGroup.visible = false\n\n // this.addeHighSelected([])\n const check = use.useframe(() => {\n if (this.inspectionObject.model) {\n this.inspectionObject.model.visible = false\n check()\n }\n })\n }\n}\n\nexport default Inspection"],"mappings":"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"}
1
+ {"version":3,"names":["Color","CylinderGeometry","Group","Mesh","MeshBasicMaterial","OrthographicCamera","PerspectiveCamera","ShaderMaterial","TubeGeometry","use","utils","RoundLineGeometry","initPostEffects","fragmentShader","vertexShader","fragmentShader2","observe","flyLinePoints","groundLinePoints","targetProgresspoints","InspectionObject","storeManagement","viewInfoPro","width","height","top","left","viewInfoDev","viewInfo","Inspection","gobal","Map","generateInspectionPath","makeGroundRoad","setInspectionCamera","inspectionObject","startInspection","curve","hide","scale","window","app","envServer","scaleRatio","get","querySelector","getBoundingClientRect","viewElement","document","createElement","style","position","cursor","addEventListener","toggleView","handleObserve","setTimeout","flyLine","radius","close","params","target","highlight","currentAnchor","anchorObject","traverse","child","name","material","color","groundLine","tube","groundMaterial","transparent","uniforms","u_time","value","alpha","centerColor","sideColor","otherColor","mesh2","mapMaterial","mesh3","layers","set","groundGroup","add","y","groundCurve","line","scene","anchorMesh","anchorGroup","Object","keys","forEach","key","demoPoints","getPointAt","Number","singleAnchorGroup","cylinder","cylinder1","x","z","k","s","camera","lookAt","mapCamera","minCamera","innerWidth","innerHeight","cutoutCamera","cutoutArea","setMapView","getLength","startMove","targetProgress","targetPosition","gotoTarget","isHide","body","appendChild","cutout","visible","model","contains","removeChild","renderer","type","cutMain","check","useframe"],"sources":["../../../../src/factory/unit/inspection/index.ts"],"sourcesContent":["import type { Object3D, Vector3 } from '@anov/3d-core'\nimport { Color, CylinderGeometry, Group, Mesh, MeshBasicMaterial, MirroredRepeatWrapping, OrthographicCamera, PerspectiveCamera, PlaneGeometry, RepeatWrapping, ShaderChunk, ShaderMaterial, TextureLoader, TubeGeometry, lib, use, utils } from '@anov/3d-core'\nimport { RoundLineGeometry, addColorifyPass, createBloomSelectedTool, createHighSelectedTool, initPostEffects } from '@anov/3d-ability'\nimport type Factory3D from '../../3d'\nimport { usePath } from '../../3d'\nimport fragmentShader from '../glsl/highway/fragmentShader'\nimport vertexShader from '../glsl/highway/vertexShader'\nimport fragmentShader2 from '../glsl/highway/fragmentShader2'\nimport { observe } from '../../utils/observe'\nimport { flyLinePoints, groundLinePoints, targetProgresspoints } from './lineData'\nimport InspectionObject from './InspectionObject'\nimport InspectionMap from './map'\n\nconst { storeManagement } = utils\n\nconst viewInfoPro = {\n width: 502,\n height: 256,\n top: 110,\n left: 40,\n}\n\nconst viewInfoDev = {\n width: 300,\n height: 200,\n top: 50,\n left: 0,\n}\n\nconst viewInfo = process.env.ENV === 'dev' ? viewInfoDev : viewInfoPro\n\nclass Inspection {\n gobal: Factory3D\n inspectionObject\n curve\n groundCurve\n line: Group\n viewElement: HTMLDivElement\n isHide = true\n anchorObject: Map<string, Group> = new Map()\n anchorGroup: Group\n minCamera: PerspectiveCamera\n InspectionPathObject: Object3D\n groundMaterial\n mapMaterial: any\n map\n mapCamera\n\n constructor(gobal: Factory3D) {\n this.gobal = gobal\n this.generateInspectionPath()\n this.makeGroundRoad()\n this.setInspectionCamera()\n\n this.inspectionObject = new InspectionObject(this)\n\n this.startInspection(this.curve)\n\n this.hide()\n\n const scale = (window as any)?.app?.envServer?.scaleRatio ?? 1\n const { left, top } = storeManagement.get<HTMLElement>('container').querySelector('canvas').getBoundingClientRect()\n\n const viewElement = document.createElement('div')\n viewElement.style.position = 'absolute'\n viewElement.style.width = `${viewInfo.width * scale}px`\n viewElement.style.height = `${viewInfo.height * scale}px`\n viewElement.style.cursor = 'pointer'\n viewElement.style.top = `${(viewInfo.top) * scale + top}px`\n viewElement.style.left = `${(viewInfo.left) * scale + left}px`\n\n viewElement.addEventListener('click', () => {\n this.gobal.toggleView()\n })\n\n const handleObserve = () => {\n setTimeout(() => {\n const scale = (window as any)?.app?.envServer?.scaleRatio ?? 1\n const { left, top } = storeManagement.get<HTMLElement>('container').querySelector('canvas').getBoundingClientRect()\n\n viewElement.style.width = `${viewInfo.width * scale}px`\n viewElement.style.height = `${viewInfo.height * scale}px`\n viewElement.style.top = `${(viewInfo.top) * scale + top}px`\n viewElement.style.left = `${(viewInfo.left) * scale + left}px`\n }, 500)\n }\n\n document.querySelector('.cml-panel-container') && observe(document.querySelector('.cml-panel-container'), () => {\n handleObserve()\n })\n\n this.viewElement = viewElement\n }\n\n /**\n * generate inspection path\n * @param linePosition\n */\n private generateInspectionPath() {\n const flyLine = new RoundLineGeometry(flyLinePoints, {\n radius: 20,\n close: true,\n })\n\n this.curve = flyLine.curve\n }\n\n setSelectedAnchorObject(params: { target: string; highlight: boolean }) {\n const { target, highlight } = params\n const currentAnchor = this.anchorObject.get(target) as any\n\n if (!currentAnchor)\n return\n\n if (highlight) {\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('yellow') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#facb2b') })\n })\n }\n else {\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('#cdccca') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#fff') })\n })\n }\n }\n\n /**\n * make ground road\n */\n private makeGroundRoad() {\n const groundLine = new RoundLineGeometry(groundLinePoints, {\n radius: 20,\n close: true,\n })\n\n const tube = new TubeGeometry(groundLine.curve, 10000, 4, 2, false)\n const groundMaterial = new ShaderMaterial({\n transparent: true,\n uniforms: {\n u_time: {\n value: 0,\n },\n alpha: {\n value: 0.6,\n },\n centerColor: {\n value: new Color(0xFFFFFF),\n },\n sideColor: {\n value: new Color('#F75332'),\n },\n otherColor: {\n value: new Color('#D23F22'),\n },\n },\n vertexShader,\n fragmentShader,\n })\n const mesh2 = new Mesh(tube, groundMaterial)\n\n const mapMaterial = new ShaderMaterial({\n transparent: true,\n uniforms: {\n u_time: {\n value: 0,\n },\n },\n vertexShader,\n fragmentShader: fragmentShader2,\n })\n\n const mesh3 = new Mesh(tube, mapMaterial)\n\n mesh3.layers.set(5)\n\n const groundGroup = new Group()\n\n groundGroup.add(mesh3)\n groundGroup.add(mesh2)\n groundGroup.position.y = 3\n\n this.groundCurve = groundLine.curve\n this.line = groundGroup\n this.gobal.scene.add(groundGroup)\n\n this.groundMaterial = groundMaterial\n this.mapMaterial = mapMaterial\n\n this.anchorMesh()\n }\n\n private anchorMesh() {\n const anchorGroup = new Group()\n\n Object.keys(targetProgresspoints).forEach((key) => {\n const demoPoints = this.groundCurve.getPointAt(Number(key))\n const singleAnchorGroup = new Group()\n\n const cylinder = new Mesh(new CylinderGeometry(10, 10, 2, 64), new MeshBasicMaterial({ color: new Color('#cdccca') }))\n const cylinder1 = new Mesh(new CylinderGeometry(5, 5, 1, 64), new MeshBasicMaterial({ color: new Color('#fff') }))\n cylinder1.position.y = 2\n\n cylinder.name = 'cylinder'\n cylinder1.name = 'cylinder1'\n\n cylinder.layers.set(5)\n cylinder1.layers.set(5)\n\n singleAnchorGroup.add(cylinder, cylinder1)\n singleAnchorGroup.position.set(demoPoints.x, demoPoints.y + 5, demoPoints.z)\n\n this.anchorObject.set(targetProgresspoints[key].name, singleAnchorGroup)\n anchorGroup.add(singleAnchorGroup)\n })\n this.anchorGroup = anchorGroup\n this.gobal.scene.add(anchorGroup)\n }\n\n private setMapView() {\n const width = 1470\n const height = 800\n const k = width / height\n const s = 273\n\n const camera = new OrthographicCamera(-s * k + 5, s * k, s - 35, -s + 40, 1, 1000)\n\n camera.position.set(0, 400, 0)\n camera.lookAt(0, 0, 0)\n\n camera.layers.set(5)\n\n this.gobal.scene.add(camera)\n\n this.mapCamera = camera\n }\n\n private setInspectionCamera() {\n let minCamera\n\n if (this.minCamera) {\n minCamera = this.minCamera\n }\n else {\n minCamera = new PerspectiveCamera(30,\n window.innerWidth / window.innerHeight\n , 0.1, 1000)\n }\n\n this.gobal.scene.cutoutCamera = minCamera\n\n this.gobal.scene.cutoutArea = { x: viewInfo.left, y: viewInfo.top, width: viewInfo.width, height: viewInfo.height }\n this.gobal.scene.add(minCamera)\n\n this.minCamera = minCamera\n\n this.minCamera.layers.set(0)\n\n this.setMapView()\n }\n\n get getPathLength() {\n return this.curve.getLength()\n }\n\n startInspection(line) {\n this.setInspectionCamera()\n this.inspectionObject.startMove(line)\n }\n\n goToInspectionTarget(targetProgress: number) {\n const targetPosition = this.curve.getPointAt(targetProgress)\n this.inspectionObject.gotoTarget(targetPosition, targetProgress)\n }\n\n show() {\n this.isHide = false\n\n document.body.appendChild(this.viewElement)\n this.gobal.scene.cutout = true\n this.anchorGroup.visible = true\n this.line.visible = true\n this.inspectionObject.model && (this.inspectionObject.model.visible = true)\n }\n\n hide() {\n this.isHide = true\n\n if (this.viewElement && document.body.contains(this.viewElement))\n document.body.removeChild(this.viewElement)\n\n if (this.gobal.scene.camera === this.minCamera) {\n this.gobal.scene.camera = this.gobal.scene.cutoutCamera\n this.gobal.scene.cutoutCamera = this.minCamera\n\n initPostEffects(this.gobal.scene.scene, this.gobal.scene.renderer, this.gobal.scene.cutoutCamera, {\n type: 'sub',\n })\n }\n\n this.gobal.scene.cutout = false\n this.gobal.scene.cutMain(this.gobal.scene.renderer)\n this.line.visible = false\n this.anchorGroup.visible = false\n\n // this.addeHighSelected([])\n const check = use.useframe(() => {\n if (this.inspectionObject.model) {\n this.inspectionObject.model.visible = false\n check()\n }\n })\n }\n}\n\nexport default Inspection"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anov/3d",
3
- "version": "0.0.85",
3
+ "version": "0.0.86",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "license": "MIT",
@@ -22,8 +22,8 @@
22
22
  "localforage": "^1.10.0",
23
23
  "resize-observer-polyfill": "^1.5.1",
24
24
  "uuid": "^9.0.1",
25
- "@anov/3d-core": "^0.0.13",
26
- "@anov/3d-ability": "^0.0.13"
25
+ "@anov/3d-ability": "^0.0.13",
26
+ "@anov/3d-core": "^0.0.13"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/uuid": "^9.0.7"