diff options
author | Jesse Morgan <jesse@jesterpm.net> | 2011-03-09 02:48:37 +0000 |
---|---|---|
committer | Jesse Morgan <jesse@jesterpm.net> | 2011-03-09 02:48:37 +0000 |
commit | 5d414f403fa98094c6c571ad7c91342bfcc69883 (patch) | |
tree | 72437c1f60df43ee465a7ce212111cfba9a08376 /src/common/Particle.java | |
parent | b48fff6b59100439ab3992208800ff0932f85b02 (diff) |
Adding more stuff to common.
Diffstat (limited to 'src/common/Particle.java')
-rw-r--r-- | src/common/Particle.java | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/common/Particle.java b/src/common/Particle.java new file mode 100644 index 0000000..f469f09 --- /dev/null +++ b/src/common/Particle.java @@ -0,0 +1,31 @@ +package common;
+
+import com.sun.j3d.utils.geometry.Sphere;
+import java.awt.*;
+import javax.media.j3d.*;
+import javax.vecmath.*;
+
+@SuppressWarnings("restriction")
+public class Particle extends CollidableObject {
+ protected static final float RADIUS = 0.04f;
+
+ public Particle(Color3f color, Vector3f position, Vector3f velocity) {
+ this(1, color, position, velocity);
+ }
+
+ public Particle(float mass, Color3f color, Vector3f position, Vector3f velocity) {
+ super(mass);
+ setShape(createShape(color));
+ this.position.set(position);
+ this.velocity = new Vector3f(velocity);
+ updateTransformGroup();
+ }
+
+ private Node createShape(Color3f color) {
+ if (color == null)
+ color = new Color3f(Color.getHSBColor((float)Math.random(), 1, 1));
+ Appearance appearance = new Appearance();
+ appearance.setColoringAttributes(new ColoringAttributes(color, ColoringAttributes.FASTEST));
+ return new Sphere(RADIUS, 0, 8, appearance);
+ }
+}
|