diff --git a/modules/glmv.js b/modules/glmv.js index 2b8e662..ce6a3a9 100644 --- a/modules/glmv.js +++ b/modules/glmv.js @@ -16,12 +16,14 @@ if (mw.config.values.wgAction == 'submit') { hsPosition = targetModel.positionAndNormalFromPoint(e.clientX, e.clientY); } if (hsPosition) { - var hsOutput = ['|hotspot=NewHotspot']; - hsOutput.push('pos=' + hsPosition.position.toString().replaceAll(/(\d{5})(\d*?m)/g,"$1m")); - hsOutput.push('norm=' + hsPosition.normal.toString().replaceAll(/(\d{5})(\d*?m)/g,"$1m")); - hsOutput.push('orb=' + targetModel.getCameraOrbit()); - hsOutput.push('targ=' + targetModel.getCameraTarget()); - navigator.clipboard.writeText(hsOutput.join('|')); + var hsOutput = {label: 'NewHotspot'}; + hsOutput['data-position'] = hsPosition.position.toString().replaceAll(/(\d{5})(\d*?m)/g,"$1m"); + hsOutput['data-normal'] = hsPosition.normal.toString().replaceAll(/(\d{5})(\d*?m)/g,"$1m"); + let orbitObj = targetModel.getCameraOrbit() + hsOutput['data-orbit'] = `${orbitObj.theta.toFixed(2)}rad ${orbitObj.phi.toFixed(2)}rad ${orbitObj.radius.toFixed(2)}m`; + let targetObj = targetModel.getCameraTarget(); + hsOutput['data-target'] = `${targetObj.x.toFixed(5)}m ${targetObj.y.toFixed(5)}m ${targetObj.z.toFixed(5)}m`; + navigator.clipboard.writeText(JSON.stringify(hsOutput, null, 2)); } }); }