Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: CynicVest от Май 06, 2011, 00:59



Название: реализовать класс MapPolyLine
Отправлено: CynicVest от Май 06, 2011, 00:59
Здравствуйте. стоит задача написать гис-вьюер под симбиан, векторный ><
решила использовать QGraphicsScene, QGraphicsView и т.д
подскажите, как луше реализовать класс полилинии, если остальные классы наследуются по типу:
Код:
class MapLine: public QGraphicsLineItem
{
public:
    MapLine(qreal x1, qreal y1, qreal x2, qreal y2): QGraphicsLineItem (x1, y1, x2, y2)
    {
    }
};

логично было бы в классе MapPolyLine хранить QList<QPointF> nodes с узлами, и в QList<QGraphicsLineItem> lines добавлять линии, затем присваивать это все текущей сцене.

есть нежизнеспособный набросок кода, который бы устроил функционально, при добавлении узла и соответсвенно линии
Код:
void MapPolyLine::AddNode(QPointF node)
{
  nodes.append(node);
  if (nodes.size()>1)
  {
      lines.append(new QGraphicsLineItem(nodes[nodes.count()-2].x(), nodes[nodes.count()-2].y(), nodes[nodes.count()-1].x(), nodes[nodes.count()-1].y()));
  }
};
собственно, как бы так создавать линии и засовывать их в список,ничего не засорив(