コード例 #1
0
ファイル: block.cpp プロジェクト: 3660628/mrpt
bool wxBlockDouble::Combine(const wxBlockDouble &b)
{
    if (!Touches(b)) return false;
    if (Contains(b)) return true;
    if (b.Contains(*this))
    {
        *this = b;
        return true;
    }

    wxBlockDouble unionBlock;
    Union( *this, b, &unionBlock );

    if (unionBlock.IsEmpty()) return false;

    // at least one of the two blocks has to be at each corner of the union
    if (((unionBlock.GetLeftTop() == GetLeftTop()) || (unionBlock.GetLeftTop() == b.GetLeftTop())) &&
        ((unionBlock.GetRightTop() == GetRightTop()) || (unionBlock.GetRightTop() == b.GetRightTop())) &&
        ((unionBlock.GetLeftBottom() == GetLeftBottom()) || (unionBlock.GetLeftBottom() == b.GetLeftBottom())) &&
        ((unionBlock.GetRightBottom() == GetRightBottom()) || (unionBlock.GetRightBottom() == b.GetRightBottom())) )
    {
        *this = unionBlock;
        return true;
    }

    return false;
}
コード例 #2
0
ファイル: MyMaths.cpp プロジェクト: TylerJMiller/SHMUP
Line Box::GetLeftLine()
{
	Line l(GetLeftTop(), GetLeftBot());
	return l;
}
コード例 #3
0
ファイル: MyMaths.cpp プロジェクト: TylerJMiller/SHMUP
Line Box::GetTopLine()
{
	Line l(GetRightTop(), GetLeftTop());
	return l;
}