Skip to content

Commit 1646263

Browse files
feat(geom): add Group3 shape type, update pkg exports
1 parent a26628b commit 1646263

File tree

3 files changed

+88
-0
lines changed

3 files changed

+88
-0
lines changed

packages/geom/package.json

+66
Original file line numberDiff line numberDiff line change
@@ -133,30 +133,51 @@
133133
"./api/cubic": {
134134
"default": "./api/cubic.js"
135135
},
136+
"./api/cubic3": {
137+
"default": "./api/cubic3.js"
138+
},
136139
"./api/ellipse": {
137140
"default": "./api/ellipse.js"
138141
},
139142
"./api/group": {
140143
"default": "./api/group.js"
141144
},
145+
"./api/group3": {
146+
"default": "./api/group3.js"
147+
},
142148
"./api/line": {
143149
"default": "./api/line.js"
144150
},
151+
"./api/line3": {
152+
"default": "./api/line3.js"
153+
},
145154
"./api/path": {
146155
"default": "./api/path.js"
147156
},
157+
"./api/path3": {
158+
"default": "./api/path3.js"
159+
},
148160
"./api/plane": {
149161
"default": "./api/plane.js"
150162
},
151163
"./api/points": {
152164
"default": "./api/points.js"
153165
},
166+
"./api/points3": {
167+
"default": "./api/points3.js"
168+
},
154169
"./api/polygon": {
155170
"default": "./api/polygon.js"
156171
},
172+
"./api/polygon3": {
173+
"default": "./api/polygon3.js"
174+
},
157175
"./api/polyline": {
158176
"default": "./api/polyline.js"
159177
},
178+
"./api/polyline3": {
179+
"default": "./api/polyline3.js"
180+
},
160181
"./api/quad": {
161182
"default": "./api/quad.js"
162183
},
@@ -166,9 +187,15 @@
166187
"./api/quadratic": {
167188
"default": "./api/quadratic.js"
168189
},
190+
"./api/quadratic3": {
191+
"default": "./api/quadratic3.js"
192+
},
169193
"./api/ray": {
170194
"default": "./api/ray.js"
171195
},
196+
"./api/ray3": {
197+
"default": "./api/ray3.js"
198+
},
172199
"./api/rect": {
173200
"default": "./api/rect.js"
174201
},
@@ -181,6 +208,9 @@
181208
"./api/triangle": {
182209
"default": "./api/triangle.js"
183210
},
211+
"./api/triangle3": {
212+
"default": "./api/triangle3.js"
213+
},
184214
"./apply-transforms": {
185215
"default": "./apply-transforms.js"
186216
},
@@ -244,6 +274,9 @@
244274
"./cubic": {
245275
"default": "./cubic.js"
246276
},
277+
"./cubic3": {
278+
"default": "./cubic3.js"
279+
},
247280
"./edges": {
248281
"default": "./edges.js"
249282
},
@@ -259,6 +292,9 @@
259292
"./group": {
260293
"default": "./group.js"
261294
},
295+
"./group3": {
296+
"default": "./group3.js"
297+
},
262298
"./internal/bounds": {
263299
"default": "./internal/bounds.js"
264300
},
@@ -280,6 +316,9 @@
280316
"./line": {
281317
"default": "./line.js"
282318
},
319+
"./line3": {
320+
"default": "./line3.js"
321+
},
283322
"./map-point": {
284323
"default": "./map-point.js"
285324
},
@@ -295,6 +334,9 @@
295334
"./path": {
296335
"default": "./path.js"
297336
},
337+
"./path3": {
338+
"default": "./path3.js"
339+
},
298340
"./plane": {
299341
"default": "./plane.js"
300342
},
@@ -307,30 +349,51 @@
307349
"./points": {
308350
"default": "./points.js"
309351
},
352+
"./points3": {
353+
"default": "./points3.js"
354+
},
310355
"./polygon": {
311356
"default": "./polygon.js"
312357
},
358+
"./polygon3": {
359+
"default": "./polygon3.js"
360+
},
313361
"./polyline": {
314362
"default": "./polyline.js"
315363
},
364+
"./polyline3": {
365+
"default": "./polyline3.js"
366+
},
316367
"./proximity": {
317368
"default": "./proximity.js"
318369
},
319370
"./quad": {
320371
"default": "./quad.js"
321372
},
373+
"./quad3": {
374+
"default": "./quad3.js"
375+
},
322376
"./quadratic": {
323377
"default": "./quadratic.js"
324378
},
379+
"./quadratic3": {
380+
"default": "./quadratic3.js"
381+
},
325382
"./ray": {
326383
"default": "./ray.js"
327384
},
385+
"./ray3": {
386+
"default": "./ray3.js"
387+
},
328388
"./rect": {
329389
"default": "./rect.js"
330390
},
331391
"./resample": {
332392
"default": "./resample.js"
333393
},
394+
"./rotate-around-axis": {
395+
"default": "./rotate-around-axis.js"
396+
},
334397
"./rotate": {
335398
"default": "./rotate.js"
336399
},
@@ -382,6 +445,9 @@
382445
"./triangle": {
383446
"default": "./triangle.js"
384447
},
448+
"./triangle3": {
449+
"default": "./triangle3.js"
450+
},
385451
"./union": {
386452
"default": "./union.js"
387453
},

packages/geom/src/group3.ts

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import type { Attribs, IHiccupShape3 } from "@thi.ng/geom-api";
2+
import { Group3 } from "./api/group3.js";
3+
4+
/**
5+
* Creates a group with given attribs and child shapes (nested groups are
6+
* supported).
7+
*
8+
* @remarks
9+
* Use the special `__inkscapeLayer` control attrib to declare the group as an
10+
* Inkscape layer and the given value as layer name (only relevant and used when
11+
* later converted to SVG).
12+
*
13+
* @param attribs
14+
* @param children
15+
*/
16+
export const group3 = (
17+
attribs: Attribs = {},
18+
children?: Iterable<IHiccupShape3>
19+
) => new Group3(attribs, children);

packages/geom/src/index.ts

+3
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,11 @@ export * from "./cubic.js";
4242
export * from "./cubic3.js";
4343
export * from "./ellipse.js";
4444
export * from "./group.js";
45+
export * from "./group3.js";
4546
export * from "./line.js";
4647
export * from "./line3.js";
4748
export * from "./path.js";
49+
export * from "./path3.js";
4850
export * from "./path-builder.js";
4951
export * from "./path-from-svg.js";
5052
export * from "./plane.js";
@@ -91,6 +93,7 @@ export * from "./point-inside.js";
9193
export * from "./proximity.js";
9294
export * from "./resample.js";
9395
export * from "./rotate.js";
96+
export * from "./rotate-around-axis.js";
9497
export * from "./scale.js";
9598
export * from "./scale-with-center.js";
9699
export * from "./scatter.js";

0 commit comments

Comments
 (0)