patch polygons with new missing funcs for trace

This commit is contained in:
Stewart Allen 2025-07-05 17:10:39 -04:00
commit 1ad6749c68
2 changed files with 17 additions and 1 deletions

View file

@ -997,6 +997,23 @@ export class Polygon {
return this.z !== undefined ? this.z : this.points[i || 0]?.z || 0;
}
minZ() {
return Math.min(...this.points.map(p => p.z));
}
avgZ() {
return [...this.points.map(p => p.z)].reduce((a,v) => a+v) / this.points.length;
}
/**
* @param {*} z value target
* @param {*} epsilon allowed Z variance
* @returns {boolean} true if all points Z within epsilon of value
*/
onZ(z, epsilon = 10e-4) {
return Math.max(...this.points.map(p => Math.abs(z - p.z))) < epsilon;
}
/**
*/
render(layer, color, recursive, open) {

View file

@ -45,7 +45,6 @@ function traces(ondone, single) {
const settings = api.conf.get();
const widgets = api.widgets.map();
api.client.send("cam_traces", { settings, single }, output => {
console.log({ output });
const ids = [];
codec.decode(output).forEach(rec => {
ids.push(rec.id);