From 9c984e4bffb226739d7ef29211145f40bfb23546 Mon Sep 17 00:00:00 2001
From: Lucio Zambon <lucio.zambon@elettra.eu>
Date: Thu, 20 Feb 2025 02:37:53 +0000
Subject: [PATCH] Update panther.js

---
 panther.js | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/panther.js b/panther.js
index 9c4b60a..f269f93 100644
--- a/panther.js
+++ b/panther.js
@@ -90,7 +90,8 @@ import WebGPURenderer from 'three/addons/renderers/webgpu/WebGPURenderer.js';
 	const loader = new GLTFLoader();
 	let fast = document.location.search.indexOf('fast')>-1? document.location.search.split('fast')[1].split('&')[0].split(','): false;
 	let premium = document.location.search.indexOf('premium')>-1? document.location.search.split('premium')[1].split('&')[0].split(','): false;
-	const real = document.location.search.indexOf('real')>-1 || (machine=='elettra2' && premium);
+	const real = (document.location.search.indexOf('real')>-1 || (machine=='elettra2' && premium)) && document.location.search.indexOf('stl')==-1;
+	const stl = document.location.search.indexOf('stl')>-1;
 	const blm = {oldIndex: null, reader: false, acqTime: null};
 	let latticenodes = 0;
 	const Ydefault = 100;
@@ -529,6 +530,7 @@ import WebGPURenderer from 'three/addons/renderers/webgpu/WebGPURenderer.js';
 		compBuffer[magnet].push({facility: facility, i: i, m: m, tang: tang, direction: direction, y: y});
 	}
 	function placemagnet(magnet, gs) {
+		magnet = magnet.replace('_stl', '');
 		const gltfscene = new THREE.Object3D();
 		gs.scale.set(900, 900, 900);
 		gs.rotateX(conf.real[magnet].rot.x);
@@ -584,6 +586,7 @@ import WebGPURenderer from 'three/addons/renderers/webgpu/WebGPURenderer.js';
 		// if (magnet=='quadrupole') return;
 		// if (glb.indexOf(magnet)>-1) return;
 		if (real && typeof conf.real[magnet] !== 'undefined') return;
+		if (stl && typeof conf.stl[magnet] !== 'undefined') return;
 		if (componentCreator[magnet+'fast'] && (fast==false || fast.indexOf(magnet)>-1)) magnet = magnet+'fast';
 		if (componentCreator[magnet+'premium'] && (premium==false || premium.indexOf(magnet)>-1)) magnet = magnet+'premium';
 		if (componentCreator[magnet]) {
@@ -716,6 +719,7 @@ import WebGPURenderer from 'three/addons/renderers/webgpu/WebGPURenderer.js';
 		}
 		// console.log('compBuffer', compBuffer);
 		if (real) for (let i in conf.real) {loadreal(i);}
+		if (stl) for (let i in conf.stl) {loadreal(i+'_stl');}
 
 		// console.log('vlvs', vlvs); console.log('facilities', facilities, 'names', window.names.join(';'));
 		bpmAdd(facility);
-- 
GitLab