@fbltd/math 1.0.27 → 1.0.28

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.
@@ -43,7 +43,7 @@ export class Color {
43
43
  return this.toString();
44
44
  }
45
45
  toString(format = 'hex') {
46
- return Color.toString(this, format);
46
+ return Color.representation(this, format);
47
47
  }
48
48
  toNumber() {
49
49
  return Color.toNumber(this);
@@ -63,7 +63,7 @@ export class Color {
63
63
  static areEquals(c1, c2) {
64
64
  return Color.toNumber(c1) === Color.toNumber(c2);
65
65
  }
66
- static toString(color, format = 'hex') {
66
+ static representation(color, format = 'hex') {
67
67
  switch (format) {
68
68
  case "rgba":
69
69
  return `rgba(${color.red},${color.green},${color.blue},${normalizeShade(color.alpha)})`;
@@ -16,4 +16,17 @@ export class Point {
16
16
  return acc + c * p2[index];
17
17
  }, 0);
18
18
  }
19
+ static crossProduct(a, b) {
20
+ return [
21
+ a[1] * b[2] - b[1] * a[2],
22
+ a[2] * b[0] - a[0] * b[2],
23
+ a[0] * b[1] - b[0] * a[1],
24
+ ];
25
+ }
26
+ static tripleProduct(crossFactorA, crossFactorB, dotFactor) {
27
+ return Point.dotProduct(Point.crossProduct(crossFactorA, crossFactorB), dotFactor);
28
+ }
29
+ static normal(p1, p2, p3) {
30
+ return Point.crossProduct(Point.dif(p2, p1), Point.dif(p3, p1));
31
+ }
19
32
  }
@@ -1,5 +1,5 @@
1
1
  import { Angle, AngleUnits, approximately } from "../../index.js";
2
- import { validateType } from "../type.utils.js";
2
+ import {} from "../type.utils.js";
3
3
  export const identityMatrix3d = [1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0];
4
4
  Object.freeze(identityMatrix3d);
5
5
  export class Matrix3d {
@@ -13,13 +13,13 @@ export declare class Color {
13
13
  get blue(): number;
14
14
  get alpha(): number;
15
15
  [Symbol.toPrimitive](): string;
16
- toString(format?: Parameters<typeof Color.toString>[1]): string;
16
+ toString(format?: Parameters<typeof Color.representation>[1]): string;
17
17
  toNumber(): number;
18
18
  isEqual(c: Color): boolean;
19
19
  static ofNumber(value: number): Color;
20
20
  static ofNumberAlpha(value: number): Color;
21
21
  static toNumber(color: Color): number;
22
22
  static areEquals(c1: Color, c2: Color): boolean;
23
- static toString(color: Color, format?: 'rgba' | 'hex'): string;
23
+ static representation(color: Color, format?: 'rgba' | 'hex'): string;
24
24
  }
25
25
  //# sourceMappingURL=color.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../../src/colors/color.ts"],"names":[],"mappings":"AAGA,qBAAa,KAAK;IACF,OAAO,CAAC,IAAI;IAAU,OAAO,CAAC,MAAM;IAAU,OAAO,CAAC,KAAK;IAAU,OAAO,CAAC,MAAM;gBAA3E,IAAI,EAAE,MAAM,EAAU,MAAM,EAAE,MAAM,EAAU,KAAK,EAAE,MAAM,EAAU,MAAM,SAAM;IAOrG,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,EAEpB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAEtB;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAErB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAEtB;IAED,IAAI,GAAG,IAhBQ,MAAM,CAkBpB;IAED,IAAI,KAAK,IAhBQ,MAAM,CAkBtB;IAED,IAAI,IAAI,IAhBQ,MAAM,CAkBrB;IAED,IAAI,KAAK,IAhBQ,MAAM,CAkBtB;IAED,CAAC,MAAM,CAAC,WAAW,CAAC;IAIpB,QAAQ,CAAC,MAAM,GAAE,UAAU,CAAC,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAS;IAI7D,QAAQ;IAIR,OAAO,CAAC,CAAC,EAAE,KAAK;IAIhB,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM;IAQ7B,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM;IASlC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK;IAI5B,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK;IAIrC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,GAAE,MAAM,GAAG,KAAa;CAW/D"}
1
+ {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../../src/colors/color.ts"],"names":[],"mappings":"AAGA,qBAAa,KAAK;IACF,OAAO,CAAC,IAAI;IAAU,OAAO,CAAC,MAAM;IAAU,OAAO,CAAC,KAAK;IAAU,OAAO,CAAC,MAAM;gBAA3E,IAAI,EAAE,MAAM,EAAU,MAAM,EAAE,MAAM,EAAU,KAAK,EAAE,MAAM,EAAU,MAAM,SAAM;IAOrG,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,EAEpB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAEtB;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAErB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAEtB;IAED,IAAI,GAAG,IAhBQ,MAAM,CAkBpB;IAED,IAAI,KAAK,IAhBQ,MAAM,CAkBtB;IAED,IAAI,IAAI,IAhBQ,MAAM,CAkBrB;IAED,IAAI,KAAK,IAhBQ,MAAM,CAkBtB;IAED,CAAC,MAAM,CAAC,WAAW,CAAC;IAIpB,QAAQ,CAAC,MAAM,GAAE,UAAU,CAAC,OAAO,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAS;IAInE,QAAQ;IAIR,OAAO,CAAC,CAAC,EAAE,KAAK;IAIhB,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM;IAQ7B,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM;IASlC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK;IAI5B,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK;IAIrC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,GAAE,MAAM,GAAG,KAAa;CAWrE"}
@@ -7,5 +7,8 @@ export declare class Point {
7
7
  static dif<T extends IPoint>(p1: T, p2: T): T;
8
8
  static abs<T extends IPoint>(p: T): T;
9
9
  static dotProduct<T extends IPoint>(p1: T, p2: T): number;
10
+ static crossProduct(a: IPoint3, b: IPoint3): IPoint3;
11
+ static tripleProduct(crossFactorA: IPoint3, crossFactorB: IPoint3, dotFactor: any): number;
12
+ static normal(p1: IPoint3, p2: IPoint3, p3: IPoint3): IPoint3;
10
13
  }
11
14
  //# sourceMappingURL=point.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"point.d.ts","sourceRoot":"","sources":["../../../../src/figures/point.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AACtC,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AAC9C,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG,OAAO,CAAA;AAEtC,qBAAa,KAAK;IACd,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC;IAI7C,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;IAItD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC;IAI7C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC;IAIrC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM;CAM5D"}
1
+ {"version":3,"file":"point.d.ts","sourceRoot":"","sources":["../../../../src/figures/point.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AACtC,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AAC9C,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG,OAAO,CAAA;AAEtC,qBAAa,KAAK;IACd,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC;IAI7C,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;IAItD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC;IAI7C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC;IAIrC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM;IAYzD,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO;IAgBpD,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,KAAA,GAAG,MAAM;IAWrF,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,GAAG,OAAO;CAIhE"}
@@ -1 +1 @@
1
- {"version":3,"file":"matrix3d.d.ts","sourceRoot":"","sources":["../../../../src/matrices/matrix3d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matrix3d.d.ts","sourceRoot":"","sources":["../../../../src/matrices/matrix3d.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fbltd/math",
3
- "version": "1.0.27",
3
+ "version": "1.0.28",
4
4
  "description": "Math and geometry utilities",
5
5
  "sideEffects": false,
6
6
  "main": "dist/bin/index.js",