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 ]) { for (let set of [ closed, open, circs, rects ]) {
let group = Date.now().toString(36); let group = Date.now().toString(36);
for (let poly of set) { 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 }) load.File.load([...files], { flat: true })
.then(polys => polys.forEach(set => { .then(polys => polys.forEach(set => {
let group = Date.now().toString(36); 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)) .catch(error => dbug.error(error))
.finally(() => mesh.api.log.hide()); .finally(() => mesh.api.log.hide());

View file

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

View file

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