From 7daaf81280ca87cbeb9c1826f9a06c17a26d2a7d Mon Sep 17 00:00:00 2001 From: Justin Georgi Date: Tue, 19 Nov 2024 20:01:45 -0700 Subject: [PATCH] Include fiedl of view in annotation data Signed-off-by: Justin Georgi --- modules/glmv-hs.js | 6 +++++- modules/glmv.js | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/glmv-hs.js b/modules/glmv-hs.js index 3582ccb..1fced07 100644 --- a/modules/glmv-hs.js +++ b/modules/glmv-hs.js @@ -32,6 +32,7 @@ clickAddHotspot = function(e) { hsOutput['data-orbit'] = orb2degree(targetModel.getCameraOrbit().toString(),[2,2,5]) let targetObj = targetModel.getCameraTarget() hsOutput['data-target'] = `${targetObj.x.toFixed(5)}m ${targetObj.y.toFixed(5)}m ${targetObj.z.toFixed(5)}m` + hsOutput['field-of-view'] = Number.parseFloat(targetModel.getFieldOfView()).toFixed(5) + 'deg' mvconfig.annotations['Hotspot ' + (Object.keys(mvconfig.annotations).length + 1)] = hsOutput let newText = currentText.replace(/(.*?)[\S\s]*?(<\/mvconfig>.*)/,`$1\n${JSON.stringify(mvconfig, null, 2)}\n$2`) $('#wpTextbox1').val(newText) @@ -135,13 +136,16 @@ releaseAnnotation = function(e) { let targetObj = mvEl.getCameraTarget() const newTarg = `${targetObj.x.toFixed(5)}m ${targetObj.y.toFixed(5)}m ${targetObj.z.toFixed(5)}m` e.target.setAttribute('data-target', newTarg) + const newFov = Number.parseFloat(mvEl.getFieldOfView()).toFixed(5) + 'deg' + e.target.setAttribute('field-of-view', newFov) let currentText = $('#wpTextbox1').val() let [_, mvconfig] = extractMvconfig(currentText) mvconfig.annotations[e.target.childNodes[0].innerText] = { "data-position": newPos, "data-normal": newNorm, "data-orbit": newOrb, - "data-target": newTarg + "data-target": newTarg, + "field-of-view": newFov } const newText = currentText.replace(/(.*?)[\S\s]*?(<\/mvconfig>.*)/,`$1\n${JSON.stringify(mvconfig, null, 2)}\n$2`) $('#wpTextbox1').val(newText) diff --git a/modules/glmv.js b/modules/glmv.js index 98ae1ca..7bb5be4 100644 --- a/modules/glmv.js +++ b/modules/glmv.js @@ -53,6 +53,8 @@ selectAnnotation = function(mView, annotId) { an.classList.remove('HiddenAnnotation'); if (an.parentElement.dataset.target) {mView.cameraTarget = an.parentElement.dataset.target} if (an.parentElement.dataset.orbit) {mView.cameraOrbit = an.parentElement.dataset.orbit} + const anFov = an.parentElement.getAttribute('field-of-view') + if (anFov) {mView.fieldOfView = anFov} anSelected = true } else { an.classList.add('HiddenAnnotation');