@bitbybit-dev/base 0.19.0-alpha.0

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 (53) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +71 -0
  3. package/babel.config.cjs +14 -0
  4. package/babel.config.d.cts +5 -0
  5. package/index.d.ts +1 -0
  6. package/index.js +4 -0
  7. package/lib/api/index.d.ts +1 -0
  8. package/lib/api/index.js +1 -0
  9. package/lib/api/inputs/base-inputs.d.ts +35 -0
  10. package/lib/api/inputs/base-inputs.js +1 -0
  11. package/lib/api/inputs/color-inputs.d.ts +122 -0
  12. package/lib/api/inputs/color-inputs.js +164 -0
  13. package/lib/api/inputs/index.d.ts +8 -0
  14. package/lib/api/inputs/index.js +8 -0
  15. package/lib/api/inputs/inputs.d.ts +10 -0
  16. package/lib/api/inputs/inputs.js +10 -0
  17. package/lib/api/inputs/lists-inputs.d.ts +478 -0
  18. package/lib/api/inputs/lists-inputs.js +576 -0
  19. package/lib/api/inputs/logic-inputs.d.ts +163 -0
  20. package/lib/api/inputs/logic-inputs.js +111 -0
  21. package/lib/api/inputs/math-inputs.d.ts +311 -0
  22. package/lib/api/inputs/math-inputs.js +391 -0
  23. package/lib/api/inputs/point-inputs.d.ts +446 -0
  24. package/lib/api/inputs/point-inputs.js +521 -0
  25. package/lib/api/inputs/text-inputs.d.ts +83 -0
  26. package/lib/api/inputs/text-inputs.js +120 -0
  27. package/lib/api/inputs/transforms-inputs.d.ts +136 -0
  28. package/lib/api/inputs/transforms-inputs.js +200 -0
  29. package/lib/api/inputs/vector-inputs.d.ts +300 -0
  30. package/lib/api/inputs/vector-inputs.js +304 -0
  31. package/lib/api/services/color.d.ts +114 -0
  32. package/lib/api/services/color.js +170 -0
  33. package/lib/api/services/geometry-helper.d.ts +15 -0
  34. package/lib/api/services/geometry-helper.js +151 -0
  35. package/lib/api/services/index.d.ts +9 -0
  36. package/lib/api/services/index.js +9 -0
  37. package/lib/api/services/lists.d.ts +287 -0
  38. package/lib/api/services/lists.js +682 -0
  39. package/lib/api/services/logic.d.ts +99 -0
  40. package/lib/api/services/logic.js +203 -0
  41. package/lib/api/services/math.d.ts +349 -0
  42. package/lib/api/services/math.js +621 -0
  43. package/lib/api/services/point.d.ts +223 -0
  44. package/lib/api/services/point.js +351 -0
  45. package/lib/api/services/text.d.ts +69 -0
  46. package/lib/api/services/text.js +84 -0
  47. package/lib/api/services/transforms.d.ts +122 -0
  48. package/lib/api/services/transforms.js +256 -0
  49. package/lib/api/services/vector.d.ts +320 -0
  50. package/lib/api/services/vector.js +468 -0
  51. package/lib/index.d.ts +1 -0
  52. package/lib/index.js +1 -0
  53. package/package.json +93 -0
