From ca82b8a601c67e6731bc06d212fb2153a4170c0c Mon Sep 17 00:00:00 2001 From: Steve Date: Fri, 18 Feb 2011 09:52:15 +0000 Subject: Fixed picking of ellipsoid Particle had same problem fixed They were both returning a TG instead of a Node so added pick coded to both Added InertiaTensor to Planar polygon --- src/tesseract/objects/PlanarPolygon.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/tesseract/objects/PlanarPolygon.java') diff --git a/src/tesseract/objects/PlanarPolygon.java b/src/tesseract/objects/PlanarPolygon.java index 0abda1b..0521062 100644 --- a/src/tesseract/objects/PlanarPolygon.java +++ b/src/tesseract/objects/PlanarPolygon.java @@ -73,6 +73,14 @@ public class PlanarPolygon extends PhysicalObject { super(position, mass); setShape(createShape(radius, divisions)); + + if (inverseMass != 0) { + inverseInertiaTensor.m00 = 1f / 4 / inverseMass * radius * radius; + inverseInertiaTensor.m11 = 2 * inverseInertiaTensor.m00; + inverseInertiaTensor.m22 = inverseInertiaTensor.m00; + inverseInertiaTensor.invert(); + } + updateTransformGroup(); } /** * Create a new Ellipsoid. @@ -84,6 +92,14 @@ public class PlanarPolygon extends PhysicalObject { super(position, DEFAULT_MASS); setShape(createShape(radius, DEFAULT_DIVISIONS)); + + if (inverseMass != 0) { + inverseInertiaTensor.m00 = 1f / 4 / inverseMass * radius * radius; + inverseInertiaTensor.m11 = 2 * inverseInertiaTensor.m00; + inverseInertiaTensor.m22 = inverseInertiaTensor.m00; + inverseInertiaTensor.invert(); + } + updateTransformGroup(); } -- cgit v1.2.3