diff Sources/viewer.js @ 1:0f03a8a0bd6f

encoding of RT-STRUCT as STL
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 17 Jul 2023 18:54:31 +0200
parents 4e889a8e8be2
children 549ba7ada071
line wrap: on
line diff
--- a/Sources/viewer.js	Tue Jul 04 19:15:27 2023 +0200
+++ b/Sources/viewer.js	Mon Jul 17 18:54:31 2023 +0200
@@ -65,7 +65,7 @@
   
 const loader = new STLLoader()
 loader.load(
-  '../instances/' + instanceId + '/content/0042-0011',
+  '../../instances/' + instanceId + '/content/0042-0011',
   function (geometry) {
     const frustumSize = 200;
 
@@ -73,9 +73,14 @@
     geometry.translate(-(geometry.boundingBox.min.x + geometry.boundingBox.max.x) / 2.0,
                        -(geometry.boundingBox.min.y + geometry.boundingBox.max.y) / 2.0,
                        -(geometry.boundingBox.min.z + geometry.boundingBox.max.z) / 2.0);
-    geometry.scale((frustumSize / 2.0) / (geometry.boundingBox.max.x - geometry.boundingBox.min.x),
-                   (frustumSize / 2.0) / (geometry.boundingBox.max.y - geometry.boundingBox.min.y),
-                   (frustumSize / 2.0) / (geometry.boundingBox.max.z - geometry.boundingBox.min.z));
+
+    var maxSize = Math.max(geometry.boundingBox.max.x - geometry.boundingBox.min.x,
+                           geometry.boundingBox.max.y - geometry.boundingBox.min.y,
+                           geometry.boundingBox.max.z - geometry.boundingBox.min.z);
+
+    geometry.scale((frustumSize / 2.0) / maxSize,
+                   (frustumSize / 2.0) / maxSize,
+                   (frustumSize / 2.0) / maxSize);
 
     const mesh = new THREE.Mesh(geometry, material);
     scene.add(mesh);