MainWindow::MainWindow(const Ped::Model &model) : model(model) { // The Window graphicsView = new QGraphicsView(); setCentralWidget(graphicsView); // A surface for managing a large number of 2D graphical items scene = new QGraphicsScene(QRect(0,0,800,600),this); // Connect graphicsView->setScene(scene); // Paint on surface scene->setBackgroundBrush(Qt::black); //graphicsscene->setItemIndexMethod(QGraphicsScene::NoIndex); for (int x=0; x<=800; x+=cellsizePixel) { scene->addLine(x,0,x,800, QPen(Qt::gray)); } // Now add the horizontal lines, paint them green for (int y=0; y<=800; y+=cellsizePixel) { scene->addLine(0,y,800,y, QPen(Qt::gray)); } // Create viewAgents with references to the position of the model counterparts const std::vector<Ped::Tagent*> &agents = model.getAgents(); std::vector<Ped::Tagent*>::const_iterator it; for (it = agents.begin(); it != agents.end(); it++) { viewAgents.push_back(new ViewAgent(*it,scene)); } //////////// /// NEW /////////////////////////////////////////////// const int heatmapSize = model.getHeatmapSize(); QPixmap pixmapDummy = QPixmap(heatmapSize, heatmapSize); pixmap = scene->addPixmap(pixmapDummy); //////////// /// END NEW /////////////////////////////////////////////// paint(); graphicsView->show(); // Redundant? }
MainWindow::MainWindow(const Ped::Model &model) : model(model) { // The Window graphicsView = new QGraphicsView(); setCentralWidget(graphicsView); // A surface for managing a large number of 2D graphical items scene = new QGraphicsScene(QRect(0,0,800,600),this); // Connect graphicsView->setScene(scene); for (int x=0; x<=800; x+=cellsizePixel) { scene->addLine(x,0,x,800, QPen(Qt::gray)); } // Now add the horizontal lines, paint them green for (int y=0; y<=800; y+=cellsizePixel) { scene->addLine(0,y,800,y, QPen(Qt::gray)); } // Create viewAgents with references to the position of the model counterparts auto &agents = model.getAgents(); for(auto agent : agents) { viewAgents.push_back(new ViewAgent(agent, scene)); } #ifdef ASSIGNMENT_4 const int heatmapSize = model.getHeatmapSize(); QPixmap pixmapDummy = QPixmap(heatmapSize, heatmapSize); pixmap = scene->addPixmap(pixmapDummy); #endif paint(); graphicsView->show(); // Redundant? }