summaryrefslogtreecommitdiff
path: root/src/alden
diff options
context:
space:
mode:
authorPhillip <pacardon@u.washington.edu>2011-03-04 02:56:41 +0000
committerPhillip <pacardon@u.washington.edu>2011-03-04 02:56:41 +0000
commit6823a997c6465a3ef02fef574f5f9770fbe1f4cb (patch)
treebf4fea679fa6e345695e6dfae51049f4bda9a214 /src/alden
parent7403e9358a43233919e782696bad3c60587e0c2a (diff)
added Matrix4f object to in/out data stream for TransformGroup Transform3D attribute.
Diffstat (limited to 'src/alden')
-rw-r--r--src/alden/CollidableObject.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/alden/CollidableObject.java b/src/alden/CollidableObject.java
index 4985471..9745665 100644
--- a/src/alden/CollidableObject.java
+++ b/src/alden/CollidableObject.java
@@ -4,6 +4,7 @@ import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.*;
+
import javax.media.j3d.*;
import javax.vecmath.*;
@@ -337,6 +338,11 @@ private static final int NODE_TYPE_BRANCH = 1;
}
} else if (node instanceof TransformGroup) {
out.writeInt(NODE_TYPE_TRANSFORM);
+ Transform3D tgT = new Transform3D();
+ Matrix4f matrix = new Matrix4f();
+ ((TransformGroup) node).getTransform(tgT);
+ tgT.get(matrix);
+ out.writeObject(matrix);
out.writeInt(((TransformGroup) node).numChildren());
for (int i = 0; i < ((TransformGroup) node).numChildren(); i++) {
Node childNode = ((TransformGroup) node).getChild(i);
@@ -451,6 +457,9 @@ private static final int NODE_TYPE_BRANCH = 1;
return bgroup;
case NODE_TYPE_TRANSFORM:
TransformGroup tgroup = new TransformGroup();
+ Matrix4f matrix = (Matrix4f) in.readObject();
+ Transform3D tgT = new Transform3D(matrix);
+ tgroup.setTransform(tgT);
int numChildren = in.readInt();
for (int i = 0; i < numChildren; i++) {
tgroup.addChild(readNode(in));