@futdevpro/fsm-dynamo 1.9.25 → 1.9.27
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.
- package/build/_collections/utils/math/vector2.util.d.ts +30 -27
- package/build/_collections/utils/math/vector2.util.d.ts.map +1 -1
- package/build/_collections/utils/math/vector2.util.js +13 -9
- package/build/_collections/utils/math/vector2.util.js.map +1 -1
- package/futdevpro-fsm-dynamo-01.09.27.tgz +0 -0
- package/package.json +1 -1
- package/src/_collections/utils/math/vector2.util.ts +43 -38
- package/futdevpro-fsm-dynamo-01.09.25.tgz +0 -0
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { DyFM_Vector2 } from '../../../_models/interfaces/vector2.interface';
|
|
2
2
|
export type DyFM_V2_U = DyFM_Vector2_Util;
|
|
3
|
+
export type DyFM_V2_Util = DyFM_Vector2_Util;
|
|
4
|
+
export type DyFM_Vector2_U = DyFM_Vector2_Util;
|
|
3
5
|
/**
|
|
4
6
|
* The main difference between static class functions and instance functions
|
|
5
7
|
* is that static functions return new Vector2,
|
|
@@ -29,44 +31,45 @@ export declare class DyFM_Vector2_Util implements DyFM_Vector2 {
|
|
|
29
31
|
static readonly down: DyFM_Vector2;
|
|
30
32
|
static readonly right: DyFM_Vector2;
|
|
31
33
|
static readonly left: DyFM_Vector2;
|
|
32
|
-
constructor(
|
|
34
|
+
constructor(xOrXyOrVector?: number | DyFM_Vector2, y?: number);
|
|
33
35
|
constructed?(): boolean;
|
|
34
|
-
static distance(a:
|
|
35
|
-
distance?(to:
|
|
36
|
-
static minus(a:
|
|
37
|
-
minus?(vector:
|
|
38
|
-
static plus(a:
|
|
39
|
-
plus?(vector:
|
|
36
|
+
static distance(a: DyFM_Vector2, b: DyFM_Vector2): number;
|
|
37
|
+
distance?(to: DyFM_Vector2): number;
|
|
38
|
+
static minus(a: DyFM_Vector2, minusB: DyFM_Vector2): DyFM_Vector2_Util;
|
|
39
|
+
minus?(vector: DyFM_Vector2): this;
|
|
40
|
+
static plus(a: DyFM_Vector2, plusB: DyFM_Vector2): DyFM_Vector2_Util;
|
|
41
|
+
plus?(vector: DyFM_Vector2): this;
|
|
40
42
|
static readonly add: typeof DyFM_Vector2_Util.plus;
|
|
41
|
-
readonly add?: (vector:
|
|
43
|
+
readonly add?: (vector: DyFM_Vector2) => this;
|
|
42
44
|
/** returns new multiplied Vector2 */
|
|
43
|
-
static multiply(v:
|
|
44
|
-
multiply?(n: number):
|
|
45
|
+
static multiply(v: DyFM_Vector2, n: number): DyFM_Vector2_Util;
|
|
46
|
+
multiply?(n: number): this;
|
|
45
47
|
/** returns new divided Vector2 */
|
|
46
|
-
static divide(v:
|
|
48
|
+
static divide(v: DyFM_Vector2, divideBy: number): DyFM_Vector2_Util;
|
|
47
49
|
divide?(n: number): this;
|
|
48
|
-
static negative(v:
|
|
50
|
+
static negative(v: DyFM_Vector2): DyFM_Vector2_Util;
|
|
51
|
+
/** this returns a new instance */
|
|
49
52
|
getNegative?(): DyFM_Vector2_Util;
|
|
50
53
|
negate?(): this;
|
|
51
|
-
static rebase(v:
|
|
52
|
-
rebase?(baseFrom:
|
|
53
|
-
static rotate(vector:
|
|
54
|
-
static rotateRad(vector:
|
|
54
|
+
static rebase(v: DyFM_Vector2, baseFrom: DyFM_Vector2, baseTo: DyFM_Vector2): DyFM_Vector2_Util;
|
|
55
|
+
rebase?(baseFrom: DyFM_Vector2, baseTo: DyFM_Vector2): this;
|
|
56
|
+
static rotate(vector: DyFM_Vector2, angle: number): DyFM_Vector2_Util;
|
|
57
|
+
static rotateRad(vector: DyFM_Vector2, rad: number): DyFM_Vector2_Util;
|
|
55
58
|
rotate?(angle: number): this;
|
|
56
59
|
rotateRad?(rad: number): this;
|
|
57
60
|
newValues(newV: DyFM_Vector2_Util): this;
|
|
58
61
|
newXY?(newX: number, newY: number): this;
|
|
59
|
-
static angle(from:
|
|
60
|
-
static angleRad(from:
|
|
61
|
-
angle?(from:
|
|
62
|
-
static deg(vector:
|
|
63
|
-
static rad(vector:
|
|
62
|
+
static angle(from: DyFM_Vector2, to: DyFM_Vector2): number;
|
|
63
|
+
static angleRad(from: DyFM_Vector2, to: DyFM_Vector2): number;
|
|
64
|
+
angle?(from: DyFM_Vector2, to: DyFM_Vector2): number;
|
|
65
|
+
static deg(vector: DyFM_Vector2): number;
|
|
66
|
+
static rad(vector: DyFM_Vector2): number;
|
|
64
67
|
deg?(): number;
|
|
65
|
-
static floor(v:
|
|
68
|
+
static floor(v: DyFM_Vector2): DyFM_Vector2_Util;
|
|
66
69
|
floor?(): DyFM_Vector2_Util;
|
|
67
|
-
static direction(from:
|
|
68
|
-
direction?(to:
|
|
69
|
-
static normalize(v:
|
|
70
|
+
static direction(from: DyFM_Vector2, to: DyFM_Vector2): DyFM_Vector2_Util;
|
|
71
|
+
direction?(to: DyFM_Vector2): DyFM_Vector2_Util;
|
|
72
|
+
static normalize(v: DyFM_Vector2): DyFM_Vector2_Util;
|
|
70
73
|
normalize?(): void;
|
|
71
74
|
/**
|
|
72
75
|
* this will return a new instance,
|
|
@@ -75,8 +78,8 @@ export declare class DyFM_Vector2_Util implements DyFM_Vector2 {
|
|
|
75
78
|
normalized?(): DyFM_Vector2_Util;
|
|
76
79
|
private calcMagnitude;
|
|
77
80
|
clone?(): DyFM_Vector2_Util;
|
|
78
|
-
static isChanged(a:
|
|
79
|
-
static abs(v:
|
|
81
|
+
static isChanged(a: DyFM_Vector2, b: DyFM_Vector2): boolean;
|
|
82
|
+
static abs(v: DyFM_Vector2): DyFM_Vector2_Util;
|
|
80
83
|
abs?(): this;
|
|
81
84
|
get(): DyFM_Vector2;
|
|
82
85
|
getVector2: () => DyFM_Vector2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector2.util.d.ts","sourceRoot":"","sources":["../../../../src/_collections/utils/math/vector2.util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAI7E,MAAM,MAAM,SAAS,GAAG,iBAAiB,CAAC;AAC1C;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,YAAY;IACpD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAQ;IAEvC,OAAO,CAAC,EAAE,CAAa;IACvB;;;SAGK;IACL,IAAI,CAAC,CAAE,KAAK,EAAE,MAAM,EAInB;IACD,IAAI,CAAC,IAAK,MAAM,CAEf;IAED,OAAO,CAAC,EAAE,CAAa;IACvB;;;SAGK;IACL,IAAI,CAAC,CAAE,KAAK,EAAE,MAAM,EAInB;IACD,IAAI,CAAC,IAAK,MAAM,CAEf;IAED,OAAO,CAAC,UAAU,CAAa;IAC/B,IAAI,SAAS,IAAK,MAAM,CAEvB;IAGD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAkB;IACpD,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAkB;IAClD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAmB;IACrD,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAkB;IACrD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAmB;gBAGnD,
|
|
1
|
+
{"version":3,"file":"vector2.util.d.ts","sourceRoot":"","sources":["../../../../src/_collections/utils/math/vector2.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,18 +44,20 @@ class DyFM_Vector2_Util {
|
|
|
44
44
|
static down = { x: 0, y: -1 };
|
|
45
45
|
static right = { x: 1, y: 0 };
|
|
46
46
|
static left = { x: -1, y: 0 };
|
|
47
|
-
constructor(
|
|
48
|
-
if (
|
|
49
|
-
|
|
47
|
+
constructor(xOrXyOrVector = 0, y) {
|
|
48
|
+
if (typeof xOrXyOrVector === 'object' &&
|
|
49
|
+
xOrXyOrVector.x !== undefined &&
|
|
50
|
+
xOrXyOrVector.y !== undefined) {
|
|
51
|
+
const v = xOrXyOrVector;
|
|
50
52
|
this._x = v.x;
|
|
51
53
|
this._y = v.y;
|
|
52
54
|
}
|
|
53
55
|
else if (y === undefined) {
|
|
54
|
-
this._x =
|
|
55
|
-
this._y =
|
|
56
|
+
this._x = xOrXyOrVector;
|
|
57
|
+
this._y = xOrXyOrVector;
|
|
56
58
|
}
|
|
57
59
|
else {
|
|
58
|
-
this._x =
|
|
60
|
+
this._x = xOrXyOrVector;
|
|
59
61
|
this._y = y;
|
|
60
62
|
}
|
|
61
63
|
this.calcMagnitude();
|
|
@@ -73,7 +75,7 @@ class DyFM_Vector2_Util {
|
|
|
73
75
|
return this.plus(a, this.negative(minusB));
|
|
74
76
|
}
|
|
75
77
|
minus(vector) {
|
|
76
|
-
this.
|
|
78
|
+
this.plus(DyFM_Vector2_Util.negative(vector));
|
|
77
79
|
return this;
|
|
78
80
|
}
|
|
79
81
|
static plus(a, plusB) {
|
|
@@ -90,7 +92,7 @@ class DyFM_Vector2_Util {
|
|
|
90
92
|
return new DyFM_Vector2_Util(v.x * n, v.y * n);
|
|
91
93
|
}
|
|
92
94
|
multiply(n) {
|
|
93
|
-
this.newValues(DyFM_Vector2_Util.multiply(this, n));
|
|
95
|
+
return this.newValues(DyFM_Vector2_Util.multiply(this, n));
|
|
94
96
|
}
|
|
95
97
|
/** returns new divided Vector2 */
|
|
96
98
|
static divide(v, divideBy) {
|
|
@@ -103,6 +105,7 @@ class DyFM_Vector2_Util {
|
|
|
103
105
|
static negative(v) {
|
|
104
106
|
return new DyFM_Vector2_Util(-v.x, -v.y);
|
|
105
107
|
}
|
|
108
|
+
/** this returns a new instance */
|
|
106
109
|
getNegative() {
|
|
107
110
|
return DyFM_Vector2_Util.negative(this);
|
|
108
111
|
}
|
|
@@ -179,7 +182,8 @@ class DyFM_Vector2_Util {
|
|
|
179
182
|
return DyFM_Vector2_Util.direction(this, to);
|
|
180
183
|
}
|
|
181
184
|
static normalize(v) {
|
|
182
|
-
|
|
185
|
+
const v_U = new DyFM_Vector2_Util(v);
|
|
186
|
+
return v_U.multiply(1 / v_U.magintude);
|
|
183
187
|
}
|
|
184
188
|
normalize() {
|
|
185
189
|
this.newValues(DyFM_Vector2_Util.normalize(this));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector2.util.js","sourceRoot":"","sources":["../../../../src/_collections/utils/math/vector2.util.ts"],"names":[],"mappings":";;;AAGA,2DAAwD;
|
|
1
|
+
{"version":3,"file":"vector2.util.js","sourceRoot":"","sources":["../../../../src/_collections/utils/math/vector2.util.ts"],"names":[],"mappings":"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"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@futdevpro/fsm-dynamo",
|
|
3
|
-
"version": "01.09.
|
|
3
|
+
"version": "01.09.27",
|
|
4
4
|
"description": "Full Stack Model Collection for Dynamic (NodeJS-Typescript) Framework called Dynamo, by Future Development Ltd.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"prep": "npm i pnpm -g && npm i rimraf nodemon -g",
|
|
@@ -4,6 +4,8 @@ import { DyFM_Vector2 } from '../../../_models/interfaces/vector2.interface';
|
|
|
4
4
|
import { DyFM_Trigonometry } from './trigonometry.util';
|
|
5
5
|
|
|
6
6
|
export type DyFM_V2_U = DyFM_Vector2_Util;
|
|
7
|
+
export type DyFM_V2_Util = DyFM_Vector2_Util;
|
|
8
|
+
export type DyFM_Vector2_U = DyFM_Vector2_Util;
|
|
7
9
|
/**
|
|
8
10
|
* The main difference between static class functions and instance functions
|
|
9
11
|
* is that static functions return new Vector2,
|
|
@@ -54,19 +56,23 @@ export class DyFM_Vector2_Util implements DyFM_Vector2 {
|
|
|
54
56
|
static readonly left: DyFM_Vector2 = { x: -1, y: 0 };
|
|
55
57
|
|
|
56
58
|
constructor(
|
|
57
|
-
|
|
59
|
+
xOrXyOrVector: number | DyFM_Vector2 = 0,
|
|
58
60
|
y?: number
|
|
59
61
|
) {
|
|
60
|
-
if (
|
|
61
|
-
|
|
62
|
+
if (
|
|
63
|
+
typeof xOrXyOrVector === 'object' &&
|
|
64
|
+
xOrXyOrVector.x !== undefined &&
|
|
65
|
+
xOrXyOrVector.y !== undefined
|
|
66
|
+
) {
|
|
67
|
+
const v = xOrXyOrVector as DyFM_Vector2;
|
|
62
68
|
|
|
63
69
|
this._x = v.x;
|
|
64
70
|
this._y = v.y;
|
|
65
71
|
} else if (y === undefined) {
|
|
66
|
-
this._x =
|
|
67
|
-
this._y =
|
|
72
|
+
this._x = xOrXyOrVector as number;
|
|
73
|
+
this._y = xOrXyOrVector as number;
|
|
68
74
|
} else {
|
|
69
|
-
this._x =
|
|
75
|
+
this._x = xOrXyOrVector as number;
|
|
70
76
|
this._y = y;
|
|
71
77
|
}
|
|
72
78
|
|
|
@@ -77,26 +83,26 @@ export class DyFM_Vector2_Util implements DyFM_Vector2 {
|
|
|
77
83
|
return true;
|
|
78
84
|
}
|
|
79
85
|
|
|
80
|
-
static distance(a:
|
|
86
|
+
static distance(a: DyFM_Vector2, b: DyFM_Vector2): number {
|
|
81
87
|
return this.minus(a, b).magintude;
|
|
82
88
|
}
|
|
83
|
-
distance?(to:
|
|
89
|
+
distance?(to: DyFM_Vector2): number {
|
|
84
90
|
return DyFM_Vector2_Util.distance(this, to);
|
|
85
91
|
}
|
|
86
92
|
|
|
87
|
-
static minus(a:
|
|
93
|
+
static minus(a: DyFM_Vector2, minusB: DyFM_Vector2): DyFM_Vector2_Util {
|
|
88
94
|
return this.plus(a, this.negative(minusB));
|
|
89
95
|
}
|
|
90
|
-
minus?(vector:
|
|
91
|
-
this.
|
|
96
|
+
minus?(vector: DyFM_Vector2): this {
|
|
97
|
+
this.plus(DyFM_Vector2_Util.negative(vector));
|
|
92
98
|
|
|
93
99
|
return this;
|
|
94
100
|
}
|
|
95
101
|
|
|
96
|
-
static plus(a:
|
|
102
|
+
static plus(a: DyFM_Vector2, plusB: DyFM_Vector2): DyFM_Vector2_Util {
|
|
97
103
|
return new DyFM_Vector2_Util(a.x + plusB.x, a.y + plusB.y);
|
|
98
104
|
}
|
|
99
|
-
plus?(vector:
|
|
105
|
+
plus?(vector: DyFM_Vector2): this {
|
|
100
106
|
this.newValues(DyFM_Vector2_Util.plus(this, vector));
|
|
101
107
|
|
|
102
108
|
return this;
|
|
@@ -105,15 +111,15 @@ export class DyFM_Vector2_Util implements DyFM_Vector2 {
|
|
|
105
111
|
readonly add? = this.plus;
|
|
106
112
|
|
|
107
113
|
/** returns new multiplied Vector2 */
|
|
108
|
-
static multiply(v:
|
|
114
|
+
static multiply(v: DyFM_Vector2, n: number): DyFM_Vector2_Util {
|
|
109
115
|
return new DyFM_Vector2_Util(v.x * n, v.y * n);
|
|
110
116
|
}
|
|
111
|
-
multiply?(n: number):
|
|
112
|
-
this.newValues(DyFM_Vector2_Util.multiply(this, n));
|
|
117
|
+
multiply?(n: number): this {
|
|
118
|
+
return this.newValues(DyFM_Vector2_Util.multiply(this, n));
|
|
113
119
|
}
|
|
114
120
|
|
|
115
121
|
/** returns new divided Vector2 */
|
|
116
|
-
static divide(v:
|
|
122
|
+
static divide(v: DyFM_Vector2, divideBy: number): DyFM_Vector2_Util {
|
|
117
123
|
return new DyFM_Vector2_Util(v.x / divideBy, v.y / divideBy);
|
|
118
124
|
}
|
|
119
125
|
divide?(n: number): this {
|
|
@@ -122,9 +128,10 @@ export class DyFM_Vector2_Util implements DyFM_Vector2 {
|
|
|
122
128
|
return this;
|
|
123
129
|
}
|
|
124
130
|
|
|
125
|
-
static negative(v:
|
|
131
|
+
static negative(v: DyFM_Vector2): DyFM_Vector2_Util {
|
|
126
132
|
return new DyFM_Vector2_Util(-v.x, -v.y);
|
|
127
133
|
}
|
|
134
|
+
/** this returns a new instance */
|
|
128
135
|
getNegative?(): DyFM_Vector2_Util {
|
|
129
136
|
return DyFM_Vector2_Util.negative(this);
|
|
130
137
|
}
|
|
@@ -134,25 +141,21 @@ export class DyFM_Vector2_Util implements DyFM_Vector2 {
|
|
|
134
141
|
return this;
|
|
135
142
|
}
|
|
136
143
|
|
|
137
|
-
static rebase(
|
|
138
|
-
v: DyFM_Vector2_Util,
|
|
139
|
-
baseFrom: DyFM_Vector2_Util,
|
|
140
|
-
baseTo: DyFM_Vector2_Util
|
|
141
|
-
): DyFM_Vector2_Util {
|
|
144
|
+
static rebase(v: DyFM_Vector2, baseFrom: DyFM_Vector2, baseTo: DyFM_Vector2): DyFM_Vector2_Util {
|
|
142
145
|
return this.plus(v, this.minus(baseTo, baseFrom));
|
|
143
146
|
}
|
|
144
|
-
rebase?(baseFrom:
|
|
147
|
+
rebase?(baseFrom: DyFM_Vector2, baseTo: DyFM_Vector2): this {
|
|
145
148
|
this.newValues(DyFM_Vector2_Util.rebase(this, baseFrom, baseTo));
|
|
146
149
|
|
|
147
150
|
return this;
|
|
148
151
|
}
|
|
149
152
|
|
|
150
|
-
static rotate(vector:
|
|
153
|
+
static rotate(vector: DyFM_Vector2, angle: number): DyFM_Vector2_Util {
|
|
151
154
|
const rad = DyFM_Trigonometry.angleToRadians(angle);
|
|
152
155
|
|
|
153
156
|
return this.rotateRad(vector, rad);
|
|
154
157
|
}
|
|
155
|
-
static rotateRad(vector:
|
|
158
|
+
static rotateRad(vector: DyFM_Vector2, rad: number): DyFM_Vector2_Util {
|
|
156
159
|
const cos = Math.cos(rad);
|
|
157
160
|
const sin = Math.sin(rad);
|
|
158
161
|
const newX = (vector.x * cos) - (vector.y * sin);
|
|
@@ -186,26 +189,26 @@ export class DyFM_Vector2_Util implements DyFM_Vector2 {
|
|
|
186
189
|
}
|
|
187
190
|
|
|
188
191
|
//// AI-ed UNCHECKED
|
|
189
|
-
static angle(from:
|
|
192
|
+
static angle(from: DyFM_Vector2, to: DyFM_Vector2): number {
|
|
190
193
|
return DyFM_Trigonometry.radiansToAngle(DyFM_Vector2_Util.angleRad(from, to));
|
|
191
194
|
}
|
|
192
|
-
static angleRad(from:
|
|
195
|
+
static angleRad(from: DyFM_Vector2, to: DyFM_Vector2): number {
|
|
193
196
|
return Math.atan2(to.y - from.y, to.x - from.x);
|
|
194
197
|
}
|
|
195
|
-
angle?(from:
|
|
198
|
+
angle?(from: DyFM_Vector2, to: DyFM_Vector2): number {
|
|
196
199
|
return DyFM_Vector2_Util.angle(from, to);
|
|
197
200
|
}
|
|
198
|
-
static deg(vector:
|
|
201
|
+
static deg(vector: DyFM_Vector2): number {
|
|
199
202
|
return DyFM_Trigonometry.radiansToAngle(DyFM_Vector2_Util.rad(vector));
|
|
200
203
|
}
|
|
201
|
-
static rad(vector:
|
|
204
|
+
static rad(vector: DyFM_Vector2): number {
|
|
202
205
|
return Math.atan2(vector.y, vector.x);
|
|
203
206
|
}
|
|
204
207
|
deg?(): number {
|
|
205
208
|
return DyFM_Vector2_Util.deg(this);
|
|
206
209
|
}
|
|
207
210
|
|
|
208
|
-
static floor(v:
|
|
211
|
+
static floor(v: DyFM_Vector2): DyFM_Vector2_Util {
|
|
209
212
|
return new DyFM_Vector2_Util(Math.floor(v.x), Math.floor(v.y));
|
|
210
213
|
}
|
|
211
214
|
floor?(): DyFM_Vector2_Util {
|
|
@@ -213,15 +216,17 @@ export class DyFM_Vector2_Util implements DyFM_Vector2 {
|
|
|
213
216
|
}
|
|
214
217
|
/////
|
|
215
218
|
|
|
216
|
-
static direction(from:
|
|
219
|
+
static direction(from: DyFM_Vector2, to: DyFM_Vector2): DyFM_Vector2_Util {
|
|
217
220
|
return DyFM_Vector2_Util.minus(to, from);
|
|
218
221
|
}
|
|
219
|
-
direction?(to:
|
|
222
|
+
direction?(to: DyFM_Vector2): DyFM_Vector2_Util {
|
|
220
223
|
return DyFM_Vector2_Util.direction(this, to);
|
|
221
224
|
}
|
|
222
225
|
|
|
223
|
-
static normalize(v:
|
|
224
|
-
|
|
226
|
+
static normalize(v: DyFM_Vector2): DyFM_Vector2_Util {
|
|
227
|
+
const v_U = new DyFM_Vector2_Util(v);
|
|
228
|
+
|
|
229
|
+
return v_U.multiply(1 / v_U.magintude);
|
|
225
230
|
}
|
|
226
231
|
normalize?(): void {
|
|
227
232
|
this.newValues(DyFM_Vector2_Util.normalize(this));
|
|
@@ -242,11 +247,11 @@ export class DyFM_Vector2_Util implements DyFM_Vector2 {
|
|
|
242
247
|
return new DyFM_Vector2_Util(this._x, this._y);
|
|
243
248
|
}
|
|
244
249
|
|
|
245
|
-
static isChanged(a:
|
|
250
|
+
static isChanged(a: DyFM_Vector2, b: DyFM_Vector2): boolean {
|
|
246
251
|
return a.x !== b.x || a.y !== b.y;
|
|
247
252
|
}
|
|
248
253
|
|
|
249
|
-
static abs(v:
|
|
254
|
+
static abs(v: DyFM_Vector2): DyFM_Vector2_Util {
|
|
250
255
|
return new DyFM_Vector2_Util(Math.abs(v.x), Math.abs(v.y));
|
|
251
256
|
}
|
|
252
257
|
abs?(): this {
|
|
Binary file
|