summaryrefslogtreecommitdiff
path: root/src/tesseract/objects/Icosahedron.java
diff options
context:
space:
mode:
authorPhillip <pacardon@u.washington.edu>2011-02-23 08:01:32 +0000
committerPhillip <pacardon@u.washington.edu>2011-02-23 08:01:32 +0000
commit943d399633381d5a7138d7276eb13372288189d0 (patch)
tree72853d9350e869038f72c4cdfd96259dbf235c39 /src/tesseract/objects/Icosahedron.java
parentc730b47ab60148b4dc5c23317121619c4e63224c (diff)
Added color constructor.
Diffstat (limited to 'src/tesseract/objects/Icosahedron.java')
-rw-r--r--src/tesseract/objects/Icosahedron.java34
1 files changed, 28 insertions, 6 deletions
diff --git a/src/tesseract/objects/Icosahedron.java b/src/tesseract/objects/Icosahedron.java
index 67e74a3..39852df 100644
--- a/src/tesseract/objects/Icosahedron.java
+++ b/src/tesseract/objects/Icosahedron.java
@@ -5,6 +5,8 @@
*/
package tesseract.objects;
+import java.awt.Color;
+
import javax.media.j3d.Appearance;
import javax.media.j3d.ColoringAttributes;
import javax.media.j3d.GeometryArray;
@@ -12,6 +14,7 @@ import javax.media.j3d.Material;
import javax.media.j3d.Shape3D;
import javax.media.j3d.TransformGroup;
import javax.media.j3d.TriangleArray;
+import javax.vecmath.Color3f;
import javax.vecmath.Point3f;
import javax.vecmath.Vector3f;
@@ -46,7 +49,15 @@ public class Icosahedron extends PhysicalObject {
*/
private static final float GOLDEN_RATIO = (float) ((1.0 + Math.sqrt(5.0))
/ 2.0);
+ /**
+ * Default Object color.
+ */
+ private static final Color3f DEFAULT_COLOR = new Color3f(.9f, .05f, .05f);
+ /**
+ * User definable color.
+ */
+ private final Color3f myColor;
//CONSTRUCTORS
/**
@@ -54,12 +65,12 @@ public class Icosahedron extends PhysicalObject {
* @param position start position.
* @param mass start mass.
* @param scale of object.
+ * @param theColor of object.
*/
public Icosahedron(final Vector3f position, final float mass,
- final float scale) {
-
+ final float scale, final Color theColor) {
super(position, mass);
-
+ myColor = new Color3f(theColor);
setShape(buildIcosahedron(scale));
if (inverseMass != 0) {
@@ -73,6 +84,17 @@ public class Icosahedron extends PhysicalObject {
/**
* Create new Icosahedron.
+ * @param position start position.
+ * @param mass start mass.
+ * @param scale of object.
+ */
+ public Icosahedron(final Vector3f position, final float mass,
+ final float scale) {
+ this(position, mass, scale, DEFAULT_COLOR.get());
+ }
+
+ /**
+ * Create new Icosahedron.
* @param position Initial Position.
* @param mass object mass.
*/
@@ -206,10 +228,10 @@ public class Icosahedron extends PhysicalObject {
Shape3D shape = new Shape3D(geo.getGeometryArray());
Appearance meshApp = new Appearance();
Material surface = new Material();
- surface.setDiffuseColor(.9f, .05f, .05f);
+ surface.setDiffuseColor(myColor);
meshApp.setMaterial(surface);
- meshApp.setColoringAttributes(new ColoringAttributes(.9f,
- .05f, .05f, ColoringAttributes.NICEST));
+ meshApp.setColoringAttributes(new ColoringAttributes(myColor,
+ ColoringAttributes.NICEST));
shape.setAppearance(meshApp);
return shape;