All pastes #770237 Raw Edit

houlala

public cpp v1 · immutable
·published 2007-11-12 00:47 UTC
rendered paste body
void Split :: rec_merge(QuadTree * _node, double _p){	QuadTree * c, * n;	double pMin, pMax, pct;		if(_node == NULL || _node->done == true)		return;		if(_node->ne != NULL)	{		rec_merge(_node->nw, _p);		rec_merge(_node->ne, _p);		rec_merge(_node->sw, _p);		rec_merge(_node->se, _p);	}	else	{		c = _node;		pct  = (_p * 255.0f) / 100.0;		pMin = c->mean - pct;		pMax = c->mean + pct;		c->done = true;		for(list<QuadTree *>::iterator it = c->neighbours.begin(); it != c->neighbours.end(); it++)		{			n = *it;						if(n->done == false)			{				if(n->mean >= pMin && n->mean <= pMax)				{					for(int l(n->bbox[0][1]); l < n->bbox[1][1]; l++)						for(int k(n->bbox[0][0]); k < n->bbox[1][0]; k++)							result[l * rows + k] = (unsigned char)c->mean;											rec_merge(n, _p);				}			}		}		for(int l(c->bbox[0][1]); l < c->bbox[1][1]; l++)			for(int k(c->bbox[0][0]); k < c->bbox[1][0]; k++)				result[l * rows + k] = (unsigned char)c->mean;	}}