1 package prefuse.util.force; 2 3 8 public class DragForce extends AbstractForce { 9 10 private static String [] pnames = new String [] { "DragCoefficient" }; 11 12 public static final float DEFAULT_DRAG_COEFF = 0.01f; 13 public static final float DEFAULT_MIN_DRAG_COEFF = 0.0f; 14 public static final float DEFAULT_MAX_DRAG_COEFF = 0.1f; 15 public static final int DRAG_COEFF = 0; 16 17 21 public DragForce(float dragCoeff) { 22 params = new float[] { dragCoeff }; 23 minValues = new float[] { DEFAULT_MIN_DRAG_COEFF }; 24 maxValues = new float[] { DEFAULT_MAX_DRAG_COEFF }; 25 } 26 27 30 public DragForce() { 31 this(DEFAULT_DRAG_COEFF); 32 } 33 34 38 public boolean isItemForce() { 39 return true; 40 } 41 42 45 protected String [] getParameterNames() { 46 return pnames; 47 } 48 49 52 public void getForce(ForceItem item) { 53 item.force[0] -= params[DRAG_COEFF]*item.velocity[0]; 54 item.force[1] -= params[DRAG_COEFF]*item.velocity[1]; 55 } 56 57 } | Popular Tags |