std::string Arguments::prepareModel() const { if (!isValid()) return ""; CCopasiDataModel* model = (*CCopasiRootContainer::getDatamodelList())[0]; model->loadModel(getFilename(), NULL); if (mDisablePlots) { for (size_t index = 0; index < model->getPlotDefinitionList()->size(); ++index) { (*model->getPlotDefinitionList())[index]->setActive(false); } } if (mClearTargets) { for (size_t index = 0; index < model->getTaskList()->size(); ++index) { (*model->getTaskList())[index]->getReport().setTarget(""); } } CCopasiTask *task = getTask(); if (task != NULL) { if (isGenerateOutput()) { // calls initialize which is private COutputAssistant::getListOfDefaultOutputDescriptions(); // generate the output COutputAssistant::createDefaultOutput(mGenerateOutput, task, model); } if (haveReportFile()) task->getReport().setTarget(mReportFile); COptTask* optTask = dynamic_cast<COptTask*>(task); if (optTask != NULL) { COptProblem *problem = (COptProblem *)optTask->getProblem(); if (mSetSolutionStatistic) optTask->setMethodType(CCopasiMethod::Statistics); if (isDisableRandomizeStartValues()) problem->setRandomizeStartValues(false); if (isDisableStatistic()) problem->setCalculateStatistics(false); } } model->saveModel(getFilename() + ".view.cps", NULL, true); return getFilename() + ".view.cps"; }