#include "stdafx.h"
#include "analyze3.h"
#include "Blob.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////

Blob::Blob()
{
   hull = NULL;
   nHull = 0;   
   centroid.x = centroid.y = 0;
   bbTopLeft.x = bbTopLeft.y = 0;
   bbBottomRight.x = bbBottomRight.y = 0;
   mass = 0;
}

Blob::~Blob()
{
   DeleteCleanA(hull);
}


void Blob::RenderBB(IplImage *pImg, int color, int bVerts)
{
   CvPoint a, b;

   a = bbTopLeft;
   if (bVerts) cvCircle(pImg, a, 1, color, 2);
   b.x = bbTopLeft.x;
   b.y = bbBottomRight.y;
   if (bVerts) cvCircle(pImg, b, 1, color, 2);
   cvLine(pImg, a, b, 1, color);
   a = bbBottomRight;
   if (bVerts) cvCircle(pImg, a, 1, color, 2);
   cvLine(pImg, a, b, 1, color);
   
   a = bbTopLeft;
   b.x = bbBottomRight.x;
   b.y = bbTopLeft.y;
   if (bVerts) cvCircle(pImg, b, 1, color, 2);
   cvLine(pImg, a, b, 1, color);
   a = bbBottomRight;
   cvLine(pImg, a, b, 1, color);   
}


