Packageorg.generalrelativity.foam.dynamics.force.spring
Classpublic class Spring
InheritanceSpring Inheritance SimpleForceGenerator
ImplementsIForceGenerator
SubclassesBungee, RigidBodySpring



Public Properties
 PropertyDefined by
  restLength : Number
[write-only]
Spring
Protected Properties
 PropertyDefined by
  damp : Number
damping
Spring
  element1 : ISimulatable
element to generate spring force on
Spring
  element2 : ISimulatable
element to connect "other" end of spring to
Spring
 Inherited_force : Vector
force to apply to element(s)
SimpleForceGenerator
  k : Number
spring coefficient (0 - 1.0)
Spring
  _restLength : Number
the spring's happy length (where no force is generated
Spring
Public Methods
 MethodDefined by
  
Spring(element1:ISimulatable, element2:ISimulatable, k:Number = 0.01, damp:Number = 0.4)
Constructs a new Spring
Spring
  
clone(invert:Boolean = true):Spring
Clone's a Spring for use with another element
Spring
  
createDoubleSidedSpring(element1:ISimulatable, element2:ISimulatable, k:Number = 0.01, damp:Number = 0.1):void
[static] Creates forces for both elements
Spring
  
generate(element:ISimulatable):void
Spring
  
Spring
  
Spring
  
invert():void
Inverts the spring so that the force is applied to element2 instead of 1
Spring
Property detail
dampproperty
protected var damp:Number

damping

element1property 
protected var element1:ISimulatable

element to generate spring force on

element2property 
protected var element2:ISimulatable

element to connect "other" end of spring to

kproperty 
protected var k:Number

spring coefficient (0 - 1.0)

_restLengthproperty 
protected var _restLength:Number

the spring's happy length (where no force is generated

restLengthproperty 
restLength:Number  [write-only]Implementation
    public function set restLength(value:Number):void
Constructor detail
Spring()constructor
public function Spring(element1:ISimulatable, element2:ISimulatable, k:Number = 0.01, damp:Number = 0.4)

Constructs a new Spring

Parameters
element1:ISimulatable — element to generate spring force on
 
element2:ISimulatable — element to connect other end of spring to
 
k:Number (default = 0.01) — spring constant
 
damp:Number (default = 0.4) — damping coefficient
Method detail
clone()method
public function clone(invert:Boolean = true):Spring

Clone's a Spring for use with another element

Parameters
invert:Boolean (default = true) — specifies whether to invert the spring so that the force gets applied to element2

Returns
Spring — the newly cloned Spring
createDoubleSidedSpring()method 
public static function createDoubleSidedSpring(element1:ISimulatable, element2:ISimulatable, k:Number = 0.01, damp:Number = 0.1):void

Creates forces for both elements

Parameters
element1:ISimulatable
 
element2:ISimulatable
 
k:Number (default = 0.01)
 
damp:Number (default = 0.1)
generate()method 
public override function generate(element:ISimulatable):voidParameters
element:ISimulatable
getPoint1InWorldSpace()method 
public function getPoint1InWorldSpace():Vector

Returns
Vector
getPoint2InWorldSpace()method 
public function getPoint2InWorldSpace():Vector

Returns
Vector
invert()method 
public function invert():void

Inverts the spring so that the force is applied to element2 instead of 1