@configura/web-core 2.2.0-alpha.1 → 2.2.0-alpha.2

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 (173) hide show
  1. package/.eslintrc.json +5 -5
  2. package/LICENSE +201 -201
  3. package/README.md +1 -1
  4. package/dist/cm/basic/Color.d.ts +16 -16
  5. package/dist/cm/basic/Color.js +18 -18
  6. package/dist/cm/basic/ColorF.d.ts +9 -9
  7. package/dist/cm/basic/ColorF.js +10 -10
  8. package/dist/cm/basic/boolean.d.ts +2 -2
  9. package/dist/cm/basic/boolean.js +11 -11
  10. package/dist/cm/basic/number.d.ts +3 -3
  11. package/dist/cm/basic/number.js +18 -18
  12. package/dist/cm/basic/string.d.ts +2 -2
  13. package/dist/cm/basic/string.js +11 -11
  14. package/dist/cm/core3D/ATriMeshF.d.ts +96 -96
  15. package/dist/cm/core3D/ATriMeshF.js +197 -197
  16. package/dist/cm/core3D/GMaterial3D.d.ts +62 -62
  17. package/dist/cm/core3D/GMaterial3D.js +112 -112
  18. package/dist/cm/core3D/GMaterialClassic.d.ts +55 -55
  19. package/dist/cm/core3D/GMaterialClassic.js +171 -171
  20. package/dist/cm/core3D/GMaterialPBR.d.ts +78 -73
  21. package/dist/cm/core3D/GMaterialPBR.js +320 -314
  22. package/dist/cm/core3D/MultiGMaterial3D.d.ts +8 -8
  23. package/dist/cm/core3D/MultiGMaterial3D.js +17 -17
  24. package/dist/cm/core3D/uvmapper/UVMapEnv.d.ts +19 -19
  25. package/dist/cm/core3D/uvmapper/UVMapEnv.js +47 -47
  26. package/dist/cm/core3D/uvmapper/UVMapper.d.ts +41 -41
  27. package/dist/cm/core3D/uvmapper/UVMapper.js +94 -94
  28. package/dist/cm/core3D/uvmapper/UVMapperBox.d.ts +4 -4
  29. package/dist/cm/core3D/uvmapper/UVMapperBox.js +181 -181
  30. package/dist/cm/core3D/uvmapper/UVMapperCylinder.d.ts +9 -9
  31. package/dist/cm/core3D/uvmapper/UVMapperCylinder.js +96 -96
  32. package/dist/cm/core3D/uvmapper/UVMapperPlane.d.ts +3 -3
  33. package/dist/cm/core3D/uvmapper/UVMapperPlane.js +84 -84
  34. package/dist/cm/core3D/uvmapper/UVTransformer.d.ts +5 -5
  35. package/dist/cm/core3D/uvmapper/UVTransformer.js +5 -5
  36. package/dist/cm/core3D/uvmapper/instantiateUVMapper.d.ts +3 -3
  37. package/dist/cm/core3D/uvmapper/instantiateUVMapper.js +4 -4
  38. package/dist/cm/format/cmsym/InvalidationEnv.d.ts +9 -9
  39. package/dist/cm/format/cmsym/InvalidationEnv.js +13 -13
  40. package/dist/cm/format/cmsym/SymImportEnv.d.ts +9 -9
  41. package/dist/cm/format/cmsym/SymImportEnv.js +9 -9
  42. package/dist/cm/format/cmsym/SymInv.d.ts +8 -8
  43. package/dist/cm/format/cmsym/SymInv.js +17 -17
  44. package/dist/cm/format/cmsym/SymNode.d.ts +94 -94
  45. package/dist/cm/format/cmsym/SymNode.js +652 -652
  46. package/dist/cm/format/cmsym/components/SymBox.d.ts +15 -15
  47. package/dist/cm/format/cmsym/components/SymBox.js +39 -39
  48. package/dist/cm/format/cmsym/components/SymComponent.d.ts +29 -29
  49. package/dist/cm/format/cmsym/components/SymComponent.js +56 -56
  50. package/dist/cm/format/cmsym/components/SymConnector.d.ts +5 -5
  51. package/dist/cm/format/cmsym/components/SymConnector.js +10 -10
  52. package/dist/cm/format/cmsym/components/SymDexObj.d.ts +11 -11
  53. package/dist/cm/format/cmsym/components/SymDexObj.js +10 -10
  54. package/dist/cm/format/cmsym/components/SymGFX.d.ts +11 -11
  55. package/dist/cm/format/cmsym/components/SymGFX.js +20 -20
  56. package/dist/cm/format/cmsym/components/SymGMaterial.d.ts +19 -19
  57. package/dist/cm/format/cmsym/components/SymGMaterial.js +88 -88
  58. package/dist/cm/format/cmsym/components/SymGMaterialSelector.d.ts +17 -17
  59. package/dist/cm/format/cmsym/components/SymGMaterialSelector.js +22 -22
  60. package/dist/cm/format/cmsym/components/SymGetMeshEnv.d.ts +9 -9
  61. package/dist/cm/format/cmsym/components/SymGetMeshEnv.js +9 -9
  62. package/dist/cm/format/cmsym/components/SymLODGroup.d.ts +9 -9
  63. package/dist/cm/format/cmsym/components/SymLODGroup.js +13 -13
  64. package/dist/cm/format/cmsym/components/SymLight.d.ts +8 -8
  65. package/dist/cm/format/cmsym/components/SymLight.js +10 -10
  66. package/dist/cm/format/cmsym/components/SymLines2D.d.ts +5 -5
  67. package/dist/cm/format/cmsym/components/SymLines2D.js +7 -7
  68. package/dist/cm/format/cmsym/components/SymMeasure.d.ts +33 -33
  69. package/dist/cm/format/cmsym/components/SymMeasure.js +149 -149
  70. package/dist/cm/format/cmsym/components/SymMesh.d.ts +29 -29
  71. package/dist/cm/format/cmsym/components/SymMesh.js +130 -130
  72. package/dist/cm/format/cmsym/components/SymMeshLight.d.ts +8 -8
  73. package/dist/cm/format/cmsym/components/SymMeshLight.js +10 -10
  74. package/dist/cm/format/cmsym/components/SymMultiSelector.d.ts +13 -13
  75. package/dist/cm/format/cmsym/components/SymMultiSelector.js +48 -48
  76. package/dist/cm/format/cmsym/components/SymParams.d.ts +16 -16
  77. package/dist/cm/format/cmsym/components/SymParams.js +58 -58
  78. package/dist/cm/format/cmsym/components/SymPlane.d.ts +15 -15
  79. package/dist/cm/format/cmsym/components/SymPlane.js +30 -30
  80. package/dist/cm/format/cmsym/components/SymPlaneDivider.d.ts +4 -4
  81. package/dist/cm/format/cmsym/components/SymPlaneDivider.js +7 -7
  82. package/dist/cm/format/cmsym/components/SymPrimitive2D.d.ts +3 -3
  83. package/dist/cm/format/cmsym/components/SymPrimitive2D.js +3 -3
  84. package/dist/cm/format/cmsym/components/SymProgs.d.ts +32 -32
  85. package/dist/cm/format/cmsym/components/SymProgs.js +120 -120
  86. package/dist/cm/format/cmsym/components/SymProps.d.ts +54 -54
  87. package/dist/cm/format/cmsym/components/SymProps.js +171 -171
  88. package/dist/cm/format/cmsym/components/SymRep.d.ts +13 -13
  89. package/dist/cm/format/cmsym/components/SymRep.js +28 -28
  90. package/dist/cm/format/cmsym/components/SymReps.d.ts +36 -36
  91. package/dist/cm/format/cmsym/components/SymReps.js +230 -230
  92. package/dist/cm/format/cmsym/components/SymShape.d.ts +10 -10
  93. package/dist/cm/format/cmsym/components/SymShape.js +17 -17
  94. package/dist/cm/format/cmsym/components/SymSphere.d.ts +18 -18
  95. package/dist/cm/format/cmsym/components/SymSphere.js +33 -33
  96. package/dist/cm/format/cmsym/components/SymSpotlight.d.ts +8 -8
  97. package/dist/cm/format/cmsym/components/SymSpotlight.js +10 -10
  98. package/dist/cm/format/cmsym/components/SymTags.d.ts +11 -11
  99. package/dist/cm/format/cmsym/components/SymTags.js +20 -20
  100. package/dist/cm/format/cmsym/components/SymText2D.d.ts +5 -5
  101. package/dist/cm/format/cmsym/components/SymText2D.js +8 -8
  102. package/dist/cm/format/cmsym/components/SymText3D.d.ts +5 -5
  103. package/dist/cm/format/cmsym/components/SymText3D.js +8 -8
  104. package/dist/cm/format/cmsym/components/SymTransform.d.ts +23 -23
  105. package/dist/cm/format/cmsym/components/SymTransform.js +101 -101
  106. package/dist/cm/format/cmsym/components/SymUVMapper.d.ts +13 -13
  107. package/dist/cm/format/cmsym/components/SymUVMapper.js +50 -50
  108. package/dist/cm/format/cmsym/components/instantiate.d.ts +2 -2
  109. package/dist/cm/format/cmsym/components/instantiate.js +121 -121
  110. package/dist/cm/format/cmsym/components/legacy.d.ts +7 -7
  111. package/dist/cm/format/cmsym/components/legacy.js +27 -27
  112. package/dist/cm/format/cmsym/components/mesh.d.ts +8 -8
  113. package/dist/cm/format/cmsym/components/mesh.js +28 -28
  114. package/dist/cm/format/cmsym/invalidation.d.ts +4 -4
  115. package/dist/cm/format/cmsym/invalidation.js +72 -72
  116. package/dist/cm/format/dex/DexIRef.d.ts +9 -9
  117. package/dist/cm/format/dex/DexIRef.js +18 -18
  118. package/dist/cm/format/dex/DexInt.d.ts +11 -11
  119. package/dist/cm/format/dex/DexInt.js +18 -18
  120. package/dist/cm/format/dex/DexInternalizedXRef.d.ts +19 -19
  121. package/dist/cm/format/dex/DexInternalizedXRef.js +65 -65
  122. package/dist/cm/format/dex/DexLoader.d.ts +8 -8
  123. package/dist/cm/format/dex/DexLoader.js +12 -12
  124. package/dist/cm/format/dex/DexManager.d.ts +20 -20
  125. package/dist/cm/format/dex/DexManager.js +78 -78
  126. package/dist/cm/format/dex/DexObj.d.ts +15 -15
  127. package/dist/cm/format/dex/DexObj.js +86 -86
  128. package/dist/cm/format/dex/DexReader.d.ts +90 -90
  129. package/dist/cm/format/dex/DexReader.js +532 -532
  130. package/dist/cm/format/dex/DexRef.d.ts +6 -6
  131. package/dist/cm/format/dex/DexRef.js +8 -8
  132. package/dist/cm/format/dex/DexReplacedXRefs.d.ts +9 -9
  133. package/dist/cm/format/dex/DexReplacedXRefs.js +22 -22
  134. package/dist/cm/format/dex/DexURL.d.ts +4 -4
  135. package/dist/cm/format/dex/DexURL.js +5 -5
  136. package/dist/cm/format/dex/DexVersion.d.ts +15 -15
  137. package/dist/cm/format/dex/DexVersion.js +53 -53
  138. package/dist/cm/format/dex/DexXRef.d.ts +18 -18
  139. package/dist/cm/format/dex/DexXRef.js +51 -51
  140. package/dist/cm/format/dex/DexXRefTargetFilter.d.ts +4 -4
  141. package/dist/cm/format/dex/DexXRefTargetFilter.js +5 -5
  142. package/dist/cm/geometry/Angle.d.ts +9 -9
  143. package/dist/cm/geometry/Angle.js +18 -18
  144. package/dist/cm/geometry/AngleF.d.ts +5 -5
  145. package/dist/cm/geometry/AngleF.js +8 -8
  146. package/dist/cm/geometry/Box.d.ts +7 -7
  147. package/dist/cm/geometry/Box.js +9 -9
  148. package/dist/cm/geometry/DetailMask.d.ts +37 -37
  149. package/dist/cm/geometry/DetailMask.js +114 -114
  150. package/dist/cm/geometry/LayerExpr.d.ts +2 -2
  151. package/dist/cm/geometry/LayerExpr.js +2 -2
  152. package/dist/cm/geometry/Matrix22.d.ts +7 -7
  153. package/dist/cm/geometry/Matrix22.js +9 -9
  154. package/dist/cm/geometry/Matrix33.d.ts +42 -42
  155. package/dist/cm/geometry/Matrix33.js +124 -124
  156. package/dist/cm/geometry/Orientation.d.ts +7 -7
  157. package/dist/cm/geometry/Orientation.js +7 -7
  158. package/dist/cm/geometry/Plane.d.ts +8 -8
  159. package/dist/cm/geometry/Plane.js +14 -14
  160. package/dist/cm/geometry/Point.d.ts +21 -21
  161. package/dist/cm/geometry/Point.js +65 -65
  162. package/dist/cm/geometry/Point2D.d.ts +9 -9
  163. package/dist/cm/geometry/Point2D.js +23 -23
  164. package/dist/cm/geometry/PointF.d.ts +11 -11
  165. package/dist/cm/geometry/PointF.js +27 -27
  166. package/dist/cm/geometry/Transform.d.ts +11 -11
  167. package/dist/cm/geometry/Transform.js +61 -61
  168. package/dist/cm/geometry/Transform2D.d.ts +7 -7
  169. package/dist/cm/geometry/Transform2D.js +6 -6
  170. package/dist/cm/io/Semver.d.ts +18 -18
  171. package/dist/cm/io/Semver.js +61 -61
  172. package/dist/index.js +1 -1
  173. package/package.json +4 -4
