anchor.diff:    End;
   
     ClothParticle = Object
  -	  CurrentPosition:Vector3D;
  -  	CurrentVelocity:Vector3D;
  -
  -	  NextPosition:Vector3D;
  -  	NextVelocity:Vector3D;
  -
  -	  InverseMass:Single;
  -
  -	//Is this ball held in position?
  -	  Fixed:Boolean;
  -
  -    Springs:Array Of ClothSpringLink;
  -    SpringCount:Integer;
  -
  -    Procedure AddSpring(SpringIndex, ParticleIndex:Integer);
  +    Protected
  +	    CurrentPosition:Vector3D;
  +    	CurrentVelocity:Vector3D;
  +
  +	    NextPosition:Vector3D;
  +  	  NextVelocity:Vector3D;
  +
  +      _Tension:Vector3D;
  +	    _InverseMass:Single;
  +
  +  	  //Is this ball held in position?
  +	    _Fixed:Boolean;
     End;
   
     ClothSystem = Class(TERRAObject)
  
positive.code:   For J:=0 To Pred(gridSize-1) Do
      For I:=0 To Pred(gridSize) Do
      Begin
  			_Springs[CurrentSpring].Init(Self, J*gridSize+I, (J+1)*gridSize+I, naturalLength);
  			Inc(currentSpring);
      End;
  
  
negative.code: End;
  
  { ClothSpring }
  Procedure ClothSpring.Init(PID1, PID2: Integer; Len, Stiffness:Double);
  Begin
    Self.P1 := PID1;
    Self.P2 := PID2;
    Self._NaturalLength := Len;
    Self._InverseLength := 1.0 / Len;
    Self._Stiffness := Stiffness;
  End;
  
  { ClothSystem }
  