Beispiel #1
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;
}