Esempio n. 1
0
    bool Intersects (const Region &region) const
    {
        float xsum = Width() + region.Width();
        float ysum = Height() + region.Height();

        float xcenter = (region.minX+region.maxX) - (minX+maxX);
        float ycenter = (region.minY+region.maxY) - (minY+maxY);

        return std::abs((double)xcenter) < xsum && std::abs((double)ycenter) < ysum;
    }
Esempio n. 2
0
void Image::remove(Region& reg)
{
	int minX, minY, maxX, maxY;

	minX = reg.OffsetX();
	minY = reg.OffsetY();

	maxX = width < minX + reg.Width() ? width : minX + reg.Width();
	maxY = height < minY + reg.Height() ? height : minY + reg.Height();

	int i, j;

	for (j = minY; j < maxY; j++)
	{
		for (i = minX; i < maxX; i++)
		{
			if (reg(i - minX, j - minY) == 255)
			{
				this->operator ()(i, j) = 0;
			}
		}
	}

}