@bitblit/ratchet-common 5.1.606-alpha → 5.1.608-alpha

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.
@@ -0,0 +1,13 @@
1
+ import { TransformationMatrix } from "./transformation-matrix.js";
2
+ export declare class MatrixFactory {
3
+ private constructor();
4
+ static multiply(tx: TransformationMatrix[]): TransformationMatrix;
5
+ static translate(xMove: number, yMove: number): TransformationMatrix;
6
+ static scaleUniform(scale: number): TransformationMatrix;
7
+ static scale(xScale: number, yScale: number): TransformationMatrix;
8
+ static rotate(angleTheta: number): TransformationMatrix;
9
+ static shear(xShear: number, yShear: number): TransformationMatrix;
10
+ static mirrorAboutYAxis(): TransformationMatrix;
11
+ static mirrorAboutXAxis(): TransformationMatrix;
12
+ static identity(): TransformationMatrix;
13
+ }
@@ -0,0 +1,77 @@
1
+ export class MatrixFactory {
2
+ constructor() { }
3
+ static multiply(tx) {
4
+ let rval = MatrixFactory.identity();
5
+ tx.forEach(t => {
6
+ rval = {
7
+ a: (rval.a * t.a) + (rval.b * t.c) + ((rval.u | 0) * 0),
8
+ b: (rval.a * t.b) + (rval.b * t.d) + ((rval.u | 0) * 0),
9
+ u: (rval.a * (t.u | 0)) + (rval.b * (t.v | 0)) + ((rval.u | 0) * 1),
10
+ c: (rval.c * t.a) + (rval.d * t.c) + ((rval.v | 0) * 0),
11
+ d: (rval.c * t.b) + (rval.d * t.d) + ((rval.v | 0) * 0),
12
+ v: (rval.c * (t.u | 0)) + (rval.d * (t.v | 0)) + ((rval.v | 0) * 1),
13
+ };
14
+ });
15
+ return rval;
16
+ }
17
+ static translate(xMove, yMove) {
18
+ const rval = MatrixFactory.identity();
19
+ rval.u = xMove;
20
+ rval.v = yMove;
21
+ return rval;
22
+ }
23
+ static scaleUniform(scale) {
24
+ return MatrixFactory.scale(scale, scale);
25
+ }
26
+ static scale(xScale, yScale) {
27
+ return {
28
+ a: xScale,
29
+ b: 0,
30
+ c: 0,
31
+ d: yScale,
32
+ };
33
+ }
34
+ static rotate(angleTheta) {
35
+ return {
36
+ a: Math.cos(angleTheta),
37
+ b: -1 * Math.sin(angleTheta),
38
+ c: Math.sin(angleTheta),
39
+ d: Math.cos(angleTheta)
40
+ };
41
+ }
42
+ static shear(xShear, yShear) {
43
+ return {
44
+ a: 1,
45
+ b: xShear,
46
+ c: yShear,
47
+ d: 1
48
+ };
49
+ }
50
+ static mirrorAboutYAxis() {
51
+ return {
52
+ a: -1,
53
+ b: 0,
54
+ c: 0,
55
+ d: 1
56
+ };
57
+ }
58
+ static mirrorAboutXAxis() {
59
+ return {
60
+ a: 1,
61
+ b: 0,
62
+ c: 0,
63
+ d: -1
64
+ };
65
+ }
66
+ static identity() {
67
+ return {
68
+ a: 1,
69
+ b: 0,
70
+ c: 0,
71
+ d: 1,
72
+ u: 0,
73
+ v: 0
74
+ };
75
+ }
76
+ }
77
+ //# sourceMappingURL=matrix-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matrix-factory.js","sourceRoot":"","sources":["../../src/2d/matrix-factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare enum Plane2dType {
2
+ BottomLeft = "BottomLeft",
3
+ BottomRight = "BottomRight",
4
+ TopLeft = "TopLeft",
5
+ TopRight = "TopRight"
6
+ }
@@ -0,0 +1,8 @@
1
+ export var Plane2dType;
2
+ (function (Plane2dType) {
3
+ Plane2dType["BottomLeft"] = "BottomLeft";
4
+ Plane2dType["BottomRight"] = "BottomRight";
5
+ Plane2dType["TopLeft"] = "TopLeft";
6
+ Plane2dType["TopRight"] = "TopRight";
7
+ })(Plane2dType || (Plane2dType = {}));
8
+ //# sourceMappingURL=plane-2d-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plane-2d-type.js","sourceRoot":"","sources":["../../src/2d/plane-2d-type.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,wCAAyB,CAAA;IACzB,0CAA2B,CAAA;IAC3B,kCAAmB,CAAA;IACnB,oCAAqB,CAAA;AACvB,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB"}
@@ -1,6 +1,6 @@
1
+ import { Plane2dType } from "./plane-2d-type.js";
1
2
  export interface Plane2d {
2
3
  height: number;
3
4
  width: number;
4
- rightToLeft?: boolean;
5
- topToBottom?: boolean;
5
+ type: Plane2dType;
6
6
  }
