From 8891c472fdbf80711982d3d68377137a114da9f8 Mon Sep 17 00:00:00 2001
From: adrian-bowyer <adrian-bowyer>
Date: Sun, 24 Jan 2010 16:43:24 +0000
Subject: Multiple loaded object transform bug really fixed this time.

git-svn-id: https://reprap.svn.sourceforge.net/svnroot/reprap@3457 cb376a5e-1013-0410-a455-b6b1f9ac8223
---
 .../users/adrian/host/src/org/reprap/gui/RepRapBuild.java  | 14 ++++++++------
 trunk/users/adrian/host/src/org/reprap/gui/STLObject.java  |  4 ++--
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/trunk/users/adrian/host/src/org/reprap/gui/RepRapBuild.java b/trunk/users/adrian/host/src/org/reprap/gui/RepRapBuild.java
index a426b13d..393f0a00 100644
--- a/trunk/users/adrian/host/src/org/reprap/gui/RepRapBuild.java
+++ b/trunk/users/adrian/host/src/org/reprap/gui/RepRapBuild.java
@@ -443,11 +443,11 @@ public class RepRapBuild extends Panel3D implements MouseListener {
 		if (number <= 0)
 			return;
 		String fileName = original.fileItCameFrom();
-		Vector3d offset = new Vector3d(original.size());
+		Vector3d offset = new Vector3d();
 		offset.y = 0;
 		offset.z = 0;
-		offset.x += 5;
-		double increment = offset.x;
+		double increment = original.size().x + 5;
+		offset.x = increment;
 		for(int i = 0; i < number; i++)
 		{
 			STLObject stl = new STLObject();
@@ -455,9 +455,11 @@ public class RepRapBuild extends Panel3D implements MouseListener {
 			newAtt.setMaterial(originalAttributes.getMaterial());
 			if(newAtt != null)
 			{
-				Transform3D t3d = new Transform3D();
-				t3d.set(new Vector3d(offset));
-				stl.setTransform(t3d);
+				Transform3D t3d1 = original.getTransform();
+				Transform3D t3d2 = new Transform3D();
+				t3d2.set(new Vector3d(offset));
+				t3d1.mul(t3d2);
+				stl.setTransform(t3d1);
 				// New separate object, or just appended to lastPicked?
 				if(stl.numChildren() > 0)
 				{
diff --git a/trunk/users/adrian/host/src/org/reprap/gui/STLObject.java b/trunk/users/adrian/host/src/org/reprap/gui/STLObject.java
index edc0e31a..9277f9a1 100644
--- a/trunk/users/adrian/host/src/org/reprap/gui/STLObject.java
+++ b/trunk/users/adrian/host/src/org/reprap/gui/STLObject.java
@@ -349,8 +349,8 @@ public class STLObject
                 offset.x = -p0.x;  // Generally offset to put bottom left at the origin
                 offset.y = -p0.y;
                 offset.z = -p0.z;
-            } else
-            	offset.z = -p0.z;  // Tie it down whatever the user has said...
+            } //else
+            	//offset.z = -p0.z;  // Tie it down whatever the user has said...
             
             // How big?
             
-- 
cgit v1.2.3