Обнаружение пути WPF для части пути - PullRequest
0 голосов
/ 05 февраля 2020

Как ответил Клеменс ( Обнаружение коллизий путей WPF? ), можно обнаружить, когда пути касаются / перекрываются этим кодом:

var intersectionDetail = path1.Data.FillContainsWithDetail(path2.Data);

if (intersectionDetail != IntersectionDetail.NotCalculated &&
    intersectionDetail != IntersectionDetail.Empty)
{
    // collision
}

Возможно ли это сделать с разделом пути? Или мне нужно разделить путь на два отдельных пути и использовать их по отдельности?

1 Ответ

0 голосов
/ 06 февраля 2020

После нескольких часов проб разных вещей разделение пути кажется лучшим подходом (и работает). Я разделил путь вниз по известной позиции и использовал код, как и раньше - но обновил для работы с двумя:

var intersectionDetail1 = path1.Data.FillContainsWithDetail(path2.Data);
var intersectionDetail2 = path1.Data.FillContainsWithDetail(path3.Data);

if (intersectionDetail1 != IntersectionDetail1.NotCalculated &&
    intersectionDetail1 != IntersectionDetail1.Empty)
{
    // collision with path part 1
}

if (intersectionDetail2 != IntersectionDetail2.NotCalculated &&
    intersectionDetail2 != IntersectionDetail2.Empty)
{
    // collision with path part 2
}

В этом примере путь 2 из оригинала был разделен на path2 и path3. Если у path1 есть коллизия с любым из них, они обнаруживаются отдельно.

...