diff options
author | Phillip <pacardon@u.washington.edu> | 2011-02-23 08:01:32 +0000 |
---|---|---|
committer | Phillip <pacardon@u.washington.edu> | 2011-02-23 08:01:32 +0000 |
commit | 943d399633381d5a7138d7276eb13372288189d0 (patch) | |
tree | 72853d9350e869038f72c4cdfd96259dbf235c39 /src/tesseract/objects/Toroid.java | |
parent | c730b47ab60148b4dc5c23317121619c4e63224c (diff) |
Added color constructor.
Diffstat (limited to 'src/tesseract/objects/Toroid.java')
-rw-r--r-- | src/tesseract/objects/Toroid.java | 34 |
1 files changed, 32 insertions, 2 deletions
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;
@@ -35,6 +38,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.
* @param scale mesh scale.
@@ -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);
|