package flare.physics
{
/**
* Force simulating frictional drag forces (e.g., air resistance). For
* each particle, this force applies a drag based on the particles
* velocity (F = a * v
, where a is a drag co-efficient and
* v is the velocity of the particle).
*/
public class DragForce implements IForce
{
private var _dc:Number;
/** The drag co-efficient. */
public function get drag():Number { return _dc; }
public function set drag(dc:Number):void { _dc = dc; }
/**
* Creates a new DragForce with given drag co-efficient.
* @param dc the drag co-efficient.
*/
public function DragForce(dc:Number=0.1) {
_dc = dc;
}
/**
* Applies this force to a simulation.
* @param sim the Simulation to apply the force to
*/
public function apply(sim:Simulation):void
{
if (_dc == 0) return;
for (var i:uint = 0; i