Пример #1
0
    /**
     * @brief Returns the first sub-configuration.
     *
     * @param name Sub-configuration name.
     *
     * @return Sub-configuration.
     *
     * @throw ConfigException
     */
    Configuration getConfiguration(StringView name) const
    {
        auto configurations = getConfigurations(name);

        if (configurations.empty())
            throw config::Exception("Sub-configuration '" + String(name) + "' doesn't exists");

        return std::move(configurations[0]);
    }
Пример #2
0
void ProjectExporter::addNewConfiguration (const BuildConfiguration* configToCopy)
{
    const String configName (getUniqueConfigName (configToCopy != nullptr ? configToCopy->config [Ids::name].toString()
                                                                          : "New Build Configuration"));

    ValueTree configs (getConfigurations());

    if (! configs.isValid())
    {
        settings.addChild (ValueTree (Ids::CONFIGURATIONS), 0, project.getUndoManagerFor (settings));
        configs = getConfigurations();
    }

    ValueTree newConfig (Ids::CONFIGURATION);
    if (configToCopy != nullptr)
        newConfig = configToCopy->config.createCopy();

    newConfig.setProperty (Ids::name, configName, 0);

    configs.addChild (newConfig, -1, project.getUndoManagerFor (configs));
}
Пример #3
0
void Project::addNewConfiguration (BuildConfiguration* configToCopy)
{
    const String configName (getUniqueConfigName (configToCopy != nullptr ? configToCopy->config [Ids::name].toString()
                                                                          : "New Build Configuration"));

    ValueTree configs (getConfigurations());

    if (! configs.isValid())
    {
        projectRoot.addChild (ValueTree (Tags::configurations), 0, getUndoManagerFor (projectRoot));
        configs = getConfigurations();
    }

    ValueTree newConfig (Tags::configuration);
    if (configToCopy != nullptr)
        newConfig = configToCopy->config.createCopy();

    newConfig.setProperty (Ids::name, configName, 0);

    configs.addChild (newConfig, -1, getUndoManagerFor (configs));
}
Пример #4
0
FastRectangleFitting::FastRectangleFitting(QVector<double> & geometryLowerBound, QVector<double> & geometryUpperBound, QVector<double> & geometryStep)
    : FastConvexFitting(geometryLowerBound,geometryUpperBound,geometryStep)
{
    assert(getConfigurations());
    assert(lb.size()==2);
    assert(ub.size()==2);
    assert(step.size()==2);
    int i;
    for(i=0;i<2;i++)
    {
        assert(lb[i]<=ub[i]);
        assert(step[i]>0);
    }
}
Пример #5
0
void QConnmanEngine::initialize()
{
    connect(connmanManager,SIGNAL(propertyChangedContext(QString,QString,QDBusVariant)),
            this,SLOT(propertyChangedContext(QString,QString,QDBusVariant)));

    foreach(const QString techPath, connmanManager->getTechnologies()) {
        QConnmanTechnologyInterface *tech;
        tech = new QConnmanTechnologyInterface(techPath, this);

        connect(tech,SIGNAL(propertyChangedContext(QString,QString,QDBusVariant)),
                this,SLOT(technologyPropertyChangedContext(QString,QString,QDBusVariant)));
    }

    foreach(const QString servPath, connmanManager->getServices()) {
        addServiceConfiguration(servPath);
    }

    // Get current list of access points.
    getConfigurations();
}
Пример #6
0
ProjectExporter::BuildConfiguration::Ptr ProjectExporter::getConfiguration (int index) const
{
    return createBuildConfig (getConfigurations().getChild (index));
}
Пример #7
0
int ProjectExporter::getNumConfigurations() const
{
    return getConfigurations().getNumChildren();
}
Пример #8
0
void Project::deleteConfiguration (int index)
{
    ValueTree configs (getConfigurations());
    configs.removeChild (index, getUndoManagerFor (getConfigurations()));
}
Пример #9
0
Project::BuildConfiguration Project::getConfiguration (int index)
{
    jassert (index < getConfigurations().getNumChildren());
    return BuildConfiguration (this, getConfigurations().getChild (index));
}
Пример #10
0
void QConnmanEngine::doRequestUpdate()
{
    connmanManager->requestScan("");
    getConfigurations();
    emit updateCompleted();
}
Пример #11
0
bool FastConvexFitting::getFitting(Geometry & geometry)
{
    if(initflag)
    {
        assert(getConfigurations());
        initflag=0;
    }
    if(configurations.size()==0)
    {
        return 0;
    }

    centerposition=-(orientation.inverse()*position);

    int i,n=configurations.size();
    for(i=0;i<n;i++)
    {
        int j,m=configurations[i].edges.size();
        for(j=0;j<m;j++)
        {
            configurations[i].globaledges[j].startcorner=position+orientation*configurations[i].edges[j].startcorner;
            configurations[i].globaledges[j].endcorner=position+orientation*configurations[i].edges[j].endcorner;
        }
    }

    G.score=0;
    for(i=0;i<n;i++)
    {
        if(getEvaluation(configurations[i])&&G.score<configurations[i].score)
        {
            G=configurations[i];
        }
    }
    if(G.score>0)
    {
        int j,m=G.geometry.size();
        G.sigma.fill(0,m);
        QVector<double> sum;
        sum.fill(0,m);

        for(i=0;i<n;i++)
        {
            int diffcount=0;
            int diffid;
            for(j=0;j<m;j++)
            {
                if(configurations[i].geometry[j]!=G.geometry[j])
                {
                    diffcount++;
                    diffid=j;
                }
                if(diffcount>=2)
                {
                    break;
                }
            }
            if(diffcount==1)
            {
                G.sigma[diffid]+=configurations[i].score*pow(configurations[i].geometry[diffid]-G.geometry[diffid],2);
                sum[diffid]+=configurations[i].score;
            }
            else if(diffcount==0)
            {
                for(j=0;j<m;j++)
                {
                    sum[j]+=configurations[i].score;
                }
            }
        }
        for(j=0;j<m;j++)
        {
            if(sum[j]>0)
            {
                G.sigma[j]/=sum[j];
            }
            if(G.sigma[j]<=0)
            {
                G.sigma[j]=100;
            }
        }
        geometry=G;
        return 1;
    }
    else
    {
        return 0;
    }
}