@@ -1,114 +1,114 @@
1
- /** The CmSym specification states that only low, medium, high, super and base are allowed. */
2
- var DetailLevel;
3
- (function (DetailLevel) {
4
- DetailLevel[DetailLevel["lousy"] = 0] = "lousy";
5
- DetailLevel[DetailLevel["low"] = 1] = "low";
6
- DetailLevel[DetailLevel["medium"] = 2] = "medium";
7
- DetailLevel[DetailLevel["high"] = 3] = "high";
8
- DetailLevel[DetailLevel["super"] = 4] = "super";
9
- DetailLevel[DetailLevel["outline"] = 5] = "outline";
10
- DetailLevel[DetailLevel["base"] = 10] = "base";
11
- DetailLevel[DetailLevel["invisible"] = 254] = "invisible";
12
- DetailLevel[DetailLevel["undefined"] = 255] = "undefined";
13
- })(DetailLevel || (DetailLevel = {}));
14
- export function detailLevelFromString(detailLevel) {
15
- switch (detailLevel) {
16
- case "lousy":
17
- return DetailLevel.lousy;
18
- case "low":
19
- return DetailLevel.low;
20
- case "medium":
21
- return DetailLevel.medium;
22
- case "high":
23
- return DetailLevel.high;
24
- case "super":
25
- return DetailLevel.super;
26
- case "outline":
27
- return DetailLevel.outline;
28
- case "base":
29
- return DetailLevel.base;
30
- case "invisible":
31
- return DetailLevel.invisible;
32
- case "undefined":
33
- default:
34
- return DetailLevel.undefined;
35
- }
36
- }
37
- // tslint:disable:no-bitwise
38
- class DetailMask {
39
- constructor(mask = 0) {
40
- this.mask = mask;
41
- }
42
- static withDetailSet(details) {
43
- const mask = new this();
44
- mask.includeSet(details);
45
- return mask;
46
- }
47
- static allSymReps() {
48
- return new this(527);
49
- }
50
- include(mask) {
51
- this.mask = this.mask | mask.mask;
52
- }
53
- includeSet(details) {
54
- details.forEach((level) => {
55
- this.set(level);
56
- });
57
- }
58
- set(level) {
59
- const levelBitRepresentation = level > 0 ? 1 << (level - 1) : 0;
60
- this.mask = this.mask | levelBitRepresentation;
61
- }
62
- intersects(other) {
63
- return (this.mask & other.mask) > 0;
64
- }
65
- includes(level) {
66
- return (this.mask & (1 << (level - 1))) !== 0;
67
- }
68
- low() {
69
- return (this.mask & (1 << (DetailLevel.low - 1))) !== 0;
70
- }
71
- medium() {
72
- return (this.mask & (1 << (DetailLevel.medium - 1))) !== 0;
73
- }
74
- high() {
75
- return (this.mask & (1 << (DetailLevel.high - 1))) !== 0;
76
- }
77
- xsuper() {
78
- return (this.mask & (1 << (DetailLevel.super - 1))) !== 0;
79
- }
80
- base() {
81
- return (this.mask & (1 << (DetailLevel.base - 1))) !== 0;
82
- }
83
- detailSet() {
84
- const levels = new Set();
85
- if (this.low()) {
86
- levels.add(DetailLevel.low);
87
- }
88
- if (this.medium()) {
89
- levels.add(DetailLevel.medium);
90
- }
91
- if (this.high()) {
92
- levels.add(DetailLevel.high);
93
- }
94
- if (this.xsuper()) {
95
- levels.add(DetailLevel.super);
96
- }
97
- if (this.base()) {
98
- levels.add(DetailLevel.base);
99
- }
100
- return levels;
101
- }
102
- /**
103
- * Goes through the supplied DetailLevels and returns the first one that is included in this
104
- * DetailMask. Returns undefined if no match was found.
105
- */
106
- getBestMatch(levels) {
107
- return (levels instanceof Array ? levels : [levels]).find((level) => this.includes(level));
108
- }
109
- toString() {
110
- const set = Array.from(this.detailSet().values()).join(",");
111
- return `DetailMask(detailSet=${set})`;
112
- }
113
- }
114
- export { DetailLevel, DetailMask };
1
+ /** The CmSym specification states that only low, medium, high, super and base are allowed. */
2
+ var DetailLevel;
3
+ (function (DetailLevel) {
4
+ DetailLevel[DetailLevel["lousy"] = 0] = "lousy";
5
+ DetailLevel[DetailLevel["low"] = 1] = "low";
6
+ DetailLevel[DetailLevel["medium"] = 2] = "medium";
7
+ DetailLevel[DetailLevel["high"] = 3] = "high";
8
+ DetailLevel[DetailLevel["super"] = 4] = "super";
9
+ DetailLevel[DetailLevel["outline"] = 5] = "outline";
10
+ DetailLevel[DetailLevel["base"] = 10] = "base";
11
+ DetailLevel[DetailLevel["invisible"] = 254] = "invisible";
12
+ DetailLevel[DetailLevel["undefined"] = 255] = "undefined";
13
+ })(DetailLevel || (DetailLevel = {}));
14
+ export function detailLevelFromString(detailLevel) {
15
+ switch (detailLevel) {
16
+ case "lousy":
17
+ return DetailLevel.lousy;
18
+ case "low":
19
+ return DetailLevel.low;
20
+ case "medium":
21
+ return DetailLevel.medium;
22
+ case "high":
23
+ return DetailLevel.high;
24
+ case "super":
25
+ return DetailLevel.super;
26
+ case "outline":
27
+ return DetailLevel.outline;
28
+ case "base":
29
+ return DetailLevel.base;
30
+ case "invisible":
31
+ return DetailLevel.invisible;
32
+ case "undefined":
33
+ default:
34
+ return DetailLevel.undefined;
35
+ }
36
+ }
37
+ // tslint:disable:no-bitwise
38
+ class DetailMask {
39
+ constructor(mask = 0) {
40
+ this.mask = mask;
41
+ }
42
+ static withDetailSet(details) {
43
+ const mask = new this();
44
+ mask.includeSet(details);
45
+ return mask;
46
+ }
47
+ static allSymReps() {
48
+ return new this(527);
49
+ }
50
+ include(mask) {
51
+ this.mask = this.mask | mask.mask;
52
+ }
53
+ includeSet(details) {
54
+ details.forEach((level) => {
55
+ this.set(level);
56
+ });
57
+ }
58
+ set(level) {
59
+ const levelBitRepresentation = level > 0 ? 1 << (level - 1) : 0;
60
+ this.mask = this.mask | levelBitRepresentation;
61
+ }
62
+ intersects(other) {
63
+ return (this.mask & other.mask) > 0;
64
+ }
65
+ includes(level) {
66
+ return (this.mask & (1 << (level - 1))) !== 0;
67
+ }
68
+ low() {
69
+ return (this.mask & (1 << (DetailLevel.low - 1))) !== 0;
70
+ }
71
+ medium() {
72
+ return (this.mask & (1 << (DetailLevel.medium - 1))) !== 0;
73
+ }
74
+ high() {
75
+ return (this.mask & (1 << (DetailLevel.high - 1))) !== 0;
76
+ }
77
+ xsuper() {
78
+ return (this.mask & (1 << (DetailLevel.super - 1))) !== 0;
79
+ }
80
+ base() {
81
+ return (this.mask & (1 << (DetailLevel.base - 1))) !== 0;
82
+ }
83
+ detailSet() {
84
+ const levels = new Set();
85
+ if (this.low()) {
86
+ levels.add(DetailLevel.low);
87
+ }
88
+ if (this.medium()) {
89
+ levels.add(DetailLevel.medium);
90
+ }
91
+ if (this.high()) {
92
+ levels.add(DetailLevel.high);
93
+ }
94
+ if (this.xsuper()) {
95
+ levels.add(DetailLevel.super);
96
+ }
97
+ if (this.base()) {
98
+ levels.add(DetailLevel.base);
99
+ }
100
+ return levels;
101
+ }
102
+ /**
103
+ * Goes through the supplied DetailLevels and returns the first one that is included in this
104
+ * DetailMask. Returns undefined if no match was found.
105
+ */
106
+ getBestMatch(levels) {
107
+ return (levels instanceof Array ? levels : [levels]).find((level) => this.includes(level));
108
+ }
109
+ toString() {
110
+ const set = Array.from(this.detailSet().values()).join(",");
111
+ return `DetailMask(detailSet=${set})`;
112
+ }
113
+ }
114
+ export { DetailLevel, DetailMask };
@@ -1,3 +1,3 @@
1
- export declare class LayerExpr {
2
- }
1
+ export declare class LayerExpr {
2
+ }
3
3
  //# sourceMappingURL=LayerExpr.d.ts.map
