From fc40e7f6e3165a002326c92401c17951b7048a32 Mon Sep 17 00:00:00 2001 From: Jesse Morgan Date: Fri, 28 Jan 2011 18:52:51 +0000 Subject: And we now have a basic 3d world :D --- src/tesseract/forces/Force.java | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/tesseract/forces/Force.java (limited to 'src/tesseract/forces/Force.java') 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)); + } +} -- cgit v1.2.3