From b241f20796da7a3386a616efee2ad9b58980a818 Mon Sep 17 00:00:00 2001 From: Justin Georgi Date: Tue, 5 Nov 2024 20:40:13 -0700 Subject: [PATCH] Add set starting view button Signed-off-by: Justin Georgi --- includes/GlModelHooks.php | 8 +++++++- modules/glmv.js | 11 +++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/includes/GlModelHooks.php b/includes/GlModelHooks.php index fd75a9b..140158e 100644 --- a/includes/GlModelHooks.php +++ b/includes/GlModelHooks.php @@ -97,11 +97,17 @@ class GlModelHooks { 'onclick' => 'downloadImage("' . $title . '")' ); + $orbButtonAttr = array( + 'class' => 'preview-button SetOrbit', + 'onclick' => 'writeCameraOrbit()' + ); + $addHsButton = array( Html::rawElement('button',$addButtonAttr,'Add a new hotspot'), Html::rawElement('button',$readButtonAttr,'Update hotspots'), Html::rawElement('button',$delButtonAttr,'Delete hotspot'), - Html::rawElement('button',$dldButtonAttr,'Download image') + Html::rawElement('button',$dldButtonAttr,'Download image'), + Html::rawElement('button',$orbButtonAttr,'Set start view') ); $previewHTML = Html::rawElement('div',NULL,$previewViewer.implode($addHsButton)); diff --git a/modules/glmv.js b/modules/glmv.js index 741deb1..90d4143 100644 --- a/modules/glmv.js +++ b/modules/glmv.js @@ -426,4 +426,15 @@ toggleFullScreen = function(glCont) { } else { glCont.requestFullscreen() } +} + +/** + * Send new default camera orbit values to the preview editor + */ +writeCameraOrbit = function() { + const mView = $('model-viewer')[0] + let newOrbit = mView.getCameraOrbit().toString() + newOrbit = newOrbit.replaceAll(/(\d{2})(\d*?rad)/g,"$1rad") + const textUpdate = $('#wpTextbox1').val().replace(/([\S\s]*?default[\S\s]*?"camera-orbit": ")(.*?)(",$[\S\s]*)/gm,'$1' + newOrbit + '$3') + $('#wpTextbox1').val(textUpdate) } \ No newline at end of file