@anov/3d-ability 0.0.141 → 0.0.142

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.
@@ -1,6 +1,6 @@
1
1
  import type { CurvePath } from '@anov/3d-core';
2
2
  import { Vector3 } from '@anov/3d-core';
3
- import { RoundedCornersCurve } from '../../index';
3
+ import { RoundedCornersCurve } from '../../core/Curve/RoundedCornersCurve';
4
4
  /**
5
5
  * offset path
6
6
  * @param originalPath
@@ -1,5 +1,5 @@
1
1
  import { Vector3 } from '@anov/3d-core';
2
- import { RoundedCornersCurve } from "../../index";
2
+ import { RoundedCornersCurve } from "../../core/Curve/RoundedCornersCurve";
3
3
  const closure = curves => {
4
4
  if (curves.length <= 1) return false;
5
5
  const {
@@ -1 +1 @@
1
- {"version":3,"names":["Vector3","RoundedCornersCurve","closure","curves","length","x","x1","y","y1","z","z1","type","v1","v0","x2","y2","z2","v2","createOffsetPath","originalPath","offsetDistance","corner","newPoints","isClosure","firstNormal","nextPoint","i","clone","direction","subVectors","normalize","normal","crossVectors","copy","offset","multiplyScalar","newV1","add","newV2","push"],"sources":["../../../src/business/TrafficComponents/utils.ts"],"sourcesContent":["import type { Curve, CurvePath, LineCurve3, QuadraticBezierCurve3 } from '@anov/3d-core'\nimport { Vector3 } from '@anov/3d-core'\nimport { RoundedCornersCurve } from '../../index'\n\nconst closure = (curves: Curve<Vector3>[]) => {\n if (curves.length <= 1)\n return false\n\n const { x: x1, y: y1, z: z1 } = curves[0].type === 'LineCurve3' ? (curves[0] as LineCurve3).v1 : (curves[0] as QuadraticBezierCurve3).v0\n const { x: x2, y: y2, z: z2 } = (curves[curves.length - 1] as LineCurve3).v2\n\n return x1 === x2 && y1 === y2 && z1 === z2\n}\n\n/**\n * offset path\n * @param originalPath\n * @param offsetDistance\n * @returns\n */\nexport const createOffsetPath = (originalPath: CurvePath<Vector3>, offsetDistance: number, corner = 10) => {\n const curves = originalPath.curves\n const newPoints = []\n\n const isClosure = closure(curves)\n const firstNormal = new Vector3()\n let nextPoint = (curves[0] as LineCurve3).v1\n\n for (let i = 0; i < curves.length; i++) {\n if (curves[i].type === 'LineCurve3') {\n const v1 = nextPoint.clone()\n const v2 = (curves[i] as LineCurve3).v2\n\n const direction = new Vector3().subVectors(v2, v1).normalize()\n const normal = new Vector3().crossVectors(direction, new Vector3(0, 1, 0)).normalize()\n\n i === 0 && firstNormal.copy(normal)\n\n const offset = normal.multiplyScalar(offsetDistance)\n const newV1 = v1.clone().add(offset.clone())\n const newV2 = v2.clone().add(offset.clone())\n\n newPoints.push(newV1)\n nextPoint = newV2\n }\n\n if (i === curves.length - 1) {\n if (isClosure)\n newPoints[0] = nextPoint.clone().add(firstNormal.multiplyScalar(offsetDistance))\n else\n newPoints.push(nextPoint)\n }\n }\n\n return new RoundedCornersCurve(newPoints, corner, isClosure)\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["Vector3","RoundedCornersCurve","closure","curves","length","x","x1","y","y1","z","z1","type","v1","v0","x2","y2","z2","v2","createOffsetPath","originalPath","offsetDistance","corner","newPoints","isClosure","firstNormal","nextPoint","i","clone","direction","subVectors","normalize","normal","crossVectors","copy","offset","multiplyScalar","newV1","add","newV2","push"],"sources":["../../../src/business/TrafficComponents/utils.ts"],"sourcesContent":["import type { Curve, CurvePath, LineCurve3, QuadraticBezierCurve3 } from '@anov/3d-core'\nimport { Vector3 } from '@anov/3d-core'\nimport { RoundedCornersCurve } from '../../core/Curve/RoundedCornersCurve'\n\nconst closure = (curves: Curve<Vector3>[]) => {\n if (curves.length <= 1)\n return false\n\n const { x: x1, y: y1, z: z1 } = curves[0].type === 'LineCurve3' ? (curves[0] as LineCurve3).v1 : (curves[0] as QuadraticBezierCurve3).v0\n const { x: x2, y: y2, z: z2 } = (curves[curves.length - 1] as LineCurve3).v2\n\n return x1 === x2 && y1 === y2 && z1 === z2\n}\n\n/**\n * offset path\n * @param originalPath\n * @param offsetDistance\n * @returns\n */\nexport const createOffsetPath = (originalPath: CurvePath<Vector3>, offsetDistance: number, corner = 10) => {\n const curves = originalPath.curves\n const newPoints = []\n\n const isClosure = closure(curves)\n const firstNormal = new Vector3()\n let nextPoint = (curves[0] as LineCurve3).v1\n\n for (let i = 0; i < curves.length; i++) {\n if (curves[i].type === 'LineCurve3') {\n const v1 = nextPoint.clone()\n const v2 = (curves[i] as LineCurve3).v2\n\n const direction = new Vector3().subVectors(v2, v1).normalize()\n const normal = new Vector3().crossVectors(direction, new Vector3(0, 1, 0)).normalize()\n\n i === 0 && firstNormal.copy(normal)\n\n const offset = normal.multiplyScalar(offsetDistance)\n const newV1 = v1.clone().add(offset.clone())\n const newV2 = v2.clone().add(offset.clone())\n\n newPoints.push(newV1)\n nextPoint = newV2\n }\n\n if (i === curves.length - 1) {\n if (isClosure)\n newPoints[0] = nextPoint.clone().add(firstNormal.multiplyScalar(offsetDistance))\n else\n newPoints.push(nextPoint)\n }\n }\n\n return new RoundedCornersCurve(newPoints, corner, isClosure)\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anov/3d-ability",
3
- "version": "0.0.141",
3
+ "version": "0.0.142",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "license": "MIT",