void MainWindow::on_generateEnvironment_clicked() { if(!Directory.exists()&&save){QMessageBox::warning(0,"Error","No such directory.", QMessageBox::Ok);return;} for(int i=0;i<generations;i++) { environmentobject->regenerate(); RefreshEnvironment(); qApp->processEvents(); if(save) { QImage saveImage(GRID_X,GRID_Y,QImage::Format_RGB32); for (int n=0; n<GRID_X; n++) for (int m=0; m<GRID_Y; m++) saveImage.setPixel(n,m,qRgb(environmentobject->environment[n][m][0], environmentobject->environment[n][m][1], environmentobject->environment[n][m][2])); QString dir2; if(i<10)dir2 = QString(Directory.path() + "/000%1.bmp").arg(i); if(i>9&&i<100)dir2 = QString(Directory.path() + "/00%1.bmp").arg(i); if(i>99&&i<1000)dir2 = QString(Directory.path() + "/0%1.bmp").arg(i); if(i>999)dir2 = QString(Directory.path() + "/%1.bmp").arg(i); saveImage.save(dir2); } } }
void MainWindow::on_generateEnvironment_clicked() { if(!Directory.exists()&&save){QMessageBox::warning(0,"Error","No such directory.", QMessageBox::Ok);return;} newEnvironmentImage(); if (ui->tabWidget->currentIndex()==0) //russellenv environmentobject = new russellenvironment; if (ui->tabWidget->currentIndex()==1) //markenv environmentobject = new markenvironment; if (ui->tabWidget->currentIndex()==2) //noise { environmentobject = new noiseenvironment; if(MainWin->ui->noiseMin->value()>=MainWin->ui->noiseMax->value()) { QMessageBox::warning(0,"Error","Min is greater than Max - fix.", QMessageBox::Ok); return; } } if (ui->tabWidget->currentIndex()==3) //combine environmentobject = new combine; if (ui->tabWidget->currentIndex()==4) //colour environmentobject = new colour; if (ui->tabWidget->currentIndex()==5) //stack environmentobject = new makestack; generations=MainWin->ui->numGenerations->value(); QProgressDialog prDialogue("Progress of generation","Cancel",0,generations); prDialogue.show(); MainWin->ui->generateEnvironment->setEnabled(false); for(int i=0;i<generations;i++) { currentGeneration=i; environmentobject->regenerate(); prDialogue.setValue(i); RefreshEnvironment(); qApp->processEvents(); if(save) { QImage saveImage(MainWin->ui->spinSize->value(),MainWin->ui->spinSize->value(),QImage::Format_RGB32); for (int n=0; n<MainWin->ui->spinSize->value(); n++) for (int m=0; m<MainWin->ui->spinSize->value(); m++) saveImage.setPixel(n,m,qRgb(environmentobject->environment[n][m][0], environmentobject->environment[n][m][1], environmentobject->environment[n][m][2])); QString dir2; if(i<10)dir2 = QString(Directory.path() + "/000%1.bmp").arg(i); if(i>9&&i<100)dir2 = QString(Directory.path() + "/00%1.bmp").arg(i); if(i>99&&i<1000)dir2 = QString(Directory.path() + "/0%1.bmp").arg(i); if(i>999)dir2 = QString(Directory.path() + "/%1.bmp").arg(i); saveImage.save(dir2); } if (prDialogue.wasCanceled()) break; } MainWin->ui->generateEnvironment->setEnabled(true); delete environmentobject; }