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/ChainLink2.java | 39 +++++++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) (limited to 'src/tesseract/objects/ChainLink2.java') diff --git a/src/tesseract/objects/ChainLink2.java b/src/tesseract/objects/ChainLink2.java index 23a8097..90ded50 100644 --- a/src/tesseract/objects/ChainLink2.java +++ b/src/tesseract/objects/ChainLink2.java @@ -1,11 +1,14 @@ 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; @@ -43,6 +46,16 @@ public class ChainLink2 extends PhysicalObject { */ protected static final int SLICE_DIVISIONS = 16; + /** + * default color. + */ + public static final Color3f DEFAULT_COLOR = new Color3f(1, 0, 0); + + /** + * Object color. + */ + private final Color3f myColor; + /** * Construct a chain link. * @@ -51,7 +64,8 @@ public class ChainLink2 extends PhysicalObject { */ public ChainLink2(final Vector3f thePosition, final float mass) { this(thePosition, mass, DEFAULT_LENGTH * DEFAULT_DIAMETER_RATIO, - DEFAULT_LENGTH, DEFAULT_LENGTH * DEFAULT_WIDTH_RATIO); + DEFAULT_LENGTH, DEFAULT_LENGTH * DEFAULT_WIDTH_RATIO, + DEFAULT_COLOR.get()); } /** @@ -65,7 +79,7 @@ public class ChainLink2 extends PhysicalObject { public ChainLink2(final Vector3f thePosition, final float mass, final float length) { this(thePosition, mass, length * DEFAULT_DIAMETER_RATIO, - length, length * DEFAULT_WIDTH_RATIO); + length, length * DEFAULT_WIDTH_RATIO, DEFAULT_COLOR.get()); } /** @@ -76,11 +90,28 @@ public class ChainLink2 extends PhysicalObject { * @param diameter Diameter of link. * @param length Length of link. * @param width Width of link. + * @param theColor color of link. */ public ChainLink2(final Vector3f thePosition, final float mass, final float diameter, final float length, final float width) { + this(thePosition, mass, diameter, length, width, DEFAULT_COLOR.get()); + } + + /** + * Construct a Chain Link. + * + * @param thePosition Position. + * @param mass Mass. + * @param diameter Diameter of link. + * @param length Length of link. + * @param width Width of link. + * @param theColor color of link. + */ + public ChainLink2(final Vector3f thePosition, final float mass, + final float diameter, final float length, final float width, + final Color theColor) { super(thePosition, mass); - + myColor = new Color3f(theColor); setShape(createShape(SLICE_COUNT, SLICE_DIVISIONS, diameter, length, width)); @@ -205,7 +236,7 @@ public class ChainLink2 extends PhysicalObject { Shape3D shape = new Shape3D(gInfo.getGeometryArray()); 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