@@ -1,11 +1,13 @@
1
- import { Point2d } from './point-2d.js';
2
- import { Plane2d } from './plane-2d.js';
3
- import { Line2d } from './line-2d.js';
4
- import { PolyLine2d } from './poly-line-2d.js';
1
+ import { Point2d } from "./point-2d.js";
2
+ import { Plane2d } from "./plane-2d.js";
3
+ import { Line2d } from "./line-2d.js";
4
+ import { PolyLine2d } from "./poly-line-2d.js";
5
+ import { TransformationMatrix } from "./transformation-matrix.js";
6
+ import { Plane2dType } from "./plane-2d-type.js";
5
7
  export declare class Ratchet2d {
6
8
  private constructor();
7
9
  static translateToOriginVector(points: Point2d[]): Point2d;
8
- static minimalContainingPlane(points: Point2d[]): Plane2d;
10
+ static minimalContainingPlane(points: Point2d[], type?: Plane2dType): Plane2d;
9
11
  static scaleVector(src: Plane2d, dst: Plane2d): Point2d;
10
12
  static samePoint(p1: Point2d, p2: Point2d): boolean;
11
13
  static atLeastOneDimensionShared(p1: Point2d, p2: Point2d): boolean;
@@ -23,17 +25,23 @@ export declare class Ratchet2d {
23
25
  static planeContainsPoints(pt: Point2d[], plane: Plane2d): boolean;
24
26
  static linesToPoints(lines: Line2d[]): Point2d[];
25
27
  static pointsToLines(points: Point2d[]): Line2d[];
26
- static rotateRightAboutOrigin90Degrees(points: Point2d[], times?: number): Point2d[];
28
+ static rotateRightAboutCartesianOrigin90Degrees(points: Point2d[], times?: number): Point2d[];
27
29
  static planeContainsLines(lines: Line2d[], plane: Plane2d): boolean;
28
30
  static planeContainsPolyLine(pline: PolyLine2d, plane: Plane2d): boolean;
29
31
  static planeContainsLine(line: Line2d, plane: Plane2d): boolean;
30
32
  static xToY(points: Point2d[]): Point2d[];
31
33
  static translate(points: Point2d[], xlate: Point2d): Point2d[];
32
34
  static mirrorPointsOnPlane(points: Point2d[], src: Plane2d, mirrorX: boolean, mirrorY: boolean): Point2d[];
35
+ static matchingVerticalOrientation(pt1: Plane2dType, pt2: Plane2dType): boolean;
36
+ static matchingHorizontalOrientation(pt1: Plane2dType, pt2: Plane2dType): boolean;
33
37
  static transformPointsToNewPlane(points: Point2d[], src: Plane2d, dst: Plane2d): Point2d[];
34
38
  static transformPointToNewPlane(point: Point2d, src: Plane2d, dst: Plane2d): Point2d;
35
39
  static transformLines(_lines: Line2d[], _src: Plane2d, _dst: Plane2d): Line2d[];
36
40
  static fitCurve(curveDef: Point2d[], inputX: number): number;
37
41
  static midPoint(src: Point2d, other: Point2d): Point2d;
38
42
  static pointAtPercentDistance(src: Point2d, other: Point2d, percent: number): Point2d;
43
+ static validatePoint(pt: Point2d): void;
44
+ static validateMatrix(tx: TransformationMatrix, includeUV?: boolean): void;
45
+ static applyTransform(pt: Point2d[], tx: TransformationMatrix): Point2d[];
46
+ static applyTransformSingle(pt: Point2d, tx: TransformationMatrix): Point2d;
39
47
  }
@@ -1,5 +1,8 @@
1
- import { BooleanRatchet } from '../lang/boolean-ratchet.js';
2
- import { ErrorRatchet } from '../lang/error-ratchet.js';
1
+ import { BooleanRatchet } from "../lang/boolean-ratchet.js";
2
+ import { ErrorRatchet } from "../lang/error-ratchet.js";
3
+ import { RequireRatchet } from "../lang/require-ratchet.js";
4
+ import { MatrixFactory } from "./matrix-factory.js";
5
+ import { Plane2dType } from "./plane-2d-type.js";
3
6
  export class Ratchet2d {
4
7
  constructor() { }
5
8
  static translateToOriginVector(points) {
@@ -18,12 +21,13 @@ export class Ratchet2d {
18
21
  }
19
22
  return rval;
20
23
  }
21
- static minimalContainingPlane(points) {
24
+ static minimalContainingPlane(points, type = Plane2dType.BottomLeft) {
22
25
  let rval = null;
23
26
  if (Ratchet2d.validPoints(points)) {
24
27
  rval = {
25
28
  width: 0,
26
29
  height: 0,
30
+ type: type
27
31
  };
28
32
  points.forEach((p) => {
29
33
  rval.width = Math.max(rval.width, p.x + 1);
@@ -49,7 +53,7 @@ export class Ratchet2d {
49
53
  return !!p1 && !!p2 && (p1.x === p2.x || p1.y === p2.y);
50
54
  }
51
55
  static validPlane(plane) {
52
- return !!plane && !!plane.height && !!plane.width;
56
+ return !!plane && !!plane.height && !!plane.width && !!plane.type;
53
57
  }
54
58
  static validLine(line) {
55
59
  return !!line && Ratchet2d.validPoint(line.p1) && Ratchet2d.validPoint(line.p2) && !Ratchet2d.samePoint(line.p1, line.p2);
@@ -129,7 +133,7 @@ export class Ratchet2d {
129
133
  }
130
134
  return rval;
131
135
  }
132
- static rotateRightAboutOrigin90Degrees(points, times = 1) {
136
+ static rotateRightAboutCartesianOrigin90Degrees(points, times = 1) {
133
137
  let rval = null;
134
138
  let translate = { x: 0, y: 0 };
135
139
  if (Ratchet2d.validPoints(points)) {
@@ -138,14 +142,14 @@ export class Ratchet2d {
138
142
  rval = Ratchet2d.translate(rval, translate);
139
143
  let plane = Ratchet2d.minimalContainingPlane(rval);
140
144
  rval = Ratchet2d.xToY(rval);
141
- plane = { width: plane.height, height: plane.width };
145
+ plane = { width: plane.height, height: plane.width, type: Plane2dType.BottomLeft };
142
146
  translate = { x: translate.y * -1, y: translate.x * -1 };
143
147
  rval = Ratchet2d.mirrorPointsOnPlane(rval, plane, true, false);
144
148
  rval = Ratchet2d.translate(rval, translate);
145
149
  }
146
150
  const timesToRotate = times > 4 ? times % 4 : times;
147
151
  if (timesToRotate > 1) {
148
- rval = Ratchet2d.rotateRightAboutOrigin90Degrees(rval, timesToRotate - 1);
152
+ rval = Ratchet2d.rotateRightAboutCartesianOrigin90Degrees(rval, timesToRotate - 1);
149
153
  }
150
154
  return rval;
151
155
  }
@@ -174,13 +178,7 @@ export class Ratchet2d {
174
178
  static translate(points, xlate) {
175
179
  let rval = null;
176
180
  if (Ratchet2d.validPoints(points) && Ratchet2d.validPoint(xlate)) {
177
- rval = points.map((p) => {
178
- const next = {
179
- x: p.x + xlate.x,
180
- y: p.y + xlate.y,
181
- };
182
- return next;
183
- });
181
+ rval = Ratchet2d.applyTransform(points, MatrixFactory.translate(xlate.x, xlate.y));
184
182
  }
185
183
  return rval;
186
184
  }
@@ -202,15 +200,20 @@ export class Ratchet2d {
202
200
  }
203
201
  return rval;
204
202
  }
203
+ static matchingVerticalOrientation(pt1, pt2) {
204
+ return ((pt1 === Plane2dType.BottomRight || pt1 === Plane2dType.BottomLeft) && (pt2 === Plane2dType.BottomRight || pt2 === Plane2dType.BottomLeft)) ||
205
+ ((pt1 === Plane2dType.TopLeft || pt1 === Plane2dType.TopRight) && (pt2 === Plane2dType.TopLeft || pt2 === Plane2dType.TopRight));
206
+ }
207
+ static matchingHorizontalOrientation(pt1, pt2) {
208
+ return ((pt1 === Plane2dType.BottomRight || pt1 === Plane2dType.TopRight) && (pt2 === Plane2dType.BottomRight || pt2 === Plane2dType.TopRight)) ||
209
+ ((pt1 === Plane2dType.BottomLeft || pt1 === Plane2dType.TopLeft) && (pt2 === Plane2dType.BottomLeft || pt2 === Plane2dType.TopLeft));
210
+ }
205
211
  static transformPointsToNewPlane(points, src, dst) {
206
212
  let rval = null;
207
213
  if (Ratchet2d.validPoints(points) && Ratchet2d.validPlane(src) && Ratchet2d.validPlane(dst)) {
208
214
  const scale = Ratchet2d.scaleVector(src, dst);
209
- rval = points.map((p) => {
210
- const next = { x: p.x * scale.x, y: p.y * scale.y };
211
- return next;
212
- });
213
- rval = Ratchet2d.mirrorPointsOnPlane(rval, dst, dst.rightToLeft !== src.rightToLeft, dst.topToBottom !== src.topToBottom);
215
+ rval = Ratchet2d.applyTransform(points, MatrixFactory.scale(scale.x, scale.y));
216
+ rval = Ratchet2d.mirrorPointsOnPlane(rval, dst, !Ratchet2d.matchingHorizontalOrientation(src.type, dst.type), !Ratchet2d.matchingVerticalOrientation(src.type, dst.type));
214
217
  }
215
218
  return rval;
216
219
  }
@@ -254,5 +257,34 @@ export class Ratchet2d {
254
257
  const deltaY = other.y - src.y;
255
258
  return { x: src.x + deltaX * percent, y: src.y + deltaY * percent };
256
259
  }
260
+ static validatePoint(pt) {
261
+ RequireRatchet.notNullOrUndefined(pt, 'pt');
262
+ RequireRatchet.notNullOrUndefined(pt.x, 'pt.x');
263
+ RequireRatchet.notNullOrUndefined(pt.y, 'pt.y');
264
+ }
265
+ static validateMatrix(tx, includeUV) {
266
+ RequireRatchet.notNullOrUndefined(tx, 'tx');
267
+ RequireRatchet.notNullOrUndefined(tx.a, 'tx.a');
268
+ RequireRatchet.notNullOrUndefined(tx.b, 'tx.b');
269
+ RequireRatchet.notNullOrUndefined(tx.c, 'tx.c');
270
+ RequireRatchet.notNullOrUndefined(tx.d, 'tx.d');
271
+ if (includeUV) {
272
+ RequireRatchet.notNullOrUndefined(tx.u, 'tx.u');
273
+ RequireRatchet.notNullOrUndefined(tx.v, 'tx.v');
274
+ }
275
+ }
276
+ static applyTransform(pt, tx) {
277
+ const rval = pt?.length ? pt.map(p => Ratchet2d.applyTransformSingle(p, tx)) : pt;
278
+ return rval;
279
+ }
280
+ static applyTransformSingle(pt, tx) {
281
+ Ratchet2d.validatePoint(pt);
282
+ Ratchet2d.validateMatrix(tx);
283
+ const rval = {
284
+ x: (tx.a * pt.x) + (tx.b * pt.y) + (tx.u | 0),
285
+ y: (tx.c * pt.x) + (tx.d * pt.y) + (tx.v | 0)
286
+ };
287
+ return rval;
288
+ }
257
289
  }
258
290
  //# sourceMappingURL=ratchet-2d.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ratchet-2d.js","sourceRoot":"","sources":["../../src/2d/ratchet-2d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ratchet-2d.js","sourceRoot":"","sources":["../../src/2d/ratchet-2d.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export interface TransformationMatrix {
2
+ a: number;
3
+ b: number;
4
+ c: number;
5
+ d: number;
6
+ u?: number;
7
+ v?: number;
8
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=transformation-matrix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformation-matrix.js","sourceRoot":"","sources":["../../src/2d/transformation-matrix.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitblit/ratchet-common",
3
- "version": "5.1.606-alpha",
3
+ "version": "5.1.608-alpha",
4
4
  "description": "Common tools for general use",
5
5
  "type": "module",
6
6
  "files": [