void IGenerator::updateSimulations(CExperiment &experiment) const { CSimulationsList sims; foreach(const CGeneratorInput &input, createInputs(experiment.getConditions())) sims.push_back(createSimulation(input)); experiment.setSimulations(sims); }
bool IGenerator::isExperimentValid(const CExperiment &experiment, bool checkSimulations /*= true*/) const { if (experiment.getPluginName() != m_pluginName) return false; if (!isBoundaryConditionsValid(experiment.getConditions())) return false; if (!isSettingsValid(experiment.getSettings())) return false; if (!checkSimulations) return true; auto I = experiment.getSimulationsRef().constBegin(); auto E = experiment.getSimulationsRef().constEnd(); for (; I != E; ++I) { if (!isInputValid(I->getGeneratorInput())) return false; } return true; }