jak wykryć czy obiekty się najechały na siebie (WPF)

0

Witam. Mam napisaną aplikację w WPF z wykorzystaniem Surface SDK. Ogólnie pliki wysypują się tak jak by na stół (ScatterView). Każdy obiekt jest typu ScatterViewItem. Teraz mam straszny problem z tym jak wykryć czy obiekty się najechały na siebie. Chciałbym zrobić coś takiego że jak użytkownik przesunie jeden obiekt na drugi to obiekty się zgrupują (dodatkowo pojawi się button do rozgrupowania). Tylko nie do końca wiem jak wykryć czy obiekty się najechały na siebie.

0

Masz współrzędne jednego, masz współrzędne drugiego. Traktujesz oba jak prostokąty - i sprawdzasz czy się przecinają. Najprostsza matematyka na świecie.

0

Nie no matematycznie to wiem jak to zrobic, tylko myślałem że jest może jakas funkcja odpowiedzialna za to tak jak w Rectangle.Intersect. poza tym jak uzytkownik przesunie dany obiekt w jakies miejsce to mam iteracyjnie porównywać jego położenie z każdym innym obiektem czy jest jakis łatwiejszy sposób sprawdzenia.

0

Najpierw sprawdzasz, czy jest nad oknem. Nie -> nic nie sprawdzasz.

Samo okno możesz podzielić liniami na sekcje. Wielkości i położenie sekcji zapisujesz w stałych i sprawdzasz w której sekcji jest plik, a później nad którą kontrolką w tej sekcji.

Ewentualnie układać kontrolki w drzewie binarnym w zależności od położenia (ale współprzędne masz 2/3, więc możesz nawet 2/3 drzewa zrobić tylko w celu wyszukiwania).

1 użytkowników online, w tym zalogowanych: 0, gości: 1