Exemple #1
0
void IGenerator::updateSimulations(CExperiment &experiment) const
{
    CSimulationsList sims;
    foreach(const CGeneratorInput &input, createInputs(experiment.getConditions()))
        sims.push_back(createSimulation(input));

    experiment.setSimulations(sims);
}
Exemple #2
0
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;
}