From 3c7f3b099198d4ea36d498c349cad80f2a6937de Mon Sep 17 00:00:00 2001 From: Phillip Date: Sun, 20 Feb 2011 22:57:16 +0000 Subject: Fixed some checkstyle errors (added java doc) Added new constructor to Ellipsoid.java to feed in a Mass, Radius and Position. --- src/tesseract/objects/ChainLink.java | 1 + src/tesseract/objects/Ellipsoid.java | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) (limited to 'src/tesseract/objects') diff --git a/src/tesseract/objects/ChainLink.java b/src/tesseract/objects/ChainLink.java index a68b2e2..ceb0139 100644 --- a/src/tesseract/objects/ChainLink.java +++ b/src/tesseract/objects/ChainLink.java @@ -24,6 +24,7 @@ import com.sun.j3d.utils.geometry.NormalGenerator; * CHAINLINK LENGHT NOT YET IMPLEMENTED * @author Phillip Cardon * @version 0.1a + * @deprecated */ public class ChainLink extends PhysicalObject { //CONSTANTS diff --git a/src/tesseract/objects/Ellipsoid.java b/src/tesseract/objects/Ellipsoid.java index 593e228..3a617c0 100644 --- a/src/tesseract/objects/Ellipsoid.java +++ b/src/tesseract/objects/Ellipsoid.java @@ -74,6 +74,36 @@ public class Ellipsoid extends PhysicalObject { } updateTransformGroup(); } + + /** + * Create a new Ellipsoid. + * @author Phillip Cardon + * @param position Initial position. + * @param mass mass of ellipsoid + * @param radius a float for the size of the base sphere. + */ + public Ellipsoid(final Vector3f position, final float mass, + final float radius) { + super(position, mass); + + my_radius = radius; + + final float rSq = radius * radius; + final float a = 1.0f; + final float b = 1.0f; + final float c = 1.5f; + + + setShape(createDefaultEllipsoid(radius, a, b, c)); + + if (inverseMass != 0) { + inverseInertiaTensor.m00 = 1f / 5 / inverseMass * (b * rSq + c * rSq); + inverseInertiaTensor.m11 = 1f / 5 / inverseMass * (a * rSq + c * rSq); + inverseInertiaTensor.m22 = 1f / 5 / inverseMass * (a * rSq + b * rSq); + inverseInertiaTensor.invert(); + } + updateTransformGroup(); + } /** * Create a new Ellipsoid. -- cgit v1.2.3