parameters: (self, stiffness, damping, restLength, endMass1, endMass2,
  						endP1, endP2, endV1, endV2, forceV1, forceV2)
docstring: In this overridden method, the attribute, aSpringFactor, is used
  		 to compute output force with a simple spring law.
  
  		    F = - factor * (L - restLength) * Vector of (endP1 - endP2).
docstring_summary: In this overridden method, the attribute, aSpringFactor, is used
  		 to compute output force with a simple spring law.
docstring_tokens: In this overridden method the attribute aSpringFactor is used to compute output force with a simple spring law .
function: def applySpringLaw(self, stiffness, damping, restLength, endMass1, endMass2,
  						endP1, endP2, endV1, endV2, forceV1, forceV2):
  		"""
  		 In this overridden method, the attribute, aSpringFactor, is used
  		 to compute output force with a simple spring law.
  
  		    F = - factor * (L - restLength) * Vector of (endP1 - endP2).
  		"""
  		distV = endP1 - endP2
  		L = distV.length()
  		distV.normalize()
  
  		F = self.__myFactor * (L - restLength)
  
  		v1 = distV * -F
  		forceV1.x = v1.x
  		forceV1.y = v1.y
  		forceV1.z = v1.z
  
  		v2 = -forceV1
  		forceV2.x = v2.x
  		forceV2.y = v2.y
  		forceV2.z = v2.z
function_tokens: def applySpringLaw ( self , stiffness , damping , restLength , endMass1 , endMass2 , endP1 , endP2 , endV1 , endV2 , forceV1 , forceV2 ) : distV = endP1 - endP2 L = distV . length ( ) distV . normalize ( ) F = self . __myFactor * ( L - restLength ) v1 = distV * - F forceV1 . x = v1 . x forceV1 . y = v1 . y forceV1 . z = v1 . z v2 = - forceV1 forceV2 . x = v2 . x forceV2 . y = v2 . y forceV2 . z = v2 . z