/* spring.java 
 * Created on Apr 25, 2006 
 */ 

/* spring.java 
 * Created on Apr 20, 2006 
 */ 


import processing.core.PApplet;

public class spring {
	int type;				// spring type
	float restLength; 		// spring restlength
	float softLength = 0; 	// springyness 
	int A, B; 				// particles that spring connects
	particleSystem parent;	// our reference particleSystem
	public PApplet p;		// mom.
	
	public spring(PApplet $p, particleSystem $parent, int $A, int $B) {
		p 		 = $p;
		parent	 = $parent;
		A		 = $A;
		B		 = $B;
		
		setRestLength();
	}
	
	// CALCULATE REST LENGTH
	public void setRestLength() {
		 float dx = parent.particles[B].loc.x - parent.particles[A].loc.x;
		 float dy = parent.particles[B].loc.y - parent.particles[A].loc.y;
		 restLength = PApplet.sqrt(dx*dx + dy*dy);
	}
	public void update(){}
	
	
	
	// SPRING DRAW
	public void draw() {
		  
		float x1,y1,x2,y2;
		x1 = parent.particles[A].loc.x;
		y1 = parent.particles[A].loc.y;
		x2 = parent.particles[B].loc.x;
		y2 = parent.particles[B].loc.y;
		// p.strokeWeight(2);
		p.stroke(0,0,0,20);
	p.stroke(84,169,242,80);
	p.strokeWeight(5);
	//p.line(x1,y1,x2,y2);
	p.bezier(x1,y1,x1+p.random(-10,10),y1+p.random(-10,10),x2+p.random(-10,10),y2+p.random(-10,10),x2,y2);
	
	p.noStroke();
		
	}
	
	
}
 
