diff --git a/src/Scene.js b/src/Scene.js index 7a20303..a0cb08b 100644 --- a/src/Scene.js +++ b/src/Scene.js @@ -441,7 +441,7 @@ async function addSketch() { } window.sc = new Scene(store) -// sc.loadState() +sc.loadState() // sc.camera.layers.enable(1) // rc.layers.set(1) \ No newline at end of file diff --git a/src/drawAngle.js b/src/drawAngle.js index 86b45b9..c74d647 100644 --- a/src/drawAngle.js +++ b/src/drawAngle.js @@ -56,7 +56,10 @@ export async function drawAngle() { let onEnd, onKey; let add = await new Promise((res) => { - onEnd = (e) => res(true) + onEnd = (e) => { + point.userData.offset = vecArr[5].toArray() + res(true) + } onKey = (e) => e.key == 'Escape' && res(false) this.canvas.addEventListener('pointermove', onMove) @@ -155,7 +158,7 @@ export function _onMoveAngle(point, line) { ) // point.userData.offset = tagOffset.toArray() // save offset vector from center - point.userData.offset = tagOffset // save offset vector from center + // point.userData.offset = tagOffset // save offset vector from center // tagOffset = undefined sc.render() @@ -171,16 +174,16 @@ export function setAngLines() { let point, dist; for (let i = 0; i < dims.length; i += 2) { - if (restoreLabels) { - point = dims[i + 1] // point node is at i+1 - dist = this.constraints.get(point.name)[1] - point.label = document.createElement('div'); - point.label.textContent = dist.toFixed(3); - point.label.contentEditable = true; - this.labelContainer.append(point.label) + // if (restoreLabels) { + // point = dims[i + 1] // point node is at i+1 + // dist = this.constraints.get(point.name)[1] + // point.label = document.createElement('div'); + // point.label.textContent = dist.toFixed(3); + // point.label.contentEditable = true; + // this.labelContainer.append(point.label) - point.label.addEventListener('focus', this.updateAng(this.c_id)) - } + // point.label.addEventListener('focus', this.updateAng(this.c_id)) + // } ids = dims[i].userData.ids @@ -242,7 +245,7 @@ export function findIntersection(q, s, p, r) { 2: _l2 origin 3: _l2 disp 4: center - 5: tag disp from center + 5: tag offset from center ] */ @@ -280,24 +283,14 @@ function update(linegeom, pointgeom, _l1, _l2) { const centerScalar = findIntersection(...vecArr.slice(0, 4)) const center = vecArr[i++].addVectors(vecArr[0], vecArr[1].clone().multiplyScalar(centerScalar)) - // tagOffset = vecArr[i++].subVectors(p3, center) - if (tagOffset === undefined) { - tagOffset = vecArr[i++].subVectors(p3, center) - // } else if (Array.isArray(tagOffset)) { - // tagOffset = new THREE.Vector2(tagOffset[0],tagOffset[1]) - console.log('undefined') + vecArr[i++].subVectors(p3, center) } else { - console.log('tagdefined', tagOffset) - p3.addVectors(center, tagOffset) + p3.set(center.x + tagOffset[0], center.y + tagOffset[1]) + vecArr[i++].subVectors(p3, center) } - // console.log(p3, center, 'vr') - // console.log(vecArr, 'vecArr') - - // console.log(tagOffset, xx) - // console.log(tagOffset.length()) - const tagRadius = tagOffset.length() + const tagRadius = vecArr[5].length() /* if tag is more than 90 deg away from midline, we shift everything by 180 diff --git a/src/drawDimension.js b/src/drawDimension.js index 4b63f28..2d6f5a5 100644 --- a/src/drawDimension.js +++ b/src/drawDimension.js @@ -196,6 +196,8 @@ export function _onMoveDimension(point, line) { point.geometry.attributes.position, _p1, _p2 ) + // console.log('heree') + console.trace() point.userData.offset = hyp2.toArray() // save offset vector from hyp2