Exemple #1
0
int Layer::getDirtySize() const
{
    int dirtyObjects = 0;

    QList<MapFeaturePtr>::const_iterator i;
    for (i = p->Features.constBegin(); i != p->Features.constEnd(); i++) {
        Feature* F = (*i);
        if (F->isVirtual())
            continue;
        else if (F->isDirty() && (!(F->isDeleted()) || (F->isDeleted() && F->hasOSMId())))
            ++dirtyObjects;
    }

    return dirtyObjects;
}
static bool isChildOfSingleRelation(Feature *mapFeature)
{
    int parentRelations = 0;
    for (int i=0; i<mapFeature->sizeParents(); i++)
    {
        Feature * parent = CAST_FEATURE(mapFeature->getParent(i));
        if (!parent || parent->isDeleted()) continue;

        bool isParentRelation = dynamic_cast<Relation*>(parent) != 0;
        if (isParentRelation)
            parentRelations++;
            if (parentRelations > 1)
                return false;
    }

    return (parentRelations == 1);
}