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); }