select
this.selectBlob = function(x, y)
{
var i, minDist = 10000.0;
var otherPointMass;
var selectedBlob;
var selectOffset = null;
if(this.selectedBlob != null)
{
return;
}
for(i = 0; i < this.blobs.length; i++)
{
if(this.blobs[i] == null)
{
continue;
}
otherPointMass = this.blobs[i].getMiddlePointMass();
aXbX = x - otherPointMass.getXPos();
aYbY = y - otherPointMass.getYPos();
dist = aXbX * aXbX + aYbY * aYbY;
if(dist < minDist)
{
minDist = dist;
if(dist < this.blobs[i].getRadius() * 0.5)
{
this.selectedBlob = this.blobs[i];
selectOffset = { x : aXbX, y : aYbY };
}
}
}
if(this.selectedBlob != null)
{
this.selectedBlob.setSelected(true);
}
return selectOffset;
}