@anov/3d 0.0.18 → 0.0.20

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.
@@ -14,6 +14,7 @@ declare class InspectionObject {
14
14
  get getSportsProgress(): any;
15
15
  private getTargetQuaternion;
16
16
  private getTargetQuaternionV2;
17
+ subscription(): Promise<unknown>;
17
18
  private checkAnimation;
18
19
  generateTempPath(currentPosition: Vector3, targetPosition: Vector3): LineCurve3;
19
20
  private startRotate;
@@ -199,6 +199,15 @@ var InspectionObject = /*#__PURE__*/function () {
199
199
  targetQuaternion.multiply(flipQuaternion);
200
200
  return targetQuaternion;
201
201
  }
202
+ }, {
203
+ key: "subscription",
204
+ value: function subscription() {
205
+ return new Promise(function (resolve) {
206
+ utils.emitter.on('continue', function (data) {
207
+ resolve(data);
208
+ });
209
+ });
210
+ }
202
211
  }, {
203
212
  key: "checkAnimation",
204
213
  value: function checkAnimation(progress) {
@@ -220,9 +229,6 @@ var InspectionObject = /*#__PURE__*/function () {
220
229
  }, 500);
221
230
  return;
222
231
  }
223
- sendToMessage(MessageType.Event, 'onReachTarget', EMessageStatus.Success, undefined, {
224
- target: targetProgresspoints[key].name
225
- });
226
232
  setTimeout(function () {
227
233
  var rotationMatrix = new Matrix4();
228
234
  var targetQuaternion = new Quaternion();
@@ -245,6 +251,9 @@ var InspectionObject = /*#__PURE__*/function () {
245
251
  });
246
252
  forwardTween.onComplete(function () {
247
253
  var finirMesh = null;
254
+ sendToMessage(MessageType.Event, 'onReachTarget', EMessageStatus.Success, undefined, {
255
+ target: targetProgresspoints[key].name
256
+ });
248
257
  if (Number(key) === 0.04 || Number(key) === 0.68) _this3.inspection.minCamera.layers.set(2);
249
258
  if (Number(key) === 0.15 || Number(key) === 0.24 || Number(key) === 0.40) {
250
259
  _this3.inspection.minCamera.layers.enable(3);
@@ -276,11 +285,21 @@ var InspectionObject = /*#__PURE__*/function () {
276
285
  finirMesh.visible = true;
277
286
  }
278
287
  }
279
- setTimeout(function () {
280
- if (Number(key) === 0.04 || Number(key) === 0.68) _this3.inspection.minCamera.layers.set(0);
281
- if (Number(key) === 0.15 || Number(key) === 0.24 || Number(key) === 0.40) finirMesh.visible = false;
282
- backwardTween.start();
283
- }, 5000);
288
+ if (Number(key) === 0.15 || Number(key) === 0.24) {
289
+ _this3.subscription().then(function (data) {
290
+ if (data) {
291
+ finirMesh.visible = false;
292
+ backwardTween.start();
293
+ utils.emitter.off('continue');
294
+ }
295
+ });
296
+ } else {
297
+ setTimeout(function () {
298
+ if (Number(key) === 0.04 || Number(key) === 0.68) _this3.inspection.minCamera.layers.set(0);
299
+ if (Number(key) === 0.40) finirMesh.visible = false;
300
+ backwardTween.start();
301
+ }, 6000);
302
+ }
284
303
  });
285
304
  setTimeout(function () {
286
305
  forwardTween.start();
@@ -362,6 +381,7 @@ var InspectionObject = /*#__PURE__*/function () {
362
381
  key: "contineMove",
363
382
  value: function contineMove() {
364
383
  if (this.control) this.control.contine();
384
+ utils.emitter.emit('continue', true);
365
385
  }
366
386
  }, {
367
387
  key: "dispose",
@@ -1 +1 @@
1
- {"version":3,"names":["Clock","EdgesGeometry","Group","LineBasicMaterial","LineCurve3","LineSegments","Matrix4","ModelLoader","Quaternion","Vector3","use","utils","Css2DPoi","SpritePoi","Tween","createFinirMaterial","usePath","MessageType","sendToMessage","EMessageStatus","isCheck","targetProgresspoints","modelLoader","InspectionObject","inspection","targetQuaternion","mesh","cb","clock","quaternion","equals","animation","useframe","delta","getDelta","step","rotateTowards","loadGLTF","glb","div","document","createElement","style","position","img","src","span","innerText","top","left","transform","color","fontSize","fontWeight","appendChild","poi","width","height","img2","css2d","set","visible","scale","fly1","scene","getObjectByName","fly2","fly3","fly4","copy","clone","add","rotation","z","getSportsProgress","isLock","stop","checkAnimation","group","minCamera","y","rotateY","Math","PI","model","traverse","child","layers","enable","gobal","curve","loadModel","control","moveWithLine","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","progress","isAnimation","key","Object","keys","find","p","num","parseFloat","targetMeshId","lookAt","pipeline","realModl","contineMove","setTimeout","name","rotationMatrix","startQuaternion","up","setFromRotationMatrix","forwardTween","t","to","onUpdate","obj","slerp","backwardTween","onComplete","finirMesh","Number","finirMaterialV2","type","material","lineSegments","geometry","start","currentPosition","targetProgress","startRotate","upCurve","x","upControl","loop","lookat","addEventListener","tempCurve","generateTempPath","tempControl","lastPosition","downCurve","downControl","rotationMatrix2","targetQuaternion2","targetPosition2","getPointAt","setProgress","contine","speed","setSpeed"],"sources":["../../../../src/factory/unit/inspection/InspectionObject.ts"],"sourcesContent":["import type { Camera, Mesh, ShaderMaterial } from '@anov/3d-core'\nimport { BoxGeometry, Clock, Color, EdgesGeometry, Group, LineBasicMaterial, LineCurve3, LineSegments, Matrix4, MeshBasicMaterial, ModelLoader, Quaternion, Vector3, use, utils } from '@anov/3d-core'\nimport { Css2DPoi, 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 { isCheck, targetProgresspoints } from './lineData'\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 css2d: Css2DPoi\n\n constructor(inspection) {\n this.inspection = inspection\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 const css2d = new Css2DPoi(img2)\n\n css2d.position.set(0, 0, 0)\n css2d.visible = false\n\n poi.scale.set(100, 40, 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\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 box = new Mesh(new BoxGeometry(10, 10, 10), new MeshBasicMaterial({ color: 0xFF0000 }))\n\n const group = new Group()\n group.add(glb.scene)\n group.add(poi)\n group.add(this.inspection.minCamera)\n\n // box.scale.set(0.1, 0.1, 0.1)\n\n this.inspection.minCamera.position.copy(glb.scene.position)\n this.inspection.minCamera.position.z -= 5\n this.inspection.minCamera.position.y += 5\n this.inspection.minCamera.rotateY(Math.PI)\n\n this.model = group\n\n glb.scene.scale.set(5, 5, 5)\n\n glb.scene.traverse((child) => {\n child.layers.enable(2)\n })\n\n this.inspection.gobal.scene.add(this.model)\n this.inspection.gobal.scene.add(css2d)\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\n use.useframe(() => {\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 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 sendToMessage(MessageType.Event, 'onReachTarget', EMessageStatus.Success, undefined, {\n target: targetProgresspoints[key].name,\n })\n\n setTimeout(() => {\n const rotationMatrix = new Matrix4()\n\n const targetQuaternion = new Quaternion()\n const startQuaternion = this.model.quaternion.clone()\n\n rotationMatrix.lookAt(targetMesh.position, 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 if (Number(key) === 0.04 || Number(key) === 0.68)\n (this.inspection.minCamera as Camera).layers.set(2)\n\n if (Number(key) === 0.15 || Number(key) === 0.24 || Number(key) === 0.40) {\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 setTimeout(() => {\n if (Number(key) === 0.04 || Number(key) === 0.68)\n (this.inspection.minCamera as Camera).layers.set(0)\n\n if (Number(key) === 0.15 || Number(key) === 0.24 || Number(key) === 0.40)\n\n finirMesh.visible = false\n\n backwardTween.start()\n }, 5000)\n })\n\n setTimeout(() => {\n forwardTween.start()\n }, 1000)\n\n backwardTween.onComplete(() => {\n this.isAnimation = false\n this.contineMove()\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 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 currentPosition = this.model.position\n const upCurve = new LineCurve3(currentPosition, new Vector3(currentPosition.x, currentPosition.y + 100, currentPosition.z))\n const upControl = utils.moveWithLine(this.model, upCurve, 10, { loop: false, lookat: targetPosition })\n\n upControl.addEventListener('end', () => {\n const tempCurve = this.generateTempPath(currentPosition, new Vector3(targetPosition.x, targetPosition.y + 100, targetPosition.z))\n const tempControl = utils.moveWithLine(this.model, tempCurve, 50, { loop: false, lookat: false })\n\n tempControl.addEventListener('end', () => {\n const lastPosition = this.model.position\n const downCurve = new LineCurve3(lastPosition, new Vector3(lastPosition.x, lastPosition.y - 100, lastPosition.z))\n const downControl = utils.moveWithLine(this.model, downCurve, 10, { loop: false, lookat: false })\n\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.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\n dispose() { }\n}\n\nexport default InspectionObject"],"mappings":"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"}
1
+ {"version":3,"names":["Clock","EdgesGeometry","Group","LineBasicMaterial","LineCurve3","LineSegments","Matrix4","ModelLoader","Quaternion","Vector3","use","utils","Css2DPoi","SpritePoi","Tween","createFinirMaterial","usePath","MessageType","sendToMessage","EMessageStatus","isCheck","targetProgresspoints","modelLoader","InspectionObject","inspection","targetQuaternion","mesh","cb","clock","quaternion","equals","animation","useframe","delta","getDelta","step","rotateTowards","loadGLTF","glb","div","document","createElement","style","position","img","src","span","innerText","top","left","transform","color","fontSize","fontWeight","appendChild","poi","width","height","img2","css2d","set","visible","scale","fly1","scene","getObjectByName","fly2","fly3","fly4","copy","clone","add","rotation","z","getSportsProgress","isLock","stop","checkAnimation","group","minCamera","y","rotateY","Math","PI","model","traverse","child","layers","enable","gobal","curve","loadModel","control","moveWithLine","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","rotationMatrix","startQuaternion","up","setFromRotationMatrix","forwardTween","t","to","onUpdate","obj","slerp","backwardTween","onComplete","finirMesh","name","Number","finirMaterialV2","type","material","lineSegments","geometry","subscription","then","start","off","currentPosition","targetProgress","startRotate","upCurve","x","upControl","loop","lookat","addEventListener","tempCurve","generateTempPath","tempControl","lastPosition","downCurve","downControl","rotationMatrix2","targetQuaternion2","targetPosition2","getPointAt","setProgress","contine","speed","setSpeed","emit"],"sources":["../../../../src/factory/unit/inspection/InspectionObject.ts"],"sourcesContent":["import type { Camera, Mesh, ShaderMaterial } from '@anov/3d-core'\nimport { BoxGeometry, Clock, Color, EdgesGeometry, Group, LineBasicMaterial, LineCurve3, LineSegments, Matrix4, MeshBasicMaterial, ModelLoader, Quaternion, Vector3, use, utils } from '@anov/3d-core'\nimport { Css2DPoi, 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 { isCheck, targetProgresspoints } from './lineData'\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 css2d: Css2DPoi\n\n constructor(inspection) {\n this.inspection = inspection\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 const css2d = new Css2DPoi(img2)\n\n css2d.position.set(0, 0, 0)\n css2d.visible = false\n\n poi.scale.set(100, 40, 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\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 box = new Mesh(new BoxGeometry(10, 10, 10), new MeshBasicMaterial({ color: 0xFF0000 }))\n\n const group = new Group()\n group.add(glb.scene)\n group.add(poi)\n group.add(this.inspection.minCamera)\n\n // box.scale.set(0.1, 0.1, 0.1)\n\n this.inspection.minCamera.position.copy(glb.scene.position)\n this.inspection.minCamera.position.z -= 5\n this.inspection.minCamera.position.y += 5\n this.inspection.minCamera.rotateY(Math.PI)\n\n this.model = group\n\n glb.scene.scale.set(5, 5, 5)\n\n glb.scene.traverse((child) => {\n child.layers.enable(2)\n })\n\n this.inspection.gobal.scene.add(this.model)\n this.inspection.gobal.scene.add(css2d)\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\n use.useframe(() => {\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 setTimeout(() => {\n const rotationMatrix = new Matrix4()\n\n const targetQuaternion = new Quaternion()\n const startQuaternion = this.model.quaternion.clone()\n\n rotationMatrix.lookAt(targetMesh.position, 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)\n (this.inspection.minCamera as Camera).layers.set(2)\n\n if (Number(key) === 0.15 || Number(key) === 0.24 || Number(key) === 0.40) {\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 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)\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 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 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 currentPosition = this.model.position\n const upCurve = new LineCurve3(currentPosition, new Vector3(currentPosition.x, currentPosition.y + 100, currentPosition.z))\n const upControl = utils.moveWithLine(this.model, upCurve, 10, { loop: false, lookat: targetPosition })\n\n upControl.addEventListener('end', () => {\n const tempCurve = this.generateTempPath(currentPosition, new Vector3(targetPosition.x, targetPosition.y + 100, targetPosition.z))\n const tempControl = utils.moveWithLine(this.model, tempCurve, 50, { loop: false, lookat: false })\n\n tempControl.addEventListener('end', () => {\n const lastPosition = this.model.position\n const downCurve = new LineCurve3(lastPosition, new Vector3(lastPosition.x, lastPosition.y - 100, lastPosition.z))\n const downControl = utils.moveWithLine(this.model, downCurve, 10, { loop: false, lookat: false })\n\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.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 dispose() { }\n}\n\nexport default InspectionObject"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anov/3d",
3
- "version": "0.0.18",
3
+ "version": "0.0.20",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "license": "MIT",
@@ -21,8 +21,8 @@
21
21
  "anov-heat-map": "^0.0.1",
22
22
  "localforage": "^1.10.0",
23
23
  "uuid": "^9.0.1",
24
- "@anov/3d-ability": "^0.0.7",
25
- "@anov/3d-core": "^0.0.7"
24
+ "@anov/3d-core": "^0.0.7",
25
+ "@anov/3d-ability": "^0.0.7"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@types/uuid": "^9.0.7"