Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: INZER от Март 04, 2015, 13:39



Название: Рисование на географической карте (QGraphicsItem)
Отправлено: INZER от Март 04, 2015, 13:39
Задача следующая: на географической карте необходимо нарисовать радиолокационную станцию (графическое изображение (*.png), текстовое описание- ееназвание и зону охвата - круг).
(http://savepic.su/5289467.png)
Графическое изображение должно выделяться.

При наследовании от QgraphicsItem столкнулся со следующим.
Необходимо переопределить функцию
Код:
QRectF boundingRect() const
Как я понял она должна возвращать большой черный квадрат с рисунка выше, этот квадрат используется для перерисовки объекта при масштабировании и др.
Так же она отвечает за выбор элемента со сцены, но мне выбрать элемент нужно не по большой области, а тыкая по пиктограмме станции.

Я заблуждаюсь? Как можно выкрутиться из этого?



Название: Re: Рисование на географической карте (QGraphicsItem)
Отправлено: Fregloin от Март 05, 2015, 10:15
boundingRect используется для внутренних расчетов при отрисовске сцены и столкновений элементов.
если вам нужно более точное определение фиугры то смотрите в сторону метода shape(), в котором вы возвращаете именно фигуру QPainterPath, в данном случае круг радара.
Но в любом случае boundingRect вам нужно возвращать, только в данном случае можно так

Код:

QPainterPath MyClass::shape() const {
QPainterPath p;
p.addEllipse(...); //пишу по памяти, не уверен что эллипс, может есть круг
return p;
}

QRectF MyClass::boundingRect() const {
 return shape().boundingRect();
}



Название: Re: Рисование на географической карте (QGraphicsItem)
Отправлено: fdfsdfgjfh от Март 05, 2015, 21:23
карта только 2D? рлс не только кругом помечается


Название: Re: Рисование на географической карте (QGraphicsItem)
Отправлено: INZER от Март 06, 2015, 09:54
2D, РЛС помечается иконкой с надписью и кругом зоны охвата


Название: Re: Рисование на географической карте (QGraphicsItem)
Отправлено: Fregloin от Март 06, 2015, 10:56
я вам написал простое решение, судя по всему вы даже не удосужились его проверить.


Название: Re: Рисование на географической карте (QGraphicsItem)
Отправлено: INZER от Март 06, 2015, 12:02
Цитировать
я вам написал простое решение, судя по всему вы даже не удосужились его проверить.
Зря вы так, спасибо за направление в нужную сторону....


Название: Re: Рисование на географической карте (QGraphicsItem)
Отправлено: fdfsdfgjfh от Март 11, 2015, 20:50
Если не секрет, что за проект разрабатываете?


Название: Re: Рисование на географической карте (QGraphicsItem)
Отправлено: INZER от Март 12, 2015, 14:52
Мониторинг состояния РЛС


Название: Re: Рисование на географической карте (QGraphicsItem)
Отправлено: fdfsdfgjfh от Март 12, 2015, 20:38
2D, РЛС помечается иконкой с надписью и кругом зоны охвата

а для круга будет учитываться рельеф (высота)?


Название: Re: Рисование на географической карте (QGraphicsItem)
Отправлено: INZER от Март 13, 2015, 13:08
2D, РЛС помечается иконкой с надписью и кругом зоны охвата

а для круга будет учитываться рельеф (высота)?

С учетом рельефа рассчитываются точки для установки наземных станций. Все это сделано ранее ...
В данной задаче достаточно схематично отрисовать зону покрытия (не учитывая рельеф, погодные условия и т.д.)