@@ -1,2 +1,2 @@
1
- export class LayerExpr {
2
- }
1
+ export class LayerExpr {
2
+ }
@@ -1,8 +1,8 @@
1
- import { Point2D } from "./Point2D.js";
2
- export declare class Matrix22 {
3
- c0: Point2D;
4
- c1: Point2D;
5
- constructor(c0: Point2D, c1: Point2D);
6
- toString(): string;
7
- }
1
+ import { Point2D } from "./Point2D.js";
2
+ export declare class Matrix22 {
3
+ c0: Point2D;
4
+ c1: Point2D;
5
+ constructor(c0: Point2D, c1: Point2D);
6
+ toString(): string;
7
+ }
8
8
  //# sourceMappingURL=Matrix22.d.ts.map
@@ -1,9 +1,9 @@
1
- export class Matrix22 {
2
- constructor(c0, c1) {
3
- this.c0 = c0;
4
- this.c1 = c1;
5
- }
6
- toString() {
7
- return `(${this.c0}, ${this.c1})`;
8
- }
9
- }
1
+ export class Matrix22 {
2
+ constructor(c0, c1) {
3
+ this.c0 = c0;
4
+ this.c1 = c1;
5
+ }
6
+ toString() {
7
+ return `(${this.c0}, ${this.c1})`;
8
+ }
9
+ }
@@ -1,43 +1,43 @@
1
- import { Angle } from "./Angle.js";
2
- import { Point } from "./Point.js";
3
- /**
4
- * 3 by 3 Matrix
5
- *
6
- * ref: base/dll/geometry
7
- */
8
- export declare class Matrix33 {
9
- c0: Point;
10
- c1: Point;
11
- c2: Point;
12
- constructor(c0: Point, c1: Point, c2: Point);
13
- static identity: Matrix33;
14
- equals(other: Matrix33): boolean;
15
- add(m?: Matrix33): Matrix33;
16
- minor(col0: Point, col1: Point, r0: number, r1: number): number;
17
- adjoint(): Matrix33;
18
- det(): number;
19
- invert(): Matrix33;
20
- divideByNumber(n: number): Matrix33;
21
- inverted(): Matrix33;
22
- neg(): Matrix33;
23
- multiply(m: Matrix33): Matrix33;
24
- multiplyByPoint(p: Point): Point;
25
- clone(): Matrix33;
26
- /**
27
- * Returns the yaw angle (rotation around Z-axis) of this matrix if it is a correct
28
- * rotation matrix (normalized, orthogonal vectors).
29
- * Any way the rotation of the x-coordinate base-vector around the z-axis is returned.
30
- */
31
- yaw(): Angle;
32
- /**
33
- * Returns the pitch angle (angle between x base-vector (c0) and XY-plane) of this matrix
34
- * if it is a correct rotation matrix.
35
- */
36
- pitch(): Angle;
37
- /**
38
- * Returns the roll angle of this matrix if it is a correct rotation matrix.
39
- */
40
- roll(): Angle;
41
- scale(): Point;
42
- }
1
+ import { Angle } from "./Angle.js";
2
+ import { Point } from "./Point.js";
3
+ /**
4
+ * 3 by 3 Matrix
5
+ *
6
+ * ref: base/dll/geometry
7
+ */
8
+ export declare class Matrix33 {
9
+ c0: Point;
10
+ c1: Point;
11
+ c2: Point;
12
+ constructor(c0: Point, c1: Point, c2: Point);
13
+ static identity: Matrix33;
14
+ equals(other: Matrix33): boolean;
15
+ add(m?: Matrix33): Matrix33;
16
+ minor(col0: Point, col1: Point, r0: number, r1: number): number;
17
+ adjoint(): Matrix33;
18
+ det(): number;
19
+ invert(): Matrix33;
20
+ divideByNumber(n: number): Matrix33;
21
+ inverted(): Matrix33;
22
+ neg(): Matrix33;
23
+ multiply(m: Matrix33): Matrix33;
24
+ multiplyByPoint(p: Point): Point;
25
+ clone(): Matrix33;
26
+ /**
27
+ * Returns the yaw angle (rotation around Z-axis) of this matrix if it is a correct
28
+ * rotation matrix (normalized, orthogonal vectors).
29
+ * Any way the rotation of the x-coordinate base-vector around the z-axis is returned.
30
+ */
31
+ yaw(): Angle;
32
+ /**
33
+ * Returns the pitch angle (angle between x base-vector (c0) and XY-plane) of this matrix
34
+ * if it is a correct rotation matrix.
35
+ */
36
+ pitch(): Angle;
37
+ /**
38
+ * Returns the roll angle of this matrix if it is a correct rotation matrix.
39
+ */
40
+ roll(): Angle;
41
+ scale(): Point;
42
+ }
43
43
  //# sourceMappingURL=Matrix33.d.ts.map