@@ -0,0 +1,136 @@
1
+ import { Base } from "./base-inputs";
2
+ export declare namespace Transforms {
3
+ class RotationCenterAxisDto {
4
+ constructor(angle?: number, axis?: Base.Vector3, center?: Base.Point3);
5
+ /**
6
+ * Angle of rotation in degrees
7
+ * @default 90
8
+ * @minimum -Infinity
9
+ * @maximum Infinity
10
+ * @step 1
11
+ */
12
+ angle: number;
13
+ /**
14
+ * Axis vector for rotation
15
+ * @default [0, 1, 0]
16
+ */
17
+ axis: Base.Vector3;
18
+ /**
19
+ * The center from which the axis is pointing
20
+ * @default [0, 0, 0]
21
+ */
22
+ center: Base.Point3;
23
+ }
24
+ class RotationCenterDto {
25
+ constructor(angle?: number, center?: Base.Point3);
26
+ /**
27
+ * Angle of rotation in degrees
28
+ * @default 90
29
+ * @minimum -Infinity
30
+ * @maximum Infinity
31
+ * @step 1
32
+ */
33
+ angle: number;
34
+ /**
35
+ * The center from which the axis is pointing
36
+ * @default [0, 0, 0]
37
+ */
38
+ center: Base.Point3;
39
+ }
40
+ class RotationCenterYawPitchRollDto {
41
+ constructor(yaw?: number, pitch?: number, roll?: number, center?: Base.Point3);
42
+ /**
43
+ * Yaw angle (Rotation around X) in degrees
44
+ * @default 0
45
+ * @minimum -Infinity
46
+ * @maximum Infinity
47
+ * @step 1
48
+ */
49
+ yaw: number;
50
+ /**
51
+ * Pitch angle (Rotation around Y) in degrees
52
+ * @default 0
53
+ * @minimum -Infinity
54
+ * @maximum Infinity
55
+ * @step 1
56
+ */
57
+ pitch: number;
58
+ /**
59
+ * Roll angle (Rotation around Z) in degrees
60
+ * @default 0
61
+ * @minimum -Infinity
62
+ * @maximum Infinity
63
+ * @step 1
64
+ */
65
+ roll: number;
66
+ /**
67
+ * The center from which the rotations are applied
68
+ * @default [0, 0, 0]
69
+ */
70
+ center: Base.Point3;
71
+ }
72
+ class ScaleXYZDto {
73
+ constructor(scaleXyz?: Base.Vector3);
74
+ /**
75
+ * Scaling factors for each axis [1, 2, 1] means that Y axis will be scaled 200% and both x and z axis will remain on 100%
76
+ * @default [1, 1, 1]
77
+ */
78
+ scaleXyz: Base.Vector3;
79
+ }
80
+ class ScaleCenterXYZDto {
81
+ constructor(center?: Base.Point3, scaleXyz?: Base.Vector3);
82
+ /**
83
+ * The center from which the scaling is applied
84
+ * @default [0, 0, 0]
85
+ */
86
+ center: Base.Point3;
87
+ /**
88
+ * Scaling factors for each axis [1, 2, 1] means that Y axis will be scaled 200% and both x and z axis will remain on 100%
89
+ * @default [1, 1, 1]
90
+ */
91
+ scaleXyz: Base.Vector3;
92
+ }
93
+ class UniformScaleDto {
94
+ constructor(scale?: number);
95
+ /**
96
+ * Uniform scale factor for all x, y, z directions. 1 will keep everything on original size, 2 will scale 200%;
97
+ * @default 1
98
+ * @minimum -Infinity
99
+ * @maximum Infinity
100
+ * @step 0.1
101
+ */
102
+ scale: number;
103
+ }
104
+ class UniformScaleFromCenterDto {
105
+ constructor(scale?: number, center?: Base.Point3);
106
+ /**
107
+ * Scale factor for all x, y, z directions. 1 will keep everything on original size, 2 will scale 200%;
108
+ * @default 1
109
+ * @minimum -Infinity
110
+ * @maximum Infinity
111
+ * @step 0.1
112
+ */
113
+ scale: number;
114
+ /**
115
+ * Center position of the scaling
116
+ * @default [0, 0, 0]
117
+ */
118
+ center: Base.Point3;
119
+ }
120
+ class TranslationXYZDto {
121
+ constructor(translation?: Base.Vector3);
122
+ /**
123
+ * Translation vector with [x, y, z] distances
124
+ * @default [0, 0, 0]
125
+ */
126
+ translation: Base.Vector3;
127
+ }
128
+ class TranslationsXYZDto {
129
+ constructor(translations?: Base.Vector3[]);
130
+ /**
131
+ * Translation vectors with [x, y, z] distances
132
+ * @default undefined
133
+ */
134
+ translations: Base.Vector3[];
135
+ }
136
+ }
@@ -0,0 +1,200 @@
1
+ export var Transforms;
2
+ (function (Transforms) {
3
+ class RotationCenterAxisDto {
4
+ constructor(angle, axis, center) {
5
+ /**
6
+ * Angle of rotation in degrees
7
+ * @default 90
8
+ * @minimum -Infinity
9
+ * @maximum Infinity
10
+ * @step 1
11
+ */
12
+ this.angle = 90;
13
+ /**
14
+ * Axis vector for rotation
15
+ * @default [0, 1, 0]
16
+ */
17
+ this.axis = [0, 1, 0];
18
+ /**
19
+ * The center from which the axis is pointing
20
+ * @default [0, 0, 0]
21
+ */
22
+ this.center = [0, 0, 0];
23
+ if (angle !== undefined) {
24
+ this.angle = angle;
25
+ }
26
+ if (axis !== undefined) {
27
+ this.axis = axis;
28
+ }
29
+ if (center !== undefined) {
30
+ this.center = center;
31
+ }
32
+ }
33
+ }
34
+ Transforms.RotationCenterAxisDto = RotationCenterAxisDto;
35
+ class RotationCenterDto {
36
+ constructor(angle, center) {
37
+ /**
38
+ * Angle of rotation in degrees
39
+ * @default 90
40
+ * @minimum -Infinity
41
+ * @maximum Infinity
42
+ * @step 1
43
+ */
44
+ this.angle = 90;
45
+ /**
46
+ * The center from which the axis is pointing
47
+ * @default [0, 0, 0]
48
+ */
49
+ this.center = [0, 0, 0];
50
+ if (angle !== undefined) {
51
+ this.angle = angle;
52
+ }
53
+ if (center !== undefined) {
54
+ this.center = center;
55
+ }
56
+ }
57
+ }
58
+ Transforms.RotationCenterDto = RotationCenterDto;
59
+ class RotationCenterYawPitchRollDto {
60
+ constructor(yaw, pitch, roll, center) {
61
+ /**
62
+ * Yaw angle (Rotation around X) in degrees
63
+ * @default 0
64
+ * @minimum -Infinity
65
+ * @maximum Infinity
66
+ * @step 1
67
+ */
68
+ this.yaw = 0;
69
+ /**
70
+ * Pitch angle (Rotation around Y) in degrees
71
+ * @default 0
72
+ * @minimum -Infinity
73
+ * @maximum Infinity
74
+ * @step 1
75
+ */
76
+ this.pitch = 0;
77
+ /**
78
+ * Roll angle (Rotation around Z) in degrees
79
+ * @default 0
80
+ * @minimum -Infinity
81
+ * @maximum Infinity
82
+ * @step 1
83
+ */
84
+ this.roll = 0;
85
+ /**
86
+ * The center from which the rotations are applied
87
+ * @default [0, 0, 0]
88
+ */
89
+ this.center = [0, 0, 0];
90
+ if (yaw !== undefined) {
91
+ this.yaw = yaw;
92
+ }
93
+ if (pitch !== undefined) {
94
+ this.pitch = pitch;
95
+ }
96
+ if (roll !== undefined) {
97
+ this.roll = roll;
98
+ }
99
+ if (center !== undefined) {
100
+ this.center = center;
101
+ }
102
+ }
103
+ }
104
+ Transforms.RotationCenterYawPitchRollDto = RotationCenterYawPitchRollDto;
105
+ class ScaleXYZDto {
106
+ constructor(scaleXyz) {
107
+ /**
108
+ * Scaling factors for each axis [1, 2, 1] means that Y axis will be scaled 200% and both x and z axis will remain on 100%
109
+ * @default [1, 1, 1]
110
+ */
111
+ this.scaleXyz = [1, 1, 1];
112
+ if (scaleXyz !== undefined) {
113
+ this.scaleXyz = scaleXyz;
114
+ }
115
+ }
116
+ }
117
+ Transforms.ScaleXYZDto = ScaleXYZDto;
118
+ class ScaleCenterXYZDto {
119
+ constructor(center, scaleXyz) {
120
+ /**
121
+ * The center from which the scaling is applied
122
+ * @default [0, 0, 0]
123
+ */
124
+ this.center = [0, 0, 0];
125
+ /**
126
+ * Scaling factors for each axis [1, 2, 1] means that Y axis will be scaled 200% and both x and z axis will remain on 100%
127
+ * @default [1, 1, 1]
128
+ */
129
+ this.scaleXyz = [1, 1, 1];
130
+ if (center !== undefined) {
131
+ this.center = center;
132
+ }
133
+ if (scaleXyz !== undefined) {
134
+ this.scaleXyz = scaleXyz;
135
+ }
136
+ }
137
+ }
138
+ Transforms.ScaleCenterXYZDto = ScaleCenterXYZDto;
139
+ class UniformScaleDto {
140
+ constructor(scale) {
141
+ /**
142
+ * Uniform scale factor for all x, y, z directions. 1 will keep everything on original size, 2 will scale 200%;
143
+ * @default 1
144
+ * @minimum -Infinity
145
+ * @maximum Infinity
146
+ * @step 0.1
147
+ */
148
+ this.scale = 1;
149
+ if (scale !== undefined) {
150
+ this.scale = scale;
151
+ }
152
+ }
153
+ }
154
+ Transforms.UniformScaleDto = UniformScaleDto;
155
+ class UniformScaleFromCenterDto {
156
+ constructor(scale, center) {
157
+ /**
158
+ * Scale factor for all x, y, z directions. 1 will keep everything on original size, 2 will scale 200%;
159
+ * @default 1
160
+ * @minimum -Infinity
161
+ * @maximum Infinity
162
+ * @step 0.1
163
+ */
164
+ this.scale = 1;
165
+ /**
166
+ * Center position of the scaling
167
+ * @default [0, 0, 0]
168
+ */
169
+ this.center = [0, 0, 0];
170
+ if (scale !== undefined) {
171
+ this.scale = scale;
172
+ }
173
+ if (center !== undefined) {
174
+ this.center = center;
175
+ }
176
+ }
177
+ }
178
+ Transforms.UniformScaleFromCenterDto = UniformScaleFromCenterDto;
179
+ class TranslationXYZDto {
180
+ constructor(translation) {
181
+ /**
182
+ * Translation vector with [x, y, z] distances
183
+ * @default [0, 0, 0]
184
+ */
185
+ this.translation = [0, 0, 0];
186
+ if (translation !== undefined) {
187
+ this.translation = translation;
188
+ }
189
+ }
190
+ }
191
+ Transforms.TranslationXYZDto = TranslationXYZDto;
192
+ class TranslationsXYZDto {
193
+ constructor(translations) {
194
+ if (translations !== undefined) {
195
+ this.translations = translations;
196
+ }
197
+ }
198
+ }
199
+ Transforms.TranslationsXYZDto = TranslationsXYZDto;
200
+ })(Transforms || (Transforms = {}));
@@ -0,0 +1,300 @@
1
+ import { Base } from "./base-inputs";
2
+ import { Math } from "./inputs";
3
+ export declare namespace Vector {
4
+ class TwoVectorsDto {
5
+ constructor(first?: number[], second?: number[]);
6
+ /**
7
+ * First vector
8
+ * @default undefined
9
+ */
10
+ first: number[];
11
+ /**
12
+ * Second vector
13
+ * @default undefined
14
+ */
15
+ second: number[];
16
+ }
17
+ class VectorBoolDto {
18
+ constructor(vector?: boolean[]);
19
+ /**
20
+ * Vector of booleans
21
+ * @default undefined
22
+ */
23
+ vector: boolean[];
24
+ }
25
+ class RemoveAllDuplicateVectorsDto {
26
+ constructor(vectors?: number[][], tolerance?: number);
27
+ /**
28
+ * Vectors array
29
+ * @default undefined
30
+ */
31
+ vectors: number[][];
32
+ /**
33
+ * Tolerance value
34
+ * @default 1e-7
35
+ * @minimum 0
36
+ * @maximum Infinity
37
+ */
38
+ tolerance: number;
39
+ }
40
+ class RemoveConsecutiveDuplicateVectorsDto {
41
+ constructor(vectors?: number[][], checkFirstAndLast?: boolean, tolerance?: number);
42
+ /**
43
+ * Vectors array
44
+ * @default undefined
45
+ */
46
+ vectors: number[][];
47
+ /**
48
+ * Check first and last vectors
49
+ * @default false
50
+ */
51
+ checkFirstAndLast: boolean;
52
+ /**
53
+ * Tolerance value
54
+ * @default 1e-7
55
+ * @minimum 0
56
+ * @maximum Infinity
57
+ */
58
+ tolerance: number;
59
+ }
60
+ class VectorDto {
61
+ constructor(vector?: number[]);
62
+ /**
63
+ * Vector array of numbers
64
+ * @default undefined
65
+ */
66
+ vector: number[];
67
+ }
68
+ class RangeMaxDto {
69
+ constructor(max?: number);
70
+ /**
71
+ * Maximum range boundary
72
+ * @default 10
73
+ * @minimum -Infinity
74
+ * @maximum Infinity
75
+ * @step 1
76
+ */
77
+ max: number;
78
+ }
79
+ class VectorXYZDto {
80
+ constructor(x?: number, y?: number, z?: number);
81
+ /**
82
+ * X value of vector
83
+ * @default 0
84
+ * @minimum -Infinity
85
+ * @maximum Infinity
86
+ * @step 0.5
87
+ */
88
+ x: number;
89
+ /**
90
+ * Y value of vector
91
+ * @default 0
92
+ * @minimum -Infinity
93
+ * @maximum Infinity
94
+ * @step 0.5
95
+ */
96
+ y: number;
97
+ /**
98
+ * Z value of vector
99
+ * @default 0
100
+ * @minimum -Infinity
101
+ * @maximum Infinity
102
+ * @step 0.5
103
+ */
104
+ z: number;
105
+ }
106
+ class VectorXYDto {
107
+ constructor(x?: number, y?: number);
108
+ /**
109
+ * X value of vector
110
+ * @default 0
111
+ * @minimum -Infinity
112
+ * @maximum Infinity
113
+ * @step 0.5
114
+ */
115
+ x: number;
116
+ /**
117
+ * Y value of vector
118
+ * @default 0
119
+ * @minimum -Infinity
120
+ * @maximum Infinity
121
+ * @step 0.5
122
+ */
123
+ y: number;
124
+ }
125
+ class SpanDto {
126
+ constructor(step?: number, min?: number, max?: number);
127
+ /**
128
+ * Step of the span
129
+ * @default 0.1
130
+ * @minimum -Infinity
131
+ * @maximum Infinity
132
+ * @step 0.1
133
+ */
134
+ step: number;
135
+ /**
136
+ * Min value of the span
137
+ * @default 0
138
+ * @minimum -Infinity
139
+ * @maximum Infinity
140
+ * @step 1
141
+ */
142
+ min: number;
143
+ /**
144
+ * Max value of the span
145
+ * @default 1
146
+ * @minimum -Infinity
147
+ * @maximum Infinity
148
+ * @step 1
149
+ */
150
+ max: number;
151
+ }
152
+ class SpanEaseItemsDto {
153
+ constructor(nrItems?: number, min?: number, max?: number, ease?: Math.easeEnum);
154
+ /**
155
+ * Nr of items in the span
156
+ * @default 100
157
+ * @minimum 2
158
+ * @maximum Infinity
159
+ * @step 1
160
+ */
161
+ nrItems: number;
162
+ /**
163
+ * Min value of the span
164
+ * @default 0
165
+ * @minimum -Infinity
166
+ * @maximum Infinity
167
+ * @step 1
168
+ */
169
+ min: number;
170
+ /**
171
+ * Max value of the span
172
+ * @default 1
173
+ * @minimum -Infinity
174
+ * @maximum Infinity
175
+ * @step 1
176
+ */
177
+ max: number;
178
+ /**
179
+ * Ease type
180
+ * @default easeInSine
181
+ */
182
+ ease: Math.easeEnum;
183
+ /**
184
+ * Indicates wether only intervals should be outputed. This will output step lengths between the values.
185
+ * @default false
186
+ */
187
+ intervals: boolean;
188
+ }
189
+ class SpanLinearItemsDto {
190
+ constructor(nrItems?: number, min?: number, max?: number);
191
+ /**
192
+ * Nr of items in the span
193
+ * @default 100
194
+ * @minimum 2
195
+ * @maximum Infinity
196
+ * @step 1
197
+ */
198
+ nrItems: number;
199
+ /**
200
+ * Min value of the span
201
+ * @default 0
202
+ * @minimum -Infinity
203
+ * @maximum Infinity
204
+ * @step 1
205
+ */
206
+ min: number;
207
+ /**
208
+ * Max value of the span
209
+ * @default 1
210
+ * @minimum -Infinity
211
+ * @maximum Infinity
212
+ * @step 1
213
+ */
214
+ max: number;
215
+ }
216
+ class RayPointDto {
217
+ constructor(point?: Base.Point3, distance?: number, vector?: number[]);
218
+ /**
219
+ * Origin location of the ray
220
+ * @default undefined
221
+ */
222
+ point: Base.Point3;
223
+ /**
224
+ * Distance to the point on the ray
225
+ * @default 1
226
+ * @minimum -Infinity
227
+ * @maximum Infinity
228
+ * @step 1
229
+ */
230
+ distance: number;
231
+ /**
232
+ * Vector array of numbers
233
+ * @default undefined
234
+ */
235
+ vector: number[];
236
+ }
237
+ class VectorsDto {
238
+ constructor(vectors?: number[][]);
239
+ /**
240
+ * Vectors array
241
+ * @default undefined
242
+ */
243
+ vectors: number[][];
244
+ }
245
+ class FractionTwoVectorsDto {
246
+ constructor(fraction?: number, first?: Base.Vector3, second?: Base.Vector3);
247
+ /**
248
+ * Fraction number
249
+ * @default 0.5
250
+ * @minimum -Infinity
251
+ * @maximum Infinity
252
+ * @step 0.1
253
+ */
254
+ fraction: number;
255
+ /**
256
+ * First vector
257
+ * @default undefined
258
+ */
259
+ first: Base.Vector3;
260
+ /**
261
+ * Second vector
262
+ * @default undefined
263
+ */
264
+ second: Base.Vector3;
265
+ }
266
+ class VectorScalarDto {
267
+ constructor(scalar?: number, vector?: number[]);
268
+ /**
269
+ * Scalar number
270
+ * @default 1
271
+ * @minimum -Infinity
272
+ * @maximum Infinity
273
+ * @step 0.1
274
+ */
275
+ scalar: number;
276
+ /**
277
+ * Vector array of numbers
278
+ * @default undefined
279
+ */
280
+ vector: number[];
281
+ }
282
+ class TwoVectorsReferenceDto {
283
+ constructor(reference?: number[], first?: Base.Vector3, second?: Base.Vector3);
284
+ /**
285
+ * Reference vector
286
+ * @default undefined
287
+ */
288
+ reference: number[];
289
+ /**
290
+ * First vector
291
+ * @default undefined
292
+ */
293
+ first: Base.Vector3;
294
+ /**
295
+ * Second vector
296
+ * @default undefined
297
+ */
298
+ second: Base.Vector3;
299
+ }
300
+ }