From 943d399633381d5a7138d7276eb13372288189d0 Mon Sep 17 00:00:00 2001 From: Phillip Date: Wed, 23 Feb 2011 08:01:32 +0000 Subject: Added color constructor. --- src/tesseract/objects/Toroid.java | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) (limited to 'src/tesseract/objects/Toroid.java') diff --git a/src/tesseract/objects/Toroid.java b/src/tesseract/objects/Toroid.java index 7528129..75ead89 100644 --- a/src/tesseract/objects/Toroid.java +++ b/src/tesseract/objects/Toroid.java @@ -5,12 +5,15 @@ */ package tesseract.objects; +import java.awt.Color; + import javax.media.j3d.Appearance; import javax.media.j3d.IndexedQuadArray; import javax.media.j3d.Material; import javax.media.j3d.PointArray; import javax.media.j3d.Shape3D; import javax.media.j3d.Transform3D; +import javax.vecmath.Color3f; import javax.vecmath.Point3f; import javax.vecmath.Vector3f; @@ -34,6 +37,16 @@ public class Toroid extends PhysicalObject { */ private static final float INEERTIA_TENSOR_CONSTANT5 = 5f; + /** + * Default color. + */ + private static final Color3f DEFAULT_COLOR = new Color3f(1, 0, 0); + + /** + * Object color. + */ + private final Color3f myColor; + /** * @param position starting position. * @param mass of object. @@ -46,8 +59,25 @@ public class Toroid extends PhysicalObject { public Toroid(final Vector3f position, final float mass, final float scale, final float sliceRadius, final int sliceDivisions, final float arcRadius, final int arcDivisions) { + this(position, mass, scale, sliceRadius, sliceDivisions, + arcRadius, arcDivisions, DEFAULT_COLOR.get()); + } + + /** + * @param position starting position. + * @param mass of object. + * @param scale mesh scale. + * @param sliceRadius radius of slice "flesh." + * @param sliceDivisions resolution of slice "flesh" circles. + * @param arcRadius Radius of donut circle + * @param arcDivisions resolution of slices on donut. + * @param theColor of toroid. + */ + public Toroid(final Vector3f position, final float mass, final float scale, + final float sliceRadius, final int sliceDivisions, + final float arcRadius, final int arcDivisions, Color theColor) { super(position, mass); - + myColor = new Color3f(theColor); setShape(buildToroid(scale, sliceRadius, sliceDivisions, arcRadius, arcDivisions)); if (inverseMass != 0) { @@ -154,7 +184,7 @@ public class Toroid extends PhysicalObject { Appearance app = new Appearance(); Material mat = new Material(); - mat.setDiffuseColor(1, 0, 0); + mat.setDiffuseColor(myColor); app.setMaterial(mat); shape.setAppearance(app); -- cgit v1.2.3