abstract-3d 2.0.2 → 2.0.4

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.
Files changed (36) hide show
  1. package/lib/abstract-3d.d.ts +0 -2
  2. package/lib/abstract-3d.d.ts.map +1 -1
  3. package/lib/abstract-3d.js +63 -38
  4. package/lib/abstract-3d.js.map +1 -1
  5. package/lib/renderers/react/react-camera.js +14 -19
  6. package/lib/renderers/react/react-camera.js.map +1 -1
  7. package/lib/renderers/react/react-dimension.js +5 -5
  8. package/lib/renderers/react/react-dimension.js.map +1 -1
  9. package/lib/renderers/react/react-group.js +3 -5
  10. package/lib/renderers/react/react-group.js.map +1 -1
  11. package/lib/renderers/react/react-hotspot.js +21 -28
  12. package/lib/renderers/react/react-hotspot.js.map +1 -1
  13. package/lib/renderers/react/react-material.js +8 -7
  14. package/lib/renderers/react/react-material.js.map +1 -1
  15. package/lib/renderers/react/react-mesh.d.ts.map +1 -1
  16. package/lib/renderers/react/react-mesh.js +20 -39
  17. package/lib/renderers/react/react-mesh.js.map +1 -1
  18. package/lib/renderers/react/react-scene.js +11 -14
  19. package/lib/renderers/react/react-scene.js.map +1 -1
  20. package/lib/renderers/react/react.js +22 -32
  21. package/lib/renderers/react/react.js.map +1 -1
  22. package/lib/renderers/step/step-geometries/step-box.d.ts.map +1 -1
  23. package/lib/renderers/step/step-geometries/step-box.js +3 -20
  24. package/lib/renderers/step/step-geometries/step-box.js.map +1 -1
  25. package/lib/renderers/step/step-geometries/step-cylinder.d.ts.map +1 -1
  26. package/lib/renderers/step/step-geometries/step-cylinder.js +8 -24
  27. package/lib/renderers/step/step-geometries/step-cylinder.js.map +1 -1
  28. package/package.json +3 -3
  29. package/src/abstract-3d.ts +81 -41
  30. package/src/renderers/react/react-mesh.tsx +13 -14
  31. package/src/renderers/step/step-geometries/step-box.ts +3 -20
  32. package/src/renderers/step/step-geometries/step-cylinder.ts +8 -28
  33. package/lib/renderers/shared.d.ts +0 -27
  34. package/lib/renderers/shared.d.ts.map +0 -1
  35. package/lib/renderers/shared.js +0 -131
  36. package/lib/renderers/shared.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"step-box.js","sourceRoot":"","sources":["../../../../src/renderers/step/step-geometries/step-box.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-box.js","sourceRoot":"","sources":["../../../../src/renderers/step/step-geometries/step-box.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"step-cylinder.d.ts","sourceRoot":"","sources":["../../../../src/renderers/step/step-geometries/step-cylinder.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,IAAI,EAKJ,QAAQ,EAET,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAqBL,WAAW,EAiBZ,MAAM,qBAAqB,CAAC;AAI7B,wBAAgB,YAAY,CAC1B,CAAC,EAAE,QAAQ,EACX,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,IAAI,EACf,SAAS,EAAE,IAAI,EACf,CAAC,EAAE,WAAW,EACd,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,CAiLN"}
1
+ {"version":3,"file":"step-cylinder.d.ts","sourceRoot":"","sources":["../../../../src/renderers/step/step-geometries/step-cylinder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,IAAI,EAKJ,QAAQ,EAGT,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAqBL,WAAW,EAiBZ,MAAM,qBAAqB,CAAC;AAI7B,wBAAgB,YAAY,CAC1B,CAAC,EAAE,QAAQ,EACX,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,IAAI,EACf,SAAS,EAAE,IAAI,EACf,CAAC,EAAE,WAAW,EACd,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,CA6JN"}
@@ -1,5 +1,4 @@
1
- import { Euler, Matrix4, Vector3 } from "three";
2
- import { vec3TransRot, vec3RotCombine, vec3Zero, vec3, vec3Add, } from "../../../abstract-3d.js";
1
+ import { vec3TransRot, vec3RotCombine, vec3Zero, vec3, vec3Add, vec3Rot, } from "../../../abstract-3d.js";
3
2
  import { parseRgb } from "../../../utils.js";
4
3
  import { ADVANCED_BREP_SHAPE_REPRESENTATION, ADVANCED_FACE, APPLICATION_CONTEXT, APPLICATION_PROTOCOL_DEFINITION, AXIS2_PLACEMENT_3D, CARTESIAN_POINT, CIRCLE, CLOSED_SHELL, COLOUR_RGB, CURVE_STYLE, CYLINDRICAL_SURFACE, DIRECTION, DRAUGHTING_PRE_DEFINED_CURVE_FONT, EDGE_CURVE, EDGE_LOOP, FACE_BOUND, FILL_AREA_STYLE_COLOUR, LINE, MANIFOLD_SOLID_BREP, MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION, ORIENTED_EDGE, PLANE, PRESENTATION_STYLE_ASSIGNMENT, PRODUCT, PRODUCT_CONTEXT, PRODUCT_DEFINITION, PRODUCT_DEFINITION_CONTEXT, PRODUCT_DEFINITION_FORMATION, PRODUCT_DEFINITION_SHAPE, SHAPE_DEFINITION_REPRESENTATION, STYLED_ITEM, SURFACE_SIDE_STYLE, SURFACE_STYLE_FILL_AREA, SURFACE_STYLE_USAGE, VECTOR, VERTEX_POINT, } from "../step-encoding.js";
5
4
  const SMALLEST_RADIUS = 1e-4;
@@ -9,28 +8,13 @@ export function stepCylinder(c, mat, parentPos, parentRot, m, rSmall) {
9
8
  const h = c.length;
10
9
  const pos = vec3TransRot(c.pos, parentPos, parentRot);
11
10
  const rotation = vec3RotCombine(parentRot, c.rot ?? vec3Zero);
12
- const rotationMatrix = new Matrix4();
13
- const euler = new Euler();
14
- euler.set(rotation.x, rotation.y, rotation.z);
15
- rotationMatrix.makeRotationFromEuler(euler);
16
- const upNormal = new Vector3();
17
- const downNormal = new Vector3();
18
- upNormal.set(0, 1, 0);
19
- downNormal.set(0, -1, 0);
20
- upNormal.applyMatrix4(rotationMatrix);
21
- downNormal.applyMatrix4(rotationMatrix);
22
- const circleTop = new Vector3();
23
- circleTop.set(0, h / 2, 0);
24
- circleTop.applyMatrix4(rotationMatrix);
25
- const circleBot = new Vector3();
26
- circleBot.set(0, -h / 2, 0);
27
- circleBot.applyMatrix4(rotationMatrix);
28
- const v1 = new Vector3();
29
- const v2 = new Vector3();
30
- v1.set(r2, h / 2, 0);
31
- v2.set(r, -h / 2, 0);
32
- v1.applyMatrix4(rotationMatrix);
33
- v2.applyMatrix4(rotationMatrix);
11
+ const rot = (v) => vec3Rot(v, vec3Zero, rotation);
12
+ const upNormal = rot(vec3(0, 1, 0));
13
+ const downNormal = rot(vec3(0, -1, 0));
14
+ const circleTop = rot(vec3(0, h / 2, 0));
15
+ const circleBot = rot(vec3(0, -h / 2, 0));
16
+ const v1 = rot(vec3(r2, h / 2, 0));
17
+ const v2 = rot(vec3(r, -h / 2, 0));
34
18
  const applicationContext = APPLICATION_CONTEXT(m);
35
19
  APPLICATION_PROTOCOL_DEFINITION(applicationContext, m);
36
20
  const ecurve0 = EDGE_CURVE(VERTEX_POINT(CARTESIAN_POINT(vec3Add(pos, v2), m), m), VERTEX_POINT(CARTESIAN_POINT(vec3Add(pos, v1), m), m), LINE(CARTESIAN_POINT(vec3Add(pos, v2), m), VECTOR(DIRECTION(upNormal, m), m), m), m, "T");
@@ -1 +1 @@
1
- {"version":3,"file":"step-cylinder.js","sourceRoot":"","sources":["../../../../src/renderers/step/step-geometries/step-cylinder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-cylinder.js","sourceRoot":"","sources":["../../../../src/renderers/step/step-geometries/step-cylinder.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "abstract-3d",
3
- "version": "2.0.2",
3
+ "version": "2.0.4",
4
4
  "description": "Abstract 3D",
5
5
  "author": "Divid AB <info@divid.se>",
6
6
  "repository": "https://github.com/dividab/abstract-visuals/tree/master/packages/abstract-3d",
@@ -45,7 +45,7 @@
45
45
  "@react-three/drei": "^10.7.6",
46
46
  "@react-three/fiber": "^9.4.0",
47
47
  "@react-three/postprocessing": "3.0.4",
48
- "abstract-image": "^13.0.35",
48
+ "abstract-image": "^13.0.36",
49
49
  "suspend-react": "^0.1.3",
50
50
  "three": "^0.180.0",
51
51
  "ts-exhaustive-check": "^1.0.0"
@@ -59,5 +59,5 @@
59
59
  "@types/three": "^0.180.0",
60
60
  "react": "^19.0.0"
61
61
  },
62
- "gitHead": "af50066693dc04d6032ad9f546ed1dc27182d333"
62
+ "gitHead": "3623aaced6027a67d5214ffba3792a66310a2c37"
63
63
  }
@@ -1,8 +1,4 @@
1
1
  import type { AbstractImage } from "abstract-image";
2
- import { Vector3 } from "three/src/math/Vector3.js";
3
- import { Matrix4 } from "three/src/math/Matrix4.js";
4
- import { Euler } from "three/src/math/Euler.js";
5
- import { Quaternion } from "three/src/math/Quaternion.js";
6
2
 
7
3
  export type Scene = {
8
4
  readonly size_deprecated: Vec3; // Move size calculation to every renderer??
@@ -617,49 +613,93 @@ export function boundsText(t: Text, parentPos: Vec3, parentRot: Vec3): Bounds3 {
617
613
 
618
614
  // -- Transformations
619
615
 
620
- const quaternion1 = new Quaternion();
621
- const quaternion2 = new Quaternion();
622
- const euler1 = new Euler();
623
- const euler2 = new Euler();
624
- const vector = new Vector3();
625
- const matrix = new Matrix4();
626
-
627
616
  export function vec3RotCombine(outer: Vec3, inner: Vec3): Vec3 {
628
- euler1.set(outer.x, outer.y, outer.z);
629
- quaternion1.setFromEuler(euler1);
630
- euler2.set(inner.x, inner.y, inner.z);
631
- quaternion2.setFromEuler(euler2);
632
- quaternion1.multiply(quaternion2);
633
- euler1.setFromQuaternion(quaternion1);
634
- return vec3(euler1.x, euler1.y, euler1.z);
635
- }
636
-
637
- export function vec3RotNormal(referenceNormal: Vec3, eulerRot: Vec3): Vec3 {
638
- euler1.set(eulerRot.x, eulerRot.y, eulerRot.z);
639
- matrix.makeRotationFromEuler(euler1);
640
- vector.set(referenceNormal.x, referenceNormal.y, referenceNormal.z);
641
- vector.applyMatrix4(matrix);
642
- const normalized = vector.normalize();
643
- return vec3(normalized.x, normalized.y, normalized.z);
644
- }
645
-
646
- export function vec3Rot2(vec: Vec3, eulerRot: Vec3): Vec3 {
647
- euler1.set(eulerRot.x, eulerRot.y, eulerRot.z);
648
- matrix.makeRotationFromEuler(euler1);
649
- vector.set(vec.x, vec.y, vec.z);
650
- vector.applyMatrix4(matrix);
651
- return vec3(vector.x, vector.y, vector.z);
617
+ if (inner.x === 0 && inner.y === 0 && inner.z === 0) return outer;
618
+ if (outer.x === 0 && outer.y === 0 && outer.z === 0) return inner;
619
+ const oc1 = Math.cos(outer.x / 2),
620
+ os1 = Math.sin(outer.x / 2);
621
+ const oc2 = Math.cos(outer.y / 2),
622
+ os2 = Math.sin(outer.y / 2);
623
+ const oc3 = Math.cos(outer.z / 2),
624
+ os3 = Math.sin(outer.z / 2);
625
+ const ax = os1 * oc2 * oc3 + oc1 * os2 * os3;
626
+ const ay = oc1 * os2 * oc3 - os1 * oc2 * os3;
627
+ const az = oc1 * oc2 * os3 + os1 * os2 * oc3;
628
+ const aw = oc1 * oc2 * oc3 - os1 * os2 * os3;
629
+ const ic1 = Math.cos(inner.x / 2),
630
+ is1 = Math.sin(inner.x / 2);
631
+ const ic2 = Math.cos(inner.y / 2),
632
+ is2 = Math.sin(inner.y / 2);
633
+ const ic3 = Math.cos(inner.z / 2),
634
+ is3 = Math.sin(inner.z / 2);
635
+ const bx = is1 * ic2 * ic3 + ic1 * is2 * is3;
636
+ const by = ic1 * is2 * ic3 - is1 * ic2 * is3;
637
+ const bz = ic1 * ic2 * is3 + is1 * is2 * ic3;
638
+ const bw = ic1 * ic2 * ic3 - is1 * is2 * is3;
639
+ const qx = ax * bw + aw * bx + ay * bz - az * by;
640
+ const qy = ay * bw + aw * by + az * bx - ax * bz;
641
+ const qz = az * bw + aw * bz + ax * by - ay * bx;
642
+ const qw = aw * bw - ax * bx - ay * by - az * bz;
643
+ const m11 = 1 - 2 * (qy * qy + qz * qz);
644
+ const m12 = 2 * (qx * qy - qw * qz);
645
+ const m13 = 2 * (qx * qz + qw * qy);
646
+ const m22 = 1 - 2 * (qx * qx + qz * qz);
647
+ const m23 = 2 * (qy * qz - qw * qx);
648
+ const m32 = 2 * (qy * qz + qw * qx);
649
+ const m33 = 1 - 2 * (qx * qx + qy * qy);
650
+ const ey = Math.asin(Math.max(-1, Math.min(1, m13)));
651
+ if (Math.abs(m13) < 0.9999999) {
652
+ return vec3(Math.atan2(-m23, m33), ey, Math.atan2(-m12, m11));
653
+ }
654
+ return vec3(Math.atan2(m32, m22), ey, 0);
652
655
  }
653
656
 
654
657
  export function vec3Rot(point: Vec3, origin: Vec3, rotation: Vec3): Vec3 {
655
- euler1.set(rotation.x, rotation.y, rotation.z);
656
- quaternion1.setFromEuler(euler1);
657
- vector.set(point.x - origin.x, point.y - origin.y, point.z - origin.z);
658
- vector.applyQuaternion(quaternion1);
659
- return vec3(vector.x + origin.x, vector.y + origin.y, vector.z + origin.z);
658
+ if (rotation.x === 0 && rotation.y === 0 && rotation.z === 0) return point;
659
+ const c1 = Math.cos(rotation.x / 2),
660
+ s1 = Math.sin(rotation.x / 2);
661
+ const c2 = Math.cos(rotation.y / 2),
662
+ s2 = Math.sin(rotation.y / 2);
663
+ const c3 = Math.cos(rotation.z / 2),
664
+ s3 = Math.sin(rotation.z / 2);
665
+ const qx = s1 * c2 * c3 + c1 * s2 * s3;
666
+ const qy = c1 * s2 * c3 - s1 * c2 * s3;
667
+ const qz = c1 * c2 * s3 + s1 * s2 * c3;
668
+ const qw = c1 * c2 * c3 - s1 * s2 * s3;
669
+ const vx = point.x - origin.x,
670
+ vy = point.y - origin.y,
671
+ vz = point.z - origin.z;
672
+ const tx = 2 * (qy * vz - qz * vy);
673
+ const ty = 2 * (qz * vx - qx * vz);
674
+ const tz = 2 * (qx * vy - qy * vx);
675
+ return vec3(
676
+ vx + qw * tx + qy * tz - qz * ty + origin.x,
677
+ vy + qw * ty + qz * tx - qx * tz + origin.y,
678
+ vz + qw * tz + qx * ty - qy * tx + origin.z
679
+ );
660
680
  }
661
681
 
662
- export const vec3TransRot = (p: Vec3, pos: Vec3, rot: Vec3): Vec3 => vec3Rot(vec3Add(p, pos), pos, rot);
682
+ export const vec3TransRot = (p: Vec3, pos: Vec3, rot: Vec3): Vec3 => {
683
+ if (rot.x === 0 && rot.y === 0 && rot.z === 0) return vec3(p.x + pos.x, p.y + pos.y, p.z + pos.z);
684
+ const c1 = Math.cos(rot.x / 2),
685
+ s1 = Math.sin(rot.x / 2);
686
+ const c2 = Math.cos(rot.y / 2),
687
+ s2 = Math.sin(rot.y / 2);
688
+ const c3 = Math.cos(rot.z / 2),
689
+ s3 = Math.sin(rot.z / 2);
690
+ const qx = s1 * c2 * c3 + c1 * s2 * s3;
691
+ const qy = c1 * s2 * c3 - s1 * c2 * s3;
692
+ const qz = c1 * c2 * s3 + s1 * s2 * c3;
693
+ const qw = c1 * c2 * c3 - s1 * s2 * s3;
694
+ const tx = 2 * (qy * p.z - qz * p.y);
695
+ const ty = 2 * (qz * p.x - qx * p.z);
696
+ const tz = 2 * (qx * p.y - qy * p.x);
697
+ return vec3(
698
+ p.x + qw * tx + qy * tz - qz * ty + pos.x,
699
+ p.y + qw * ty + qz * tx - qx * tz + pos.y,
700
+ p.z + qw * tz + qx * ty - qy * tx + pos.z
701
+ );
702
+ };
663
703
 
664
704
  export function geoRot<T extends Box | Plane | Cone | Cylinder | Text | Group>(g: T, origin: Vec3, rot: Vec3): T {
665
705
  return { ...g, pos: vec3Rot(g.pos, origin, rot), rot: vec3RotCombine(rot, g.rot ?? vec3Zero) };
@@ -1,6 +1,3 @@
1
- /* eslint-disable functional/no-class */
2
- /* eslint-disable functional/no-this-expression */
3
- /* eslint-disable functional/prefer-readonly-type */
4
1
  import React from "react";
5
2
  import { extend } from "@react-three/fiber";
6
3
  import { Text, Line } from "@react-three/drei";
@@ -190,16 +187,18 @@ export function ReactMesh({
190
187
  }
191
188
  case "Image": {
192
189
  const { pos, size, rot } = mesh.geometry;
193
- return <mesh
194
- geometry={planeGeometry}
195
- scale={[size.x, size.y, 1]}
196
- position={[pos.x, pos.y, pos.z]}
197
- rotation={[rot?.x ?? 0, rot?.y ?? 0, rot?.z ?? 0]}
198
- castShadow
199
- receiveShadow
200
- >
201
- {children}
202
- </mesh>;
190
+ return (
191
+ <mesh
192
+ geometry={planeGeometry}
193
+ scale={[size.x, size.y, 1]}
194
+ position={[pos.x, pos.y, pos.z]}
195
+ rotation={[rot?.x ?? 0, rot?.y ?? 0, rot?.z ?? 0]}
196
+ castShadow
197
+ receiveShadow
198
+ >
199
+ {children}
200
+ </mesh>
201
+ );
203
202
  }
204
203
  case "Plane": {
205
204
  const { pos, size, rot, holes } = mesh.geometry;
@@ -504,7 +503,7 @@ class CircleCurve extends Curve<Vector3> {
504
503
  this.angleLength = circleCurve.angleLength;
505
504
  }
506
505
 
507
- getPoint(t: number, optionalTarget = new Vector3()): Vector3 {
506
+ override getPoint(t: number, optionalTarget = new Vector3()): Vector3 {
508
507
  return optionalTarget.set(
509
508
  -this.radius * Math.sin(this.startAngle + this.angleLength * t),
510
509
  -this.radius * Math.cos(this.startAngle + this.angleLength * t),
@@ -1,4 +1,3 @@
1
- import { Euler, Matrix4, Vector3 } from "three";
2
1
  import {
3
2
  Box,
4
3
  Material,
@@ -11,6 +10,7 @@ import {
11
10
  vec3Normalize,
12
11
  vec3Sub,
13
12
  vec3Add,
13
+ vec3Rot,
14
14
  } from "../../../abstract-3d.js";
15
15
  import { parseRgb } from "../../../utils.js";
16
16
  import {
@@ -58,10 +58,7 @@ export function stepBox(b: Box, mat: Material, parentPos: Vec3, parentRot: Vec3,
58
58
  const pos = vec3TransRot(b.pos, parentPos, parentRot);
59
59
  const rotation = vec3RotCombine(parentRot, b.rot ?? vec3Zero);
60
60
  const color = parseRgb(mat.normal);
61
- const rotationMatrix = new Matrix4();
62
- const euler = new Euler();
63
- euler.set(rotation.x, rotation.y, rotation.z);
64
- rotationMatrix.makeRotationFromEuler(euler);
61
+ const rotate = (v: Vec3): Vec3 => vec3Rot(v, vec3Zero, rotation);
65
62
 
66
63
  const corners = [
67
64
  vec3(0, 0, 0),
@@ -72,21 +69,7 @@ export function stepBox(b: Box, mat: Material, parentPos: Vec3, parentRot: Vec3,
72
69
  vec3(size.x, 0, size.z),
73
70
  vec3(size.x, size.y, 0),
74
71
  vec3(size.x, size.y, size.z),
75
- ].map((v) => {
76
- const localCorner = vec3Sub(v, half);
77
- const vec = new Vector3();
78
- vec.set(localCorner.x, localCorner.y, localCorner.z);
79
- vec.applyMatrix4(rotationMatrix);
80
- const corner = vec3Add(vec3(vec.x, vec.y, vec.z), pos);
81
- return corner;
82
- });
83
-
84
- const rotate = (original: Vec3): Vec3 => {
85
- const vec = new Vector3();
86
- vec.set(original.x, original.y, original.z);
87
- vec.applyMatrix4(rotationMatrix);
88
- return vec3(vec.x, vec.y, vec.z);
89
- };
72
+ ].map((v) => vec3Add(rotate(vec3Sub(v, half)), pos));
90
73
 
91
74
  const normFrontGlobal = vec3(0, 0, 1);
92
75
  const normRightGlobal = vec3(1, 0, 0);
@@ -1,4 +1,3 @@
1
- import { Euler, Matrix4, Vector3 } from "three";
2
1
  import {
3
2
  Material,
4
3
  Vec3,
@@ -8,6 +7,7 @@ import {
8
7
  vec3,
9
8
  Cylinder,
10
9
  vec3Add,
10
+ vec3Rot,
11
11
  } from "../../../abstract-3d.js";
12
12
  import { parseRgb } from "../../../utils.js";
13
13
  import {
@@ -66,33 +66,13 @@ export function stepCylinder(
66
66
  const pos = vec3TransRot(c.pos, parentPos, parentRot);
67
67
  const rotation = vec3RotCombine(parentRot, c.rot ?? vec3Zero);
68
68
 
69
- const rotationMatrix = new Matrix4();
70
- const euler = new Euler();
71
- euler.set(rotation.x, rotation.y, rotation.z);
72
- rotationMatrix.makeRotationFromEuler(euler);
73
-
74
- const upNormal = new Vector3();
75
- const downNormal = new Vector3();
76
- upNormal.set(0, 1, 0);
77
- downNormal.set(0, -1, 0);
78
-
79
- upNormal.applyMatrix4(rotationMatrix);
80
- downNormal.applyMatrix4(rotationMatrix);
81
-
82
- const circleTop = new Vector3();
83
- circleTop.set(0, h / 2, 0);
84
- circleTop.applyMatrix4(rotationMatrix);
85
-
86
- const circleBot = new Vector3();
87
- circleBot.set(0, -h / 2, 0);
88
- circleBot.applyMatrix4(rotationMatrix);
89
-
90
- const v1 = new Vector3();
91
- const v2 = new Vector3();
92
- v1.set(r2, h / 2, 0);
93
- v2.set(r, -h / 2, 0);
94
- v1.applyMatrix4(rotationMatrix);
95
- v2.applyMatrix4(rotationMatrix);
69
+ const rot = (v: Vec3): Vec3 => vec3Rot(v, vec3Zero, rotation);
70
+ const upNormal = rot(vec3(0, 1, 0));
71
+ const downNormal = rot(vec3(0, -1, 0));
72
+ const circleTop = rot(vec3(0, h / 2, 0));
73
+ const circleBot = rot(vec3(0, -h / 2, 0));
74
+ const v1 = rot(vec3(r2, h / 2, 0));
75
+ const v2 = rot(vec3(r, -h / 2, 0));
96
76
 
97
77
  const applicationContext = APPLICATION_CONTEXT(m);
98
78
  APPLICATION_PROTOCOL_DEFINITION(applicationContext, m);
@@ -1,27 +0,0 @@
1
- export declare function parseRgb(color: string): {
2
- readonly r: number;
3
- readonly g: number;
4
- readonly b: number;
5
- };
6
- export declare function parseColorString(s: string): {
7
- readonly r: number;
8
- readonly g: number;
9
- readonly b: number;
10
- };
11
- export declare function rgbGrayScale(color: string): string;
12
- /**
13
- * This will take a HEX or RGB web color. pSBC can shade it darker or lighter,
14
- * or blend it with a second color, and can also pass it right thru but convert
15
- * from Hex to RGB (Hex2RGB) or RGB to Hex (RGB2Hex).
16
- * All without you even knowing what color format you are using.
17
- *
18
- * @param {number} p - From 0 to 1 Percentage float (Required).
19
- * @param {string} from - The starting color in HEX or RGB format.
20
- * @param {string} [to] - The ending color in HEX or RGB format, optional.
21
- * @returns {string|null} Either Hex or RGB color. Null if invalid color or percentage number.
22
- */
23
- export declare function shade(p: number, from: string, to?: string): string | undefined;
24
- export type Optional<T> = {
25
- readonly [K in keyof T]?: T[K];
26
- };
27
- //# sourceMappingURL=shared.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/renderers/shared.ts"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAItG;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAuB1G;AAKD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED;;;;;;;;;;GAUG;AAEH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA8F9E;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC"}
@@ -1,131 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-unused-expressions */
2
- export function parseRgb(color) {
3
- const parts = color.split("(")[1]?.slice(0, -1).split(",");
4
- const rgb = { r: Number(parts?.[0] ?? 0), g: Number(parts?.[1] ?? 0), b: Number(parts?.[2] ?? 0) };
5
- return rgb;
6
- }
7
- export function parseColorString(s) {
8
- if (s.startsWith("#")) {
9
- if (s.length === 9) {
10
- return {
11
- // a: parseInt(s.slice(1, 3), 16),
12
- r: parseInt(s.slice(3, 5), 16),
13
- g: parseInt(s.slice(5, 7), 16),
14
- b: parseInt(s.slice(7, 9), 16),
15
- };
16
- }
17
- return { r: parseInt(s.slice(1, 3), 16), g: parseInt(s.slice(3, 5), 16), b: parseInt(s.slice(5, 7), 16) };
18
- }
19
- if (s.startsWith("rgb")) {
20
- const [r, g, b, _a] = s.split("(")[1]?.split(")")[0]?.split(",") ?? [];
21
- return { r: Number(r ?? 0), g: Number(g ?? 0), b: Number(b ?? 0) };
22
- }
23
- if (s === "white") {
24
- return white;
25
- }
26
- if (s === "black") {
27
- return black;
28
- }
29
- return white;
30
- }
31
- const white = { r: 255, g: 255, b: 255 };
32
- const black = { r: 0, g: 0, b: 0 };
33
- export function rgbGrayScale(color) {
34
- const parts = color.split("(")[1]?.slice(0, -1).split(",");
35
- const c = Number(parts?.[0] ?? 416) * 0.3 + Number(parts?.[1] ?? 212) * 0.587 + Number(parts?.[2] ?? 1100) * 0.114;
36
- return `rgb(${c},${c},${c})`;
37
- }
38
- /**
39
- * This will take a HEX or RGB web color. pSBC can shade it darker or lighter,
40
- * or blend it with a second color, and can also pass it right thru but convert
41
- * from Hex to RGB (Hex2RGB) or RGB to Hex (RGB2Hex).
42
- * All without you even knowing what color format you are using.
43
- *
44
- * @param {number} p - From 0 to 1 Percentage float (Required).
45
- * @param {string} from - The starting color in HEX or RGB format.
46
- * @param {string} [to] - The ending color in HEX or RGB format, optional.
47
- * @returns {string|null} Either Hex or RGB color. Null if invalid color or percentage number.
48
- */
49
- export function shade(p, from, to) {
50
- if (typeof p !== "number" ||
51
- p < -1 ||
52
- p > 1 ||
53
- typeof from !== "string" ||
54
- (from[0] !== "r" && from[0] !== "#") ||
55
- (to && typeof to !== "string")) {
56
- return undefined; // ErrorCheck
57
- }
58
- const sbcRip = (d) => {
59
- const l = d.length;
60
- const RGB = {};
61
- if (l > 9) {
62
- const dArr = d.split(",");
63
- if (dArr.length < 3 || dArr.length > 4)
64
- return null; // ErrorCheck
65
- RGB[0] = i(dArr[0].split("(")[1]);
66
- RGB[1] = i(dArr[1]);
67
- RGB[2] = i(dArr[2]);
68
- RGB[3] = dArr[3] ? parseFloat(dArr[3]) : -1;
69
- }
70
- else {
71
- if (l === 8 || l === 6 || l < 4)
72
- return null; // ErrorCheck
73
- if (l < 6) {
74
- d = "#" + d[1] + d[1] + d[2] + d[2] + d[3] + d[3] + (l > 4 ? String(d[4]) + d[4] : ""); // 3 or 4 digit
75
- }
76
- const dInt = i(d.slice(1), 16);
77
- RGB[0] = (dInt >> 16) & 255;
78
- RGB[1] = (dInt >> 8) & 255;
79
- RGB[2] = dInt & 255;
80
- RGB[3] = -1;
81
- if (l === 9 || l === 5) {
82
- RGB[3] = r((RGB[2] / 255) * 10000) / 10000;
83
- RGB[2] = RGB[1];
84
- RGB[1] = RGB[0];
85
- RGB[0] = (dInt >> 24) & 255;
86
- }
87
- }
88
- return RGB;
89
- };
90
- const i = parseInt;
91
- const r = Math.round;
92
- let h = from.length > 9;
93
- h = typeof to === "string" ? (to.length > 9 ? true : to === "c" ? !h : false) : h;
94
- const b = p < 0;
95
- p = b ? p * -1 : p;
96
- to = to && to !== "c" ? to : b ? "#000000" : "#FFFFFF";
97
- const f = sbcRip(from);
98
- const t = sbcRip(to);
99
- if (!f || !t) {
100
- return undefined; // ErrorCheck
101
- }
102
- if (h) {
103
- return ("rgb" +
104
- (f[3] > -1 || t[3] > -1 ? "a(" : "(") +
105
- r((t[0] - f[0]) * p + f[0]) +
106
- "," +
107
- r((t[1] - f[1]) * p + f[1]) +
108
- "," +
109
- r((t[2] - f[2]) * p + f[2]) +
110
- (f[3] < 0 && t[3] < 0
111
- ? ")"
112
- : "," +
113
- (f[3] > -1 && t[3] > -1 ? r(((t[3] - f[3]) * p + f[3]) * 10000) / 10000 : t[3] < 0 ? f[3] : t[3]) +
114
- ")"));
115
- }
116
- return ("#" +
117
- (0x100000000 +
118
- r((t[0] - f[0]) * p + f[0]) * 0x1000000 +
119
- r((t[1] - f[1]) * p + f[1]) * 0x10000 +
120
- r((t[2] - f[2]) * p + f[2]) * 0x100 +
121
- (f[3] > -1 && t[3] > -1
122
- ? r(((t[3] - f[3]) * p + f[3]) * 255)
123
- : t[3] > -1
124
- ? r(t[3] * 255)
125
- : f[3] > -1
126
- ? r(f[3] * 255)
127
- : 255))
128
- .toString(16)
129
- .slice(1, f[3] > -1 || t[3] > -1 ? undefined : -2));
130
- }
131
- //# sourceMappingURL=shared.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/renderers/shared.ts"],"names":[],"mappings":"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"}