Blob tracking and collision detection

Yes sorry, I realised while I was writing it out that I wasn’t even sure how to explain!

I’m converting the blobs found into circles and using circle collision detection at the moment, so finding the distance between two centre points and subtracting their combined radius’. Indicated by this piece of code in void collide:

//distance between centre point of 2 blobs
      float distance = sqrt (dx*dx + dy*dy);
      
      //radius of both blobs combined
      float minDist = others[i].diameter/2 + diameter/2;

However, I can’t seem to get this piece of code working when I add it to my blob tracking program, as to do this tracking, the class blob expects:

Blob(float x, float y, float din, float idin, Blob [] oin)

and I’m not sure how to translate din, idin and oin when i call for blobs to be created in the main sketch as the original call:

Blob b = new Blob (x,y)

probably needs to include ( x, y, din, idin, blob) as constructors? As it it is Blob (int, int) does not exist, and when I add the floats din and idin they cannot be resolved to a variable.

The option you quoted was me attempting to figure out how to do it without declaring these variables in the blob class - but I have no idea how to compare one blob to another in a potentially endless array… I believe that I would run into the same problem in polygonal collision detection? I could be wrong… I’m so lost with this.