diff options
author | Jesse Morgan <jesse@jesterpm.net> | 2011-01-28 18:52:51 +0000 |
---|---|---|
committer | Jesse Morgan <jesse@jesterpm.net> | 2011-01-28 18:52:51 +0000 |
commit | fc40e7f6e3165a002326c92401c17951b7048a32 (patch) | |
tree | ccbb0fa261c51de242cf32a3aa622c78103b352f /src/tesseract/forces/Force.java | |
parent | 380952816905723a8f3a18104e18e92ba85b2b88 (diff) |
And we now have a basic 3d world :D
Diffstat (limited to 'src/tesseract/forces/Force.java')
-rw-r--r-- | src/tesseract/forces/Force.java | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/tesseract/forces/Force.java b/src/tesseract/forces/Force.java new file mode 100644 index 0000000..60498a1 --- /dev/null +++ b/src/tesseract/forces/Force.java @@ -0,0 +1,29 @@ +package tesseract.forces; + +import javax.vecmath.Vector3f; + +import tesseract.objects.Forceable; + +/** + * Abstract Force class. + * + * @author Jesse Morgan + */ +public abstract class Force { + + /** + * Calculate the force to apply to the give object. + * @param obj The given object. + * @return A vector describing the force. + */ + protected abstract Vector3f calculateForce(final Forceable obj); + + /** + * Apply this force to the given object. + * + * @param obj The given object. + */ + public void applyForceTo(final Forceable obj) { + obj.addForce(calculateForce(obj)); + } +} |