import javax.media.j3d.*;
import javax.vecmath.*;

class Bone {
    Joint startJoint, endJoint;
    Shape3D boneShape3D;

    Bone(Joint start, Joint end) {
        startJoint = start;
        endJoint = end;
        
        createShape();
        //{{INIT_CONTROLS
		//}}
    }
    
    public Shape3D getBoneShape() {
        return boneShape3D;
    }
    
    public String toString() {
        return startJoint.name+" ---> "+ endJoint.name + 
                "(size: "+endJoint.xOffset+", "+endJoint.yOffset+
                ", "+endJoint.zOffset+")" ;
    }
    
    // PRIVATE METHODS
    
    private void createShape() {
        LineArray boneLine = new LineArray(2, LineArray.COORDINATES);
        //boneLine.setCoordinate(0, new Point3f(startX, startY, startZ));
        boneLine.setCoordinate(0, new Point3f(0f, 0f, 0f));
        boneLine.setCoordinate(1, new Point3f(
                    endJoint.xOffset, endJoint.yOffset, endJoint.zOffset));
        
        boneShape3D = new Shape3D(boneLine);
    }
	//{{DECLARE_CONTROLS
	//}}
}