add_rect now calls add_poly, refactor add_ to add.

This commit is contained in:
Stewart Allen 2024-07-28 11:10:44 -04:00
commit 611d3cac1c
3 changed files with 49 additions and 45 deletions

View file

@ -488,7 +488,7 @@ function load_files(files) {
for (let set of [ closed, open, circs, rects ]) {
let group = Date.now().toString(36);
for (let poly of set) {
sketch.add_polygon({ poly, group });
sketch.add.polygon({ poly, group });
}
}
}
@ -498,7 +498,7 @@ function load_files(files) {
load.File.load([...files], { flat: true })
.then(polys => polys.forEach(set => {
let group = Date.now().toString(36);
set.forEach(poly => sketch.add_polygon({ poly, group }))
set.forEach(poly => sketch.add.polygon({ poly, group }))
}))
.catch(error => dbug.error(error))
.finally(() => mesh.api.log.hide());

View file

@ -584,7 +584,7 @@ let sketch = {
item.selected = !select;
item2.group += 'D';
shift && Object.assign(item2, poly.move({ x, y, z }).toObject());
sketch.add_item(item2, { select });
sketch.add.item(item2, { select });
}
});
},
@ -655,7 +655,7 @@ let add = {
h.input({ value: opt.points || 0, size: 5, id: "_points" }),
h.button({ _: "create", onclick() {
const { _radius, _points, _spacing } = api.modal.bound;
sketch.add_circle({
sketch.add.circle({
radius: parseFloat(_radius.value),
points: parseInt(_points.value),
spacing: parseFloat(_spacing.value),
@ -672,7 +672,7 @@ let add = {
if (!sel.length) {
return log('select a sketch');
}
return sel[0].add_rectangle(...arguments);
return sel[0].add.rectangle(...arguments);
},
/** add models */

View file

@ -206,7 +206,7 @@ mesh.sketch = class MeshSketch extends mesh.object {
let union = POLYS.union(polys, 0, true);
sketch.selection.delete();
for (let poly of union) {
sketch.add_polygon({ poly });
sketch.add.polygon({ poly });
}
},
@ -217,7 +217,7 @@ mesh.sketch = class MeshSketch extends mesh.object {
let trim = POLYS.trimTo([polys[0]], [polys[1]]);
sketch.selection.delete();
for (let poly of trim) {
sketch.add_polygon({ poly });
sketch.add.polygon({ poly });
}
},
@ -229,7 +229,7 @@ mesh.sketch = class MeshSketch extends mesh.object {
let diff2 = POLYS.diff([polys[1]], [polys[0]]);
sketch.selection.delete();
for (let poly of [...diff1, ...diff2]) {
sketch.add_polygon({ poly });
sketch.add.polygon({ poly });
}
},
@ -240,7 +240,7 @@ mesh.sketch = class MeshSketch extends mesh.object {
let union = POLYS.nest(POLYS.flatten(polys, [], true));
sketch.selection.delete();
for (let poly of union) {
sketch.add_polygon({ poly });
sketch.add.polygon({ poly });
}
},
@ -252,7 +252,7 @@ mesh.sketch = class MeshSketch extends mesh.object {
let odd = POLYS.nest(POLYS.flatten(even.clone(true), [], true).filter(p => p.depth > 0));
sketch.selection.delete();
for (let poly of [...even, ...odd]) {
sketch.add_polygon({ poly });
sketch.add.polygon({ poly });
}
},
@ -262,7 +262,7 @@ mesh.sketch = class MeshSketch extends mesh.object {
let flat = POLYS.flatten(polys, [], true);
sketch.selection.delete();
for (let poly of flat) {
sketch.add_polygon({ poly });
sketch.add.polygon({ poly });
}
}
}
@ -407,43 +407,47 @@ mesh.sketch = class MeshSketch extends mesh.object {
}
}
add_circle(opt = {}) {
log(this.file || this.id, '| add circle');
this.add_item({
type: "circle",
selected: true,
...Object.assign({}, { center: {x:0, y:0, z:0}, radius:5 }, opt)
});
}
get add() {
let sketch = this;
return {
circle(opt = {}) {
sketch.add.item({
type: "circle",
selected: true,
...Object.assign({}, { center: {x:0, y:0, z:0}, radius:5 }, opt)
});
},
add_rectangle(opt = {}) {
log(this.file || this.id, '| add rectangle');
this.add_item({
type: "rectangle",
selected: true,
...Object.assign({}, { center: {x:0, y:0, z:0}, width:15, height:10 }, opt)
});
}
rectangle(opt = {}) {
sketch.add.polygon({
...opt,
poly: newPolygon().centerRectangle(
opt.center || {x:0, y:0, z:0},
opt.height || 15,
opt.width || 10
)
})
},
add_polygon(opt = {}) {
// log(this.file || this.id, '| add polygon');
let poly = opt.poly;
delete opt.poly;
let { width, miter } = poly._svg || {};
this.add_item({
type: "polygon",
width,
miter,
selected: true,
...Object.assign({}, { center: {x:0, y:0, z:0} }, opt),
...poly.toObject()
});
}
polygon(opt = {}) {
let poly = opt.poly;
delete opt.poly;
let { width, miter } = poly._svg || {};
sketch.add.item({
type: "polygon",
width,
miter,
selected: true,
...Object.assign({}, { center: {x:0, y:0, z:0} }, opt),
...poly.toObject()
});
},
add_item(item, opt = {}) {
// item.selected = opt.select || false;
this.items.push(item);
this.render();
item(item, opt = {}) {
sketch.items.push(item);
sketch.render();
}
}
}
// render items unto the group object