Я реализую алгоритм, который вычисляет путь для дисковых роботов в плоскости и хочу визуализировать движение роботов по этому пути.
A путь является вектором подпутей , где каждый подпуть является списком
pair<QPointF,QPointF>
элементов. Первый QPointF представляет текущую позицию A, а второй - B. Два робота перемещаются одновременно из одной пары в другую.
Мне удалось успешно визуализировать движение роботов в пределах подпути, используя QPropertyAnimation
для каждого робота и QtParallelAnimationGroup
для двух QPropertyAnimation
объектов.
Проблема в том, что для каждого подпути мне нужно отображать на экране определенный график (набор линий / ребер и точек), который остается неизменным на протяжении всей анимации подпути и изменяется только тогда, когда роботы переходят к следующему подпути. .
Я пытался добавлять график на экран каждый раз, когда QPropertyAnimation
заканчивает текущую анимацию подпути, но кажется, что анимация выполняется в том же потоке, что и код, поэтому я не могу использовать while (propAnim->state() != QAbstractAnimation::Stopped){}
.
У кого-нибудь есть предложения, как преодолеть эту проблему?