void SATGroup::_BottomNeighbours(WindowAreaList& neighbourWindows, WindowArea* parent) { float startPos = parent->LeftBottomCrossing()->VerticalTab()->Position(); float endPos = parent->RightBottomCrossing()->VerticalTab()->Position(); Tab* tab = parent->LeftBottomCrossing()->HorizontalTab(); const CrossingList* crossingList = tab->GetCrossingList(); for (int i = 0; i < crossingList->CountItems(); i++) { Corner* corner = crossingList->ItemAt(i)->LeftBottomCorner(); if (corner->status != Corner::kUsed) continue; WindowArea* area = corner->windowArea; float pos1 = area->LeftBottomCrossing()->VerticalTab()->Position(); float pos2 = area->RightBottomCrossing()->VerticalTab()->Position(); if (pos1 < endPos && pos2 > startPos) neighbourWindows.AddItem(area); if (pos2 > endPos) break; } }