@@ -1,124 +1,124 @@
1
- import { eq } from "../basic/number.js";
2
- import { Angle } from "./Angle.js";
3
- import { Point } from "./Point.js";
4
- import { Point2D } from "./Point2D.js";
5
- /**
6
- * 3 by 3 Matrix
7
- *
8
- * ref: base/dll/geometry
9
- */
10
- export class Matrix33 {
11
- constructor(c0, c1, c2) {
12
- this.c0 = c0;
13
- this.c1 = c1;
14
- this.c2 = c2;
15
- }
16
- equals(other) {
17
- return this.c0 === other.c0 && this.c1 === other.c1 && this.c2 === other.c2;
18
- }
19
- add(m) {
20
- if (m === undefined) {
21
- return this.clone();
22
- }
23
- const { c0, c1, c2 } = this;
24
- return new Matrix33(c0.add(m.c0), c1.add(m.c1), c2.add(m.c2));
25
- }
26
- minor(col0, col1, r0, r1) {
27
- return (col0.getByNumber(r0) * col1.getByNumber(r1) -
28
- col0.getByNumber(r1) * col1.getByNumber(r0));
29
- }
30
- adjoint() {
31
- return new Matrix33(new Point(this.minor(this.c1, this.c2, 1, 2), -this.minor(this.c0, this.c2, 1, 2), this.minor(this.c0, this.c1, 1, 2)), new Point(-this.minor(this.c1, this.c2, 0, 2), this.minor(this.c0, this.c2, 0, 2), -this.minor(this.c0, this.c1, 0, 2)), new Point(this.minor(this.c1, this.c2, 0, 1), -this.minor(this.c0, this.c2, 0, 1), this.minor(this.c0, this.c1, 0, 1)));
32
- }
33
- det() {
34
- return (this.c0.x * this.minor(this.c1, this.c2, 1, 2) -
35
- this.c1.x * this.minor(this.c0, this.c2, 1, 2) +
36
- this.c2.x * this.minor(this.c0, this.c1, 1, 2));
37
- }
38
- invert() {
39
- const d = this.det();
40
- if (d === 0) {
41
- throw Error(`The determinant is zero: ${d}`);
42
- }
43
- const a = this.adjoint();
44
- return a.divideByNumber(d);
45
- }
46
- divideByNumber(n) {
47
- return new Matrix33(this.c0.divideByNumber(n), this.c1.divideByNumber(n), this.c2.divideByNumber(n));
48
- }
49
- inverted() {
50
- const m = this.clone();
51
- m.invert();
52
- return m;
53
- }
54
- neg() {
55
- const c0 = new Point(-this.c0.x, -this.c0.y, -this.c0.z);
56
- const c1 = new Point(-this.c1.x, -this.c1.y, -this.c1.z);
57
- const c2 = new Point(-this.c2.x, -this.c2.y, -this.c2.z);
58
- return new Matrix33(c0, c1, c2);
59
- }
60
- multiply(m) {
61
- const c0 = this.multiplyByPoint(m.c0);
62
- const c1 = this.multiplyByPoint(m.c1);
63
- const c2 = this.multiplyByPoint(m.c2);
64
- return new Matrix33(c0, c1, c2);
65
- }
66
- multiplyByPoint(p) {
67
- const { c0, c1, c2 } = this;
68
- return new Point(c0.x * p.x + c1.x * p.y + c2.x * p.z, c0.y * p.x + c1.y * p.y + c2.y * p.z, c0.z * p.x + c1.z * p.y + c2.z * p.z);
69
- }
70
- clone() {
71
- return new Matrix33(this.c0.clone(), this.c1.clone(), this.c2.clone());
72
- }
73
- /**
74
- * Returns the yaw angle (rotation around Z-axis) of this matrix if it is a correct
75
- * rotation matrix (normalized, orthogonal vectors).
76
- * Any way the rotation of the x-coordinate base-vector around the z-axis is returned.
77
- */
78
- yaw() {
79
- const { c0, c1 } = this;
80
- if (c0.z < -1 || c0.z > 1 || eq(c0.z, -1) || eq(c0.z, 1)) {
81
- // Pitch +90 degrees or - 90 degrees -> roll and yaw both rotates around the z-axis.
82
- // Force roll to zero and let yaw take care of all rotation around the z-axis.
83
- return Angle.fromPoint2D(c1.toPoint2D()).sub(Angle.fromDegrees(90));
84
- }
85
- else {
86
- return Angle.fromPoint2D(c0.toPoint2D());
87
- }
88
- }
89
- /**
90
- * Returns the pitch angle (angle between x base-vector (c0) and XY-plane) of this matrix
91
- * if it is a correct rotation matrix.
92
- */
93
- pitch() {
94
- const { c0 } = this;
95
- if (c0.z < -1) {
96
- return new Angle(Math.asin(1.0));
97
- }
98
- else if (c0.z > 1) {
99
- return new Angle(Math.asin(-1.0));
100
- }
101
- else {
102
- return new Angle(Math.asin(-c0.z));
103
- }
104
- }
105
- /**
106
- * Returns the roll angle of this matrix if it is a correct rotation matrix.
107
- */
108
- roll() {
109
- const { c0, c1, c2 } = this;
110
- if (c0.z < -1 || c0.z > 1 || eq(c0.z, -1) || eq(c0.z, 1)) {
111
- // Pitch +90 degrees or - 90 degrees -> roll and yaw both rotates around the z-axis.
112
- // Force roll to zero and let yaw take care of all rotation around the z-axis.
113
- return new Angle(0);
114
- }
115
- else {
116
- const cosP = Math.cos(Math.asin(-c0.z));
117
- return Angle.fromPoint2D(new Point2D(c2.z / cosP, c1.z / cosP));
118
- }
119
- }
120
- scale() {
121
- return new Point(this.c0.length(), this.c1.length(), this.c2.length());
122
- }
123
- }
124
- Matrix33.identity = new Matrix33(new Point(1, 0, 0), new Point(0, 1, 0), new Point(0, 0, 1));
1
+ import { eq } from "../basic/number.js";
2
+ import { Angle } from "./Angle.js";
3
+ import { Point } from "./Point.js";
4
+ import { Point2D } from "./Point2D.js";
5
+ /**
6
+ * 3 by 3 Matrix
7
+ *
8
+ * ref: base/dll/geometry
9
+ */
10
+ export class Matrix33 {
11
+ constructor(c0, c1, c2) {
12
+ this.c0 = c0;
13
+ this.c1 = c1;
14
+ this.c2 = c2;
15
+ }
16
+ equals(other) {
17
+ return this.c0 === other.c0 && this.c1 === other.c1 && this.c2 === other.c2;
18
+ }
19
+ add(m) {
20
+ if (m === undefined) {
21
+ return this.clone();
22
+ }
23
+ const { c0, c1, c2 } = this;
24
+ return new Matrix33(c0.add(m.c0), c1.add(m.c1), c2.add(m.c2));
25
+ }
26
+ minor(col0, col1, r0, r1) {
27
+ return (col0.getByNumber(r0) * col1.getByNumber(r1) -
28
+ col0.getByNumber(r1) * col1.getByNumber(r0));
29
+ }
30
+ adjoint() {
31
+ return new Matrix33(new Point(this.minor(this.c1, this.c2, 1, 2), -this.minor(this.c0, this.c2, 1, 2), this.minor(this.c0, this.c1, 1, 2)), new Point(-this.minor(this.c1, this.c2, 0, 2), this.minor(this.c0, this.c2, 0, 2), -this.minor(this.c0, this.c1, 0, 2)), new Point(this.minor(this.c1, this.c2, 0, 1), -this.minor(this.c0, this.c2, 0, 1), this.minor(this.c0, this.c1, 0, 1)));
32
+ }
33
+ det() {
34
+ return (this.c0.x * this.minor(this.c1, this.c2, 1, 2) -
35
+ this.c1.x * this.minor(this.c0, this.c2, 1, 2) +
36
+ this.c2.x * this.minor(this.c0, this.c1, 1, 2));
37
+ }
38
+ invert() {
39
+ const d = this.det();
40
+ if (d === 0) {
41
+ throw Error(`The determinant is zero: ${d}`);
42
+ }
43
+ const a = this.adjoint();
44
+ return a.divideByNumber(d);
45
+ }
46
+ divideByNumber(n) {
47
+ return new Matrix33(this.c0.divideByNumber(n), this.c1.divideByNumber(n), this.c2.divideByNumber(n));
48
+ }
49
+ inverted() {
50
+ const m = this.clone();
51
+ m.invert();
52
+ return m;
53
+ }
54
+ neg() {
55
+ const c0 = new Point(-this.c0.x, -this.c0.y, -this.c0.z);
56
+ const c1 = new Point(-this.c1.x, -this.c1.y, -this.c1.z);
57
+ const c2 = new Point(-this.c2.x, -this.c2.y, -this.c2.z);
58
+ return new Matrix33(c0, c1, c2);
59
+ }
60
+ multiply(m) {
61
+ const c0 = this.multiplyByPoint(m.c0);
62
+ const c1 = this.multiplyByPoint(m.c1);
63
+ const c2 = this.multiplyByPoint(m.c2);
64
+ return new Matrix33(c0, c1, c2);
65
+ }
66
+ multiplyByPoint(p) {
67
+ const { c0, c1, c2 } = this;
68
+ return new Point(c0.x * p.x + c1.x * p.y + c2.x * p.z, c0.y * p.x + c1.y * p.y + c2.y * p.z, c0.z * p.x + c1.z * p.y + c2.z * p.z);
69
+ }
70
+ clone() {
71
+ return new Matrix33(this.c0.clone(), this.c1.clone(), this.c2.clone());
72
+ }
73
+ /**
74
+ * Returns the yaw angle (rotation around Z-axis) of this matrix if it is a correct
75
+ * rotation matrix (normalized, orthogonal vectors).
76
+ * Any way the rotation of the x-coordinate base-vector around the z-axis is returned.
77
+ */
78
+ yaw() {
79
+ const { c0, c1 } = this;
80
+ if (c0.z < -1 || c0.z > 1 || eq(c0.z, -1) || eq(c0.z, 1)) {
81
+ // Pitch +90 degrees or - 90 degrees -> roll and yaw both rotates around the z-axis.
82
+ // Force roll to zero and let yaw take care of all rotation around the z-axis.
83
+ return Angle.fromPoint2D(c1.toPoint2D()).sub(Angle.fromDegrees(90));
84
+ }
85
+ else {
86
+ return Angle.fromPoint2D(c0.toPoint2D());
87
+ }
88
+ }
89
+ /**
90
+ * Returns the pitch angle (angle between x base-vector (c0) and XY-plane) of this matrix
91
+ * if it is a correct rotation matrix.
92
+ */
93
+ pitch() {
94
+ const { c0 } = this;
95
+ if (c0.z < -1) {
96
+ return new Angle(Math.asin(1.0));
97
+ }
98
+ else if (c0.z > 1) {
99
+ return new Angle(Math.asin(-1.0));
100
+ }
101
+ else {
102
+ return new Angle(Math.asin(-c0.z));
103
+ }
104
+ }
105
+ /**
106
+ * Returns the roll angle of this matrix if it is a correct rotation matrix.
107
+ */
108
+ roll() {
109
+ const { c0, c1, c2 } = this;
110
+ if (c0.z < -1 || c0.z > 1 || eq(c0.z, -1) || eq(c0.z, 1)) {
111
+ // Pitch +90 degrees or - 90 degrees -> roll and yaw both rotates around the z-axis.
112
+ // Force roll to zero and let yaw take care of all rotation around the z-axis.
113
+ return new Angle(0);
114
+ }
115
+ else {
116
+ const cosP = Math.cos(Math.asin(-c0.z));
117
+ return Angle.fromPoint2D(new Point2D(c2.z / cosP, c1.z / cosP));
118
+ }
119
+ }
120
+ scale() {
121
+ return new Point(this.c0.length(), this.c1.length(), this.c2.length());
122
+ }
123
+ }
124
+ Matrix33.identity = new Matrix33(new Point(1, 0, 0), new Point(0, 1, 0), new Point(0, 0, 1));
@@ -1,8 +1,8 @@
1
- import { Angle } from "./Angle.js";
2
- export declare class Orientation {
3
- yaw: Angle;
4
- pitch: Angle;
5
- roll: Angle;
6
- constructor(yaw: Angle, pitch: Angle, roll: Angle);
7
- }
1
+ import { Angle } from "./Angle.js";
2
+ export declare class Orientation {
3
+ yaw: Angle;
4
+ pitch: Angle;
5
+ roll: Angle;
6
+ constructor(yaw: Angle, pitch: Angle, roll: Angle);
7
+ }
8
8
  //# sourceMappingURL=Orientation.d.ts.map
@@ -1,7 +1,7 @@
1
- export class Orientation {
2
- constructor(yaw, pitch, roll) {
3
- this.yaw = yaw;
4
- this.pitch = pitch;
5
- this.roll = roll;
6
- }
7
- }
1
+ export class Orientation {
2
+ constructor(yaw, pitch, roll) {
3
+ this.yaw = yaw;
4
+ this.pitch = pitch;
5
+ this.roll = roll;
6
+ }
7
+ }
@@ -1,9 +1,9 @@
1
- import { Point } from "./Point";
2
- export declare class Plane {
3
- vector: Point;
4
- distance: number;
5
- static cast(p: unknown): Plane | undefined;
6
- constructor(vector: Point, distance: number);
7
- toString(): string;
8
- }
1
+ import { Point } from "./Point";
2
+ export declare class Plane {
3
+ vector: Point;
4
+ distance: number;
5
+ static cast(p: unknown): Plane | undefined;
6
+ constructor(vector: Point, distance: number);
7
+ toString(): string;
8
+ }
9
9
  //# sourceMappingURL=Plane.d.ts.map